Unit ID
fzND8rH7dZyDt/TwdiPplEMUwpTb3IzDY412QbVPXJM=
Received
25.05.2021 09:05:45
Confirmation delay (full node)
2 minutes 45 seconds
Confirmation delay (light node)
5 minutes 32 seconds
Messages
Definition
Definition: [ "autonomous agent", { "init": "{ $nom_AA = 'Pronunciaments'; // Portal //$_Portal = '5WVBJQHTEP54AEYUJGTQKWTXTXZSJQWA'; $_Portal = trigger.address; // * només x tests if ( $_Portal != trigger.address ) bounce ( 'Portal no reconegut' ); // Principals $args = trigger.data; $adr__ = trigger.initial_address; $idprop = $args.idprop; $dades = $args.dades otherwise {}; // Funcions $__dada = $refval => data_feed[[ oracles = $args._Registre, feed_name = $refval, ifnone = '' ]]; $__arg = $arg => $args[ $arg ] otherwise bounce ( "Cal proporcionar el valor de: " || $arg ); // Comprovacions // Tractament proposta encara pendent if ( !! $__dada( 'validacio_' || $idprop ) OR !! $__dada( 'refus_' || $idprop ) ) bounce( 'La decisió sobre aquesta proposta ja ha estat presa' ); if ( ! $__dada( $idprop ) ) bounce( 'No hi ha cap proposta amb aquesta id' ); // Processos $convocatoria = $__dada( 'convocatoria_' || $idprop ); $convocs_i = [ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12 ]; $convocs_d = [ 1, 2, 3, 4, 5, 6 ]; // La convocatoria ha d'existir if ( ! $convocatoria ) bounce( 'No hi ha cap convocatoria amb aquesta id' ); $_isox_convocada = []; $semiref_isox = 'convocatoria_' || $idprop || '_validadora_isox_'; $__troba_convocatoria_isox = $o => { $adr_convo = $__dada( $semiref_isox || $o ) otherwise ''; if ( $adr_convo == $adr__ ) $_isox_convocada[0] = $o; }; foreach( $convocs_i, 12, $__troba_convocatoria_isox ); $_delegada_convocada = []; $semiref_delegada = 'convocatoria_' || $idprop || '_validadora_delegada_'; $__troba_convocatoria_delegada = $o => { $adr_convo = $__dada( $semiref_delegada || $o ) otherwise ''; if ( $adr_convo == $adr__ ) $_delegada_convocada[0] = $o; }; foreach( $convocs_d, 6, $__troba_convocatoria_delegada ); // adr__ actuant ha estat convocada //if ( ! $_isox_convocada[0] ) // per als TESTs if ( ! $_isox_convocada[0] AND ! $_delegada_convocada[0] ) bounce( 'Adreça no convocada' ); if ( !! $_isox_convocada[0] ) $grup = 'ISX'; if ( !! $_delegada_convocada[0] ) $grup = 'DLG'; $secc_ref_decisio = $idprop || '_' || $grup; if ( !! $__dada( $secc_ref_decisio || '_' || $adr__ ) ) bounce( "Ja hi consta una decisió d'aquesta adreça per a aquesta proposta" ); // Deliberació en curs $decisio_grup = $__dada( $secc_ref_decisio ); if ( !! $decisio_grup ) bounce( 'Decisió del grup ' || $grup || ' ja pronunciada: ' || $decisio_grup ); if ( $__arg( 'pronunciament' ) == 'refusada' ) { $dades[ $secc_ref_decisio || '_' || $adr__ ] = 'refusada'; $dades[ $secc_ref_decisio ] = 'refusada'; $dades[ 'refus_' || $idprop ] = timestamp; $dades[ 'refus_' || $idprop || '_grup' ] = $grup; } if ( $__arg( 'pronunciament' ) == 'aprovada' ) { $ref_nombre_aprovacions = 'nombre_aprovacions_' || $grup || '_' || $idprop; $nombre_aprovacions = $__dada( $ref_nombre_aprovacions ) otherwise 0; $dades[ $secc_ref_decisio || '_' || $adr__ ] = 'aprovada'; $dades[ $ref_nombre_aprovacions ] = $nombre_aprovacions + 1; //$nombre_aprovacions_minim = $__dada( 'Nombre_Aprovacions' ); $nombre_aprovacions_minim = 3; // Temporalment, per als TESTS!!! if ( $nombre_aprovacions_minim == $nombre_aprovacions + 1 ) { $dades[ $secc_ref_decisio ] = 'aprovada'; $alter_grup = $grup == 'ISX' ? 'DLG' : 'ISX'; $decisio_altre_grup = $__dada( $idprop || '_' || $alter_grup ) otherwise ''; if ( $decisio_altre_grup == 'aprovada' ) $dades[ 'validacio_' || $idprop ] = timestamp; } } $registre = {}; $registre.dades = $dades; }", "messages": [ { "app": "data", "payload": "{ $registre }" }, { "app": "payment", "payload": { "asset": "base", "outputs": [ { "address": "{ $args._Registre }", "amount": "{ $__dada( 'Provisio' ) }" } ] } }, { "app": "state", "state": "{ response[ 'Procés' ] = $args.proces; response[ 'Proposta' ] = $idprop; response[ 'Validació' ] = $__arg( 'pronunciament' ) || ' per ' || $adr__; $decisio_presa = $dades[ $secc_ref_decisio ] otherwise ''; if ( $decisio_presa != '' ) response[ 'Validació' ] = $decisio_presa || ' per grup ' || $grup; if ( !! $dades[ 'validacio_' || $idprop ] ) response[ 'Validació' ] = 'aprovada'; if ( !! $dades[ 'refus_' || $idprop ] ) response[ 'Validació' ] = 'refusada'; }" } ] } ]
Technical information
Fees:
5,932 bytes
(452 headers, 5480 payload)
Level:2016370
Witnessed level:2016362
Main chain index:2008381
Latest included mc index:2008380
Status:stable/confirmed/final