goosefx-amm-sdk
Version:
SDK for the GooseFx AMM
3,240 lines • 92.7 kB
TypeScript
var address = "GAMMA7meSFWaBXF25oSUgmGRwaW6sCMFLmBNiMSdbHVT";
var metadata = {
name: "gamma",
version: "0.1.0",
spec: "0.1.0",
description: "Created with Anchor"
};
var instructions = [
{
name: "add_partner",
docs: [
"Admin-permissioned instruction to add a new partner to a pool",
"",
"* `ctx` - The context of accounts",
""
],
discriminator: [
180,
111,
45,
157,
241,
187,
234,
88
],
accounts: [
{
name: "authority",
signer: true
},
{
name: "amm_config"
},
{
name: "pool_state",
writable: true,
relations: [
"partner"
]
},
{
name: "pool_partners",
writable: true,
pda: {
seeds: [
{
kind: "const",
value: [
112,
97,
114,
116,
110,
101,
114,
95,
105,
110,
102,
111,
115
]
},
{
kind: "account",
path: "pool_state"
}
]
}
},
{
name: "partner"
}
],
args: [
]
},
{
name: "calculate_rewards",
docs: [
"Calculate rewards for the user",
"",
"* `ctx` - The context of accounts",
""
],
discriminator: [
199,
115,
201,
124,
71,
81,
143,
252
],
accounts: [
{
name: "signer",
writable: true,
signer: true
},
{
name: "user",
docs: [
"User for which we are calculating rewards"
]
},
{
name: "pool_state"
},
{
name: "reward_info",
pda: {
seeds: [
{
kind: "const",
value: [
114,
101,
119,
97,
114,
100,
95,
105,
110,
102,
111,
95,
115,
101,
101,
100
]
},
{
kind: "account",
path: "pool_state"
},
{
kind: "account",
path: "reward_info.start_at",
account: "RewardInfo"
},
{
kind: "account",
path: "reward_info.mint",
account: "RewardInfo"
}
]
}
},
{
name: "user_reward_info",
writable: true,
pda: {
seeds: [
{
kind: "const",
value: [
117,
115,
101,
114,
95,
114,
101,
119,
97,
114,
100,
95,
105,
110,
102,
111,
95,
115,
101,
101,
100
]
},
{
kind: "account",
path: "reward_info"
},
{
kind: "account",
path: "user"
}
]
}
},
{
name: "user_pool_liquidity",
docs: [
"User pool liquidity account"
],
pda: {
seeds: [
{
kind: "const",
value: [
117,
115,
101,
114,
45,
112,
111,
111,
108,
45,
108,
105,
113,
117,
105,
100,
105,
116,
121
]
},
{
kind: "account",
path: "pool_state"
},
{
kind: "account",
path: "user"
}
]
}
},
{
name: "system_program",
address: "11111111111111111111111111111111"
}
],
args: [
]
},
{
name: "claim_partner_fees",
docs: [
"Claim fees for a particular partner",
"",
"* `ctx` - The context of accounts",
""
],
discriminator: [
114,
71,
103,
57,
160,
205,
242,
185
],
accounts: [
{
name: "partner"
},
{
name: "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
]
}
]
}
},
{
name: "pool_state"
},
{
name: "token_0_vault",
docs: [
"The address that holds pool tokens for token_0"
],
writable: true
},
{
name: "token_1_vault",
docs: [
"The address that holds pool tokens for token_1"
],
writable: true
},
{
name: "vault_0_mint",
docs: [
"The mint of token_0 vault"
]
},
{
name: "vault_1_mint",
docs: [
"The mint of token_1 vault"
]
},
{
name: "pool_partners",
writable: true,
pda: {
seeds: [
{
kind: "const",
value: [
112,
97,
114,
116,
110,
101,
114,
95,
105,
110,
102,
111,
115
]
},
{
kind: "account",
path: "pool_state"
}
]
}
},
{
name: "token_0_token_account",
writable: true,
relations: [
"partner"
]
},
{
name: "token_1_token_account",
writable: true,
relations: [
"partner"
]
},
{
name: "token_program",
docs: [
"The SPL program to perform token transfers"
],
address: "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA"
},
{
name: "token_program_2022",
docs: [
"The SPL program 2022 to perform token transfers"
],
address: "TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb"
}
],
args: [
]
},
{
name: "claim_rewards",
docs: [
"Claim rewards for the user",
"Transfers the amount of tokens calculated for the user to their reward token account",
"",
"# Arguments",
"",
"* `ctx` - The context of accounts",
""
],
discriminator: [
4,
144,
132,
71,
116,
23,
151,
80
],
accounts: [
{
name: "user",
writable: true,
signer: true
},
{
name: "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
]
}
]
}
},
{
name: "pool_state"
},
{
name: "reward_info",
pda: {
seeds: [
{
kind: "const",
value: [
114,
101,
119,
97,
114,
100,
95,
105,
110,
102,
111,
95,
115,
101,
101,
100
]
},
{
kind: "account",
path: "pool_state"
},
{
kind: "account",
path: "reward_info.start_at",
account: "RewardInfo"
},
{
kind: "account",
path: "reward_info.mint",
account: "RewardInfo"
}
]
}
},
{
name: "reward_vault",
writable: true,
pda: {
seeds: [
{
kind: "const",
value: [
114,
101,
119,
97,
114,
100,
95,
118,
97,
117,
108,
116,
95,
115,
101,
101,
100
]
},
{
kind: "account",
path: "reward_info"
}
]
}
},
{
name: "user_token_account",
writable: true
},
{
name: "user_reward_info",
writable: true,
pda: {
seeds: [
{
kind: "const",
value: [
117,
115,
101,
114,
95,
114,
101,
119,
97,
114,
100,
95,
105,
110,
102,
111,
95,
115,
101,
101,
100
]
},
{
kind: "account",
path: "reward_info"
},
{
kind: "account",
path: "user"
}
]
}
},
{
name: "reward_mint",
writable: true
},
{
name: "token_program",
docs: [
"token Program"
],
address: "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA"
},
{
name: "token_program_2022",
docs: [
"Token program 2022"
],
address: "TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb"
},
{
name: "system_program",
address: "11111111111111111111111111111111"
}
],
args: [
]
},
{
name: "collect_fund_fee",
docs: [
"Collect the fund fee accrued to the pool",
"",
"# Arguments",
"",
"* `ctx` - The context of accounts",
"* `amount_0_requested` - The maximum amount of token_0 to send, can be 0 to collect fees in only token_1",
"* `amount_1_requested` - The maximum amount of token_1 to send, can be 0 to collect fees in only token_0",
""
],
discriminator: [
167,
138,
78,
149,
223,
194,
6,
126
],
accounts: [
{
name: "owner",
docs: [
"Only admin or fund_owner can collect fee now"
],
signer: true
},
{
name: "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
]
}
]
}
},
{
name: "pool_state",
docs: [
"Pool state stores accumulated protocol fee amount"
],
writable: true
},
{
name: "amm_config",
docs: [
"Amm config account stores fund_owner"
]
},
{
name: "token_0_vault",
docs: [
"The address that holds pool tokens for token_0"
],
writable: true
},
{
name: "token_1_vault",
docs: [
"The address that holds pool tokens for token_1"
],
writable: true
},
{
name: "vault_0_mint",
docs: [
"The mint of token_0 vault"
]
},
{
name: "vault_1_mint",
docs: [
"The mint of token_1 vault"
]
},
{
name: "recipient_token_0_account",
docs: [
"The address that receives the collected token_0 fund fees"
],
writable: true
},
{
name: "recipient_token_1_account",
docs: [
"The address that receives the collected token_1 fund fees"
],
writable: true
},
{
name: "token_program",
docs: [
"The SPL program to perform token transfers"
],
address: "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA"
},
{
name: "token_program_2022",
docs: [
"The SPL program 2022 to perform token transfers"
],
address: "TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb"
}
],
args: [
{
name: "amount_0_requested",
type: "u64"
},
{
name: "amount_1_requested",
type: "u64"
}
]
},
{
name: "collect_protocol_fee",
docs: [
"Collect the protocol fee accrued to the pool",
"",
"# Arguments",
"",
"* `ctx` - The context of accounts",
"* `amount_0_requested` - The maximum amount of token_0 to send, can be 0 to collect fees in only token_1",
"* `amount_1_requested` - The maximum amount of token_1 to send, can be 0 to collect fees in only token_0",
""
],
discriminator: [
136,
136,
252,
221,
194,
66,
126,
89
],
accounts: [
{
name: "owner",
docs: [
"Only admin or owner can collect fee now"
],
signer: true
},
{
name: "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
]
}
]
}
},
{
name: "pool_state",
docs: [
"Pool state stores accumulated protocol fee amount"
],
writable: true
},
{
name: "amm_config",
docs: [
"Amm config account stores owner"
]
},
{
name: "token_0_vault",
docs: [
"The address that holds pool tokens for token_0"
],
writable: true
},
{
name: "token_1_vault",
docs: [
"The address that holds pool tokens for token_1"
],
writable: true
},
{
name: "vault_0_mint",
docs: [
"The mint of token_0 vault"
]
},
{
name: "vault_1_mint",
docs: [
"The mint of token_1 vault"
]
},
{
name: "recipient_token_0_account",
docs: [
"The address that receives the collected token_0 protocol fees"
],
writable: true
},
{
name: "recipient_token_1_account",
docs: [
"The address that receives the collected token_1 protocol fees"
],
writable: true
},
{
name: "token_program",
docs: [
"The SPL program to perform token transfers"
],
address: "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA"
},
{
name: "token_program_2022",
docs: [
"The SPL program 2022 to perform token transfers"
],
address: "TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb"
}
],
args: [
{
name: "amount_0_requested",
type: "u64"
},
{
name: "amount_1_requested",
type: "u64"
}
]
},
{
name: "create_amm_config",
docs: [
"The configuation of AMM protocol, include trade fee and protocol fee",
"# Arguments",
"",
"* `ctx`- The accounts needed by instruction.",
"* `index` - The index of amm config, there may be multiple config.",
"* `trade_fee_rate` - Trade fee rate, can be changed.",
"* `protocol_fee_rate` - The rate of protocol fee within tarde fee.",
"* `fund_fee_rate` - The rate of fund fee within tarde fee.",
""
],
discriminator: [
137,
52,
237,
212,
215,
117,
108,
104
],
accounts: [
{
name: "owner",
docs: [
"Address to be set as protocol owner."
],
writable: true,
signer: true,
address: "9QcHinaHcJFdzSHeiF1yGchcuQk3qPFNV13q6dZJbAny"
},
{
name: "amm_config",
docs: [
"Initialize AmmConfig state account to store protocol owner address and fee rates"
],
writable: true,
pda: {
seeds: [
{
kind: "const",
value: [
97,
109,
109,
95,
99,
111,
110,
102,
105,
103
]
},
{
kind: "arg",
path: "index"
}
]
}
},
{
name: "system_program",
address: "11111111111111111111111111111111"
}
],
args: [
{
name: "index",
type: "u16"
},
{
name: "trade_fee_rate",
type: "u64"
},
{
name: "protocol_fee_rate",
type: "u64"
},
{
name: "fund_fee_rate",
type: "u64"
},
{
name: "create_pool_fee",
type: "u64"
},
{
name: "max_open_time",
type: "u64"
}
]
},
{
name: "create_rewards",
docs: [
"Create rewards for the pool",
"Initializes a new reward info account and a reward vault account",
"Transfers the rewards to the reward vault",
"",
"# Arguments",
"",
"* `ctx` - The context of accounts",
"* `start_time` - The start time of the reward",
"* `end_time` - The end time of the reward",
"* `reward_amount` - The amount of the reward",
""
],
discriminator: [
124,
251,
145,
232,
5,
173,
159,
223
],
accounts: [
{
name: "reward_provider",
writable: true,
signer: true
},
{
name: "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
]
}
]
}
},
{
name: "pool_state"
},
{
name: "reward_info",
writable: true,
pda: {
seeds: [
{
kind: "const",
value: [
114,
101,
119,
97,
114,
100,
95,
105,
110,
102,
111,
95,
115,
101,
101,
100
]
},
{
kind: "account",
path: "pool_state"
},
{
kind: "arg",
path: "start_time"
},
{
kind: "account",
path: "reward_mint"
}
]
}
},
{
name: "reward_providers_token_account",
writable: true
},
{
name: "reward_vault",
docs: [
"For reward to deposit into."
],
writable: true,
pda: {
seeds: [
{
kind: "const",
value: [
114,
101,
119,
97,
114,
100,
95,
118,
97,
117,
108,
116,
95,
115,
101,
101,
100
]
},
{
kind: "account",
path: "reward_info"
}
]
}
},
{
name: "reward_mint",
writable: true
},
{
name: "token_program",
docs: [
"token Program"
],
address: "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA"
},
{
name: "token_program_2022",
docs: [
"Token program 2022"
],
address: "TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb"
},
{
name: "system_program",
address: "11111111111111111111111111111111"
}
],
args: [
{
name: "start_time",
type: "u64"
},
{
name: "end_time",
type: "u64"
},
{
name: "reward_amount",
type: "u64"
}
]
},
{
name: "create_swap_referral",
docs: [
"Initialize swap referrals for an existing AMM config",
"# Arguments",
"",
"* `ctx` - The accounts needed by the instruction, including those used by cpi to the referral program",
"* `name` - The project name, passed to the referral program. Must be less than 50 chars in length",
"* `default_share_bps` - Percentage share of fees to referrers. Must be less than 10_000"
],
discriminator: [
67,
131,
93,
236,
56,
6,
40,
77
],
accounts: [
{
name: "admin",
docs: [
"Admin signer for this operation"
],
signer: true
},
{
name: "owner",
address: "9QcHinaHcJFdzSHeiF1yGchcuQk3qPFNV13q6dZJbAny"
},
{
name: "payer",
writable: true,
signer: true
},
{
name: "amm_config",
docs: [
"The config acts as the base for its referral project"
],
writable: true
},
{
name: "project",
writable: true
},
{
name: "system_program",
address: "11111111111111111111111111111111"
},
{
name: "referral_program",
address: "REFER4ZgmyYx9c6He5XfaTMiGfdLwRnkV4RPp9t9iF3"
}
],
args: [
{
name: "name",
type: "string"
},
{
name: "default_share_bps",
type: "u16"
}
]
},
{
name: "deposit",
docs: [
"Creates a pool for the given token pair and the initial price",
"",
"# Arguments",
"",
"* `ctx`- The context of accounts",
"* `lp_token_amount` - Pool token amount to transfer. token_a and token_b amount are set by the current exchange rate and size of the pool",
"* `maximum_token_0_amount` - Maximum token 0 amount to deposit, prevents excessive slippage",
"* `maximum_token_1_amount` - Maximum token 1 amount to deposit, prevents excessive slippage",
""
],
discriminator: [
242,
35,
198,
137,
82,
225,
242,
182
],
accounts: [
{
name: "owner",
docs: [
"Owner of the liquidity provided"
],
signer: true
},
{
name: "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
]
}
]
}
},
{
name: "pool_state",
docs: [
"Pool state the owner is depositing into"
],
writable: true
},
{
name: "user_pool_liquidity",
writable: true,
pda: {
seeds: [
{
kind: "const",
value: [
117,
115,
101,
114,
45,
112,
111,
111,
108,
45,
108,
105,
113,
117,
105,
100,
105,
116,
121
]
},
{
kind: "account",
path: "pool_state"
},
{
kind: "account",
path: "owner"
}
]
}
},
{
name: "token_0_account",
docs: [
"The payer's token account to deposit token_0"
],
writable: true
},
{
name: "token_1_account",
docs: [
"The payer's token account to deposit token_1"
],
writable: true
},
{
name: "token_0_vault",
docs: [
"Pool vault for token_0 to deposit into",
"The address that holds pool tokens for token_0"
],
writable: true
},
{
name: "token_1_vault",
docs: [
"Pool vault for token_1 to deposit into",
"The address that holds pool tokens for token_1"
],
writable: true
},
{
name: "token_program",
docs: [
"token Program"
],
address: "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA"
},
{
name: "token_program_2022",
docs: [
"Token program 2022"
],
address: "TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb"
},
{
name: "vault_0_mint",
docs: [
"The mint of token_0 vault"
]
},
{
name: "vault_1_mint",
docs: [
"The mint of token_1 vault"
]
},
{
name: "pool_partners",
writable: true,
pda: {
seeds: [
{
kind: "const",
value: [
112,
97,
114,
116,
110,
101,
114,
95,
105,
110,
102,
111,
115
]
},
{
kind: "account",
path: "pool_state"
}
]
}
}
],
args: [
{
name: "lp_token_amount",
type: "u64"
},
{
name: "maximum_token_0_amount",
type: "u64"
},
{
name: "maximum_token_1_amount",
type: "u64"
}
]
},
{
name: "init_user_pool_liquidity",
discriminator: [
227,
221,
200,
212,
36,
107,
149,
36
],
accounts: [
{
name: "user",
writable: true,
signer: true
},
{
name: "pool_state"
},
{
name: "user_pool_liquidity",
writable: true,
pda: {
seeds: [
{
kind: "const",
value: [
117,
115,
101,
114,
45,
112,
111,
111,
108,
45,
108,
105,
113,
117,
105,
100,
105,
116,
121
]
},
{
kind: "account",
path: "pool_state"
},
{
kind: "account",
path: "user"
}
]
}
},
{
name: "pool_partners",
writable: true,
pda: {
seeds: [
{
kind: "const",
value: [
112,
97,
114,
116,
110,
101,
114,
95,
105,
110,
102,
111,
115
]
},
{
kind: "account",
path: "pool_state"
}
]
}
},
{
name: "system_program",
docs: [
"To create a new program account"
],
address: "11111111111111111111111111111111"
}
],
args: [
{
name: "partner",
type: {
option: "pubkey"
}
}
]
},
{
name: "initialize",
docs: [
"Creates a pool for the given token pair and the initial price",
"",
"# Arguments",
"",
"* `ctx`- The context of accounts",
"* `init_amount_0` - the initial amount_0 to deposit",
"* `init_amount_1` - the initial amount_1 to deposit",
"* `open_time` - the timestamp allowed for swap",
"* `max_trade_fee_rate` - The maximum trade fee that can be charged on swaps",
"* `volatility_factor` - The volatility factor of the pool to determine the trade fee",
""
],
discriminator: [
175,
175,
109,
31,
13,
152,
155,
237
],
accounts: [
{
name: "creator",
docs: [
"Address paying to create the pool. It can be anyone."
],
writable: true,
signer: true
},
{
name: "amm_config",
docs: [
"Which amm config the pool belongs to"
]
},
{
name: "authority",
docs: [
"sign transactions on behalf of the pool",
"for vault and lp_mint"
],
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
]
}
]
}
},
{
name: "pool_state",
docs: [
"Initialize an account to store the pool state"
],
writable: true,
pda: {
seeds: [
{
kind: "const",
value: [
112,
111,
111,
108
]
},
{
kind: "account",
path: "amm_config"
},
{
kind: "account",
path: "token_0_mint"
},
{
kind: "account",
path: "token_1_mint"
}
]
}
},
{
name: "user_pool_liquidity",
writable: true,
pda: {
seeds: [
{
kind: "const",
value: [
117,
115,
101,
114,
45,
112,
111,
111,
108,
45,
108,
105,
113,
117,
105,
100,
105,
116,
121
]
},
{
kind: "account",
path: "pool_state"
},
{
kind: "account",
path: "creator"
}
]
}
},
{
name: "token_0_mint",
docs: [
"Token_0 mint, the key must smaller than token_1 mint."
]
},
{
name: "token_1_mint",
docs: [
"Token_1 mint, the key must greater than token_0 mint."
]
},
{
name: "creator_token_0",
docs: [
"creator token 0 account"
],
writable: true
},
{
name: "creator_token_1",
docs: [
"creator token 1 account"
],
writable: true
},
{
name: "token_0_vault",
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: "token_0_mint"
}
]
}
},
{
name: "token_1_vault",
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: "token_1_mint"
}
]
}
},
{
name: "create_pool_fee",
docs: [
"create pool fee account"
],
writable: true,
address: "8PhehuioLjhJ35A5eavazJSwoXcA4J7WwzgoWDBDFSuY"
},
{
name: "observation_state",
docs: [
"an account to store oracle observations"
],
writable: true,
pda: {
seeds: [
{
kind: "const",
value: [
111,
98,
115,
101,
114,
118,
97,
116,
105,
111,
110
]
},
{
kind: "account",
path: "pool_state"
}
]
}
},
{
name: "pool_partners",
docs: [
"account storing partner infos"
],
writable: true,
pda: {
seeds: [
{
kind: "const",
value: [
112,
97,
114,
116,
110,
101,
114,
95,
105,
110,
102,
111,
115
]
},
{
kind: "account",
path: "pool_state"
}
]
}
},
{
name: "token_program",
docs: [
"Program to create mint account and mint tokens"
],
address: "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA"
},
{
name: "token_0_program",
docs: [
"Spl token program or token program 2022"
]
},
{
name: "token_1_program",
docs: [
"Spl token program or token program 2022"
]
},
{
name: "associated_token_program",
docs: [
"Program to create an ATA for receiving position NFT"
],
address: "ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL"
},
{
name: "system_program",
docs: [
"To create a new program account"
],
address: "11111111111111111111111111111111"
},
{
name: "rent",
docs: [
"Sysvar for program account"
],
address: "SysvarRent111111111111111111111111111111111"
}
],
args: [
{
name: "init_amount_0",
type: "u64"
},
{
name: "init_amount_1",
type: "u64"
},
{
name: "open_time",
type: "u64"
},
{
name: "max_trade_fee_rate",
type: "u64"
},
{
name: "volatility_factor",
type: "u64"
}
]
},
{
name: "initialize_partner",
docs: [
"Creates a new `Partner` account associated with a certain pool",
"",
"* `ctx` - The context of accounts",
"* `name` - The name associated with the partner",
"* `token_0_token_account` - Token account for receiving token0 tokens",
"* `token_1_token_account` - Token account for receiving token1 tokens",
""
],
discriminator: [
165,
62,
179,
112,
129,
50,
173,
144
],
accounts: [
{
name: "payer",
writable: true,
signer: true
},
{
name: "authority",
signer: true
},
{
name: "pool_state"
},
{
name: "pool_partners",
writable: true,
pda: {
seeds: [
{
kind: "const",
value: [
112,
97,
114,
116,
110,
101,
114,
95,
105,
110,
102,
111,
115
]
},
{
kind: "account",
path: "pool_state"
}
]
}
},
{
name: "partner",
writable: true,
signer: true
},
{
name: "system_program",
address: "11111111111111111111111111111111"
}
],
args: [
{
name: "name",
type: "string"
},
{
name: "token_0_token_account",
type: "pubkey"
},
{
name: "token_1_token_account",
type: "pubkey"
}
]
},
{
name: "initialize_pool_partners",
docs: [
"Initializes a new `PoolPartnerInfos` account unique to a particular pool",
"",
"* `ctx` - The context of accounts",
"* `partner_share_rate` - A fraction representing the partner's share of protocol fees",
""
],
discriminator: [
99,
11,
108,
186,
1,
126,
209,
251
],
accounts: [
{
name: "payer",
writable: true,
signer: true
},
{
name: "pool_state",
writable: true
},
{
name: "pool_partners",
writable: true,
pda: {
seeds: [
{
kind: "const",
value: [
112,
97,
114,
116,
110,
101,
114,
95,
105,
110,
102,
111,
115
]
},
{
kind: "account",
path: "pool_state"
}
]
}
},
{
name: "system_program",
address: "11111111111111111111111111111111"
}
],
args: [
{
name: "partner_share_rate",
type: "u64"
}
]
},
{
name: "migrate_meteora_dlmm_to_gamma",
docs: [
"Migrate from Meteora Dlmm to Gamma"
],
discriminator: [
166,
33,
209,
228,
15,
46,
252,
67
],
accounts: [
{
name: "dlmm_position",
writable: true
},
{
name: "dlmm_lb_pair",
writable: true
},
{
name: "dlmm_bin_array_bitmap_extension",
writable: true,
optional: true
},
{
name: "dlmm_reserve_x",
writable: true
},
{
name: "dlmm_reserve_y",
writable: true
},
{
name: "dlmm_bin_array_lower",
writable: true
},
{
name: "dlmm_bin_array_upper",
writable: true
},
{
name: "dlmm_program",
address: "LBUZKhRxPF3XUpBCjp4YzTKgLccjZhTSDM9YuVaPwxo"
},
{
name: "dlmm_event_authority"
},
{
name: "token_x_program"
},
{
name: "token_y_program"
},
{
name: "gamma_owner",
docs: [
"The owner LP Position in Gamma pool"
],
signer: true
},
{
name: "gamma_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
]
}
]
}
},
{
name: "gamma_pool_state",
docs: [
"Gamma Pool state the owner is depositing into"
],
writable: true
},
{
name: "gamma_user_pool_liquidity",
writable: true,
pda: {
seeds: [
{
kind: "const",
value: [
117,
115,
101,
114,
45,
112,
111,
111,
108,
45,
108,
105,
113,
117,
105,
100,
105,
116,
121
]
},
{
kind: "account",
path: "gamma_pool_state"
},
{
kind: "account",
path: "gamma_owner"
}
]
}
},
{
name: "gamma_token_0_account",
docs: [
"The payer's token account to deposit token_0"
],
writable: true
},
{
name: "gamma_token_1_account",
docs: [
"The payer's token account to deposit token_1"
],
writable: true
},
{
name: "gamma_token_0_vault",
docs: [
"Pool vault for token_0 to deposit into",
"The address that holds pool tokens for token_0"
],
writable: true
},
{
name: "gamma_token_1_vault",
docs: [
"Pool vault for token_1 to deposit into",
"The address that holds pool tokens for token_1"
],
writable: true
},
{
name: "token_program",
docs: [
"token Program"
],
address: "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA"
},
{
name: "token_program_2022",
docs: [
"Token program 2022"
],
address: "TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb"
},
{
name: "gamma_vault_0_mint",
docs: [
"The mint of token_0 vault"
]
},
{
name: "gamma_vault_1_mint",
docs: [
"The mint of token_1 vault"
]
},
{
name: "pool_partners",
writable: true,
pda: {
seeds: [
{
kind: "const",
value: [
112,
97,
114,
116,
110,
101,
114,
95,
105,
110,
102,
111,
115
]
},
{
kind: "account",
path: "gamma_pool_state"
}
]
}
}
],
args: [
{
name: "bin_liquidity_reduction",
type: {
vec: {
defined: {
name: "BinLiquidityReduction"
}
}
}
},
{
name: "maximum_token_0_amount",
type: "u64"
},
{
name: "maximum_token_1_amount",
type: "u64"
}
]
},
{
name: "migrate_orca_whirlpool_to_gamma",
docs: [
"Migrate from Orca Whirlpool to Gamma for simple spl tokens"
],
discriminator: [
197,
196,
129,
5,
64,
184,
129,
242
],
accounts: [
{
name: "whirlpool_program",
address: "whirLbMiicVdio4qvUfM5KAg6Ct8VwpYzGff3uctyCc"
},
{
name: "whirlpool",
writable: true
},
{
name: "token_program_a"
},
{
name: "token_program_b"
},
{
name: "memo_program",
address: "MemoSq4gqABAXKb96qnH8TysNcWxMyWCqXgDLGmfcHr"
},
{
name: "whirlpool_position",
writable: true
},
{
name: "whirlpool_position_token_account"
},
{
name: "whirlpool_token_vault_a",
writable: true
},
{
name: "whirlpool_token_vault_b",
writable: true
},
{
name: "whirlpool_tick_array_lower",
writable: true
},
{
name: "whirlpool_tick_array_upper",
writable: true
},
{
name: "gamma_owner",
docs: [
"The owner LP Position in Gamma pool"
],
signer: true
},
{
name: "gamma_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
]
}
]
}
},
{
name: "gamma_pool_state",
docs: [
"Gamma Pool state the owner is depositing into"
],
writable: true
},
{
name: "gamma_user_pool_liquidity",
writable: true,
pda: {
seeds: [
{
kind: "const",
value: [
117,
115,
101,
114,
45,
112,
111,
111,
108,
45,
108,
105,
113,
117,
105,
100,
105,
116,
121
]
},
{
kind: "account",
path: "gamma_pool_state"
},
{
kind: "account",
path: "gamma_owner"
}
]
}
},
{
name: "gamma_token_0_account",
docs: [
"The payer's token account to deposit token_0"
],
writable: true
},
{
name: "gamma_token_1_account",
docs: [
"The payer's token account to deposit token_1"
],
writable: true
},
{
name: "gamma_token_0_vault",
docs: [
"Pool vault for token_0 to deposit into",
"The address that holds pool tokens for token_0"
],
writable: true
},
{
name: "gamma_token_1_vault",
docs: [
"Pool vault for token_1 to deposit into",
"The address that holds pool tokens for token_1"
],
writable: true
},
{
name: "token_program",
docs: [
"token Program"
],
address: "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA"
},
{
name: "token_program_2022",
docs: [
"Token program 2022"
],
address: "TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb"
},
{
name: "gamma_vault_0_mint",
docs: [
"The mint of token_0 vault"
]
},
{
name: "gamma_vault_1_mint",
docs: [
"The mint of token_1 vault"
]
},
{
name: "pool_partners",
writable: true,
pda: {
seeds: [
{
kind: "const",
value: [
112,
97,
114,
116,
110,
101,
114,
95,
105,
110,
102,
111,
115
]
},
{
kind: "account",
path: "gamma_pool_state"
}
]
}
}
],
args: [
{
name: "liquidity_amount",
type: "u128"
},
{
name: "token_min_a",
type: "u64"
},
{
name: "token_min_b",
type: "u64"
},
{
name: "maximum_token_0_amount",
type: "u64"
},
{
name: "maximum_token_1_amount",
type: "u64"
}
]
},
{
name: "migrate_orca_whirlpool_to_gamma_v2",
docs: [
"Migrate from Orca Whirlpool to Gamma for token 2022"
],
discriminator: [
48,
74,
173,
201,
189,
38,
220,
244
],
accounts: [
{
name: "whirlpool_program",
address: "whirLbMiicVdio4qvUfM5KAg6Ct8VwpYzGff3uctyCc"
},
{
name: "whirlpool",
writable: true
},
{
name: "token_program_a"
},
{
name: "token_program_b"
},
{
name: "memo_program",
address: "MemoSq4gqABAXKb96qnH8TysNcWxMyWCqXgDLGmfcHr"
},
{
name: "whirlpool_position",
writable: true
},
{
name: "whirlpool_position_token_account"
},
{
name: "whirlpool_token_vault_a",
writable: true
},
{
name: "whirlpool_token_vault_b",
writable: true
},
{
name: "whirlpool_tick_array_lower",
writable: true
},
{
name: "whirlpool_tick_array_upper",
writable: true
},
{
name: "gamma_owner",
docs: [
"The owner LP Position in Gamma pool"
],
signer: true
},
{
name: "gamma_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
]
}
]
}
},
{
name: "gamma_pool_state",
docs: [
"Gamma Pool state the owner is depositing into"
],
writable: true
},
{
name: "gamma_user_pool_liquidity",
writable: true,
pda: {
seeds: [
{
kind: "const",
value: [
117,
115,
101,
114,
45,
112,
111,
111,
108,
45,
108,
105,
113,
117,
105,
100,
105,
116,
121
]
},
{
kind: "account",
path: "gamma_pool_state"
},
{
kind: "account",
path: "gamma_owner"
}
]
}
},
{
name: "gamma_token_0_account",
docs: [
"The payer's token account to deposit token_0"
],
writable: true
},
{
name: "gamma_token_1_account",
docs: [
"The payer's token account to deposit token_1"
],
writable: true
},
{
name: "gamma_token_0_vault",
docs: [
"Pool vault for token_0 to deposit into",
"The address that holds pool tokens for token_0"
],
writable: true
},
{
name: "gamma_token_1_vault",
docs: [
"Pool vault for token_1 to deposit into",
"The address that holds pool tokens for token_1"
],
writable: true
},
{
name: "token_program",
docs: [
"token Program"
],
address: "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA"
},
{
name: "token_program_2022",
docs: [
"Token program 2022"
],
address: "TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb"
},
{
name: "gamma_vault_0_mint",
docs: [
"The mint of token_0 vault"
]
},
{
name: "gamma_vault_1_mint",
docs: [
"The mint of token_1 vault"
]
},
{
name: "pool_partners",
writable: true,
pda: {
seeds: [
{
kind: "const",
value: [
112,
97,
114,
116,
110,
101,
114,
95,
105,
110,
102,
111,
115
]
},
{
kind: "account",
path: "gamma_pool_state"
}
]
}
}
],
args: [
{
name: "liquidity_amount",
type: "u128"
},
{
name: "token_min_a",
type: "u64"
},
{
name: "token_min_b",
type: "u64"
},
{
name: "remaining_accounts",
type: {
option: {
defined: {
name: "RemainingAccountsInfo"
}
}
}
},
{
name: "maximum_token_0_amount",
type: "u64"
},
{
name: "maximum_token_1_amount",
type: "u64"
}
]
},
{
name: "migrate_raydium_clmm_to_gamma",
docs: [
"Migrate from Raydium Clmm to Gamma"
],
discriminator: [
53,
162,
11,
109,
57,
57,
186,
248
],
accounts: [
{
name: "raydium_clmm_program",
address: "CAMMCzo5YL8w4VFF8KVHrK22GGUsp5VTaW7grrKgrWqK"
},
{
name: "raydium_clmm_nft_owner",
signer: true
},
{
name: "raydium_clmm_nft_account"
},
{
name: "raydium_clmm_personal_position",
writable: true
},
{
name: "raydium_clmm_pool_state",
writable: true
},
{
name: "raydium_clmm_protocol_position",
writable: true
},
{
name: "raydium_clmm_token_vault_0",
docs: [
"Token_0 vault"
],
writable: true
},
{
name: "raydium_clmm_token_vault_1",
writable: true
},
{
name: "raydium_clmm_tick_array_lower",
writable: true
},
{
name: "raydium_clmm_tick_array_upper",
writable: true
},
{
name: "gamma_owner",
docs: [
"Owner of the liquidity provided"
],
signer: true
},
{
name: "gamma_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
]
}
]
}
},
{
name: "gamma_pool_state",
docs: [
"Pool state the owner is depositing into"
],
writable: true
},
{
name: "gamma_user_pool_liquidity",
writable: true,
pda: {
seeds: [
{
kind: "const",
value: [
117,
115,
101,
114,
45,
112,
111,
111,
108,
45,
108,
105,
113,
117,
105,
100,
105,
116,
121
]
},
{
kind: "account",
path: "gamma_pool_state"
},
{
kind: "account",
path: "gamma_owner"
}
]
}
},
{
name: "gamma_token_0_account",
docs: [
"The payer's token account to deposit token_0"
],
writable: true
},
{
name: "gamma_token_1_account",
docs: [
"The payer's token account to deposit token_1"
],
writable: true
},
{
name: "gamma_token_0_vault",
docs: [
"Pool vault for token_0 to deposit into",
"The address that holds pool tokens for token_0"
],
writable: true
},
{
name: "gamma_token_1_vault",
docs: [
"Pool vault for token_1 to deposit into",
"The address that holds pool tokens for token_1"
],
writable: true
},
{
name: "gamma_vault_0_mint",
docs: [
"The mint of token_0 vault"
]
},
{
name: "gamma_vault_1_mint",
docs: [
"The mint of token_1 vault"
]
},
{
name: "token_program",
docs: [
"token Program"
],
address: "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA"
},
{
name: "token_program_2022",
docs: [
"Token program 2022"
],
address: "TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb"
},
{
name: "pool_partners",
writable: true,
pda: {
seeds: [
{
kind: "const",
value: [
112,
97,
114,
116,
110,
101,
114,
95,
105,
110,
102,
111,
115
]
},
{
kind: "account",
path: "gamma_pool_state"
}
]
}
}
],
args: [
{
name: "liquidity",
type: "u128"
},
{
name: "amount_0_min",
type: "u64"
},
{
name: "amount_1_min",
type: "u64"
},
{
name: "maximum_token_0_amount",
type: "u64"
},
{
name: "maximum_token_1_amount",
type: "u64"
}
]
},
{
name: "migrate_raydium_clmm_to_gamma_v2",
docs: [
"Migrate from Raydium Clmm to Gamma for token 2022"
],
discriminator: [
138,
127,
173,
116,
184,
119,
160,
145
],
accounts: [
{
name: "raydium_clmm_program",
address: "CAMMCzo5YL8w4VFF8KVHrK22GGUsp5VTaW7grrKgrWqK"
},
{
name: "raydium_clmm_nft_owner",
signer: true
},
{
name: "raydium_clmm_nft_account"
},
{
name: "raydium_clmm_personal_position",
writable: true
},
{
name: "raydium_clmm_pool_state",
writable: true
},
{
name: "raydium_clmm_protocol_position",
writable: true
},
{
name: "raydium_clmm_token_vault_0",
writable: true
},
{
name: "raydium_clmm_token_vault_1",
writable: true
},
{
name: "raydium_clmm_tick_array_lower",
writable: true
},
{
name: "raydium_clmm_tick_array_upper",
writable: true
},
{
name: "memo_program",
address: "MemoSq