Unit ID
jKdJkO7PzSQdtAssFFFiDxJZ4r/Yx2L/LnQorVRO+E8=
Received
13.07.2020 07:05:26
Confirmation delay (full node)
25 minutes 45 seconds
Messages
Definition
Definition: [ "autonomous agent", { "doc_url": "https://oswap.io/factory.json", "init": "{ $base = 'GS23D3GQNNMNJ5TL4Z5PINZ5626WASMA'; $address = trigger.data.address; $asset0 = trigger.data.asset0; $asset1 = trigger.data.asset1; $swapFee = trigger.data.swap_fee; $swapFeeMin = 1e5; $swapFeeMax = 1e10; }", "messages": { "cases": [ { "if": "{trigger.data.create AND $asset0 AND $asset1 AND $swapFee AND trigger.output[[asset=base]] == 1e4}", "init": "{ if (!is_integer($swapFee) OR $swapFee > $swapFeeMax OR $swapFee < $swapFeeMin) bounce('swap fee must between ' || $swapFeeMin || ' and ' || $swapFeeMax); if ($asset0 == $asset1) bounce('identical asset'); if (number_from_seed($asset1) >= number_from_seed($asset0)) bounce('wrong asset order'); if (var['all_pools.' || $asset0 || '_' || $asset1]) bounce('pool exists'); if ( !asset[$asset0].exists OR asset[$asset0].is_private OR !asset[$asset0].is_transferrable OR asset[$asset0].fixed_denominations OR !asset[$asset1].exists OR asset[$asset1].is_private OR !asset[$asset1].is_transferrable OR asset[$asset1].fixed_denominations ) bounce('invalid asset'); }", "messages": [ { "app": "definition", "payload": { "definition": [ "autonomous agent", { "base_aa": "{$base}", "params": { "factory": "{this_address}", "asset0": "{$asset0}", "asset1": "{$asset1}", "swap_fee": "{$swapFee}" } } ] } }, { "app": "payment", "payload": { "asset": "base", "outputs": [ { "address": "{$address}", "amount": "{5e3}" } ] } }, { "app": "data", "payload": { "initialize": "1" } }, { "app": "state", "state": "{ if ($address != unit[response_unit].messages[[.app='definition']].payload.address) bounce('wrong address'); $i = var['pairs.' || $asset0 || '_' || $asset1 || '.i'] OTHERWISE 0; var['pairs.' || $asset0 || '_' || $asset1 || '.pools[' || $i || ']'] = $address; var['pairs.' || $asset0 || '_' || $asset1 || '.i'] += 1; var['pools.' || $address || '.asset0'] = $asset0; var['pools.' || $address || '.asset1'] = $asset1; var['pools.' || $address || '.swap_fee'] = $swapFee; var['count'] += 1; response['type'] = 'create'; }" } ] }, { "if": "{trigger.data.finalize AND var['pools.' || trigger.address || '.asset0']}", "messages": [ { "app": "state", "state": "{ var['pools.' || trigger.address || '.asset'] = trigger.unit; response['type'] = 'finalize'; }" } ] } ] } } ]
Technical information
Fees:
2,633 bytes
(352 headers, 2281 payload)
Level:5673857
Witnessed level:5673841
Main chain index:5530003
Latest included mc index:5530002
Status:stable/confirmed/final