Unit ID
9fk7Sv7kwtZySHa95HegPsAX32KU+oKmsSc0QMIa2RM=
Received
01.12.2020 10:18:37
Confirmation delay (full node)
6 minutes 41 seconds
Confirmation delay (light node)
10 minutes 33 seconds
Messages
Definition
Definition: [ "autonomous agent", { "init": "{ $nom_AA = 'Portal'; $versio = '0.6'; $_AUT_000 = 'C4KIJSUWVM7BGWTLXKX3K4PNRXV7OY4W'; $adr__ = trigger.address; $args = trigger.data; // Funcions auxiliars $__bota = $txt => bounce ( $nom_AA || ' >>> ' || $txt ); // Si no s'ha lliurat l'argument especificat bota l'accés $__arg = $arg => $args[ $arg ] ? $args[ $arg ] : $__bota( 'Cal proporcionar el valor de: ' || $arg ); $__autoritzada = ( $x ) => { $aut = var[ '_AUT_' || $x ]; $aut AND $aut == $adr__ }; if ( ! $args ) { $__bota( ': Cal proporcionar-ne els arguments' ); } $args._Portal = this_address; $args._FOP = var[ '_FOP' ]; $args._Estels = var[ '_Estels' ]; $args.geto = trigger.output[[ asset != base ]].asset; $args.qt = trigger.output[[ asset = $args.geto ]]; if ( !! $args.admin ) { $_a = $__arg( 'ref' ); $_b = $__arg( 'val' ); if ( $adr__ != $_AUT_000 AND ! $__autoritzada( '0' ) AND ! $__autoritzada( 'A' ) AND ! $__autoritzada( 'B' ) AND ! $__autoritzada( 'C' ) ) { $__bota( 'No autoritzada' ); } // _AUT_000 pot saltar-se el tràmit mentre no existeixi _AUT_0 $es_AUT_000 = $adr__ == $_AUT_000; if ( ! $es_AUT_000 OR ( !! $es_AUT_000 AND !! var[ '_AUT_0' ] ) ) { // Es tracta com a confirmació si s'hi proporciona la ref de la proposta if ( $args.ref == 'ref_proposta' ) { $proposta = var[ $args.val ]; // L'ordinal de la proposta ha de coincidir amb el del darrer if ( $proposta.ordinal != var[ 'prop_' || $proposta.ref ] ) { $__bota( 'Ref incorrecta' ); } // La confirmació l'ha de fer una AUT diferent a la proposant if ( $proposta.proposant == $adr__ ) { $__bota( 'Ja hi consta la teva proposta' ); } // La confirmació només es pot fer quan ha transcorregut el lapse especificat if ( timestamp - $proposta.temps > var[ 'Lapse' ] ) { $__bota( 'Encara no es pot confirmar la proposta' ); } // La proposta ha de constar com a validada a _Validacions if ( ! var[ $args._Validacions ][ $args.val ] ) { $__bota( 'Encara no ha estat validada' ); } $acc = 'confirmacio'; } else { $acc = 'proposta'; } } else { $acc = 'confirmacio'; } } else { $acc = 'acces'; } }", "messages": [ { "app": "data", "payload": "{ $args }" }, { "if": "{ ! $args.admin }", "app": "payment", "payload": { "asset": "{ $args.geto }", "outputs": [ { "address": "{ var[ '_Acces' ] }", "amount": "{ $args.qt }" } ] } }, { "if": "{ !! $args.admin }", "app": "state", "state": "{ if ( $acc == 'confirmacio' ) { var[ $args.ref ] = $args.val; response[ 'ref' ] = $args.ref; response[ 'val' ] = $args.val; } if ( $acc == 'proposta' ) { $ref_ordinal = 'prop_' || $args.ref; if ( ! var[ $ref_ordinal ] ) { $ordinal = 1; } else { $ordinal = var[ $ref_ordinal ] + 1; } var[ $ref_ordinal ] = $ordinal; $id_proposta = 'proposta_' || $args.ref || '_' || $ordinal; var[ $id_proposta ] = { ref: $args.ref, val: $args.val, ordinal: $ordinal, proposant: $adr__, temps: timestamp, }; response[ 'proposta' ] = $id_proposta; response[ 'proposta ref' ] = $args.ref; response[ 'proposta val' ] = $args.val; response[ 'timestamp' ] = timestamp; response[ 'lapse' ] = var[ 'Lapse' ]; response[ 'suma' ] = timestamp + var[ 'Lapse' ]; response[ 'data' ] = timestamp_to_string( timestamp + var[ 'Lapse' ] ); response[ 'data per a la confirmació'] = timestamp_to_string( timestamp + var[ 'Lapse' ] ); } response[ 'acc' ] = $acc; }" } ] } ]
Technical information
Fees:
4,380 bytes
(452 headers, 3928 payload)
Level:1783506
Witnessed level:1783499
Main chain index:1775716
Latest included mc index:1775715
Status:stable/confirmed/final