UNPKG

@wormhole-foundation/sdk-solana-cctp

Version:

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

1,761 lines 49.2 kB
export const TokenMessengerIdl = { 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', }, ], }; //# sourceMappingURL=tokenMessenger.js.map