export type BaseTokenPool = { version: '1.6.1'; name: 'base_token_pool'; instructions: []; types: [ { name: 'BaseConfig'; type: { kind: 'struct'; fields: [ { name: 'tokenProgram'; type: 'publicKey'; }, { name: 'mint'; type: 'publicKey'; }, { name: 'decimals'; type: 'u8'; }, { name: 'poolSigner'; type: 'publicKey'; }, { name: 'poolTokenAccount'; type: 'publicKey'; }, { name: 'owner'; type: 'publicKey'; }, { name: 'proposedOwner'; type: 'publicKey'; }, { name: 'rateLimitAdmin'; type: 'publicKey'; }, { name: 'routerOnrampAuthority'; type: 'publicKey'; }, { name: 'router'; type: 'publicKey'; }, { name: 'rebalancer'; type: 'publicKey'; }, { name: 'canAcceptLiquidity'; type: 'bool'; }, { name: 'listEnabled'; type: 'bool'; }, { name: 'allowList'; type: { vec: 'publicKey'; }; }, { name: 'rmnRemote'; type: 'publicKey'; } ]; }; }, { name: 'BaseChain'; type: { kind: 'struct'; fields: [ { name: 'remote'; type: { defined: 'RemoteConfig'; }; }, { name: 'inboundRateLimit'; type: { defined: 'RateLimitTokenBucket'; }; }, { name: 'outboundRateLimit'; type: { defined: 'RateLimitTokenBucket'; }; } ]; }; }, { name: 'RemoteConfig'; type: { kind: 'struct'; fields: [ { name: 'poolAddresses'; type: { vec: { defined: 'RemoteAddress'; }; }; }, { name: 'tokenAddress'; type: { defined: 'RemoteAddress'; }; }, { name: 'decimals'; type: 'u8'; } ]; }; }, { name: 'RemoteAddress'; type: { kind: 'struct'; fields: [ { name: 'address'; type: 'bytes'; } ]; }; }, { name: 'LockOrBurnInV1'; type: { kind: 'struct'; fields: [ { name: 'receiver'; type: 'bytes'; }, { name: 'remoteChainSelector'; type: 'u64'; }, { name: 'originalSender'; type: 'publicKey'; }, { name: 'amount'; type: 'u64'; }, { name: 'localToken'; type: 'publicKey'; }, { name: 'msgTotalNonce'; type: 'u64'; } ]; }; }, { name: 'LockOrBurnOutV1'; type: { kind: 'struct'; fields: [ { name: 'destTokenAddress'; type: { defined: 'RemoteAddress'; }; }, { name: 'destPoolData'; type: 'bytes'; } ]; }; }, { name: 'ReleaseOrMintInV1'; type: { kind: 'struct'; fields: [ { name: 'originalSender'; type: { defined: 'RemoteAddress'; }; }, { name: 'remoteChainSelector'; type: 'u64'; }, { name: 'receiver'; type: 'publicKey'; }, { name: 'amount'; type: { array: ['u8', 32]; }; }, { name: 'localToken'; type: 'publicKey'; }, { name: 'sourcePoolAddress'; docs: [ '@dev WARNING: sourcePoolAddress should be checked prior to any processing of funds. Make sure it matches the', 'expected pool address for the given remoteChainSelector.' ]; type: { defined: 'RemoteAddress'; }; }, { name: 'sourcePoolData'; type: 'bytes'; }, { name: 'offchainTokenData'; docs: ['@dev WARNING: offchainTokenData is untrusted data.']; type: 'bytes'; } ]; }; }, { name: 'ReleaseOrMintOutV1'; type: { kind: 'struct'; fields: [ { name: 'destinationAmount'; type: 'u64'; } ]; }; }, { name: 'DeriveAccountsResponse'; type: { kind: 'struct'; fields: [ { name: 'askAgainWith'; type: { vec: { defined: 'CcipAccountMeta'; }; }; }, { name: 'accountsToSave'; type: { vec: { defined: 'CcipAccountMeta'; }; }; }, { name: 'lookUpTablesToSave'; type: { vec: 'publicKey'; }; }, { name: 'currentStage'; type: 'string'; }, { name: 'nextStage'; type: 'string'; } ]; }; }, { name: 'CcipAccountMeta'; type: { kind: 'struct'; fields: [ { name: 'pubkey'; type: 'publicKey'; }, { name: 'isSigner'; type: 'bool'; }, { name: 'isWritable'; type: 'bool'; } ]; }; }, { name: 'RateLimitTokenBucket'; type: { kind: 'struct'; fields: [ { name: 'tokens'; type: 'u64'; }, { name: 'lastUpdated'; type: 'u64'; }, { name: 'cfg'; type: { defined: 'RateLimitConfig'; }; } ]; }; }, { name: 'RateLimitConfig'; type: { kind: 'struct'; fields: [ { name: 'enabled'; type: 'bool'; }, { name: 'capacity'; type: 'u64'; }, { name: 'rate'; type: 'u64'; } ]; }; } ]; events: [ { name: 'GlobalConfigUpdated'; fields: [ { name: 'selfServedAllowed'; type: 'bool'; index: false; }, { name: 'router'; type: 'publicKey'; index: false; }, { name: 'rmnRemote'; type: 'publicKey'; index: false; } ]; }, { name: 'Burned'; fields: [ { name: 'sender'; type: 'publicKey'; index: false; }, { name: 'amount'; type: 'u64'; index: false; }, { name: 'mint'; type: 'publicKey'; index: false; } ]; }, { name: 'Minted'; fields: [ { name: 'sender'; type: 'publicKey'; index: false; }, { name: 'recipient'; type: 'publicKey'; index: false; }, { name: 'amount'; type: 'u64'; index: false; }, { name: 'mint'; type: 'publicKey'; index: false; } ]; }, { name: 'Locked'; fields: [ { name: 'sender'; type: 'publicKey'; index: false; }, { name: 'amount'; type: 'u64'; index: false; }, { name: 'mint'; type: 'publicKey'; index: false; } ]; }, { name: 'Released'; fields: [ { name: 'sender'; type: 'publicKey'; index: false; }, { name: 'recipient'; type: 'publicKey'; index: false; }, { name: 'amount'; type: 'u64'; index: false; }, { name: 'mint'; type: 'publicKey'; index: false; } ]; }, { name: 'RemoteChainConfigured'; fields: [ { name: 'chainSelector'; type: 'u64'; index: false; }, { name: 'token'; type: { defined: 'RemoteAddress'; }; index: false; }, { name: 'previousToken'; type: { defined: 'RemoteAddress'; }; index: false; }, { name: 'poolAddresses'; type: { vec: { defined: 'RemoteAddress'; }; }; index: false; }, { name: 'previousPoolAddresses'; type: { vec: { defined: 'RemoteAddress'; }; }; index: false; }, { name: 'mint'; type: 'publicKey'; index: false; } ]; }, { name: 'RateLimitConfigured'; fields: [ { name: 'chainSelector'; type: 'u64'; index: false; }, { name: 'outboundRateLimit'; type: { defined: 'RateLimitConfig'; }; index: false; }, { name: 'inboundRateLimit'; type: { defined: 'RateLimitConfig'; }; index: false; }, { name: 'mint'; type: 'publicKey'; index: false; } ]; }, { name: 'RemotePoolsAppended'; fields: [ { name: 'chainSelector'; type: 'u64'; index: false; }, { name: 'poolAddresses'; type: { vec: { defined: 'RemoteAddress'; }; }; index: false; }, { name: 'previousPoolAddresses'; type: { vec: { defined: 'RemoteAddress'; }; }; index: false; }, { name: 'mint'; type: 'publicKey'; index: false; } ]; }, { name: 'RemoteChainRemoved'; fields: [ { name: 'chainSelector'; type: 'u64'; index: false; }, { name: 'mint'; type: 'publicKey'; index: false; } ]; }, { name: 'RouterUpdated'; fields: [ { name: 'oldRouter'; type: 'publicKey'; index: false; }, { name: 'newRouter'; type: 'publicKey'; index: false; }, { name: 'mint'; type: 'publicKey'; index: false; } ]; }, { name: 'RmnRemoteUpdated'; fields: [ { name: 'oldRmnRemote'; type: 'publicKey'; index: false; }, { name: 'newRmnRemote'; type: 'publicKey'; index: false; }, { name: 'mint'; type: 'publicKey'; index: false; } ]; }, { name: 'RateLimitAdminSet'; fields: [ { name: 'mint'; type: 'publicKey'; index: false; }, { name: 'oldRateLimitAdmin'; type: 'publicKey'; index: false; }, { name: 'newRateLimitAdmin'; type: 'publicKey'; index: false; } ]; }, { name: 'OwnershipTransferRequested'; fields: [ { name: 'from'; type: 'publicKey'; index: false; }, { name: 'to'; type: 'publicKey'; index: false; }, { name: 'mint'; type: 'publicKey'; index: false; } ]; }, { name: 'TokenPoolInitialized'; fields: [ { name: 'mint'; type: 'publicKey'; index: false; }, { name: 'tokenProgram'; type: 'publicKey'; index: false; }, { name: 'owner'; type: 'publicKey'; index: false; } ]; }, { name: 'OwnershipTransferred'; fields: [ { name: 'from'; type: 'publicKey'; index: false; }, { name: 'to'; type: 'publicKey'; index: false; }, { name: 'mint'; type: 'publicKey'; index: false; } ]; }, { name: 'MintAuthorityTransferred'; fields: [ { name: 'mint'; type: 'publicKey'; index: false; }, { name: 'oldMintAuthority'; type: 'publicKey'; index: false; }, { name: 'newMintAuthority'; type: 'publicKey'; index: false; } ]; }, { name: 'TokensConsumed'; fields: [ { name: 'tokens'; type: 'u64'; index: false; } ]; }, { name: 'ConfigChanged'; fields: [ { name: 'config'; type: { defined: 'RateLimitConfig'; }; index: false; } ]; } ]; errors: [ { code: 6000; name: 'InvalidInitPoolPermissions'; msg: 'Pool authority does not match token mint owner'; }, { code: 6001; name: 'InvalidRMNRemoteAddress'; msg: 'Invalid RMN Remote Address'; }, { code: 6002; name: 'Unauthorized'; msg: 'Unauthorized'; }, { code: 6003; name: 'InvalidInputs'; msg: 'Invalid inputs'; }, { code: 6004; name: 'InvalidVersion'; msg: 'Invalid state version'; }, { code: 6005; name: 'InvalidPoolCaller'; msg: 'Caller is not ramp on router'; }, { code: 6006; name: 'InvalidSender'; msg: 'Sender not allowed'; }, { code: 6007; name: 'InvalidSourcePoolAddress'; msg: 'Invalid source pool address'; }, { code: 6008; name: 'InvalidToken'; msg: 'Invalid token'; }, { code: 6009; name: 'InvalidTokenAmountConversion'; msg: 'Invalid token amount conversion'; }, { code: 6010; name: 'AllowlistKeyAlreadyExisted'; msg: 'Key already existed in the allowlist'; }, { code: 6011; name: 'AllowlistKeyDidNotExist'; msg: 'Key did not exist in the allowlist'; }, { code: 6012; name: 'RemotePoolAddressAlreadyExisted'; msg: 'Remote pool address already exists'; }, { code: 6013; name: 'NonemptyPoolAddressesInit'; msg: 'Expected empty pool addresses during initialization'; }, { code: 6014; name: 'InvalidDerivationStage'; msg: 'Unexpected account derivation stage'; }, { code: 6015; name: 'RLBucketOverfilled'; msg: 'RateLimit: bucket overfilled'; }, { code: 6016; name: 'RLMaxCapacityExceeded'; msg: 'RateLimit: max capacity exceeded'; }, { code: 6017; name: 'RLRateLimitReached'; msg: 'RateLimit: rate limit reached'; }, { code: 6018; name: 'RLInvalidRateLimitRate'; msg: 'RateLimit: invalid rate limit rate'; }, { code: 6019; name: 'RLDisabledNonZeroRateLimit'; msg: 'RateLimit: disabled non-zero rate limit'; }, { code: 6020; name: 'LiquidityNotAccepted'; msg: 'Liquidity not accepted'; }, { code: 6021; name: 'TransferZeroTokensNotAllowed'; msg: 'Transferring zero tokens is not allowed'; } ]; }; export declare const IDL: BaseTokenPool; //# sourceMappingURL=BASE_TOKEN_POOL.d.ts.map