Definition: [
"autonomous agent",
{
"init": "{
$nom_AA = 'Implementacions';
//$_Registre = '5WVBJQHTEP54AEYUJGTQKWTXTXZSJQWA';
$_Registre = trigger.data._Registre; // * només x tests
// Retorna una dada del Registre
$__dada = $refdada =>
data_feed[[ oracles = $_Registre, feed_name = $refdada, ifnone = '' ]];
//$_Portal = $__dada( '_Portal' );
$_Portal = trigger.address; // * només x tests
if ( $_Portal != trigger.address ) bounce( 'Portal no reconegut' );
$adr__ = trigger.initial_address;
$args = trigger.data;
$proces = $args.proces;
$qt = $__dada( 'Topall_Emissions' ) otherwise 1e6;
}",
"messages": {
"cases": [
{
"if": "{ $proces == "generacio" }",
"messages": [
{
"app": "asset",
"payload": {
"cap": "{ $qt }",
"is_private": false,
"is_transferrable": true,
"auto_destroy": false,
"fixed_denominations": false,
"issued_by_definer_only": true,
"cosigned_by_definer": false,
"spender_attested": false
}
},
{
"app": "state",
"state": "{ var[ response_unit ] = $adr__; }"
}
]
},
{
"if": "{ $proces == "configuracio" }",
"init": "{
$_Emissions = $__dada( '_Emissions' );
$resp_unit = $args.resp_unit;
$_configuradora = var[ $resp_unit ] otherwise '_';
if( $_configuradora != $adr__ )
bounce( 'No autoritzada. Configuradora: ' || $_configuradora );
// Si no s'ha lliurat l'argument especificat bota l'accés
$__arg = $arg =>
$args[ $arg ] otherwise
bounce( "Cal proporcionar el valor de: " || $arg );
$geto = $__arg( 'geto' ) != 'Estels' ? $args.geto : bounce( 'Nom incorrecte' );
$estat_geto = $__dada( $geto || '_estat' ) otherwise '';
// No ha de constar com a pendent d'inscrpció
if ( $estat_geto == 'pendent_inscripcio' )
bounce( "Aquest getó consta com a pendent d'inscripció" );
// No ha de constar com a operatiu
if ( $estat_geto == 'operatiu' )
bounce( 'Aquest getó consta com a operatiu' );
$ordinal_geto = $__dada( 'ordinal_geto' ) otherwise 0;
$nou_ordinal_geto = $ordinal_geto + 1;
$dades = {};
$dades[ 'ordinal_geto' ] = $nou_ordinal_geto;
$dades[ 'geto_' || $resp_unit ] = $geto;
$dades[ $geto ] = $nou_ordinal_geto;
$dades[ $geto || '_data' ] = timestamp;
$dades[ $geto || '_id' ] = $resp_unit;
$dades[ $geto || '__FOP' ] = $__arg( '_FOP' );
$dades[ $geto || '_topall' ] = $qt;
$dades[ $geto || '_estat' ] = 'pendent_inscripcio';
$dades[ $geto || '_factor_conversio' ] = $__arg( 'factor_conversio' );
$dades[ $geto || '_taxa_conversio' ] = $__arg( 'taxa_conversio' );
$dades[ $geto || '_derivacio' ] = $args.derivacio otherwise 0;
$dades[ $geto || '_import_activacio' ] = $__arg( 'import_activacio' );
$dades[ $geto || '_import_subscripcio' ] = $__arg( 'import_subscripcio' );
$dades[ $geto || '_import_renovacio' ] = $__arg( 'import_renovacio' );
$dades[ $geto || '_cicles_diposit' ] = $__arg( 'cicles_diposit' );
$dades[ $geto || '_activacions_restringides' ] = $__arg( 'activacions_restringides' );
$dades[ $geto || '_subscripcions_restringides' ] = $__arg( 'subscripcions_restringides' );
$dades[ $geto || '_recepcions_restringides' ] = $__arg( 'recepcions_restringides' );
$dades[ $geto || '_conversions_restringides' ] = $__arg( 'conversions_restringides' );
$dades[ $geto || '_redefinible' ] = $__arg( 'valors_esmenables' );
$dades[ $geto || '_llistats_editables' ] = $__arg( 'llistats_editables' );
$dades[ $geto || '_bloqueig_possible' ] = $__arg( 'bloqueig_possible' );
$dades[ $geto || '__AUT_A' ] = $__arg( '_AUT_A' );
$dades[ $geto || '__AUT_B' ] = $__arg( '_AUT_B' );
$dades[ $geto || '__AUT_C' ] = $__arg( '_AUT_C' );
$registre = {};
$registre.dades = $dades;
$args.geto = $geto;
}",
"messages": [
{
"app": "data",
"payload": "{ $args || $registre }"
},
{
"app": "payment",
"payload": {
"asset": "{ $resp_unit }",
"outputs": [
{
"address": "{ $_Emissions }",
"amount": "{ $qt }"
}
]
}
},
{
"app": "payment",
"payload": {
"asset": "base",
"outputs": [
{
"address": "{ $args._Registre }",
"amount": "{ $__dada( 'Provisio' ) }"
}
]
}
},
{
"app": "state",
"state": "{
response[ 'Procés' ] = $proces;
}"
}
]
}
]
}
}
]