Unit ID
MgTXro32i6RwSahs6DDeYoz84kA3dkUqms1BLVW/4jA=
Received
29.08.2022 17:33:43
Confirmation delay (full node)
5 minutes 7 seconds
Messages
Definition
Definition: [ "autonomous agent", { "bounce_fees": { "base": 10000 }, "doc_url": "https://ipfs.io/ipfs/QmTUdzDj3CAekEf17Gvkq1wCb9RqSX2HQMPmZyqshC5XLj?filename={{aa_address}}.json", "init": "{\r $GovernanceAddress = 'R24O63ZV5OZ2KEMRRIABIPKDDBAB2OYB'; // controled by the fundraiser, used to finish the funding period\r $FundingAddress = 'ON4GW3KQXSBMWRZVXEXKWGQLGUBKBYBQ'; // this address receives the Milestone payments\r $OracleAddress = 'TFLUCOKCYTC6EL5OTFB2DITDZNAW677J';\r $Price = 1e6; // bytes per token\r $Target = 1e9; // target can be exceeded but is refundable if less raised by expiry timestamp\r $ExpiryTimestamp = 1704067199; // Jan 1, 2024\r $Milestone1 = 10; // in %\r $Milestone2 = 30;\r $Milestone3 = 40;\r $Milestone4 = 20;\r $Asset = var['Asset'];\r $Finished = var['Finished'];\r $IsActive = ($Asset AND $Price AND !$Finished);\r }", "messages": { "cases": [ { "if": "{trigger.data.define AND trigger.address == $GovernanceAddress AND !$Asset}", "messages": [ { "app": "asset", "payload": { "is_private": false, "is_transferrable": true, "auto_destroy": false, "fixed_denominations": false, "issued_by_definer_only": true, "cosigned_by_definer": false, "spender_attested": false } }, { "app": "state", "state": "{\r var['Asset'] = response_unit;\r response['Asset'] = response_unit;\r }" } ] }, { "if": "{ trigger.output[[asset=base]] >= $Price AND $IsActive }", "init": "{\r $amount = round(trigger.output[[asset=base]] / $Price);\r }", "messages": [ { "app": "payment", "payload": { "asset": "{$Asset}", "outputs": [ { "address": "{trigger.address}", "amount": "{$amount}" } ] } } ] }, { "if": "{ (trigger.data.finish AND trigger.address == $GovernanceAddress) OR timestamp > $ExpiryTimestamp }", "messages": [ { "app": "state", "state": "{\r var['Finished'] = 1;\r var['Total'] = balance[base];\r response['Total'] = balance[base];\r }" } ] }, { "if": "{trigger.data.milestone AND trigger.address == $OracleAddress AND $Finished AND var['Total'] >= $Target}", "init": "{\r $share = ${'Milestone' || trigger.data.milestone} / 100;\r if (!$share)\r bounce('no such Milestone');\r if (var['Milestone' || trigger.data.milestone || '_released'])\r bounce('Milestone ' || trigger.data.milestone || ' already released');\r }", "messages": [ { "app": "payment", "payload": { "asset": "base", "outputs": [ { "address": "{$FundingAddress}", "amount": "{round(var['Total'] * $share)}" } ] } }, { "app": "state", "state": "{\r var['Milestone' || trigger.data.milestone || '_released'] = 1;\r response['released'] = 1;\r }" } ] }, { "if": "{$Asset AND trigger.output[[asset=$Asset]] > 0 AND $Finished AND var['Total'] < $Target}", "messages": [ { "app": "payment", "payload": { "asset": "base", "outputs": [ { "address": "{trigger.address}", "amount": "{ round(trigger.output[[asset=$Asset]] * $Price) }" } ] } } ] }, { "messages": [ { "app": "state", "state": "{\r response['contribution_value'] \r = $IsActive AND trigger.output[[asset=base]] < $Price \r ? 'Contribution below minimum of '|| $Price \r : !$IsActive \r ? 'Funding not active.' \r : trigger.output[[asset=base]];\r }" } ] } ] } } ]
Technical information
Fees:
3,572 bytes
(452 headers, 3120 payload)
Level:2845801
Witnessed level:2845794
Main chain index:2821825
Latest included mc index:2821824
Status:stable/confirmed/final