[
"autonomous agent",
{
"init": "{
$nom_AA = 'Validacions';
$versio = '0.1';
$_AUT_000 = 'C4KIJSUWVM7BGWTLXKX3K4PNRXV7OY4W';
$adr__ = trigger.address;
$args = trigger.data;
$__bota = $txt => bounce ( $nom_AA || ' >>> ' || $txt );
// Comprova si una adr consta com a autoritzada
$__autoritzada = ( $x ) => {
$aut = var[ $args._Portal ][ '_AUT_' || $x ];
$aut AND $aut == $adr__
};
// Comprova si la adr__ actuant consta com a autoritzada
if ( $adr__ != $_AUT_000
AND ! $__autoritzada( '0' )
AND ! $__autoritzada( 'A' )
AND ! $__autoritzada( 'B' )
AND ! $__autoritzada( 'C' )
) { $__bota( 'No autoritzada' ); }
// La proposta ja ha estat validada
if ( !! var[ $args.id ] )
{ $__bota( 'Ja validada' ); }
// La proposta existeix
$proposta = var[ $args._Portal ][ $args.id ];
if ( ! $proposta )
{ $__bota( 'No hi ha cap proposta amb aquesta id' ); }
// _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' ] ) ) {
// El procés de confirmació l'ha d'endegar una AUT diferent a la proposant
if ( $proposta.proposant == $adr__ )
{ $__bota( 'El procés de confirmació ha de ser endegat per una altra AUT' ); }
// La confirmació només es pot fer si compte amb el suport d'un nombre
// mínim d'ids isox avaluadores d'entre les escollides aleatòriament
// La confirmació només es pot fer si compte amb el suport d'un nombre
// mínim d'entitats suportants d'entre les escollides aleatòriament
//... altres requeriments
}
}",
"messages": [
{
"app": "state",
"state": "{
var[ $args.id ] = timestamp;
response[ 'Ref proposta validada' ] = $args.id;
}"
}
]
}
]