Unit ID
WY3jFhWrQmLzs2OuciIMdQmmNskfh6qPcfN2ZpjfV6k=
Received
13.02.2023 11:28:00
Confirmation delay (full node)
3 minutes 53 seconds
Confirmation delay (light node)
6 minutes 37 seconds
Messages
Definition
Definition: [ "autonomous agent", { "init": "{ $_Registre = 'HISFJTKAHZFFDDMG4KW3YLLS2MW2HJOD'; $adr__ = trigger.initial_address; $args = trigger.data; $unitat = trigger.output[[ asset != base ]].asset; // Retorna una dada del Registre $__dada = $refdada => data_feed [[ oracles = $_Registre, feed_name = $refdada, ifnone = 0 ]]; $sentit = $args.sentit otherwise 'provisio'; // Si no se li proporciona l'argument sentit és una provisió if ( !! $sentit ) { $id_unitat = $unitat == 'none' ? 'base' : $unitat; $unitat_entrada = $id_unitat == 'base' ? 'Bytes' : $id_unitat == $__dada( 'Estels' ) ? 'Estels' : $__dada( 'geto_' || $id_unitat ); // Si es tracta de la dotació inicial no cal el control d'accés $dotacio_inicial_feta = var[ 'dotacio_' || $unitat_entrada ]; $es_dotacio_inicial = ! $dotacio_inicial_feta AND $sentit == 'entrada' AND ( $unitat_entrada == 'Bytes' OR $unitat_entrada == 'Estels' ); if ( ! $es_dotacio_inicial AND $__dada( '_Portal' ) != trigger.address AND $__dada( '_Accions' ) != trigger.address ) bounce( 'Accés interdit' ); $total_entrades = $__dada( 'total_entrades_' || $unitat_entrada ); $unitat_sortida = $args.unitat_sortida; $total_sortides = $__dada( 'total_sortides_' || $unitat_sortida ); $registre = {}; $dades = {}; if ( $sentit == 'entrada' OR $sentit == 'ambdos' ) { $qt_entrada = trigger.output[[ asset = $id_unitat ]]; $nou_total_entrades = $total_entrades + $qt_entrada; $ord_entrada = $__dada( 'ordinal_entrada' ) + 1; $ref_entrada = 'entrada_' || $ord_entrada; $dades[ $ref_entrada || '_data' ] = timestamp; $dades[ $ref_entrada || '_qt' ] = $qt_entrada; $dades[ $ref_entrada || '_emissora' ] = $args.emissora otherwise $adr__; $dades[ $ref_entrada || '_unitat' ] = $unitat_entrada; $dades[ 'total_entrades_' || $unitat_entrada ] = $nou_total_entrades; $dades[ 'ordinal_entrada' ] = $ord_entrada; } if ( $sentit == 'sortida' OR $sentit == 'ambdos' ) { $qt_sortida = $args.qt; $rebedora = $args.rebedora; $ord_sortida = $__dada( 'ordinal_sortida' ) + 1; $ref_sortida = 'sortida_' || $ord_sortida; $nou_total_sortides = $total_sortides + $qt_sortida; $dades[ $ref_sortida || '_data' ] = timestamp; $dades[ $ref_sortida || '_qt' ] = $qt_sortida; $dades[ $ref_sortida || '_actuant' ] = $adr__; $dades[ $ref_sortida || '_rebedora' ] = $rebedora; $dades[ $ref_sortida || '_unitat' ] = $unitat_sortida; $dades[ 'total_sortides_' || $unitat_sortida ] = $nou_total_sortides; $dades[ 'ordinal_sortida' ] = $ord_sortida; } $registre.dades = $dades; } }", "messages": [ { "if": "{ $sentit != 'provisio' }", "app": "data", "payload": "{ $registre }" }, { "if": "{ $sentit == 'entrada' OR ( !! $qt_sortida AND $unitat_sortida != 'Bytes' ) }", "app": "payment", "payload": { "asset": "base", "outputs": [ { "address": "{ $_Registre }", "amount": "{ $__dada( 'Provisio' ) }" } ] } }, { "if": "{ !! $qt_sortida AND $unitat_sortida == 'Bytes' }", "app": "payment", "payload": { "asset": "base", "outputs": [ { "address": "{ $rebedora }", "amount": "{ $qt_sortida }" }, { "address": "{ $_Registre }", "amount": "{ $__dada( 'Provisio' ) }" } ] } }, { "if": "{ !! $qt_sortida AND $unitat_sortida != 'Bytes' }", "app": "payment", "payload": { "asset": "{ $args.id_unitat_sortida }", "outputs": [ { "address": "{ $rebedora }", "amount": "{ $qt_sortida }" } ] } }, { "app": "state", "state": "{ if ( $sentit == 'entrada' OR $sentit == 'ambdos' ) { response[ $ref_entrada ] = $qt_entrada || ' ' || $unitat_entrada || ' de ' || $adr__; response[ 'Total entrades en ' || $unitat_entrada ] = $nou_total_entrades; if( $unitat_entrada == 'Bytes' ) response[ 'Total entrades en MBytes' ] = round ( $nou_total_entrades / 1e6 ); } if ( $sentit == 'sortida' OR $sentit == 'ambdos' ) { response[ $ref_sortida ] = $qt_sortida || ' ' || $unitat_sortida || ' a ' || $rebedora; response[ 'Total sortides en ' || $unitat_sortida ] = $nou_total_sortides; } if ( $es_dotacio_inicial ) var[ 'dotacio_' || $unitat_entrada ] = true; if ( $sentit == 'provisio' ) var[ 'provisio rebuda' ] = trigger.output[[ asset = $unitat ]]; }" } ] } ]
Technical information
Fees:
5,609 bytes
(452 headers, 5157 payload)
Level:2988056
Witnessed level:2988049
Main chain index:2963051
Latest included mc index:2963050
Status:stable/confirmed/final