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)
- 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
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)
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)
- 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
- input_asset_id
- input_amount
- swap_amount
- output_asset_id
- output_amount
- poolers_fee_amount
- protocol_fee_amount
- total_fee_amount
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)