> ## Documentation Index
> Fetch the complete documentation index at: https://docs.debridge.com/llms.txt
> Use this file to discover all available pages before exploring further.

# DeBridgeTokenDeployer

> DeBridgeTokenDeployer contract details - fields, functions, and structs.

Deploys a deToken (DeBridgeTokenProxy) for an asset.

***

## Variables

### tokenImplementation

```solidity theme={null}
address public tokenImplementation;
```

Address of deBridgeToken implementation

### deBridgeTokenAdmin

```solidity theme={null}
address public deBridgeTokenAdmin;
```

An address to set as admin for any deployed deBridgeToken

### debridgeAddress

```solidity theme={null}
address public debridgeAddress;
```

Debridge gate address

### getDeployedAssetAddress

```solidity theme={null}
mapping(bytes32 => address) public getDeployedAssetAddress;
```

Maps debridge id to deBridgeToken address

### overridedTokens

```solidity theme={null}
mapping(bytes32 => struct DeBridgeTokenDeployer.OverridedTokenInfo) public overridedTokens;
```

Maps debridge id to overridden token info (name, symbol). Used when autogenerated values are not ideal.

***

## Functions

### initialize

```solidity theme={null}
function initialize(
    address _tokenImplementation,
    address _deBridgeTokenAdmin,
    address _debridgeAddress
) public
```

Constructor that initializes the most important configurations.

#### Parameters:

| Name | Type | Description |
| - | - | - |
| \_tokenImplementation | address | Address of deBridgeToken implementation |
| \_deBridgeTokenAdmin | address | Address to set as admin for deBridgeToken |
| \_debridgeAddress | address | DeBridge gate address |

***

### deployAsset

```solidity theme={null}
function deployAsset(
    bytes32 _debridgeId,
    string _name,
    string _symbol,
    uint8 _decimals
) external returns (address deBridgeTokenAddress)
```

Deploy a deToken for an asset

#### Parameters:

| Name | Type | Description |
| - | - | - |
| \_debridgeId | bytes32 | Asset identifier |
| \_name | string | Asset name |
| \_symbol | string | Asset symbol |
| \_decimals | uint8 | Asset decimals |

***

### implementation

```solidity theme={null}
function implementation() public returns (address)
```

Beacon getter for the deBridgeToken contracts

***

### setTokenImplementation

```solidity theme={null}
function setTokenImplementation(
    address _impl
) external
```

Set deBridgeToken implementation contract address

#### Parameters:

| Name | Type | Description |
| - | - | - |
| \_impl | address | Wrapped asset implementation contract address |

***

### setDeBridgeTokenAdmin

```solidity theme={null}
function setDeBridgeTokenAdmin(
    address _deBridgeTokenAdmin
) external
```

Set admin for any deployed deBridgeToken.

#### Parameters:

| Name | Type | Description |
| - | - | - |
| \_deBridgeTokenAdmin | address | Admin address. |

***

### setDebridgeAddress

```solidity theme={null}
function setDebridgeAddress(
    address _debridgeAddress
) external
```

Sets core debridge contract address.

#### Parameters:

| Name | Type | Description |
| - | - | - |
| \_debridgeAddress | address | Debridge address. |

***

### setOverridedTokenInfo

```solidity theme={null}
function setOverridedTokenInfo(
    bytes32[] _debridgeIds,
    struct DeBridgeTokenDeployer.OverridedTokenInfo[] _tokens
) external
```

Override specific tokens name/symbol

#### Parameters:

| Name | Type | Description |
| - | - | - |
| \_debridgeIds | bytes32\[] | Array of debridgeIds for tokens |
| \_tokens | struct DeBridgeTokenDeployer.OverridedTokenInfo\[] | Array of new name/symbols for tokens |

***

### version

```solidity theme={null}
function version() external returns (uint256)
```

Get this contract's version

***

## Structs

### OverridedTokenInfo

```solidity theme={null}
struct OverridedTokenInfo {
    bool accept;
    string name;
    string symbol;
}
```


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.