Unit ID
UeGeiHwUuAu3RkZIKo6Vng68v/0fw/875nBZNSykeKU=
Received
21.09.2021 16:38:02
Confirmation delay (full node)
3 minutes 11 seconds
Confirmation delay (light node)
4 minutes 14 seconds
Messages
Definition
Definition: [ "autonomous agent", { "bounce_fees": { "base": 10000 }, "init": "{ $POOL_BASE_AA = "5DNICJLNOBPANH536Y7YVBN5ZDBLQ4LE"; $asset = trigger.output[[asset!="base"]].asset == "none" ? "base" : trigger.output[[asset!="base"]].asset; if (NOT trigger.data["_fwto"]) bounce("_fwto field is mandatory"); if (NOT is_valid_address(trigger.data["_fwto"])) bounce("_fwto field is not a valid address"); if (trigger.output[[asset!="base"]].asset == "ambiguous") bounce("AAs cannot handle payments with multiple assets"); if (NOT trigger.data["_opr"]) bounce("_opr field is mandatory"); if (NOT is_valid_amount(trigger.data["_opr"])) bounce("_opr must be a positive amount"); if (NOT trigger.data["_pl"]) bounce("_pl field is mandatory"); if (NOT is_aa(trigger.data["_pl"])) bounce("_pl is not a valid oswap pool"); $definition = definition[trigger.data["_pl"]][1]; if ($definition["base_aa"] != $POOL_BASE_AA) bounce("That pool version is unsupported"); bounce($definition["base_aa"] || "_" || $POOL_BASE_AA); $getAmount = ($outputAmount, $outputReserve, $inputReserve, $fee)=>{ $swapNoFee = 1e11 - $fee; $numerator = $outputAmount * $inputReserve * 1e11; $denominator = ($outputReserve - $outputAmount) * $swapNoFee; return ceil($numerator / $denominator, 0); }; $calculateNeededAmount = ()=>{ $asset0 = $definition["params"]["asset0"]; $asset1 = $definition["params"]["asset1"]; $fee = $definition["params"]["swap_fee"]; $buy = $asset == $asset0; $reserve0 = balance[trigger.data["_pl"]][$asset0]; $reserve1 = balance[trigger.data["_pl"]][$asset1]; if ($buy) return $getAmount(trigger.data["_opr"], $reserve1, $reserve0, $fee); return $getAmount(trigger.data["_opr"], $reserve0, $reserve1, $fee); }; $price = $calculateNeededAmount(); $remaining = trigger.output[[asset=$asset]].amount - $price; }", "messages": [ { "app": "payment", "payload": { "asset": "{$asset}", "outputs": [ { "address": "{trigger.initial_address}", "amount": "{$remaining}" }, { "address": "{trigger.data["_fwto"]}", "amount": "{$price}" } ] } }, { "app": "data", "payload": { "to": "{trigger.initial_address}" } } ] } ]
Technical information
Fees:
3,208 bytes
(452 headers, 2756 payload)
Level:2335252
Witnessed level:2335244
Main chain index:2322967
Latest included mc index:2322965
Status:stable/confirmed/final