@roninbuilders/contracts
Version:
Type safe Contract ABIs for Ronin Network
956 lines (954 loc) • 31 kB
TypeScript
declare const contract: {
readonly id: 32465;
readonly address: "0x9b0b4aff23ac0e144bcb947ad99bde308dea5641";
readonly contract_name: "BurnMintTokenPool";
readonly display_name: "Burn Mint Token Pool";
readonly is_deprecated: false;
readonly is_proxy: false;
readonly proxy_to: false;
readonly created_at: 1743681062;
readonly abi: readonly [{
readonly type: "constructor";
readonly stateMutability: "nonpayable";
readonly inputs: readonly [{
readonly type: "address";
readonly name: "token";
}, {
readonly type: "uint8";
readonly name: "localTokenDecimals";
}, {
readonly type: "address[]";
readonly name: "allowlist";
}, {
readonly type: "address";
readonly name: "rmnProxy";
}, {
readonly type: "address";
readonly name: "router";
}];
}, {
readonly name: "AggregateValueMaxCapacityExceeded";
readonly type: "error";
readonly inputs: readonly [{
readonly type: "uint256";
readonly name: "capacity";
}, {
readonly type: "uint256";
readonly name: "requested";
}];
}, {
readonly name: "AggregateValueRateLimitReached";
readonly type: "error";
readonly inputs: readonly [{
readonly type: "uint256";
readonly name: "minWaitInSeconds";
}, {
readonly type: "uint256";
readonly name: "available";
}];
}, {
readonly name: "AllowListNotEnabled";
readonly type: "error";
readonly inputs: readonly [];
}, {
readonly name: "BucketOverfilled";
readonly type: "error";
readonly inputs: readonly [];
}, {
readonly name: "CallerIsNotARampOnRouter";
readonly type: "error";
readonly inputs: readonly [{
readonly type: "address";
readonly name: "caller";
}];
}, {
readonly name: "CannotTransferToSelf";
readonly type: "error";
readonly inputs: readonly [];
}, {
readonly name: "ChainAlreadyExists";
readonly type: "error";
readonly inputs: readonly [{
readonly type: "uint64";
readonly name: "chainSelector";
}];
}, {
readonly name: "ChainNotAllowed";
readonly type: "error";
readonly inputs: readonly [{
readonly type: "uint64";
readonly name: "remoteChainSelector";
}];
}, {
readonly name: "CursedByRMN";
readonly type: "error";
readonly inputs: readonly [];
}, {
readonly name: "DisabledNonZeroRateLimit";
readonly type: "error";
readonly inputs: readonly [{
readonly type: "tuple";
readonly name: "config";
readonly components: readonly [{
readonly type: "bool";
readonly name: "isEnabled";
}, {
readonly type: "uint128";
readonly name: "capacity";
}, {
readonly type: "uint128";
readonly name: "rate";
}];
}];
}, {
readonly name: "InvalidDecimalArgs";
readonly type: "error";
readonly inputs: readonly [{
readonly type: "uint8";
readonly name: "expected";
}, {
readonly type: "uint8";
readonly name: "actual";
}];
}, {
readonly name: "InvalidRateLimitRate";
readonly type: "error";
readonly inputs: readonly [{
readonly type: "tuple";
readonly name: "rateLimiterConfig";
readonly components: readonly [{
readonly type: "bool";
readonly name: "isEnabled";
}, {
readonly type: "uint128";
readonly name: "capacity";
}, {
readonly type: "uint128";
readonly name: "rate";
}];
}];
}, {
readonly name: "InvalidRemoteChainDecimals";
readonly type: "error";
readonly inputs: readonly [{
readonly type: "bytes";
readonly name: "sourcePoolData";
}];
}, {
readonly name: "InvalidRemotePoolForChain";
readonly type: "error";
readonly inputs: readonly [{
readonly type: "uint64";
readonly name: "remoteChainSelector";
}, {
readonly type: "bytes";
readonly name: "remotePoolAddress";
}];
}, {
readonly name: "InvalidSourcePoolAddress";
readonly type: "error";
readonly inputs: readonly [{
readonly type: "bytes";
readonly name: "sourcePoolAddress";
}];
}, {
readonly name: "InvalidToken";
readonly type: "error";
readonly inputs: readonly [{
readonly type: "address";
readonly name: "token";
}];
}, {
readonly name: "MismatchedArrayLengths";
readonly type: "error";
readonly inputs: readonly [];
}, {
readonly name: "MustBeProposedOwner";
readonly type: "error";
readonly inputs: readonly [];
}, {
readonly name: "NonExistentChain";
readonly type: "error";
readonly inputs: readonly [{
readonly type: "uint64";
readonly name: "remoteChainSelector";
}];
}, {
readonly name: "OnlyCallableByOwner";
readonly type: "error";
readonly inputs: readonly [];
}, {
readonly name: "OverflowDetected";
readonly type: "error";
readonly inputs: readonly [{
readonly type: "uint8";
readonly name: "remoteDecimals";
}, {
readonly type: "uint8";
readonly name: "localDecimals";
}, {
readonly type: "uint256";
readonly name: "remoteAmount";
}];
}, {
readonly name: "OwnerCannotBeZero";
readonly type: "error";
readonly inputs: readonly [];
}, {
readonly name: "PoolAlreadyAdded";
readonly type: "error";
readonly inputs: readonly [{
readonly type: "uint64";
readonly name: "remoteChainSelector";
}, {
readonly type: "bytes";
readonly name: "remotePoolAddress";
}];
}, {
readonly name: "RateLimitMustBeDisabled";
readonly type: "error";
readonly inputs: readonly [];
}, {
readonly name: "SenderNotAllowed";
readonly type: "error";
readonly inputs: readonly [{
readonly type: "address";
readonly name: "sender";
}];
}, {
readonly name: "TokenMaxCapacityExceeded";
readonly type: "error";
readonly inputs: readonly [{
readonly type: "uint256";
readonly name: "capacity";
}, {
readonly type: "uint256";
readonly name: "requested";
}, {
readonly type: "address";
readonly name: "tokenAddress";
}];
}, {
readonly name: "TokenRateLimitReached";
readonly type: "error";
readonly inputs: readonly [{
readonly type: "uint256";
readonly name: "minWaitInSeconds";
}, {
readonly type: "uint256";
readonly name: "available";
}, {
readonly type: "address";
readonly name: "tokenAddress";
}];
}, {
readonly name: "Unauthorized";
readonly type: "error";
readonly inputs: readonly [{
readonly type: "address";
readonly name: "caller";
}];
}, {
readonly name: "ZeroAddressNotAllowed";
readonly type: "error";
readonly inputs: readonly [];
}, {
readonly name: "AllowListAdd";
readonly type: "event";
readonly inputs: readonly [{
readonly type: "address";
readonly name: "sender";
}];
}, {
readonly name: "AllowListRemove";
readonly type: "event";
readonly inputs: readonly [{
readonly type: "address";
readonly name: "sender";
}];
}, {
readonly name: "Burned";
readonly type: "event";
readonly inputs: readonly [{
readonly type: "address";
readonly name: "sender";
readonly indexed: true;
}, {
readonly type: "uint256";
readonly name: "amount";
}];
}, {
readonly name: "ChainAdded";
readonly type: "event";
readonly inputs: readonly [{
readonly type: "uint64";
readonly name: "remoteChainSelector";
}, {
readonly type: "bytes";
readonly name: "remoteToken";
}, {
readonly type: "tuple";
readonly name: "outboundRateLimiterConfig";
readonly components: readonly [{
readonly type: "bool";
readonly name: "isEnabled";
}, {
readonly type: "uint128";
readonly name: "capacity";
}, {
readonly type: "uint128";
readonly name: "rate";
}];
}, {
readonly type: "tuple";
readonly name: "inboundRateLimiterConfig";
readonly components: readonly [{
readonly type: "bool";
readonly name: "isEnabled";
}, {
readonly type: "uint128";
readonly name: "capacity";
}, {
readonly type: "uint128";
readonly name: "rate";
}];
}];
}, {
readonly name: "ChainConfigured";
readonly type: "event";
readonly inputs: readonly [{
readonly type: "uint64";
readonly name: "remoteChainSelector";
}, {
readonly type: "tuple";
readonly name: "outboundRateLimiterConfig";
readonly components: readonly [{
readonly type: "bool";
readonly name: "isEnabled";
}, {
readonly type: "uint128";
readonly name: "capacity";
}, {
readonly type: "uint128";
readonly name: "rate";
}];
}, {
readonly type: "tuple";
readonly name: "inboundRateLimiterConfig";
readonly components: readonly [{
readonly type: "bool";
readonly name: "isEnabled";
}, {
readonly type: "uint128";
readonly name: "capacity";
}, {
readonly type: "uint128";
readonly name: "rate";
}];
}];
}, {
readonly name: "ChainRemoved";
readonly type: "event";
readonly inputs: readonly [{
readonly type: "uint64";
readonly name: "remoteChainSelector";
}];
}, {
readonly name: "ConfigChanged";
readonly type: "event";
readonly inputs: readonly [{
readonly type: "tuple";
readonly name: "config";
readonly components: readonly [{
readonly type: "bool";
readonly name: "isEnabled";
}, {
readonly type: "uint128";
readonly name: "capacity";
}, {
readonly type: "uint128";
readonly name: "rate";
}];
}];
}, {
readonly name: "Locked";
readonly type: "event";
readonly inputs: readonly [{
readonly type: "address";
readonly name: "sender";
readonly indexed: true;
}, {
readonly type: "uint256";
readonly name: "amount";
}];
}, {
readonly name: "Minted";
readonly type: "event";
readonly inputs: readonly [{
readonly type: "address";
readonly name: "sender";
readonly indexed: true;
}, {
readonly type: "address";
readonly name: "recipient";
readonly indexed: true;
}, {
readonly type: "uint256";
readonly name: "amount";
}];
}, {
readonly name: "OwnershipTransferRequested";
readonly type: "event";
readonly inputs: readonly [{
readonly type: "address";
readonly name: "from";
readonly indexed: true;
}, {
readonly type: "address";
readonly name: "to";
readonly indexed: true;
}];
}, {
readonly name: "OwnershipTransferred";
readonly type: "event";
readonly inputs: readonly [{
readonly type: "address";
readonly name: "from";
readonly indexed: true;
}, {
readonly type: "address";
readonly name: "to";
readonly indexed: true;
}];
}, {
readonly name: "RateLimitAdminSet";
readonly type: "event";
readonly inputs: readonly [{
readonly type: "address";
readonly name: "rateLimitAdmin";
}];
}, {
readonly name: "Released";
readonly type: "event";
readonly inputs: readonly [{
readonly type: "address";
readonly name: "sender";
readonly indexed: true;
}, {
readonly type: "address";
readonly name: "recipient";
readonly indexed: true;
}, {
readonly type: "uint256";
readonly name: "amount";
}];
}, {
readonly name: "RemotePoolAdded";
readonly type: "event";
readonly inputs: readonly [{
readonly type: "uint64";
readonly name: "remoteChainSelector";
readonly indexed: true;
}, {
readonly type: "bytes";
readonly name: "remotePoolAddress";
}];
}, {
readonly name: "RemotePoolRemoved";
readonly type: "event";
readonly inputs: readonly [{
readonly type: "uint64";
readonly name: "remoteChainSelector";
readonly indexed: true;
}, {
readonly type: "bytes";
readonly name: "remotePoolAddress";
}];
}, {
readonly name: "RouterUpdated";
readonly type: "event";
readonly inputs: readonly [{
readonly type: "address";
readonly name: "oldRouter";
}, {
readonly type: "address";
readonly name: "newRouter";
}];
}, {
readonly name: "TokensConsumed";
readonly type: "event";
readonly inputs: readonly [{
readonly type: "uint256";
readonly name: "tokens";
}];
}, {
readonly name: "acceptOwnership";
readonly type: "function";
readonly stateMutability: "nonpayable";
readonly inputs: readonly [];
readonly outputs: readonly [];
}, {
readonly name: "addRemotePool";
readonly type: "function";
readonly stateMutability: "nonpayable";
readonly inputs: readonly [{
readonly type: "uint64";
readonly name: "remoteChainSelector";
}, {
readonly type: "bytes";
readonly name: "remotePoolAddress";
}];
readonly outputs: readonly [];
}, {
readonly name: "applyAllowListUpdates";
readonly type: "function";
readonly stateMutability: "nonpayable";
readonly inputs: readonly [{
readonly type: "address[]";
readonly name: "removes";
}, {
readonly type: "address[]";
readonly name: "adds";
}];
readonly outputs: readonly [];
}, {
readonly name: "applyChainUpdates";
readonly type: "function";
readonly stateMutability: "nonpayable";
readonly inputs: readonly [{
readonly type: "uint64[]";
readonly name: "remoteChainSelectorsToRemove";
}, {
readonly type: "tuple[]";
readonly name: "chainsToAdd";
readonly components: readonly [{
readonly type: "uint64";
readonly name: "remoteChainSelector";
}, {
readonly type: "bytes[]";
readonly name: "remotePoolAddresses";
}, {
readonly type: "bytes";
readonly name: "remoteTokenAddress";
}, {
readonly type: "tuple";
readonly name: "outboundRateLimiterConfig";
readonly components: readonly [{
readonly type: "bool";
readonly name: "isEnabled";
}, {
readonly type: "uint128";
readonly name: "capacity";
}, {
readonly type: "uint128";
readonly name: "rate";
}];
}, {
readonly type: "tuple";
readonly name: "inboundRateLimiterConfig";
readonly components: readonly [{
readonly type: "bool";
readonly name: "isEnabled";
}, {
readonly type: "uint128";
readonly name: "capacity";
}, {
readonly type: "uint128";
readonly name: "rate";
}];
}];
}];
readonly outputs: readonly [];
}, {
readonly name: "getAllowList";
readonly type: "function";
readonly stateMutability: "view";
readonly inputs: readonly [];
readonly outputs: readonly [{
readonly type: "address[]";
}];
}, {
readonly name: "getAllowListEnabled";
readonly type: "function";
readonly stateMutability: "view";
readonly inputs: readonly [];
readonly outputs: readonly [{
readonly type: "bool";
}];
}, {
readonly name: "getCurrentInboundRateLimiterState";
readonly type: "function";
readonly stateMutability: "view";
readonly inputs: readonly [{
readonly type: "uint64";
readonly name: "remoteChainSelector";
}];
readonly outputs: readonly [{
readonly type: "tuple";
readonly components: readonly [{
readonly type: "uint128";
readonly name: "tokens";
}, {
readonly type: "uint32";
readonly name: "lastUpdated";
}, {
readonly type: "bool";
readonly name: "isEnabled";
}, {
readonly type: "uint128";
readonly name: "capacity";
}, {
readonly type: "uint128";
readonly name: "rate";
}];
}];
}, {
readonly name: "getCurrentOutboundRateLimiterState";
readonly type: "function";
readonly stateMutability: "view";
readonly inputs: readonly [{
readonly type: "uint64";
readonly name: "remoteChainSelector";
}];
readonly outputs: readonly [{
readonly type: "tuple";
readonly components: readonly [{
readonly type: "uint128";
readonly name: "tokens";
}, {
readonly type: "uint32";
readonly name: "lastUpdated";
}, {
readonly type: "bool";
readonly name: "isEnabled";
}, {
readonly type: "uint128";
readonly name: "capacity";
}, {
readonly type: "uint128";
readonly name: "rate";
}];
}];
}, {
readonly name: "getRateLimitAdmin";
readonly type: "function";
readonly stateMutability: "view";
readonly inputs: readonly [];
readonly outputs: readonly [{
readonly type: "address";
}];
}, {
readonly name: "getRemotePools";
readonly type: "function";
readonly stateMutability: "view";
readonly inputs: readonly [{
readonly type: "uint64";
readonly name: "remoteChainSelector";
}];
readonly outputs: readonly [{
readonly type: "bytes[]";
}];
}, {
readonly name: "getRemoteToken";
readonly type: "function";
readonly stateMutability: "view";
readonly inputs: readonly [{
readonly type: "uint64";
readonly name: "remoteChainSelector";
}];
readonly outputs: readonly [{
readonly type: "bytes";
}];
}, {
readonly name: "getRmnProxy";
readonly type: "function";
readonly stateMutability: "view";
readonly inputs: readonly [];
readonly outputs: readonly [{
readonly type: "address";
readonly name: "rmnProxy";
}];
}, {
readonly name: "getRouter";
readonly type: "function";
readonly stateMutability: "view";
readonly inputs: readonly [];
readonly outputs: readonly [{
readonly type: "address";
readonly name: "router";
}];
}, {
readonly name: "getSupportedChains";
readonly type: "function";
readonly stateMutability: "view";
readonly inputs: readonly [];
readonly outputs: readonly [{
readonly type: "uint64[]";
}];
}, {
readonly name: "getToken";
readonly type: "function";
readonly stateMutability: "view";
readonly inputs: readonly [];
readonly outputs: readonly [{
readonly type: "address";
readonly name: "token";
}];
}, {
readonly name: "getTokenDecimals";
readonly type: "function";
readonly stateMutability: "view";
readonly inputs: readonly [];
readonly outputs: readonly [{
readonly type: "uint8";
readonly name: "decimals";
}];
}, {
readonly name: "isRemotePool";
readonly type: "function";
readonly stateMutability: "view";
readonly inputs: readonly [{
readonly type: "uint64";
readonly name: "remoteChainSelector";
}, {
readonly type: "bytes";
readonly name: "remotePoolAddress";
}];
readonly outputs: readonly [{
readonly type: "bool";
}];
}, {
readonly name: "isSupportedChain";
readonly type: "function";
readonly stateMutability: "view";
readonly inputs: readonly [{
readonly type: "uint64";
readonly name: "remoteChainSelector";
}];
readonly outputs: readonly [{
readonly type: "bool";
}];
}, {
readonly name: "isSupportedToken";
readonly type: "function";
readonly stateMutability: "view";
readonly inputs: readonly [{
readonly type: "address";
readonly name: "token";
}];
readonly outputs: readonly [{
readonly type: "bool";
}];
}, {
readonly name: "lockOrBurn";
readonly type: "function";
readonly stateMutability: "nonpayable";
readonly inputs: readonly [{
readonly type: "tuple";
readonly name: "lockOrBurnIn";
readonly components: readonly [{
readonly type: "bytes";
readonly name: "receiver";
}, {
readonly type: "uint64";
readonly name: "remoteChainSelector";
}, {
readonly type: "address";
readonly name: "originalSender";
}, {
readonly type: "uint256";
readonly name: "amount";
}, {
readonly type: "address";
readonly name: "localToken";
}];
}];
readonly outputs: readonly [{
readonly type: "tuple";
readonly components: readonly [{
readonly type: "bytes";
readonly name: "destTokenAddress";
}, {
readonly type: "bytes";
readonly name: "destPoolData";
}];
}];
}, {
readonly name: "owner";
readonly type: "function";
readonly stateMutability: "view";
readonly inputs: readonly [];
readonly outputs: readonly [{
readonly type: "address";
}];
}, {
readonly name: "releaseOrMint";
readonly type: "function";
readonly stateMutability: "nonpayable";
readonly inputs: readonly [{
readonly type: "tuple";
readonly name: "releaseOrMintIn";
readonly components: readonly [{
readonly type: "bytes";
readonly name: "originalSender";
}, {
readonly type: "uint64";
readonly name: "remoteChainSelector";
}, {
readonly type: "address";
readonly name: "receiver";
}, {
readonly type: "uint256";
readonly name: "amount";
}, {
readonly type: "address";
readonly name: "localToken";
}, {
readonly type: "bytes";
readonly name: "sourcePoolAddress";
}, {
readonly type: "bytes";
readonly name: "sourcePoolData";
}, {
readonly type: "bytes";
readonly name: "offchainTokenData";
}];
}];
readonly outputs: readonly [{
readonly type: "tuple";
readonly components: readonly [{
readonly type: "uint256";
readonly name: "destinationAmount";
}];
}];
}, {
readonly name: "removeRemotePool";
readonly type: "function";
readonly stateMutability: "nonpayable";
readonly inputs: readonly [{
readonly type: "uint64";
readonly name: "remoteChainSelector";
}, {
readonly type: "bytes";
readonly name: "remotePoolAddress";
}];
readonly outputs: readonly [];
}, {
readonly name: "setChainRateLimiterConfig";
readonly type: "function";
readonly stateMutability: "nonpayable";
readonly inputs: readonly [{
readonly type: "uint64";
readonly name: "remoteChainSelector";
}, {
readonly type: "tuple";
readonly name: "outboundConfig";
readonly components: readonly [{
readonly type: "bool";
readonly name: "isEnabled";
}, {
readonly type: "uint128";
readonly name: "capacity";
}, {
readonly type: "uint128";
readonly name: "rate";
}];
}, {
readonly type: "tuple";
readonly name: "inboundConfig";
readonly components: readonly [{
readonly type: "bool";
readonly name: "isEnabled";
}, {
readonly type: "uint128";
readonly name: "capacity";
}, {
readonly type: "uint128";
readonly name: "rate";
}];
}];
readonly outputs: readonly [];
}, {
readonly name: "setChainRateLimiterConfigs";
readonly type: "function";
readonly stateMutability: "nonpayable";
readonly inputs: readonly [{
readonly type: "uint64[]";
readonly name: "remoteChainSelectors";
}, {
readonly type: "tuple[]";
readonly name: "outboundConfigs";
readonly components: readonly [{
readonly type: "bool";
readonly name: "isEnabled";
}, {
readonly type: "uint128";
readonly name: "capacity";
}, {
readonly type: "uint128";
readonly name: "rate";
}];
}, {
readonly type: "tuple[]";
readonly name: "inboundConfigs";
readonly components: readonly [{
readonly type: "bool";
readonly name: "isEnabled";
}, {
readonly type: "uint128";
readonly name: "capacity";
}, {
readonly type: "uint128";
readonly name: "rate";
}];
}];
readonly outputs: readonly [];
}, {
readonly name: "setRateLimitAdmin";
readonly type: "function";
readonly stateMutability: "nonpayable";
readonly inputs: readonly [{
readonly type: "address";
readonly name: "rateLimitAdmin";
}];
readonly outputs: readonly [];
}, {
readonly name: "setRouter";
readonly type: "function";
readonly stateMutability: "nonpayable";
readonly inputs: readonly [{
readonly type: "address";
readonly name: "newRouter";
}];
readonly outputs: readonly [];
}, {
readonly name: "supportsInterface";
readonly type: "function";
readonly stateMutability: "pure";
readonly inputs: readonly [{
readonly type: "bytes4";
readonly name: "interfaceId";
}];
readonly outputs: readonly [{
readonly type: "bool";
}];
}, {
readonly name: "transferOwnership";
readonly type: "function";
readonly stateMutability: "nonpayable";
readonly inputs: readonly [{
readonly type: "address";
readonly name: "to";
}];
readonly outputs: readonly [];
}, {
readonly name: "typeAndVersion";
readonly type: "function";
readonly stateMutability: "view";
readonly inputs: readonly [];
readonly outputs: readonly [{
readonly type: "string";
}];
}];
};
export { contract as default };