Unit ID
Du0SDrFiOLi6ZlhbccEs/2+ppSXwEDaqo9cCkNAZ0E0=
Received
05.09.2023 21:15:24
Confirmation delay (full node)
2 minutes 11 seconds
Messages
Definition
Definition: [ "autonomous agent", { "init": "{ $oswap_base_aa = 'BVI5ZXW2Y5P2SN3SP3ZB7YDKY5NE2J2B'; $usd_base_aa = 'AKMFBQ7ZM4NBT7AJO4FWXH4X6Y6EC422'; $checkDataFeed = ($oracle, $feedName) => { $result = data_feed[[oracles=$oracle, feed_name=$feedName, ifnone=false]]; require($result, 'data feed not found: oracle=' || $oracle || ', feed_name=' || $feedName); }; }", "messages": { "cases": [ { "init": "{ $data = trigger.data; $type = $data.type; require(exists($type), "type required"); require($type == 'oswap' OR $type == 'usd', 'type is not supported: ' || $type); if ($type == 'oswap') { $base_aa = $oswap_base_aa; $names = [ 'oswap_aa', 'x_oracle', 'y_oracle', 'x_feed_name', 'y_feed_name', ]; foreach($names, 5, $v => { $value = $data[$v]; require(exists($value), $v || ' required'); if ($v == 'oswap_aa') { require(is_aa($value), 'invalid oswap_aa'); } }); $checkDataFeed($data.x_oracle, $data.x_feed_name); $checkDataFeed($data.y_oracle, $data.y_feed_name); $params = { oswap_aa: $data.oswap_aa, x_oracle: $data.x_oracle, y_oracle: $data.y_oracle, x_feed_name: $data.x_feed_name, y_feed_name: $data.y_feed_name, x_decimals: $data.x_decimals OTHERWISE 0, y_decimals: $data.y_decimals OTHERWISE 0, }; } if ($type == 'usd') { $base_aa = $usd_base_aa; require(exists($data.oracle), 'oracle required'); require(exists($data.feed_name), 'feed_name required'); $checkDataFeed($data.oracle, $data.feed_name); $params = { oracle: $data.oracle, feed_name: $data.feed_name, }; } $aa = [ 'autonomous agent', { base_aa: $base_aa, params: $params, } ]; $aa_address = chash160($aa); require(!definition[$aa_address], 'such an AA already exists: ' || $aa_address); }", "messages": [ { "app": "payment", "payload": { "asset": "base", "outputs": [ { "address": "{ $aa_address }", "amount": 5000 } ] } }, { "app": "data", "payload": { "define": 1, "factory": "{ this_address }" } }, { "app": "definition", "payload": { "definition": "{ $aa }" } }, { "app": "state", "state": "{ var['reserve_' || $type || '_' || $aa_address] = $params; response['address'] = $aa_address; }" } ] } ] } } ]
Technical information
Fees:
4,024 bytes
(452 headers, 3572 payload)
Level:3170988
Witnessed level:3170967
Main chain index:3145674
Latest included mc index:3145673
Status:stable/confirmed/final