Tinyman Docs
Search
K

Add Subsequent Liquidity

A. Flexible

Transactions

1. AssetTransfer:
Sender: user_address Receiver: pool_address Index: asset_1_id Amount: asset_1_amount
2. AssetTransfer/Pay:
Sender: user_address; Receiver: pool_address Index: asset_2_id Amount: asset_2_amount
3. AppCall:
Sender: user_address Index: tinyman_amm_v2_app_id OnComplete: NoOp App Args: [“add_liquidity”, “flexible”, min_output] Foreign Assets: [pool_token_asset_id] Accounts: [pool_address] Fee: (3 * min_fee)

Side Effects

Local State Changes

  1. 1.
    asset_1_reserves
  2. 2.
    asset_2_reserves
  3. 3.
    issued_pool_tokens
  4. 4.
    asset_1_protocol_fees
  5. 5.
    asset_2_protocol_fees
  6. 6.
    asset_1_cumulative_price
  7. 7.
    asset_2_cumulative_price
  8. 8.
    cumulative_price_update_timestamp

Logs

  1. 1.
    input_asset_id
  2. 2.
    output_asset_id
  3. 3.
    swap_amount
  4. 4.
    poolers_fee_amount
  5. 5.
    protocol_fee_amount
  6. 6.
    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:
Sender: pool_address Receiver: user_address Index: pool_token_asset_id Amount: (See formula II.B for pool token calculation)

B. Single Asset

Transactions

1. AssetTransfer/Pay:
Sender: user_address Receiver: pool_address Index: asset_id Amount: asset_amount
2.AppCall:
Sender: user_address Index: tinyman_amm_v2_app_id OnComplete: NoOp

Side Effects

Local State Changes

  1. 1.
    asset_1_reserves
  2. 2.
    asset_2_reserves
  3. 3.
    issued_pool_tokens
  4. 4.
    asset_1_protocol_fees
  5. 5.
    asset_2_protocol_fees
  6. 6.
    asset_1_cumulative_price
  7. 7.
    asset_2_cumulative_price
  8. 8.
    cumulative_price_update_timestamp

Logs

  1. 1.
    input_asset_id
  2. 2.
    output_asset_id
  3. 3.
    swap_amount
  4. 4.
    poolers_fee_amount
  5. 5.
    protocol_fee_amount
  6. 6.
    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:
Sender: pool_address Receiver: user_address Index: pool_token_asset_id Amount: (See formula II.B for pool token calculation)