Remove Liquidity
A. Multiple Assets Out
Transactions
1. AssetTransfer:
Sender: user_address Receiver: pool_address Index: pool_token_asset_id Amount: pool_token_asset_amount
2. AppCall:
Sender: user_address Index: tinyman_amm_v2_app_id OnComplete: NoOp App Args: [“remove_liquidity”, min_asset_1_out, min_asset_2_out] Foreign Assets: [asset_1_id, asset_2_id] Accounts: [pool_address] Fee: (3 * min_fee)
Side Effects
Local State Changes
asset_1_reserves
asset_2_reserves
issued_pool_tokens
asset_1_protocol_fees
asset_2_protocol_fees
asset_1_cumulative_price
asset_2_cumulative_price
cumulative_price_update_timestamp
Inner Transactions
1. AssetTransfer:
Sender: pool_address Receiver: user_address Index: asset_1_id Amount: (See formula III.A)
2. AssetTransfer/Pay:
Sender: pool_address Receiver: user_address Index: asset_2_id Amount: (See formula III.A)
B. Single Asset Out
Transactions
1. AssetTransfer:
Sender: user_address Receiver: pool_address Index: pool_token_asset_id Amount: pool_token_asset_amount
2. AppCall:
Sender: user_address Index: tinyman_amm_v2_app_id OnComplete: NoOp App Args: [“remove_liquidity”, min_asset_1_out, min_asset_2_out] Foreign Assets: [output_asset_id] Accounts: [pool_address] Fee: (3 * min_fee)
Side Effects
Local State Changes
asset_1_reserves
asset_2_reserves
issued_pool_tokens
asset_1_protocol_fees
asset_2_protocol_fees
asset_1_cumulative_price
asset_2_cumulative_price
cumulative_price_update_timestamp
Logs
input_asset_id
input_amount
swap_amount
output_asset_id
output_amount
poolers_fee_amount
protocol_fee_amount
total_fee_amount
Inner Transactions
1. App Call (to increase op code budget):
It is for increasing the opcode (computational) budget which is required for internal swap calculations.
2. AssetTransfer/Pay:
Sender: pool_address Receiver: user_address Index: output_asset_id Amount: (See formula III.B)
Last updated