Q3LHY2GH2H2CT62LODYNN7IXPUVHEBPN
[
"autonomous agent",
{
"init": "{
$nom_AA = 'Perfils';
$versio = '0.1';
$_AUT_000 = 'C4KIJSUWVM7BGWTLXKX3K4PNRXV7OY4W';
$adr__ = trigger.address;
$args = trigger.data;
$__bota = $txt => bounce ( $nom_AA || ' >>> ' || $txt );
if ( ! $args ) { $__bota( ": Cal proporcionar-ne els arguments" ); }
$idgeto = trigger.output[[ asset != base ]].asset;
}",
"messages": [
{
"app": "state",
"state": "{
// Si no s'ha lliurat l'argument especificat, s'atura
$__arg = $arg =>
$args[ $arg ] ?
$args[ $arg ] :
$__bota( "Cal proporcionar el valor de: " || $arg );
// Comprova si una adr consta com a autoritzada
$__autoritzada = ( $x ) => {
$aut = var[ '_AUT_' || $x || '_' || $idgeto ];
$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' ); }
$ref = $__arg( 'ref' );
$val = $__arg( 'val' );
if ( $ref == 'creacio' ) {
$id = $__arg( 'id' );
var[ 'geto_' || $id ] = {
id : $id,
_FOG : $__arg( '_FOG' ),
_AUT_A : $__arg( '_AUT_A' ),
factor_conversio : $__arg( 'factor_conversio' ),
import_activacio : $__arg( 'import_activacio' ),
import_subscripcio : $__arg( 'import_subscripcio' ),
import_renovacio : $__arg( 'import_renovacio' ),
taxa_conversio : $__arg( 'taxa_conversio' ),
derivacio_aFOG : $__arg( 'derivacio_aFOG' ),
activacions_restringides : $__arg( 'activacions_restringides' ),
subscripcions_restringides : $__arg( 'subscripcions_restringides' ),
recepcions_restringides : $__arg( 'recepcions_restringides' ),
conversions_restringides : $__arg( 'conversions_restringides' ),
valors_esmenables : $__arg( 'valors_esmenables' ),
llistats_editables : $__arg( 'llistats_editables' ),
bloqueig_possible : $__arg( 'bloqueig_possible' ),
};
response[ 'Desat el perfil del getó' ] = 'geto_' || $id;
} else {
$perfil = var[ 'geto_' || $idgeto ];
// _AUT_000 pot saltar-se la validació mentre no existeixi _AUT_0
$es_AUT_000 = $adr__ == $_AUT_000;
if ( ! $es_AUT_000 OR ( !! $es_AUT_000 AND !! $perfil._AUT_0 ) ) {
if ( $ref == 'confirmacio' ) {
$proposta = var[ $val ];
// La proposta ha d'existir
if ( ! $proposta )
{ $__bota( "No hi ha cap proposta amb aquesta id" ); }
// El valor actual i el de la proposta desada no han de coincir
if ( !! var[ $proposta.ref ] AND var[ $proposta.ref ] == $proposta.val )
{ $__bota( "El valor actual coincideix amb el de la proposta" ); }
// L'ordinal de la proposta ha de coincidir amb el de la darrera
$ordinal_proposta = var[ 'ordinal_proposta_' || $proposta.ref ];
if ( !! $ordinal_proposta AND $ordinal_proposta != $proposta.ordinal )
{ $__bota( "Ref incorrecta" ); }
// 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" ); }
$resta = timestamp - $proposta.temps;
$resp = ' Temps proposta: ' || $proposta.temps
|| ' Temps actual: ' || timestamp
|| ' Temps transcorregut: ' || $resta
|| ' Lapse mínim: ' || var[ 'Lapse' ] ;
response[ 'Temps' ] = $resp;
// La confirmació només es pot fer quan ha transcorregut el lapse especificat
if ( var[ 'Lapse' ] > timestamp - $proposta.temps )
{ $__bota( "Encara no es pot confirmar la proposta" || $resp ); }
// La proposta ha de constar com a validada a _Validacions
if ( ! var[ $__arg( '_Validacions' ) ][ $val ] )
{ $__bota( "La proposta encara no ha estat validada" ); }
// Desa en el perfil del getó el param funcional amb la ref i el val de la proposta
$perfil[ $proposta.ref ] = $proposta.val;
response[ 'proposta' ] = $ref;
response[ 'nova ref' ] = $proposta.ref;
response[ 'nou val' ] = $proposta.val;
} else {
// El valor actual i el proporcionat no han de coincidir
if ( !! $perfil[ $ref ] AND $perfil[ $ref ] == $val )
{ $__bota( "El valor proposat coincideix amb l'actual" ); }
// El valor proporcionat no ha de coincidir amb el de la darrera proposta
$ord_darrera_prop = var[ 'ordinal_proposta_' || $ref || '_' || $idgeto ];
$darrera_prop = var[ 'proposta_' || $ref || '_' || $ord_darrera_prop || '_' || $idgeto ];
if ( !! $darrera_prop AND $darrera_prop.val == $val )
{ $__bota( "El valor proposat coincideix amb el de la darrera proposta" ); }
$ref_ordinal = 'ordinal_proposta_' || $ref || '_' || $idgeto;
$ordinal = var[ $ref_ordinal ];
$nou_ordinal = ! $ordinal ? 1 : $ordinal + 1;
var[ $ref_ordinal ] = $nou_ordinal;
$id_proposta = 'proposta_' || $ref || '_' || $nou_ordinal || '_' || $idgeto;
var[ $id_proposta ] =
{
ref: $ref,
val: $val,
ordinal: $nou_ordinal,
proposant: $adr__,
temps: timestamp,
};
response[ 'proposta' ] = $id_proposta;
response[ 'nova ref' ] = $ref;
response[ 'nou val' ] = $val;
response[ 'data proposta' ] = timestamp_to_string( timestamp );
response[ 'data inici periode confirmació'] =
timestamp_to_string( timestamp + var[ 'Lapse' ] );
}
} else {
$perfil[ $ref ] = $val;
response[ 'nova ref' ] = $ref;
response[ 'nou val' ] = $val;
}
}
}"
}
]
}
]
Show transactions in assets:
No transactions found, it may be worth changing the filter
Unit ID
Date
From
Direction
To
Amount