Unit ID
drVfVOcHKQZgLhIEUw0KfpydCyf87pqQyBpDmpBu4vo=
Received
29.03.2021 20:06:31
Confirmation delay (full node)
8 minutes 3 seconds
Confirmation delay (light node)
10 minutes 19 seconds
Messages
Definition
Definition: [ "autonomous agent", { "init": "{\r $nom_AA = 'Validadores';\r \r // Portal\r //$_Portal = '5WVBJQHTEP54AEYUJGTQKWTXTXZSJQWA';\r $_Portal = trigger.address; // * només x tests\r if ( $_Portal != trigger.address ) bounce ( 'Portal no reconegut' );\r \r $args = trigger.data;\r $adr__ = trigger.initial_address;\r $proces = $args.proces;\r $dades = $args.dades otherwise {};\r \r $__dada = $refval => {\r data_feed[[ oracles = $args._Registre, feed_name = $refval, ifnone = false ]]\r };\r \r // Retorna ordinal\r $__ordinal = $rf => {\r $ord = $__dada( 'ordinal_' || $rf );\r $ord ? $ord + 1 : 1\r };\r \r $_actuant_es_isox =\r !! $__dada( 'isox_000' ) == $adr__ OR\r ( !! $__dada( 'isox_' || $adr__ ) AND\r $__dada( 'isox_' || $adr__ || '_estat' ) == 'habilitat' );\r \r if ( ! $_actuant_es_isox ) bounce ( 'No autoritzada' );\r \r $baules_isox = $__dada( 'isox_' || $adr__ || '_baules' );\r if ( $baules_isox > ( $__dada( 'mitjana_baules' ) * 2 ) )\r bounce ( 'No autoritzada per massa baules' );\r \r \r // Admin isox\r if ( $proces == 'nou_isox' ) {\r $ord_aval =\r $__dada( 'isox_' || $adr__ || '_aval_2' ) ? 2 :\r $__dada( 'isox_' || $adr__ || '_aval_1' ) ? 1 :\r 0;\r \r if ( $ord_aval == 2 ) bounce ( "Ja n'has avalat a 2" );\r \r if ( !! $__dada( 'isox_' || $args.adr ) )\r bounce ( 'Ja hi consta una isox amb aquesta adreça' );\r \r $_aspirant = $__dada( 'aspirant_' || $args.adr );\r \r if ( $adr__ == $__dada( 'isox_000' ) ) {\r $proposant = 'isox_000';\r $confirmant = 'isox_000';\r $mitjana_baules = 1;\r } else\r if ( !! $_aspirant ) {\r if ( $_aspirant == $adr__ )\r bounce ( "Els dos avals han de provenir d'adreces diferents" );\r \r $proposant = $__dada( 'aspirant_' || $args.adr || '_proposant' );\r $baules_proposant = $__dada( 'isox_' || $proposant || '_baules' );\r $baules = round( ( $baules_proposant + $baules_isox ) / 2 );\r $ord_isox = $__ordinal( 'isox' );\r \r $mitjana_baules =\r ( $__dada( 'mitjana_baules' ) + $baules ) / $ord_isox;\r $confirmant = $adr__;\r $dades[ 'isox_' || $adr__ || '_aval_' || $ord_aval ] = $args.adr;\r } else {\r $dades[ 'aspirant_' || $args.adr ] = timestamp;\r $dades[ 'aspirant_' || $args.adr || '_proposant' ] = $adr__;\r $dades[ 'isox_' || $adr__ || '_aval_' || $ord_aval ] = $args.adr;\r }\r \r if ( !! $mitjana_baules ) {\r $dades[ 'isox_' || $ord_isox ] = $args.adr;\r $dades[ 'isox_' || $args.adr || '_proposant' ] = $proposant;\r $dades[ 'isox_' || $args.adr || '_confirmant' ] = $adr__;\r $dades[ 'isox_' || $args.adr || '_data' ] = timestamp;\r $dades[ 'isox_' || $args.adr || '_estat' ] = 'habilitat';\r $dades[ 'isox_' || $args.adr || '_mitjana_baules' ] = $mitjana_baules;\r }\r }\r \r if ( $proces == 'nou_estat_isox' ) {\r if ( ! $__dada( 'isox_' || $args.adr ) )\r bounce ( 'No hi consta cap isox amb aquesta adreça' );\r \r $dades[ 'isox_' || $args.adr || '_estat' ] = $args.estat;\r }\r \r // Admin delegacions\r if ( $proces == 'nova_delegacio' OR $proces == 'final_delegacio' ) {\r $_entitat = $__dada( 'entitat_' || $args.ord_entitat );\r $semiref_delegada = 'entitat_' || $_entitat || '_delegada_';\r \r if ( ! $_entitat ) bounce ( 'Entitat inexistent');\r \r if ( $_entitat != $adr__ )\r bounce ( "L'adreça actuant no és la de l'entitat" );\r \r $ords = [ "1", "2", "3", "4", "5" ];\r \r $ord_delegada_trobada = [];\r $__troba_delegada = $o => {\r if (\r $__dada( $semiref_delegada || $o ) == $args.adr AND\r ! $ord_delegada_trobada[0]\r )\r $ord_delegada_trobada[0] = $o;\r };\r \r $troba_delegada = map( $ords, 5, $__troba_delegada );\r \r if ( $proces == 'nova_delegacio' ) {\r if ( !! $ord_delegada_trobada[0] )\r bounce ( 'Ja hi consta una delegada amb aquesta adreça' );\r \r $lloc_trobat = [];\r $__troba_lloc_lliure = $o => {\r if (\r ! $__dada( $semiref_delegada || $o ) AND\r ! $lloc_trobat[0]\r )\r $dades[ $semiref_delegada || $o ] = $args.adr;\r $lloc_trobat[0] = true;\r };\r \r $troba_lloc_lliure = map( $ords, 5, $__troba_lloc_lliure );\r \r if ( ! $lloc_trobat[0] )\r bounce( 'Ja hi consten 5 delegacions habilitades' );\r }\r \r if ( $proces == 'final_delegacio' ) {\r if ( ! $ord_delegada_trobada[0] )\r bounce ( 'No hi consta cap delegada amb aquesta adreça' );\r \r $dades[ $semiref_delegada || $ord_delegada_trobada[0] ] = '';\r }\r }\r }", "messages": [ { "app": "data", "payload": "{ $dades }" }, { "app": "payment", "payload": { "asset": "base", "outputs": [ { "address": "{ $args._Registre }", "amount": "{ $__dada( 'Provisio' ) }" } ] } }, { "app": "state", "state": "{\r response[ 'procés' ] = $proces;\r if ( $proces == 'nou_isox' ) {\r response[ 'Proposant' ] = $proposant;\r if ( !! $_aspirant ) {\r response[ 'Isox_' || $ord_isox ] = $args.adr;\r response[ 'Confirmant' ] = $adr__;\r response[ 'Estat' ] = 'habilitat';\r response[ 'Mitjana_baules' ] = $mitjana_baules;\r }\r response[ 'Nombre avals de ' || $adr__ ] = $ord_aval;\r }\r \r if ( $proces == 'nou_estat_isox' )\r response[ 'Nou estat isox_' || $args.adr ] = $args.estat;\r \r if ( $proces == 'nova_delegacio' )\r response[ 'Nova delegació' ] = \r 'entitat_' || $adr__ || '_delegada_' || $lloc_trobat[0];\r \r if ( $proces == 'final_delegacio' )\r response[ 'Final delegació' ] =\r 'entitat_' || $adr__ || '_delegada_' || $ord_delegada_trobada[0];\r }" } ] } ]
Technical information
Fees:
6,298 bytes
(452 headers, 5846 payload)
Level:1944390
Witnessed level:1944383
Main chain index:1936426
Latest included mc index:1936424
Status:stable/confirmed/final