UNPKG

@wormhole-foundation/sdk-solana-cctp

Version:

SDK for Solana, used in conjunction with @wormhole-foundation/sdk

1,762 lines 49.2 kB
export type TokenMessenger = { version: '0.1.0'; name: 'token_messenger_minter'; instructions: [ { name: 'initialize'; accounts: [ { name: 'payer'; isMut: true; isSigner: true; }, { name: 'upgradeAuthority'; isMut: false; isSigner: true; }, { name: 'authorityPda'; isMut: false; isSigner: false; }, { name: 'tokenMessenger'; isMut: true; isSigner: false; }, { name: 'tokenMinter'; isMut: true; isSigner: false; }, { name: 'tokenMessengerMinterProgramData'; isMut: false; isSigner: false; }, { name: 'tokenMessengerMinterProgram'; isMut: false; isSigner: false; }, { name: 'systemProgram'; isMut: false; isSigner: false; }, { name: 'eventAuthority'; isMut: false; isSigner: false; }, { name: 'program'; isMut: false; isSigner: false; } ]; args: [ { name: 'params'; type: { defined: 'InitializeParams'; }; } ]; }, { name: 'transferOwnership'; accounts: [ { name: 'owner'; isMut: false; isSigner: true; }, { name: 'tokenMessenger'; isMut: true; isSigner: false; }, { name: 'eventAuthority'; isMut: false; isSigner: false; }, { name: 'program'; isMut: false; isSigner: false; } ]; args: [ { name: 'params'; type: { defined: 'TransferOwnershipParams'; }; } ]; }, { name: 'acceptOwnership'; accounts: [ { name: 'pendingOwner'; isMut: false; isSigner: true; }, { name: 'tokenMessenger'; isMut: true; isSigner: false; }, { name: 'eventAuthority'; isMut: false; isSigner: false; }, { name: 'program'; isMut: false; isSigner: false; } ]; args: [ { name: 'params'; type: { defined: 'AcceptOwnershipParams'; }; } ]; }, { name: 'addRemoteTokenMessenger'; accounts: [ { name: 'payer'; isMut: true; isSigner: true; }, { name: 'owner'; isMut: false; isSigner: true; }, { name: 'tokenMessenger'; isMut: false; isSigner: false; }, { name: 'remoteTokenMessenger'; isMut: true; isSigner: false; }, { name: 'systemProgram'; isMut: false; isSigner: false; }, { name: 'eventAuthority'; isMut: false; isSigner: false; }, { name: 'program'; isMut: false; isSigner: false; } ]; args: [ { name: 'params'; type: { defined: 'AddRemoteTokenMessengerParams'; }; } ]; }, { name: 'removeRemoteTokenMessenger'; accounts: [ { name: 'payee'; isMut: true; isSigner: true; }, { name: 'owner'; isMut: false; isSigner: true; }, { name: 'tokenMessenger'; isMut: false; isSigner: false; }, { name: 'remoteTokenMessenger'; isMut: true; isSigner: false; }, { name: 'eventAuthority'; isMut: false; isSigner: false; }, { name: 'program'; isMut: false; isSigner: false; } ]; args: [ { name: 'params'; type: { defined: 'RemoveRemoteTokenMessengerParams'; }; } ]; }, { name: 'depositForBurn'; accounts: [ { name: 'owner'; isMut: false; isSigner: true; }, { name: 'eventRentPayer'; isMut: true; isSigner: true; }, { name: 'senderAuthorityPda'; isMut: false; isSigner: false; }, { name: 'burnTokenAccount'; isMut: true; isSigner: false; }, { name: 'messageTransmitter'; isMut: true; isSigner: false; }, { name: 'tokenMessenger'; isMut: false; isSigner: false; }, { name: 'remoteTokenMessenger'; isMut: false; isSigner: false; }, { name: 'tokenMinter'; isMut: false; isSigner: false; }, { name: 'localToken'; isMut: true; isSigner: false; }, { name: 'burnTokenMint'; isMut: true; isSigner: false; }, { name: 'messageSentEventData'; isMut: true; isSigner: true; }, { name: 'messageTransmitterProgram'; isMut: false; isSigner: false; }, { name: 'tokenMessengerMinterProgram'; isMut: false; isSigner: false; }, { name: 'tokenProgram'; isMut: false; isSigner: false; }, { name: 'systemProgram'; isMut: false; isSigner: false; }, { name: 'eventAuthority'; isMut: false; isSigner: false; }, { name: 'program'; isMut: false; isSigner: false; } ]; args: [ { name: 'params'; type: { defined: 'DepositForBurnParams'; }; } ]; returns: 'u64'; }, { name: 'depositForBurnWithCaller'; accounts: [ { name: 'owner'; isMut: false; isSigner: true; }, { name: 'eventRentPayer'; isMut: true; isSigner: true; }, { name: 'senderAuthorityPda'; isMut: false; isSigner: false; }, { name: 'burnTokenAccount'; isMut: true; isSigner: false; }, { name: 'messageTransmitter'; isMut: true; isSigner: false; }, { name: 'tokenMessenger'; isMut: false; isSigner: false; }, { name: 'remoteTokenMessenger'; isMut: false; isSigner: false; }, { name: 'tokenMinter'; isMut: false; isSigner: false; }, { name: 'localToken'; isMut: true; isSigner: false; }, { name: 'burnTokenMint'; isMut: true; isSigner: false; }, { name: 'messageSentEventData'; isMut: true; isSigner: true; }, { name: 'messageTransmitterProgram'; isMut: false; isSigner: false; }, { name: 'tokenMessengerMinterProgram'; isMut: false; isSigner: false; }, { name: 'tokenProgram'; isMut: false; isSigner: false; }, { name: 'systemProgram'; isMut: false; isSigner: false; }, { name: 'eventAuthority'; isMut: false; isSigner: false; }, { name: 'program'; isMut: false; isSigner: false; } ]; args: [ { name: 'params'; type: { defined: 'DepositForBurnWithCallerParams'; }; } ]; returns: 'u64'; }, { name: 'replaceDepositForBurn'; accounts: [ { name: 'owner'; isMut: false; isSigner: true; }, { name: 'eventRentPayer'; isMut: true; isSigner: true; }, { name: 'senderAuthorityPda'; isMut: false; isSigner: false; }, { name: 'messageTransmitter'; isMut: true; isSigner: false; }, { name: 'tokenMessenger'; isMut: false; isSigner: false; }, { name: 'messageSentEventData'; isMut: true; isSigner: true; }, { name: 'messageTransmitterProgram'; isMut: false; isSigner: false; }, { name: 'tokenMessengerMinterProgram'; isMut: false; isSigner: false; }, { name: 'systemProgram'; isMut: false; isSigner: false; }, { name: 'eventAuthority'; isMut: false; isSigner: false; }, { name: 'program'; isMut: false; isSigner: false; } ]; args: [ { name: 'params'; type: { defined: 'ReplaceDepositForBurnParams'; }; } ]; returns: 'u64'; }, { name: 'handleReceiveMessage'; accounts: [ { name: 'authorityPda'; isMut: false; isSigner: true; }, { name: 'tokenMessenger'; isMut: false; isSigner: false; }, { name: 'remoteTokenMessenger'; isMut: false; isSigner: false; }, { name: 'tokenMinter'; isMut: false; isSigner: false; }, { name: 'localToken'; isMut: true; isSigner: false; }, { name: 'tokenPair'; isMut: false; isSigner: false; }, { name: 'recipientTokenAccount'; isMut: true; isSigner: false; }, { name: 'custodyTokenAccount'; isMut: true; isSigner: false; }, { name: 'tokenProgram'; isMut: false; isSigner: false; }, { name: 'eventAuthority'; isMut: false; isSigner: false; }, { name: 'program'; isMut: false; isSigner: false; } ]; args: [ { name: 'params'; type: { defined: 'HandleReceiveMessageParams'; }; } ]; }, { name: 'setTokenController'; accounts: [ { name: 'owner'; isMut: false; isSigner: true; }, { name: 'tokenMessenger'; isMut: false; isSigner: false; }, { name: 'tokenMinter'; isMut: true; isSigner: false; }, { name: 'eventAuthority'; isMut: false; isSigner: false; }, { name: 'program'; isMut: false; isSigner: false; } ]; args: [ { name: 'params'; type: { defined: 'SetTokenControllerParams'; }; } ]; }, { name: 'pause'; accounts: [ { name: 'pauser'; isMut: false; isSigner: true; }, { name: 'tokenMinter'; isMut: true; isSigner: false; }, { name: 'eventAuthority'; isMut: false; isSigner: false; }, { name: 'program'; isMut: false; isSigner: false; } ]; args: [ { name: 'params'; type: { defined: 'PauseParams'; }; } ]; }, { name: 'unpause'; accounts: [ { name: 'pauser'; isMut: false; isSigner: true; }, { name: 'tokenMinter'; isMut: true; isSigner: false; }, { name: 'eventAuthority'; isMut: false; isSigner: false; }, { name: 'program'; isMut: false; isSigner: false; } ]; args: [ { name: 'params'; type: { defined: 'UnpauseParams'; }; } ]; }, { name: 'updatePauser'; accounts: [ { name: 'owner'; isMut: false; isSigner: true; }, { name: 'tokenMessenger'; isMut: false; isSigner: false; }, { name: 'tokenMinter'; isMut: true; isSigner: false; }, { name: 'eventAuthority'; isMut: false; isSigner: false; }, { name: 'program'; isMut: false; isSigner: false; } ]; args: [ { name: 'params'; type: { defined: 'UpdatePauserParams'; }; } ]; }, { name: 'setMaxBurnAmountPerMessage'; accounts: [ { name: 'tokenController'; isMut: false; isSigner: true; }, { name: 'tokenMinter'; isMut: false; isSigner: false; }, { name: 'localToken'; isMut: true; isSigner: false; }, { name: 'eventAuthority'; isMut: false; isSigner: false; }, { name: 'program'; isMut: false; isSigner: false; } ]; args: [ { name: 'params'; type: { defined: 'SetMaxBurnAmountPerMessageParams'; }; } ]; }, { name: 'addLocalToken'; accounts: [ { name: 'payer'; isMut: true; isSigner: true; }, { name: 'tokenController'; isMut: false; isSigner: true; }, { name: 'tokenMinter'; isMut: false; isSigner: false; }, { name: 'localToken'; isMut: true; isSigner: false; }, { name: 'custodyTokenAccount'; isMut: true; isSigner: false; }, { name: 'localTokenMint'; isMut: false; isSigner: false; }, { name: 'tokenProgram'; isMut: false; isSigner: false; }, { name: 'systemProgram'; isMut: false; isSigner: false; }, { name: 'eventAuthority'; isMut: false; isSigner: false; }, { name: 'program'; isMut: false; isSigner: false; } ]; args: [ { name: 'params'; type: { defined: 'AddLocalTokenParams'; }; } ]; }, { name: 'removeLocalToken'; accounts: [ { name: 'payee'; isMut: true; isSigner: true; }, { name: 'tokenController'; isMut: false; isSigner: true; }, { name: 'tokenMinter'; isMut: false; isSigner: false; }, { name: 'localToken'; isMut: true; isSigner: false; }, { name: 'custodyTokenAccount'; isMut: true; isSigner: false; }, { name: 'tokenProgram'; isMut: false; isSigner: false; }, { name: 'eventAuthority'; isMut: false; isSigner: false; }, { name: 'program'; isMut: false; isSigner: false; } ]; args: [ { name: 'params'; type: { defined: 'RemoveLocalTokenParams'; }; } ]; }, { name: 'linkTokenPair'; accounts: [ { name: 'payer'; isMut: true; isSigner: true; }, { name: 'tokenController'; isMut: false; isSigner: true; }, { name: 'tokenMinter'; isMut: false; isSigner: false; }, { name: 'tokenPair'; isMut: true; isSigner: false; }, { name: 'systemProgram'; isMut: false; isSigner: false; }, { name: 'eventAuthority'; isMut: false; isSigner: false; }, { name: 'program'; isMut: false; isSigner: false; } ]; args: [ { name: 'params'; type: { defined: 'LinkTokenPairParams'; }; } ]; }, { name: 'unlinkTokenPair'; accounts: [ { name: 'payee'; isMut: true; isSigner: true; }, { name: 'tokenController'; isMut: false; isSigner: true; }, { name: 'tokenMinter'; isMut: false; isSigner: false; }, { name: 'tokenPair'; isMut: true; isSigner: false; }, { name: 'eventAuthority'; isMut: false; isSigner: false; }, { name: 'program'; isMut: false; isSigner: false; } ]; args: [ { name: 'params'; type: { defined: 'UninkTokenPairParams'; }; } ]; }, { name: 'burnTokenCustody'; accounts: [ { name: 'payee'; isMut: true; isSigner: true; }, { name: 'tokenController'; isMut: false; isSigner: true; }, { name: 'tokenMinter'; isMut: false; isSigner: false; }, { name: 'localToken'; isMut: false; isSigner: false; }, { name: 'custodyTokenAccount'; isMut: true; isSigner: false; }, { name: 'custodyTokenMint'; isMut: true; isSigner: false; }, { name: 'tokenProgram'; isMut: false; isSigner: false; }, { name: 'eventAuthority'; isMut: false; isSigner: false; }, { name: 'program'; isMut: false; isSigner: false; } ]; args: [ { name: 'params'; type: { defined: 'BurnTokenCustodyParams'; }; } ]; } ]; accounts: [ { name: 'tokenMessenger'; type: { kind: 'struct'; fields: [ { name: 'owner'; type: 'publicKey'; }, { name: 'pendingOwner'; type: 'publicKey'; }, { name: 'localMessageTransmitter'; type: 'publicKey'; }, { name: 'messageBodyVersion'; type: 'u32'; }, { name: 'authorityBump'; type: 'u8'; } ]; }; }, { name: 'remoteTokenMessenger'; type: { kind: 'struct'; fields: [ { name: 'domain'; type: 'u32'; }, { name: 'tokenMessenger'; type: 'publicKey'; } ]; }; }, { name: 'tokenMinter'; type: { kind: 'struct'; fields: [ { name: 'tokenController'; type: 'publicKey'; }, { name: 'pauser'; type: 'publicKey'; }, { name: 'paused'; type: 'bool'; }, { name: 'bump'; type: 'u8'; } ]; }; }, { name: 'tokenPair'; type: { kind: 'struct'; fields: [ { name: 'remoteDomain'; type: 'u32'; }, { name: 'remoteToken'; type: 'publicKey'; }, { name: 'localToken'; type: 'publicKey'; }, { name: 'bump'; type: 'u8'; } ]; }; }, { name: 'localToken'; type: { kind: 'struct'; fields: [ { name: 'custody'; type: 'publicKey'; }, { name: 'mint'; type: 'publicKey'; }, { name: 'burnLimitPerMessage'; type: 'u64'; }, { name: 'messagesSent'; type: 'u64'; }, { name: 'messagesReceived'; type: 'u64'; }, { name: 'amountSent'; type: 'u128'; }, { name: 'amountReceived'; type: 'u128'; }, { name: 'bump'; type: 'u8'; }, { name: 'custodyBump'; type: 'u8'; } ]; }; } ]; types: [ { name: 'AcceptOwnershipParams'; type: { kind: 'struct'; fields: []; }; }, { name: 'AddRemoteTokenMessengerParams'; type: { kind: 'struct'; fields: [ { name: 'domain'; type: 'u32'; }, { name: 'tokenMessenger'; type: 'publicKey'; } ]; }; }, { name: 'DepositForBurnWithCallerParams'; type: { kind: 'struct'; fields: [ { name: 'amount'; type: 'u64'; }, { name: 'destinationDomain'; type: 'u32'; }, { name: 'mintRecipient'; type: 'publicKey'; }, { name: 'destinationCaller'; type: 'publicKey'; } ]; }; }, { name: 'DepositForBurnParams'; type: { kind: 'struct'; fields: [ { name: 'amount'; type: 'u64'; }, { name: 'destinationDomain'; type: 'u32'; }, { name: 'mintRecipient'; type: 'publicKey'; } ]; }; }, { name: 'HandleReceiveMessageParams'; type: { kind: 'struct'; fields: [ { name: 'remoteDomain'; type: 'u32'; }, { name: 'sender'; type: 'publicKey'; }, { name: 'messageBody'; type: 'bytes'; }, { name: 'authorityBump'; type: 'u8'; } ]; }; }, { name: 'InitializeParams'; type: { kind: 'struct'; fields: [ { name: 'tokenController'; type: 'publicKey'; }, { name: 'localMessageTransmitter'; type: 'publicKey'; }, { name: 'messageBodyVersion'; type: 'u32'; } ]; }; }, { name: 'RemoveRemoteTokenMessengerParams'; type: { kind: 'struct'; fields: []; }; }, { name: 'ReplaceDepositForBurnParams'; type: { kind: 'struct'; fields: [ { name: 'originalMessage'; type: 'bytes'; }, { name: 'originalAttestation'; type: 'bytes'; }, { name: 'newDestinationCaller'; type: 'publicKey'; }, { name: 'newMintRecipient'; type: 'publicKey'; } ]; }; }, { name: 'TransferOwnershipParams'; type: { kind: 'struct'; fields: [ { name: 'newOwner'; type: 'publicKey'; } ]; }; }, { name: 'AddLocalTokenParams'; type: { kind: 'struct'; fields: []; }; }, { name: 'BurnTokenCustodyParams'; type: { kind: 'struct'; fields: [ { name: 'amount'; type: 'u64'; } ]; }; }, { name: 'LinkTokenPairParams'; type: { kind: 'struct'; fields: [ { name: 'localToken'; type: 'publicKey'; }, { name: 'remoteDomain'; type: 'u32'; }, { name: 'remoteToken'; type: 'publicKey'; } ]; }; }, { name: 'PauseParams'; type: { kind: 'struct'; fields: []; }; }, { name: 'RemoveLocalTokenParams'; type: { kind: 'struct'; fields: []; }; }, { name: 'SetMaxBurnAmountPerMessageParams'; type: { kind: 'struct'; fields: [ { name: 'burnLimitPerMessage'; type: 'u64'; } ]; }; }, { name: 'SetTokenControllerParams'; type: { kind: 'struct'; fields: [ { name: 'tokenController'; type: 'publicKey'; } ]; }; }, { name: 'UninkTokenPairParams'; type: { kind: 'struct'; fields: []; }; }, { name: 'UnpauseParams'; type: { kind: 'struct'; fields: []; }; }, { name: 'UpdatePauserParams'; type: { kind: 'struct'; fields: [ { name: 'newPauser'; type: 'publicKey'; } ]; }; }, { name: 'TokenMinterError'; type: { kind: 'enum'; variants: [ { name: 'InvalidAuthority'; }, { name: 'InvalidTokenMinterState'; }, { name: 'ProgramPaused'; }, { name: 'InvalidTokenPairState'; }, { name: 'InvalidLocalTokenState'; }, { name: 'InvalidPauser'; }, { name: 'InvalidTokenController'; }, { name: 'BurnAmountExceeded'; }, { name: 'InvalidAmount'; } ]; }; } ]; events: [ { name: 'OwnershipTransferStarted'; fields: [ { name: 'previousOwner'; type: 'publicKey'; index: false; }, { name: 'newOwner'; type: 'publicKey'; index: false; } ]; }, { name: 'OwnershipTransferred'; fields: [ { name: 'previousOwner'; type: 'publicKey'; index: false; }, { name: 'newOwner'; type: 'publicKey'; index: false; } ]; }, { name: 'DepositForBurn'; fields: [ { name: 'nonce'; type: 'u64'; index: false; }, { name: 'burnToken'; type: 'publicKey'; index: false; }, { name: 'amount'; type: 'u64'; index: false; }, { name: 'depositor'; type: 'publicKey'; index: false; }, { name: 'mintRecipient'; type: 'publicKey'; index: false; }, { name: 'destinationDomain'; type: 'u32'; index: false; }, { name: 'destinationTokenMessenger'; type: 'publicKey'; index: false; }, { name: 'destinationCaller'; type: 'publicKey'; index: false; } ]; }, { name: 'MintAndWithdraw'; fields: [ { name: 'mintRecipient'; type: 'publicKey'; index: false; }, { name: 'amount'; type: 'u64'; index: false; }, { name: 'mintToken'; type: 'publicKey'; index: false; } ]; }, { name: 'RemoteTokenMessengerAdded'; fields: [ { name: 'domain'; type: 'u32'; index: false; }, { name: 'tokenMessenger'; type: 'publicKey'; index: false; } ]; }, { name: 'RemoteTokenMessengerRemoved'; fields: [ { name: 'domain'; type: 'u32'; index: false; }, { name: 'tokenMessenger'; type: 'publicKey'; index: false; } ]; }, { name: 'SetTokenController'; fields: [ { name: 'tokenController'; type: 'publicKey'; index: false; } ]; }, { name: 'PauserChanged'; fields: [ { name: 'newAddress'; type: 'publicKey'; index: false; } ]; }, { name: 'SetBurnLimitPerMessage'; fields: [ { name: 'token'; type: 'publicKey'; index: false; }, { name: 'burnLimitPerMessage'; type: 'u64'; index: false; } ]; }, { name: 'LocalTokenAdded'; fields: [ { name: 'custody'; type: 'publicKey'; index: false; }, { name: 'mint'; type: 'publicKey'; index: false; } ]; }, { name: 'LocalTokenRemoved'; fields: [ { name: 'custody'; type: 'publicKey'; index: false; }, { name: 'mint'; type: 'publicKey'; index: false; } ]; }, { name: 'TokenPairLinked'; fields: [ { name: 'localToken'; type: 'publicKey'; index: false; }, { name: 'remoteDomain'; type: 'u32'; index: false; }, { name: 'remoteToken'; type: 'publicKey'; index: false; } ]; }, { name: 'TokenPairUnlinked'; fields: [ { name: 'localToken'; type: 'publicKey'; index: false; }, { name: 'remoteDomain'; type: 'u32'; index: false; }, { name: 'remoteToken'; type: 'publicKey'; index: false; } ]; }, { name: 'Pause'; fields: []; }, { name: 'Unpause'; fields: []; }, { name: 'TokenCustodyBurned'; fields: [ { name: 'custodyTokenAccount'; type: 'publicKey'; index: false; }, { name: 'amount'; type: 'u64'; index: false; } ]; } ]; errors: [ { code: 6000; name: 'InvalidAuthority'; msg: 'Invalid authority'; }, { code: 6001; name: 'InvalidTokenMessengerState'; msg: 'Invalid token messenger state'; }, { code: 6002; name: 'InvalidTokenMessenger'; msg: 'Invalid token messenger'; }, { code: 6003; name: 'InvalidOwner'; msg: 'Invalid owner'; }, { code: 6004; name: 'MalformedMessage'; msg: 'Malformed message'; }, { code: 6005; name: 'InvalidMessageBodyVersion'; msg: 'Invalid message body version'; }, { code: 6006; name: 'InvalidAmount'; msg: 'Invalid amount'; }, { code: 6007; name: 'InvalidDestinationDomain'; msg: 'Invalid destination domain'; }, { code: 6008; name: 'InvalidDestinationCaller'; msg: 'Invalid destination caller'; }, { code: 6009; name: 'InvalidMintRecipient'; msg: 'Invalid mint recipient'; }, { code: 6010; name: 'InvalidSender'; msg: 'Invalid sender'; }, { code: 6011; name: 'InvalidTokenPair'; msg: 'Invalid token pair'; }, { code: 6012; name: 'InvalidTokenMint'; msg: 'Invalid token mint'; } ]; }; export declare const TokenMessengerIdl: TokenMessenger; //# sourceMappingURL=tokenMessenger.d.ts.map