RJ5SX5WK4WJALU7TBMVWJ6QB6OSBZWZU
[
"autonomous agent",
{
"init": "{
$nom_AA = 'Portal';
$versio = '0.1.2';
$_AUT_000 = 'C4KIJSUWVM7BGWTLXKX3K4PNRXV7OY4W';
$adr__ = trigger.address;
$args = trigger.data;
$idgeto = trigger.output[[ asset != base ]].asset;
$qt = trigger.output[[ asset = $args.geto ]];
$generics = var[ 'Generics' ];
$propostes = var[ 'Propostes' ];
$validacions = var[ 'Validacions' ];
$ordinals = var[ 'Ordinals' ];
$getons = var[ 'Getons' ];
$alteracions = var[ 'Alteracions' ];
$geto = $getons[ $args.id_geto ];
// Autoritzacions
$_actuant_es_AUT_000 = $adr__ == $_AUT_000;
$_actuant_es_AUT =
$_actuant_es_AUT_000 AND ! $generics._AUT_0
OR $adr__ == $generics._AUT_A
OR $adr__ == $generics._AUT_0
OR $adr__ == $generics._AUT_B
OR $adr__ == $generics._AUT_C;
$_actuant_es_AUT_geto =
$_actuant_es_AUT AND ! $geto.variables._AUT_0
OR $adr__ == $geto.constants._AUT_A
OR $adr__ == $geto.variables._AUT_0
OR $adr__ == $geto.variables._AUT_B
OR $adr__ == $geto.variables._AUT_C;
// Funcions
$__bota = $txt => bounce ( $nom_AA || ' >>> ' || $txt );
$__ordinal = $rf => $ordinals[ $rf ] ? $ordinals[ $rf ] + 1 : 1;
$__idprop = $rf => {
$ordinals[ $rf ] = $__ordinal( $rf );
$rf || '_' || $ordinals[ $rf ]
};
$__data_confirmacio = () => timestamp_to_string( timestamp + $generics.Lapse );
// Funció: Retorna valor argument lliurat si el troba. Altrament, s'atura
$__arg = $arg =>
$args[ $arg ] otherwise
$__bota( "Cal proporcionar el valor de: " || $arg );
// Admin
if ( $args.admin ) {
// Bloc Autoritzacions
if ( $args.admin_geto ) {
// El getó ha d'existir i constar com a actiu
if ( ! $geto OR $geto.estat != 'actiu' )
{ $__bota( 'Getó inexistent o inactiu' ); }
if ( ! $_actuant_es_AUT_geto )
{ $__bota( 'No autoritzada' ); }
} else {
if ( ! $_actuant_es_AUT )
{ $__bota( 'No autoritzada' ); }
}
// Bloc Validació
// _AUT_000 pot saltar-se procés validació mentre no existeixi _AUT_0
if ( ! $_actuant_es_AUT_000
OR ( $_actuant_es_AUT_000 AND $generics._AUT_0 )
OR ( $_actuant_es_AUT_000 AND $geto.variables._AUT_0 )
) {
if ( $args.tasca == 'confirmacio' ) {
$proposta = $propostes[ $args.idprop ];
// La proposta ha d'existir
if ( ! $proposta )
{ $__bota( "No hi ha cap proposta amb aquesta ref" ); }
// La confirmació l'ha de fer una AUT diferent a la proposant
if ( $proposta.proposant == $adr__ )
{ $__bota( "El procés de confirmació l'ha d'endegar una altra AUT" ); }
// La confirmació només es pot fer quan ha transcorregut el lapse especificat
if ( $generics.Lapse > timestamp - $proposta.temps )
{ $__bota( "Encara no es pot confirmar la proposta" ); }
// La proposta ha de constar com a validada
if ( ! $validacions[ $args.idprop ] )
{ $__bota( "La proposta encara no ha estat validada" ); }
$tasca = 'confirmacio';
} else {
$ref = $__arg( 'ref' );
$val = $__arg( 'val' );
// El valor proporcionat no ha de coincidir amb el de la darrera proposta
$sufix = $args.admin_geto ? '_' || $args.id_geto : '';
$ordinal = $ordinals[ $ref || $sufix ];
$darrera_prop = $propostes[ $ref || '_' || $ordinal || $sufix ];
if ( $darrera_prop AND $darrera_prop.val == $val )
{ $__bota( "El valor proposat coincideix amb el de la darrera proposta" ); }
$tasca = 'proposta';
}
} else {
$ref = $__arg( 'ref' );
$val = $__arg( 'val' );
$tasca = 'drecera'; }
}
}",
"messages": {
"cases": [
{
"if": "{ $args.proces == 'acces' }",
"init": "{
$args._Portal = this_address;
$args._FOP = $generics._FOP;
$args._Estels = $generics._Estels;
$args.geto = $idgeto;
$args.qt = $qt;
}",
"messages": [
{
"app": "data",
"payload": "{ $idgeto }"
},
{
"app": "payment",
"payload": {
"asset": "{ 'base' }",
"outputs": [
{
"address": "{ $generics._Acces }",
"amount": "{ $args.qt }"
}
]
}
}
]
}
]
}
}
]
Show transactions in assets:
No transactions found, it may be worth changing the filter
Unit ID
Date
From
Direction
To
Amount