UNPKG

viem

Version:

TypeScript Interface for Ethereum

1,707 lines 51.8 kB
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.pathUsd = exports.validatorConfig = exports.tip403Registry = exports.tip20Factory = exports.tip20RewardsRegistry = exports.nonce = exports.accountKeychain = exports.feeAmm = exports.feeManager = exports.tipAccountRegistrar = exports.tip20 = exports.stablecoinExchange = void 0;
exports.stablecoinExchange = [
    {
        name: 'createPair',
        type: 'function',
        stateMutability: 'nonpayable',
        inputs: [{ type: 'address', name: 'base' }],
        outputs: [{ type: 'bytes32', name: 'key' }],
    },
    {
        name: 'place',
        type: 'function',
        stateMutability: 'nonpayable',
        inputs: [
            { type: 'address', name: 'token' },
            { type: 'uint128', name: 'amount' },
            { type: 'bool', name: 'isBid' },
            { type: 'int16', name: 'tick' },
        ],
        outputs: [{ type: 'uint128', name: 'orderId' }],
    },
    {
        name: 'placeFlip',
        type: 'function',
        stateMutability: 'nonpayable',
        inputs: [
            { type: 'address', name: 'token' },
            { type: 'uint128', name: 'amount' },
            { type: 'bool', name: 'isBid' },
            { type: 'int16', name: 'tick' },
            { type: 'int16', name: 'flipTick' },
        ],
        outputs: [{ type: 'uint128', name: 'orderId' }],
    },
    {
        name: 'cancel',
        type: 'function',
        stateMutability: 'nonpayable',
        inputs: [{ type: 'uint128', name: 'orderId' }],
        outputs: [],
    },
    {
        name: 'executeBlock',
        type: 'function',
        stateMutability: 'nonpayable',
        inputs: [],
        outputs: [],
    },
    {
        name: 'swapExactAmountIn',
        type: 'function',
        stateMutability: 'nonpayable',
        inputs: [
            { type: 'address', name: 'tokenIn' },
            { type: 'address', name: 'tokenOut' },
            { type: 'uint128', name: 'amountIn' },
            { type: 'uint128', name: 'minAmountOut' },
        ],
        outputs: [{ type: 'uint128', name: 'amountOut' }],
    },
    {
        name: 'swapExactAmountOut',
        type: 'function',
        stateMutability: 'nonpayable',
        inputs: [
            { type: 'address', name: 'tokenIn' },
            { type: 'address', name: 'tokenOut' },
            { type: 'uint128', name: 'amountOut' },
            { type: 'uint128', name: 'maxAmountIn' },
        ],
        outputs: [{ type: 'uint128', name: 'amountIn' }],
    },
    {
        name: 'quoteSwapExactAmountIn',
        type: 'function',
        stateMutability: 'view',
        inputs: [
            { type: 'address', name: 'tokenIn' },
            { type: 'address', name: 'tokenOut' },
            { type: 'uint128', name: 'amountIn' },
        ],
        outputs: [{ type: 'uint128', name: 'amountOut' }],
    },
    {
        name: 'quoteSwapExactAmountOut',
        type: 'function',
        stateMutability: 'view',
        inputs: [
            { type: 'address', name: 'tokenIn' },
            { type: 'address', name: 'tokenOut' },
            { type: 'uint128', name: 'amountOut' },
        ],
        outputs: [{ type: 'uint128', name: 'amountIn' }],
    },
    {
        name: 'balanceOf',
        type: 'function',
        stateMutability: 'view',
        inputs: [
            { type: 'address', name: 'user' },
            { type: 'address', name: 'token' },
        ],
        outputs: [{ type: 'uint128' }],
    },
    {
        name: 'withdraw',
        type: 'function',
        stateMutability: 'nonpayable',
        inputs: [
            { type: 'address', name: 'token' },
            { type: 'uint128', name: 'amount' },
        ],
        outputs: [],
    },
    {
        name: 'getOrder',
        type: 'function',
        stateMutability: 'view',
        inputs: [{ type: 'uint128', name: 'orderId' }],
        outputs: [
            {
                type: 'tuple',
                components: [
                    { type: 'uint128', name: 'orderId' },
                    { type: 'address', name: 'maker' },
                    { type: 'bytes32', name: 'bookKey' },
                    { type: 'bool', name: 'isBid' },
                    { type: 'int16', name: 'tick' },
                    { type: 'uint128', name: 'amount' },
                    { type: 'uint128', name: 'remaining' },
                    { type: 'uint128', name: 'prev' },
                    { type: 'uint128', name: 'next' },
                    { type: 'bool', name: 'isFlip' },
                    { type: 'int16', name: 'flipTick' },
                ],
            },
        ],
    },
    {
        name: 'getTickLevel',
        type: 'function',
        stateMutability: 'view',
        inputs: [
            { type: 'address', name: 'base' },
            { type: 'int16', name: 'tick' },
            { type: 'bool', name: 'isBid' },
        ],
        outputs: [
            { type: 'uint128', name: 'head' },
            { type: 'uint128', name: 'tail' },
            { type: 'uint128', name: 'totalLiquidity' },
        ],
    },
    {
        name: 'pairKey',
        type: 'function',
        stateMutability: 'pure',
        inputs: [
            { type: 'address', name: 'tokenA' },
            { type: 'address', name: 'tokenB' },
        ],
        outputs: [{ type: 'bytes32' }],
    },
    {
        name: 'activeOrderId',
        type: 'function',
        stateMutability: 'view',
        inputs: [],
        outputs: [{ type: 'uint128' }],
    },
    {
        name: 'pendingOrderId',
        type: 'function',
        stateMutability: 'view',
        inputs: [],
        outputs: [{ type: 'uint128' }],
    },
    {
        name: 'books',
        type: 'function',
        stateMutability: 'view',
        inputs: [{ type: 'bytes32', name: 'pairKey' }],
        outputs: [
            {
                type: 'tuple',
                components: [
                    { type: 'address', name: 'base' },
                    { type: 'address', name: 'quote' },
                    { type: 'int16', name: 'bestBidTick' },
                    { type: 'int16', name: 'bestAskTick' },
                ],
            },
        ],
    },
    {
        name: 'MIN_TICK',
        type: 'function',
        stateMutability: 'pure',
        inputs: [],
        outputs: [{ type: 'int16' }],
    },
    {
        name: 'MAX_TICK',
        type: 'function',
        stateMutability: 'pure',
        inputs: [],
        outputs: [{ type: 'int16' }],
    },
    {
        name: 'TICK_SPACING',
        type: 'function',
        stateMutability: 'pure',
        inputs: [],
        outputs: [{ type: 'int16' }],
    },
    {
        name: 'PRICE_SCALE',
        type: 'function',
        stateMutability: 'pure',
        inputs: [],
        outputs: [{ type: 'uint32' }],
    },
    {
        name: 'MIN_PRICE',
        type: 'function',
        stateMutability: 'pure',
        inputs: [],
        outputs: [{ type: 'uint32' }],
    },
    {
        name: 'MAX_PRICE',
        type: 'function',
        stateMutability: 'pure',
        inputs: [],
        outputs: [{ type: 'uint32' }],
    },
    {
        name: 'tickToPrice',
        type: 'function',
        stateMutability: 'pure',
        inputs: [{ type: 'int16', name: 'tick' }],
        outputs: [{ type: 'uint32', name: 'price' }],
    },
    {
        name: 'priceToTick',
        type: 'function',
        stateMutability: 'pure',
        inputs: [{ type: 'uint32', name: 'price' }],
        outputs: [{ type: 'int16', name: 'tick' }],
    },
    {
        name: 'PairCreated',
        type: 'event',
        inputs: [
            { type: 'bytes32', name: 'key', indexed: true },
            { type: 'address', name: 'base', indexed: true },
            { type: 'address', name: 'quote', indexed: true },
        ],
    },
    {
        name: 'OrderPlaced',
        type: 'event',
        inputs: [
            { type: 'uint128', name: 'orderId', indexed: true },
            { type: 'address', name: 'maker', indexed: true },
            { type: 'address', name: 'token', indexed: true },
            { type: 'uint128', name: 'amount' },
            { type: 'bool', name: 'isBid' },
            { type: 'int16', name: 'tick' },
        ],
    },
    {
        name: 'FlipOrderPlaced',
        type: 'event',
        inputs: [
            { type: 'uint128', name: 'orderId', indexed: true },
            { type: 'address', name: 'maker', indexed: true },
            { type: 'address', name: 'token', indexed: true },
            { type: 'uint128', name: 'amount' },
            { type: 'bool', name: 'isBid' },
            { type: 'int16', name: 'tick' },
            { type: 'int16', name: 'flipTick' },
        ],
    },
    {
        name: 'OrderFilled',
        type: 'event',
        inputs: [
            { type: 'uint128', name: 'orderId', indexed: true },
            { type: 'address', name: 'maker', indexed: true },
            { type: 'uint128', name: 'amountFilled' },
            { type: 'bool', name: 'partialFill' },
        ],
    },
    {
        name: 'OrderFilled',
        type: 'event',
        inputs: [
            { type: 'uint128', name: 'orderId', indexed: true },
            { type: 'address', name: 'maker', indexed: true },
            { type: 'address', name: 'taker', indexed: true },
            { type: 'uint128', name: 'amountFilled' },
            { type: 'bool', name: 'partialFill' },
        ],
    },
    {
        name: 'OrderCancelled',
        type: 'event',
        inputs: [{ type: 'uint128', name: 'orderId', indexed: true }],
    },
    { name: 'Unauthorized', type: 'error', inputs: [] },
    { name: 'PairDoesNotExist', type: 'error', inputs: [] },
    { name: 'PairAlreadyExists', type: 'error', inputs: [] },
    { name: 'OrderDoesNotExist', type: 'error', inputs: [] },
    { name: 'IdenticalTokens', type: 'error', inputs: [] },
    { name: 'InvalidToken', type: 'error', inputs: [] },
    {
        name: 'TickOutOfBounds',
        type: 'error',
        inputs: [{ type: 'int16', name: 'tick' }],
    },
    { name: 'InvalidTick', type: 'error', inputs: [] },
    { name: 'InvalidFlipTick', type: 'error', inputs: [] },
    { name: 'InsufficientBalance', type: 'error', inputs: [] },
    { name: 'InsufficientLiquidity', type: 'error', inputs: [] },
    { name: 'InsufficientOutput', type: 'error', inputs: [] },
    { name: 'MaxInputExceeded', type: 'error', inputs: [] },
    {
        name: 'BelowMinimumOrderSize',
        type: 'error',
        inputs: [{ type: 'uint128', name: 'amount' }],
    },
    { name: 'InvalidBaseToken', type: 'error', inputs: [] },
];
exports.tip20 = [
    {
        name: 'name',
        type: 'function',
        stateMutability: 'view',
        inputs: [],
        outputs: [{ type: 'string' }],
    },
    {
        name: 'symbol',
        type: 'function',
        stateMutability: 'view',
        inputs: [],
        outputs: [{ type: 'string' }],
    },
    {
        name: 'decimals',
        type: 'function',
        stateMutability: 'view',
        inputs: [],
        outputs: [{ type: 'uint8' }],
    },
    {
        name: 'totalSupply',
        type: 'function',
        stateMutability: 'view',
        inputs: [],
        outputs: [{ type: 'uint256' }],
    },
    {
        name: 'quoteToken',
        type: 'function',
        stateMutability: 'view',
        inputs: [],
        outputs: [{ type: 'address' }],
    },
    {
        name: 'nextQuoteToken',
        type: 'function',
        stateMutability: 'view',
        inputs: [],
        outputs: [{ type: 'address' }],
    },
    {
        name: 'balanceOf',
        type: 'function',
        stateMutability: 'view',
        inputs: [{ type: 'address', name: 'account' }],
        outputs: [{ type: 'uint256' }],
    },
    {
        name: 'transfer',
        type: 'function',
        stateMutability: 'nonpayable',
        inputs: [
            { type: 'address', name: 'to' },
            { type: 'uint256', name: 'amount' },
        ],
        outputs: [{ type: 'bool' }],
    },
    {
        name: 'approve',
        type: 'function',
        stateMutability: 'nonpayable',
        inputs: [
            { type: 'address', name: 'spender' },
            { type: 'uint256', name: 'amount' },
        ],
        outputs: [{ type: 'bool' }],
    },
    {
        name: 'allowance',
        type: 'function',
        stateMutability: 'view',
        inputs: [
            { type: 'address', name: 'owner' },
            { type: 'address', name: 'spender' },
        ],
        outputs: [{ type: 'uint256' }],
    },
    {
        name: 'transferFrom',
        type: 'function',
        stateMutability: 'nonpayable',
        inputs: [
            { type: 'address', name: 'from' },
            { type: 'address', name: 'to' },
            { type: 'uint256', name: 'amount' },
        ],
        outputs: [{ type: 'bool' }],
    },
    {
        name: 'mint',
        type: 'function',
        stateMutability: 'nonpayable',
        inputs: [
            { type: 'address', name: 'to' },
            { type: 'uint256', name: 'amount' },
        ],
        outputs: [],
    },
    {
        name: 'burn',
        type: 'function',
        stateMutability: 'nonpayable',
        inputs: [{ type: 'uint256', name: 'amount' }],
        outputs: [],
    },
    {
        name: 'currency',
        type: 'function',
        stateMutability: 'view',
        inputs: [],
        outputs: [{ type: 'string' }],
    },
    {
        name: 'supplyCap',
        type: 'function',
        stateMutability: 'view',
        inputs: [],
        outputs: [{ type: 'uint256' }],
    },
    {
        name: 'paused',
        type: 'function',
        stateMutability: 'view',
        inputs: [],
        outputs: [{ type: 'bool' }],
    },
    {
        name: 'transferPolicyId',
        type: 'function',
        stateMutability: 'view',
        inputs: [],
        outputs: [{ type: 'uint64' }],
    },
    {
        name: 'burnBlocked',
        type: 'function',
        stateMutability: 'nonpayable',
        inputs: [
            { type: 'address', name: 'from' },
            { type: 'uint256', name: 'amount' },
        ],
        outputs: [],
    },
    {
        name: 'mintWithMemo',
        type: 'function',
        stateMutability: 'nonpayable',
        inputs: [
            { type: 'address', name: 'to' },
            { type: 'uint256', name: 'amount' },
            { type: 'bytes32', name: 'memo' },
        ],
        outputs: [],
    },
    {
        name: 'burnWithMemo',
        type: 'function',
        stateMutability: 'nonpayable',
        inputs: [
            { type: 'uint256', name: 'amount' },
            { type: 'bytes32', name: 'memo' },
        ],
        outputs: [],
    },
    {
        name: 'transferWithMemo',
        type: 'function',
        stateMutability: 'nonpayable',
        inputs: [
            { type: 'address', name: 'to' },
            { type: 'uint256', name: 'amount' },
            { type: 'bytes32', name: 'memo' },
        ],
        outputs: [],
    },
    {
        name: 'transferFromWithMemo',
        type: 'function',
        stateMutability: 'nonpayable',
        inputs: [
            { type: 'address', name: 'from' },
            { type: 'address', name: 'to' },
            { type: 'uint256', name: 'amount' },
            { type: 'bytes32', name: 'memo' },
        ],
        outputs: [{ type: 'bool' }],
    },
    {
        name: 'feeRecipient',
        type: 'function',
        stateMutability: 'view',
        inputs: [],
        outputs: [{ type: 'address' }],
    },
    {
        name: 'setFeeRecipient',
        type: 'function',
        stateMutability: 'view',
        inputs: [{ type: 'address', name: 'newRecipient' }],
        outputs: [{ type: 'address' }],
    },
    {
        name: 'changeTransferPolicyId',
        type: 'function',
        stateMutability: 'nonpayable',
        inputs: [{ type: 'uint64', name: 'newPolicyId' }],
        outputs: [],
    },
    {
        name: 'setSupplyCap',
        type: 'function',
        stateMutability: 'nonpayable',
        inputs: [{ type: 'uint256', name: 'newSupplyCap' }],
        outputs: [],
    },
    {
        name: 'pause',
        type: 'function',
        stateMutability: 'nonpayable',
        inputs: [],
        outputs: [],
    },
    {
        name: 'unpause',
        type: 'function',
        stateMutability: 'nonpayable',
        inputs: [],
        outputs: [],
    },
    {
        name: 'setNextQuoteToken',
        type: 'function',
        stateMutability: 'nonpayable',
        inputs: [{ type: 'address', name: 'newQuoteToken' }],
        outputs: [],
    },
    {
        name: 'completeQuoteTokenUpdate',
        type: 'function',
        stateMutability: 'nonpayable',
        inputs: [],
        outputs: [],
    },
    {
        name: 'PAUSE_ROLE',
        type: 'function',
        stateMutability: 'view',
        inputs: [],
        outputs: [{ type: 'bytes32' }],
    },
    {
        name: 'UNPAUSE_ROLE',
        type: 'function',
        stateMutability: 'view',
        inputs: [],
        outputs: [{ type: 'bytes32' }],
    },
    {
        name: 'ISSUER_ROLE',
        type: 'function',
        stateMutability: 'view',
        inputs: [],
        outputs: [{ type: 'bytes32' }],
    },
    {
        name: 'BURN_BLOCKED_ROLE',
        type: 'function',
        stateMutability: 'view',
        inputs: [],
        outputs: [{ type: 'bytes32' }],
    },
    {
        name: 'startReward',
        type: 'function',
        stateMutability: 'nonpayable',
        inputs: [
            { type: 'uint256', name: 'amount' },
            { type: 'uint32', name: 'secs' },
        ],
        outputs: [{ type: 'uint64' }],
    },
    {
        name: 'setRewardRecipient',
        type: 'function',
        stateMutability: 'nonpayable',
        inputs: [{ type: 'address', name: 'recipient' }],
        outputs: [],
    },
    {
        name: 'cancelReward',
        type: 'function',
        stateMutability: 'nonpayable',
        inputs: [{ type: 'uint64', name: 'id' }],
        outputs: [{ type: 'uint256' }],
    },
    {
        name: 'claimRewards',
        type: 'function',
        stateMutability: 'nonpayable',
        inputs: [],
        outputs: [{ type: 'uint256' }],
    },
    {
        name: 'finalizeStreams',
        type: 'function',
        stateMutability: 'nonpayable',
        inputs: [{ type: 'uint64', name: 'timestamp' }],
        outputs: [],
    },
    {
        name: 'getStream',
        type: 'function',
        stateMutability: 'view',
        inputs: [{ type: 'uint64', name: 'id' }],
        outputs: [
            {
                type: 'tuple',
                components: [
                    { type: 'address', name: 'funder' },
                    { type: 'uint64', name: 'startTime' },
                    { type: 'uint64', name: 'endTime' },
                    { type: 'uint256', name: 'ratePerSecondScaled' },
                    { type: 'uint256', name: 'amountTotal' },
                ],
            },
        ],
    },
    {
        name: 'totalRewardPerSecond',
        type: 'function',
        stateMutability: 'view',
        inputs: [],
        outputs: [{ type: 'uint256' }],
    },
    {
        name: 'optedInSupply',
        type: 'function',
        stateMutability: 'view',
        inputs: [],
        outputs: [{ type: 'uint128' }],
    },
    {
        name: 'nextStreamId',
        type: 'function',
        stateMutability: 'view',
        inputs: [],
        outputs: [{ type: 'uint64' }],
    },
    {
        name: 'userRewardInfo',
        type: 'function',
        stateMutability: 'view',
        inputs: [{ type: 'address', name: 'account' }],
        outputs: [
            {
                type: 'tuple',
                components: [
                    { type: 'address', name: 'rewardRecipient' },
                    { type: 'uint256', name: 'rewardPerToken' },
                    { type: 'uint256', name: 'rewardBalance' },
                ],
            },
        ],
    },
    {
        name: 'Transfer',
        type: 'event',
        inputs: [
            { type: 'address', name: 'from', indexed: true },
            { type: 'address', name: 'to', indexed: true },
            { type: 'uint256', name: 'amount' },
        ],
    },
    {
        name: 'Approval',
        type: 'event',
        inputs: [
            { type: 'address', name: 'owner', indexed: true },
            { type: 'address', name: 'spender', indexed: true },
            { type: 'uint256', name: 'amount' },
        ],
    },
    {
        name: 'Mint',
        type: 'event',
        inputs: [
            { type: 'address', name: 'to', indexed: true },
            { type: 'uint256', name: 'amount' },
        ],
    },
    {
        name: 'Burn',
        type: 'event',
        inputs: [
            { type: 'address', name: 'from', indexed: true },
            { type: 'uint256', name: 'amount' },
        ],
    },
    {
        name: 'BurnBlocked',
        type: 'event',
        inputs: [
            { type: 'address', name: 'from', indexed: true },
            { type: 'uint256', name: 'amount' },
        ],
    },
    {
        name: 'TransferWithMemo',
        type: 'event',
        inputs: [
            { type: 'address', name: 'from', indexed: true },
            { type: 'address', name: 'to', indexed: true },
            { type: 'uint256', name: 'amount' },
            { type: 'bytes32', name: 'memo', indexed: true },
        ],
    },
    {
        name: 'TransferPolicyUpdate',
        type: 'event',
        inputs: [
            { type: 'address', name: 'updater', indexed: true },
            { type: 'uint64', name: 'newPolicyId', indexed: true },
        ],
    },
    {
        name: 'SupplyCapUpdate',
        type: 'event',
        inputs: [
            { type: 'address', name: 'updater', indexed: true },
            { type: 'uint256', name: 'newSupplyCap', indexed: true },
        ],
    },
    {
        name: 'PauseStateUpdate',
        type: 'event',
        inputs: [
            { type: 'address', name: 'updater', indexed: true },
            { type: 'bool', name: 'isPaused' },
        ],
    },
    {
        name: 'NextQuoteTokenSet',
        type: 'event',
        inputs: [
            { type: 'address', name: 'updater', indexed: true },
            { type: 'address', name: 'nextQuoteToken', indexed: true },
        ],
    },
    {
        name: 'QuoteTokenUpdate',
        type: 'event',
        inputs: [
            { type: 'address', name: 'updater', indexed: true },
            { type: 'address', name: 'newQuoteToken', indexed: true },
        ],
    },
    {
        name: 'RewardScheduled',
        type: 'event',
        inputs: [
            { type: 'address', name: 'funder', indexed: true },
            { type: 'uint64', name: 'id', indexed: true },
            { type: 'uint256', name: 'amount' },
            { type: 'uint32', name: 'durationSeconds' },
        ],
    },
    {
        name: 'RewardCanceled',
        type: 'event',
        inputs: [
            { type: 'address', name: 'funder', indexed: true },
            { type: 'uint64', name: 'id', indexed: true },
            { type: 'uint256', name: 'refund' },
        ],
    },
    {
        name: 'RewardRecipientSet',
        type: 'event',
        inputs: [
            { type: 'address', name: 'holder', indexed: true },
            { type: 'address', name: 'recipient', indexed: true },
        ],
    },
    {
        name: 'FeeRecipientUpdated',
        type: 'event',
        inputs: [
            { type: 'address', name: 'updater', indexed: true },
            { type: 'address', name: 'newRecipient', indexed: true },
        ],
    },
    {
        name: 'InsufficientBalance',
        type: 'error',
        inputs: [
            { type: 'uint256', name: 'available' },
            { type: 'uint256', name: 'required' },
            { type: 'address', name: 'token' },
        ],
    },
    { name: 'InsufficientAllowance', type: 'error', inputs: [] },
    { name: 'SupplyCapExceeded', type: 'error', inputs: [] },
    { name: 'InvalidSupplyCap', type: 'error', inputs: [] },
    { name: 'InvalidPayload', type: 'error', inputs: [] },
    { name: 'StringTooLong', type: 'error', inputs: [] },
    { name: 'PolicyForbids', type: 'error', inputs: [] },
    { name: 'InvalidRecipient', type: 'error', inputs: [] },
    { name: 'ContractPaused', type: 'error', inputs: [] },
    { name: 'InvalidCurrency', type: 'error', inputs: [] },
    { name: 'InvalidQuoteToken', type: 'error', inputs: [] },
    { name: 'TransfersDisabled', type: 'error', inputs: [] },
    { name: 'InvalidAmount', type: 'error', inputs: [] },
    { name: 'NotStreamFunder', type: 'error', inputs: [] },
    { name: 'StreamInactive', type: 'error', inputs: [] },
    { name: 'NoOptedInSupply', type: 'error', inputs: [] },
    { name: 'Unauthorized', type: 'error', inputs: [] },
    { name: 'RewardsDisabled', type: 'error', inputs: [] },
    { name: 'ScheduledRewardsDisabled', type: 'error', inputs: [] },
    { name: 'ProtectedAddress', type: 'error', inputs: [] },
    { name: 'InvalidToken', type: 'error', inputs: [] },
    {
        name: 'hasRole',
        type: 'function',
        stateMutability: 'view',
        inputs: [
            { type: 'address', name: 'account' },
            { type: 'bytes32', name: 'role' },
        ],
        outputs: [{ type: 'bool' }],
    },
    {
        name: 'getRoleAdmin',
        type: 'function',
        stateMutability: 'view',
        inputs: [{ type: 'bytes32', name: 'role' }],
        outputs: [{ type: 'bytes32' }],
    },
    {
        name: 'grantRole',
        type: 'function',
        stateMutability: 'nonpayable',
        inputs: [
            { type: 'bytes32', name: 'role' },
            { type: 'address', name: 'account' },
        ],
        outputs: [],
    },
    {
        name: 'revokeRole',
        type: 'function',
        stateMutability: 'nonpayable',
        inputs: [
            { type: 'bytes32', name: 'role' },
            { type: 'address', name: 'account' },
        ],
        outputs: [],
    },
    {
        name: 'renounceRole',
        type: 'function',
        stateMutability: 'nonpayable',
        inputs: [{ type: 'bytes32', name: 'role' }],
        outputs: [],
    },
    {
        name: 'setRoleAdmin',
        type: 'function',
        stateMutability: 'nonpayable',
        inputs: [
            { type: 'bytes32', name: 'role' },
            { type: 'bytes32', name: 'adminRole' },
        ],
        outputs: [],
    },
    {
        name: 'RoleMembershipUpdated',
        type: 'event',
        inputs: [
            { type: 'bytes32', name: 'role', indexed: true },
            { type: 'address', name: 'account', indexed: true },
            { type: 'address', name: 'sender', indexed: true },
            { type: 'bool', name: 'hasRole' },
        ],
    },
    {
        name: 'RoleAdminUpdated',
        type: 'event',
        inputs: [
            { type: 'bytes32', name: 'role', indexed: true },
            { type: 'bytes32', name: 'newAdminRole', indexed: true },
            { type: 'address', name: 'sender', indexed: true },
        ],
    },
    { name: 'Unauthorized', type: 'error', inputs: [] },
];
exports.tipAccountRegistrar = [
    {
        name: 'delegateToDefault',
        type: 'function',
        stateMutability: 'nonpayable',
        inputs: [
            { type: 'bytes32', name: 'hash' },
            { type: 'bytes', name: 'signature' },
        ],
        outputs: [{ type: 'address', name: 'authority' }],
    },
    {
        name: 'delegateToDefault',
        type: 'function',
        stateMutability: 'nonpayable',
        inputs: [
            { type: 'bytes', name: 'message' },
            { type: 'bytes', name: 'signature' },
        ],
        outputs: [{ type: 'address', name: 'authority' }],
    },
    { name: 'InvalidSignature', type: 'error', inputs: [] },
    { name: 'CodeNotEmpty', type: 'error', inputs: [] },
    { name: 'NonceNotZero', type: 'error', inputs: [] },
];
exports.feeManager = [
    {
        name: 'userTokens',
        type: 'function',
        stateMutability: 'view',
        inputs: [{ type: 'address', name: 'user' }],
        outputs: [{ type: 'address' }],
    },
    {
        name: 'validatorTokens',
        type: 'function',
        stateMutability: 'view',
        inputs: [{ type: 'address', name: 'validator' }],
        outputs: [{ type: 'address' }],
    },
    {
        name: 'setUserToken',
        type: 'function',
        stateMutability: 'nonpayable',
        inputs: [{ type: 'address', name: 'token' }],
        outputs: [],
    },
    {
        name: 'setValidatorToken',
        type: 'function',
        stateMutability: 'nonpayable',
        inputs: [{ type: 'address', name: 'token' }],
        outputs: [],
    },
    {
        name: 'getFeeTokenBalance',
        type: 'function',
        stateMutability: 'view',
        inputs: [
            { type: 'address', name: 'sender' },
            { type: 'address', name: 'validator' },
        ],
        outputs: [{ type: 'address' }, { type: 'uint256' }],
    },
    {
        name: 'executeBlock',
        type: 'function',
        stateMutability: 'nonpayable',
        inputs: [],
        outputs: [],
    },
    {
        name: 'UserTokenSet',
        type: 'event',
        inputs: [
            { type: 'address', name: 'user', indexed: true },
            { type: 'address', name: 'token', indexed: true },
        ],
    },
    {
        name: 'ValidatorTokenSet',
        type: 'event',
        inputs: [
            { type: 'address', name: 'validator', indexed: true },
            { type: 'address', name: 'token', indexed: true },
        ],
    },
    { name: 'OnlyValidator', type: 'error', inputs: [] },
    { name: 'OnlySystemContract', type: 'error', inputs: [] },
    { name: 'InvalidToken', type: 'error', inputs: [] },
    { name: 'PoolDoesNotExist', type: 'error', inputs: [] },
    { name: 'InsufficientFeeTokenBalance', type: 'error', inputs: [] },
    { name: 'InternalError', type: 'error', inputs: [] },
    { name: 'CannotChangeWithinBlock', type: 'error', inputs: [] },
    { name: 'CannotChangeWithPendingFees', type: 'error', inputs: [] },
    { name: 'TokenPolicyForbids', type: 'error', inputs: [] },
];
exports.feeAmm = [
    {
        name: 'M',
        type: 'function',
        stateMutability: 'view',
        inputs: [],
        outputs: [{ type: 'uint256' }],
    },
    {
        name: 'N',
        type: 'function',
        stateMutability: 'view',
        inputs: [],
        outputs: [{ type: 'uint256' }],
    },
    {
        name: 'SCALE',
        type: 'function',
        stateMutability: 'view',
        inputs: [],
        outputs: [{ type: 'uint256' }],
    },
    {
        name: 'MIN_LIQUIDITY',
        type: 'function',
        stateMutability: 'view',
        inputs: [],
        outputs: [{ type: 'uint256' }],
    },
    {
        name: 'getPoolId',
        type: 'function',
        stateMutability: 'pure',
        inputs: [
            { type: 'address', name: 'userToken' },
            { type: 'address', name: 'validatorToken' },
        ],
        outputs: [{ type: 'bytes32' }],
    },
    {
        name: 'getPool',
        type: 'function',
        stateMutability: 'view',
        inputs: [
            { type: 'address', name: 'userToken' },
            { type: 'address', name: 'validatorToken' },
        ],
        outputs: [
            {
                type: 'tuple',
                components: [
                    { type: 'uint128', name: 'reserveUserToken' },
                    { type: 'uint128', name: 'reserveValidatorToken' },
                ],
            },
        ],
    },
    {
        name: 'pools',
        type: 'function',
        stateMutability: 'view',
        inputs: [{ type: 'bytes32', name: 'poolId' }],
        outputs: [
            {
                type: 'tuple',
                components: [
                    { type: 'uint128', name: 'reserveUserToken' },
                    { type: 'uint128', name: 'reserveValidatorToken' },
                ],
            },
        ],
    },
    {
        name: 'mint',
        type: 'function',
        stateMutability: 'nonpayable',
        inputs: [
            { type: 'address', name: 'userToken' },
            { type: 'address', name: 'validatorToken' },
            { type: 'uint256', name: 'amountUserToken' },
            { type: 'uint256', name: 'amountValidatorToken' },
            { type: 'address', name: 'to' },
        ],
        outputs: [{ type: 'uint256', name: 'liquidity' }],
    },
    {
        name: 'mintWithValidatorToken',
        type: 'function',
        stateMutability: 'nonpayable',
        inputs: [
            { type: 'address', name: 'userToken' },
            { type: 'address', name: 'validatorToken' },
            { type: 'uint256', name: 'amountValidatorToken' },
            { type: 'address', name: 'to' },
        ],
        outputs: [{ type: 'uint256', name: 'liquidity' }],
    },
    {
        name: 'burn',
        type: 'function',
        stateMutability: 'nonpayable',
        inputs: [
            { type: 'address', name: 'userToken' },
            { type: 'address', name: 'validatorToken' },
            { type: 'uint256', name: 'liquidity' },
            { type: 'address', name: 'to' },
        ],
        outputs: [
            { type: 'uint256', name: 'amountUserToken' },
            { type: 'uint256', name: 'amountValidatorToken' },
        ],
    },
    {
        name: 'totalSupply',
        type: 'function',
        stateMutability: 'view',
        inputs: [{ type: 'bytes32', name: 'poolId' }],
        outputs: [{ type: 'uint256' }],
    },
    {
        name: 'liquidityBalances',
        type: 'function',
        stateMutability: 'view',
        inputs: [
            { type: 'bytes32', name: 'poolId' },
            { type: 'address', name: 'user' },
        ],
        outputs: [{ type: 'uint256' }],
    },
    {
        name: 'rebalanceSwap',
        type: 'function',
        stateMutability: 'nonpayable',
        inputs: [
            { type: 'address', name: 'userToken' },
            { type: 'address', name: 'validatorToken' },
            { type: 'uint256', name: 'amountOut' },
            { type: 'address', name: 'to' },
        ],
        outputs: [{ type: 'uint256', name: 'amountIn' }],
    },
    {
        name: 'Mint',
        type: 'event',
        inputs: [
            { type: 'address', name: 'sender', indexed: true },
            { type: 'address', name: 'userToken', indexed: true },
            { type: 'address', name: 'validatorToken', indexed: true },
            { type: 'uint256', name: 'amountUserToken' },
            { type: 'uint256', name: 'amountValidatorToken' },
            { type: 'uint256', name: 'liquidity' },
        ],
    },
    {
        name: 'Burn',
        type: 'event',
        inputs: [
            { type: 'address', name: 'sender', indexed: true },
            { type: 'address', name: 'userToken', indexed: true },
            { type: 'address', name: 'validatorToken', indexed: true },
            { type: 'uint256', name: 'amountUserToken' },
            { type: 'uint256', name: 'amountValidatorToken' },
            { type: 'uint256', name: 'liquidity' },
            { type: 'address', name: 'to' },
        ],
    },
    {
        name: 'RebalanceSwap',
        type: 'event',
        inputs: [
            { type: 'address', name: 'userToken', indexed: true },
            { type: 'address', name: 'validatorToken', indexed: true },
            { type: 'address', name: 'swapper', indexed: true },
            { type: 'uint256', name: 'amountIn' },
            { type: 'uint256', name: 'amountOut' },
        ],
    },
    {
        name: 'FeeSwap',
        type: 'event',
        inputs: [
            { type: 'address', name: 'userToken', indexed: true },
            { type: 'address', name: 'validatorToken', indexed: true },
            { type: 'uint256', name: 'amountIn' },
            { type: 'uint256', name: 'amountOut' },
        ],
    },
    { name: 'IdenticalAddresses', type: 'error', inputs: [] },
    { name: 'ZeroAddress', type: 'error', inputs: [] },
    { name: 'PoolExists', type: 'error', inputs: [] },
    { name: 'PoolDoesNotExist', type: 'error', inputs: [] },
    { name: 'InvalidToken', type: 'error', inputs: [] },
    { name: 'InsufficientLiquidity', type: 'error', inputs: [] },
    { name: 'OnlyProtocol', type: 'error', inputs: [] },
    { name: 'InsufficientPoolBalance', type: 'error', inputs: [] },
    { name: 'InsufficientReserves', type: 'error', inputs: [] },
    { name: 'InsufficientLiquidityBalance', type: 'error', inputs: [] },
    { name: 'MustDepositLowerBalanceToken', type: 'error', inputs: [] },
    { name: 'InvalidAmount', type: 'error', inputs: [] },
    { name: 'InvalidRebalanceState', type: 'error', inputs: [] },
    { name: 'InvalidRebalanceDirection', type: 'error', inputs: [] },
    { name: 'InvalidNewReserves', type: 'error', inputs: [] },
    { name: 'CannotSupportPendingSwaps', type: 'error', inputs: [] },
    { name: 'DivisionByZero', type: 'error', inputs: [] },
    { name: 'InvalidSwapCalculation', type: 'error', inputs: [] },
    { name: 'InsufficientLiquidityForPending', type: 'error', inputs: [] },
    { name: 'TokenTransferFailed', type: 'error', inputs: [] },
    { name: 'InternalError', type: 'error', inputs: [] },
];
exports.accountKeychain = [
    {
        name: 'authorizeKey',
        type: 'function',
        stateMutability: 'nonpayable',
        inputs: [
            { type: 'address', name: 'keyId' },
            { type: 'uint8', name: 'signatureType' },
            { type: 'uint64', name: 'expiry' },
            { type: 'bool', name: 'enforceLimits' },
            {
                type: 'tuple[]',
                name: 'limits',
                components: [
                    { type: 'address', name: 'token' },
                    { type: 'uint256', name: 'amount' },
                ],
            },
        ],
        outputs: [],
    },
    {
        name: 'revokeKey',
        type: 'function',
        stateMutability: 'nonpayable',
        inputs: [{ type: 'address', name: 'keyId' }],
        outputs: [],
    },
    {
        name: 'updateSpendingLimit',
        type: 'function',
        stateMutability: 'nonpayable',
        inputs: [
            { type: 'address', name: 'keyId' },
            { type: 'address', name: 'token' },
            { type: 'uint256', name: 'newLimit' },
        ],
        outputs: [],
    },
    {
        name: 'getKey',
        type: 'function',
        stateMutability: 'view',
        inputs: [
            { type: 'address', name: 'account' },
            { type: 'address', name: 'keyId' },
        ],
        outputs: [
            {
                type: 'tuple',
                components: [
                    { type: 'uint8', name: 'signatureType' },
                    { type: 'address', name: 'keyId' },
                    { type: 'uint64', name: 'expiry' },
                    { type: 'bool', name: 'enforceLimits' },
                    { type: 'bool', name: 'isRevoked' },
                ],
            },
        ],
    },
    {
        name: 'getRemainingLimit',
        type: 'function',
        stateMutability: 'view',
        inputs: [
            { type: 'address', name: 'account' },
            { type: 'address', name: 'keyId' },
            { type: 'address', name: 'token' },
        ],
        outputs: [{ type: 'uint256' }],
    },
    {
        name: 'getTransactionKey',
        type: 'function',
        stateMutability: 'view',
        inputs: [],
        outputs: [{ type: 'address' }],
    },
    {
        name: 'KeyAuthorized',
        type: 'event',
        inputs: [
            { type: 'address', name: 'account', indexed: true },
            { type: 'address', name: 'publicKey', indexed: true },
            { type: 'uint8', name: 'signatureType' },
            { type: 'uint64', name: 'expiry' },
        ],
    },
    {
        name: 'KeyAuthorized',
        type: 'event',
        inputs: [
            { type: 'address', name: 'account', indexed: true },
            { type: 'bytes32', name: 'publicKey', indexed: true },
            { type: 'uint8', name: 'signatureType' },
            { type: 'uint64', name: 'expiry' },
        ],
    },
    {
        name: 'KeyRevoked',
        type: 'event',
        inputs: [
            { type: 'address', name: 'account', indexed: true },
            { type: 'address', name: 'publicKey', indexed: true },
        ],
    },
    {
        name: 'KeyRevoked',
        type: 'event',
        inputs: [
            { type: 'address', name: 'account', indexed: true },
            { type: 'bytes32', name: 'publicKey', indexed: true },
        ],
    },
    {
        name: 'SpendingLimitUpdated',
        type: 'event',
        inputs: [
            { type: 'address', name: 'account', indexed: true },
            { type: 'address', name: 'publicKey', indexed: true },
            { type: 'address', name: 'token', indexed: true },
            { type: 'uint256', name: 'newLimit' },
        ],
    },
    {
        name: 'SpendingLimitUpdated',
        type: 'event',
        inputs: [
            { type: 'address', name: 'account', indexed: true },
            { type: 'bytes32', name: 'publicKey', indexed: true },
            { type: 'address', name: 'token', indexed: true },
            { type: 'uint256', name: 'newLimit' },
        ],
    },
    { name: 'UnauthorizedCaller', type: 'error', inputs: [] },
    { name: 'KeyAlreadyExists', type: 'error', inputs: [] },
    { name: 'KeyNotFound', type: 'error', inputs: [] },
    { name: 'KeyExpired', type: 'error', inputs: [] },
    { name: 'SpendingLimitExceeded', type: 'error', inputs: [] },
    { name: 'InvalidSignatureType', type: 'error', inputs: [] },
    { name: 'ZeroPublicKey', type: 'error', inputs: [] },
    { name: 'ExpiryInPast', type: 'error', inputs: [] },
    { name: 'KeyAlreadyRevoked', type: 'error', inputs: [] },
];
exports.nonce = [
    {
        name: 'getNonce',
        type: 'function',
        stateMutability: 'view',
        inputs: [
            { type: 'address', name: 'account' },
            { type: 'uint256', name: 'nonceKey' },
        ],
        outputs: [{ type: 'uint64', name: 'nonce' }],
    },
    {
        name: 'getActiveNonceKeyCount',
        type: 'function',
        stateMutability: 'view',
        inputs: [{ type: 'address', name: 'account' }],
        outputs: [{ type: 'uint256', name: 'count' }],
    },
    {
        name: 'NonceIncremented',
        type: 'event',
        inputs: [
            { type: 'address', name: 'account', indexed: true },
            { type: 'uint256', name: 'nonceKey', indexed: true },
            { type: 'uint64', name: 'newNonce' },
        ],
    },
    {
        name: 'ActiveKeyCountChanged',
        type: 'event',
        inputs: [
            { type: 'address', name: 'account', indexed: true },
            { type: 'uint256', name: 'newCount' },
        ],
    },
    { name: 'ProtocolNonceNotSupported', type: 'error', inputs: [] },
    { name: 'InvalidNonceKey', type: 'error', inputs: [] },
    { name: 'NonceOverflow', type: 'error', inputs: [] },
];
exports.tip20RewardsRegistry = [
    {
        name: 'finalizeStreams',
        type: 'function',
        stateMutability: 'nonpayable',
        inputs: [],
        outputs: [],
    },
    { name: 'Unauthorized', type: 'error', inputs: [] },
    { name: 'StreamsAlreadyFinalized', type: 'error', inputs: [] },
];
exports.tip20Factory = [
    {
        name: 'createToken',
        type: 'function',
        stateMutability: 'nonpayable',
        inputs: [
            { type: 'string', name: 'name' },
            { type: 'string', name: 'symbol' },
            { type: 'string', name: 'currency' },
            { type: 'address', name: 'quoteToken' },
            { type: 'address', name: 'admin' },
        ],
        outputs: [{ type: 'address' }],
    },
    {
        name: 'tokenIdCounter',
        type: 'function',
        stateMutability: 'view',
        inputs: [],
        outputs: [{ type: 'uint256' }],
    },
    {
        name: 'isTIP20',
        type: 'function',
        stateMutability: 'view',
        inputs: [{ type: 'address', name: 'token' }],
        outputs: [{ type: 'bool' }],
    },
    {
        name: 'TokenCreated',
        type: 'event',
        inputs: [
            { type: 'address', name: 'token', indexed: true },
            { type: 'uint256', name: 'tokenId', indexed: true },
            { type: 'string', name: 'name' },
            { type: 'string', name: 'symbol' },
            { type: 'string', name: 'currency' },
            { type: 'address', name: 'quoteToken' },
            { type: 'address', name: 'admin' },
        ],
    },
];
exports.tip403Registry = [
    {
        name: 'policyIdCounter',
        type: 'function',
        stateMutability: 'view',
        inputs: [],
        outputs: [{ type: 'uint64' }],
    },
    {
        name: 'policyData',
        type: 'function',
        stateMutability: 'view',
        inputs: [{ type: 'uint64', name: 'policyId' }],
        outputs: [
            { type: 'uint8', name: 'policyType' },
            { type: 'address', name: 'admin' },
        ],
    },
    {
        name: 'isAuthorized',
        type: 'function',
        stateMutability: 'view',
        inputs: [
            { type: 'uint64', name: 'policyId' },
            { type: 'address', name: 'user' },
        ],
        outputs: [{ type: 'bool' }],
    },
    {
        name: 'createPolicy',
        type: 'function',
        stateMutability: 'nonpayable',
        inputs: [
            { type: 'address', name: 'admin' },
            { type: 'uint8', name: 'policyType' },
        ],
        outputs: [{ type: 'uint64' }],
    },
    {
        name: 'createPolicyWithAccounts',
        type: 'function',
        stateMutability: 'nonpayable',
        inputs: [
            { type: 'address', name: 'admin' },
            { type: 'uint8', name: 'policyType' },
            { type: 'address[]', name: 'accounts' },
        ],
        outputs: [{ type: 'uint64' }],
    },
    {
        name: 'setPolicyAdmin',
        type: 'function',
        stateMutability: 'nonpayable',
        inputs: [
            { type: 'uint64', name: 'policyId' },
            { type: 'address', name: 'admin' },
        ],
        outputs: [],
    },
    {
        name: 'modifyPolicyWhitelist',
        type: 'function',
        stateMutability: 'nonpayable',
        inputs: [
            { type: 'uint64', name: 'policyId' },
            { type: 'address', name: 'account' },
            { type: 'bool', name: 'allowed' },
        ],
        outputs: [],
    },
    {
        name: 'modifyPolicyBlacklist',
        type: 'function',
        stateMutability: 'nonpayable',
        inputs: [
            { type: 'uint64', name: 'policyId' },
            { type: 'address', name: 'account' },
            { type: 'bool', name: 'restricted' },
        ],
        outputs: [],
    },
    {
        name: 'PolicyAdminUpdated',
        type: 'event',
        inputs: [
            { type: 'uint64', name: 'policyId', indexed: true },
            { type: 'address', name: 'updater', indexed: true },
            { type: 'address', name: 'admin', indexed: true },
        ],
    },
    {
        name: 'PolicyCreated',
        type: 'event',
        inputs: [
            { type: 'uint64', name: 'policyId', indexed: true },
            { type: 'address', name: 'updater', indexed: true },
            { type: 'uint8', name: 'policyType' },
        ],
    },
    {
        name: 'WhitelistUpdated',
        type: 'event',
        inputs: [
            { type: 'uint64', name: 'policyId', indexed: true },
            { type: 'address', name: 'updater', indexed: true },
            { type: 'address', name: 'account', indexed: true },
            { type: 'bool', name: 'allowed' },
        ],
    },
    {
        name: 'BlacklistUpdated',
        type: 'event',
        inputs: [
            { type: 'uint64', name: 'policyId', indexed: true },
            { type: 'address', name: 'updater', indexed: true },
            { type: 'address', name: 'account', indexed: true },
            { type: 'bool', name: 'restricted' },
        ],
    },
    { name: 'Unauthorized', type: 'error', inputs: [] },
    { name: 'IncompatiblePolicyType', type: 'error', inputs: [] },
];
exports.validatorConfig = [
    {
        name: 'getValidators',
        type: 'function',
        stateMutability: 'view',
        inputs: [],
        outputs: [
            {
                type: 'tuple[]',
                name: 'validators',
                components: [
                    { type: 'bytes32', name: 'publicKey' },
                    { type: 'bool', name: 'active' },
                    { type: 'uint64', name: 'index' },
                    { type: 'address', name: 'validatorAddress' },
                    { type: 'string', name: 'inboundAddress' },
                    { type: 'string', name: 'outboundAddress' },
                ],
            },
        ],
    },
    {
        name: 'addValidator',
        type: 'function',
        stateMutability: 'nonpayable',
        inputs: [
            { type: 'address', name: 'newValidatorAddress' },
            { type: 'bytes32', name: 'publicKey' },
            { type: 'bool', name: 'active' },
            { type: 'string', name: 'inboundAddress' },
            { type: 'string', name: 'outboundAddress' },
        ],
        outputs: [],
    },
    {
        name: 'updateValidator',
        type: 'function',
        stateMutability: 'nonpayable',
        inputs: [
            { type: 'address', name: 'newValidatorAddress' },
            { type: 'bytes32', name: 'publicKey' },
            { type: 'string', name: 'inboundAddress' },
            { type: 'string', name: 'outboundAddress' },
        ],
        outputs: [],
    },
    {
        name: 'changeValidatorStatus',
        type: 'function',
        stateMutability: 'nonpayable',
        inputs: [
            { type: 'address', name: 'validator' },
            { type: 'bool', name: 'active' },
        ],
        outputs: [],
    },
    {
        name: 'owner',
        type: 'function',
        stateMutability: 'view',
        inputs: [],
        outputs: [{ type: 'address' }],
    },
    {
        name: 'changeOwner',
        type: 'function',
        stateMutability: 'nonpayable',
        inputs: [{ type: 'address', name: 'newOwner' }],
        outputs: [],
    },
    { name: 'Unauthorized', type: 'error', inputs: [] },
    { name: 'ValidatorAlreadyExists', type: 'error', inputs: [] },
    { name: 'ValidatorNotFound', type: 'error', inputs: [] },
    {
        name: 'NotHostPort',
        type: 'error',
        inputs: [
            { type: 'string', name: 'field' },
            { type: 'string', name: 'input' },
            { type: 'string', name: 'backtrace' },
        ],
    },
    {
        name: 'NotIpPort',
        type: 'error',
        inputs: [
            { type: 'string', name: 'field' },
            { type: 'string', name: 'input' },
            { type: 'string', name: 'backtrace' },
        ],
    },
];
exports.pathUsd = [
    {
        name: 'TRANSFER_ROLE',
        type: 'function',
        stateMutability: 'view',
        inputs: [],
        outputs: [{ type: 'bytes32' }],
    },
    {
        name: 'RECEIVE_WITH_MEMO_ROLE',
        type: 'function',
        stateMutability: 'view',
        inputs: [],
        outputs: [{ type: 'bytes32' }],
    },
];
//# sourceMappingURL=Abis.js.map