lez-programs/amm/amm-idl.json

240 lines
4.9 KiB
JSON

{
"version": "0.1.0",
"name": "amm",
"instructions": [
{
"name": "new_definition",
"accounts": [
{
"name": "pool",
"writable": false,
"signer": false,
"init": false
},
{
"name": "vault_a",
"writable": false,
"signer": false,
"init": false
},
{
"name": "vault_b",
"writable": false,
"signer": false,
"init": false
},
{
"name": "pool_definition_lp",
"writable": false,
"signer": false,
"init": false
},
{
"name": "user_holding_a",
"writable": false,
"signer": false,
"init": false
},
{
"name": "user_holding_b",
"writable": false,
"signer": false,
"init": false
},
{
"name": "user_holding_lp",
"writable": false,
"signer": false,
"init": false
}
],
"args": [
{
"name": "token_a_amount",
"type": "u128"
},
{
"name": "token_b_amount",
"type": "u128"
},
{
"name": "amm_program_id",
"type": "program_id"
}
]
},
{
"name": "add_liquidity",
"accounts": [
{
"name": "pool",
"writable": false,
"signer": false,
"init": false
},
{
"name": "vault_a",
"writable": false,
"signer": false,
"init": false
},
{
"name": "vault_b",
"writable": false,
"signer": false,
"init": false
},
{
"name": "pool_definition_lp",
"writable": false,
"signer": false,
"init": false
},
{
"name": "user_holding_a",
"writable": false,
"signer": false,
"init": false
},
{
"name": "user_holding_b",
"writable": false,
"signer": false,
"init": false
},
{
"name": "user_holding_lp",
"writable": false,
"signer": false,
"init": false
}
],
"args": [
{
"name": "min_amount_liquidity",
"type": "u128"
},
{
"name": "max_amount_to_add_token_a",
"type": "u128"
},
{
"name": "max_amount_to_add_token_b",
"type": "u128"
}
]
},
{
"name": "remove_liquidity",
"accounts": [
{
"name": "pool",
"writable": false,
"signer": false,
"init": false
},
{
"name": "vault_a",
"writable": false,
"signer": false,
"init": false
},
{
"name": "vault_b",
"writable": false,
"signer": false,
"init": false
},
{
"name": "pool_definition_lp",
"writable": false,
"signer": false,
"init": false
},
{
"name": "user_holding_a",
"writable": false,
"signer": false,
"init": false
},
{
"name": "user_holding_b",
"writable": false,
"signer": false,
"init": false
},
{
"name": "user_holding_lp",
"writable": false,
"signer": false,
"init": false
}
],
"args": [
{
"name": "remove_liquidity_amount",
"type": "u128"
},
{
"name": "min_amount_to_remove_token_a",
"type": "u128"
},
{
"name": "min_amount_to_remove_token_b",
"type": "u128"
}
]
},
{
"name": "swap",
"accounts": [
{
"name": "pool",
"writable": false,
"signer": false,
"init": false
},
{
"name": "vault_a",
"writable": false,
"signer": false,
"init": false
},
{
"name": "vault_b",
"writable": false,
"signer": false,
"init": false
},
{
"name": "user_holding_a",
"writable": false,
"signer": false,
"init": false
},
{
"name": "user_holding_b",
"writable": false,
"signer": false,
"init": false
}
],
"args": [
{
"name": "swap_amount_in",
"type": "u128"
},
{
"name": "min_amount_out",
"type": "u128"
},
{
"name": "token_definition_id_in",
"type": "account_id"
}
]
}
],
"instruction_type": "amm_core::Instruction"
}