Skip to content
LogoLogo

TokenRegistry

Git Source

Inherits: AccessManagedUpgradeable, ITokenRegistry

Constants

TokenRegistryStorageLocation

bytes32 private constant TokenRegistryStorageLocation =
        0x1aeafc547075d7f69f86c9a87aafb3edc5a48d01acbbe220b9a330d69702ed00;

Functions

_getTokenRegistryStorage

function _getTokenRegistryStorage() private pure returns (TokenRegistryStorage storage $);

Returns

NameTypeDescription
$TokenRegistryStorage

constructor

constructor();

initialize

function initialize(address initialAuthority) external initializer;

Parameters

NameTypeDescription
initialAuthorityaddress

getForeignToken

Local token address => Foreign EVM chain ID => Foreign Token address

function getForeignToken(address localToken, uint256 foreignEvmChainId) external view override returns (address);

Parameters

NameTypeDescription
localTokenaddress
foreignEvmChainIduint256

Returns

NameTypeDescription
<none>address

getLocalToken

Foreign token address => Foreign EVM chain ID => Local Token address

function getLocalToken(address foreignToken, uint256 foreignEvmChainId) external view override returns (address);

Parameters

NameTypeDescription
foreignTokenaddress
foreignEvmChainIduint256

Returns

NameTypeDescription
<none>address

setToken

Associates a local and a foreign token address.

function setToken(address localToken, uint256 foreignEvmChainId, address foreignToken)
        external
        override
        restricted;

Parameters

NameTypeDescription
localTokenaddressThe local token address.
foreignEvmChainIduint256The foreign EVM chain ID.
foreignTokenaddressThe foreign token address.

Structs

TokenRegistryStorage

Note:

  • storage-location: erc7201:makina.storage.TokenRegistry
struct TokenRegistryStorage {
        mapping(address localToken => mapping(uint256 foreignEvmChainId => address foreignToken)) _localToForeignTokens;
        mapping(address foreignToken => mapping(uint256 foreignEvmChainId => address localToken)) _foreignToLocalTokens;
    }

Properties

NameTypeDescription
_localToForeignTokensmapping(address localToken => mapping(uint256 foreignEvmChainId => address foreignToken))
_foreignToLocalTokensmapping(address foreignToken => mapping(uint256 foreignEvmChainId => address localToken))