Unit ID
KtNYKT6kO8gVLFEmsI31dZlIYPDykryJWCYyUhODWqA=
Received
14.08.2019 03:43:10
Confirmation delay (full node)
7 minutes 11 seconds
Messages
Definition
Definition: [ "autonomous agent", { "init": "{ $oracles = 'F4KHJUCLJKY4JV7M5F754LAJX4EB7M4N'; $feed_name = 'GBYTE_USD'; $liquidation_ratio = 1.5; $liquidation_penalty = 0.1; $fee = 0.5; $bounce = 10000; $asset = var['asset']; $supply = var['supply']; $rate = data_feed[[oracles=$oracles, feed_name=$feed_name, ifnone=false]]; $is_active = ($asset AND $rate); }", "messages": { "cases": [ { "if": "{trigger.data.define AND !$asset}", "messages": [ { "app": "asset", "payload": { "is_private": false, "is_transferrable": true, "auto_destroy": true, "fixed_denominations": false, "issued_by_definer_only": true, "cosigned_by_definer": false, "spender_attested": false } }, { "app": "state", "state": "{ var['asset'] = response_unit; response['asset'] = response_unit; }" } ] }, { "if": "{$is_active AND trigger.data.open}", "init": "{ $cdp = (var['cdp:index'] + 1); }", "messages": [ { "app": "state", "state": "{ var['cdp:' || $cdp || ':owner'] = trigger.address; var['cdp:index'] = $cdp; response['message'] = 'Opened CDP ' || $cdp; response['cdp'] = $cdp; }" } ] }, { "if": "{trigger.data.lock AND trigger.data.cdp}", "init": "{ $cdp = trigger.data.cdp; $amount = (trigger.output[[asset=base]] - $bounce); if ($amount <= 0) bounce('You need to send more than the bounce fees'); if (var['cdp:' || $cdp || ':owner'] != trigger.address) bounce('You need to be the owner of the CDP'); if (var['cdp:' || $cdp || ':liquidation']) bounce('The CDP is in liquidation'); }", "messages": [ { "app": "state", "state": "{ var['cdp:' || $cdp || ':collateral'] += $amount; response['message'] = 'Added ' || $amount || ' as collateral for CDP ' || $cdp; response['cdp'] = $cdp; response['amount'] = $amount; }" } ] }, { "if": "{trigger.data.free AND trigger.data.cdp AND trigger.data.amount}", "init": "{ $cdp = trigger.data.cdp; if (var['cdp:' || $cdp || ':owner'] != trigger.address) bounce('You need to be the owner of the CDP'); if (var['cdp:' || $cdp || ':liquidation']) bounce('The CDP is in liquidation'); // @TODO Bounce request if the collateral ratio is under the liquidation ratio $amount = trigger.data.amount; $collateral = var['cdp:' || $cdp || ':collateral']; $debt = var['cdp:' || $cdp || ':debt']; }", "messages": [ { "app": "payment", "payload": { "asset": "base", "outputs": [ { "address": "{trigger.address}", "amount": "{$amount}" } ] } }, { "app": "state", "state": "{ var['cdp:' || $cdp || ':collateral'] -= $amount; response['message'] = 'Reclaimed ' || $amount || ' bytes from CDP ' || $cdp; }" } ] }, { "if": "{trigger.data.draw AND trigger.data.cdp AND trigger.data.amount}", "init": "{ $cdp = trigger.data.cdp; if (var['cdp:' || $cdp || ':owner'] != trigger.address) bounce('You need to be the owner of the CDP'); if (var['cdp:' || $cdp || ':liquidation']) bounce('The CDP is in liquidation'); $amount = trigger.data.amount; if ($amount <= 0) bounce('The amount must be positive'); // @TODO Bounce request if the collateral ratio is under the liquidation ratio }", "messages": [ { "app": "payment", "payload": { "asset": "{$asset}", "outputs": [ { "address": "{trigger.address}", "amount": "{$amount}" } ] } }, { "app": "state", "state": "{ var['cdp:' || $cdp || ':debt'] += $amount; var['supply'] += $amount; response['message'] = 'Sent fresh stablecoin for ' || trigger.address; }" } ] }, { "if": "{trigger.data.wipe AND trigger.data.cdp}", "init": "{ $cdp = trigger.data.cdp; $amount = trigger.output[[asset=$asset]]; if (var['cdp:' || $cdp || ':owner'] != trigger.address) bounce('You need to be the owner of the CDP'); if (var['cdp:' || $cdp || ':liquidation']) bounce('The CDP is in liquidation'); // @TODO Check amount }", "messages": [ { "app": "state", "state": "{ var['cdp:' || $cdp || ':debt'] -= $amount; var['supply'] -= $amount; response['message'] = 'Debt reduced by ' || $amount || ' on CDP ' || $cdp; }" } ] } ] } } ]
Technical information
Fees:
3,954 bytes
(353 headers, 3601 payload)
Level:998001
Witnessed level:997993
Main chain index:996819
Latest included mc index:996818
Status:stable/confirmed/final