UNPKG

@crateprotocol/yi

Version:

The TypeScript SDK for Yi Token by Crate Protocol.

536 lines (534 loc) 10.6 kB
import { generateErrorMap } from "@saberhq/anchor-contrib"; export type YiIDL = { version: "0.4.0"; name: "yi"; instructions: [ { name: "createYiToken"; accounts: [ { name: "mint"; isMut: false; isSigner: false; }, { name: "yiToken"; isMut: true; isSigner: false; pda: { seeds: [ { kind: "const"; type: "string"; value: "YiToken"; }, { kind: "account"; type: "publicKey"; account: "Mint"; path: "mint"; } ]; }; }, { name: "underlyingTokenMint"; isMut: false; isSigner: false; }, { name: "underlyingTokens"; isMut: false; isSigner: false; }, { name: "payer"; isMut: true; isSigner: true; }, { name: "systemProgram"; isMut: false; isSigner: false; } ]; args: []; }, { name: "createYiTokenWithFees"; accounts: [ { name: "mint"; isMut: false; isSigner: false; }, { name: "yiToken"; isMut: true; isSigner: false; pda: { seeds: [ { kind: "const"; type: "string"; value: "YiToken"; }, { kind: "account"; type: "publicKey"; account: "Mint"; path: "mint"; } ]; }; }, { name: "underlyingTokenMint"; isMut: false; isSigner: false; }, { name: "underlyingTokens"; isMut: false; isSigner: false; }, { name: "payer"; isMut: true; isSigner: true; }, { name: "systemProgram"; isMut: false; isSigner: false; } ]; args: [ { name: "stakeFeeMillibps"; type: "u32"; }, { name: "unstakeFeeMillibps"; type: "u32"; } ]; }, { name: "stake"; accounts: [ { name: "yiToken"; isMut: false; isSigner: false; }, { name: "yiMint"; isMut: true; isSigner: false; }, { name: "sourceTokens"; isMut: true; isSigner: false; }, { name: "sourceAuthority"; isMut: false; isSigner: true; }, { name: "yiUnderlyingTokens"; isMut: true; isSigner: false; }, { name: "destinationYiTokens"; isMut: true; isSigner: false; }, { name: "tokenProgram"; isMut: false; isSigner: false; } ]; args: [ { name: "amount"; type: "u64"; } ]; }, { name: "unstake"; accounts: [ { name: "yiToken"; isMut: false; isSigner: false; }, { name: "yiMint"; isMut: true; isSigner: false; }, { name: "sourceYiTokens"; isMut: true; isSigner: false; }, { name: "sourceAuthority"; isMut: false; isSigner: true; }, { name: "yiUnderlyingTokens"; isMut: true; isSigner: false; }, { name: "destinationUnderlyingTokens"; isMut: true; isSigner: false; }, { name: "tokenProgram"; isMut: false; isSigner: false; } ]; args: [ { name: "amount"; type: "u64"; } ]; } ]; accounts: [ { name: "YiToken"; type: { kind: "struct"; fields: [ { name: "mint"; type: "publicKey"; }, { name: "bump"; type: "u8"; }, { name: "padding"; type: { array: ["u8", 7]; }; }, { name: "underlyingTokenMint"; type: "publicKey"; }, { name: "underlyingTokens"; type: "publicKey"; }, { name: "stakeFeeMillibps"; type: "u32"; }, { name: "unstakeFeeMillibps"; type: "u32"; } ]; }; } ]; errors: [ { code: 6000; name: "DecimalMismatch"; msg: "Decimal mismatch."; }, { code: 6001; name: "InvalidStakeFee"; msg: "Stake fee cannot exceed 100%."; }, { code: 6002; name: "InvalidUnstakeFee"; msg: "Unstake fee cannot exceed 100%."; } ]; }; export const YiJSON: YiIDL = { version: "0.4.0", name: "yi", instructions: [ { name: "createYiToken", accounts: [ { name: "mint", isMut: false, isSigner: false, }, { name: "yiToken", isMut: true, isSigner: false, pda: { seeds: [ { kind: "const", type: "string", value: "YiToken", }, { kind: "account", type: "publicKey", account: "Mint", path: "mint", }, ], }, }, { name: "underlyingTokenMint", isMut: false, isSigner: false, }, { name: "underlyingTokens", isMut: false, isSigner: false, }, { name: "payer", isMut: true, isSigner: true, }, { name: "systemProgram", isMut: false, isSigner: false, }, ], args: [], }, { name: "createYiTokenWithFees", accounts: [ { name: "mint", isMut: false, isSigner: false, }, { name: "yiToken", isMut: true, isSigner: false, pda: { seeds: [ { kind: "const", type: "string", value: "YiToken", }, { kind: "account", type: "publicKey", account: "Mint", path: "mint", }, ], }, }, { name: "underlyingTokenMint", isMut: false, isSigner: false, }, { name: "underlyingTokens", isMut: false, isSigner: false, }, { name: "payer", isMut: true, isSigner: true, }, { name: "systemProgram", isMut: false, isSigner: false, }, ], args: [ { name: "stakeFeeMillibps", type: "u32", }, { name: "unstakeFeeMillibps", type: "u32", }, ], }, { name: "stake", accounts: [ { name: "yiToken", isMut: false, isSigner: false, }, { name: "yiMint", isMut: true, isSigner: false, }, { name: "sourceTokens", isMut: true, isSigner: false, }, { name: "sourceAuthority", isMut: false, isSigner: true, }, { name: "yiUnderlyingTokens", isMut: true, isSigner: false, }, { name: "destinationYiTokens", isMut: true, isSigner: false, }, { name: "tokenProgram", isMut: false, isSigner: false, }, ], args: [ { name: "amount", type: "u64", }, ], }, { name: "unstake", accounts: [ { name: "yiToken", isMut: false, isSigner: false, }, { name: "yiMint", isMut: true, isSigner: false, }, { name: "sourceYiTokens", isMut: true, isSigner: false, }, { name: "sourceAuthority", isMut: false, isSigner: true, }, { name: "yiUnderlyingTokens", isMut: true, isSigner: false, }, { name: "destinationUnderlyingTokens", isMut: true, isSigner: false, }, { name: "tokenProgram", isMut: false, isSigner: false, }, ], args: [ { name: "amount", type: "u64", }, ], }, ], accounts: [ { name: "YiToken", type: { kind: "struct", fields: [ { name: "mint", type: "publicKey", }, { name: "bump", type: "u8", }, { name: "padding", type: { array: ["u8", 7], }, }, { name: "underlyingTokenMint", type: "publicKey", }, { name: "underlyingTokens", type: "publicKey", }, { name: "stakeFeeMillibps", type: "u32", }, { name: "unstakeFeeMillibps", type: "u32", }, ], }, }, ], errors: [ { code: 6000, name: "DecimalMismatch", msg: "Decimal mismatch.", }, { code: 6001, name: "InvalidStakeFee", msg: "Stake fee cannot exceed 100%.", }, { code: 6002, name: "InvalidUnstakeFee", msg: "Unstake fee cannot exceed 100%.", }, ], }; export const YiErrors = generateErrorMap(YiJSON);