@crateprotocol/yi
Version:
The TypeScript SDK for Yi Token by Crate Protocol.
269 lines • 7.79 kB
JavaScript
import { generateErrorMap } from "@saberhq/anchor-contrib";
export const YiJSON = {
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);
//# sourceMappingURL=yi.js.map