Skip to content

Latest commit

 

History

History
68 lines (58 loc) · 1.41 KB

redeem_fees.md

File metadata and controls

68 lines (58 loc) · 1.41 KB

Redeem Fees

Transfer collected protocol fees to the CREATOR account. Note: The CREATOR must opt-in to the liquidity assets separately before receiving them.

Transaction Group:

  1. Pay - pay fees in Algo from User to Pool
    • fees to cover Tx 1,2
    • Signed by User
{
  "txn": {
    "type": "pay",
    "rcv": "{POOL_ADDRESS}",
    "snd": "{USER_ADDRESS}",
    "amt": 2000,
    ...
  },
  "sig": "{USER_SIG}",
}
  1. App Call - NoOp call to Validator App with args ['fees']
    • Signed by Pool LogicSig
{
  "txn": {
    "type": "appl",
    "snd": "{POOL_ADDRESS}",
    "apid": {VALIDATOR_APP_ID},
    "apan": 0, // OnComplete: NoOp
    "apaa": ['ZmVlcw=='], // ['fees']
    "apas": [{ASSET1_ID}, {ASSET1_ID}, {LIQUIDITY_ASSET_ID}] // or just [{ASSET1_ID}, {LIQUIDITY_ASSET_ID}] if asset 2 is Algo
    ...
  },
  "lsig": "{POOL_LOGICSIG}",
}
  1. AssetTransfer - Transfer of liquidity asset from Pool to CREATOR account
    • Signed by Pool
{
  "txn": {
    "type": "axfer",
    "arcv": "{CREATOR_ADDRESS}",
    "snd": "{POOL_ADDRESS}",
    "xaid": {LIQUIDITY_ASSET_ID},
    "aamt": {ASSET_AMOUNT},
    ...
  },
  "lsig": "{POOL_LOGICSIG}",
}

Validator App State Changes

Global State

None

Pool Account Local State

  • o{LIQUIDITY_ASSET_ID}: {o} // total outstanding unredeemed liquidity asset amount
  • p: {p} // unclaimed protocol fee liquidity asset amount

Creator Local State

None