Unit ID
lc0WPedj5CJR74cb3vvCPb01aUp6Qv682BiQhILO+hg=
Received
29.10.2022 14:52:11
Confirmation delay (full node)
3 minutes 55 seconds
Confirmation delay (light node)
7 minutes 14 seconds
Messages
Definition
Definition: [ "autonomous agent", { "init": "{ $_Registre = 'GQONBV53I6ESRIOFIDPXANNUM64F47O3'; // Principals $args = trigger.data; $adr__ = trigger.initial_address; $idprop = $args.idprop; $dades = $args.dades otherwise {}; // Funcions // Retorna el valor d'una entrada del _Registre $__dada = $refdada => data_feed [[ oracles = $_Registre, feed_name = $refdada, ifnone = 0 ]]; // Obté valor argument requesta especificat o rebota $__arg = $arg => $args[ $arg ] otherwise bounce( "Cal proporcionar el valor de: " || $arg ); // Comprovacions if ( $__dada( '_Portal' ) != trigger.address ) bounce( 'Portal no reconegut' ); if ( ! $__dada( $idprop ) ) bounce( 'No hi ha cap proposta amb aquesta id' ); // Tractament proposta encara pendent if ( !! $__dada( 'validacio_' || $idprop ) OR !! $__dada( 'refus_' || $idprop ) ) bounce( 'La decisió sobre aquesta proposta ja ha estat presa' ); // 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 || '_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 || '_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 = 'isox'; if ( !! $_delegada_convocada[0] ) $grup = 'delegs'; $ref_decisio_grup = $idprop || '_' || $grup; $ref_decisio = $ref_decisio_grup || '_' || $adr__; if ( !! $__dada( $ref_decisio ) ) bounce( "Ja hi consta un pronunciament d'aquesta adreça per a aquesta proposta" ); // Deliberació en curs $decisio_grup = $__dada( $ref_decisio_grup ); if ( !! $decisio_grup ) bounce( 'La decisió del grup ' || $grup || ' ja ha estat presa: ' || $decisio_grup ); if ( $__arg( 'pronunciament' ) == 'refusada' ) { $dades[ $ref_decisio ] = 'refusada'; $dades[ $ref_decisio_grup ] = '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[ $ref_decisio ] = 'aprovada'; $dades[ $ref_nombre_aprovacions ] = $nombre_aprovacions + 1; $nombre_aprovacions_minim = $__dada( 'Nombre_Aprovacions' ); if ( $nombre_aprovacions_minim == $nombre_aprovacions + 1 ) { $dades[ $ref_decisio_grup ] = 'aprovada'; $alter_grup = $grup == 'isox' ? 'delegs' : 'isox'; $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[ $ref_decisio_grup ] 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,103 bytes
(452 headers, 4651 payload)
Level:2882574
Witnessed level:2882566
Main chain index:2858294
Latest included mc index:2858293
Status:stable/confirmed/final