[
"autonomous agent",
{
"init": "{\r
$nom_AA = 'Getons';\r
// Portal\r
//$_Portal = '5WVBJQHTEP54AEYUJGTQKWTXTXZSJQWA';\r
$_Portal = trigger.address; //Hauria de ser fix amb adr Portal original\r
if ( $_Portal != trigger.address ) bounce( 'Portal no reconegut' );\r
\r
// Arguments i dades rebudes\r
$args = trigger.data;\r
$adr__ = trigger.initial_address;\r
$idgeto = trigger.output[[ asset != base ]].asset;\r
$dades = $args.dades otherwise {};\r
\r
$__dada = $refval => {\r
data_feed[[ oracles = $args._Registre, feed_name = $refval, ifnone = false ]]\r
};\r
\r
// Abreviacions\r
$proces = $args.proces;\r
$operacio = $args.operacio;\r
$idprop = $args.idprop;\r
$nova_idprop = $args.nova_idprop;\r
$ref = $args.ref;\r
$val = $args.val;\r
\r
// Si no s'ha lliurat l'argument especificat bota l'accés\r
$__arg = $arg =>\r
$args[ $arg ] otherwise\r
bounce( "Cal proporcionar el valor de: " || $arg );\r
\r
$geto = $__arg( 'geto' );\r
\r
if ( $proces == 'nou_definidor_geto' ) {\r
$definidors_esmenables = \r
'taxa_conversio, derivacio, import_activacio, ' ||\r
'import_subscripcio, import_renovacio, ' ||\r
'cicles_diposit, _AUT_A, _AUT_B, _AUT_C';\r
\r
if ( $operacio == 'proposta' ) {\r
$refdef = $ref otherwise 'cap';\r
if ( ! contains( $definidors_esmenables, $refdef ) )\r
bounce( 'Definidor inexistent o no esmenable' );\r
\r
if ( $__dada( $geto || '_redefinible') < 1 )\r
bounce( "Els valors definidors d'aquest getó no són esmenables" );\r
\r
$dades[ $nova_idprop || '_geto' ] = $geto;\r
$dades[ $nova_idprop || '_ref' ] = $__arg( 'ref' );\r
$dades[ $nova_idprop || '_val' ] = $__arg( 'val' );\r
}\r
if ( $operacio == 'confirmacio' ) {\r
$refg = $__dada( $idprop || '_geto' );\r
$refval = $__dada( $idprop || '_ref' );\r
$dades[ $refg || '_' || $refval ] = $__dada( $idprop || '_val' );\r
}\r
if ( $operacio == 'drecera' ) {\r
$dades[ $geto || '_' || $__arg( 'ref' ) ] = $__arg( 'val' );\r
}\r
}\r
\r
if ( $proces == 'capacitacio' ) {\r
$accio_restringida =\r
$__dada( $geto || '_' || to_lower ( $__arg( 'accio' ) ) || 'ns_restringides') otherwise -1;\r
\r
if ( $accio_restringida < 1 )\r
bounce( 'Acció no restringible per a aquest getó' );\r
\r
$geto_capacitacio = $__dada( $idprop || '_geto' ) otherwise $geto;\r
$accio_capacitacio = $__dada( $idprop || '_accio' ) otherwise $__arg( 'accio' );\r
$adr_capacitacio = $__dada( $idprop || '_adr' ) otherwise $__arg( 'adr' );\r
$estat_capacitacio = $__dada( $idprop || '_estat' ) otherwise $__arg( 'estat' );\r
\r
if ( $operacio == 'proposta' ) {\r
$dades[ $nova_idprop || '_geto' ] = $geto_capacitacio;\r
$dades[ $nova_idprop || '_accio' ] = $accio_capacitacio;\r
$dades[ $nova_idprop || '_capacitada' ] = $adr_capacitacio;\r
$dades[ $nova_idprop || '_estat' ] = $estat_capacitacio;\r
}\r
if ( $operacio == 'confirmacio' OR $operacio == 'drecera' ) {\r
$ord_capacitacio = 'capacitacio_' || $args.ordinal_proces;\r
$ref_capacitacio = \r
$geto_capacitacio || '_' || $accio_capacitacio || '_' || $adr_capacitacio;\r
$dades[ $ref_capacitacio ] = $ord_capacitacio;\r
$dades[ $ord_capacitacio || '_estat' ] = $estat_capacitacio;\r
$dades[ 'ordinal_capacitacio' ] = $args.ordinal_proces;\r
}\r
}\r
\r
$registre = {};\r
$registre.dades = $dades;\r
}",
"messages": [
{
"app": "data",
"payload": "{ $registre || $args }"
},
{
"app": "payment",
"payload": {
"asset": "base",
"outputs": [
{
"address": "{ $args._Registre }",
"amount": "{ $__dada( 'Provisio' ) }"
}
]
}
},
{
"app": "state",
"state": "{\r
response[ 'proces' ] = $proces;\r
response[ 'operacio' ] = $operacio;\r
}"
}
]
}
]