@broxus/js-bridge-essentials
Version:
Bridge JavaScript Essentials library
946 lines (945 loc) • 34.5 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.AlienProxyV10Abi = void 0;
/**
* @see [ProxyMultiVaultAlien_V10](https://github.com/broxus/octusbridge-contracts/blob/master/everscale/build/ProxyMultiVaultAlien_V10.abi.json)
*/
exports.AlienProxyV10Abi = {
'ABI version': 2,
version: '2.3',
header: ['pubkey', 'time'],
functions: [
{
name: 'constructor',
inputs: [{ name: 'owner_', type: 'address' }],
outputs: [],
},
{
name: 'apiVersion',
inputs: [{ name: 'answerId', type: 'uint32' }],
outputs: [{ name: 'value0', type: 'uint8' }],
},
{
name: 'upgrade',
inputs: [{ name: 'code', type: 'cell' }],
outputs: [],
},
{
name: 'deriveMergeRouter',
inputs: [
{ name: 'answerId', type: 'uint32' },
{ name: 'token', type: 'address' },
],
outputs: [{ name: 'router', type: 'address' }],
},
{
name: 'deployMergeRouter',
inputs: [{ name: 'token', type: 'address' }],
outputs: [],
},
{
name: 'setMergeRouter',
inputs: [{ name: '_mergeRouter', type: 'cell' }],
outputs: [],
},
{
name: 'deriveMergePool',
inputs: [
{ name: 'answerId', type: 'uint32' },
{ name: 'nonce', type: 'uint256' },
],
outputs: [{ name: 'pool', type: 'address' }],
},
{
name: 'deployMergePool',
inputs: [
{ name: 'nonce', type: 'uint256' },
{ name: 'tokens', type: 'address[]' },
{ name: 'canonId', type: 'uint256' },
],
outputs: [],
},
{
name: 'mintTokensByMergePool',
inputs: [
{ name: 'mergePoolNonce', type: 'uint256' },
{ name: 'token', type: 'address' },
{ name: 'amount', type: 'uint128' },
{ name: 'recipient', type: 'address' },
{ name: 'remainingGasTo', type: 'address' },
{ name: 'payload', type: 'cell' },
],
outputs: [],
},
{
name: 'withdrawTokensToEVMByMergePool',
inputs: [
{ name: 'mergePoolNonce', type: 'uint256' },
{ name: 'nonce', type: 'uint32' },
{ name: '_canonToken', type: 'address' },
{ name: '_canonAmount', type: 'uint128' },
{ name: 'token', type: 'address' },
{ name: 'amount', type: 'uint128' },
{ name: 'recipient', type: 'uint160' },
{ name: 'remainingGasTo', type: 'address' },
{ name: 'sender', type: 'address' },
{
components: [
{ name: 'recipient', type: 'uint160' },
{ name: 'payload', type: 'bytes' },
{ name: 'strict', type: 'bool' },
],
name: 'callback',
type: 'tuple',
},
],
outputs: [],
},
{
name: 'withdrawTokensToSolanaByMergePool',
inputs: [
{ name: 'mergePoolNonce', type: 'uint256' },
{ name: 'nonce', type: 'uint32' },
{ name: '_canonToken', type: 'address' },
{ name: '_canonAmount', type: 'uint128' },
{ name: 'token', type: 'address' },
{ name: 'amount', type: 'uint128' },
{ name: 'recipient', type: 'uint256' },
{ name: 'remainingGasTo', type: 'address' },
{ name: 'sender', type: 'address' },
{
components: [
{ name: 'account', type: 'uint256' },
{ name: 'readOnly', type: 'bool' },
{ name: 'isSigner', type: 'bool' },
],
name: 'executeAccounts',
type: 'tuple[]',
},
{ name: 'executePayloadNeeded', type: 'bool' },
{
components: [
{ name: 'account', type: 'uint256' },
{ name: 'readOnly', type: 'bool' },
{ name: 'isSigner', type: 'bool' },
],
name: 'executePayloadAccounts',
type: 'tuple[]',
},
{ name: 'solanaPayload', type: 'bytes' },
],
outputs: [],
},
{
name: 'withdrawTokensToTVMByMergePool',
inputs: [
{ name: 'mergePoolNonce', type: 'uint256' },
{ name: 'nonce', type: 'uint32' },
{ name: '_canonToken', type: 'address' },
{ name: '_canonAmount', type: 'uint128' },
{ name: 'token', type: 'address' },
{ name: 'amount', type: 'uint128' },
{ name: 'remainingGasTo', type: 'address' },
{ name: 'sender', type: 'address' },
{ name: 'withdrawPayload', type: 'cell' },
],
outputs: [],
},
{
name: 'upgradeMergePool',
inputs: [{ name: 'pool', type: 'address' }],
outputs: [],
},
{
name: 'setMergePoolPlatform',
inputs: [{ name: '_mergePoolPlatform', type: 'cell' }],
outputs: [],
},
{
name: 'setMergePool',
inputs: [{ name: '_mergePool', type: 'cell' }],
outputs: [],
},
{
name: 'onAcceptTokensBurn',
inputs: [
{ name: 'amount', type: 'uint128' },
{ name: 'sender', type: 'address' },
{ name: 'value2', type: 'address' },
{ name: 'remainingGasTo', type: 'address' },
{ name: 'payload', type: 'cell' },
],
outputs: [],
},
{
name: 'onEVMEventCancelled',
inputs: [
{
components: [
{
components: [
{ name: 'eventTransaction', type: 'uint256' },
{ name: 'eventIndex', type: 'uint32' },
{ name: 'eventData', type: 'cell' },
{ name: 'eventBlockNumber', type: 'uint32' },
{ name: 'eventBlock', type: 'uint256' },
],
name: 'voteData',
type: 'tuple',
},
{ name: 'configuration', type: 'address' },
{ name: 'staking', type: 'address' },
{ name: 'chainId', type: 'uint32' },
],
name: 'value0',
type: 'tuple',
},
{ name: 'withdrawPayload', type: 'cell' },
],
outputs: [],
},
{
name: 'onTVMEventCancelled',
inputs: [
{
components: [
{ name: 'msgHash', type: 'uint256' },
{ name: 'configuration', type: 'address' },
{ name: 'chainId', type: 'int32' },
],
name: '_eventInitData',
type: 'tuple',
},
{ name: '_withdrawPayload', type: 'cell' },
],
outputs: [],
},
{
name: 'receiveTokenRootAlienTvmMeta',
inputs: [
{ name: 'baseChainId', type: 'int32' },
{ name: 'baseToken', type: 'address' },
{ name: 'baseNativeProxyWallet', type: 'address' },
{ name: 'name', type: 'string' },
{ name: 'symbol', type: 'string' },
{ name: 'decimals', type: 'uint8' },
{ name: 'payload', type: 'cell' },
],
outputs: [],
},
{
name: 'onEventConfirmedExtended',
inputs: [
{
components: [
{
components: [
{ name: 'eventTransaction', type: 'uint256' },
{ name: 'eventIndex', type: 'uint32' },
{ name: 'eventData', type: 'cell' },
{ name: 'eventBlockNumber', type: 'uint32' },
{ name: 'eventBlock', type: 'uint256' },
],
name: 'voteData',
type: 'tuple',
},
{ name: 'configuration', type: 'address' },
{ name: 'staking', type: 'address' },
{ name: 'chainId', type: 'uint32' },
],
name: 'eventInitData',
type: 'tuple',
},
{ name: 'meta', type: 'cell' },
{ name: 'remainingGasTo', type: 'address' },
],
outputs: [],
},
{
name: 'onSolanaEventConfirmedExtended',
inputs: [
{
components: [
{
components: [
{ name: 'accountSeed', type: 'uint128' },
{ name: 'slot', type: 'uint64' },
{ name: 'blockTime', type: 'uint64' },
{ name: 'txSignature', type: 'string' },
{ name: 'eventData', type: 'cell' },
],
name: 'voteData',
type: 'tuple',
},
{ name: 'configuration', type: 'address' },
{ name: 'staking', type: 'address' },
],
name: 'eventInitData',
type: 'tuple',
},
{ name: 'meta', type: 'cell' },
{ name: 'remainingGasTo', type: 'address' },
],
outputs: [],
},
{
name: 'onTVMEventConfirmedExtended',
inputs: [
{
components: [
{ name: 'msgHash', type: 'uint256' },
{ name: 'configuration', type: 'address' },
{ name: 'chainId', type: 'int32' },
],
name: 'eventInitData',
type: 'tuple',
},
{ name: 'meta', type: 'cell' },
{ name: 'remainingGasTo', type: 'address' },
],
outputs: [],
},
{
name: 'setTokenDailyLimits',
inputs: [
{ name: '_token', type: 'address' },
{ name: '_incomingLimit', type: 'optional(uint128)' },
{ name: '_outgoingLimit', type: 'optional(uint128)' },
{ name: '_remainingGasTo', type: 'address' },
],
outputs: [],
},
{
name: 'getDailyLimits',
inputs: [
{ name: 'answerId', type: 'uint32' },
{ name: '_token', type: 'address' },
],
outputs: [
{
components: [
{ name: 'incomingLimit', type: 'optional(uint128)' },
{ name: 'dailyIncomingVolume', type: 'uint128' },
{ name: 'outgoingLimit', type: 'optional(uint128)' },
{ name: 'dailyOutgoingVolume', type: 'uint128' },
{ name: 'dayStartTimestamp', type: 'uint32' },
],
name: 'value0',
type: 'tuple',
},
],
},
{
name: 'setLimitApprover',
inputs: [
{ name: '_approver', type: 'address' },
{ name: '_remainingGasTo', type: 'address' },
],
outputs: [],
},
{
name: 'getLimitApprover',
inputs: [{ name: 'answerId', type: 'uint32' }],
outputs: [{ name: 'value0', type: 'address' }],
},
{
name: 'getTvmDefaultFee',
inputs: [{ name: 'answerId', type: 'uint32' }],
outputs: [
{ name: 'incomingNumerator', type: 'uint32' },
{ name: 'outgoingNumerator', type: 'uint32' },
{ name: 'denominator', type: 'uint32' },
],
},
{
name: 'getPlatformCode',
inputs: [{ name: 'answerId', type: 'uint32' }],
outputs: [{ name: 'value0', type: 'cell' }],
},
{
name: 'getTokenFeeCode',
inputs: [{ name: 'answerId', type: 'uint32' }],
outputs: [{ name: 'value0', type: 'cell' }],
},
{
name: 'getTvmFees',
inputs: [{ name: 'answerId', type: 'uint32' }],
outputs: [
{
components: [
{ name: 'incoming', type: 'uint32' },
{ name: 'outgoing', type: 'uint32' },
],
name: 'value0',
type: 'map(address,tuple)',
},
],
},
{
name: 'getTvmTokenFee',
inputs: [
{ name: 'answerId', type: 'uint32' },
{ name: '_token', type: 'address' },
],
outputs: [
{ name: 'incomingNumerator', type: 'uint32' },
{ name: 'outgoingNumerator', type: 'uint32' },
{ name: 'denominator', type: 'uint32' },
],
},
{
name: 'setTvmDefaultFeeNumerator',
inputs: [
{ name: '_incoming', type: 'uint32' },
{ name: '_outgoing', type: 'uint32' },
],
outputs: [],
},
{
name: 'setPlatformCode',
inputs: [{ name: '_code', type: 'cell' }],
outputs: [],
},
{
name: 'setTokenFeeCode',
inputs: [{ name: '_code', type: 'cell' }],
outputs: [],
},
{
name: 'setTvmTokenFee',
inputs: [
{ name: '_token', type: 'address' },
{ name: '_incoming', type: 'uint32' },
{ name: '_outgoing', type: 'uint32' },
],
outputs: [],
},
{
name: 'deleteTvmTokenFee',
inputs: [{ name: '_token', type: 'address' }],
outputs: [],
},
{
name: 'deployTokenFee',
inputs: [
{ name: '_token', type: 'address' },
{ name: '_remainingGasTo', type: 'address' },
],
outputs: [],
},
{
name: 'getExpectedTokenFeeAddress',
inputs: [
{ name: 'answerId', type: 'uint32' },
{ name: '_token', type: 'address' },
],
outputs: [{ name: 'value0', type: 'address' }],
},
{
name: 'withdrawTokenFee',
inputs: [
{ name: '_tokenRoot', type: 'address' },
{ name: '_recipient', type: 'address' },
],
outputs: [],
},
{
name: 'onCheckAccumulatedFee',
inputs: [{ name: '_payload', type: 'cell' }],
outputs: [],
},
{
name: 'upgradeTokenFee',
inputs: [
{ name: '_token', type: 'address' },
{ name: '_remainingGasTo', type: 'address' },
],
outputs: [],
},
{
name: 'deployEVMAlienToken',
inputs: [
{ name: 'chainId', type: 'uint256' },
{ name: 'token', type: 'uint160' },
{ name: 'name', type: 'string' },
{ name: 'symbol', type: 'string' },
{ name: 'decimals', type: 'uint8' },
{ name: 'remainingGasTo', type: 'address' },
],
outputs: [],
},
{
name: 'deploySolanaAlienToken',
inputs: [
{ name: 'token', type: 'uint256' },
{ name: 'name', type: 'string' },
{ name: 'symbol', type: 'string' },
{ name: 'decimals', type: 'uint8' },
{ name: 'remainingGasTo', type: 'address' },
],
outputs: [],
},
{
name: 'deployTVMAlienToken',
inputs: [
{ name: 'chainId', type: 'int32' },
{ name: 'token', type: 'address' },
{ name: 'native_proxy_wallet', type: 'address' },
{ name: 'name', type: 'string' },
{ name: 'symbol', type: 'string' },
{ name: 'decimals', type: 'uint8' },
{ name: 'remainingGasTo', type: 'address' },
],
outputs: [],
},
{
name: 'deriveEVMAlienTokenRoot',
inputs: [
{ name: 'answerId', type: 'uint32' },
{ name: 'chainId', type: 'uint256' },
{ name: 'token', type: 'uint160' },
{ name: 'name', type: 'string' },
{ name: 'symbol', type: 'string' },
{ name: 'decimals', type: 'uint8' },
],
outputs: [{ name: 'value0', type: 'address' }],
},
{
name: 'deriveSolanaAlienTokenRoot',
inputs: [
{ name: 'answerId', type: 'uint32' },
{ name: 'token', type: 'uint256' },
{ name: 'name', type: 'string' },
{ name: 'symbol', type: 'string' },
{ name: 'decimals', type: 'uint8' },
],
outputs: [{ name: 'value0', type: 'address' }],
},
{
name: 'deriveTVMAlienTokenRoot',
inputs: [
{ name: 'answerId', type: 'uint32' },
{ name: 'chainId', type: 'int32' },
{ name: 'token', type: 'address' },
{ name: 'native_proxy_wallet', type: 'address' },
{ name: 'name', type: 'string' },
{ name: 'symbol', type: 'string' },
{ name: 'decimals', type: 'uint8' },
],
outputs: [{ name: 'value0', type: 'address' }],
},
{
name: 'getConfiguration',
inputs: [{ name: 'answerId', type: 'uint32' }],
outputs: [
{
components: [
{ name: 'everscaleConfiguration', type: 'address' },
{ name: 'evmConfigurations', type: 'address[]' },
{ name: 'alienTokenRootCode', type: 'cell' },
{ name: 'alienTokenWalletCode', type: 'cell' },
{ name: 'alienTokenWalletPlatformCode', type: 'cell' },
],
name: 'value0',
type: 'tuple',
},
{
components: [
{ name: 'everscaleConfiguration', type: 'address' },
{ name: 'solanaConfiguration', type: 'address' },
{ name: 'alienTokenRootCode', type: 'cell' },
{ name: 'alienTokenWalletCode', type: 'cell' },
{ name: 'alienTokenWalletPlatformCode', type: 'cell' },
],
name: 'value1',
type: 'tuple',
},
{
components: [
{ name: 'incomingConfigurations', type: 'address[]' },
{
components: [
{ name: 'internalToken', type: 'address' },
{ name: 'externalNativeProxyWallet', type: 'address' },
],
name: 'predeployedTokens',
type: 'map(address,tuple)',
},
{ name: 'alienTokenRootCode', type: 'cell' },
{ name: 'alienTokenWalletCode', type: 'cell' },
{ name: 'alienTokenWalletPlatformCode', type: 'cell' },
{
components: [
{ name: 'incoming', type: 'uint32' },
{ name: 'outgoing', type: 'uint32' },
],
name: 'defaultFee',
type: 'tuple',
},
{
components: [
{ name: 'incoming', type: 'uint32' },
{ name: 'outgoing', type: 'uint32' },
],
name: 'fees',
type: 'map(address,tuple)',
},
{ name: 'tokenFeeCode', type: 'cell' },
],
name: 'value2',
type: 'tuple',
},
],
},
{
name: 'getPredeployedTokenData',
inputs: [
{ name: 'answerId', type: 'uint32' },
{ name: 'token', type: 'address' },
],
outputs: [
{ name: 'value0', type: 'address' },
{
components: [
{ name: 'internalToken', type: 'address' },
{ name: 'externalNativeProxyWallet', type: 'address' },
],
name: 'value1',
type: 'optional(tuple)',
},
],
},
{
name: 'getPredeployedTokens',
inputs: [{ name: 'answerId', type: 'uint32' }],
outputs: [
{
components: [
{ name: 'internalToken', type: 'address' },
{ name: 'externalNativeProxyWallet', type: 'address' },
],
name: 'value0',
type: 'map(address,tuple)',
},
],
},
{
name: 'setProxyMultiVaultNative',
inputs: [{ name: '_proxyMultiVaultNative', type: 'address' }],
outputs: [],
},
{
name: 'setEVMConfiguration',
inputs: [
{ name: '_everscaleConfiguration', type: 'address' },
{ name: '_evmConfigurations', type: 'address[]' },
{ name: '_remainingGasTo', type: 'address' },
],
outputs: [],
},
{
name: 'setEVMAlienTokenRootCode',
inputs: [
{ name: '_tokenRootCode', type: 'cell' },
{ name: '_remainingGasTo', type: 'address' },
],
outputs: [],
},
{
name: 'setEVMAlienTokenWalletCode',
inputs: [
{ name: '_tokenWalletCode', type: 'cell' },
{ name: '_remainingGasTo', type: 'address' },
],
outputs: [],
},
{
name: 'setOnceEVMAlienTokenPlatformCode',
inputs: [
{ name: '_tokenPlatformCode', type: 'cell' },
{ name: '_remainingGasTo', type: 'address' },
],
outputs: [],
},
{
name: 'setSolanaConfiguration',
inputs: [
{ name: '_everscaleConfiguration', type: 'address' },
{ name: '_solanaConfiguration', type: 'address' },
{ name: '_remainingGasTo', type: 'address' },
],
outputs: [],
},
{
name: 'setSolanaAlienTokenRootCode',
inputs: [
{ name: '_tokenRootCode', type: 'cell' },
{ name: '_remainingGasTo', type: 'address' },
],
outputs: [],
},
{
name: 'setSolanaAlienTokenWalletCode',
inputs: [
{ name: '_tokenWalletCode', type: 'cell' },
{ name: '_remainingGasTo', type: 'address' },
],
outputs: [],
},
{
name: 'setOnceSolanaAlienTokenPlatformCode',
inputs: [
{ name: '_tokenPlatformCode', type: 'cell' },
{ name: '_remainingGasTo', type: 'address' },
],
outputs: [],
},
{
name: 'setTVMConfiguration',
inputs: [
{ name: '_incomingConfigurations', type: 'address[]' },
{ name: '_remainingGasTo', type: 'address' },
],
outputs: [],
},
{
name: 'addPredeployedTVMToken',
inputs: [
{ name: '_incomingExternal', type: 'address' },
{
components: [
{ name: 'internalToken', type: 'address' },
{ name: 'externalNativeProxyWallet', type: 'address' },
],
name: '_tokenData',
type: 'tuple',
},
{ name: '_remainingGasTo', type: 'address' },
],
outputs: [],
},
{
name: 'removePredeployedTVMToken',
inputs: [
{ name: '_incomingExternal', type: 'address' },
{ name: '_remainingGasTo', type: 'address' },
],
outputs: [],
},
{
name: 'setTVMAlienTokenRootCode',
inputs: [
{ name: '_tokenRootCode', type: 'cell' },
{ name: '_remainingGasTo', type: 'address' },
],
outputs: [],
},
{
name: 'setTVMAlienTokenWalletCode',
inputs: [
{ name: '_tokenWalletCode', type: 'cell' },
{ name: '_remainingGasTo', type: 'address' },
],
outputs: [],
},
{
name: 'setOnceTVMAlienTokenPlatformCode',
inputs: [
{ name: '_tokenPlatformCode', type: 'cell' },
{ name: '_remainingGasTo', type: 'address' },
],
outputs: [],
},
{
name: 'setManager',
inputs: [{ name: '_manager', type: 'address' }],
outputs: [],
},
{
name: 'transferOwnership',
inputs: [{ name: 'newOwner', type: 'address' }],
outputs: [],
},
{
name: 'renounceOwnership',
inputs: [],
outputs: [],
},
{
name: 'owner',
inputs: [],
outputs: [{ name: 'owner', type: 'address' }],
},
{
name: 'manager',
inputs: [],
outputs: [{ name: 'manager', type: 'address' }],
},
{
name: 'mergeRouter',
inputs: [],
outputs: [{ name: 'mergeRouter', type: 'cell' }],
},
{
name: 'mergePool',
inputs: [],
outputs: [{ name: 'mergePool', type: 'cell' }],
},
{
name: 'mergePoolPlatform',
inputs: [],
outputs: [{ name: 'mergePoolPlatform', type: 'cell' }],
},
{
name: 'mergePoolVersion',
inputs: [],
outputs: [{ name: 'mergePoolVersion', type: 'uint8' }],
},
{
name: 'proxyMultiVaultNative',
inputs: [],
outputs: [{ name: 'proxyMultiVaultNative', type: 'address' }],
},
{
name: '_randomNonce',
inputs: [],
outputs: [{ name: '_randomNonce', type: 'uint256' }],
},
],
data: [{ key: 1, name: '_randomNonce', type: 'uint256' }],
events: [
{
name: 'OwnershipTransferred',
inputs: [
{ name: 'previousOwner', type: 'address' },
{ name: 'newOwner', type: 'address' },
],
outputs: [],
},
{
name: 'TvmTvmAlien',
inputs: [
{ name: 'destinationChainId', type: 'int32' },
{ name: 'baseToken', type: 'address' },
{ name: 'name', type: 'string' },
{ name: 'symbol', type: 'string' },
{ name: 'decimals', type: 'uint8' },
{ name: 'nativeProxyWallet', type: 'address' },
{ name: 'sender', type: 'address' },
{ name: 'recipient', type: 'address' },
{ name: 'amount', type: 'uint128' },
{ name: 'attachedGas', type: 'uint128' },
{ name: 'expectedGas', type: 'uint128' },
{ name: 'remainingGasTo', type: 'address' },
{ name: 'payload', type: 'optional(cell)' },
],
outputs: [],
},
{
name: 'IncomingFeeTaken',
inputs: [
{ name: 'fee', type: 'uint128' },
{ name: 'token', type: 'address' },
{ name: 'msgHash', type: 'uint256' },
],
outputs: [],
},
{
name: 'OutgoingFeeTaken',
inputs: [
{ name: 'fee', type: 'uint128' },
{ name: 'token', type: 'address' },
],
outputs: [],
},
{
name: 'OutgoingLimitReached',
inputs: [{ name: 'token', type: 'address' }],
outputs: [],
},
],
fields: [
{ name: '_pubkey', type: 'uint256' },
{ name: '_timestamp', type: 'uint64' },
{ name: '_constructorFlag', type: 'bool' },
{ name: 'owner', type: 'address' },
{
components: [
{ name: 'everscaleConfiguration', type: 'address' },
{ name: 'solanaConfiguration', type: 'address' },
{ name: 'alienTokenRootCode', type: 'cell' },
{ name: 'alienTokenWalletCode', type: 'cell' },
{ name: 'alienTokenWalletPlatformCode', type: 'cell' },
],
name: 'solanaConfiguration',
type: 'tuple',
},
{
components: [
{ name: 'everscaleConfiguration', type: 'address' },
{ name: 'evmConfigurations', type: 'address[]' },
{ name: 'alienTokenRootCode', type: 'cell' },
{ name: 'alienTokenWalletCode', type: 'cell' },
{ name: 'alienTokenWalletPlatformCode', type: 'cell' },
],
name: 'evmConfiguration',
type: 'tuple',
},
{
components: [
{ name: 'incomingConfigurations', type: 'address[]' },
{
components: [
{ name: 'internalToken', type: 'address' },
{ name: 'externalNativeProxyWallet', type: 'address' },
],
name: 'predeployedTokens',
type: 'map(address,tuple)',
},
{ name: 'alienTokenRootCode', type: 'cell' },
{ name: 'alienTokenWalletCode', type: 'cell' },
{ name: 'alienTokenWalletPlatformCode', type: 'cell' },
{
components: [
{ name: 'incoming', type: 'uint32' },
{ name: 'outgoing', type: 'uint32' },
],
name: 'defaultFee',
type: 'tuple',
},
{
components: [
{ name: 'incoming', type: 'uint32' },
{ name: 'outgoing', type: 'uint32' },
],
name: 'fees',
type: 'map(address,tuple)',
},
{ name: 'tokenFeeCode', type: 'cell' },
],
name: 'tvmConfiguration',
type: 'tuple',
},
{ name: 'api_version', type: 'uint8' },
{ name: 'manager', type: 'address' },
{ name: 'mergeRouter', type: 'cell' },
{ name: 'mergePool', type: 'cell' },
{ name: 'mergePoolPlatform', type: 'cell' },
{ name: 'mergePoolVersion', type: 'uint8' },
{ name: 'proxyMultiVaultNative', type: 'address' },
{ name: 'platformCode', type: 'cell' },
{
components: [
{ name: 'incomingLimit', type: 'optional(uint128)' },
{ name: 'dailyIncomingVolume', type: 'uint128' },
{ name: 'outgoingLimit', type: 'optional(uint128)' },
{ name: 'dailyOutgoingVolume', type: 'uint128' },
{ name: 'dayStartTimestamp', type: 'uint32' },
],
name: 'tokenToDailyLimits',
type: 'map(address,tuple)',
},
{ name: 'limitApprover', type: 'address' },
{ name: '_randomNonce', type: 'uint256' },
],
};