> ## 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;
}
```
