5783 lines
135 KiB
JSON
5783 lines
135 KiB
JSON
|
|
{
|
|||
|
|
"address": "LanMV9sAd7wArD4vJFi2qDdfnVhFxYSUg6eADduJ3uj",
|
|||
|
|
"metadata": {
|
|||
|
|
"name": "raydium_launchpad",
|
|||
|
|
"version": "0.2.0",
|
|||
|
|
"spec": "0.1.0",
|
|||
|
|
"description": "Created with Anchor"
|
|||
|
|
},
|
|||
|
|
"instructions": [
|
|||
|
|
{
|
|||
|
|
"name": "buy_exact_in",
|
|||
|
|
"docs": [
|
|||
|
|
"Use the given amount of quote tokens to purchase base tokens.",
|
|||
|
|
"# Arguments",
|
|||
|
|
"",
|
|||
|
|
"* `ctx` - The context of accounts",
|
|||
|
|
"* `amount_in` - Amount of quote token to purchase",
|
|||
|
|
"* `minimum_amount_out` - Minimum amount of base token to receive (slippage protection)",
|
|||
|
|
"* `share_fee_rate` - Fee rate for the share",
|
|||
|
|
""
|
|||
|
|
],
|
|||
|
|
"discriminator": [
|
|||
|
|
250,
|
|||
|
|
234,
|
|||
|
|
13,
|
|||
|
|
123,
|
|||
|
|
213,
|
|||
|
|
156,
|
|||
|
|
19,
|
|||
|
|
236
|
|||
|
|
],
|
|||
|
|
"accounts": [
|
|||
|
|
{
|
|||
|
|
"name": "payer",
|
|||
|
|
"docs": [
|
|||
|
|
"The user performing the swap operation",
|
|||
|
|
"Must sign the transaction and pay for fees"
|
|||
|
|
],
|
|||
|
|
"signer": true
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "authority",
|
|||
|
|
"docs": [
|
|||
|
|
"PDA that acts as the authority for pool vault operations",
|
|||
|
|
"Generated using AUTH_SEED"
|
|||
|
|
],
|
|||
|
|
"pda": {
|
|||
|
|
"seeds": [
|
|||
|
|
{
|
|||
|
|
"kind": "const",
|
|||
|
|
"value": [
|
|||
|
|
118,
|
|||
|
|
97,
|
|||
|
|
117,
|
|||
|
|
108,
|
|||
|
|
116,
|
|||
|
|
95,
|
|||
|
|
97,
|
|||
|
|
117,
|
|||
|
|
116,
|
|||
|
|
104,
|
|||
|
|
95,
|
|||
|
|
115,
|
|||
|
|
101,
|
|||
|
|
101,
|
|||
|
|
100
|
|||
|
|
]
|
|||
|
|
}
|
|||
|
|
]
|
|||
|
|
}
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "global_config",
|
|||
|
|
"docs": [
|
|||
|
|
"Global configuration account containing protocol-wide settings",
|
|||
|
|
"Used to read protocol fee rates and curve type"
|
|||
|
|
]
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "platform_config",
|
|||
|
|
"docs": [
|
|||
|
|
"Platform configuration account containing platform-wide settings",
|
|||
|
|
"Used to read platform fee rate"
|
|||
|
|
]
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "pool_state",
|
|||
|
|
"docs": [
|
|||
|
|
"The pool state account where the swap will be performed",
|
|||
|
|
"Contains current pool parameters and balances"
|
|||
|
|
],
|
|||
|
|
"writable": true
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "user_base_token",
|
|||
|
|
"docs": [
|
|||
|
|
"The user's token account for base tokens (tokens being bought)",
|
|||
|
|
"Will receive the output tokens after the swap"
|
|||
|
|
],
|
|||
|
|
"writable": true
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "user_quote_token",
|
|||
|
|
"docs": [
|
|||
|
|
"The user's token account for quote tokens (tokens being sold)",
|
|||
|
|
"Will be debited for the input amount"
|
|||
|
|
],
|
|||
|
|
"writable": true
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "base_vault",
|
|||
|
|
"docs": [
|
|||
|
|
"The pool's vault for base tokens",
|
|||
|
|
"Will be debited to send tokens to the user"
|
|||
|
|
],
|
|||
|
|
"writable": true
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "quote_vault",
|
|||
|
|
"docs": [
|
|||
|
|
"The pool's vault for quote tokens",
|
|||
|
|
"Will receive the input tokens from the user"
|
|||
|
|
],
|
|||
|
|
"writable": true
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "base_token_mint",
|
|||
|
|
"docs": [
|
|||
|
|
"The mint of the base token",
|
|||
|
|
"Used for transfer fee calculations if applicable"
|
|||
|
|
]
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "quote_token_mint",
|
|||
|
|
"docs": [
|
|||
|
|
"The mint of the quote token"
|
|||
|
|
]
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "base_token_program",
|
|||
|
|
"docs": [
|
|||
|
|
"SPL Token program for base token transfers"
|
|||
|
|
]
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "quote_token_program",
|
|||
|
|
"docs": [
|
|||
|
|
"SPL Token program for quote token transfers"
|
|||
|
|
],
|
|||
|
|
"address": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA"
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "event_authority",
|
|||
|
|
"pda": {
|
|||
|
|
"seeds": [
|
|||
|
|
{
|
|||
|
|
"kind": "const",
|
|||
|
|
"value": [
|
|||
|
|
95,
|
|||
|
|
95,
|
|||
|
|
101,
|
|||
|
|
118,
|
|||
|
|
101,
|
|||
|
|
110,
|
|||
|
|
116,
|
|||
|
|
95,
|
|||
|
|
97,
|
|||
|
|
117,
|
|||
|
|
116,
|
|||
|
|
104,
|
|||
|
|
111,
|
|||
|
|
114,
|
|||
|
|
105,
|
|||
|
|
116,
|
|||
|
|
121
|
|||
|
|
]
|
|||
|
|
}
|
|||
|
|
]
|
|||
|
|
}
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "program"
|
|||
|
|
}
|
|||
|
|
],
|
|||
|
|
"args": [
|
|||
|
|
{
|
|||
|
|
"name": "amount_in",
|
|||
|
|
"type": "u64"
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "minimum_amount_out",
|
|||
|
|
"type": "u64"
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "share_fee_rate",
|
|||
|
|
"type": "u64"
|
|||
|
|
}
|
|||
|
|
]
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "buy_exact_out",
|
|||
|
|
"docs": [
|
|||
|
|
"Use quote tokens to purchase the given amount of base tokens.",
|
|||
|
|
"# Arguments",
|
|||
|
|
"",
|
|||
|
|
"* `ctx` - The context of accounts",
|
|||
|
|
"* `amount_out` - Amount of base token to receive",
|
|||
|
|
"* `maximum_amount_in` - Maximum amount of quote token to purchase (slippage protection)",
|
|||
|
|
"* `share_fee_rate` - Fee rate for the share"
|
|||
|
|
],
|
|||
|
|
"discriminator": [
|
|||
|
|
24,
|
|||
|
|
211,
|
|||
|
|
116,
|
|||
|
|
40,
|
|||
|
|
105,
|
|||
|
|
3,
|
|||
|
|
153,
|
|||
|
|
56
|
|||
|
|
],
|
|||
|
|
"accounts": [
|
|||
|
|
{
|
|||
|
|
"name": "payer",
|
|||
|
|
"docs": [
|
|||
|
|
"The user performing the swap operation",
|
|||
|
|
"Must sign the transaction and pay for fees"
|
|||
|
|
],
|
|||
|
|
"signer": true
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "authority",
|
|||
|
|
"docs": [
|
|||
|
|
"PDA that acts as the authority for pool vault operations",
|
|||
|
|
"Generated using AUTH_SEED"
|
|||
|
|
],
|
|||
|
|
"pda": {
|
|||
|
|
"seeds": [
|
|||
|
|
{
|
|||
|
|
"kind": "const",
|
|||
|
|
"value": [
|
|||
|
|
118,
|
|||
|
|
97,
|
|||
|
|
117,
|
|||
|
|
108,
|
|||
|
|
116,
|
|||
|
|
95,
|
|||
|
|
97,
|
|||
|
|
117,
|
|||
|
|
116,
|
|||
|
|
104,
|
|||
|
|
95,
|
|||
|
|
115,
|
|||
|
|
101,
|
|||
|
|
101,
|
|||
|
|
100
|
|||
|
|
]
|
|||
|
|
}
|
|||
|
|
]
|
|||
|
|
}
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "global_config",
|
|||
|
|
"docs": [
|
|||
|
|
"Global configuration account containing protocol-wide settings",
|
|||
|
|
"Used to read protocol fee rates and curve type"
|
|||
|
|
]
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "platform_config",
|
|||
|
|
"docs": [
|
|||
|
|
"Platform configuration account containing platform-wide settings",
|
|||
|
|
"Used to read platform fee rate"
|
|||
|
|
]
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "pool_state",
|
|||
|
|
"docs": [
|
|||
|
|
"The pool state account where the swap will be performed",
|
|||
|
|
"Contains current pool parameters and balances"
|
|||
|
|
],
|
|||
|
|
"writable": true
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "user_base_token",
|
|||
|
|
"docs": [
|
|||
|
|
"The user's token account for base tokens (tokens being bought)",
|
|||
|
|
"Will receive the output tokens after the swap"
|
|||
|
|
],
|
|||
|
|
"writable": true
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "user_quote_token",
|
|||
|
|
"docs": [
|
|||
|
|
"The user's token account for quote tokens (tokens being sold)",
|
|||
|
|
"Will be debited for the input amount"
|
|||
|
|
],
|
|||
|
|
"writable": true
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "base_vault",
|
|||
|
|
"docs": [
|
|||
|
|
"The pool's vault for base tokens",
|
|||
|
|
"Will be debited to send tokens to the user"
|
|||
|
|
],
|
|||
|
|
"writable": true
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "quote_vault",
|
|||
|
|
"docs": [
|
|||
|
|
"The pool's vault for quote tokens",
|
|||
|
|
"Will receive the input tokens from the user"
|
|||
|
|
],
|
|||
|
|
"writable": true
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "base_token_mint",
|
|||
|
|
"docs": [
|
|||
|
|
"The mint of the base token",
|
|||
|
|
"Used for transfer fee calculations if applicable"
|
|||
|
|
]
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "quote_token_mint",
|
|||
|
|
"docs": [
|
|||
|
|
"The mint of the quote token"
|
|||
|
|
]
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "base_token_program",
|
|||
|
|
"docs": [
|
|||
|
|
"SPL Token program for base token transfers"
|
|||
|
|
]
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "quote_token_program",
|
|||
|
|
"docs": [
|
|||
|
|
"SPL Token program for quote token transfers"
|
|||
|
|
],
|
|||
|
|
"address": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA"
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "event_authority",
|
|||
|
|
"pda": {
|
|||
|
|
"seeds": [
|
|||
|
|
{
|
|||
|
|
"kind": "const",
|
|||
|
|
"value": [
|
|||
|
|
95,
|
|||
|
|
95,
|
|||
|
|
101,
|
|||
|
|
118,
|
|||
|
|
101,
|
|||
|
|
110,
|
|||
|
|
116,
|
|||
|
|
95,
|
|||
|
|
97,
|
|||
|
|
117,
|
|||
|
|
116,
|
|||
|
|
104,
|
|||
|
|
111,
|
|||
|
|
114,
|
|||
|
|
105,
|
|||
|
|
116,
|
|||
|
|
121
|
|||
|
|
]
|
|||
|
|
}
|
|||
|
|
]
|
|||
|
|
}
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "program"
|
|||
|
|
}
|
|||
|
|
],
|
|||
|
|
"args": [
|
|||
|
|
{
|
|||
|
|
"name": "amount_out",
|
|||
|
|
"type": "u64"
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "maximum_amount_in",
|
|||
|
|
"type": "u64"
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "share_fee_rate",
|
|||
|
|
"type": "u64"
|
|||
|
|
}
|
|||
|
|
]
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "claim_creator_fee",
|
|||
|
|
"docs": [
|
|||
|
|
"Claim the fee from the exclusive creator fee vault.",
|
|||
|
|
"# Arguments",
|
|||
|
|
"",
|
|||
|
|
"* `ctx` - The context of accounts",
|
|||
|
|
""
|
|||
|
|
],
|
|||
|
|
"discriminator": [
|
|||
|
|
26,
|
|||
|
|
97,
|
|||
|
|
138,
|
|||
|
|
203,
|
|||
|
|
132,
|
|||
|
|
171,
|
|||
|
|
141,
|
|||
|
|
252
|
|||
|
|
],
|
|||
|
|
"accounts": [
|
|||
|
|
{
|
|||
|
|
"name": "creator",
|
|||
|
|
"docs": [
|
|||
|
|
"The pool creator"
|
|||
|
|
],
|
|||
|
|
"writable": true,
|
|||
|
|
"signer": true
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "fee_vault_authority",
|
|||
|
|
"pda": {
|
|||
|
|
"seeds": [
|
|||
|
|
{
|
|||
|
|
"kind": "const",
|
|||
|
|
"value": [
|
|||
|
|
99,
|
|||
|
|
114,
|
|||
|
|
101,
|
|||
|
|
97,
|
|||
|
|
116,
|
|||
|
|
111,
|
|||
|
|
114,
|
|||
|
|
95,
|
|||
|
|
102,
|
|||
|
|
101,
|
|||
|
|
101,
|
|||
|
|
95,
|
|||
|
|
118,
|
|||
|
|
97,
|
|||
|
|
117,
|
|||
|
|
108,
|
|||
|
|
116,
|
|||
|
|
95,
|
|||
|
|
97,
|
|||
|
|
117,
|
|||
|
|
116,
|
|||
|
|
104,
|
|||
|
|
95,
|
|||
|
|
115,
|
|||
|
|
101,
|
|||
|
|
101,
|
|||
|
|
100
|
|||
|
|
]
|
|||
|
|
}
|
|||
|
|
]
|
|||
|
|
}
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "creator_fee_vault",
|
|||
|
|
"docs": [
|
|||
|
|
"The creator fee vault"
|
|||
|
|
],
|
|||
|
|
"writable": true,
|
|||
|
|
"pda": {
|
|||
|
|
"seeds": [
|
|||
|
|
{
|
|||
|
|
"kind": "account",
|
|||
|
|
"path": "creator"
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"kind": "account",
|
|||
|
|
"path": "quote_mint"
|
|||
|
|
}
|
|||
|
|
]
|
|||
|
|
}
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "recipient_token_account",
|
|||
|
|
"writable": true,
|
|||
|
|
"pda": {
|
|||
|
|
"seeds": [
|
|||
|
|
{
|
|||
|
|
"kind": "account",
|
|||
|
|
"path": "creator"
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"kind": "account",
|
|||
|
|
"path": "token_program"
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"kind": "account",
|
|||
|
|
"path": "quote_mint"
|
|||
|
|
}
|
|||
|
|
],
|
|||
|
|
"program": {
|
|||
|
|
"kind": "const",
|
|||
|
|
"value": [
|
|||
|
|
140,
|
|||
|
|
151,
|
|||
|
|
37,
|
|||
|
|
143,
|
|||
|
|
78,
|
|||
|
|
36,
|
|||
|
|
137,
|
|||
|
|
241,
|
|||
|
|
187,
|
|||
|
|
61,
|
|||
|
|
16,
|
|||
|
|
41,
|
|||
|
|
20,
|
|||
|
|
142,
|
|||
|
|
13,
|
|||
|
|
131,
|
|||
|
|
11,
|
|||
|
|
90,
|
|||
|
|
19,
|
|||
|
|
153,
|
|||
|
|
218,
|
|||
|
|
255,
|
|||
|
|
16,
|
|||
|
|
132,
|
|||
|
|
4,
|
|||
|
|
142,
|
|||
|
|
123,
|
|||
|
|
216,
|
|||
|
|
219,
|
|||
|
|
233,
|
|||
|
|
248,
|
|||
|
|
89
|
|||
|
|
]
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "quote_mint",
|
|||
|
|
"docs": [
|
|||
|
|
"The mint for the quote token"
|
|||
|
|
]
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "token_program",
|
|||
|
|
"docs": [
|
|||
|
|
"SPL Token program for the quote token"
|
|||
|
|
],
|
|||
|
|
"address": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA"
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "system_program",
|
|||
|
|
"docs": [
|
|||
|
|
"Required for account creation"
|
|||
|
|
],
|
|||
|
|
"address": "11111111111111111111111111111111"
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "associated_token_program",
|
|||
|
|
"docs": [
|
|||
|
|
"Required for associated token program"
|
|||
|
|
],
|
|||
|
|
"address": "ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL"
|
|||
|
|
}
|
|||
|
|
],
|
|||
|
|
"args": []
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "claim_platform_fee",
|
|||
|
|
"docs": [
|
|||
|
|
"Claim platform fee",
|
|||
|
|
"# Arguments",
|
|||
|
|
"",
|
|||
|
|
"* `ctx` - The context of accounts",
|
|||
|
|
""
|
|||
|
|
],
|
|||
|
|
"discriminator": [
|
|||
|
|
156,
|
|||
|
|
39,
|
|||
|
|
208,
|
|||
|
|
135,
|
|||
|
|
76,
|
|||
|
|
237,
|
|||
|
|
61,
|
|||
|
|
72
|
|||
|
|
],
|
|||
|
|
"accounts": [
|
|||
|
|
{
|
|||
|
|
"name": "platform_fee_wallet",
|
|||
|
|
"docs": [
|
|||
|
|
"Only the wallet stored in platform_config can collect platform fees"
|
|||
|
|
],
|
|||
|
|
"writable": true,
|
|||
|
|
"signer": true
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "authority",
|
|||
|
|
"docs": [
|
|||
|
|
"PDA that acts as the authority for pool vault and mint operations",
|
|||
|
|
"Generated using AUTH_SEED"
|
|||
|
|
],
|
|||
|
|
"pda": {
|
|||
|
|
"seeds": [
|
|||
|
|
{
|
|||
|
|
"kind": "const",
|
|||
|
|
"value": [
|
|||
|
|
118,
|
|||
|
|
97,
|
|||
|
|
117,
|
|||
|
|
108,
|
|||
|
|
116,
|
|||
|
|
95,
|
|||
|
|
97,
|
|||
|
|
117,
|
|||
|
|
116,
|
|||
|
|
104,
|
|||
|
|
95,
|
|||
|
|
115,
|
|||
|
|
101,
|
|||
|
|
101,
|
|||
|
|
100
|
|||
|
|
]
|
|||
|
|
}
|
|||
|
|
]
|
|||
|
|
}
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "pool_state",
|
|||
|
|
"docs": [
|
|||
|
|
"Account that stores the pool's state and parameters",
|
|||
|
|
"PDA generated using POOL_SEED and both token mints"
|
|||
|
|
],
|
|||
|
|
"writable": true
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "platform_config",
|
|||
|
|
"docs": [
|
|||
|
|
"The platform config account"
|
|||
|
|
]
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "quote_vault",
|
|||
|
|
"writable": true
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "recipient_token_account",
|
|||
|
|
"docs": [
|
|||
|
|
"The address that receives the collected quote token fees"
|
|||
|
|
],
|
|||
|
|
"writable": true,
|
|||
|
|
"pda": {
|
|||
|
|
"seeds": [
|
|||
|
|
{
|
|||
|
|
"kind": "account",
|
|||
|
|
"path": "platform_fee_wallet"
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"kind": "account",
|
|||
|
|
"path": "token_program"
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"kind": "account",
|
|||
|
|
"path": "quote_mint"
|
|||
|
|
}
|
|||
|
|
],
|
|||
|
|
"program": {
|
|||
|
|
"kind": "const",
|
|||
|
|
"value": [
|
|||
|
|
140,
|
|||
|
|
151,
|
|||
|
|
37,
|
|||
|
|
143,
|
|||
|
|
78,
|
|||
|
|
36,
|
|||
|
|
137,
|
|||
|
|
241,
|
|||
|
|
187,
|
|||
|
|
61,
|
|||
|
|
16,
|
|||
|
|
41,
|
|||
|
|
20,
|
|||
|
|
142,
|
|||
|
|
13,
|
|||
|
|
131,
|
|||
|
|
11,
|
|||
|
|
90,
|
|||
|
|
19,
|
|||
|
|
153,
|
|||
|
|
218,
|
|||
|
|
255,
|
|||
|
|
16,
|
|||
|
|
132,
|
|||
|
|
4,
|
|||
|
|
142,
|
|||
|
|
123,
|
|||
|
|
216,
|
|||
|
|
219,
|
|||
|
|
233,
|
|||
|
|
248,
|
|||
|
|
89
|
|||
|
|
]
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "quote_mint",
|
|||
|
|
"docs": [
|
|||
|
|
"The mint of quote token vault"
|
|||
|
|
]
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "token_program",
|
|||
|
|
"docs": [
|
|||
|
|
"SPL program for input token transfers"
|
|||
|
|
],
|
|||
|
|
"address": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA"
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "system_program",
|
|||
|
|
"docs": [
|
|||
|
|
"Required for account creation"
|
|||
|
|
],
|
|||
|
|
"address": "11111111111111111111111111111111"
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "associated_token_program",
|
|||
|
|
"docs": [
|
|||
|
|
"Required for associated token program"
|
|||
|
|
],
|
|||
|
|
"address": "ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL"
|
|||
|
|
}
|
|||
|
|
],
|
|||
|
|
"args": []
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "claim_platform_fee_from_vault",
|
|||
|
|
"docs": [
|
|||
|
|
"Claim the fee from the exclusive platform fee vault.",
|
|||
|
|
"# Arguments",
|
|||
|
|
"",
|
|||
|
|
"* `ctx` - The context of accounts",
|
|||
|
|
""
|
|||
|
|
],
|
|||
|
|
"discriminator": [
|
|||
|
|
117,
|
|||
|
|
241,
|
|||
|
|
198,
|
|||
|
|
168,
|
|||
|
|
248,
|
|||
|
|
218,
|
|||
|
|
80,
|
|||
|
|
29
|
|||
|
|
],
|
|||
|
|
"accounts": [
|
|||
|
|
{
|
|||
|
|
"name": "platform_fee_wallet",
|
|||
|
|
"docs": [
|
|||
|
|
"Only the wallet stored in platform_config can collect platform fees"
|
|||
|
|
],
|
|||
|
|
"writable": true,
|
|||
|
|
"signer": true
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "fee_vault_authority",
|
|||
|
|
"pda": {
|
|||
|
|
"seeds": [
|
|||
|
|
{
|
|||
|
|
"kind": "const",
|
|||
|
|
"value": [
|
|||
|
|
112,
|
|||
|
|
108,
|
|||
|
|
97,
|
|||
|
|
116,
|
|||
|
|
102,
|
|||
|
|
111,
|
|||
|
|
114,
|
|||
|
|
109,
|
|||
|
|
95,
|
|||
|
|
102,
|
|||
|
|
101,
|
|||
|
|
101,
|
|||
|
|
95,
|
|||
|
|
118,
|
|||
|
|
97,
|
|||
|
|
117,
|
|||
|
|
108,
|
|||
|
|
116,
|
|||
|
|
95,
|
|||
|
|
97,
|
|||
|
|
117,
|
|||
|
|
116,
|
|||
|
|
104,
|
|||
|
|
95,
|
|||
|
|
115,
|
|||
|
|
101,
|
|||
|
|
101,
|
|||
|
|
100
|
|||
|
|
]
|
|||
|
|
}
|
|||
|
|
]
|
|||
|
|
}
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "platform_config",
|
|||
|
|
"docs": [
|
|||
|
|
"The platform config account"
|
|||
|
|
]
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "platform_fee_vault",
|
|||
|
|
"docs": [
|
|||
|
|
"The platform fee vault"
|
|||
|
|
],
|
|||
|
|
"writable": true,
|
|||
|
|
"pda": {
|
|||
|
|
"seeds": [
|
|||
|
|
{
|
|||
|
|
"kind": "account",
|
|||
|
|
"path": "platform_config"
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"kind": "account",
|
|||
|
|
"path": "quote_mint"
|
|||
|
|
}
|
|||
|
|
]
|
|||
|
|
}
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "recipient_token_account",
|
|||
|
|
"docs": [
|
|||
|
|
"The address that receives the collected quote token fees"
|
|||
|
|
],
|
|||
|
|
"writable": true,
|
|||
|
|
"pda": {
|
|||
|
|
"seeds": [
|
|||
|
|
{
|
|||
|
|
"kind": "account",
|
|||
|
|
"path": "platform_fee_wallet"
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"kind": "account",
|
|||
|
|
"path": "token_program"
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"kind": "account",
|
|||
|
|
"path": "quote_mint"
|
|||
|
|
}
|
|||
|
|
],
|
|||
|
|
"program": {
|
|||
|
|
"kind": "const",
|
|||
|
|
"value": [
|
|||
|
|
140,
|
|||
|
|
151,
|
|||
|
|
37,
|
|||
|
|
143,
|
|||
|
|
78,
|
|||
|
|
36,
|
|||
|
|
137,
|
|||
|
|
241,
|
|||
|
|
187,
|
|||
|
|
61,
|
|||
|
|
16,
|
|||
|
|
41,
|
|||
|
|
20,
|
|||
|
|
142,
|
|||
|
|
13,
|
|||
|
|
131,
|
|||
|
|
11,
|
|||
|
|
90,
|
|||
|
|
19,
|
|||
|
|
153,
|
|||
|
|
218,
|
|||
|
|
255,
|
|||
|
|
16,
|
|||
|
|
132,
|
|||
|
|
4,
|
|||
|
|
142,
|
|||
|
|
123,
|
|||
|
|
216,
|
|||
|
|
219,
|
|||
|
|
233,
|
|||
|
|
248,
|
|||
|
|
89
|
|||
|
|
]
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "quote_mint",
|
|||
|
|
"docs": [
|
|||
|
|
"The mint of quote token vault"
|
|||
|
|
]
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "token_program",
|
|||
|
|
"docs": [
|
|||
|
|
"SPL program for input token transfers"
|
|||
|
|
],
|
|||
|
|
"address": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA"
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "system_program",
|
|||
|
|
"docs": [
|
|||
|
|
"Required for account creation"
|
|||
|
|
],
|
|||
|
|
"address": "11111111111111111111111111111111"
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "associated_token_program",
|
|||
|
|
"docs": [
|
|||
|
|
"Required for associated token program"
|
|||
|
|
],
|
|||
|
|
"address": "ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL"
|
|||
|
|
}
|
|||
|
|
],
|
|||
|
|
"args": []
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "claim_vested_token",
|
|||
|
|
"docs": [
|
|||
|
|
"Claim vested token",
|
|||
|
|
"# Arguments"
|
|||
|
|
],
|
|||
|
|
"discriminator": [
|
|||
|
|
49,
|
|||
|
|
33,
|
|||
|
|
104,
|
|||
|
|
30,
|
|||
|
|
189,
|
|||
|
|
157,
|
|||
|
|
79,
|
|||
|
|
35
|
|||
|
|
],
|
|||
|
|
"accounts": [
|
|||
|
|
{
|
|||
|
|
"name": "beneficiary",
|
|||
|
|
"docs": [
|
|||
|
|
"The beneficiary of the vesting account"
|
|||
|
|
],
|
|||
|
|
"writable": true,
|
|||
|
|
"signer": true
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "authority",
|
|||
|
|
"docs": [
|
|||
|
|
"PDA that acts as the authority for pool vault and mint operations",
|
|||
|
|
"Generated using AUTH_SEED"
|
|||
|
|
],
|
|||
|
|
"pda": {
|
|||
|
|
"seeds": [
|
|||
|
|
{
|
|||
|
|
"kind": "const",
|
|||
|
|
"value": [
|
|||
|
|
118,
|
|||
|
|
97,
|
|||
|
|
117,
|
|||
|
|
108,
|
|||
|
|
116,
|
|||
|
|
95,
|
|||
|
|
97,
|
|||
|
|
117,
|
|||
|
|
116,
|
|||
|
|
104,
|
|||
|
|
95,
|
|||
|
|
115,
|
|||
|
|
101,
|
|||
|
|
101,
|
|||
|
|
100
|
|||
|
|
]
|
|||
|
|
}
|
|||
|
|
]
|
|||
|
|
}
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "pool_state",
|
|||
|
|
"docs": [
|
|||
|
|
"Account that stores the pool's state and parameters",
|
|||
|
|
"PDA generated using POOL_SEED and both token mints"
|
|||
|
|
],
|
|||
|
|
"writable": true
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "vesting_record",
|
|||
|
|
"docs": [
|
|||
|
|
"The vesting record account"
|
|||
|
|
],
|
|||
|
|
"writable": true,
|
|||
|
|
"pda": {
|
|||
|
|
"seeds": [
|
|||
|
|
{
|
|||
|
|
"kind": "const",
|
|||
|
|
"value": [
|
|||
|
|
112,
|
|||
|
|
111,
|
|||
|
|
111,
|
|||
|
|
108,
|
|||
|
|
95,
|
|||
|
|
118,
|
|||
|
|
101,
|
|||
|
|
115,
|
|||
|
|
116,
|
|||
|
|
105,
|
|||
|
|
110,
|
|||
|
|
103
|
|||
|
|
]
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"kind": "account",
|
|||
|
|
"path": "pool_state"
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"kind": "account",
|
|||
|
|
"path": "beneficiary"
|
|||
|
|
}
|
|||
|
|
]
|
|||
|
|
}
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "base_vault",
|
|||
|
|
"docs": [
|
|||
|
|
"The pool's vault for base tokens",
|
|||
|
|
"Will be debited to send tokens to the user"
|
|||
|
|
],
|
|||
|
|
"writable": true
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "user_base_token",
|
|||
|
|
"writable": true,
|
|||
|
|
"pda": {
|
|||
|
|
"seeds": [
|
|||
|
|
{
|
|||
|
|
"kind": "account",
|
|||
|
|
"path": "beneficiary"
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"kind": "account",
|
|||
|
|
"path": "base_token_program"
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"kind": "account",
|
|||
|
|
"path": "base_token_mint"
|
|||
|
|
}
|
|||
|
|
],
|
|||
|
|
"program": {
|
|||
|
|
"kind": "const",
|
|||
|
|
"value": [
|
|||
|
|
140,
|
|||
|
|
151,
|
|||
|
|
37,
|
|||
|
|
143,
|
|||
|
|
78,
|
|||
|
|
36,
|
|||
|
|
137,
|
|||
|
|
241,
|
|||
|
|
187,
|
|||
|
|
61,
|
|||
|
|
16,
|
|||
|
|
41,
|
|||
|
|
20,
|
|||
|
|
142,
|
|||
|
|
13,
|
|||
|
|
131,
|
|||
|
|
11,
|
|||
|
|
90,
|
|||
|
|
19,
|
|||
|
|
153,
|
|||
|
|
218,
|
|||
|
|
255,
|
|||
|
|
16,
|
|||
|
|
132,
|
|||
|
|
4,
|
|||
|
|
142,
|
|||
|
|
123,
|
|||
|
|
216,
|
|||
|
|
219,
|
|||
|
|
233,
|
|||
|
|
248,
|
|||
|
|
89
|
|||
|
|
]
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "base_token_mint",
|
|||
|
|
"docs": [
|
|||
|
|
"The mint for the base token (token being sold)",
|
|||
|
|
"Created in this instruction with specified decimals"
|
|||
|
|
]
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "base_token_program",
|
|||
|
|
"docs": [
|
|||
|
|
"SPL Token program for the base token",
|
|||
|
|
"Must be the standard Token program"
|
|||
|
|
],
|
|||
|
|
"address": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA"
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "system_program",
|
|||
|
|
"docs": [
|
|||
|
|
"Required for account creation"
|
|||
|
|
],
|
|||
|
|
"address": "11111111111111111111111111111111"
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "associated_token_program",
|
|||
|
|
"docs": [
|
|||
|
|
"Required for associated token program"
|
|||
|
|
],
|
|||
|
|
"address": "ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL"
|
|||
|
|
}
|
|||
|
|
],
|
|||
|
|
"args": []
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "collect_fee",
|
|||
|
|
"docs": [
|
|||
|
|
"Collects accumulated fees from the pool",
|
|||
|
|
"# Arguments",
|
|||
|
|
"",
|
|||
|
|
"* `ctx` - The context of accounts",
|
|||
|
|
""
|
|||
|
|
],
|
|||
|
|
"discriminator": [
|
|||
|
|
60,
|
|||
|
|
173,
|
|||
|
|
247,
|
|||
|
|
103,
|
|||
|
|
4,
|
|||
|
|
93,
|
|||
|
|
130,
|
|||
|
|
48
|
|||
|
|
],
|
|||
|
|
"accounts": [
|
|||
|
|
{
|
|||
|
|
"name": "owner",
|
|||
|
|
"docs": [
|
|||
|
|
"Only protocol_fee_owner saved in global_config can collect protocol fee now"
|
|||
|
|
],
|
|||
|
|
"signer": true
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "authority",
|
|||
|
|
"pda": {
|
|||
|
|
"seeds": [
|
|||
|
|
{
|
|||
|
|
"kind": "const",
|
|||
|
|
"value": [
|
|||
|
|
118,
|
|||
|
|
97,
|
|||
|
|
117,
|
|||
|
|
108,
|
|||
|
|
116,
|
|||
|
|
95,
|
|||
|
|
97,
|
|||
|
|
117,
|
|||
|
|
116,
|
|||
|
|
104,
|
|||
|
|
95,
|
|||
|
|
115,
|
|||
|
|
101,
|
|||
|
|
101,
|
|||
|
|
100
|
|||
|
|
]
|
|||
|
|
}
|
|||
|
|
]
|
|||
|
|
}
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "pool_state",
|
|||
|
|
"docs": [
|
|||
|
|
"Pool state stores accumulated protocol fee amount"
|
|||
|
|
],
|
|||
|
|
"writable": true
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "global_config",
|
|||
|
|
"docs": [
|
|||
|
|
"Global config account stores owner"
|
|||
|
|
]
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "quote_vault",
|
|||
|
|
"docs": [
|
|||
|
|
"The address that holds pool tokens for quote token"
|
|||
|
|
],
|
|||
|
|
"writable": true
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "quote_mint",
|
|||
|
|
"docs": [
|
|||
|
|
"The mint of quote token vault"
|
|||
|
|
]
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "recipient_token_account",
|
|||
|
|
"docs": [
|
|||
|
|
"The address that receives the collected quote token fees"
|
|||
|
|
],
|
|||
|
|
"writable": true
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "token_program",
|
|||
|
|
"docs": [
|
|||
|
|
"SPL program for input token transfers"
|
|||
|
|
],
|
|||
|
|
"address": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA"
|
|||
|
|
}
|
|||
|
|
],
|
|||
|
|
"args": []
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "collect_migrate_fee",
|
|||
|
|
"docs": [
|
|||
|
|
"Collects migrate fees from the pool",
|
|||
|
|
"# Arguments",
|
|||
|
|
"",
|
|||
|
|
"* `ctx` - The context of accounts",
|
|||
|
|
""
|
|||
|
|
],
|
|||
|
|
"discriminator": [
|
|||
|
|
255,
|
|||
|
|
186,
|
|||
|
|
150,
|
|||
|
|
223,
|
|||
|
|
235,
|
|||
|
|
118,
|
|||
|
|
201,
|
|||
|
|
186
|
|||
|
|
],
|
|||
|
|
"accounts": [
|
|||
|
|
{
|
|||
|
|
"name": "owner",
|
|||
|
|
"docs": [
|
|||
|
|
"Only migrate_fee_owner saved in global_config can collect migrate fee now"
|
|||
|
|
],
|
|||
|
|
"signer": true
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "authority",
|
|||
|
|
"pda": {
|
|||
|
|
"seeds": [
|
|||
|
|
{
|
|||
|
|
"kind": "const",
|
|||
|
|
"value": [
|
|||
|
|
118,
|
|||
|
|
97,
|
|||
|
|
117,
|
|||
|
|
108,
|
|||
|
|
116,
|
|||
|
|
95,
|
|||
|
|
97,
|
|||
|
|
117,
|
|||
|
|
116,
|
|||
|
|
104,
|
|||
|
|
95,
|
|||
|
|
115,
|
|||
|
|
101,
|
|||
|
|
101,
|
|||
|
|
100
|
|||
|
|
]
|
|||
|
|
}
|
|||
|
|
]
|
|||
|
|
}
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "pool_state",
|
|||
|
|
"docs": [
|
|||
|
|
"Pool state stores accumulated protocol fee amount"
|
|||
|
|
],
|
|||
|
|
"writable": true
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "global_config",
|
|||
|
|
"docs": [
|
|||
|
|
"Global config account stores owner"
|
|||
|
|
]
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "quote_vault",
|
|||
|
|
"docs": [
|
|||
|
|
"The address that holds pool tokens for quote token"
|
|||
|
|
],
|
|||
|
|
"writable": true
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "quote_mint",
|
|||
|
|
"docs": [
|
|||
|
|
"The mint of quote token vault"
|
|||
|
|
]
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "recipient_token_account",
|
|||
|
|
"docs": [
|
|||
|
|
"The address that receives the collected quote token fees"
|
|||
|
|
],
|
|||
|
|
"writable": true
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "token_program",
|
|||
|
|
"docs": [
|
|||
|
|
"SPL program for input token transfers"
|
|||
|
|
],
|
|||
|
|
"address": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA"
|
|||
|
|
}
|
|||
|
|
],
|
|||
|
|
"args": []
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "create_config",
|
|||
|
|
"docs": [
|
|||
|
|
"Creates a new configuration",
|
|||
|
|
"# Arguments",
|
|||
|
|
"",
|
|||
|
|
"* `ctx` - The accounts needed by instruction",
|
|||
|
|
"* `curve_type` - The type of bonding curve (0: ConstantProduct)",
|
|||
|
|
"* `index` - The index of config, there may be multiple config with the same curve type.",
|
|||
|
|
"* `trade_fee_rate` - Trade fee rate, must be less than RATE_DENOMINATOR_VALUE",
|
|||
|
|
""
|
|||
|
|
],
|
|||
|
|
"discriminator": [
|
|||
|
|
201,
|
|||
|
|
207,
|
|||
|
|
243,
|
|||
|
|
114,
|
|||
|
|
75,
|
|||
|
|
111,
|
|||
|
|
47,
|
|||
|
|
189
|
|||
|
|
],
|
|||
|
|
"accounts": [
|
|||
|
|
{
|
|||
|
|
"name": "owner",
|
|||
|
|
"docs": [
|
|||
|
|
"The protocol owner/admin account",
|
|||
|
|
"Must match the predefined admin address",
|
|||
|
|
"Has authority to create and modify protocol configurations"
|
|||
|
|
],
|
|||
|
|
"writable": true,
|
|||
|
|
"signer": true,
|
|||
|
|
"address": "GThUX1Atko4tqhN2NaiTazWSeFWMuiUvfFnyJyUghFMJ"
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "global_config",
|
|||
|
|
"docs": [
|
|||
|
|
"Global configuration account that stores protocol-wide settings",
|
|||
|
|
"PDA generated using GLOBAL_CONFIG_SEED, quote token mint, and curve type",
|
|||
|
|
"Stores fee rates and protocol parameters"
|
|||
|
|
],
|
|||
|
|
"writable": true,
|
|||
|
|
"pda": {
|
|||
|
|
"seeds": [
|
|||
|
|
{
|
|||
|
|
"kind": "const",
|
|||
|
|
"value": [
|
|||
|
|
103,
|
|||
|
|
108,
|
|||
|
|
111,
|
|||
|
|
98,
|
|||
|
|
97,
|
|||
|
|
108,
|
|||
|
|
95,
|
|||
|
|
99,
|
|||
|
|
111,
|
|||
|
|
110,
|
|||
|
|
102,
|
|||
|
|
105,
|
|||
|
|
103
|
|||
|
|
]
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"kind": "account",
|
|||
|
|
"path": "quote_token_mint"
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"kind": "arg",
|
|||
|
|
"path": "curve_type"
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"kind": "arg",
|
|||
|
|
"path": "index"
|
|||
|
|
}
|
|||
|
|
]
|
|||
|
|
}
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "quote_token_mint",
|
|||
|
|
"docs": [
|
|||
|
|
"The mint address of the quote token (token used for buying)",
|
|||
|
|
"This will be the standard token used for all pools with this config"
|
|||
|
|
]
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "protocol_fee_owner",
|
|||
|
|
"docs": [
|
|||
|
|
"Account that will receive protocol fees"
|
|||
|
|
]
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "migrate_fee_owner",
|
|||
|
|
"docs": [
|
|||
|
|
"Account that will receive migrate fees"
|
|||
|
|
]
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "migrate_to_amm_wallet",
|
|||
|
|
"docs": [
|
|||
|
|
"The control wallet address for migrating to amm"
|
|||
|
|
]
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "migrate_to_cpswap_wallet",
|
|||
|
|
"docs": [
|
|||
|
|
"The control wallet address for migrating to cpswap"
|
|||
|
|
]
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "system_program",
|
|||
|
|
"docs": [
|
|||
|
|
"Required for account creation"
|
|||
|
|
],
|
|||
|
|
"address": "11111111111111111111111111111111"
|
|||
|
|
}
|
|||
|
|
],
|
|||
|
|
"args": [
|
|||
|
|
{
|
|||
|
|
"name": "curve_type",
|
|||
|
|
"type": "u8"
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "index",
|
|||
|
|
"type": "u16"
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "migrate_fee",
|
|||
|
|
"type": "u64"
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "trade_fee_rate",
|
|||
|
|
"type": "u64"
|
|||
|
|
}
|
|||
|
|
]
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "create_platform_config",
|
|||
|
|
"docs": [
|
|||
|
|
"Create platform config account",
|
|||
|
|
"# Arguments",
|
|||
|
|
"",
|
|||
|
|
"* `ctx` - The context of accounts",
|
|||
|
|
"# Fields",
|
|||
|
|
"* `fee_rate` - Fee rate of the platform",
|
|||
|
|
"* `name` - Name of the platform",
|
|||
|
|
"* `web` - Website of the platform",
|
|||
|
|
"* `img` - Image link of the platform",
|
|||
|
|
""
|
|||
|
|
],
|
|||
|
|
"discriminator": [
|
|||
|
|
176,
|
|||
|
|
90,
|
|||
|
|
196,
|
|||
|
|
175,
|
|||
|
|
253,
|
|||
|
|
113,
|
|||
|
|
220,
|
|||
|
|
20
|
|||
|
|
],
|
|||
|
|
"accounts": [
|
|||
|
|
{
|
|||
|
|
"name": "platform_admin",
|
|||
|
|
"docs": [
|
|||
|
|
"The account paying for the initialization costs"
|
|||
|
|
],
|
|||
|
|
"writable": true,
|
|||
|
|
"signer": true
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "platform_fee_wallet"
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "platform_nft_wallet"
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "platform_config",
|
|||
|
|
"docs": [
|
|||
|
|
"The platform config account"
|
|||
|
|
],
|
|||
|
|
"writable": true,
|
|||
|
|
"pda": {
|
|||
|
|
"seeds": [
|
|||
|
|
{
|
|||
|
|
"kind": "const",
|
|||
|
|
"value": [
|
|||
|
|
112,
|
|||
|
|
108,
|
|||
|
|
97,
|
|||
|
|
116,
|
|||
|
|
102,
|
|||
|
|
111,
|
|||
|
|
114,
|
|||
|
|
109,
|
|||
|
|
95,
|
|||
|
|
99,
|
|||
|
|
111,
|
|||
|
|
110,
|
|||
|
|
102,
|
|||
|
|
105,
|
|||
|
|
103
|
|||
|
|
]
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"kind": "account",
|
|||
|
|
"path": "platform_admin"
|
|||
|
|
}
|
|||
|
|
]
|
|||
|
|
}
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "cpswap_config"
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "system_program",
|
|||
|
|
"docs": [
|
|||
|
|
"Required for account creation"
|
|||
|
|
],
|
|||
|
|
"address": "11111111111111111111111111111111"
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "transfer_fee_extension_authority"
|
|||
|
|
}
|
|||
|
|
],
|
|||
|
|
"args": [
|
|||
|
|
{
|
|||
|
|
"name": "platform_params",
|
|||
|
|
"type": {
|
|||
|
|
"defined": {
|
|||
|
|
"name": "PlatformParams"
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
]
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "create_vesting_account",
|
|||
|
|
"docs": [
|
|||
|
|
"Create vesting account",
|
|||
|
|
"# Arguments",
|
|||
|
|
"",
|
|||
|
|
"* `ctx` - The context of accounts",
|
|||
|
|
"* `share` - The share amount of base token to be vested",
|
|||
|
|
""
|
|||
|
|
],
|
|||
|
|
"discriminator": [
|
|||
|
|
129,
|
|||
|
|
178,
|
|||
|
|
2,
|
|||
|
|
13,
|
|||
|
|
217,
|
|||
|
|
172,
|
|||
|
|
230,
|
|||
|
|
218
|
|||
|
|
],
|
|||
|
|
"accounts": [
|
|||
|
|
{
|
|||
|
|
"name": "creator",
|
|||
|
|
"docs": [
|
|||
|
|
"The account paying for the initialization costs",
|
|||
|
|
"This can be any account with sufficient SOL to cover the transaction"
|
|||
|
|
],
|
|||
|
|
"writable": true,
|
|||
|
|
"signer": true
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "beneficiary",
|
|||
|
|
"docs": [
|
|||
|
|
"The beneficiary is used to receive the allocated linear release of tokens.",
|
|||
|
|
"Once this account is set, it cannot be modified, so please ensure the validity of this account,",
|
|||
|
|
"otherwise, the unlocked tokens will not be claimable."
|
|||
|
|
],
|
|||
|
|
"writable": true
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "pool_state",
|
|||
|
|
"docs": [
|
|||
|
|
"The pool state account"
|
|||
|
|
],
|
|||
|
|
"writable": true
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "vesting_record",
|
|||
|
|
"docs": [
|
|||
|
|
"The vesting record account"
|
|||
|
|
],
|
|||
|
|
"writable": true,
|
|||
|
|
"pda": {
|
|||
|
|
"seeds": [
|
|||
|
|
{
|
|||
|
|
"kind": "const",
|
|||
|
|
"value": [
|
|||
|
|
112,
|
|||
|
|
111,
|
|||
|
|
111,
|
|||
|
|
108,
|
|||
|
|
95,
|
|||
|
|
118,
|
|||
|
|
101,
|
|||
|
|
115,
|
|||
|
|
116,
|
|||
|
|
105,
|
|||
|
|
110,
|
|||
|
|
103
|
|||
|
|
]
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"kind": "account",
|
|||
|
|
"path": "pool_state"
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"kind": "account",
|
|||
|
|
"path": "beneficiary"
|
|||
|
|
}
|
|||
|
|
]
|
|||
|
|
}
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "system_program",
|
|||
|
|
"docs": [
|
|||
|
|
"Required for account creation"
|
|||
|
|
],
|
|||
|
|
"address": "11111111111111111111111111111111"
|
|||
|
|
}
|
|||
|
|
],
|
|||
|
|
"args": [
|
|||
|
|
{
|
|||
|
|
"name": "share_amount",
|
|||
|
|
"type": "u64"
|
|||
|
|
}
|
|||
|
|
]
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "initialize",
|
|||
|
|
"docs": [
|
|||
|
|
"Initializes a new trading pool",
|
|||
|
|
"# Arguments",
|
|||
|
|
"",
|
|||
|
|
"* `ctx` - The context of accounts containing pool and token information",
|
|||
|
|
""
|
|||
|
|
],
|
|||
|
|
"discriminator": [
|
|||
|
|
175,
|
|||
|
|
175,
|
|||
|
|
109,
|
|||
|
|
31,
|
|||
|
|
13,
|
|||
|
|
152,
|
|||
|
|
155,
|
|||
|
|
237
|
|||
|
|
],
|
|||
|
|
"accounts": [
|
|||
|
|
{
|
|||
|
|
"name": "payer",
|
|||
|
|
"docs": [
|
|||
|
|
"The account paying for the initialization costs",
|
|||
|
|
"This can be any account with sufficient SOL to cover the transaction"
|
|||
|
|
],
|
|||
|
|
"writable": true,
|
|||
|
|
"signer": true
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "creator"
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "global_config",
|
|||
|
|
"docs": [
|
|||
|
|
"Global configuration account containing protocol-wide settings",
|
|||
|
|
"Includes settings like quote token mint and fee parameters"
|
|||
|
|
]
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "platform_config",
|
|||
|
|
"docs": [
|
|||
|
|
"Platform configuration account containing platform info",
|
|||
|
|
"Includes settings like the fee_rate, name, web, img of the platform"
|
|||
|
|
]
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "authority",
|
|||
|
|
"docs": [
|
|||
|
|
"PDA that acts as the authority for pool vault and mint operations",
|
|||
|
|
"Generated using AUTH_SEED"
|
|||
|
|
],
|
|||
|
|
"pda": {
|
|||
|
|
"seeds": [
|
|||
|
|
{
|
|||
|
|
"kind": "const",
|
|||
|
|
"value": [
|
|||
|
|
118,
|
|||
|
|
97,
|
|||
|
|
117,
|
|||
|
|
108,
|
|||
|
|
116,
|
|||
|
|
95,
|
|||
|
|
97,
|
|||
|
|
117,
|
|||
|
|
116,
|
|||
|
|
104,
|
|||
|
|
95,
|
|||
|
|
115,
|
|||
|
|
101,
|
|||
|
|
101,
|
|||
|
|
100
|
|||
|
|
]
|
|||
|
|
}
|
|||
|
|
]
|
|||
|
|
}
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "pool_state",
|
|||
|
|
"docs": [
|
|||
|
|
"Account that stores the pool's state and parameters",
|
|||
|
|
"PDA generated using POOL_SEED and both token mints"
|
|||
|
|
],
|
|||
|
|
"writable": true,
|
|||
|
|
"pda": {
|
|||
|
|
"seeds": [
|
|||
|
|
{
|
|||
|
|
"kind": "const",
|
|||
|
|
"value": [
|
|||
|
|
112,
|
|||
|
|
111,
|
|||
|
|
111,
|
|||
|
|
108
|
|||
|
|
]
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"kind": "account",
|
|||
|
|
"path": "base_mint"
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"kind": "account",
|
|||
|
|
"path": "quote_mint"
|
|||
|
|
}
|
|||
|
|
]
|
|||
|
|
}
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "base_mint",
|
|||
|
|
"docs": [
|
|||
|
|
"The mint for the base token (token being sold)",
|
|||
|
|
"Created in this instruction with specified decimals"
|
|||
|
|
],
|
|||
|
|
"writable": true,
|
|||
|
|
"signer": true
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "quote_mint",
|
|||
|
|
"docs": [
|
|||
|
|
"The mint for the quote token (token used to buy)",
|
|||
|
|
"Must match the quote_mint specified in global config"
|
|||
|
|
]
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "base_vault",
|
|||
|
|
"docs": [
|
|||
|
|
"Token account that holds the pool's base tokens",
|
|||
|
|
"PDA generated using POOL_VAULT_SEED"
|
|||
|
|
],
|
|||
|
|
"writable": true,
|
|||
|
|
"pda": {
|
|||
|
|
"seeds": [
|
|||
|
|
{
|
|||
|
|
"kind": "const",
|
|||
|
|
"value": [
|
|||
|
|
112,
|
|||
|
|
111,
|
|||
|
|
111,
|
|||
|
|
108,
|
|||
|
|
95,
|
|||
|
|
118,
|
|||
|
|
97,
|
|||
|
|
117,
|
|||
|
|
108,
|
|||
|
|
116
|
|||
|
|
]
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"kind": "account",
|
|||
|
|
"path": "pool_state"
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"kind": "account",
|
|||
|
|
"path": "base_mint"
|
|||
|
|
}
|
|||
|
|
]
|
|||
|
|
}
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "quote_vault",
|
|||
|
|
"docs": [
|
|||
|
|
"Token account that holds the pool's quote tokens",
|
|||
|
|
"PDA generated using POOL_VAULT_SEED"
|
|||
|
|
],
|
|||
|
|
"writable": true,
|
|||
|
|
"pda": {
|
|||
|
|
"seeds": [
|
|||
|
|
{
|
|||
|
|
"kind": "const",
|
|||
|
|
"value": [
|
|||
|
|
112,
|
|||
|
|
111,
|
|||
|
|
111,
|
|||
|
|
108,
|
|||
|
|
95,
|
|||
|
|
118,
|
|||
|
|
97,
|
|||
|
|
117,
|
|||
|
|
108,
|
|||
|
|
116
|
|||
|
|
]
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"kind": "account",
|
|||
|
|
"path": "pool_state"
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"kind": "account",
|
|||
|
|
"path": "quote_mint"
|
|||
|
|
}
|
|||
|
|
]
|
|||
|
|
}
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "metadata_account",
|
|||
|
|
"docs": [
|
|||
|
|
"Account to store the base token's metadata",
|
|||
|
|
"Created using Metaplex metadata program"
|
|||
|
|
],
|
|||
|
|
"writable": true
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "base_token_program",
|
|||
|
|
"docs": [
|
|||
|
|
"SPL Token program for the base token",
|
|||
|
|
"Must be the standard Token program"
|
|||
|
|
],
|
|||
|
|
"address": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA"
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "quote_token_program",
|
|||
|
|
"docs": [
|
|||
|
|
"SPL Token program for the quote token"
|
|||
|
|
],
|
|||
|
|
"address": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA"
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "metadata_program",
|
|||
|
|
"docs": [
|
|||
|
|
"Metaplex Token Metadata program",
|
|||
|
|
"Used to create metadata for the base token"
|
|||
|
|
],
|
|||
|
|
"address": "metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s"
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "system_program",
|
|||
|
|
"docs": [
|
|||
|
|
"Required for account creation"
|
|||
|
|
],
|
|||
|
|
"address": "11111111111111111111111111111111"
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "rent_program",
|
|||
|
|
"docs": [
|
|||
|
|
"Required for rent exempt calculations"
|
|||
|
|
],
|
|||
|
|
"address": "SysvarRent111111111111111111111111111111111"
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "event_authority",
|
|||
|
|
"pda": {
|
|||
|
|
"seeds": [
|
|||
|
|
{
|
|||
|
|
"kind": "const",
|
|||
|
|
"value": [
|
|||
|
|
95,
|
|||
|
|
95,
|
|||
|
|
101,
|
|||
|
|
118,
|
|||
|
|
101,
|
|||
|
|
110,
|
|||
|
|
116,
|
|||
|
|
95,
|
|||
|
|
97,
|
|||
|
|
117,
|
|||
|
|
116,
|
|||
|
|
104,
|
|||
|
|
111,
|
|||
|
|
114,
|
|||
|
|
105,
|
|||
|
|
116,
|
|||
|
|
121
|
|||
|
|
]
|
|||
|
|
}
|
|||
|
|
]
|
|||
|
|
}
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "program"
|
|||
|
|
}
|
|||
|
|
],
|
|||
|
|
"args": [
|
|||
|
|
{
|
|||
|
|
"name": "base_mint_param",
|
|||
|
|
"type": {
|
|||
|
|
"defined": {
|
|||
|
|
"name": "MintParams"
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "curve_param",
|
|||
|
|
"type": {
|
|||
|
|
"defined": {
|
|||
|
|
"name": "CurveParams"
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "vesting_param",
|
|||
|
|
"type": {
|
|||
|
|
"defined": {
|
|||
|
|
"name": "VestingParams"
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
]
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "initialize_v2",
|
|||
|
|
"docs": [
|
|||
|
|
"Initializes a new trading pool",
|
|||
|
|
"# Arguments",
|
|||
|
|
"",
|
|||
|
|
"* `ctx` - The context of accounts containing pool and token information",
|
|||
|
|
""
|
|||
|
|
],
|
|||
|
|
"discriminator": [
|
|||
|
|
67,
|
|||
|
|
153,
|
|||
|
|
175,
|
|||
|
|
39,
|
|||
|
|
218,
|
|||
|
|
16,
|
|||
|
|
38,
|
|||
|
|
32
|
|||
|
|
],
|
|||
|
|
"accounts": [
|
|||
|
|
{
|
|||
|
|
"name": "payer",
|
|||
|
|
"docs": [
|
|||
|
|
"The account paying for the initialization costs",
|
|||
|
|
"This can be any account with sufficient SOL to cover the transaction"
|
|||
|
|
],
|
|||
|
|
"writable": true,
|
|||
|
|
"signer": true
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "creator"
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "global_config",
|
|||
|
|
"docs": [
|
|||
|
|
"Global configuration account containing protocol-wide settings",
|
|||
|
|
"Includes settings like quote token mint and fee parameters"
|
|||
|
|
]
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "platform_config",
|
|||
|
|
"docs": [
|
|||
|
|
"Platform configuration account containing platform info",
|
|||
|
|
"Includes settings like the fee_rate, name, web, img of the platform"
|
|||
|
|
]
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "authority",
|
|||
|
|
"docs": [
|
|||
|
|
"PDA that acts as the authority for pool vault and mint operations",
|
|||
|
|
"Generated using AUTH_SEED"
|
|||
|
|
],
|
|||
|
|
"pda": {
|
|||
|
|
"seeds": [
|
|||
|
|
{
|
|||
|
|
"kind": "const",
|
|||
|
|
"value": [
|
|||
|
|
118,
|
|||
|
|
97,
|
|||
|
|
117,
|
|||
|
|
108,
|
|||
|
|
116,
|
|||
|
|
95,
|
|||
|
|
97,
|
|||
|
|
117,
|
|||
|
|
116,
|
|||
|
|
104,
|
|||
|
|
95,
|
|||
|
|
115,
|
|||
|
|
101,
|
|||
|
|
101,
|
|||
|
|
100
|
|||
|
|
]
|
|||
|
|
}
|
|||
|
|
]
|
|||
|
|
}
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "pool_state",
|
|||
|
|
"docs": [
|
|||
|
|
"Account that stores the pool's state and parameters",
|
|||
|
|
"PDA generated using POOL_SEED and both token mints"
|
|||
|
|
],
|
|||
|
|
"writable": true,
|
|||
|
|
"pda": {
|
|||
|
|
"seeds": [
|
|||
|
|
{
|
|||
|
|
"kind": "const",
|
|||
|
|
"value": [
|
|||
|
|
112,
|
|||
|
|
111,
|
|||
|
|
111,
|
|||
|
|
108
|
|||
|
|
]
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"kind": "account",
|
|||
|
|
"path": "base_mint"
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"kind": "account",
|
|||
|
|
"path": "quote_mint"
|
|||
|
|
}
|
|||
|
|
]
|
|||
|
|
}
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "base_mint",
|
|||
|
|
"docs": [
|
|||
|
|
"The mint for the base token (token being sold)",
|
|||
|
|
"Created in this instruction with specified decimals"
|
|||
|
|
],
|
|||
|
|
"writable": true,
|
|||
|
|
"signer": true
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "quote_mint",
|
|||
|
|
"docs": [
|
|||
|
|
"The mint for the quote token (token used to buy)",
|
|||
|
|
"Must match the quote_mint specified in global config"
|
|||
|
|
]
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "base_vault",
|
|||
|
|
"docs": [
|
|||
|
|
"Token account that holds the pool's base tokens",
|
|||
|
|
"PDA generated using POOL_VAULT_SEED"
|
|||
|
|
],
|
|||
|
|
"writable": true,
|
|||
|
|
"pda": {
|
|||
|
|
"seeds": [
|
|||
|
|
{
|
|||
|
|
"kind": "const",
|
|||
|
|
"value": [
|
|||
|
|
112,
|
|||
|
|
111,
|
|||
|
|
111,
|
|||
|
|
108,
|
|||
|
|
95,
|
|||
|
|
118,
|
|||
|
|
97,
|
|||
|
|
117,
|
|||
|
|
108,
|
|||
|
|
116
|
|||
|
|
]
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"kind": "account",
|
|||
|
|
"path": "pool_state"
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"kind": "account",
|
|||
|
|
"path": "base_mint"
|
|||
|
|
}
|
|||
|
|
]
|
|||
|
|
}
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "quote_vault",
|
|||
|
|
"docs": [
|
|||
|
|
"Token account that holds the pool's quote tokens",
|
|||
|
|
"PDA generated using POOL_VAULT_SEED"
|
|||
|
|
],
|
|||
|
|
"writable": true,
|
|||
|
|
"pda": {
|
|||
|
|
"seeds": [
|
|||
|
|
{
|
|||
|
|
"kind": "const",
|
|||
|
|
"value": [
|
|||
|
|
112,
|
|||
|
|
111,
|
|||
|
|
111,
|
|||
|
|
108,
|
|||
|
|
95,
|
|||
|
|
118,
|
|||
|
|
97,
|
|||
|
|
117,
|
|||
|
|
108,
|
|||
|
|
116
|
|||
|
|
]
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"kind": "account",
|
|||
|
|
"path": "pool_state"
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"kind": "account",
|
|||
|
|
"path": "quote_mint"
|
|||
|
|
}
|
|||
|
|
]
|
|||
|
|
}
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "metadata_account",
|
|||
|
|
"docs": [
|
|||
|
|
"Account to store the base token's metadata",
|
|||
|
|
"Created using Metaplex metadata program"
|
|||
|
|
],
|
|||
|
|
"writable": true
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "base_token_program",
|
|||
|
|
"docs": [
|
|||
|
|
"SPL Token program for the base token",
|
|||
|
|
"Must be the standard Token program"
|
|||
|
|
],
|
|||
|
|
"address": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA"
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "quote_token_program",
|
|||
|
|
"docs": [
|
|||
|
|
"SPL Token program for the quote token"
|
|||
|
|
],
|
|||
|
|
"address": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA"
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "metadata_program",
|
|||
|
|
"docs": [
|
|||
|
|
"Metaplex Token Metadata program",
|
|||
|
|
"Used to create metadata for the base token"
|
|||
|
|
],
|
|||
|
|
"address": "metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s"
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "system_program",
|
|||
|
|
"docs": [
|
|||
|
|
"Required for account creation"
|
|||
|
|
],
|
|||
|
|
"address": "11111111111111111111111111111111"
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "rent_program",
|
|||
|
|
"docs": [
|
|||
|
|
"Required for rent exempt calculations"
|
|||
|
|
],
|
|||
|
|
"address": "SysvarRent111111111111111111111111111111111"
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "event_authority",
|
|||
|
|
"pda": {
|
|||
|
|
"seeds": [
|
|||
|
|
{
|
|||
|
|
"kind": "const",
|
|||
|
|
"value": [
|
|||
|
|
95,
|
|||
|
|
95,
|
|||
|
|
101,
|
|||
|
|
118,
|
|||
|
|
101,
|
|||
|
|
110,
|
|||
|
|
116,
|
|||
|
|
95,
|
|||
|
|
97,
|
|||
|
|
117,
|
|||
|
|
116,
|
|||
|
|
104,
|
|||
|
|
111,
|
|||
|
|
114,
|
|||
|
|
105,
|
|||
|
|
116,
|
|||
|
|
121
|
|||
|
|
]
|
|||
|
|
}
|
|||
|
|
]
|
|||
|
|
}
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "program"
|
|||
|
|
}
|
|||
|
|
],
|
|||
|
|
"args": [
|
|||
|
|
{
|
|||
|
|
"name": "base_mint_param",
|
|||
|
|
"type": {
|
|||
|
|
"defined": {
|
|||
|
|
"name": "MintParams"
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "curve_param",
|
|||
|
|
"type": {
|
|||
|
|
"defined": {
|
|||
|
|
"name": "CurveParams"
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "vesting_param",
|
|||
|
|
"type": {
|
|||
|
|
"defined": {
|
|||
|
|
"name": "VestingParams"
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "amm_fee_on",
|
|||
|
|
"type": {
|
|||
|
|
"defined": {
|
|||
|
|
"name": "AmmCreatorFeeOn"
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
]
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "initialize_with_token_2022",
|
|||
|
|
"docs": [
|
|||
|
|
"Initializes a new trading pool with base token belongs to spl-token-2022,",
|
|||
|
|
"pool created by this instruction must be migrated to cpswap after fundraising ends, i.e., curve_param.migrate_type = 1",
|
|||
|
|
"# Arguments",
|
|||
|
|
"",
|
|||
|
|
"* `ctx` - The context of accounts containing pool and token information",
|
|||
|
|
""
|
|||
|
|
],
|
|||
|
|
"discriminator": [
|
|||
|
|
37,
|
|||
|
|
190,
|
|||
|
|
126,
|
|||
|
|
222,
|
|||
|
|
44,
|
|||
|
|
154,
|
|||
|
|
171,
|
|||
|
|
17
|
|||
|
|
],
|
|||
|
|
"accounts": [
|
|||
|
|
{
|
|||
|
|
"name": "payer",
|
|||
|
|
"docs": [
|
|||
|
|
"The account paying for the initialization costs",
|
|||
|
|
"This can be any account with sufficient SOL to cover the transaction"
|
|||
|
|
],
|
|||
|
|
"writable": true,
|
|||
|
|
"signer": true
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "creator"
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "global_config",
|
|||
|
|
"docs": [
|
|||
|
|
"Global configuration account containing protocol-wide settings",
|
|||
|
|
"Includes settings like quote token mint and fee parameters"
|
|||
|
|
]
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "platform_config",
|
|||
|
|
"docs": [
|
|||
|
|
"Platform configuration account containing platform info",
|
|||
|
|
"Includes settings like the fee_rate, name, web, img of the platform"
|
|||
|
|
]
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "authority",
|
|||
|
|
"docs": [
|
|||
|
|
"PDA that acts as the authority for pool vault and mint operations",
|
|||
|
|
"Generated using AUTH_SEED"
|
|||
|
|
],
|
|||
|
|
"pda": {
|
|||
|
|
"seeds": [
|
|||
|
|
{
|
|||
|
|
"kind": "const",
|
|||
|
|
"value": [
|
|||
|
|
118,
|
|||
|
|
97,
|
|||
|
|
117,
|
|||
|
|
108,
|
|||
|
|
116,
|
|||
|
|
95,
|
|||
|
|
97,
|
|||
|
|
117,
|
|||
|
|
116,
|
|||
|
|
104,
|
|||
|
|
95,
|
|||
|
|
115,
|
|||
|
|
101,
|
|||
|
|
101,
|
|||
|
|
100
|
|||
|
|
]
|
|||
|
|
}
|
|||
|
|
]
|
|||
|
|
}
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "pool_state",
|
|||
|
|
"docs": [
|
|||
|
|
"Account that stores the pool's state and parameters",
|
|||
|
|
"PDA generated using POOL_SEED and both token mints"
|
|||
|
|
],
|
|||
|
|
"writable": true,
|
|||
|
|
"pda": {
|
|||
|
|
"seeds": [
|
|||
|
|
{
|
|||
|
|
"kind": "const",
|
|||
|
|
"value": [
|
|||
|
|
112,
|
|||
|
|
111,
|
|||
|
|
111,
|
|||
|
|
108
|
|||
|
|
]
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"kind": "account",
|
|||
|
|
"path": "base_mint"
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"kind": "account",
|
|||
|
|
"path": "quote_mint"
|
|||
|
|
}
|
|||
|
|
]
|
|||
|
|
}
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "base_mint",
|
|||
|
|
"docs": [
|
|||
|
|
"The mint for the base token (token being sold)",
|
|||
|
|
"Created in this instruction with specified decimals"
|
|||
|
|
],
|
|||
|
|
"writable": true,
|
|||
|
|
"signer": true
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "quote_mint",
|
|||
|
|
"docs": [
|
|||
|
|
"The mint for the quote token (token used to buy)",
|
|||
|
|
"Must match the quote_mint specified in global config"
|
|||
|
|
]
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "base_vault",
|
|||
|
|
"docs": [
|
|||
|
|
"Token account that holds the pool's base tokens",
|
|||
|
|
"PDA generated using POOL_VAULT_SEED"
|
|||
|
|
],
|
|||
|
|
"writable": true,
|
|||
|
|
"pda": {
|
|||
|
|
"seeds": [
|
|||
|
|
{
|
|||
|
|
"kind": "const",
|
|||
|
|
"value": [
|
|||
|
|
112,
|
|||
|
|
111,
|
|||
|
|
111,
|
|||
|
|
108,
|
|||
|
|
95,
|
|||
|
|
118,
|
|||
|
|
97,
|
|||
|
|
117,
|
|||
|
|
108,
|
|||
|
|
116
|
|||
|
|
]
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"kind": "account",
|
|||
|
|
"path": "pool_state"
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"kind": "account",
|
|||
|
|
"path": "base_mint"
|
|||
|
|
}
|
|||
|
|
]
|
|||
|
|
}
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "quote_vault",
|
|||
|
|
"docs": [
|
|||
|
|
"Token account that holds the pool's quote tokens",
|
|||
|
|
"PDA generated using POOL_VAULT_SEED"
|
|||
|
|
],
|
|||
|
|
"writable": true,
|
|||
|
|
"pda": {
|
|||
|
|
"seeds": [
|
|||
|
|
{
|
|||
|
|
"kind": "const",
|
|||
|
|
"value": [
|
|||
|
|
112,
|
|||
|
|
111,
|
|||
|
|
111,
|
|||
|
|
108,
|
|||
|
|
95,
|
|||
|
|
118,
|
|||
|
|
97,
|
|||
|
|
117,
|
|||
|
|
108,
|
|||
|
|
116
|
|||
|
|
]
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"kind": "account",
|
|||
|
|
"path": "pool_state"
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"kind": "account",
|
|||
|
|
"path": "quote_mint"
|
|||
|
|
}
|
|||
|
|
]
|
|||
|
|
}
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "base_token_program",
|
|||
|
|
"docs": [
|
|||
|
|
"SPL Token program for the base token"
|
|||
|
|
],
|
|||
|
|
"address": "TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb"
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "quote_token_program",
|
|||
|
|
"docs": [
|
|||
|
|
"SPL Token program for the quote token"
|
|||
|
|
],
|
|||
|
|
"address": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA"
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "system_program",
|
|||
|
|
"docs": [
|
|||
|
|
"Required for account creation"
|
|||
|
|
],
|
|||
|
|
"address": "11111111111111111111111111111111"
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "event_authority",
|
|||
|
|
"pda": {
|
|||
|
|
"seeds": [
|
|||
|
|
{
|
|||
|
|
"kind": "const",
|
|||
|
|
"value": [
|
|||
|
|
95,
|
|||
|
|
95,
|
|||
|
|
101,
|
|||
|
|
118,
|
|||
|
|
101,
|
|||
|
|
110,
|
|||
|
|
116,
|
|||
|
|
95,
|
|||
|
|
97,
|
|||
|
|
117,
|
|||
|
|
116,
|
|||
|
|
104,
|
|||
|
|
111,
|
|||
|
|
114,
|
|||
|
|
105,
|
|||
|
|
116,
|
|||
|
|
121
|
|||
|
|
]
|
|||
|
|
}
|
|||
|
|
]
|
|||
|
|
}
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "program"
|
|||
|
|
}
|
|||
|
|
],
|
|||
|
|
"args": [
|
|||
|
|
{
|
|||
|
|
"name": "base_mint_param",
|
|||
|
|
"type": {
|
|||
|
|
"defined": {
|
|||
|
|
"name": "MintParams"
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "curve_param",
|
|||
|
|
"type": {
|
|||
|
|
"defined": {
|
|||
|
|
"name": "CurveParams"
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "vesting_param",
|
|||
|
|
"type": {
|
|||
|
|
"defined": {
|
|||
|
|
"name": "VestingParams"
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "amm_fee_on",
|
|||
|
|
"type": {
|
|||
|
|
"defined": {
|
|||
|
|
"name": "AmmCreatorFeeOn"
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "transfer_fee_extension_param",
|
|||
|
|
"type": {
|
|||
|
|
"option": {
|
|||
|
|
"defined": {
|
|||
|
|
"name": "TransferFeeExtensionParams"
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
]
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "migrate_to_amm",
|
|||
|
|
"docs": [
|
|||
|
|
"# Arguments",
|
|||
|
|
"",
|
|||
|
|
"* `ctx` - The context of accounts",
|
|||
|
|
""
|
|||
|
|
],
|
|||
|
|
"discriminator": [
|
|||
|
|
207,
|
|||
|
|
82,
|
|||
|
|
192,
|
|||
|
|
145,
|
|||
|
|
254,
|
|||
|
|
207,
|
|||
|
|
145,
|
|||
|
|
223
|
|||
|
|
],
|
|||
|
|
"accounts": [
|
|||
|
|
{
|
|||
|
|
"name": "payer",
|
|||
|
|
"docs": [
|
|||
|
|
"Only migrate_to_amm_wallet can migrate to cpswap pool",
|
|||
|
|
"This signer must match the migrate_to_amm_wallet saved in global_config"
|
|||
|
|
],
|
|||
|
|
"writable": true,
|
|||
|
|
"signer": true
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "base_mint",
|
|||
|
|
"docs": [
|
|||
|
|
"The mint for the base token (token being sold)"
|
|||
|
|
]
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "quote_mint",
|
|||
|
|
"docs": [
|
|||
|
|
"The mint for the quote token (token used to buy)"
|
|||
|
|
]
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "openbook_program",
|
|||
|
|
"address": "srmqPvymJeFKQ4zGQed1GFppgkRHL9kaELCbyksJtPX"
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "market",
|
|||
|
|
"docs": [
|
|||
|
|
"Account created and asigned to openbook_program but not been initialized"
|
|||
|
|
],
|
|||
|
|
"writable": true
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "request_queue",
|
|||
|
|
"docs": [
|
|||
|
|
"Account created and asigned to openbook_program but not been initialized"
|
|||
|
|
],
|
|||
|
|
"writable": true
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "event_queue",
|
|||
|
|
"docs": [
|
|||
|
|
"Account created and asigned to openbook_program but not been initialized"
|
|||
|
|
],
|
|||
|
|
"writable": true
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "bids",
|
|||
|
|
"docs": [
|
|||
|
|
"Account created and asigned to openbook_program but not been initialized"
|
|||
|
|
],
|
|||
|
|
"writable": true
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "asks",
|
|||
|
|
"docs": [
|
|||
|
|
"Account created and asigned to openbook_program but not been initialized"
|
|||
|
|
],
|
|||
|
|
"writable": true
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "market_vault_signer"
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "market_base_vault",
|
|||
|
|
"docs": [
|
|||
|
|
"Token account that holds the market's base tokens"
|
|||
|
|
],
|
|||
|
|
"writable": true
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "market_quote_vault",
|
|||
|
|
"docs": [
|
|||
|
|
"Token account that holds the market's quote tokens"
|
|||
|
|
],
|
|||
|
|
"writable": true
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "amm_program",
|
|||
|
|
"address": "675kPX9MHTjS2zt1qfr1NYHuzeLXfQM9H24wFSUt1Mp8"
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "amm_pool",
|
|||
|
|
"writable": true,
|
|||
|
|
"pda": {
|
|||
|
|
"seeds": [
|
|||
|
|
{
|
|||
|
|
"kind": "account",
|
|||
|
|
"path": "amm_program"
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"kind": "account",
|
|||
|
|
"path": "market"
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"kind": "const",
|
|||
|
|
"value": [
|
|||
|
|
97,
|
|||
|
|
109,
|
|||
|
|
109,
|
|||
|
|
95,
|
|||
|
|
97,
|
|||
|
|
115,
|
|||
|
|
115,
|
|||
|
|
111,
|
|||
|
|
99,
|
|||
|
|
105,
|
|||
|
|
97,
|
|||
|
|
116,
|
|||
|
|
101,
|
|||
|
|
100,
|
|||
|
|
95,
|
|||
|
|
115,
|
|||
|
|
101,
|
|||
|
|
101,
|
|||
|
|
100
|
|||
|
|
]
|
|||
|
|
}
|
|||
|
|
],
|
|||
|
|
"program": {
|
|||
|
|
"kind": "account",
|
|||
|
|
"path": "amm_program"
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "amm_authority",
|
|||
|
|
"pda": {
|
|||
|
|
"seeds": [
|
|||
|
|
{
|
|||
|
|
"kind": "const",
|
|||
|
|
"value": [
|
|||
|
|
97,
|
|||
|
|
109,
|
|||
|
|
109,
|
|||
|
|
32,
|
|||
|
|
97,
|
|||
|
|
117,
|
|||
|
|
116,
|
|||
|
|
104,
|
|||
|
|
111,
|
|||
|
|
114,
|
|||
|
|
105,
|
|||
|
|
116,
|
|||
|
|
121
|
|||
|
|
]
|
|||
|
|
}
|
|||
|
|
],
|
|||
|
|
"program": {
|
|||
|
|
"kind": "account",
|
|||
|
|
"path": "amm_program"
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "amm_open_orders",
|
|||
|
|
"writable": true,
|
|||
|
|
"pda": {
|
|||
|
|
"seeds": [
|
|||
|
|
{
|
|||
|
|
"kind": "account",
|
|||
|
|
"path": "amm_program"
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"kind": "account",
|
|||
|
|
"path": "market"
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"kind": "const",
|
|||
|
|
"value": [
|
|||
|
|
111,
|
|||
|
|
112,
|
|||
|
|
101,
|
|||
|
|
110,
|
|||
|
|
95,
|
|||
|
|
111,
|
|||
|
|
114,
|
|||
|
|
100,
|
|||
|
|
101,
|
|||
|
|
114,
|
|||
|
|
95,
|
|||
|
|
97,
|
|||
|
|
115,
|
|||
|
|
115,
|
|||
|
|
111,
|
|||
|
|
99,
|
|||
|
|
105,
|
|||
|
|
97,
|
|||
|
|
116,
|
|||
|
|
101,
|
|||
|
|
100,
|
|||
|
|
95,
|
|||
|
|
115,
|
|||
|
|
101,
|
|||
|
|
101,
|
|||
|
|
100
|
|||
|
|
]
|
|||
|
|
}
|
|||
|
|
],
|
|||
|
|
"program": {
|
|||
|
|
"kind": "account",
|
|||
|
|
"path": "amm_program"
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "amm_lp_mint",
|
|||
|
|
"writable": true,
|
|||
|
|
"pda": {
|
|||
|
|
"seeds": [
|
|||
|
|
{
|
|||
|
|
"kind": "account",
|
|||
|
|
"path": "amm_program"
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"kind": "account",
|
|||
|
|
"path": "market"
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"kind": "const",
|
|||
|
|
"value": [
|
|||
|
|
108,
|
|||
|
|
112,
|
|||
|
|
95,
|
|||
|
|
109,
|
|||
|
|
105,
|
|||
|
|
110,
|
|||
|
|
116,
|
|||
|
|
95,
|
|||
|
|
97,
|
|||
|
|
115,
|
|||
|
|
115,
|
|||
|
|
111,
|
|||
|
|
99,
|
|||
|
|
105,
|
|||
|
|
97,
|
|||
|
|
116,
|
|||
|
|
101,
|
|||
|
|
100,
|
|||
|
|
95,
|
|||
|
|
115,
|
|||
|
|
101,
|
|||
|
|
101,
|
|||
|
|
100
|
|||
|
|
]
|
|||
|
|
}
|
|||
|
|
],
|
|||
|
|
"program": {
|
|||
|
|
"kind": "account",
|
|||
|
|
"path": "amm_program"
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "amm_base_vault",
|
|||
|
|
"writable": true,
|
|||
|
|
"pda": {
|
|||
|
|
"seeds": [
|
|||
|
|
{
|
|||
|
|
"kind": "account",
|
|||
|
|
"path": "amm_program"
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"kind": "account",
|
|||
|
|
"path": "market"
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"kind": "const",
|
|||
|
|
"value": [
|
|||
|
|
99,
|
|||
|
|
111,
|
|||
|
|
105,
|
|||
|
|
110,
|
|||
|
|
95,
|
|||
|
|
118,
|
|||
|
|
97,
|
|||
|
|
117,
|
|||
|
|
108,
|
|||
|
|
116,
|
|||
|
|
95,
|
|||
|
|
97,
|
|||
|
|
115,
|
|||
|
|
115,
|
|||
|
|
111,
|
|||
|
|
99,
|
|||
|
|
105,
|
|||
|
|
97,
|
|||
|
|
116,
|
|||
|
|
101,
|
|||
|
|
100,
|
|||
|
|
95,
|
|||
|
|
115,
|
|||
|
|
101,
|
|||
|
|
101,
|
|||
|
|
100
|
|||
|
|
]
|
|||
|
|
}
|
|||
|
|
],
|
|||
|
|
"program": {
|
|||
|
|
"kind": "account",
|
|||
|
|
"path": "amm_program"
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "amm_quote_vault",
|
|||
|
|
"writable": true,
|
|||
|
|
"pda": {
|
|||
|
|
"seeds": [
|
|||
|
|
{
|
|||
|
|
"kind": "account",
|
|||
|
|
"path": "amm_program"
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"kind": "account",
|
|||
|
|
"path": "market"
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"kind": "const",
|
|||
|
|
"value": [
|
|||
|
|
112,
|
|||
|
|
99,
|
|||
|
|
95,
|
|||
|
|
118,
|
|||
|
|
97,
|
|||
|
|
117,
|
|||
|
|
108,
|
|||
|
|
116,
|
|||
|
|
95,
|
|||
|
|
97,
|
|||
|
|
115,
|
|||
|
|
115,
|
|||
|
|
111,
|
|||
|
|
99,
|
|||
|
|
105,
|
|||
|
|
97,
|
|||
|
|
116,
|
|||
|
|
101,
|
|||
|
|
100,
|
|||
|
|
95,
|
|||
|
|
115,
|
|||
|
|
101,
|
|||
|
|
101,
|
|||
|
|
100
|
|||
|
|
]
|
|||
|
|
}
|
|||
|
|
],
|
|||
|
|
"program": {
|
|||
|
|
"kind": "account",
|
|||
|
|
"path": "amm_program"
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "amm_target_orders",
|
|||
|
|
"writable": true,
|
|||
|
|
"pda": {
|
|||
|
|
"seeds": [
|
|||
|
|
{
|
|||
|
|
"kind": "account",
|
|||
|
|
"path": "amm_program"
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"kind": "account",
|
|||
|
|
"path": "market"
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"kind": "const",
|
|||
|
|
"value": [
|
|||
|
|
116,
|
|||
|
|
97,
|
|||
|
|
114,
|
|||
|
|
103,
|
|||
|
|
101,
|
|||
|
|
116,
|
|||
|
|
95,
|
|||
|
|
97,
|
|||
|
|
115,
|
|||
|
|
115,
|
|||
|
|
111,
|
|||
|
|
99,
|
|||
|
|
105,
|
|||
|
|
97,
|
|||
|
|
116,
|
|||
|
|
101,
|
|||
|
|
100,
|
|||
|
|
95,
|
|||
|
|
115,
|
|||
|
|
101,
|
|||
|
|
101,
|
|||
|
|
100
|
|||
|
|
]
|
|||
|
|
}
|
|||
|
|
],
|
|||
|
|
"program": {
|
|||
|
|
"kind": "account",
|
|||
|
|
"path": "amm_program"
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "amm_config",
|
|||
|
|
"pda": {
|
|||
|
|
"seeds": [
|
|||
|
|
{
|
|||
|
|
"kind": "const",
|
|||
|
|
"value": [
|
|||
|
|
97,
|
|||
|
|
109,
|
|||
|
|
109,
|
|||
|
|
95,
|
|||
|
|
99,
|
|||
|
|
111,
|
|||
|
|
110,
|
|||
|
|
102,
|
|||
|
|
105,
|
|||
|
|
103,
|
|||
|
|
95,
|
|||
|
|
97,
|
|||
|
|
99,
|
|||
|
|
99,
|
|||
|
|
111,
|
|||
|
|
117,
|
|||
|
|
110,
|
|||
|
|
116,
|
|||
|
|
95,
|
|||
|
|
115,
|
|||
|
|
101,
|
|||
|
|
101,
|
|||
|
|
100
|
|||
|
|
]
|
|||
|
|
}
|
|||
|
|
],
|
|||
|
|
"program": {
|
|||
|
|
"kind": "account",
|
|||
|
|
"path": "amm_program"
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "amm_create_fee_destination",
|
|||
|
|
"writable": true
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "authority",
|
|||
|
|
"docs": [
|
|||
|
|
"PDA that acts as the authority for pool vault operations",
|
|||
|
|
"Generated using AUTH_SEED"
|
|||
|
|
],
|
|||
|
|
"writable": true,
|
|||
|
|
"pda": {
|
|||
|
|
"seeds": [
|
|||
|
|
{
|
|||
|
|
"kind": "const",
|
|||
|
|
"value": [
|
|||
|
|
118,
|
|||
|
|
97,
|
|||
|
|
117,
|
|||
|
|
108,
|
|||
|
|
116,
|
|||
|
|
95,
|
|||
|
|
97,
|
|||
|
|
117,
|
|||
|
|
116,
|
|||
|
|
104,
|
|||
|
|
95,
|
|||
|
|
115,
|
|||
|
|
101,
|
|||
|
|
101,
|
|||
|
|
100
|
|||
|
|
]
|
|||
|
|
}
|
|||
|
|
]
|
|||
|
|
}
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "pool_state",
|
|||
|
|
"docs": [
|
|||
|
|
"Account that stores the pool's state and parameters",
|
|||
|
|
"PDA generated using POOL_SEED and both token mints"
|
|||
|
|
],
|
|||
|
|
"writable": true,
|
|||
|
|
"pda": {
|
|||
|
|
"seeds": [
|
|||
|
|
{
|
|||
|
|
"kind": "const",
|
|||
|
|
"value": [
|
|||
|
|
112,
|
|||
|
|
111,
|
|||
|
|
111,
|
|||
|
|
108
|
|||
|
|
]
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"kind": "account",
|
|||
|
|
"path": "base_mint"
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"kind": "account",
|
|||
|
|
"path": "quote_mint"
|
|||
|
|
}
|
|||
|
|
]
|
|||
|
|
}
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "global_config",
|
|||
|
|
"docs": [
|
|||
|
|
"Global config account stores owner"
|
|||
|
|
]
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "base_vault",
|
|||
|
|
"docs": [
|
|||
|
|
"The pool's vault for base tokens",
|
|||
|
|
"Will be fully drained during migration"
|
|||
|
|
],
|
|||
|
|
"writable": true
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "quote_vault",
|
|||
|
|
"docs": [
|
|||
|
|
"The pool's vault for quote tokens",
|
|||
|
|
"Will be fully drained during migration"
|
|||
|
|
],
|
|||
|
|
"writable": true
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "pool_lp_token",
|
|||
|
|
"writable": true
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "spl_token_program",
|
|||
|
|
"docs": [
|
|||
|
|
"SPL Token program for the base token",
|
|||
|
|
"Must be the standard Token program"
|
|||
|
|
],
|
|||
|
|
"address": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA"
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "associated_token_program",
|
|||
|
|
"docs": [
|
|||
|
|
"Program to create an ATA for receiving fee NFT"
|
|||
|
|
],
|
|||
|
|
"address": "ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL"
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "system_program",
|
|||
|
|
"docs": [
|
|||
|
|
"Required for account creation"
|
|||
|
|
],
|
|||
|
|
"address": "11111111111111111111111111111111"
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "rent_program",
|
|||
|
|
"docs": [
|
|||
|
|
"Required for rent exempt calculations"
|
|||
|
|
],
|
|||
|
|
"address": "SysvarRent111111111111111111111111111111111"
|
|||
|
|
}
|
|||
|
|
],
|
|||
|
|
"args": [
|
|||
|
|
{
|
|||
|
|
"name": "base_lot_size",
|
|||
|
|
"type": "u64"
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "quote_lot_size",
|
|||
|
|
"type": "u64"
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "market_vault_signer_nonce",
|
|||
|
|
"type": "u8"
|
|||
|
|
}
|
|||
|
|
]
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "migrate_to_cpswap",
|
|||
|
|
"docs": [
|
|||
|
|
"# Arguments",
|
|||
|
|
"",
|
|||
|
|
"* `ctx` - The context of accounts",
|
|||
|
|
""
|
|||
|
|
],
|
|||
|
|
"discriminator": [
|
|||
|
|
136,
|
|||
|
|
92,
|
|||
|
|
200,
|
|||
|
|
103,
|
|||
|
|
28,
|
|||
|
|
218,
|
|||
|
|
144,
|
|||
|
|
140
|
|||
|
|
],
|
|||
|
|
"accounts": [
|
|||
|
|
{
|
|||
|
|
"name": "payer",
|
|||
|
|
"docs": [
|
|||
|
|
"Only migrate_to_cpswap_wallet can migrate to cpswap pool",
|
|||
|
|
"This signer must match the migrate_to_cpswap_wallet saved in global_config"
|
|||
|
|
],
|
|||
|
|
"writable": true,
|
|||
|
|
"signer": true
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "base_mint",
|
|||
|
|
"docs": [
|
|||
|
|
"The mint for the base token (token being sold)"
|
|||
|
|
],
|
|||
|
|
"writable": true
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "quote_mint",
|
|||
|
|
"docs": [
|
|||
|
|
"The mint for the quote token (token used to buy)"
|
|||
|
|
]
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "platform_config",
|
|||
|
|
"docs": [
|
|||
|
|
"Platform configuration account containing platform-wide settings",
|
|||
|
|
"Used to read platform fee rate"
|
|||
|
|
]
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "cpswap_program",
|
|||
|
|
"address": "CPMMoo8L3F4NbTegBCKVNunggL7H1ZpdTHKxQB5qKP1C"
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "cpswap_pool",
|
|||
|
|
"docs": [
|
|||
|
|
"PDA account:",
|
|||
|
|
"seeds = [",
|
|||
|
|
"b\"pool\",",
|
|||
|
|
"cpswap_config.key().as_ref(),",
|
|||
|
|
"token_0_mint.key().as_ref(),",
|
|||
|
|
"token_1_mint.key().as_ref(),",
|
|||
|
|
"],",
|
|||
|
|
"seeds::program = cpswap_program,",
|
|||
|
|
"",
|
|||
|
|
"Or random account: must be signed by cli"
|
|||
|
|
],
|
|||
|
|
"writable": true
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "cpswap_authority",
|
|||
|
|
"pda": {
|
|||
|
|
"seeds": [
|
|||
|
|
{
|
|||
|
|
"kind": "const",
|
|||
|
|
"value": [
|
|||
|
|
118,
|
|||
|
|
97,
|
|||
|
|
117,
|
|||
|
|
108,
|
|||
|
|
116,
|
|||
|
|
95,
|
|||
|
|
97,
|
|||
|
|
110,
|
|||
|
|
100,
|
|||
|
|
95,
|
|||
|
|
108,
|
|||
|
|
112,
|
|||
|
|
95,
|
|||
|
|
109,
|
|||
|
|
105,
|
|||
|
|
110,
|
|||
|
|
116,
|
|||
|
|
95,
|
|||
|
|
97,
|
|||
|
|
117,
|
|||
|
|
116,
|
|||
|
|
104,
|
|||
|
|
95,
|
|||
|
|
115,
|
|||
|
|
101,
|
|||
|
|
101,
|
|||
|
|
100
|
|||
|
|
]
|
|||
|
|
}
|
|||
|
|
],
|
|||
|
|
"program": {
|
|||
|
|
"kind": "account",
|
|||
|
|
"path": "cpswap_program"
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "cpswap_lp_mint",
|
|||
|
|
"writable": true,
|
|||
|
|
"pda": {
|
|||
|
|
"seeds": [
|
|||
|
|
{
|
|||
|
|
"kind": "const",
|
|||
|
|
"value": [
|
|||
|
|
112,
|
|||
|
|
111,
|
|||
|
|
111,
|
|||
|
|
108,
|
|||
|
|
95,
|
|||
|
|
108,
|
|||
|
|
112,
|
|||
|
|
95,
|
|||
|
|
109,
|
|||
|
|
105,
|
|||
|
|
110,
|
|||
|
|
116
|
|||
|
|
]
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"kind": "account",
|
|||
|
|
"path": "cpswap_pool"
|
|||
|
|
}
|
|||
|
|
],
|
|||
|
|
"program": {
|
|||
|
|
"kind": "account",
|
|||
|
|
"path": "cpswap_program"
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "cpswap_base_vault",
|
|||
|
|
"writable": true,
|
|||
|
|
"pda": {
|
|||
|
|
"seeds": [
|
|||
|
|
{
|
|||
|
|
"kind": "const",
|
|||
|
|
"value": [
|
|||
|
|
112,
|
|||
|
|
111,
|
|||
|
|
111,
|
|||
|
|
108,
|
|||
|
|
95,
|
|||
|
|
118,
|
|||
|
|
97,
|
|||
|
|
117,
|
|||
|
|
108,
|
|||
|
|
116
|
|||
|
|
]
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"kind": "account",
|
|||
|
|
"path": "cpswap_pool"
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"kind": "account",
|
|||
|
|
"path": "base_mint"
|
|||
|
|
}
|
|||
|
|
],
|
|||
|
|
"program": {
|
|||
|
|
"kind": "account",
|
|||
|
|
"path": "cpswap_program"
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "cpswap_quote_vault",
|
|||
|
|
"writable": true,
|
|||
|
|
"pda": {
|
|||
|
|
"seeds": [
|
|||
|
|
{
|
|||
|
|
"kind": "const",
|
|||
|
|
"value": [
|
|||
|
|
112,
|
|||
|
|
111,
|
|||
|
|
111,
|
|||
|
|
108,
|
|||
|
|
95,
|
|||
|
|
118,
|
|||
|
|
97,
|
|||
|
|
117,
|
|||
|
|
108,
|
|||
|
|
116
|
|||
|
|
]
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"kind": "account",
|
|||
|
|
"path": "cpswap_pool"
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"kind": "account",
|
|||
|
|
"path": "quote_mint"
|
|||
|
|
}
|
|||
|
|
],
|
|||
|
|
"program": {
|
|||
|
|
"kind": "account",
|
|||
|
|
"path": "cpswap_program"
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "cpswap_config"
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "cpswap_create_pool_fee",
|
|||
|
|
"writable": true
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "cpswap_observation",
|
|||
|
|
"writable": true,
|
|||
|
|
"pda": {
|
|||
|
|
"seeds": [
|
|||
|
|
{
|
|||
|
|
"kind": "const",
|
|||
|
|
"value": [
|
|||
|
|
111,
|
|||
|
|
98,
|
|||
|
|
115,
|
|||
|
|
101,
|
|||
|
|
114,
|
|||
|
|
118,
|
|||
|
|
97,
|
|||
|
|
116,
|
|||
|
|
105,
|
|||
|
|
111,
|
|||
|
|
110
|
|||
|
|
]
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"kind": "account",
|
|||
|
|
"path": "cpswap_pool"
|
|||
|
|
}
|
|||
|
|
],
|
|||
|
|
"program": {
|
|||
|
|
"kind": "account",
|
|||
|
|
"path": "cpswap_program"
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "lock_program",
|
|||
|
|
"address": "LockrWmn6K5twhz3y9w1dQERbmgSaRkfnTeTKbpofwE"
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "lock_authority",
|
|||
|
|
"pda": {
|
|||
|
|
"seeds": [
|
|||
|
|
{
|
|||
|
|
"kind": "const",
|
|||
|
|
"value": [
|
|||
|
|
108,
|
|||
|
|
111,
|
|||
|
|
99,
|
|||
|
|
107,
|
|||
|
|
95,
|
|||
|
|
99,
|
|||
|
|
112,
|
|||
|
|
95,
|
|||
|
|
97,
|
|||
|
|
117,
|
|||
|
|
116,
|
|||
|
|
104,
|
|||
|
|
111,
|
|||
|
|
114,
|
|||
|
|
105,
|
|||
|
|
116,
|
|||
|
|
121,
|
|||
|
|
95,
|
|||
|
|
115,
|
|||
|
|
101,
|
|||
|
|
101,
|
|||
|
|
100
|
|||
|
|
]
|
|||
|
|
}
|
|||
|
|
],
|
|||
|
|
"program": {
|
|||
|
|
"kind": "account",
|
|||
|
|
"path": "lock_program"
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "lock_lp_vault",
|
|||
|
|
"writable": true
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "authority",
|
|||
|
|
"docs": [
|
|||
|
|
"PDA that acts as the authority for pool vault operations",
|
|||
|
|
"Generated using AUTH_SEED"
|
|||
|
|
],
|
|||
|
|
"writable": true,
|
|||
|
|
"pda": {
|
|||
|
|
"seeds": [
|
|||
|
|
{
|
|||
|
|
"kind": "const",
|
|||
|
|
"value": [
|
|||
|
|
118,
|
|||
|
|
97,
|
|||
|
|
117,
|
|||
|
|
108,
|
|||
|
|
116,
|
|||
|
|
95,
|
|||
|
|
97,
|
|||
|
|
117,
|
|||
|
|
116,
|
|||
|
|
104,
|
|||
|
|
95,
|
|||
|
|
115,
|
|||
|
|
101,
|
|||
|
|
101,
|
|||
|
|
100
|
|||
|
|
]
|
|||
|
|
}
|
|||
|
|
]
|
|||
|
|
}
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "pool_state",
|
|||
|
|
"docs": [
|
|||
|
|
"Account that stores the pool's state and parameters",
|
|||
|
|
"PDA generated using POOL_SEED and both token mints"
|
|||
|
|
],
|
|||
|
|
"writable": true,
|
|||
|
|
"pda": {
|
|||
|
|
"seeds": [
|
|||
|
|
{
|
|||
|
|
"kind": "const",
|
|||
|
|
"value": [
|
|||
|
|
112,
|
|||
|
|
111,
|
|||
|
|
111,
|
|||
|
|
108
|
|||
|
|
]
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"kind": "account",
|
|||
|
|
"path": "base_mint"
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"kind": "account",
|
|||
|
|
"path": "quote_mint"
|
|||
|
|
}
|
|||
|
|
]
|
|||
|
|
}
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "global_config",
|
|||
|
|
"docs": [
|
|||
|
|
"Global config account stores owner"
|
|||
|
|
]
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "base_vault",
|
|||
|
|
"docs": [
|
|||
|
|
"The pool's vault for base tokens",
|
|||
|
|
"Will be fully drained during migration"
|
|||
|
|
],
|
|||
|
|
"writable": true
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "quote_vault",
|
|||
|
|
"docs": [
|
|||
|
|
"The pool's vault for quote tokens",
|
|||
|
|
"Will be fully drained during migration"
|
|||
|
|
],
|
|||
|
|
"writable": true
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "pool_lp_token",
|
|||
|
|
"writable": true
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "base_token_program",
|
|||
|
|
"docs": [
|
|||
|
|
"SPL Token program for the base token",
|
|||
|
|
"Must be the standard Token program"
|
|||
|
|
]
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "quote_token_program",
|
|||
|
|
"docs": [
|
|||
|
|
"SPL Token program for the quote token"
|
|||
|
|
],
|
|||
|
|
"address": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA"
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "associated_token_program",
|
|||
|
|
"docs": [
|
|||
|
|
"Program to create an ATA for receiving fee NFT"
|
|||
|
|
],
|
|||
|
|
"address": "ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL"
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "system_program",
|
|||
|
|
"docs": [
|
|||
|
|
"Required for account creation"
|
|||
|
|
],
|
|||
|
|
"address": "11111111111111111111111111111111"
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "rent_program",
|
|||
|
|
"docs": [
|
|||
|
|
"Required for rent exempt calculations"
|
|||
|
|
],
|
|||
|
|
"address": "SysvarRent111111111111111111111111111111111"
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "metadata_program",
|
|||
|
|
"docs": [
|
|||
|
|
"Program to create NFT metadata accunt"
|
|||
|
|
],
|
|||
|
|
"address": "metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s"
|
|||
|
|
}
|
|||
|
|
],
|
|||
|
|
"args": []
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "remove_platform_curve_param",
|
|||
|
|
"docs": [
|
|||
|
|
"Remove platform launch param",
|
|||
|
|
"# Arguments",
|
|||
|
|
"",
|
|||
|
|
"* `ctx` - The context of accounts",
|
|||
|
|
"* `index` - The index of the curve param to remove",
|
|||
|
|
""
|
|||
|
|
],
|
|||
|
|
"discriminator": [
|
|||
|
|
27,
|
|||
|
|
30,
|
|||
|
|
62,
|
|||
|
|
169,
|
|||
|
|
93,
|
|||
|
|
224,
|
|||
|
|
24,
|
|||
|
|
145
|
|||
|
|
],
|
|||
|
|
"accounts": [
|
|||
|
|
{
|
|||
|
|
"name": "platform_admin",
|
|||
|
|
"docs": [
|
|||
|
|
"The account paying for the initialization costs"
|
|||
|
|
],
|
|||
|
|
"signer": true
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "platform_config",
|
|||
|
|
"docs": [
|
|||
|
|
"Platform config account to be changed"
|
|||
|
|
],
|
|||
|
|
"writable": true,
|
|||
|
|
"pda": {
|
|||
|
|
"seeds": [
|
|||
|
|
{
|
|||
|
|
"kind": "const",
|
|||
|
|
"value": [
|
|||
|
|
112,
|
|||
|
|
108,
|
|||
|
|
97,
|
|||
|
|
116,
|
|||
|
|
102,
|
|||
|
|
111,
|
|||
|
|
114,
|
|||
|
|
109,
|
|||
|
|
95,
|
|||
|
|
99,
|
|||
|
|
111,
|
|||
|
|
110,
|
|||
|
|
102,
|
|||
|
|
105,
|
|||
|
|
103
|
|||
|
|
]
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"kind": "account",
|
|||
|
|
"path": "platform_admin"
|
|||
|
|
}
|
|||
|
|
]
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
],
|
|||
|
|
"args": [
|
|||
|
|
{
|
|||
|
|
"name": "index",
|
|||
|
|
"type": "u8"
|
|||
|
|
}
|
|||
|
|
]
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "sell_exact_in",
|
|||
|
|
"docs": [
|
|||
|
|
"Use the given amount of base tokens to sell for quote tokens.",
|
|||
|
|
"# Arguments",
|
|||
|
|
"",
|
|||
|
|
"* `ctx` - The context of accounts",
|
|||
|
|
"* `amount_in` - Amount of base token to sell",
|
|||
|
|
"* `minimum_amount_out` - Minimum amount of quote token to receive (slippage protection)",
|
|||
|
|
"* `share_fee_rate` - Fee rate for the share",
|
|||
|
|
""
|
|||
|
|
],
|
|||
|
|
"discriminator": [
|
|||
|
|
149,
|
|||
|
|
39,
|
|||
|
|
222,
|
|||
|
|
155,
|
|||
|
|
211,
|
|||
|
|
124,
|
|||
|
|
152,
|
|||
|
|
26
|
|||
|
|
],
|
|||
|
|
"accounts": [
|
|||
|
|
{
|
|||
|
|
"name": "payer",
|
|||
|
|
"docs": [
|
|||
|
|
"The user performing the swap operation",
|
|||
|
|
"Must sign the transaction and pay for fees"
|
|||
|
|
],
|
|||
|
|
"signer": true
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "authority",
|
|||
|
|
"docs": [
|
|||
|
|
"PDA that acts as the authority for pool vault operations",
|
|||
|
|
"Generated using AUTH_SEED"
|
|||
|
|
],
|
|||
|
|
"pda": {
|
|||
|
|
"seeds": [
|
|||
|
|
{
|
|||
|
|
"kind": "const",
|
|||
|
|
"value": [
|
|||
|
|
118,
|
|||
|
|
97,
|
|||
|
|
117,
|
|||
|
|
108,
|
|||
|
|
116,
|
|||
|
|
95,
|
|||
|
|
97,
|
|||
|
|
117,
|
|||
|
|
116,
|
|||
|
|
104,
|
|||
|
|
95,
|
|||
|
|
115,
|
|||
|
|
101,
|
|||
|
|
101,
|
|||
|
|
100
|
|||
|
|
]
|
|||
|
|
}
|
|||
|
|
]
|
|||
|
|
}
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "global_config",
|
|||
|
|
"docs": [
|
|||
|
|
"Global configuration account containing protocol-wide settings",
|
|||
|
|
"Used to read protocol fee rates and curve type"
|
|||
|
|
]
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "platform_config",
|
|||
|
|
"docs": [
|
|||
|
|
"Platform configuration account containing platform-wide settings",
|
|||
|
|
"Used to read platform fee rate"
|
|||
|
|
]
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "pool_state",
|
|||
|
|
"docs": [
|
|||
|
|
"The pool state account where the swap will be performed",
|
|||
|
|
"Contains current pool parameters and balances"
|
|||
|
|
],
|
|||
|
|
"writable": true
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "user_base_token",
|
|||
|
|
"docs": [
|
|||
|
|
"The user's token account for base tokens (tokens being bought)",
|
|||
|
|
"Will receive the output tokens after the swap"
|
|||
|
|
],
|
|||
|
|
"writable": true
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "user_quote_token",
|
|||
|
|
"docs": [
|
|||
|
|
"The user's token account for quote tokens (tokens being sold)",
|
|||
|
|
"Will be debited for the input amount"
|
|||
|
|
],
|
|||
|
|
"writable": true
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "base_vault",
|
|||
|
|
"docs": [
|
|||
|
|
"The pool's vault for base tokens",
|
|||
|
|
"Will be debited to send tokens to the user"
|
|||
|
|
],
|
|||
|
|
"writable": true
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "quote_vault",
|
|||
|
|
"docs": [
|
|||
|
|
"The pool's vault for quote tokens",
|
|||
|
|
"Will receive the input tokens from the user"
|
|||
|
|
],
|
|||
|
|
"writable": true
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "base_token_mint",
|
|||
|
|
"docs": [
|
|||
|
|
"The mint of the base token",
|
|||
|
|
"Used for transfer fee calculations if applicable"
|
|||
|
|
]
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "quote_token_mint",
|
|||
|
|
"docs": [
|
|||
|
|
"The mint of the quote token"
|
|||
|
|
]
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "base_token_program",
|
|||
|
|
"docs": [
|
|||
|
|
"SPL Token program for base token transfers"
|
|||
|
|
]
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "quote_token_program",
|
|||
|
|
"docs": [
|
|||
|
|
"SPL Token program for quote token transfers"
|
|||
|
|
],
|
|||
|
|
"address": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA"
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "event_authority",
|
|||
|
|
"pda": {
|
|||
|
|
"seeds": [
|
|||
|
|
{
|
|||
|
|
"kind": "const",
|
|||
|
|
"value": [
|
|||
|
|
95,
|
|||
|
|
95,
|
|||
|
|
101,
|
|||
|
|
118,
|
|||
|
|
101,
|
|||
|
|
110,
|
|||
|
|
116,
|
|||
|
|
95,
|
|||
|
|
97,
|
|||
|
|
117,
|
|||
|
|
116,
|
|||
|
|
104,
|
|||
|
|
111,
|
|||
|
|
114,
|
|||
|
|
105,
|
|||
|
|
116,
|
|||
|
|
121
|
|||
|
|
]
|
|||
|
|
}
|
|||
|
|
]
|
|||
|
|
}
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "program"
|
|||
|
|
}
|
|||
|
|
],
|
|||
|
|
"args": [
|
|||
|
|
{
|
|||
|
|
"name": "amount_in",
|
|||
|
|
"type": "u64"
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "minimum_amount_out",
|
|||
|
|
"type": "u64"
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "share_fee_rate",
|
|||
|
|
"type": "u64"
|
|||
|
|
}
|
|||
|
|
]
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "sell_exact_out",
|
|||
|
|
"docs": [
|
|||
|
|
"Sell base tokens for the given amount of quote tokens.",
|
|||
|
|
"# Arguments",
|
|||
|
|
"",
|
|||
|
|
"* `ctx` - The context of accounts",
|
|||
|
|
"* `amount_out` - Amount of quote token to receive",
|
|||
|
|
"* `maximum_amount_in` - Maximum amount of base token to purchase (slippage protection)",
|
|||
|
|
"* `share_fee_rate` - Fee rate for the share",
|
|||
|
|
""
|
|||
|
|
],
|
|||
|
|
"discriminator": [
|
|||
|
|
95,
|
|||
|
|
200,
|
|||
|
|
71,
|
|||
|
|
34,
|
|||
|
|
8,
|
|||
|
|
9,
|
|||
|
|
11,
|
|||
|
|
166
|
|||
|
|
],
|
|||
|
|
"accounts": [
|
|||
|
|
{
|
|||
|
|
"name": "payer",
|
|||
|
|
"docs": [
|
|||
|
|
"The user performing the swap operation",
|
|||
|
|
"Must sign the transaction and pay for fees"
|
|||
|
|
],
|
|||
|
|
"signer": true
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "authority",
|
|||
|
|
"docs": [
|
|||
|
|
"PDA that acts as the authority for pool vault operations",
|
|||
|
|
"Generated using AUTH_SEED"
|
|||
|
|
],
|
|||
|
|
"pda": {
|
|||
|
|
"seeds": [
|
|||
|
|
{
|
|||
|
|
"kind": "const",
|
|||
|
|
"value": [
|
|||
|
|
118,
|
|||
|
|
97,
|
|||
|
|
117,
|
|||
|
|
108,
|
|||
|
|
116,
|
|||
|
|
95,
|
|||
|
|
97,
|
|||
|
|
117,
|
|||
|
|
116,
|
|||
|
|
104,
|
|||
|
|
95,
|
|||
|
|
115,
|
|||
|
|
101,
|
|||
|
|
101,
|
|||
|
|
100
|
|||
|
|
]
|
|||
|
|
}
|
|||
|
|
]
|
|||
|
|
}
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "global_config",
|
|||
|
|
"docs": [
|
|||
|
|
"Global configuration account containing protocol-wide settings",
|
|||
|
|
"Used to read protocol fee rates and curve type"
|
|||
|
|
]
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "platform_config",
|
|||
|
|
"docs": [
|
|||
|
|
"Platform configuration account containing platform-wide settings",
|
|||
|
|
"Used to read platform fee rate"
|
|||
|
|
]
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "pool_state",
|
|||
|
|
"docs": [
|
|||
|
|
"The pool state account where the swap will be performed",
|
|||
|
|
"Contains current pool parameters and balances"
|
|||
|
|
],
|
|||
|
|
"writable": true
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "user_base_token",
|
|||
|
|
"docs": [
|
|||
|
|
"The user's token account for base tokens (tokens being bought)",
|
|||
|
|
"Will receive the output tokens after the swap"
|
|||
|
|
],
|
|||
|
|
"writable": true
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "user_quote_token",
|
|||
|
|
"docs": [
|
|||
|
|
"The user's token account for quote tokens (tokens being sold)",
|
|||
|
|
"Will be debited for the input amount"
|
|||
|
|
],
|
|||
|
|
"writable": true
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "base_vault",
|
|||
|
|
"docs": [
|
|||
|
|
"The pool's vault for base tokens",
|
|||
|
|
"Will be debited to send tokens to the user"
|
|||
|
|
],
|
|||
|
|
"writable": true
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "quote_vault",
|
|||
|
|
"docs": [
|
|||
|
|
"The pool's vault for quote tokens",
|
|||
|
|
"Will receive the input tokens from the user"
|
|||
|
|
],
|
|||
|
|
"writable": true
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "base_token_mint",
|
|||
|
|
"docs": [
|
|||
|
|
"The mint of the base token",
|
|||
|
|
"Used for transfer fee calculations if applicable"
|
|||
|
|
]
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "quote_token_mint",
|
|||
|
|
"docs": [
|
|||
|
|
"The mint of the quote token"
|
|||
|
|
]
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "base_token_program",
|
|||
|
|
"docs": [
|
|||
|
|
"SPL Token program for base token transfers"
|
|||
|
|
]
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "quote_token_program",
|
|||
|
|
"docs": [
|
|||
|
|
"SPL Token program for quote token transfers"
|
|||
|
|
],
|
|||
|
|
"address": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA"
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "event_authority",
|
|||
|
|
"pda": {
|
|||
|
|
"seeds": [
|
|||
|
|
{
|
|||
|
|
"kind": "const",
|
|||
|
|
"value": [
|
|||
|
|
95,
|
|||
|
|
95,
|
|||
|
|
101,
|
|||
|
|
118,
|
|||
|
|
101,
|
|||
|
|
110,
|
|||
|
|
116,
|
|||
|
|
95,
|
|||
|
|
97,
|
|||
|
|
117,
|
|||
|
|
116,
|
|||
|
|
104,
|
|||
|
|
111,
|
|||
|
|
114,
|
|||
|
|
105,
|
|||
|
|
116,
|
|||
|
|
121
|
|||
|
|
]
|
|||
|
|
}
|
|||
|
|
]
|
|||
|
|
}
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "program"
|
|||
|
|
}
|
|||
|
|
],
|
|||
|
|
"args": [
|
|||
|
|
{
|
|||
|
|
"name": "amount_out",
|
|||
|
|
"type": "u64"
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "maximum_amount_in",
|
|||
|
|
"type": "u64"
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "share_fee_rate",
|
|||
|
|
"type": "u64"
|
|||
|
|
}
|
|||
|
|
]
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "update_config",
|
|||
|
|
"docs": [
|
|||
|
|
"Updates configuration parameters",
|
|||
|
|
"# Arguments",
|
|||
|
|
"",
|
|||
|
|
"* `ctx` - The context of accounts",
|
|||
|
|
"* `param` - Parameter to update:",
|
|||
|
|
"- 0: Update trade_fee_rate",
|
|||
|
|
"- 1: Update fee owner",
|
|||
|
|
"* `value` - New value for the selected parameter",
|
|||
|
|
""
|
|||
|
|
],
|
|||
|
|
"discriminator": [
|
|||
|
|
29,
|
|||
|
|
158,
|
|||
|
|
252,
|
|||
|
|
191,
|
|||
|
|
10,
|
|||
|
|
83,
|
|||
|
|
219,
|
|||
|
|
99
|
|||
|
|
],
|
|||
|
|
"accounts": [
|
|||
|
|
{
|
|||
|
|
"name": "owner",
|
|||
|
|
"docs": [
|
|||
|
|
"The global config owner or admin"
|
|||
|
|
],
|
|||
|
|
"signer": true,
|
|||
|
|
"address": "GThUX1Atko4tqhN2NaiTazWSeFWMuiUvfFnyJyUghFMJ"
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "global_config",
|
|||
|
|
"docs": [
|
|||
|
|
"Global config account to be changed"
|
|||
|
|
],
|
|||
|
|
"writable": true
|
|||
|
|
}
|
|||
|
|
],
|
|||
|
|
"args": [
|
|||
|
|
{
|
|||
|
|
"name": "param",
|
|||
|
|
"type": "u8"
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "value",
|
|||
|
|
"type": "u64"
|
|||
|
|
}
|
|||
|
|
]
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "update_platform_config",
|
|||
|
|
"docs": [
|
|||
|
|
"Update platform config",
|
|||
|
|
"# Arguments",
|
|||
|
|
"",
|
|||
|
|
"* `ctx` - The context of accounts",
|
|||
|
|
"* `param` - Parameter to update",
|
|||
|
|
""
|
|||
|
|
],
|
|||
|
|
"discriminator": [
|
|||
|
|
195,
|
|||
|
|
60,
|
|||
|
|
76,
|
|||
|
|
129,
|
|||
|
|
146,
|
|||
|
|
45,
|
|||
|
|
67,
|
|||
|
|
143
|
|||
|
|
],
|
|||
|
|
"accounts": [
|
|||
|
|
{
|
|||
|
|
"name": "platform_admin",
|
|||
|
|
"docs": [
|
|||
|
|
"The account paying for the initialization costs"
|
|||
|
|
],
|
|||
|
|
"signer": true
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "platform_config",
|
|||
|
|
"docs": [
|
|||
|
|
"Platform config account to be changed"
|
|||
|
|
],
|
|||
|
|
"writable": true,
|
|||
|
|
"pda": {
|
|||
|
|
"seeds": [
|
|||
|
|
{
|
|||
|
|
"kind": "const",
|
|||
|
|
"value": [
|
|||
|
|
112,
|
|||
|
|
108,
|
|||
|
|
97,
|
|||
|
|
116,
|
|||
|
|
102,
|
|||
|
|
111,
|
|||
|
|
114,
|
|||
|
|
109,
|
|||
|
|
95,
|
|||
|
|
99,
|
|||
|
|
111,
|
|||
|
|
110,
|
|||
|
|
102,
|
|||
|
|
105,
|
|||
|
|
103
|
|||
|
|
]
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"kind": "account",
|
|||
|
|
"path": "platform_admin"
|
|||
|
|
}
|
|||
|
|
]
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
],
|
|||
|
|
"args": [
|
|||
|
|
{
|
|||
|
|
"name": "param",
|
|||
|
|
"type": {
|
|||
|
|
"defined": {
|
|||
|
|
"name": "PlatformConfigParam"
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
]
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "update_platform_curve_param",
|
|||
|
|
"docs": [
|
|||
|
|
"Update platform launch param",
|
|||
|
|
"# Arguments",
|
|||
|
|
"",
|
|||
|
|
"* `ctx` - The context of accounts",
|
|||
|
|
"* `bonding_curve_param` - Parameter to update",
|
|||
|
|
""
|
|||
|
|
],
|
|||
|
|
"discriminator": [
|
|||
|
|
138,
|
|||
|
|
144,
|
|||
|
|
138,
|
|||
|
|
250,
|
|||
|
|
220,
|
|||
|
|
128,
|
|||
|
|
4,
|
|||
|
|
57
|
|||
|
|
],
|
|||
|
|
"accounts": [
|
|||
|
|
{
|
|||
|
|
"name": "platform_admin",
|
|||
|
|
"docs": [
|
|||
|
|
"The account paying for the initialization costs"
|
|||
|
|
],
|
|||
|
|
"writable": true,
|
|||
|
|
"signer": true
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "platform_config",
|
|||
|
|
"docs": [
|
|||
|
|
"Platform config account to be changed"
|
|||
|
|
],
|
|||
|
|
"writable": true,
|
|||
|
|
"pda": {
|
|||
|
|
"seeds": [
|
|||
|
|
{
|
|||
|
|
"kind": "const",
|
|||
|
|
"value": [
|
|||
|
|
112,
|
|||
|
|
108,
|
|||
|
|
97,
|
|||
|
|
116,
|
|||
|
|
102,
|
|||
|
|
111,
|
|||
|
|
114,
|
|||
|
|
109,
|
|||
|
|
95,
|
|||
|
|
99,
|
|||
|
|
111,
|
|||
|
|
110,
|
|||
|
|
102,
|
|||
|
|
105,
|
|||
|
|
103
|
|||
|
|
]
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"kind": "account",
|
|||
|
|
"path": "platform_admin"
|
|||
|
|
}
|
|||
|
|
]
|
|||
|
|
}
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "global_config",
|
|||
|
|
"docs": [
|
|||
|
|
"Global configuration account containing protocol-wide settings",
|
|||
|
|
"Includes settings like quote token mint and fee parameters"
|
|||
|
|
]
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "system_program",
|
|||
|
|
"docs": [
|
|||
|
|
"System program for lamport transfers"
|
|||
|
|
],
|
|||
|
|
"address": "11111111111111111111111111111111"
|
|||
|
|
}
|
|||
|
|
],
|
|||
|
|
"args": [
|
|||
|
|
{
|
|||
|
|
"name": "index",
|
|||
|
|
"type": "u8"
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "bonding_curve_param",
|
|||
|
|
"type": {
|
|||
|
|
"defined": {
|
|||
|
|
"name": "BondingCurveParam"
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
]
|
|||
|
|
}
|
|||
|
|
],
|
|||
|
|
"accounts": [
|
|||
|
|
{
|
|||
|
|
"name": "GlobalConfig",
|
|||
|
|
"discriminator": [
|
|||
|
|
149,
|
|||
|
|
8,
|
|||
|
|
156,
|
|||
|
|
202,
|
|||
|
|
160,
|
|||
|
|
252,
|
|||
|
|
176,
|
|||
|
|
217
|
|||
|
|
]
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "PlatformConfig",
|
|||
|
|
"discriminator": [
|
|||
|
|
160,
|
|||
|
|
78,
|
|||
|
|
128,
|
|||
|
|
0,
|
|||
|
|
248,
|
|||
|
|
83,
|
|||
|
|
230,
|
|||
|
|
160
|
|||
|
|
]
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "PoolState",
|
|||
|
|
"discriminator": [
|
|||
|
|
247,
|
|||
|
|
237,
|
|||
|
|
227,
|
|||
|
|
245,
|
|||
|
|
215,
|
|||
|
|
195,
|
|||
|
|
222,
|
|||
|
|
70
|
|||
|
|
]
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "VestingRecord",
|
|||
|
|
"discriminator": [
|
|||
|
|
106,
|
|||
|
|
243,
|
|||
|
|
221,
|
|||
|
|
205,
|
|||
|
|
230,
|
|||
|
|
126,
|
|||
|
|
85,
|
|||
|
|
83
|
|||
|
|
]
|
|||
|
|
}
|
|||
|
|
],
|
|||
|
|
"events": [
|
|||
|
|
{
|
|||
|
|
"name": "ClaimVestedEvent",
|
|||
|
|
"discriminator": [
|
|||
|
|
21,
|
|||
|
|
194,
|
|||
|
|
114,
|
|||
|
|
87,
|
|||
|
|
120,
|
|||
|
|
211,
|
|||
|
|
226,
|
|||
|
|
32
|
|||
|
|
]
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "CreateVestingEvent",
|
|||
|
|
"discriminator": [
|
|||
|
|
150,
|
|||
|
|
152,
|
|||
|
|
11,
|
|||
|
|
179,
|
|||
|
|
52,
|
|||
|
|
210,
|
|||
|
|
191,
|
|||
|
|
125
|
|||
|
|
]
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "PoolCreateEvent",
|
|||
|
|
"discriminator": [
|
|||
|
|
151,
|
|||
|
|
215,
|
|||
|
|
226,
|
|||
|
|
9,
|
|||
|
|
118,
|
|||
|
|
161,
|
|||
|
|
115,
|
|||
|
|
174
|
|||
|
|
]
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "TradeEvent",
|
|||
|
|
"discriminator": [
|
|||
|
|
189,
|
|||
|
|
219,
|
|||
|
|
127,
|
|||
|
|
211,
|
|||
|
|
78,
|
|||
|
|
230,
|
|||
|
|
97,
|
|||
|
|
238
|
|||
|
|
]
|
|||
|
|
}
|
|||
|
|
],
|
|||
|
|
"errors": [
|
|||
|
|
{
|
|||
|
|
"code": 6000,
|
|||
|
|
"name": "NotApproved",
|
|||
|
|
"msg": "Not approved"
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"code": 6001,
|
|||
|
|
"name": "InvalidOwner",
|
|||
|
|
"msg": "Input account owner is not the program address"
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"code": 6002,
|
|||
|
|
"name": "InvalidInput",
|
|||
|
|
"msg": "InvalidInput"
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"code": 6003,
|
|||
|
|
"name": "InputNotMatchCurveConfig",
|
|||
|
|
"msg": "The input params are not match with curve type in config"
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"code": 6004,
|
|||
|
|
"name": "ExceededSlippage",
|
|||
|
|
"msg": "Exceeds desired slippage limit"
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"code": 6005,
|
|||
|
|
"name": "PoolFunding",
|
|||
|
|
"msg": "Pool funding"
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"code": 6006,
|
|||
|
|
"name": "PoolMigrated",
|
|||
|
|
"msg": "Pool migrated"
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"code": 6007,
|
|||
|
|
"name": "MigrateTypeNotMatch",
|
|||
|
|
"msg": "Migrate type not match"
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"code": 6008,
|
|||
|
|
"name": "MathOverflow",
|
|||
|
|
"msg": "Math overflow"
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"code": 6009,
|
|||
|
|
"name": "NoAssetsToCollect",
|
|||
|
|
"msg": "No assets to collect"
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"code": 6010,
|
|||
|
|
"name": "VestingRatioTooHigh",
|
|||
|
|
"msg": "Vesting ratio too high"
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"code": 6011,
|
|||
|
|
"name": "VestingSettingEnded",
|
|||
|
|
"msg": "Vesting setting ended"
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"code": 6012,
|
|||
|
|
"name": "VestingNotStarted",
|
|||
|
|
"msg": "Vesting not started"
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"code": 6013,
|
|||
|
|
"name": "NoVestingSchedule",
|
|||
|
|
"msg": "No vesting schedule"
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"code": 6014,
|
|||
|
|
"name": "InvalidPlatformInfo",
|
|||
|
|
"msg": "The platform info input is invalid"
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"code": 6015,
|
|||
|
|
"name": "PoolNotMigrated",
|
|||
|
|
"msg": "Pool not migrated"
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"code": 6016,
|
|||
|
|
"name": "InvalidCpSwapConfig",
|
|||
|
|
"msg": "The input cp swap config account is invalid"
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"code": 6017,
|
|||
|
|
"name": "NoSupportExtension",
|
|||
|
|
"msg": "No support extension"
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"code": 6018,
|
|||
|
|
"name": "NotEnoughRemainingAccounts",
|
|||
|
|
"msg": "Not enough remaining accounts"
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"code": 6019,
|
|||
|
|
"name": "TransferFeeCalculateNotMatch",
|
|||
|
|
"msg": "TransferFee calculate not match"
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"code": 6020,
|
|||
|
|
"name": "CurveParamIsNotExist",
|
|||
|
|
"msg": "Curve param is not exist"
|
|||
|
|
}
|
|||
|
|
],
|
|||
|
|
"types": [
|
|||
|
|
{
|
|||
|
|
"name": "AmmCreatorFeeOn",
|
|||
|
|
"docs": [
|
|||
|
|
"migrate to cpmm, creator fee on quote token or both token"
|
|||
|
|
],
|
|||
|
|
"type": {
|
|||
|
|
"kind": "enum",
|
|||
|
|
"variants": [
|
|||
|
|
{
|
|||
|
|
"name": "QuoteToken"
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "BothToken"
|
|||
|
|
}
|
|||
|
|
]
|
|||
|
|
}
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "BondingCurveParam",
|
|||
|
|
"type": {
|
|||
|
|
"kind": "struct",
|
|||
|
|
"fields": [
|
|||
|
|
{
|
|||
|
|
"name": "migrate_type",
|
|||
|
|
"docs": [
|
|||
|
|
"Migrate to AMM or CpSwap, 0: amm, 1: cpswap,",
|
|||
|
|
"Neither 0 nor 1: invalid"
|
|||
|
|
],
|
|||
|
|
"type": "u8"
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "migrate_cpmm_fee_on",
|
|||
|
|
"docs": [
|
|||
|
|
"The migrate fee on, 0 means fee on the quote token, 1 means fee on both token",
|
|||
|
|
"Neither 0 nor 1: invalid"
|
|||
|
|
],
|
|||
|
|
"type": "u8"
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "supply",
|
|||
|
|
"docs": [
|
|||
|
|
"The supply of the token,",
|
|||
|
|
"0: invalid"
|
|||
|
|
],
|
|||
|
|
"type": "u64"
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "total_base_sell",
|
|||
|
|
"docs": [
|
|||
|
|
"The total base sell of the token",
|
|||
|
|
"0: invalid"
|
|||
|
|
],
|
|||
|
|
"type": "u64"
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "total_quote_fund_raising",
|
|||
|
|
"docs": [
|
|||
|
|
"The total quote fund raising of the token",
|
|||
|
|
"0: invalid"
|
|||
|
|
],
|
|||
|
|
"type": "u64"
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "total_locked_amount",
|
|||
|
|
"docs": [
|
|||
|
|
"total amount of tokens to be unlocked",
|
|||
|
|
"u64::MAX: invalid"
|
|||
|
|
],
|
|||
|
|
"type": "u64"
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "cliff_period",
|
|||
|
|
"docs": [
|
|||
|
|
"Waiting time in seconds before unlocking after fundraising ends",
|
|||
|
|
"u64::MAX: invalid"
|
|||
|
|
],
|
|||
|
|
"type": "u64"
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "unlock_period",
|
|||
|
|
"docs": [
|
|||
|
|
"Unlocking period in seconds",
|
|||
|
|
"u64::MAX: invalid"
|
|||
|
|
],
|
|||
|
|
"type": "u64"
|
|||
|
|
}
|
|||
|
|
]
|
|||
|
|
}
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "ClaimVestedEvent",
|
|||
|
|
"docs": [
|
|||
|
|
"Emitted when vesting token claimed by beneficiary"
|
|||
|
|
],
|
|||
|
|
"type": {
|
|||
|
|
"kind": "struct",
|
|||
|
|
"fields": [
|
|||
|
|
{
|
|||
|
|
"name": "pool_state",
|
|||
|
|
"type": "pubkey"
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "beneficiary",
|
|||
|
|
"type": "pubkey"
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "claim_amount",
|
|||
|
|
"type": "u64"
|
|||
|
|
}
|
|||
|
|
]
|
|||
|
|
}
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "ConstantCurve",
|
|||
|
|
"type": {
|
|||
|
|
"kind": "struct",
|
|||
|
|
"fields": [
|
|||
|
|
{
|
|||
|
|
"name": "supply",
|
|||
|
|
"type": "u64"
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "total_base_sell",
|
|||
|
|
"type": "u64"
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "total_quote_fund_raising",
|
|||
|
|
"type": "u64"
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "migrate_type",
|
|||
|
|
"type": "u8"
|
|||
|
|
}
|
|||
|
|
]
|
|||
|
|
}
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "CreateVestingEvent",
|
|||
|
|
"docs": [
|
|||
|
|
"Emitted when vest_account created"
|
|||
|
|
],
|
|||
|
|
"type": {
|
|||
|
|
"kind": "struct",
|
|||
|
|
"fields": [
|
|||
|
|
{
|
|||
|
|
"name": "pool_state",
|
|||
|
|
"type": "pubkey"
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "beneficiary",
|
|||
|
|
"type": "pubkey"
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "share_amount",
|
|||
|
|
"type": "u64"
|
|||
|
|
}
|
|||
|
|
]
|
|||
|
|
}
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "CurveParams",
|
|||
|
|
"type": {
|
|||
|
|
"kind": "enum",
|
|||
|
|
"variants": [
|
|||
|
|
{
|
|||
|
|
"name": "Constant",
|
|||
|
|
"fields": [
|
|||
|
|
{
|
|||
|
|
"name": "data",
|
|||
|
|
"type": {
|
|||
|
|
"defined": {
|
|||
|
|
"name": "ConstantCurve"
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
]
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "Fixed",
|
|||
|
|
"fields": [
|
|||
|
|
{
|
|||
|
|
"name": "data",
|
|||
|
|
"type": {
|
|||
|
|
"defined": {
|
|||
|
|
"name": "FixedCurve"
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
]
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "Linear",
|
|||
|
|
"fields": [
|
|||
|
|
{
|
|||
|
|
"name": "data",
|
|||
|
|
"type": {
|
|||
|
|
"defined": {
|
|||
|
|
"name": "LinearCurve"
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
]
|
|||
|
|
}
|
|||
|
|
]
|
|||
|
|
}
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "FixedCurve",
|
|||
|
|
"type": {
|
|||
|
|
"kind": "struct",
|
|||
|
|
"fields": [
|
|||
|
|
{
|
|||
|
|
"name": "supply",
|
|||
|
|
"type": "u64"
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "total_quote_fund_raising",
|
|||
|
|
"type": "u64"
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "migrate_type",
|
|||
|
|
"type": "u8"
|
|||
|
|
}
|
|||
|
|
]
|
|||
|
|
}
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "GlobalConfig",
|
|||
|
|
"docs": [
|
|||
|
|
"Holds the current owner of the factory"
|
|||
|
|
],
|
|||
|
|
"type": {
|
|||
|
|
"kind": "struct",
|
|||
|
|
"fields": [
|
|||
|
|
{
|
|||
|
|
"name": "epoch",
|
|||
|
|
"docs": [
|
|||
|
|
"Account update epoch"
|
|||
|
|
],
|
|||
|
|
"type": "u64"
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "curve_type",
|
|||
|
|
"docs": [
|
|||
|
|
"0: Constant Product Curve",
|
|||
|
|
"1: Fixed Price Curve",
|
|||
|
|
"2: Linear Price Curve"
|
|||
|
|
],
|
|||
|
|
"type": "u8"
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "index",
|
|||
|
|
"docs": [
|
|||
|
|
"Config index"
|
|||
|
|
],
|
|||
|
|
"type": "u16"
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "migrate_fee",
|
|||
|
|
"docs": [
|
|||
|
|
"The fee of migrate to amm"
|
|||
|
|
],
|
|||
|
|
"type": "u64"
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "trade_fee_rate",
|
|||
|
|
"docs": [
|
|||
|
|
"The trade fee rate, denominated in hundredths of a bip (10^-6)"
|
|||
|
|
],
|
|||
|
|
"type": "u64"
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "max_share_fee_rate",
|
|||
|
|
"docs": [
|
|||
|
|
"The maximum share fee rate, denominated in hundredths of a bip (10^-6)"
|
|||
|
|
],
|
|||
|
|
"type": "u64"
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "min_base_supply",
|
|||
|
|
"docs": [
|
|||
|
|
"The minimum base supply, the value without decimals"
|
|||
|
|
],
|
|||
|
|
"type": "u64"
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "max_lock_rate",
|
|||
|
|
"docs": [
|
|||
|
|
"The maximum lock rate, denominated in hundredths of a bip (10^-6)"
|
|||
|
|
],
|
|||
|
|
"type": "u64"
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "min_base_sell_rate",
|
|||
|
|
"docs": [
|
|||
|
|
"The minimum base sell rate, denominated in hundredths of a bip (10^-6)"
|
|||
|
|
],
|
|||
|
|
"type": "u64"
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "min_base_migrate_rate",
|
|||
|
|
"docs": [
|
|||
|
|
"The minimum base migrate rate, denominated in hundredths of a bip (10^-6)"
|
|||
|
|
],
|
|||
|
|
"type": "u64"
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "min_quote_fund_raising",
|
|||
|
|
"docs": [
|
|||
|
|
"The minimum quote fund raising, the value with decimals"
|
|||
|
|
],
|
|||
|
|
"type": "u64"
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "quote_mint",
|
|||
|
|
"docs": [
|
|||
|
|
"Mint information for quote token"
|
|||
|
|
],
|
|||
|
|
"type": "pubkey"
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "protocol_fee_owner",
|
|||
|
|
"docs": [
|
|||
|
|
"Protocol Fee owner"
|
|||
|
|
],
|
|||
|
|
"type": "pubkey"
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "migrate_fee_owner",
|
|||
|
|
"docs": [
|
|||
|
|
"Migrate Fee owner"
|
|||
|
|
],
|
|||
|
|
"type": "pubkey"
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "migrate_to_amm_wallet",
|
|||
|
|
"docs": [
|
|||
|
|
"Migrate to amm control wallet"
|
|||
|
|
],
|
|||
|
|
"type": "pubkey"
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "migrate_to_cpswap_wallet",
|
|||
|
|
"docs": [
|
|||
|
|
"Migrate to cpswap wallet"
|
|||
|
|
],
|
|||
|
|
"type": "pubkey"
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "padding",
|
|||
|
|
"docs": [
|
|||
|
|
"padding for future updates"
|
|||
|
|
],
|
|||
|
|
"type": {
|
|||
|
|
"array": [
|
|||
|
|
"u64",
|
|||
|
|
16
|
|||
|
|
]
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
]
|
|||
|
|
}
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "LinearCurve",
|
|||
|
|
"type": {
|
|||
|
|
"kind": "struct",
|
|||
|
|
"fields": [
|
|||
|
|
{
|
|||
|
|
"name": "supply",
|
|||
|
|
"type": "u64"
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "total_quote_fund_raising",
|
|||
|
|
"type": "u64"
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "migrate_type",
|
|||
|
|
"type": "u8"
|
|||
|
|
}
|
|||
|
|
]
|
|||
|
|
}
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "MigrateNftInfo",
|
|||
|
|
"docs": [
|
|||
|
|
"Represents the parameters for initializing a platform config account(Only support MigrateType::CPSWAP)",
|
|||
|
|
"# Fields",
|
|||
|
|
"* `platform_scale` - Scale of the platform liquidity quantity rights will be converted into NFT",
|
|||
|
|
"* `creator_scale` - Scale of the token creator liquidity quantity rights will be converted into NFT",
|
|||
|
|
"* `burn_scale` - Scale of liquidity directly to burn",
|
|||
|
|
"",
|
|||
|
|
"* platform_scale + creator_scale + burn_scale = RATE_DENOMINATOR_VALUE"
|
|||
|
|
],
|
|||
|
|
"type": {
|
|||
|
|
"kind": "struct",
|
|||
|
|
"fields": [
|
|||
|
|
{
|
|||
|
|
"name": "platform_scale",
|
|||
|
|
"type": "u64"
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "creator_scale",
|
|||
|
|
"type": "u64"
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "burn_scale",
|
|||
|
|
"type": "u64"
|
|||
|
|
}
|
|||
|
|
]
|
|||
|
|
}
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "MintParams",
|
|||
|
|
"docs": [
|
|||
|
|
"Represents the parameters for initializing a new token mint",
|
|||
|
|
"# Fields",
|
|||
|
|
"* `decimals` - Number of decimal places for the token",
|
|||
|
|
"* `name` - Name of the token",
|
|||
|
|
"* `symbol` - Symbol/ticker of the token",
|
|||
|
|
"* `uri` - URI pointing to token metadata"
|
|||
|
|
],
|
|||
|
|
"type": {
|
|||
|
|
"kind": "struct",
|
|||
|
|
"fields": [
|
|||
|
|
{
|
|||
|
|
"name": "decimals",
|
|||
|
|
"type": "u8"
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "name",
|
|||
|
|
"type": "string"
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "symbol",
|
|||
|
|
"type": "string"
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "uri",
|
|||
|
|
"type": "string"
|
|||
|
|
}
|
|||
|
|
]
|
|||
|
|
}
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "PlatformConfig",
|
|||
|
|
"type": {
|
|||
|
|
"kind": "struct",
|
|||
|
|
"fields": [
|
|||
|
|
{
|
|||
|
|
"name": "epoch",
|
|||
|
|
"docs": [
|
|||
|
|
"The epoch for update interval"
|
|||
|
|
],
|
|||
|
|
"type": "u64"
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "platform_fee_wallet",
|
|||
|
|
"docs": [
|
|||
|
|
"The platform fee wallet"
|
|||
|
|
],
|
|||
|
|
"type": "pubkey"
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "platform_nft_wallet",
|
|||
|
|
"docs": [
|
|||
|
|
"The platform nft wallet to receive the platform NFT after migration if platform_scale is not 0(Only support MigrateType::CPSWAP)"
|
|||
|
|
],
|
|||
|
|
"type": "pubkey"
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "platform_scale",
|
|||
|
|
"docs": [
|
|||
|
|
"Scale of the platform liquidity quantity rights will be converted into NFT(Only support MigrateType::CPSWAP)"
|
|||
|
|
],
|
|||
|
|
"type": "u64"
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "creator_scale",
|
|||
|
|
"docs": [
|
|||
|
|
"Scale of the token creator liquidity quantity rights will be converted into NFT(Only support MigrateType::CPSWAP)"
|
|||
|
|
],
|
|||
|
|
"type": "u64"
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "burn_scale",
|
|||
|
|
"docs": [
|
|||
|
|
"Scale of liquidity directly to burn"
|
|||
|
|
],
|
|||
|
|
"type": "u64"
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "fee_rate",
|
|||
|
|
"docs": [
|
|||
|
|
"The platform fee rate"
|
|||
|
|
],
|
|||
|
|
"type": "u64"
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "name",
|
|||
|
|
"docs": [
|
|||
|
|
"The platform name"
|
|||
|
|
],
|
|||
|
|
"type": {
|
|||
|
|
"array": [
|
|||
|
|
"u8",
|
|||
|
|
64
|
|||
|
|
]
|
|||
|
|
}
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "web",
|
|||
|
|
"docs": [
|
|||
|
|
"The platform website"
|
|||
|
|
],
|
|||
|
|
"type": {
|
|||
|
|
"array": [
|
|||
|
|
"u8",
|
|||
|
|
256
|
|||
|
|
]
|
|||
|
|
}
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "img",
|
|||
|
|
"docs": [
|
|||
|
|
"The platform img link"
|
|||
|
|
],
|
|||
|
|
"type": {
|
|||
|
|
"array": [
|
|||
|
|
"u8",
|
|||
|
|
256
|
|||
|
|
]
|
|||
|
|
}
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "cpswap_config",
|
|||
|
|
"docs": [
|
|||
|
|
"The platform specifies the trade fee rate after migration to cp swap"
|
|||
|
|
],
|
|||
|
|
"type": "pubkey"
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "creator_fee_rate",
|
|||
|
|
"docs": [
|
|||
|
|
"Creator fee rate"
|
|||
|
|
],
|
|||
|
|
"type": "u64"
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "transfer_fee_extension_auth",
|
|||
|
|
"docs": [
|
|||
|
|
"If the base token belongs to token2022, then you can choose to support the transferfeeConfig extension, which includes permissions such as `transfer_fee_config_authority`` and `withdraw_withheld_authority`.",
|
|||
|
|
"When initializing mint, `withdraw_withheld_authority` and `transfer_fee_config_authority` both belongs to the contract.",
|
|||
|
|
"Once the token is migrated to AMM, the authorities will be reset to this value"
|
|||
|
|
],
|
|||
|
|
"type": "pubkey"
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "padding",
|
|||
|
|
"docs": [
|
|||
|
|
"padding for future updates"
|
|||
|
|
],
|
|||
|
|
"type": {
|
|||
|
|
"array": [
|
|||
|
|
"u8",
|
|||
|
|
180
|
|||
|
|
]
|
|||
|
|
}
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "curve_params",
|
|||
|
|
"docs": [
|
|||
|
|
"The parameters for launching the pool"
|
|||
|
|
],
|
|||
|
|
"type": {
|
|||
|
|
"vec": {
|
|||
|
|
"defined": {
|
|||
|
|
"name": "PlatformCurveParam"
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
]
|
|||
|
|
}
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "PlatformConfigInfo",
|
|||
|
|
"type": {
|
|||
|
|
"kind": "struct",
|
|||
|
|
"fields": [
|
|||
|
|
{
|
|||
|
|
"name": "fee_wallet",
|
|||
|
|
"type": "pubkey"
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "nft_wallet",
|
|||
|
|
"type": "pubkey"
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "migrate_nft_info",
|
|||
|
|
"type": {
|
|||
|
|
"defined": {
|
|||
|
|
"name": "MigrateNftInfo"
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "fee_rate",
|
|||
|
|
"type": "u64"
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "name",
|
|||
|
|
"type": "string"
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "web",
|
|||
|
|
"type": "string"
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "img",
|
|||
|
|
"type": "string"
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "transfer_fee_extension_auth",
|
|||
|
|
"type": "pubkey"
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "creator_fee_rate",
|
|||
|
|
"type": "u64"
|
|||
|
|
}
|
|||
|
|
]
|
|||
|
|
}
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "PlatformConfigParam",
|
|||
|
|
"type": {
|
|||
|
|
"kind": "enum",
|
|||
|
|
"variants": [
|
|||
|
|
{
|
|||
|
|
"name": "FeeWallet",
|
|||
|
|
"fields": [
|
|||
|
|
"pubkey"
|
|||
|
|
]
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "NFTWallet",
|
|||
|
|
"fields": [
|
|||
|
|
"pubkey"
|
|||
|
|
]
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "MigrateNftInfo",
|
|||
|
|
"fields": [
|
|||
|
|
{
|
|||
|
|
"defined": {
|
|||
|
|
"name": "MigrateNftInfo"
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
]
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "FeeRate",
|
|||
|
|
"fields": [
|
|||
|
|
"u64"
|
|||
|
|
]
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "Name",
|
|||
|
|
"fields": [
|
|||
|
|
"string"
|
|||
|
|
]
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "Web",
|
|||
|
|
"fields": [
|
|||
|
|
"string"
|
|||
|
|
]
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "Img",
|
|||
|
|
"fields": [
|
|||
|
|
"string"
|
|||
|
|
]
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "CpSwapConfig"
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "AllInfo",
|
|||
|
|
"fields": [
|
|||
|
|
{
|
|||
|
|
"defined": {
|
|||
|
|
"name": "PlatformConfigInfo"
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
]
|
|||
|
|
}
|
|||
|
|
]
|
|||
|
|
}
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "PlatformCurveParam",
|
|||
|
|
"type": {
|
|||
|
|
"kind": "struct",
|
|||
|
|
"fields": [
|
|||
|
|
{
|
|||
|
|
"name": "epoch",
|
|||
|
|
"docs": [
|
|||
|
|
"The epoch for update interval, 0 means not update"
|
|||
|
|
],
|
|||
|
|
"type": "u64"
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "index",
|
|||
|
|
"docs": [
|
|||
|
|
"The curve params index"
|
|||
|
|
],
|
|||
|
|
"type": "u8"
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "global_config",
|
|||
|
|
"docs": [
|
|||
|
|
"The global config address"
|
|||
|
|
],
|
|||
|
|
"type": "pubkey"
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "bonding_curve_param",
|
|||
|
|
"docs": [
|
|||
|
|
"bonding curve param"
|
|||
|
|
],
|
|||
|
|
"type": {
|
|||
|
|
"defined": {
|
|||
|
|
"name": "BondingCurveParam"
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "padding",
|
|||
|
|
"docs": [
|
|||
|
|
"padding for future updates"
|
|||
|
|
],
|
|||
|
|
"type": {
|
|||
|
|
"array": [
|
|||
|
|
"u64",
|
|||
|
|
50
|
|||
|
|
]
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
]
|
|||
|
|
}
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "PlatformParams",
|
|||
|
|
"docs": [
|
|||
|
|
"Represents the parameters for initializing a platform config account",
|
|||
|
|
"# Fields",
|
|||
|
|
"* `migrate_nft_info` - The platform configures liquidity info during migration(Only support MigrateType::CPSWAP)",
|
|||
|
|
"* `fee_rate` - Fee rate of the platform",
|
|||
|
|
"* `name` - Name of the platform",
|
|||
|
|
"* `web` - Website of the platform",
|
|||
|
|
"* `img` - Image link of the platform",
|
|||
|
|
"/// * `creator_fee_rate` - The fee rate charged by the creator for each transaction."
|
|||
|
|
],
|
|||
|
|
"type": {
|
|||
|
|
"kind": "struct",
|
|||
|
|
"fields": [
|
|||
|
|
{
|
|||
|
|
"name": "migrate_nft_info",
|
|||
|
|
"type": {
|
|||
|
|
"defined": {
|
|||
|
|
"name": "MigrateNftInfo"
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "fee_rate",
|
|||
|
|
"type": "u64"
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "name",
|
|||
|
|
"type": "string"
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "web",
|
|||
|
|
"type": "string"
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "img",
|
|||
|
|
"type": "string"
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "creator_fee_rate",
|
|||
|
|
"type": "u64"
|
|||
|
|
}
|
|||
|
|
]
|
|||
|
|
}
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "PoolCreateEvent",
|
|||
|
|
"docs": [
|
|||
|
|
"Emitted when pool created"
|
|||
|
|
],
|
|||
|
|
"type": {
|
|||
|
|
"kind": "struct",
|
|||
|
|
"fields": [
|
|||
|
|
{
|
|||
|
|
"name": "pool_state",
|
|||
|
|
"type": "pubkey"
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "creator",
|
|||
|
|
"type": "pubkey"
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "config",
|
|||
|
|
"type": "pubkey"
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "base_mint_param",
|
|||
|
|
"type": {
|
|||
|
|
"defined": {
|
|||
|
|
"name": "MintParams"
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "curve_param",
|
|||
|
|
"type": {
|
|||
|
|
"defined": {
|
|||
|
|
"name": "CurveParams"
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "vesting_param",
|
|||
|
|
"type": {
|
|||
|
|
"defined": {
|
|||
|
|
"name": "VestingParams"
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "amm_fee_on",
|
|||
|
|
"type": {
|
|||
|
|
"defined": {
|
|||
|
|
"name": "AmmCreatorFeeOn"
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
]
|
|||
|
|
}
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "PoolState",
|
|||
|
|
"docs": [
|
|||
|
|
"Represents the state of a trading pool in the protocol",
|
|||
|
|
"Stores all essential information about pool balances, fees, and configuration"
|
|||
|
|
],
|
|||
|
|
"type": {
|
|||
|
|
"kind": "struct",
|
|||
|
|
"fields": [
|
|||
|
|
{
|
|||
|
|
"name": "epoch",
|
|||
|
|
"docs": [
|
|||
|
|
"Account update epoch"
|
|||
|
|
],
|
|||
|
|
"type": "u64"
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "auth_bump",
|
|||
|
|
"docs": [
|
|||
|
|
"Bump seed used for PDA address derivation"
|
|||
|
|
],
|
|||
|
|
"type": "u8"
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "status",
|
|||
|
|
"docs": [
|
|||
|
|
"Current status of the pool",
|
|||
|
|
"* 0: Pool is funding",
|
|||
|
|
"* 1: Pool funding is end, waiting for migration",
|
|||
|
|
"* 2: Pool migration is done"
|
|||
|
|
],
|
|||
|
|
"type": "u8"
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "base_decimals",
|
|||
|
|
"docs": [
|
|||
|
|
"Decimals of the pool base token"
|
|||
|
|
],
|
|||
|
|
"type": "u8"
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "quote_decimals",
|
|||
|
|
"docs": [
|
|||
|
|
"Decimals of the pool quote token"
|
|||
|
|
],
|
|||
|
|
"type": "u8"
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "migrate_type",
|
|||
|
|
"docs": [
|
|||
|
|
"Migrate to AMM or CpSwap, 0: amm, 1: cpswap"
|
|||
|
|
],
|
|||
|
|
"type": "u8"
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "supply",
|
|||
|
|
"docs": [
|
|||
|
|
"Supply of the pool base token"
|
|||
|
|
],
|
|||
|
|
"type": "u64"
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "total_base_sell",
|
|||
|
|
"docs": [
|
|||
|
|
"Total sell amount of the base token"
|
|||
|
|
],
|
|||
|
|
"type": "u64"
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "virtual_base",
|
|||
|
|
"docs": [
|
|||
|
|
"For different curves, virtual_base and virtual_quote have different meanings",
|
|||
|
|
"For constant product curve, virtual_base and virtual_quote are virtual liquidity, virtual_quote/virtual_base is the initial price",
|
|||
|
|
"For linear price curve, virtual_base is the price slope parameter a, virtual_quote has no effect",
|
|||
|
|
"For fixed price curve, virtual_quote/virtual_base is the initial price"
|
|||
|
|
],
|
|||
|
|
"type": "u64"
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "virtual_quote",
|
|||
|
|
"type": "u64"
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "real_base",
|
|||
|
|
"docs": [
|
|||
|
|
"Actual base token amount in the pool",
|
|||
|
|
"Represents the real tokens available for trading"
|
|||
|
|
],
|
|||
|
|
"type": "u64"
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "real_quote",
|
|||
|
|
"docs": [
|
|||
|
|
"Actual quote token amount in the pool",
|
|||
|
|
"Represents the real tokens available for trading"
|
|||
|
|
],
|
|||
|
|
"type": "u64"
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "total_quote_fund_raising",
|
|||
|
|
"docs": [
|
|||
|
|
"The total quote fund raising of the pool"
|
|||
|
|
],
|
|||
|
|
"type": "u64"
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "quote_protocol_fee",
|
|||
|
|
"docs": [
|
|||
|
|
"Accumulated trading fees in quote tokens",
|
|||
|
|
"Can be collected by the protocol fee owner"
|
|||
|
|
],
|
|||
|
|
"type": "u64"
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "platform_fee",
|
|||
|
|
"docs": [
|
|||
|
|
"Accumulated platform fees in quote tokens",
|
|||
|
|
"Can be collected by the platform wallet stored in platform config"
|
|||
|
|
],
|
|||
|
|
"type": "u64"
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "migrate_fee",
|
|||
|
|
"docs": [
|
|||
|
|
"The fee of migrate to amm"
|
|||
|
|
],
|
|||
|
|
"type": "u64"
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "vesting_schedule",
|
|||
|
|
"docs": [
|
|||
|
|
"Vesting schedule for the base token"
|
|||
|
|
],
|
|||
|
|
"type": {
|
|||
|
|
"defined": {
|
|||
|
|
"name": "VestingSchedule"
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "global_config",
|
|||
|
|
"docs": [
|
|||
|
|
"Public key of the global configuration account",
|
|||
|
|
"Contains protocol-wide settings this pool adheres to"
|
|||
|
|
],
|
|||
|
|
"type": "pubkey"
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "platform_config",
|
|||
|
|
"docs": [
|
|||
|
|
"Public key of the platform configuration account",
|
|||
|
|
"Contains platform-wide settings this pool adheres to"
|
|||
|
|
],
|
|||
|
|
"type": "pubkey"
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "base_mint",
|
|||
|
|
"docs": [
|
|||
|
|
"Public key of the base mint address"
|
|||
|
|
],
|
|||
|
|
"type": "pubkey"
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "quote_mint",
|
|||
|
|
"docs": [
|
|||
|
|
"Public key of the quote mint address"
|
|||
|
|
],
|
|||
|
|
"type": "pubkey"
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "base_vault",
|
|||
|
|
"docs": [
|
|||
|
|
"Public key of the base token vault",
|
|||
|
|
"Holds the actual base tokens owned by the pool"
|
|||
|
|
],
|
|||
|
|
"type": "pubkey"
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "quote_vault",
|
|||
|
|
"docs": [
|
|||
|
|
"Public key of the quote token vault",
|
|||
|
|
"Holds the actual quote tokens owned by the pool"
|
|||
|
|
],
|
|||
|
|
"type": "pubkey"
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "creator",
|
|||
|
|
"docs": [
|
|||
|
|
"The creator of base token"
|
|||
|
|
],
|
|||
|
|
"type": "pubkey"
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "token_program_flag",
|
|||
|
|
"docs": [
|
|||
|
|
"token program bits",
|
|||
|
|
"bit0: base token program flag",
|
|||
|
|
"0: spl_token_program",
|
|||
|
|
"1: token_program_2022",
|
|||
|
|
"",
|
|||
|
|
"bit1: quote token program flag",
|
|||
|
|
"0: spl_token_program",
|
|||
|
|
"1: token_program_2022"
|
|||
|
|
],
|
|||
|
|
"type": "u8"
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "amm_creator_fee_on",
|
|||
|
|
"docs": [
|
|||
|
|
"migrate to cpmm, creator fee on quote token or both token"
|
|||
|
|
],
|
|||
|
|
"type": {
|
|||
|
|
"defined": {
|
|||
|
|
"name": "AmmCreatorFeeOn"
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "padding",
|
|||
|
|
"docs": [
|
|||
|
|
"padding for future updates"
|
|||
|
|
],
|
|||
|
|
"type": {
|
|||
|
|
"array": [
|
|||
|
|
"u8",
|
|||
|
|
62
|
|||
|
|
]
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
]
|
|||
|
|
}
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "PoolStatus",
|
|||
|
|
"docs": [
|
|||
|
|
"Represents the different states a pool can be in",
|
|||
|
|
"* Fund - Initial state where pool is accepting funds",
|
|||
|
|
"* Migrate - Pool funding has ended and waiting for migration",
|
|||
|
|
"* Trade - Pool migration is complete and amm trading is enabled"
|
|||
|
|
],
|
|||
|
|
"type": {
|
|||
|
|
"kind": "enum",
|
|||
|
|
"variants": [
|
|||
|
|
{
|
|||
|
|
"name": "Fund"
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "Migrate"
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "Trade"
|
|||
|
|
}
|
|||
|
|
]
|
|||
|
|
}
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "TradeDirection",
|
|||
|
|
"docs": [
|
|||
|
|
"Specifies the direction of a trade in the bonding curve",
|
|||
|
|
"This is important because curves can treat tokens differently through weights or offsets"
|
|||
|
|
],
|
|||
|
|
"type": {
|
|||
|
|
"kind": "enum",
|
|||
|
|
"variants": [
|
|||
|
|
{
|
|||
|
|
"name": "Buy"
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "Sell"
|
|||
|
|
}
|
|||
|
|
]
|
|||
|
|
}
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "TradeEvent",
|
|||
|
|
"docs": [
|
|||
|
|
"Emitted when trade process"
|
|||
|
|
],
|
|||
|
|
"type": {
|
|||
|
|
"kind": "struct",
|
|||
|
|
"fields": [
|
|||
|
|
{
|
|||
|
|
"name": "pool_state",
|
|||
|
|
"type": "pubkey"
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "total_base_sell",
|
|||
|
|
"type": "u64"
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "virtual_base",
|
|||
|
|
"type": "u64"
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "virtual_quote",
|
|||
|
|
"type": "u64"
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "real_base_before",
|
|||
|
|
"type": "u64"
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "real_quote_before",
|
|||
|
|
"type": "u64"
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "real_base_after",
|
|||
|
|
"type": "u64"
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "real_quote_after",
|
|||
|
|
"type": "u64"
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "amount_in",
|
|||
|
|
"type": "u64"
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "amount_out",
|
|||
|
|
"type": "u64"
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "protocol_fee",
|
|||
|
|
"type": "u64"
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "platform_fee",
|
|||
|
|
"type": "u64"
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "creator_fee",
|
|||
|
|
"type": "u64"
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "share_fee",
|
|||
|
|
"type": "u64"
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "trade_direction",
|
|||
|
|
"type": {
|
|||
|
|
"defined": {
|
|||
|
|
"name": "TradeDirection"
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "pool_status",
|
|||
|
|
"type": {
|
|||
|
|
"defined": {
|
|||
|
|
"name": "PoolStatus"
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "exact_in",
|
|||
|
|
"type": "bool"
|
|||
|
|
}
|
|||
|
|
]
|
|||
|
|
}
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "TransferFeeExtensionParams",
|
|||
|
|
"type": {
|
|||
|
|
"kind": "struct",
|
|||
|
|
"fields": [
|
|||
|
|
{
|
|||
|
|
"name": "transfer_fee_basis_points",
|
|||
|
|
"docs": [
|
|||
|
|
"denominator is 10000, currently, this value cannot exceed 5%, which is 500."
|
|||
|
|
],
|
|||
|
|
"type": "u16"
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "maximum_fee",
|
|||
|
|
"docs": [
|
|||
|
|
"Maximum fee on each transfers, the value must exceed supply * transfer_fee_basis_points / 10000"
|
|||
|
|
],
|
|||
|
|
"type": "u64"
|
|||
|
|
}
|
|||
|
|
]
|
|||
|
|
}
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "VestingParams",
|
|||
|
|
"type": {
|
|||
|
|
"kind": "struct",
|
|||
|
|
"fields": [
|
|||
|
|
{
|
|||
|
|
"name": "total_locked_amount",
|
|||
|
|
"type": "u64"
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "cliff_period",
|
|||
|
|
"type": "u64"
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "unlock_period",
|
|||
|
|
"type": "u64"
|
|||
|
|
}
|
|||
|
|
]
|
|||
|
|
}
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "VestingRecord",
|
|||
|
|
"type": {
|
|||
|
|
"kind": "struct",
|
|||
|
|
"fields": [
|
|||
|
|
{
|
|||
|
|
"name": "epoch",
|
|||
|
|
"docs": [
|
|||
|
|
"Account update epoch"
|
|||
|
|
],
|
|||
|
|
"type": "u64"
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "pool",
|
|||
|
|
"docs": [
|
|||
|
|
"The pool state account"
|
|||
|
|
],
|
|||
|
|
"type": "pubkey"
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "beneficiary",
|
|||
|
|
"docs": [
|
|||
|
|
"The beneficiary of the vesting account"
|
|||
|
|
],
|
|||
|
|
"type": "pubkey"
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "claimed_amount",
|
|||
|
|
"docs": [
|
|||
|
|
"The amount of tokens claimed"
|
|||
|
|
],
|
|||
|
|
"type": "u64"
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "token_share_amount",
|
|||
|
|
"docs": [
|
|||
|
|
"The share amount of the token to be vested"
|
|||
|
|
],
|
|||
|
|
"type": "u64"
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "padding",
|
|||
|
|
"docs": [
|
|||
|
|
"padding for future updates"
|
|||
|
|
],
|
|||
|
|
"type": {
|
|||
|
|
"array": [
|
|||
|
|
"u64",
|
|||
|
|
8
|
|||
|
|
]
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
]
|
|||
|
|
}
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "VestingSchedule",
|
|||
|
|
"type": {
|
|||
|
|
"kind": "struct",
|
|||
|
|
"fields": [
|
|||
|
|
{
|
|||
|
|
"name": "total_locked_amount",
|
|||
|
|
"type": "u64"
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "cliff_period",
|
|||
|
|
"type": "u64"
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "unlock_period",
|
|||
|
|
"type": "u64"
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "start_time",
|
|||
|
|
"type": "u64"
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "allocated_share_amount",
|
|||
|
|
"docs": [
|
|||
|
|
"Total allocated share amount of the base token, not greater than total_locked_amount"
|
|||
|
|
],
|
|||
|
|
"type": "u64"
|
|||
|
|
}
|
|||
|
|
]
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
]
|
|||
|
|
}
|