34BBV7FPCHVK4TI6LBNZTXHR5H2ROSJ4
[
"autonomous agent",
{
"init": "{
$nom_AA = 'FOP';
$versio = '0.01';
//$_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 = 0 ]];
$adr__ = trigger.address;
$args = trigger.data;
$unitat = trigger.output[[ asset != base ]].asset otherwise 'base';
$qt = trigger.output[[ asset = $unitat ]];
// $_Portal = $__dada( '_Portal' );
$_Portal = trigger.address; // * només x tests
if ( $_Portal != trigger.address
AND $__dada( '_Accions' ) != trigger.address )
bounce( 'Accés interdit' );
$sentit = $args.sentit;
$ord_moviment = $__dada( 'ordinal_' || $sentit ) + 1;
$ref_moviment = $sentit || '_' || $ord_moviment;
$unitat_entrada = $unitat;
$unitat_sortida = $args.unitat;
$total_entrades = $__dada( 'total_entrades_' || $unitat_entrada );
$total_sortides = $__dada( 'total_sortides_' || $unitat_sortida );
$registre = {};
$dades = {};
$dades[ $ref_moviment || '_data' ] = timestamp;
if ( $sentit == 'entrada' ) {
$dades[ $ref_moviment || '_qt' ] = $qt;
$dades[ $ref_moviment || '_unitat' ] = $unitat_entrada;
$nou_total_entrades = $total_entrades + $qt;
$dades[ $ref_moviment || '_emissora' ] = $adr__;
$dades[ 'total_entrades_' || $unitat_entrada ] = $nou_total_entrades;
}
if ( $sentit == 'sortida' ) {
$qt_sortida = $args.qt;
$rebedora = $args.rebedora;
$dades[ $ref_moviment || '_qt' ] = $qt_sortida;
$dades[ $ref_moviment || '_unitat' ] = $unitat_sortida;
$nou_total_sortides = $total_sortides + $qt_sortida;
$dades[ $ref_moviment || '_rebedora' ] = $rebedora;
$dades[ 'total_sortides_' || $unitat_sortida ] = $nou_total_sortides;
}
$unitat_moviment = $unitat_sortida otherwise $unitat_entrada;
$dades[ 'ordinal_' || $sentit ] = $ord_moviment;
$registre.dades = $dades;
}",
"messages": [
{
"if": "{ $sentit == 'sortida' }",
"app": "payment",
"payload": {
"asset": "{ $unitat_sortida }",
"outputs": [
{
"address": "{ $rebedora }",
"amount": "{ $qt_sortida }"
}
]
}
},
{
"app": "data",
"payload": "{ $registre }"
},
{
"app": "payment",
"payload": {
"asset": "base",
"outputs": [
{
"address": "{ $_Registre }",
"amount": "{ $__dada( 'Provisio' ) }"
}
]
}
},
{
"app": "state",
"state": "{
response[ 'Ref moviment' ] = $ref_moviment;
if ( $sentit == 'entrada' ) {
response[ 'Emissora' ] = $adr__;
response[ 'Qt' ] = $qt;
response[ 'Unitat' ] = $unitat_entrada;
}
if ( $sentit == 'sortida' ) {
response[ 'Rebedora' ] = $rebedora;
response[ 'Qt' ] = $qt_sortida;
response[ 'Unitat' ] = $unitat_sortida;
}
response[ 'Total entrades en ' || $unitat_moviment ] =
$nou_total_entrades otherwise $total_entrades;
response[ 'Total sortides en ' || $unitat_moviment ] =
$nou_total_sortides otherwise $total_sortides;
$romanent = balance[ this_address ][ $unitat_moviment ];
response[ 'Romanent en ' || $unitat_moviment ] = $romanent;
response[ 'Romanent correcte ?' ] =
$romanent == $total_entrades - $total_sortides ?
'SÍ' : 'NO';
}"
}
]
}
]
- MCI: 2060146
- Not bounced
- Response unit:
- Response: {
"responseVars": {
"Ref moviment": "entrada_4",
"Emissora": "XD7FVUM442NPIIMLRIT2FYWJEDQ4ILLJ",
"Qt": 200,
"Unitat": "XXPIjIRs9k3CBoTyiod2NdCGMK6YmryF+w9SR63yUGw=",
"Total entrades en XXPIjIRs9k3CBoTyiod2NdCGMK6YmryF+w9SR63yUGw=": 10200,
"Total sortides en XXPIjIRs9k3CBoTyiod2NdCGMK6YmryF+w9SR63yUGw=": 0,
"Romanent en XXPIjIRs9k3CBoTyiod2NdCGMK6YmryF+w9SR63yUGw=": 200,
"Romanent correcte ?": "NO"
}
}
Show transactions in assets:
No transactions found, it may be worth changing the filter
Unit ID
Date
From
Direction
To
Amount
09.07.2021 11:14:07
34BBV7FPCHVK4TI6LBNZTXHR5H2ROSJ4
out
09.07.2021 11:14:07
in
34BBV7FPCHVK4TI6LBNZTXHR5H2ROSJ4
09.07.2021 11:14:07
in
34BBV7FPCHVK4TI6LBNZTXHR5H2ROSJ4