Unit ID
N+i6vgcYIr/lpIdqdLAIXaP77P6UuU5qQGc1+32qHWo=
Received
30.08.2019 18:48:39
Confirmation delay (full node)
3 minutes 21 seconds
Confirmation delay (light node)
7 minutes 8 seconds
Messages
Definition
Definition: [ "autonomous agent", { "bounce_fees": { "base": 10000 }, "init": "{ // THAANKS // Ask a user to trigger an AA for reward, can be also overtaken by a bot $OWNER = "O7NYCFUL5XIJTYE3O4MKGMGMTN6ATQAJ"; // to adjust parameters // test if a bot overtook the user? }", "messages": { "cases": [ { "if": "{ !!trigger.data.help and !!trigger.data.helper }", "init": "{ $reward = trigger.output[[asset!=base]].amount otherwise trigger.output[[asset=base]].amount otherwise 0; $reward_asset = trigger.output[[asset!=base]].asset otherwise "base"; $time = trigger.data.time otherwise 0; }", "messages": [ { "app": "data", "payload": { "message": "{"Get "||$reward||" "||$reward_asset||" if you are first to reply to me after "||$time }", "helped_aa ": "{trigger.address}" } }, { "app": "payment", "payload": { "asset": "base", "outputs": [ { "address": "{trigger.data.helper}", "amount": "{1000}" } ] } }, { "app": "state", "state": "{ $key = sha256(trigger.data.helper||"_"||trigger.address); var[$key||"_reward"] = $reward; var[$key||"_asset"] = $reward_asset; var[$key||"_time"] = $time; response['message'] = trigger.data.helper||" has been asked for help ^^"; }" } ] }, { "if": "{ !!trigger.data.help and !trigger.data.helper }", "init": "{ $reward = trigger.output[[asset!=base]].amount otherwise trigger.output[[asset=base]].amount-1000 otherwise 0; $reward_asset = trigger.output[[asset!=base]].asset otherwise "base"; $time = trigger.data.time otherwise 0; $acceptable_delay = trigger.data.acceptable_delay otherwise 0; $good_guys_count = var["good_guys_count"] otherwise 0; if ($good_guys_count == 0 ) bounce ("No 'helper' registered !"); $good_guy = var["good_guys_"||number_from_seed(timestamp,0,$good_guys_count)]; }", "messages": [ { "app": "data", "payload": { "message": "{"Get "||$reward||" "||$reward_asset||" if you are first to reply to me after "||$time }", "helped_aa ": "{trigger.address}" } }, { "app": "payment", "payload": { "asset": "base", "outputs": [ { "address": "{$good_guy}", "amount": "{1000}" } ] } }, { "app": "state", "state": "{ $key = sha256($good_guy||"_"||trigger.address); var[$key||"_reward"] = $reward; var[$key||"_asset"] = $reward_asset; var[$key||"_time"] = $time; response['message'] = $good_guy||" has been asked for help ^^"; }" } ] }, { "if": "{ trigger.data.subscribe}", "init": "{ if (var[trigger.address]) bounce ("You are motivated, but once is enough!"); }", "messages": [ { "app": "payment", "payload": { "asset": "base", "outputs": [ { "address": "{trigger.address}", "amount": "{trigger.output[[asset=base]].amount - 1000}" } ] } }, { "app": "state", "state": "{ var["good_guys_count"] +=1; var[trigger.address] = var["good_guys_count"]; var["good_guys_"||$good_guys_count] = trigger.address; response['message'] = "Subscribed"; }" } ] }, { "if": "{ trigger.data.unsubscribe}", "init": "{ if (!(var[trigger.address])) bounce ("You were not subscribed at the first place !"); }", "messages": [ { "app": "state", "state": "{ var["good_guys_count"] -=1; $good_guy_number = var[trigger.address]; var["good_guys_"||$good_guy_number] = false; var[trigger.address] = false; response['message'] = "Unsubscribed"; }" } ] }, { "if": "{ !!trigger.data.aa }", "init": "{ $key = sha256(trigger.address||"_"||trigger.data.aa); // been overtaken? if (!var[$key||"_reward"]) bounce ("Reward not avaialbel, you have been overtaken or you specified the wrong 'aa'!"); // too early? if (var[$key||"_time"] > timestamp) bounce ("Too early, try in "||(var[$aa||"_time"] - timestamp)); }", "messages": [ { "app": "payment", "payload": { "asset": "{var[$key||"_asset"]}", "outputs": [ { "address": "{trigger.address}", "amount": "{var[$key||"_reward"]}" } ] } }, { "app": "data", "payload": { "help_from": "{trigger.address}" } }, { "app": "payment", "payload": { "asset": "base", "outputs": [ { "address": "{trigger.data.aa}", "amount": "{1}" } ] } }, { "app": "state", "state": "{ var[$key||"_reward"] = false; var[$key||"_asset"] = false; var[$key||"_time"] = false; response['message'] = trigger.address||" has been rewarded ^^"; }" } ] }, { "messages": [ { "app": "state", "state": "{ bounce ("Input not expected, please read the doc at https://github.com/pascalSAINVITU/THAANKS"); }" } ] } ] } } ]
Technical information
Fees:
4,940 bytes
(353 headers, 4587 payload)
Level:1034940
Witnessed level:1034932
Main chain index:1033752
Latest included mc index:1033751
Status:stable/confirmed/final