2843 lines
91 KiB
JSON
2843 lines
91 KiB
JSON
{
|
|
"version": "0.1.1",
|
|
"name": "guacswap",
|
|
"instructions": [
|
|
{
|
|
"name": "createPool",
|
|
"accounts": [
|
|
{
|
|
"name": "state",
|
|
"isMut": false,
|
|
"isSigner": false,
|
|
"pda": {
|
|
"seeds": [
|
|
{
|
|
"kind": "const",
|
|
"type": "string",
|
|
"value": "guacswapstatev1"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"name": "pool",
|
|
"isMut": true,
|
|
"isSigner": false,
|
|
"pda": {
|
|
"seeds": [
|
|
{
|
|
"kind": "const",
|
|
"type": "string",
|
|
"value": "guacswappoolv1"
|
|
},
|
|
{
|
|
"kind": "account",
|
|
"type": "publicKey",
|
|
"account": "Mint",
|
|
"path": "token_x"
|
|
},
|
|
{
|
|
"kind": "account",
|
|
"type": "publicKey",
|
|
"account": "Mint",
|
|
"path": "token_y"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"name": "tokenX",
|
|
"isMut": false,
|
|
"isSigner": false
|
|
},
|
|
{
|
|
"name": "tokenY",
|
|
"isMut": false,
|
|
"isSigner": false
|
|
},
|
|
{
|
|
"name": "poolXAccount",
|
|
"isMut": true,
|
|
"isSigner": true
|
|
},
|
|
{
|
|
"name": "poolYAccount",
|
|
"isMut": true,
|
|
"isSigner": true
|
|
},
|
|
{
|
|
"name": "adminXAccount",
|
|
"isMut": true,
|
|
"isSigner": false
|
|
},
|
|
{
|
|
"name": "adminYAccount",
|
|
"isMut": true,
|
|
"isSigner": false
|
|
},
|
|
{
|
|
"name": "admin",
|
|
"isMut": true,
|
|
"isSigner": true
|
|
},
|
|
{
|
|
"name": "projectOwner",
|
|
"isMut": false,
|
|
"isSigner": false
|
|
},
|
|
{
|
|
"name": "programAuthority",
|
|
"isMut": false,
|
|
"isSigner": false
|
|
},
|
|
{
|
|
"name": "systemProgram",
|
|
"isMut": false,
|
|
"isSigner": false
|
|
},
|
|
{
|
|
"name": "tokenProgram",
|
|
"isMut": false,
|
|
"isSigner": false
|
|
}
|
|
],
|
|
"args": [
|
|
{
|
|
"name": "lpFee",
|
|
"type": {
|
|
"defined": "FixedPoint"
|
|
}
|
|
},
|
|
{
|
|
"name": "buybackFee",
|
|
"type": {
|
|
"defined": "FixedPoint"
|
|
}
|
|
},
|
|
{
|
|
"name": "projectFee",
|
|
"type": {
|
|
"defined": "FixedPoint"
|
|
}
|
|
},
|
|
{
|
|
"name": "mercantiFee",
|
|
"type": {
|
|
"defined": "FixedPoint"
|
|
}
|
|
},
|
|
{
|
|
"name": "initialTokenX",
|
|
"type": {
|
|
"defined": "Token"
|
|
}
|
|
},
|
|
{
|
|
"name": "initialTokenY",
|
|
"type": {
|
|
"defined": "Token"
|
|
}
|
|
},
|
|
{
|
|
"name": "bump",
|
|
"type": "u8"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "createProvider",
|
|
"accounts": [
|
|
{
|
|
"name": "pool",
|
|
"isMut": true,
|
|
"isSigner": false,
|
|
"pda": {
|
|
"seeds": [
|
|
{
|
|
"kind": "const",
|
|
"type": "string",
|
|
"value": "guacswappoolv1"
|
|
},
|
|
{
|
|
"kind": "account",
|
|
"type": "publicKey",
|
|
"account": "Pool",
|
|
"path": "pool.token_x"
|
|
},
|
|
{
|
|
"kind": "account",
|
|
"type": "publicKey",
|
|
"account": "Pool",
|
|
"path": "pool.token_y"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"name": "farm",
|
|
"isMut": true,
|
|
"isSigner": false,
|
|
"pda": {
|
|
"seeds": [
|
|
{
|
|
"kind": "const",
|
|
"type": "string",
|
|
"value": "guacswapfarmv1"
|
|
},
|
|
{
|
|
"kind": "account",
|
|
"type": "publicKey",
|
|
"account": "Pool",
|
|
"path": "pool"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"name": "provider",
|
|
"isMut": true,
|
|
"isSigner": false,
|
|
"pda": {
|
|
"seeds": [
|
|
{
|
|
"kind": "const",
|
|
"type": "string",
|
|
"value": "guacswapproviderv1"
|
|
},
|
|
{
|
|
"kind": "account",
|
|
"type": "publicKey",
|
|
"account": "Pool",
|
|
"path": "pool"
|
|
},
|
|
{
|
|
"kind": "account",
|
|
"type": "publicKey",
|
|
"path": "owner"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"name": "poolXAccount",
|
|
"isMut": true,
|
|
"isSigner": false
|
|
},
|
|
{
|
|
"name": "poolYAccount",
|
|
"isMut": true,
|
|
"isSigner": false
|
|
},
|
|
{
|
|
"name": "ownerXAccount",
|
|
"isMut": true,
|
|
"isSigner": false
|
|
},
|
|
{
|
|
"name": "ownerYAccount",
|
|
"isMut": true,
|
|
"isSigner": false
|
|
},
|
|
{
|
|
"name": "owner",
|
|
"isMut": true,
|
|
"isSigner": true
|
|
},
|
|
{
|
|
"name": "systemProgram",
|
|
"isMut": false,
|
|
"isSigner": false
|
|
},
|
|
{
|
|
"name": "tokenProgram",
|
|
"isMut": false,
|
|
"isSigner": false
|
|
}
|
|
],
|
|
"args": [
|
|
{
|
|
"name": "tokenXAmount",
|
|
"type": {
|
|
"defined": "Token"
|
|
}
|
|
},
|
|
{
|
|
"name": "tokenYAmount",
|
|
"type": {
|
|
"defined": "Token"
|
|
}
|
|
},
|
|
{
|
|
"name": "bump",
|
|
"type": "u8"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "createState",
|
|
"accounts": [
|
|
{
|
|
"name": "state",
|
|
"isMut": true,
|
|
"isSigner": false,
|
|
"pda": {
|
|
"seeds": [
|
|
{
|
|
"kind": "const",
|
|
"type": "string",
|
|
"value": "guacswapstatev1"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"name": "admin",
|
|
"isMut": true,
|
|
"isSigner": true
|
|
},
|
|
{
|
|
"name": "programAuthority",
|
|
"isMut": false,
|
|
"isSigner": false
|
|
},
|
|
{
|
|
"name": "systemProgram",
|
|
"isMut": false,
|
|
"isSigner": false
|
|
}
|
|
],
|
|
"args": [
|
|
{
|
|
"name": "nonce",
|
|
"type": "u8"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "addTokens",
|
|
"accounts": [
|
|
{
|
|
"name": "state",
|
|
"isMut": false,
|
|
"isSigner": false,
|
|
"pda": {
|
|
"seeds": [
|
|
{
|
|
"kind": "const",
|
|
"type": "string",
|
|
"value": "guacswapstatev1"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"name": "pool",
|
|
"isMut": true,
|
|
"isSigner": false,
|
|
"pda": {
|
|
"seeds": [
|
|
{
|
|
"kind": "const",
|
|
"type": "string",
|
|
"value": "guacswappoolv1"
|
|
},
|
|
{
|
|
"kind": "account",
|
|
"type": "publicKey",
|
|
"account": "Pool",
|
|
"path": "pool.token_x"
|
|
},
|
|
{
|
|
"kind": "account",
|
|
"type": "publicKey",
|
|
"account": "Pool",
|
|
"path": "pool.token_y"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"name": "farm",
|
|
"isMut": true,
|
|
"isSigner": false,
|
|
"pda": {
|
|
"seeds": [
|
|
{
|
|
"kind": "const",
|
|
"type": "string",
|
|
"value": "guacswapfarmv1"
|
|
},
|
|
{
|
|
"kind": "account",
|
|
"type": "publicKey",
|
|
"account": "Pool",
|
|
"path": "pool"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"name": "provider",
|
|
"isMut": true,
|
|
"isSigner": false,
|
|
"pda": {
|
|
"seeds": [
|
|
{
|
|
"kind": "const",
|
|
"type": "string",
|
|
"value": "guacswapproviderv1"
|
|
},
|
|
{
|
|
"kind": "account",
|
|
"type": "publicKey",
|
|
"account": "Pool",
|
|
"path": "pool"
|
|
},
|
|
{
|
|
"kind": "account",
|
|
"type": "publicKey",
|
|
"path": "owner"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"name": "ownerXAccount",
|
|
"isMut": true,
|
|
"isSigner": false
|
|
},
|
|
{
|
|
"name": "ownerYAccount",
|
|
"isMut": true,
|
|
"isSigner": false
|
|
},
|
|
{
|
|
"name": "poolXAccount",
|
|
"isMut": true,
|
|
"isSigner": false
|
|
},
|
|
{
|
|
"name": "poolYAccount",
|
|
"isMut": true,
|
|
"isSigner": false
|
|
},
|
|
{
|
|
"name": "ownerMarcoAccount",
|
|
"isMut": true,
|
|
"isSigner": false
|
|
},
|
|
{
|
|
"name": "ownerProjectFirstAccount",
|
|
"isMut": true,
|
|
"isSigner": false
|
|
},
|
|
{
|
|
"name": "ownerProjectSecondAccount",
|
|
"isMut": true,
|
|
"isSigner": false
|
|
},
|
|
{
|
|
"name": "tokenMarcoAccount",
|
|
"isMut": true,
|
|
"isSigner": false
|
|
},
|
|
{
|
|
"name": "tokenProjectFirstAccount",
|
|
"isMut": true,
|
|
"isSigner": false
|
|
},
|
|
{
|
|
"name": "tokenProjectSecondAccount",
|
|
"isMut": true,
|
|
"isSigner": false
|
|
},
|
|
{
|
|
"name": "owner",
|
|
"isMut": true,
|
|
"isSigner": true
|
|
},
|
|
{
|
|
"name": "programAuthority",
|
|
"isMut": false,
|
|
"isSigner": false
|
|
},
|
|
{
|
|
"name": "tokenProgram",
|
|
"isMut": false,
|
|
"isSigner": false
|
|
}
|
|
],
|
|
"args": [
|
|
{
|
|
"name": "deltaX",
|
|
"type": {
|
|
"defined": "Token"
|
|
}
|
|
},
|
|
{
|
|
"name": "deltaY",
|
|
"type": {
|
|
"defined": "Token"
|
|
}
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "withdrawBuyback",
|
|
"accounts": [
|
|
{
|
|
"name": "state",
|
|
"isMut": false,
|
|
"isSigner": false,
|
|
"pda": {
|
|
"seeds": [
|
|
{
|
|
"kind": "const",
|
|
"type": "string",
|
|
"value": "guacswapstatev1"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"name": "pool",
|
|
"isMut": true,
|
|
"isSigner": false,
|
|
"pda": {
|
|
"seeds": [
|
|
{
|
|
"kind": "const",
|
|
"type": "string",
|
|
"value": "guacswappoolv1"
|
|
},
|
|
{
|
|
"kind": "account",
|
|
"type": "publicKey",
|
|
"account": "Pool",
|
|
"path": "pool.token_x"
|
|
},
|
|
{
|
|
"kind": "account",
|
|
"type": "publicKey",
|
|
"account": "Pool",
|
|
"path": "pool.token_y"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"name": "buybackXAccount",
|
|
"isMut": true,
|
|
"isSigner": false
|
|
},
|
|
{
|
|
"name": "buybackYAccount",
|
|
"isMut": true,
|
|
"isSigner": false
|
|
},
|
|
{
|
|
"name": "poolXAccount",
|
|
"isMut": true,
|
|
"isSigner": false
|
|
},
|
|
{
|
|
"name": "poolYAccount",
|
|
"isMut": true,
|
|
"isSigner": false
|
|
},
|
|
{
|
|
"name": "admin",
|
|
"isMut": true,
|
|
"isSigner": true
|
|
},
|
|
{
|
|
"name": "programAuthority",
|
|
"isMut": false,
|
|
"isSigner": false
|
|
},
|
|
{
|
|
"name": "tokenProgram",
|
|
"isMut": false,
|
|
"isSigner": false
|
|
}
|
|
],
|
|
"args": []
|
|
},
|
|
{
|
|
"name": "swap",
|
|
"accounts": [
|
|
{
|
|
"name": "state",
|
|
"isMut": false,
|
|
"isSigner": false,
|
|
"pda": {
|
|
"seeds": [
|
|
{
|
|
"kind": "const",
|
|
"type": "string",
|
|
"value": "guacswapstatev1"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"name": "pool",
|
|
"isMut": true,
|
|
"isSigner": false,
|
|
"pda": {
|
|
"seeds": [
|
|
{
|
|
"kind": "const",
|
|
"type": "string",
|
|
"value": "guacswappoolv1"
|
|
},
|
|
{
|
|
"kind": "account",
|
|
"type": "publicKey",
|
|
"account": "Mint",
|
|
"path": "token_x"
|
|
},
|
|
{
|
|
"kind": "account",
|
|
"type": "publicKey",
|
|
"account": "Mint",
|
|
"path": "token_y"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"name": "tokenX",
|
|
"isMut": false,
|
|
"isSigner": false
|
|
},
|
|
{
|
|
"name": "tokenY",
|
|
"isMut": false,
|
|
"isSigner": false
|
|
},
|
|
{
|
|
"name": "poolXAccount",
|
|
"isMut": true,
|
|
"isSigner": false
|
|
},
|
|
{
|
|
"name": "poolYAccount",
|
|
"isMut": true,
|
|
"isSigner": false
|
|
},
|
|
{
|
|
"name": "swapperXAccount",
|
|
"isMut": true,
|
|
"isSigner": false
|
|
},
|
|
{
|
|
"name": "swapperYAccount",
|
|
"isMut": true,
|
|
"isSigner": false
|
|
},
|
|
{
|
|
"name": "swapper",
|
|
"isMut": true,
|
|
"isSigner": true
|
|
},
|
|
{
|
|
"name": "referrerXAccount",
|
|
"isMut": true,
|
|
"isSigner": false
|
|
},
|
|
{
|
|
"name": "referrerYAccount",
|
|
"isMut": true,
|
|
"isSigner": false
|
|
},
|
|
{
|
|
"name": "referrer",
|
|
"isMut": true,
|
|
"isSigner": false
|
|
},
|
|
{
|
|
"name": "programAuthority",
|
|
"isMut": false,
|
|
"isSigner": false
|
|
},
|
|
{
|
|
"name": "systemProgram",
|
|
"isMut": false,
|
|
"isSigner": false
|
|
},
|
|
{
|
|
"name": "tokenProgram",
|
|
"isMut": false,
|
|
"isSigner": false
|
|
},
|
|
{
|
|
"name": "associatedTokenProgram",
|
|
"isMut": false,
|
|
"isSigner": false
|
|
},
|
|
{
|
|
"name": "rent",
|
|
"isMut": false,
|
|
"isSigner": false
|
|
}
|
|
],
|
|
"args": [
|
|
{
|
|
"name": "deltaIn",
|
|
"type": {
|
|
"defined": "Token"
|
|
}
|
|
},
|
|
{
|
|
"name": "priceLimit",
|
|
"type": {
|
|
"defined": "FixedPoint"
|
|
}
|
|
},
|
|
{
|
|
"name": "xToY",
|
|
"type": "bool"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "withdrawShares",
|
|
"accounts": [
|
|
{
|
|
"name": "state",
|
|
"isMut": false,
|
|
"isSigner": false,
|
|
"pda": {
|
|
"seeds": [
|
|
{
|
|
"kind": "const",
|
|
"type": "string",
|
|
"value": "guacswapstatev1"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"name": "pool",
|
|
"isMut": true,
|
|
"isSigner": false,
|
|
"pda": {
|
|
"seeds": [
|
|
{
|
|
"kind": "const",
|
|
"type": "string",
|
|
"value": "guacswappoolv1"
|
|
},
|
|
{
|
|
"kind": "account",
|
|
"type": "publicKey",
|
|
"account": "Pool",
|
|
"path": "pool.token_x"
|
|
},
|
|
{
|
|
"kind": "account",
|
|
"type": "publicKey",
|
|
"account": "Pool",
|
|
"path": "pool.token_y"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"name": "farm",
|
|
"isMut": true,
|
|
"isSigner": false,
|
|
"pda": {
|
|
"seeds": [
|
|
{
|
|
"kind": "const",
|
|
"type": "string",
|
|
"value": "guacswapfarmv1"
|
|
},
|
|
{
|
|
"kind": "account",
|
|
"type": "publicKey",
|
|
"account": "Pool",
|
|
"path": "pool"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"name": "provider",
|
|
"isMut": true,
|
|
"isSigner": false,
|
|
"pda": {
|
|
"seeds": [
|
|
{
|
|
"kind": "const",
|
|
"type": "string",
|
|
"value": "guacswapproviderv1"
|
|
},
|
|
{
|
|
"kind": "account",
|
|
"type": "publicKey",
|
|
"account": "Pool",
|
|
"path": "pool"
|
|
},
|
|
{
|
|
"kind": "account",
|
|
"type": "publicKey",
|
|
"path": "owner"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"name": "poolXAccount",
|
|
"isMut": true,
|
|
"isSigner": false
|
|
},
|
|
{
|
|
"name": "poolYAccount",
|
|
"isMut": true,
|
|
"isSigner": false
|
|
},
|
|
{
|
|
"name": "tokenMarcoAccount",
|
|
"isMut": true,
|
|
"isSigner": false
|
|
},
|
|
{
|
|
"name": "tokenProjectFirstAccount",
|
|
"isMut": true,
|
|
"isSigner": false
|
|
},
|
|
{
|
|
"name": "tokenProjectSecondAccount",
|
|
"isMut": true,
|
|
"isSigner": false
|
|
},
|
|
{
|
|
"name": "ownerXAccount",
|
|
"isMut": true,
|
|
"isSigner": false
|
|
},
|
|
{
|
|
"name": "ownerYAccount",
|
|
"isMut": true,
|
|
"isSigner": false
|
|
},
|
|
{
|
|
"name": "ownerMarcoAccount",
|
|
"isMut": true,
|
|
"isSigner": false
|
|
},
|
|
{
|
|
"name": "ownerProjectFirstAccount",
|
|
"isMut": true,
|
|
"isSigner": false
|
|
},
|
|
{
|
|
"name": "ownerProjectSecondAccount",
|
|
"isMut": true,
|
|
"isSigner": false
|
|
},
|
|
{
|
|
"name": "owner",
|
|
"isMut": true,
|
|
"isSigner": true
|
|
},
|
|
{
|
|
"name": "programAuthority",
|
|
"isMut": false,
|
|
"isSigner": false
|
|
},
|
|
{
|
|
"name": "tokenProgram",
|
|
"isMut": false,
|
|
"isSigner": false
|
|
}
|
|
],
|
|
"args": [
|
|
{
|
|
"name": "shares",
|
|
"type": {
|
|
"defined": "Token"
|
|
}
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "withdrawLpFee",
|
|
"accounts": [
|
|
{
|
|
"name": "state",
|
|
"isMut": false,
|
|
"isSigner": false,
|
|
"pda": {
|
|
"seeds": [
|
|
{
|
|
"kind": "const",
|
|
"type": "string",
|
|
"value": "guacswapstatev1"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"name": "pool",
|
|
"isMut": false,
|
|
"isSigner": false,
|
|
"pda": {
|
|
"seeds": [
|
|
{
|
|
"kind": "const",
|
|
"type": "string",
|
|
"value": "guacswappoolv1"
|
|
},
|
|
{
|
|
"kind": "account",
|
|
"type": "publicKey",
|
|
"account": "Pool",
|
|
"path": "pool.token_x"
|
|
},
|
|
{
|
|
"kind": "account",
|
|
"type": "publicKey",
|
|
"account": "Pool",
|
|
"path": "pool.token_y"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"name": "provider",
|
|
"isMut": true,
|
|
"isSigner": false,
|
|
"pda": {
|
|
"seeds": [
|
|
{
|
|
"kind": "const",
|
|
"type": "string",
|
|
"value": "guacswapproviderv1"
|
|
},
|
|
{
|
|
"kind": "account",
|
|
"type": "publicKey",
|
|
"account": "Pool",
|
|
"path": "pool"
|
|
},
|
|
{
|
|
"kind": "account",
|
|
"type": "publicKey",
|
|
"path": "owner"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"name": "ownerXAccount",
|
|
"isMut": true,
|
|
"isSigner": false
|
|
},
|
|
{
|
|
"name": "ownerYAccount",
|
|
"isMut": true,
|
|
"isSigner": false
|
|
},
|
|
{
|
|
"name": "poolXAccount",
|
|
"isMut": true,
|
|
"isSigner": false
|
|
},
|
|
{
|
|
"name": "poolYAccount",
|
|
"isMut": true,
|
|
"isSigner": false
|
|
},
|
|
{
|
|
"name": "owner",
|
|
"isMut": true,
|
|
"isSigner": true
|
|
},
|
|
{
|
|
"name": "programAuthority",
|
|
"isMut": false,
|
|
"isSigner": false
|
|
},
|
|
{
|
|
"name": "tokenProgram",
|
|
"isMut": false,
|
|
"isSigner": false
|
|
}
|
|
],
|
|
"args": []
|
|
},
|
|
{
|
|
"name": "withdrawProjectFee",
|
|
"accounts": [
|
|
{
|
|
"name": "state",
|
|
"isMut": false,
|
|
"isSigner": false,
|
|
"pda": {
|
|
"seeds": [
|
|
{
|
|
"kind": "const",
|
|
"type": "string",
|
|
"value": "guacswapstatev1"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"name": "pool",
|
|
"isMut": true,
|
|
"isSigner": false,
|
|
"pda": {
|
|
"seeds": [
|
|
{
|
|
"kind": "const",
|
|
"type": "string",
|
|
"value": "guacswappoolv1"
|
|
},
|
|
{
|
|
"kind": "account",
|
|
"type": "publicKey",
|
|
"account": "Pool",
|
|
"path": "pool.token_x"
|
|
},
|
|
{
|
|
"kind": "account",
|
|
"type": "publicKey",
|
|
"account": "Pool",
|
|
"path": "pool.token_y"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"name": "projectOwnerXAccount",
|
|
"isMut": true,
|
|
"isSigner": false
|
|
},
|
|
{
|
|
"name": "projectOwnerYAccount",
|
|
"isMut": true,
|
|
"isSigner": false
|
|
},
|
|
{
|
|
"name": "poolXAccount",
|
|
"isMut": true,
|
|
"isSigner": false
|
|
},
|
|
{
|
|
"name": "poolYAccount",
|
|
"isMut": true,
|
|
"isSigner": false
|
|
},
|
|
{
|
|
"name": "projectOwner",
|
|
"isMut": true,
|
|
"isSigner": true
|
|
},
|
|
{
|
|
"name": "programAuthority",
|
|
"isMut": false,
|
|
"isSigner": false
|
|
},
|
|
{
|
|
"name": "tokenProgram",
|
|
"isMut": false,
|
|
"isSigner": false
|
|
}
|
|
],
|
|
"args": []
|
|
},
|
|
{
|
|
"name": "createFarm",
|
|
"accounts": [
|
|
{
|
|
"name": "state",
|
|
"isMut": false,
|
|
"isSigner": false,
|
|
"pda": {
|
|
"seeds": [
|
|
{
|
|
"kind": "const",
|
|
"type": "string",
|
|
"value": "guacswapstatev1"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"name": "pool",
|
|
"isMut": false,
|
|
"isSigner": false,
|
|
"pda": {
|
|
"seeds": [
|
|
{
|
|
"kind": "const",
|
|
"type": "string",
|
|
"value": "guacswappoolv1"
|
|
},
|
|
{
|
|
"kind": "account",
|
|
"type": "publicKey",
|
|
"account": "Pool",
|
|
"path": "pool.token_x"
|
|
},
|
|
{
|
|
"kind": "account",
|
|
"type": "publicKey",
|
|
"account": "Pool",
|
|
"path": "pool.token_y"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"name": "farm",
|
|
"isMut": true,
|
|
"isSigner": false,
|
|
"pda": {
|
|
"seeds": [
|
|
{
|
|
"kind": "const",
|
|
"type": "string",
|
|
"value": "guacswapfarmv1"
|
|
},
|
|
{
|
|
"kind": "account",
|
|
"type": "publicKey",
|
|
"account": "Pool",
|
|
"path": "pool"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"name": "tokenMarco",
|
|
"isMut": false,
|
|
"isSigner": false
|
|
},
|
|
{
|
|
"name": "tokenMarcoAccount",
|
|
"isMut": true,
|
|
"isSigner": true
|
|
},
|
|
{
|
|
"name": "adminMarcoAccount",
|
|
"isMut": true,
|
|
"isSigner": false
|
|
},
|
|
{
|
|
"name": "admin",
|
|
"isMut": true,
|
|
"isSigner": true
|
|
},
|
|
{
|
|
"name": "programAuthority",
|
|
"isMut": false,
|
|
"isSigner": false
|
|
},
|
|
{
|
|
"name": "systemProgram",
|
|
"isMut": false,
|
|
"isSigner": false
|
|
},
|
|
{
|
|
"name": "tokenProgram",
|
|
"isMut": false,
|
|
"isSigner": false
|
|
}
|
|
],
|
|
"args": [
|
|
{
|
|
"name": "supply",
|
|
"type": {
|
|
"defined": "Token"
|
|
}
|
|
},
|
|
{
|
|
"name": "duration",
|
|
"type": "u64"
|
|
},
|
|
{
|
|
"name": "bump",
|
|
"type": "u8"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "createDualFarm",
|
|
"accounts": [
|
|
{
|
|
"name": "state",
|
|
"isMut": false,
|
|
"isSigner": false,
|
|
"pda": {
|
|
"seeds": [
|
|
{
|
|
"kind": "const",
|
|
"type": "string",
|
|
"value": "guacswapstatev1"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"name": "pool",
|
|
"isMut": false,
|
|
"isSigner": false,
|
|
"pda": {
|
|
"seeds": [
|
|
{
|
|
"kind": "const",
|
|
"type": "string",
|
|
"value": "guacswappoolv1"
|
|
},
|
|
{
|
|
"kind": "account",
|
|
"type": "publicKey",
|
|
"account": "Pool",
|
|
"path": "pool.token_x"
|
|
},
|
|
{
|
|
"kind": "account",
|
|
"type": "publicKey",
|
|
"account": "Pool",
|
|
"path": "pool.token_y"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"name": "farm",
|
|
"isMut": true,
|
|
"isSigner": false,
|
|
"pda": {
|
|
"seeds": [
|
|
{
|
|
"kind": "const",
|
|
"type": "string",
|
|
"value": "guacswapfarmv1"
|
|
},
|
|
{
|
|
"kind": "account",
|
|
"type": "publicKey",
|
|
"account": "Pool",
|
|
"path": "pool"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"name": "tokenMarco",
|
|
"isMut": false,
|
|
"isSigner": false
|
|
},
|
|
{
|
|
"name": "tokenProjectFirst",
|
|
"isMut": false,
|
|
"isSigner": false
|
|
},
|
|
{
|
|
"name": "tokenMarcoAccount",
|
|
"isMut": true,
|
|
"isSigner": true
|
|
},
|
|
{
|
|
"name": "tokenProjectFirstAccount",
|
|
"isMut": true,
|
|
"isSigner": true
|
|
},
|
|
{
|
|
"name": "adminMarcoAccount",
|
|
"isMut": true,
|
|
"isSigner": false
|
|
},
|
|
{
|
|
"name": "adminProjectFirstAccount",
|
|
"isMut": true,
|
|
"isSigner": false
|
|
},
|
|
{
|
|
"name": "admin",
|
|
"isMut": true,
|
|
"isSigner": true
|
|
},
|
|
{
|
|
"name": "programAuthority",
|
|
"isMut": false,
|
|
"isSigner": false
|
|
},
|
|
{
|
|
"name": "systemProgram",
|
|
"isMut": false,
|
|
"isSigner": false
|
|
},
|
|
{
|
|
"name": "tokenProgram",
|
|
"isMut": false,
|
|
"isSigner": false
|
|
}
|
|
],
|
|
"args": [
|
|
{
|
|
"name": "supplyMarco",
|
|
"type": {
|
|
"defined": "Token"
|
|
}
|
|
},
|
|
{
|
|
"name": "supplyProjectFirst",
|
|
"type": {
|
|
"defined": "Token"
|
|
}
|
|
},
|
|
{
|
|
"name": "duration",
|
|
"type": "u64"
|
|
},
|
|
{
|
|
"name": "bump",
|
|
"type": "u8"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "createTripleFarm",
|
|
"accounts": [
|
|
{
|
|
"name": "state",
|
|
"isMut": false,
|
|
"isSigner": false,
|
|
"pda": {
|
|
"seeds": [
|
|
{
|
|
"kind": "const",
|
|
"type": "string",
|
|
"value": "guacswapstatev1"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"name": "pool",
|
|
"isMut": false,
|
|
"isSigner": false,
|
|
"pda": {
|
|
"seeds": [
|
|
{
|
|
"kind": "const",
|
|
"type": "string",
|
|
"value": "guacswappoolv1"
|
|
},
|
|
{
|
|
"kind": "account",
|
|
"type": "publicKey",
|
|
"account": "Mint",
|
|
"path": "token_x"
|
|
},
|
|
{
|
|
"kind": "account",
|
|
"type": "publicKey",
|
|
"account": "Mint",
|
|
"path": "token_y"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"name": "farm",
|
|
"isMut": true,
|
|
"isSigner": false,
|
|
"pda": {
|
|
"seeds": [
|
|
{
|
|
"kind": "const",
|
|
"type": "string",
|
|
"value": "guacswapfarmv1"
|
|
},
|
|
{
|
|
"kind": "account",
|
|
"type": "publicKey",
|
|
"account": "Pool",
|
|
"path": "pool"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"name": "tokenX",
|
|
"isMut": false,
|
|
"isSigner": false
|
|
},
|
|
{
|
|
"name": "tokenY",
|
|
"isMut": false,
|
|
"isSigner": false
|
|
},
|
|
{
|
|
"name": "tokenMarco",
|
|
"isMut": false,
|
|
"isSigner": false
|
|
},
|
|
{
|
|
"name": "tokenProjectFirst",
|
|
"isMut": false,
|
|
"isSigner": false
|
|
},
|
|
{
|
|
"name": "tokenProjectSecond",
|
|
"isMut": false,
|
|
"isSigner": false
|
|
},
|
|
{
|
|
"name": "tokenMarcoAccount",
|
|
"isMut": true,
|
|
"isSigner": true
|
|
},
|
|
{
|
|
"name": "tokenProjectFirstAccount",
|
|
"isMut": true,
|
|
"isSigner": true
|
|
},
|
|
{
|
|
"name": "tokenProjectSecondAccount",
|
|
"isMut": true,
|
|
"isSigner": true
|
|
},
|
|
{
|
|
"name": "adminMarcoAccount",
|
|
"isMut": true,
|
|
"isSigner": false
|
|
},
|
|
{
|
|
"name": "adminProjectFirstAccount",
|
|
"isMut": true,
|
|
"isSigner": false
|
|
},
|
|
{
|
|
"name": "adminProjectSecondAccount",
|
|
"isMut": true,
|
|
"isSigner": false
|
|
},
|
|
{
|
|
"name": "admin",
|
|
"isMut": true,
|
|
"isSigner": true
|
|
},
|
|
{
|
|
"name": "programAuthority",
|
|
"isMut": false,
|
|
"isSigner": false
|
|
},
|
|
{
|
|
"name": "systemProgram",
|
|
"isMut": false,
|
|
"isSigner": false
|
|
},
|
|
{
|
|
"name": "tokenProgram",
|
|
"isMut": false,
|
|
"isSigner": false
|
|
}
|
|
],
|
|
"args": [
|
|
{
|
|
"name": "supplyMarco",
|
|
"type": {
|
|
"defined": "Token"
|
|
}
|
|
},
|
|
{
|
|
"name": "supplyProjectFirst",
|
|
"type": {
|
|
"defined": "Token"
|
|
}
|
|
},
|
|
{
|
|
"name": "supplyProjectSecond",
|
|
"type": {
|
|
"defined": "Token"
|
|
}
|
|
},
|
|
{
|
|
"name": "duration",
|
|
"type": "u64"
|
|
},
|
|
{
|
|
"name": "bump",
|
|
"type": "u8"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "withdrawRewards",
|
|
"accounts": [
|
|
{
|
|
"name": "state",
|
|
"isMut": false,
|
|
"isSigner": false,
|
|
"pda": {
|
|
"seeds": [
|
|
{
|
|
"kind": "const",
|
|
"type": "string",
|
|
"value": "guacswapstatev1"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"name": "pool",
|
|
"isMut": false,
|
|
"isSigner": false,
|
|
"pda": {
|
|
"seeds": [
|
|
{
|
|
"kind": "const",
|
|
"type": "string",
|
|
"value": "guacswappoolv1"
|
|
},
|
|
{
|
|
"kind": "account",
|
|
"type": "publicKey",
|
|
"account": "Pool",
|
|
"path": "pool.token_x"
|
|
},
|
|
{
|
|
"kind": "account",
|
|
"type": "publicKey",
|
|
"account": "Pool",
|
|
"path": "pool.token_y"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"name": "farm",
|
|
"isMut": true,
|
|
"isSigner": false,
|
|
"pda": {
|
|
"seeds": [
|
|
{
|
|
"kind": "const",
|
|
"type": "string",
|
|
"value": "guacswapfarmv1"
|
|
},
|
|
{
|
|
"kind": "account",
|
|
"type": "publicKey",
|
|
"account": "Pool",
|
|
"path": "pool"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"name": "provider",
|
|
"isMut": true,
|
|
"isSigner": false,
|
|
"pda": {
|
|
"seeds": [
|
|
{
|
|
"kind": "const",
|
|
"type": "string",
|
|
"value": "guacswapproviderv1"
|
|
},
|
|
{
|
|
"kind": "account",
|
|
"type": "publicKey",
|
|
"account": "Pool",
|
|
"path": "pool"
|
|
},
|
|
{
|
|
"kind": "account",
|
|
"type": "publicKey",
|
|
"path": "owner"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"name": "tokenMarcoAccount",
|
|
"isMut": true,
|
|
"isSigner": false
|
|
},
|
|
{
|
|
"name": "tokenProjectFirstAccount",
|
|
"isMut": true,
|
|
"isSigner": false
|
|
},
|
|
{
|
|
"name": "tokenProjectSecondAccount",
|
|
"isMut": true,
|
|
"isSigner": false
|
|
},
|
|
{
|
|
"name": "ownerMarcoAccount",
|
|
"isMut": true,
|
|
"isSigner": false
|
|
},
|
|
{
|
|
"name": "ownerProjectFirstAccount",
|
|
"isMut": true,
|
|
"isSigner": false
|
|
},
|
|
{
|
|
"name": "ownerProjectSecondAccount",
|
|
"isMut": true,
|
|
"isSigner": false
|
|
},
|
|
{
|
|
"name": "owner",
|
|
"isMut": true,
|
|
"isSigner": true
|
|
},
|
|
{
|
|
"name": "programAuthority",
|
|
"isMut": false,
|
|
"isSigner": false
|
|
},
|
|
{
|
|
"name": "tokenProgram",
|
|
"isMut": false,
|
|
"isSigner": false
|
|
}
|
|
],
|
|
"args": []
|
|
},
|
|
{
|
|
"name": "closePool",
|
|
"accounts": [
|
|
{
|
|
"name": "state",
|
|
"isMut": false,
|
|
"isSigner": false,
|
|
"pda": {
|
|
"seeds": [
|
|
{
|
|
"kind": "const",
|
|
"type": "string",
|
|
"value": "guacswapstatev1"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"name": "pool",
|
|
"isMut": true,
|
|
"isSigner": false,
|
|
"pda": {
|
|
"seeds": [
|
|
{
|
|
"kind": "const",
|
|
"type": "string",
|
|
"value": "guacswappoolv1"
|
|
},
|
|
{
|
|
"kind": "account",
|
|
"type": "publicKey",
|
|
"account": "Pool",
|
|
"path": "pool.token_x"
|
|
},
|
|
{
|
|
"kind": "account",
|
|
"type": "publicKey",
|
|
"account": "Pool",
|
|
"path": "pool.token_y"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"name": "farm",
|
|
"isMut": true,
|
|
"isSigner": false,
|
|
"pda": {
|
|
"seeds": [
|
|
{
|
|
"kind": "const",
|
|
"type": "string",
|
|
"value": "guacswapfarmv1"
|
|
},
|
|
{
|
|
"kind": "account",
|
|
"type": "publicKey",
|
|
"account": "Pool",
|
|
"path": "pool"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"name": "tokenMarcoAccount",
|
|
"isMut": true,
|
|
"isSigner": false
|
|
},
|
|
{
|
|
"name": "tokenProjectFirstAccount",
|
|
"isMut": true,
|
|
"isSigner": false
|
|
},
|
|
{
|
|
"name": "tokenProjectSecondAccount",
|
|
"isMut": true,
|
|
"isSigner": false
|
|
},
|
|
{
|
|
"name": "poolXAccount",
|
|
"isMut": true,
|
|
"isSigner": false
|
|
},
|
|
{
|
|
"name": "poolYAccount",
|
|
"isMut": true,
|
|
"isSigner": false
|
|
},
|
|
{
|
|
"name": "buybackXAccount",
|
|
"isMut": true,
|
|
"isSigner": false
|
|
},
|
|
{
|
|
"name": "buybackYAccount",
|
|
"isMut": true,
|
|
"isSigner": false
|
|
},
|
|
{
|
|
"name": "admin",
|
|
"isMut": true,
|
|
"isSigner": true
|
|
},
|
|
{
|
|
"name": "programAuthority",
|
|
"isMut": false,
|
|
"isSigner": false
|
|
},
|
|
{
|
|
"name": "tokenProgram",
|
|
"isMut": false,
|
|
"isSigner": false
|
|
}
|
|
],
|
|
"args": []
|
|
},
|
|
{
|
|
"name": "withdrawMercantiFee",
|
|
"accounts": [
|
|
{
|
|
"name": "state",
|
|
"isMut": false,
|
|
"isSigner": false,
|
|
"pda": {
|
|
"seeds": [
|
|
{
|
|
"kind": "const",
|
|
"type": "string",
|
|
"value": "guacswapstatev1"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"name": "pool",
|
|
"isMut": true,
|
|
"isSigner": false,
|
|
"pda": {
|
|
"seeds": [
|
|
{
|
|
"kind": "const",
|
|
"type": "string",
|
|
"value": "guacswappoolv1"
|
|
},
|
|
{
|
|
"kind": "account",
|
|
"type": "publicKey",
|
|
"account": "Pool",
|
|
"path": "pool.token_x"
|
|
},
|
|
{
|
|
"kind": "account",
|
|
"type": "publicKey",
|
|
"account": "Pool",
|
|
"path": "pool.token_y"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"name": "mercantiXAccount",
|
|
"isMut": true,
|
|
"isSigner": false
|
|
},
|
|
{
|
|
"name": "mercantiYAccount",
|
|
"isMut": true,
|
|
"isSigner": false
|
|
},
|
|
{
|
|
"name": "poolXAccount",
|
|
"isMut": true,
|
|
"isSigner": false
|
|
},
|
|
{
|
|
"name": "poolYAccount",
|
|
"isMut": true,
|
|
"isSigner": false
|
|
},
|
|
{
|
|
"name": "admin",
|
|
"isMut": true,
|
|
"isSigner": true
|
|
},
|
|
{
|
|
"name": "programAuthority",
|
|
"isMut": false,
|
|
"isSigner": false
|
|
},
|
|
{
|
|
"name": "tokenProgram",
|
|
"isMut": false,
|
|
"isSigner": false
|
|
}
|
|
],
|
|
"args": []
|
|
},
|
|
{
|
|
"name": "addSupply",
|
|
"accounts": [
|
|
{
|
|
"name": "state",
|
|
"isMut": false,
|
|
"isSigner": false,
|
|
"pda": {
|
|
"seeds": [
|
|
{
|
|
"kind": "const",
|
|
"type": "string",
|
|
"value": "guacswapstatev1"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"name": "pool",
|
|
"isMut": true,
|
|
"isSigner": false,
|
|
"pda": {
|
|
"seeds": [
|
|
{
|
|
"kind": "const",
|
|
"type": "string",
|
|
"value": "guacswappoolv1"
|
|
},
|
|
{
|
|
"kind": "account",
|
|
"type": "publicKey",
|
|
"account": "Pool",
|
|
"path": "pool.token_x"
|
|
},
|
|
{
|
|
"kind": "account",
|
|
"type": "publicKey",
|
|
"account": "Pool",
|
|
"path": "pool.token_y"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"name": "farm",
|
|
"isMut": true,
|
|
"isSigner": false,
|
|
"pda": {
|
|
"seeds": [
|
|
{
|
|
"kind": "const",
|
|
"type": "string",
|
|
"value": "guacswapfarmv1"
|
|
},
|
|
{
|
|
"kind": "account",
|
|
"type": "publicKey",
|
|
"account": "Pool",
|
|
"path": "pool"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"name": "tokenMarcoAccount",
|
|
"isMut": true,
|
|
"isSigner": false
|
|
},
|
|
{
|
|
"name": "tokenProjectFirstAccount",
|
|
"isMut": true,
|
|
"isSigner": false
|
|
},
|
|
{
|
|
"name": "tokenProjectSecondAccount",
|
|
"isMut": true,
|
|
"isSigner": false
|
|
},
|
|
{
|
|
"name": "adminMarcoAccount",
|
|
"isMut": true,
|
|
"isSigner": false
|
|
},
|
|
{
|
|
"name": "adminProjectFirstAccount",
|
|
"isMut": true,
|
|
"isSigner": false
|
|
},
|
|
{
|
|
"name": "adminProjectSecondAccount",
|
|
"isMut": true,
|
|
"isSigner": false
|
|
},
|
|
{
|
|
"name": "admin",
|
|
"isMut": false,
|
|
"isSigner": true
|
|
},
|
|
{
|
|
"name": "tokenProgram",
|
|
"isMut": false,
|
|
"isSigner": false
|
|
}
|
|
],
|
|
"args": [
|
|
{
|
|
"name": "supplyMarco",
|
|
"type": {
|
|
"defined": "Token"
|
|
}
|
|
},
|
|
{
|
|
"name": "supplyProjectFirst",
|
|
"type": {
|
|
"defined": "Token"
|
|
}
|
|
},
|
|
{
|
|
"name": "supplyProjectSecond",
|
|
"type": {
|
|
"defined": "Token"
|
|
}
|
|
},
|
|
{
|
|
"name": "duration",
|
|
"type": "u64"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "updateFees",
|
|
"accounts": [
|
|
{
|
|
"name": "state",
|
|
"isMut": false,
|
|
"isSigner": false,
|
|
"pda": {
|
|
"seeds": [
|
|
{
|
|
"kind": "const",
|
|
"type": "string",
|
|
"value": "guacswapstatev1"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"name": "pool",
|
|
"isMut": true,
|
|
"isSigner": false,
|
|
"pda": {
|
|
"seeds": [
|
|
{
|
|
"kind": "const",
|
|
"type": "string",
|
|
"value": "guacswappoolv1"
|
|
},
|
|
{
|
|
"kind": "account",
|
|
"type": "publicKey",
|
|
"account": "Pool",
|
|
"path": "pool.token_x"
|
|
},
|
|
{
|
|
"kind": "account",
|
|
"type": "publicKey",
|
|
"account": "Pool",
|
|
"path": "pool.token_y"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"name": "admin",
|
|
"isMut": true,
|
|
"isSigner": true
|
|
},
|
|
{
|
|
"name": "programAuthority",
|
|
"isMut": false,
|
|
"isSigner": false
|
|
}
|
|
],
|
|
"args": [
|
|
{
|
|
"name": "newBuybackFee",
|
|
"type": {
|
|
"defined": "FixedPoint"
|
|
}
|
|
},
|
|
{
|
|
"name": "newProjectFee",
|
|
"type": {
|
|
"defined": "FixedPoint"
|
|
}
|
|
},
|
|
{
|
|
"name": "newProviderFee",
|
|
"type": {
|
|
"defined": "FixedPoint"
|
|
}
|
|
},
|
|
{
|
|
"name": "newMercantiFee",
|
|
"type": {
|
|
"defined": "FixedPoint"
|
|
}
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "resetFarm",
|
|
"accounts": [
|
|
{
|
|
"name": "state",
|
|
"isMut": false,
|
|
"isSigner": false,
|
|
"pda": {
|
|
"seeds": [
|
|
{
|
|
"kind": "const",
|
|
"type": "string",
|
|
"value": "guacswapstatev1"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"name": "pool",
|
|
"isMut": false,
|
|
"isSigner": false,
|
|
"pda": {
|
|
"seeds": [
|
|
{
|
|
"kind": "const",
|
|
"type": "string",
|
|
"value": "guacswappoolv1"
|
|
},
|
|
{
|
|
"kind": "account",
|
|
"type": "publicKey",
|
|
"account": "Pool",
|
|
"path": "pool.token_x"
|
|
},
|
|
{
|
|
"kind": "account",
|
|
"type": "publicKey",
|
|
"account": "Pool",
|
|
"path": "pool.token_y"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"name": "farm",
|
|
"isMut": true,
|
|
"isSigner": false,
|
|
"pda": {
|
|
"seeds": [
|
|
{
|
|
"kind": "const",
|
|
"type": "string",
|
|
"value": "guacswapfarmv1"
|
|
},
|
|
{
|
|
"kind": "account",
|
|
"type": "publicKey",
|
|
"account": "Pool",
|
|
"path": "pool"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"name": "tokenMarcoAccount",
|
|
"isMut": true,
|
|
"isSigner": false
|
|
},
|
|
{
|
|
"name": "tokenProjectFirstAccount",
|
|
"isMut": true,
|
|
"isSigner": false
|
|
},
|
|
{
|
|
"name": "tokenProjectSecondAccount",
|
|
"isMut": true,
|
|
"isSigner": false
|
|
},
|
|
{
|
|
"name": "adminMarcoAccount",
|
|
"isMut": true,
|
|
"isSigner": false
|
|
},
|
|
{
|
|
"name": "adminProjectFirstAccount",
|
|
"isMut": true,
|
|
"isSigner": false
|
|
},
|
|
{
|
|
"name": "adminProjectSecondAccount",
|
|
"isMut": true,
|
|
"isSigner": false
|
|
},
|
|
{
|
|
"name": "admin",
|
|
"isMut": true,
|
|
"isSigner": true
|
|
},
|
|
{
|
|
"name": "programAuthority",
|
|
"isMut": false,
|
|
"isSigner": false
|
|
},
|
|
{
|
|
"name": "tokenProgram",
|
|
"isMut": false,
|
|
"isSigner": false
|
|
}
|
|
],
|
|
"args": []
|
|
},
|
|
{
|
|
"name": "updateRewardTokens",
|
|
"accounts": [
|
|
{
|
|
"name": "state",
|
|
"isMut": false,
|
|
"isSigner": false,
|
|
"pda": {
|
|
"seeds": [
|
|
{
|
|
"kind": "const",
|
|
"type": "string",
|
|
"value": "guacswapstatev1"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"name": "pool",
|
|
"isMut": false,
|
|
"isSigner": false,
|
|
"pda": {
|
|
"seeds": [
|
|
{
|
|
"kind": "const",
|
|
"type": "string",
|
|
"value": "guacswappoolv1"
|
|
},
|
|
{
|
|
"kind": "account",
|
|
"type": "publicKey",
|
|
"account": "Pool",
|
|
"path": "pool.token_x"
|
|
},
|
|
{
|
|
"kind": "account",
|
|
"type": "publicKey",
|
|
"account": "Pool",
|
|
"path": "pool.token_y"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"name": "farm",
|
|
"isMut": true,
|
|
"isSigner": false,
|
|
"pda": {
|
|
"seeds": [
|
|
{
|
|
"kind": "const",
|
|
"type": "string",
|
|
"value": "guacswapfarmv1"
|
|
},
|
|
{
|
|
"kind": "account",
|
|
"type": "publicKey",
|
|
"account": "Pool",
|
|
"path": "pool"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"name": "tokenMarcoAccount",
|
|
"isMut": true,
|
|
"isSigner": false
|
|
},
|
|
{
|
|
"name": "tokenProjectFirstAccount",
|
|
"isMut": true,
|
|
"isSigner": false
|
|
},
|
|
{
|
|
"name": "tokenProjectSecondAccount",
|
|
"isMut": true,
|
|
"isSigner": false
|
|
},
|
|
{
|
|
"name": "tokenMarco",
|
|
"isMut": false,
|
|
"isSigner": false
|
|
},
|
|
{
|
|
"name": "newTokenMarcoAccount",
|
|
"isMut": true,
|
|
"isSigner": true
|
|
},
|
|
{
|
|
"name": "admin",
|
|
"isMut": true,
|
|
"isSigner": true
|
|
},
|
|
{
|
|
"name": "programAuthority",
|
|
"isMut": false,
|
|
"isSigner": false
|
|
},
|
|
{
|
|
"name": "systemProgram",
|
|
"isMut": false,
|
|
"isSigner": false
|
|
},
|
|
{
|
|
"name": "tokenProgram",
|
|
"isMut": false,
|
|
"isSigner": false
|
|
}
|
|
],
|
|
"args": []
|
|
},
|
|
{
|
|
"name": "forceWithdrawRewards",
|
|
"accounts": [
|
|
{
|
|
"name": "state",
|
|
"isMut": false,
|
|
"isSigner": false,
|
|
"pda": {
|
|
"seeds": [
|
|
{
|
|
"kind": "const",
|
|
"type": "string",
|
|
"value": "guacswapstatev1"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"name": "pool",
|
|
"isMut": false,
|
|
"isSigner": false,
|
|
"pda": {
|
|
"seeds": [
|
|
{
|
|
"kind": "const",
|
|
"type": "string",
|
|
"value": "guacswappoolv1"
|
|
},
|
|
{
|
|
"kind": "account",
|
|
"type": "publicKey",
|
|
"account": "Pool",
|
|
"path": "pool.token_x"
|
|
},
|
|
{
|
|
"kind": "account",
|
|
"type": "publicKey",
|
|
"account": "Pool",
|
|
"path": "pool.token_y"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"name": "farm",
|
|
"isMut": true,
|
|
"isSigner": false,
|
|
"pda": {
|
|
"seeds": [
|
|
{
|
|
"kind": "const",
|
|
"type": "string",
|
|
"value": "guacswapfarmv1"
|
|
},
|
|
{
|
|
"kind": "account",
|
|
"type": "publicKey",
|
|
"account": "Pool",
|
|
"path": "pool"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"name": "provider",
|
|
"isMut": true,
|
|
"isSigner": false,
|
|
"pda": {
|
|
"seeds": [
|
|
{
|
|
"kind": "const",
|
|
"type": "string",
|
|
"value": "guacswapproviderv1"
|
|
},
|
|
{
|
|
"kind": "account",
|
|
"type": "publicKey",
|
|
"account": "Pool",
|
|
"path": "pool"
|
|
},
|
|
{
|
|
"kind": "account",
|
|
"type": "publicKey",
|
|
"account": "Provider",
|
|
"path": "provider.owner"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"name": "tokenMarcoAccount",
|
|
"isMut": true,
|
|
"isSigner": false
|
|
},
|
|
{
|
|
"name": "tokenProjectFirstAccount",
|
|
"isMut": true,
|
|
"isSigner": false
|
|
},
|
|
{
|
|
"name": "tokenProjectSecondAccount",
|
|
"isMut": true,
|
|
"isSigner": false
|
|
},
|
|
{
|
|
"name": "ownerMarcoAccount",
|
|
"isMut": true,
|
|
"isSigner": false
|
|
},
|
|
{
|
|
"name": "ownerProjectFirstAccount",
|
|
"isMut": true,
|
|
"isSigner": false
|
|
},
|
|
{
|
|
"name": "ownerProjectSecondAccount",
|
|
"isMut": true,
|
|
"isSigner": false
|
|
},
|
|
{
|
|
"name": "admin",
|
|
"isMut": true,
|
|
"isSigner": true
|
|
},
|
|
{
|
|
"name": "programAuthority",
|
|
"isMut": false,
|
|
"isSigner": false
|
|
},
|
|
{
|
|
"name": "tokenProgram",
|
|
"isMut": false,
|
|
"isSigner": false
|
|
}
|
|
],
|
|
"args": []
|
|
}
|
|
],
|
|
"accounts": [
|
|
{
|
|
"name": "Farm",
|
|
"type": {
|
|
"kind": "struct",
|
|
"fields": [
|
|
{
|
|
"name": "pool",
|
|
"type": "publicKey"
|
|
},
|
|
{
|
|
"name": "tokens",
|
|
"type": {
|
|
"array": [
|
|
"publicKey",
|
|
3
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"name": "tokenAccounts",
|
|
"type": {
|
|
"array": [
|
|
"publicKey",
|
|
3
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"name": "supply",
|
|
"type": {
|
|
"array": [
|
|
{
|
|
"defined": "Token"
|
|
},
|
|
3
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"name": "supplyLeft",
|
|
"type": {
|
|
"array": [
|
|
{
|
|
"defined": "Token"
|
|
},
|
|
3
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"name": "accumulatedSecondsPerShare",
|
|
"type": {
|
|
"defined": "FixedPoint"
|
|
}
|
|
},
|
|
{
|
|
"name": "offsetSecondsPerShare",
|
|
"type": {
|
|
"defined": "FixedPoint"
|
|
}
|
|
},
|
|
{
|
|
"name": "startTime",
|
|
"type": "u64"
|
|
},
|
|
{
|
|
"name": "endTime",
|
|
"type": "u64"
|
|
},
|
|
{
|
|
"name": "lastUpdate",
|
|
"type": "u64"
|
|
},
|
|
{
|
|
"name": "bump",
|
|
"type": "u8"
|
|
},
|
|
{
|
|
"name": "farmType",
|
|
"type": {
|
|
"defined": "FarmType"
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"name": "Pool",
|
|
"type": {
|
|
"kind": "struct",
|
|
"fields": [
|
|
{
|
|
"name": "tokenX",
|
|
"type": "publicKey"
|
|
},
|
|
{
|
|
"name": "tokenY",
|
|
"type": "publicKey"
|
|
},
|
|
{
|
|
"name": "poolXAccount",
|
|
"type": "publicKey"
|
|
},
|
|
{
|
|
"name": "poolYAccount",
|
|
"type": "publicKey"
|
|
},
|
|
{
|
|
"name": "admin",
|
|
"type": "publicKey"
|
|
},
|
|
{
|
|
"name": "projectOwner",
|
|
"type": "publicKey"
|
|
},
|
|
{
|
|
"name": "tokenXReserve",
|
|
"type": {
|
|
"defined": "Token"
|
|
}
|
|
},
|
|
{
|
|
"name": "tokenYReserve",
|
|
"type": {
|
|
"defined": "Token"
|
|
}
|
|
},
|
|
{
|
|
"name": "selfShares",
|
|
"type": {
|
|
"defined": "Token"
|
|
}
|
|
},
|
|
{
|
|
"name": "allShares",
|
|
"type": {
|
|
"defined": "Token"
|
|
}
|
|
},
|
|
{
|
|
"name": "buybackAmountX",
|
|
"type": {
|
|
"defined": "Token"
|
|
}
|
|
},
|
|
{
|
|
"name": "buybackAmountY",
|
|
"type": {
|
|
"defined": "Token"
|
|
}
|
|
},
|
|
{
|
|
"name": "projectAmountX",
|
|
"type": {
|
|
"defined": "Token"
|
|
}
|
|
},
|
|
{
|
|
"name": "projectAmountY",
|
|
"type": {
|
|
"defined": "Token"
|
|
}
|
|
},
|
|
{
|
|
"name": "mercantiAmountX",
|
|
"type": {
|
|
"defined": "Token"
|
|
}
|
|
},
|
|
{
|
|
"name": "mercantiAmountY",
|
|
"type": {
|
|
"defined": "Token"
|
|
}
|
|
},
|
|
{
|
|
"name": "lpAccumulatorX",
|
|
"type": {
|
|
"defined": "FixedPoint"
|
|
}
|
|
},
|
|
{
|
|
"name": "lpAccumulatorY",
|
|
"type": {
|
|
"defined": "FixedPoint"
|
|
}
|
|
},
|
|
{
|
|
"name": "constK",
|
|
"type": {
|
|
"defined": "Product"
|
|
}
|
|
},
|
|
{
|
|
"name": "price",
|
|
"type": {
|
|
"defined": "FixedPoint"
|
|
}
|
|
},
|
|
{
|
|
"name": "lpFee",
|
|
"type": {
|
|
"defined": "FixedPoint"
|
|
}
|
|
},
|
|
{
|
|
"name": "buybackFee",
|
|
"type": {
|
|
"defined": "FixedPoint"
|
|
}
|
|
},
|
|
{
|
|
"name": "projectFee",
|
|
"type": {
|
|
"defined": "FixedPoint"
|
|
}
|
|
},
|
|
{
|
|
"name": "mercantiFee",
|
|
"type": {
|
|
"defined": "FixedPoint"
|
|
}
|
|
},
|
|
{
|
|
"name": "farmCount",
|
|
"type": "u64"
|
|
},
|
|
{
|
|
"name": "bump",
|
|
"type": "u8"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"name": "Provider",
|
|
"type": {
|
|
"kind": "struct",
|
|
"fields": [
|
|
{
|
|
"name": "tokenX",
|
|
"type": "publicKey"
|
|
},
|
|
{
|
|
"name": "tokenY",
|
|
"type": "publicKey"
|
|
},
|
|
{
|
|
"name": "owner",
|
|
"type": "publicKey"
|
|
},
|
|
{
|
|
"name": "shares",
|
|
"type": {
|
|
"defined": "Token"
|
|
}
|
|
},
|
|
{
|
|
"name": "lastFeeAccumulatorX",
|
|
"type": {
|
|
"defined": "FixedPoint"
|
|
}
|
|
},
|
|
{
|
|
"name": "lastFeeAccumulatorY",
|
|
"type": {
|
|
"defined": "FixedPoint"
|
|
}
|
|
},
|
|
{
|
|
"name": "lastSecondsPerShare",
|
|
"type": {
|
|
"defined": "FixedPoint"
|
|
}
|
|
},
|
|
{
|
|
"name": "lastWithdrawTime",
|
|
"type": "u64"
|
|
},
|
|
{
|
|
"name": "tokensOwedX",
|
|
"type": {
|
|
"defined": "Token"
|
|
}
|
|
},
|
|
{
|
|
"name": "tokensOwedY",
|
|
"type": {
|
|
"defined": "Token"
|
|
}
|
|
},
|
|
{
|
|
"name": "currentFarmCount",
|
|
"type": "u64"
|
|
},
|
|
{
|
|
"name": "bump",
|
|
"type": "u8"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"name": "State",
|
|
"type": {
|
|
"kind": "struct",
|
|
"fields": [
|
|
{
|
|
"name": "admin",
|
|
"type": "publicKey"
|
|
},
|
|
{
|
|
"name": "programAuthority",
|
|
"type": "publicKey"
|
|
},
|
|
{
|
|
"name": "bump",
|
|
"type": "u8"
|
|
},
|
|
{
|
|
"name": "nonce",
|
|
"type": "u8"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
],
|
|
"types": [
|
|
{
|
|
"name": "FixedPoint",
|
|
"type": {
|
|
"kind": "struct",
|
|
"fields": [
|
|
{
|
|
"name": "v",
|
|
"type": "u128"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"name": "Token",
|
|
"type": {
|
|
"kind": "struct",
|
|
"fields": [
|
|
{
|
|
"name": "v",
|
|
"type": "u64"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"name": "Product",
|
|
"type": {
|
|
"kind": "struct",
|
|
"fields": [
|
|
{
|
|
"name": "v",
|
|
"type": "u128"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"name": "FarmType",
|
|
"type": {
|
|
"kind": "enum",
|
|
"variants": [
|
|
{
|
|
"name": "Single"
|
|
},
|
|
{
|
|
"name": "Dual"
|
|
},
|
|
{
|
|
"name": "Triple"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
],
|
|
"errors": [
|
|
{
|
|
"code": 6000,
|
|
"name": "DeltaTooBig",
|
|
"msg": "Delta greater than provider's tokens"
|
|
},
|
|
{
|
|
"code": 6001,
|
|
"name": "TokenUnderflow",
|
|
"msg": "Token amount underflow"
|
|
},
|
|
{
|
|
"code": 6002,
|
|
"name": "WrongRatio",
|
|
"msg": "Wrong tokens ratio"
|
|
},
|
|
{
|
|
"code": 6003,
|
|
"name": "TooMuchShares",
|
|
"msg": "Too much shares provided"
|
|
},
|
|
{
|
|
"code": 6004,
|
|
"name": "SwapToBig",
|
|
"msg": "Swap too big"
|
|
},
|
|
{
|
|
"code": 6005,
|
|
"name": "FeeExceeded",
|
|
"msg": "Fee exceeded 100%"
|
|
},
|
|
{
|
|
"code": 6007,
|
|
"name": "ScalesNotEqual",
|
|
"msg": "Scales have to be equal"
|
|
},
|
|
{
|
|
"code": 6008,
|
|
"name": "FeeExceededDeltaOut",
|
|
"msg": "Fees exceeded delta_out"
|
|
},
|
|
{
|
|
"code": 6009,
|
|
"name": "PriceLimitExceeded",
|
|
"msg": "Price limit exceeded"
|
|
},
|
|
{
|
|
"code": 6010,
|
|
"name": "MintMismatch",
|
|
"msg": "Mint mismatch"
|
|
},
|
|
{
|
|
"code": 6011,
|
|
"name": "TokensAreTheSame",
|
|
"msg": "Tokens are the same"
|
|
},
|
|
{
|
|
"code": 6012,
|
|
"name": "WrongFarm",
|
|
"msg": "Cannot add supply to wrong farm"
|
|
},
|
|
{
|
|
"code": 6013,
|
|
"name": "RewardsExceedingSupply",
|
|
"msg": "Cannot withdraw rewards exceeding supply left"
|
|
},
|
|
{
|
|
"code": 6014,
|
|
"name": "FarmNotEnded",
|
|
"msg": "Farm has not ended, cannot add additional rewards"
|
|
},
|
|
{
|
|
"code": 6015,
|
|
"name": "ZeroAmount",
|
|
"msg": "Must provide a nonzero amount"
|
|
},
|
|
{
|
|
"code": 6016,
|
|
"name": "InvariantDecreased",
|
|
"msg": "Invariant has changed"
|
|
}
|
|
]
|
|
} |