W3ZT2ZAHITB6LPGIOKRWREBQ4NDB6UVA
[
"autonomous agent",
{
"init": "{\r
$nom_AA = 'Accions';\r
\r
// Portal\r
//$_Portal = '5WVBJQHTEP54AEYUJGTQKWTXTXZSJQWA';\r
$_Portal = trigger.address; // * només x tests\r
if ( $_Portal != trigger.address ) bounce ( 'Portal no reconegut' );\r
\r
\r
// Principals\r
$args = trigger.data;\r
$adr__ = trigger.initial_address;\r
$refgeto = $args.refgeto;\r
\r
\r
// Funcions\r
$__dada = $refval =>\r
data_feed[[ oracles = $args._Registre, feed_name = $refval, ifnone = false ]];\r
\r
$__arg = $arg =>\r
$args[ $arg ] otherwise\r
bounce ( "Cal proporcionar el valor de: " || $arg );\r
\r
$__param = $refparam => {\r
$refgeto == 'estels'?\r
$__dada( $refparam ) :\r
$__dada( $refgeto || '_' || to_lower( $refparam ) )\r
};\r
\r
// Comprova si qt proporcionada cobreix import especificat\r
$__qtSuficient = $ref, $q =>\r
$__param( $ref ) > $q ?\r
bounce ( "L'" || $ref || " és de " || $__param( $ref ) )\r
: true;\r
\r
// Comprova si adreça consta com a subscrita\r
$__subscrita = $adr =>\r
!! $__dada( 'subscripcio_' || $adr || '_en_' || $refgeto ) ?\r
true :\r
bounce ( "Adreça no subscrita per a " || $refgeto );\r
\r
// Comprova si la subscripció ha estat renovada per al cicle actual\r
$__renovada = $adr => {\r
$cicle_renovat = $__dada( 'renovacio_' || $adr || '_en_' || $refgeto || '_cicle' );\r
$cicle_renovat >= $args.cicle_actual ?\r
true :\r
bounce ( "Subscripció de l'adreça " || $adr || " no renovada en " || $refgeto\r
|| " per al cicle actual: " || $args.cicle_actual )\r
};\r
\r
\r
// Arguments i Dades\r
$ACC = $args.accio otherwise '';\r
$qt = $args.qt_accio otherwise 0;\r
$cicle_actual = $args.cicle_actual;\r
$escala_actual = $args.escala_actual;\r
$interval_escala = $args.interval_escala;\r
$dades = $args.dades otherwise {};\r
\r
\r
// Avís\r
// Consulta si hi ha cap avís per a adr__\r
$ref_avis = $refgeto || '_avis_' || $adr__;\r
$rebot = $__dada( $ref_avis || '_rebot' );\r
$temps_avis = $__dada( $ref_avis );\r
$avis_es_actual =\r
!! $temps_avis AND\r
$temps_avis + ( $__dada( 'Lapse' ) * 2 ) < timestamp;\r
\r
if ( $avis_es_actual AND $rebot )\r
bounce ( $__dada( $ref_avis || '_text' ) );\r
\r
\r
// Activació\r
if ( $ACC == 'Activacio' ) {\r
$ref_Activacio = 'activacio_' || $adr__ || '_en_' || $refgeto;\r
\r
if ( !! $__dada( $ref_Activacio ) )\r
bounce ( 'Adreça ja activada' );\r
\r
$condicions =\r
$__qtSuficient( 'Import_Activacio', $qt )\r
AND $__arg( 'nom' );\r
\r
$dades[ $ref_Activacio ] = timestamp;\r
$dades[ $ref_Activacio || '_nom' ] = $args.nom;\r
$dades[ $ref_Activacio || '_qt' ] = $qt;\r
$dades[ $ref_Activacio || '_cicle' ] = $cicle_actual;\r
if ( $refgeto == 'estels' )\r
$dades[ $ref_Activacio || '_escala' ] = $escala_actual;\r
$dades[ $ref_Activacio || '_interval' ] = $interval_escala;\r
}\r
\r
\r
// Subscripció\r
if ( $ACC == 'Subscripcio' ) {\r
$ref_subscripcio = 'subscripcio_' || $adr__ || '_en_' || $refgeto;\r
$ref_renovacio = 'renovacio_' || $adr__ || '_en_' || $refgeto;\r
\r
if ( !! $__dada( $ref_subscripcio ) )\r
bounce ( 'Adreça ja subscrita' );\r
\r
$condicions =\r
$__qtSuficient( 'Import_Subscripcio', $qt )\r
AND $__arg( 'nom' )\r
AND $__arg( 'derivacio' );\r
\r
$dades[ $ref_subscripcio ] = timestamp;\r
$dades[ $ref_subscripcio || '_nom' ] = $args.nom;\r
$dades[ $ref_subscripcio || '_derivacio' ] = $args.derivacio;\r
$dades[ $ref_subscripcio || '_cicle' ] = $cicle_actual;\r
$dades[ $ref_renovacio ] = timestamp;\r
$dades[ $ref_renovacio || '_cicle' ] = $cicle_actual;\r
}\r
\r
\r
// Renovació\r
if ( $ACC == 'Renovacio' ) {\r
$ref_renovacio = 'renovacio_' || $adr__ || '_en_' || $refgeto;\r
$cicle_renovat = $__dada( $ref_renovacio || '_cicle' ) otherwise 1;\r
\r
if ( $cicle_actual == $cicle_renovat )\r
bounce ( 'Cicle actual ( ' || $cicle_actual || ' ) ja renovat' );\r
\r
$condicions =\r
$__subscrita( $adr__ )\r
AND $__qtSuficient( 'Import_Renovacio', $qt );\r
\r
$dades[ $ref_renovacio ] = timestamp;\r
$dades[ $ref_renovacio || '_cicle' ] = $cicle_actual;\r
}\r
\r
\r
// Dipòsit\r
if ( $ACC == 'Diposit' ) {\r
$ord_diposit = $__dada( 'ordinal_diposit' ) otherwise 0;\r
$ref_diposit = 'diposit_' || ( $ord_diposit + 1 );\r
\r
if ( $qt < $__param( 'Diposit_Minim' ) )\r
bounce ( 'El dipòsit mínim és de ' || $__param( 'Diposit_Minim' ) );\r
\r
$condicions =\r
$__subscrita( $adr__ )\r
AND $__renovada( $adr__ );\r
\r
$taxa_conversio = $__param( 'Taxa_Conversio' );\r
$cicles_diposit = $__param( 'Cicles_Diposit' );\r
$factor_conversio = $__param( 'factor_conversio' ) otherwise 1;\r
$cicle_conversio = $cicle_actual + $cicles_diposit;\r
$taxa = round( $qt * $factor_conversio * $taxa_conversio / 100, 0 );\r
$qt_conversio = $qt - $taxa;\r
$dades[ 'ordinal_diposit' ] = $ord_diposit + 1;\r
$dades[ $ref_diposit ] = $qt;\r
$dades[ $ref_diposit || '_dipositant' ] = $adr__;\r
$dades[ $ref_diposit || '_cicle' ] = $cicle_actual;\r
$dades[ $ref_diposit || '_geto_diposit' ] = $refgeto;\r
$dades[ $ref_diposit || '_data' ] = timestamp;\r
$dades[ $ref_diposit || '_taxa' ] = $taxa_conversio;\r
$dades[ $ref_diposit || '_qt_conversio' ] = $qt_conversio;\r
$dades[ $ref_diposit || '_cicle_conversio' ] = $cicle_conversio;\r
}\r
\r
\r
// Contribució\r
if ( $ACC == 'Contribucio' ) {\r
$ord_contribucio = $__dada( 'ordinal_contribucio' ) otherwise 0;\r
$ref_contribucio = 'contribucio_' || ( $ord_contribucio + 1 );\r
$dades[ 'ordinal_contribucio' ] = $ord_contribucio + 1;\r
$dades[ $ref_contribucio ] = $qt;\r
$dades[ $ref_contribucio || '_contribuidora' ] = $adr__;\r
$dades[ $ref_contribucio || '_cicle' ] = $cicle_actual;\r
$dades[ $ref_contribucio || '_escala' ] = $escala_actual;\r
$dades[ $ref_contribucio || '_interval' ] = $interval_escala;\r
$dades[ $ref_contribucio || '_data' ] = timestamp;\r
}\r
\r
\r
// Totals\r
$ref_total = 'total_en_' || $refgeto;\r
$dades[ $ref_total ] = $__dada( $ref_total ) + $qt otherwise $qt;\r
\r
$secc_ref =\r
$ACC == 'Diposit' OR $ACC == 'Transfer' ?\r
to_lower( $ACC ) || 's' :\r
to_lower( $ACC ) || 'ns';\r
$ref_total_acc = 'total_' || $secc_ref || '_en_' || $refgeto;\r
$dades[ $ref_total_acc ] = $__dada( $ref_total_acc ) + $qt otherwise $qt;\r
\r
$ref_total_FOP = 'total_FOP_en_' || $refgeto;\r
$total_FOP_actual = $__dada( $ref_total_FOP ) otherwise 0;\r
$qt_derivacio = $args.qt_derivacio;\r
$increment_FOP =\r
$ACC == 'Transfer' ?\r
$qt_derivacio otherwise 0 :\r
$qt;\r
$dades[ $ref_total_FOP ] = $total_FOP_actual + $increment_FOP;\r
\r
$estat_interficie = $__dada( 'interficie_' || $args.interficie|| '_estat' ) otherwise '-';\r
$interficie = $estat_interficie == 'operatiu' ? $args.interficie : 'basica';\r
$ref_total_FOP_via = 'total_FOP_en_' || $refgeto || '_via_' || $interficie;\r
$total_FOP_via = $__dada( $ref_total_FOP_via ) otherwise 0;\r
$dades[ $ref_total_FOP_via ] = $total_FOP_via + $increment_FOP;\r
\r
$estat_promotora = $__dada( 'promotora_' || $args.promotora || '_estat' ) otherwise '-';\r
$promotora = $estat_promotora == 'operatiu' ? $args.promotora : 'basica';\r
$ref_total_FOP_per = 'total_FOP_en_' || $refgeto || '_per_' || $promotora;\r
$total_FOP_per = $__dada( $ref_total_FOP_per ) otherwise 0;\r
$dades[ $ref_total_FOP_per ] = $total_FOP_per + $increment_FOP;\r
if ( !! $qt_derivacio ) {\r
$ref_total_derivacions = 'total_derivacions_en_' || $refgeto;\r
$total_derivacions = $__dada( $ref_total_derivacions ) otherwise 0;\r
$dades[ $ref_total_derivacions ] = $total_derivacions + $qt_derivacio;\r
$ref_total_particular = 'total_derivacions_' || $args.receptora || '_en_' || $refgeto;\r
$total_particular = $__dada( $ref_total_particular ) otherwise 0;\r
$dades[ $ref_total_particular ] = $total_particular + $qt_derivacio;\r
}\r
\r
$args.dades = $dades;\r
}",
"messages": [
{
"app": "data",
"payload": "{ $args }"
},
{
"app": "payment",
"payload": {
"asset": "base",
"outputs": [
{
"address": "{ $args._Registre }",
"amount": "{ $__dada( 'Provisio' ) }"
}
]
}
},
{
"app": "state",
"state": "{\r
// Info general\r
response[ 'Romanent Accions' ] = balance[ base ] || ' bytes';\r
response[ 'Cicle actual' ] = $cicle_actual;\r
response[ 'Escala actual' ] = $escala_actual;\r
response[ 'Acció realitzada' ] = $ACC;\r
\r
// Transfer\r
if ( !! $qt_derivacio ) {\r
response[ 'Receptora deriva a FOP'] = $qt_derivacio || ' ' || $refgeto;\r
response[ 'Total Derivacions en ' || $refgeto ] =\r
$total_derivacions + $qt_derivacio;\r
response[ 'Total Derivacions de ' || $args.receptora || '_en_' || $refgeto ] =\r
$total_particular + $qt_derivacio;\r
}\r
\r
// Activació\r
if ( $ACC == 'Activacio' )\r
response[ 'Activació' ] =\r
"Amb nom: " || $args.nom || " de l'adr " || $adr__ || " per operar amb " || $refgeto;\r
\r
// Subscripció\r
if ( $ACC == 'Subscripcio' )\r
response[ 'Subscripció' ] =\r
"Amb nom: " || $args.nom || " de l'adr " || $adr__ ||\r
" per al cicle " || $cicle_actual || " per operar amb " || $refgeto;\r
\r
// Renovació\r
if ( $ACC == 'Renovacio' )\r
response[ 'Renovació' ] =\r
"De la subscripció per al cicle " || $cicle_actual\r
|| " de l'adr " || $adr__ || " en " || $refgeto;\r
\r
// Dipòsit\r
if ( $ACC == 'Diposit' ) {\r
response[ 'Dipòsit' ] = $ref_diposit;\r
response[ 'Dipositant' ] = $adr__;\r
response[ 'Qt dipòsit' ] = $qt;\r
response[ 'Qt conversió' ] = $qt_conversio;\r
response[ 'Taxa' ] = $taxa_conversio;\r
response[ 'Data dipòsit' ] = timestamp_to_string( timestamp, 'date' );\r
response[ 'Hora dipòsit' ] = timestamp_to_string( timestamp, 'time' );\r
response[ 'Cicle dipòsit' ] = $cicle_actual;\r
response[ 'Cicle conversió' ] = $cicle_conversio;\r
}\r
\r
// Contribució\r
if ( $ACC == 'Contribucio' ) {\r
response[ 'Contribució' ] = $ref_contribucio;\r
response[ 'Contribuïdora' ] = $adr__;\r
response[ 'Quantitat' ] = $qt;\r
}\r
\r
// Avís\r
//if ( $_avis AND $avis_es_actual )\r
if ( $avis_es_actual )\r
response[ 'AVÍS !' ] = $__dada( $ref_avis || '_text' );\r
}"
}
]
}
]
- MCI: 1928814
- Not bounced
- Response unit:
- Response: {
"responseVars": {
"Romanent Accions": "28135 bytes",
"Cicle actual": 37,
"Escala actual": 1,
"Acció realitzada": "Renovacio",
"Renovació": "De la subscripció per al cicle 37 de l'adr JUSMFQHMBASVPCZTZW5ULYOWVK3DHJMK en estels"
}
}
- MCI: 1927667
- Not bounced
- Response unit:
- Response: {
"responseVars": {
"Romanent Accions": "29654 bytes",
"Cicle actual": 2,
"Escala actual": 1,
"Acció realitzada": "Diposit",
"Dipòsit": "diposit_1",
"Dipositant": "JUSMFQHMBASVPCZTZW5ULYOWVK3DHJMK",
"Qt dipòsit": 140,
"Qt conversió": 134,
"Taxa": 4,
"Data dipòsit": "2021-03-25",
"Hora dipòsit": "17:53:21",
"Cicle dipòsit": 2,
"Cicle conversió": 5
}
}
- MCI: 1927660
- Not bounced
- Response unit:
- Response: {
"responseVars": {
"Romanent Accions": "12911 bytes",
"Cicle actual": 2,
"Escala actual": 1,
"Acció realitzada": "Transfer",
"Receptora deriva a FOP": "3 estels",
"Total Derivacions en estels": 3,
"Total Derivacions de JUSMFQHMBASVPCZTZW5ULYOWVK3DHJMK_en_estels": 3
}
}
- MCI: 1927633
- Not bounced
- Response unit:
- Response: {
"responseVars": {
"Romanent Accions": "14497 bytes",
"Cicle actual": 2,
"Escala actual": 1,
"Acció realitzada": "Subscripcio",
"Subscripció": "Amb nom: Deri de l'adr JUSMFQHMBASVPCZTZW5ULYOWVK3DHJMK per al cicle 2 per operar amb estels"
}
}
- MCI: 1927629
- Not bounced
- Response unit:
- Response: {
"responseVars": {
"Romanent Accions": "15904 bytes",
"Cicle actual": 2,
"Escala actual": 1,
"Acció realitzada": "Contribucio",
"Contribució": "contribucio_1",
"Contribuïdora": "XD7FVUM442NPIIMLRIT2FYWJEDQ4ILLJ",
"Quantitat": 120
}
}
- MCI: 1927582
- Not bounced
- Response unit:
- Response: {
"responseVars": {
"Romanent Accions": "17038 bytes",
"Cicle actual": 1,
"Escala actual": 1,
"Acció realitzada": "Transfer"
}
}
- MCI: 1927555
- Not bounced
- Response unit:
- Response: {
"responseVars": {
"Romanent Accions": "18516 bytes",
"Cicle actual": 1,
"Escala actual": 1,
"Acció realitzada": "Activacio",
"Activació": "Amb nom: Deri de l'adr JUSMFQHMBASVPCZTZW5ULYOWVK3DHJMK per operar amb estels"
}
}
- MCI: 1927551
- Not bounced
- Response unit:
- Response: {
"responseVars": {
"Romanent Accions": "20000 bytes",
"Cicle actual": 1,
"Escala actual": 1,
"Acció realitzada": "Activacio",
"Activació": "Amb nom: Testori de l'adr XD7FVUM442NPIIMLRIT2FYWJEDQ4ILLJ per operar amb estels"
}
}
Show transactions in assets:
No transactions found, it may be worth changing the filter
Unit ID
Date
From
Direction
To
Amount
26.03.2021 09:11:52
W3ZT2ZAHITB6LPGIOKRWREBQ4NDB6UVA
out
26.03.2021 09:11:52
in
W3ZT2ZAHITB6LPGIOKRWREBQ4NDB6UVA
25.03.2021 17:53:21
W3ZT2ZAHITB6LPGIOKRWREBQ4NDB6UVA
out
25.03.2021 17:53:21
in
W3ZT2ZAHITB6LPGIOKRWREBQ4NDB6UVA
25.03.2021 17:51:34
W3ZT2ZAHITB6LPGIOKRWREBQ4NDB6UVA
out