Unit ID
p5JeNtazFY/GLrU0wAUKZhJmcGLiV8/BkPN74NN+r5w=
Received
15.07.2020 16:30:16
Confirmation delay (full node)
19 minutes 56 seconds
Confirmation delay (light node)
31 minutes 52 seconds
Messages
Definition
Definition: [ "autonomous agent", { "doc_url": "https://raw.githubusercontent.com/jldevelops/daily-draw/master/description.json", "getters": "{ $ENTRY = => 10000; $ORACLE = => 'FOPUBEUPBC6YLIQDLKL6EW775BMV7YOH'; $FEED_NAME = => 'bitcoin_hash'; $winnerPot = => 10000000; $triggerPot = => var['tickets_sold'] * $ENTRY(); $actualWinner = => var['tickets_sold'] > 1 ? number_from_seed(data_feed[[oracles=$ORACLE(), feed_name=$FEED_NAME()]],var['tickets_sold']-1) : 0; $isWinnerTicket = $ti => var['amount_'||$ti[0]] ? (($ti[1]+0) <= var['winner_'||$ti[0]] AND ($ti[2]+0) > var['winner_'||$ti[0]]) : false; $now = => timestamp_to_string(timestamp, 'date'); $day = => var['today'] ? var['today'] : $now(); $isTriggerAvailable = => $now() != $day() AND var['tickets_sold'] > 0; }", "init": "{ $getUserId = => { $user_id = attestation[[attestors='I2ADHGP4HL6J37NQAD73J7E5SKFIXJOT', address=trigger.address, ifnone=false]].user_id; if(!$user_id) bounce('you must do real name attestation first'); return $user_id; }; if(trigger.output[[asset!=base]].asset != 'none') bounce('no asset'); }", "messages": { "cases": [ { "if": "{trigger.data.buy and trigger.output[[asset=base]] == 10000}", "init": "{ if($isTriggerAvailable()) bounce('trigger available, send trigger = 1 to earn '||$triggerPot()||' bytes'); $user_id = $getUserId(); $ticket = var[$user_id]; if($ticket AND $ticket == $day()) bounce('You are already registered'); }", "messages": [ { "app": "state", "state": "{ if(!var['today'] OR (var['tickets_sold'] == 0 AND $now() != $day())) var['today'] = $now(); var[$user_id] = $day(); var[$day()||'_'||var['tickets_sold']+0] = trigger.address; var['tickets_sold'] += 1; response['message'] = 'Address registered for today\'s draw'; }" } ] }, { "if": "{trigger.data.trigger and trigger.output[[asset=base]] == 10000}", "init": "{ $user_id = $getUserId(); $winner_addr = var[$day()||'_'||$actualWinner()]; if(!$isTriggerAvailable()) bounce('no trigger available'); }", "messages": [ { "app": "payment", "payload": { "asset": "base", "outputs": [ { "address": "{trigger.address}", "amount": "{$triggerPot() + trigger.output[[asset=base]]}" } ] } }, { "app": "payment", "payload": { "asset": "base", "outputs": [ { "address": "{$winner_addr}", "amount": "{$winnerPot()}" } ] } }, { "app": "state", "state": "{ $d = $day(); var['today'] = $now(); var['tickets_sold'] = 0; response['message'] = 'Winner address '||$d||': '||$winner_addr; }" } ] }, { "messages": [ { "app": "state", "state": "{ response['message'] = 'Daily AA draw, send buy = 1 to buy a ticket or trigger = 1 to trigger draw when utc day changes'; }" } ] } ] } } ]
Technical information
Fees:
3,988 bytes
(451 headers, 3537 payload)
Level:5681450
Witnessed level:5681437
Main chain index:5537577
Latest included mc index:5537575
Status:stable/confirmed/final