Transfers view
UTXO view
Obyte.org
Unit Legend
- not on main chain, not stable
- main chain, not stable
- bad unit
- not on main chain, stable/confirmed/final
- main chain, stable/confirmed/final
- not on main chain, selected
- main chain, selected
Close
Close
Unit ID
GH9DflHIKj7cRb0IuMuzPk+RpXW4jwK3oJSsxp++TLQ=
Received
12.06.2020 17:17:30
Confirmation delay (full node)
11 minutes 47 seconds
Confirmation delay (light node)
16 minutes 30 seconds
Authors
UXLQ6IRUWYK4P5AAYEV2ZE3FCECWNA5M
Children
DoaBEDUABIAxTt8SAZvrY6gcXCkqrcCnfOw2uq8XHxI=
Parents
Du+wOT5lqqo9hGK/ARwxzLdiATp1/NYaYCFIRL6Pglw=
Messages
Definition
Address:
H5JFEWKJHGW6HZQN3CKTCTZYJD26VQHV
Definition:
[ "autonomous agent", { "doc_url": "https://raw.githubusercontent.com/jldevelops/aa-lotto-oracle/master/description.json", "getters": "{ $ENTRY = => params.entry > 10000 ? params.entry : 10000; $TRIGGER_FEE = => params.trigger_fee > 0 ? params.trigger_fee : 1; $ORACLE = => params.oracle; $FEED_NAME = => params.feed_name; $ticketsSold = => var['trigger_pot'] / $TRIGGER_FEE(); $actualWinner = => number_from_seed(data_feed[[oracles=$ORACLE(), feed_name=$FEED_NAME()]],$ticketsSold()-1); $aaBalance = => balance[base] - storage_size - var['user_bytes']; $opFee = => var['low_fee_mode'] ? 500 : 5000; $ticket = $addr => var[$addr]; $ticketDate = $addr => { if($ticket($addr)){ $arr = split($ticket(), '_'); $date = $arr[0]; } $date }; $amountToClaim = $addr => { if($ticket($addr)){ $arr = split($ticket($addr), '_'); $date = $arr[0]; if(var['amount_'||$date]){ $number = var['winner_'||$date]; $fr = $arr[1]+0; $to = $arr[2]+0; if($fr <= $number AND $to > $number){ $to_claim = var['amount_'||$date]; } } } $to_claim }; }", "init": "{ $now = timestamp_to_string(timestamp, 'date'); $day = var['today']?var['today']:$now; if(trigger.output[[asset!=base]].asset != 'none') bounce('no asset'); }", "messages": { "cases": [ { "if": "{$now != $day AND trigger.output[[asset=base]] >= 10000}", "messages": [ { "app": "payment", "payload": { "asset": "base", "outputs": [ { "address": "{trigger.address}", "amount": "{var['trigger_pot'] + trigger.output[[asset=base]] - $opFee()}" } ] } }, { "app": "state", "state": "{ var['winner_'||$day] = $actualWinner(); var['amount_'||$day] = var['winner_pot']; var['user_bytes'] -= var['trigger_pot']; var['today'] = $now; var['winner_pot'] = 0; var['trigger_pot'] = 0; if(var['low_fee_mode'] AND ($aaBalance() - trigger.output[[asset=base]]) < 50000) var['low_fee_mode'] = false; else{ if(!var['low_fee_mode'] AND ($aaBalance() - trigger.output[[asset=base]]) > 1000000) var['low_fee_mode'] = true; } response['message'] = 'Winner ticket saved: '||var['winner_'||$day]; }" } ] }, { "init": "{ $date = $ticketDate(trigger.address); if($date){ if($date == $day) bounce('Address already registered'); $pay = $amountToClaim(trigger.address); } if(!$pay AND ((trigger.output[[asset=base]] % $ENTRY()) != 0)) bounce('Amount has to be multiple of '||$ENTRY()||' bytes. An address can buy tickets once a day.'); }", "messages": [ { "if": "{$pay}", "app": "payment", "payload": { "asset": "base", "outputs": [ { "address": "{trigger.address}", "amount": "{$pay + trigger.output[[asset=base]] - $opFee()}" } ] } }, { "app": "state", "state": "{ if($pay){ var['user_bytes'] -= var['amount_'||$date]; var['amount_'||$date] = false; var['winner_'||$date] = false; response['message'] = 'You won '||$date||' draw. Congratulations!'; } else{ var['user_bytes'] += trigger.output[[asset=base]]; $tickets = trigger.output[[asset=base]] / $ENTRY(); var[trigger.address] = $day||'_'||$ticketsSold()||'_'||($tickets + $ticketsSold()); $total_fee = $tickets * $TRIGGER_FEE(); var['winner_pot'] += trigger.output[[asset=base]] - $total_fee; var['trigger_pot'] += $total_fee; if(!var['today']) var['today'] = $now; response['message'] = 'You bought '||$tickets||'. If you trigger lottery calculation tomorrow you will win '||(($TRIGGER_FEE()/$ENTRY())*100)||'% of total pot'; response['winner pot'] = var['winner_pot']; response['trigger pot'] = var['trigger_pot']; } }" } ] } ] } } ]
Witnesses
2FF7PSL7FYXVU5UIQHCVDTTPUOOG75GX
2GPBEZTAXKWEXMWCTGZALIZDNWS5B3V7
4H2AMKF6YO2IWJ5MYWJS3N7Y2YU2T4Z5
DFVODTYGTS3ILVOQ5MFKJIERH6LGKELP
ERMF7V2RLCPABMX5AMNGUQBAH4CD5TK4
F4KHJUCLJKY4JV7M5F754LAJX4EB7M4N
IOF6PTBDTLSTBS5NWHUSD7I2NHK3BQ2T
O4K4QILG6VPGTYLRAI2RGYRFJZ7N2Q2O
OPNUXBRSSQQGHKQNEPD2GLWQYEUY5XLD
PA4QK46276MJJD5DBOLIBMYKNNXMUVDP
RJDYXC4YQ4AZKFYTJVCR5GQJF5J6KPRI
WELOXP3EOA75JWNO6S5ZJHOO3EYFKPIR
Technical information
Fees:
5,237
bytes
(353 headers, 4884 payload)
Level:
1365430
Witnessed level:
1365422
Last ball unit:
32b3KA10XzL7+Q3nmle7UVtx2uWWA+qZYdPQX177x6k=
Main chain index:
1359876
Latest included mc index:
1359875
Status:
stable/confirmed/final