fsl-js-sdk
Version:
sdk for web
367 lines (366 loc) • 10 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.default = {
version: '0.1.0',
name: 'token_claimer',
instructions: [
{
name: 'initialize',
docs: ['Initialize the program state.'],
accounts: [
{
name: 'state',
isMut: true,
isSigner: true,
},
{
name: 'owner',
isMut: true,
isSigner: true,
},
{
name: 'systemProgram',
isMut: false,
isSigner: false,
},
],
args: [
{
name: 'claimSigner',
type: 'publicKey',
},
],
},
{
name: 'expandBitmap',
docs: ['Expands the bitmap by 10_000 bytes (80_000 bits).'],
accounts: [
{
name: 'state',
isMut: true,
isSigner: false,
},
{
name: 'owner',
isMut: false,
isSigner: true,
},
{
name: 'systemProgram',
isMut: false,
isSigner: false,
},
],
args: [],
},
{
name: 'setClaimSigner',
docs: ['Update the claim signer (only callable by the program owner).'],
accounts: [
{
name: 'state',
isMut: true,
isSigner: false,
},
{
name: 'owner',
isMut: false,
isSigner: true,
},
],
args: [
{
name: 'newClaimSigner',
type: 'publicKey',
},
],
},
{
name: 'transferOwnership',
docs: ['Transfer ownership of the program.'],
accounts: [
{
name: 'state',
isMut: true,
isSigner: false,
},
{
name: 'owner',
isMut: false,
isSigner: true,
},
],
args: [
{
name: 'newOwner',
type: 'publicKey',
},
],
},
{
name: 'claim',
docs: ['Process a claim for tokens with a valid signature.'],
accounts: [
{
name: 'state',
isMut: true,
isSigner: false,
},
{
name: 'sourceTokenAccount',
isMut: true,
isSigner: false,
},
{
name: 'destinationTokenAccount',
isMut: true,
isSigner: false,
},
{
name: 'delegate',
isMut: false,
isSigner: false,
},
{
name: 'claimer',
isMut: false,
isSigner: true,
},
{
name: 'tokenProgram',
isMut: false,
isSigner: false,
},
{
name: 'ixSysvar',
isMut: false,
isSigner: false,
docs: [
'the supplied Sysvar could be anything else.',
'The Instruction Sysvar has not been implemented',
'in the Anchor framework yet, so this is the safe approach.',
],
},
],
args: [
{
name: 'claimIndex',
type: 'u64',
},
{
name: 'amount',
type: 'u64',
},
{
name: 'timestamp',
type: 'i64',
},
{
name: 'signature',
type: {
array: ['u8', 64],
},
},
],
},
{
name: 'withdraw',
docs: [
"Withdraw SPL tokens from the program's token account (only callable by the owner).",
],
accounts: [
{
name: 'state',
isMut: true,
isSigner: false,
},
{
name: 'sourceTokenAccount',
isMut: true,
isSigner: false,
},
{
name: 'destinationTokenAccount',
isMut: true,
isSigner: false,
},
{
name: 'delegate',
isMut: false,
isSigner: false,
},
{
name: 'owner',
isMut: false,
isSigner: true,
},
{
name: 'tokenProgram',
isMut: false,
isSigner: false,
},
],
args: [
{
name: 'amount',
type: 'u64',
},
],
},
{
name: 'approveDelegate',
accounts: [
{
name: 'tokenAccount',
isMut: true,
isSigner: false,
},
{
name: 'delegate',
isMut: false,
isSigner: false,
},
{
name: 'authority',
isMut: false,
isSigner: true,
},
{
name: 'tokenProgram',
isMut: false,
isSigner: false,
},
],
args: [
{
name: 'amount',
type: 'u64',
},
],
},
],
accounts: [
{
name: 'State',
type: {
kind: 'struct',
fields: [
{
name: 'owner',
type: 'publicKey',
},
{
name: 'claimSigner',
type: 'publicKey',
},
{
name: 'claimedBitmap',
type: 'bytes',
},
],
},
},
],
events: [
{
name: 'ClaimProcessed',
fields: [
{
name: 'claimer',
type: 'publicKey',
index: false,
},
{
name: 'claimIndex',
type: 'u64',
index: false,
},
{
name: 'amount',
type: 'u64',
index: false,
},
],
},
{
name: 'OwnershipTransferred',
fields: [
{
name: 'previousOwner',
type: 'publicKey',
index: false,
},
{
name: 'newOwner',
type: 'publicKey',
index: false,
},
],
},
{
name: 'ClaimSignerUpdated',
fields: [
{
name: 'previousClaimSigner',
type: 'publicKey',
index: false,
},
{
name: 'newClaimSigner',
type: 'publicKey',
index: false,
},
],
},
],
errors: [
{
code: 6000,
name: 'Unauthorized',
msg: 'Unauthorized',
},
{
code: 6001,
name: 'InvalidClaimIndex',
msg: 'Invalid claim index',
},
{
code: 6002,
name: 'AlreadyClaimed',
msg: 'Claim already made',
},
{
code: 6003,
name: 'InvalidSignature',
msg: 'Invalid signature',
},
{
code: 6004,
name: 'InvalidTokenProgram',
msg: 'Invalid token program',
},
{
code: 6005,
name: 'InsufficientFunds',
msg: 'Insufficient funds',
},
{
code: 6006,
name: 'InvalidDestinationAccount',
msg: 'Invalid destination account',
},
{
code: 6007,
name: 'ExpandBitmapOverflow',
msg: 'Expand bitmap overflow',
},
{
code: 6008,
name: 'ClaimExpired',
msg: 'Claim expired',
},
],
metadata: {
address: 'GDfWs32EHAEeYP5TrNnFtCX5tyKD7PmrqBHAcC5U4XgC',
},
};