Transfers view
UTXO view
Obyte.org
Unit Legend
- not on main chain, not stable
- main chain, not stable
- bad unit
- not on main chain, stable/confirmed/final
- main chain, stable/confirmed/final
- not on main chain, selected
- main chain, selected
Close
Close
Unit ID
Kcf+kcoG+0zzEZZbpKmmyerysgJz8w67cEfAGVfuS2Y=
Received
03.03.2021 11:50:23
Confirmation delay (full node)
5 minutes 17 seconds
Confirmation delay (light node)
7 minutes 26 seconds
Authors
XD7FVUM442NPIIMLRIT2FYWJEDQ4ILLJ
Children
pWmdQHVriZEUWWIpUbrDDBPKUWtmEpX6CtWcxbvwx5Q=
Parents
BfwcCgiWRatwdRDFng9hODJSXsxgAgyIkA9wlDgxwqE=
Messages
Definition
Address:
SNDPOSGOIL2OD4HW3VTHJDO6ZLOZPE7A
Definition:
[ "autonomous agent", { "init": "{\r $nom_AA = 'Accions';\r //$_Portal_original = '0000000000';\r $_Portal_original = trigger.address; //Hauria de ser fix amb adr darrer Portal\r \r $args = trigger.data;\r $adr__ = trigger.initial_address;\r $idgeto = trigger.output[[ asset != base ]].asset;\r $refgeto = $args.refgeto;\r \r $dades = $args.dades otherwise {};\r \r $__dada = $refval =>\r data_feed[[ oracles = $args._Registre, feed_name = $refval, ifnone = false ]];\r \r $_Portal_actual = $__dada( 'portal_actual' ) otherwise $_Portal_original;\r \r if ( $_Portal_actual != trigger.address )\r bounce ( 'Portal no reconegut' );\r \r // Funcions\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 $__param = $refparam => {\r $refgeto == 'estels'?\r $__dada( $refparam ) :\r $__dada( $refgeto || '_' || $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 >= $__dada( 'cicle_actual' ) ?\r true :\r bounce( "Subscripció de l'adreça " || $adr || " no renovada en " || $refgeto\r || " per al cicle actual: " || $__dada( 'cicle_actual' ) )\r };\r \r \r // Arguments i Dades\r $ACC = $__arg( 'accio' );\r $qt = $__arg( 'qt_accio' );\r $cicle_actual = $__dada( 'cicle_actual' ) otherwise 1;\r $escala_actual = $__dada( 'escala_actual' ) otherwise 1;\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 // Total acumulat\r $secc_ref =\r $ACC == 'Diposit' OR $ACC == 'Transfer' ?\r to_lower( $ACC ) || 's' :\r to_lower( $ACC ) || 'ns';\r $ref_total = 'total_' || $secc_ref || '_en_' || $refgeto;\r $dades[ $ref_total ] = $__dada( $ref_total ) + $qt otherwise $qt;\r \r \r // Activacio\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 }\r \r \r // Subscripcio\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 // Renovacio\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 // Diposit\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 $cicle_conversio = $cicle_actual + $cicles_diposit;\r $taxa = round( $qt * $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 // Contribucio\r if ( $ACC == 'Contribucio' ) {\r $ord_contribucio = $__dada( 'ordinal_contribucio' ) otherwise 0;\r $ref_contribucio = 'contribucio_' || ( $ord_contribucio + 1 );\r $escala_act = $__dada( 'escala_actual' );\r $interval = timestamp - $__dada( 'data_escala_' || $escala_act );\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;\r $dades[ $ref_contribucio || '_data' ] = timestamp;\r }\r \r \r if ( $ACC == 'Transfer' ) {\r $derivacio = $args.derivacio;\r if ( !! $derivacio ) {\r $ref_total_FOP = 'total_FOP_en_' || $refgeto;\r $ref_total_derivacions = 'total_derivacions_en_' || $refgeto;\r $ref_total_particular = 'total_derivacions_' || $args.receptora || '_en_' || $refgeto;\r $dades[ $ref_total_FOP ] = $__dada( $ref_total_FOP ) + $derivacio;\r $dades[ $ref_total_derivacions ] = $__dada( $ref_total_derivacions ) + $derivacio;\r $dades[ $ref_total_particular ] = $__dada( $ref_total_particular ) + $derivacio;\r }\r \r // Gestió Cicles i Escales\r $data_cicle_actual = $__dada( 'data_cicle_actual' ) otherwise timestamp;\r $salt_cicle = timestamp - $data_cicle_actual > $__dada( 'Interval' );\r $nou_cicle =\r ! $__dada( 'cicle_actual' ) ?\r 1 :\r $salt_cicle ?\r $cicle_actual + 1 :\r $cicle_actual;\r $total_FOP = $__dada( 'total_FOP_en_estels' ) otherwise 0;\r $nova_escala = length( $total_FOP );\r $salt_escala = $nova_escala > $escala_actual;\r \r if ( !! $salt_cicle OR ! $__dada( 'cicle_actual' ) ) {\r $dades[ 'cicle_actual' ] = $nou_cicle;\r $dades[ 'data_cicle_' || $nou_cicle ] = timestamp;\r $dades[ 'escala_cicle_' || $nou_cicle ] = $escala_actual;\r }\r if ( !! $salt_escala OR ! $__dada( 'cicle_actual' ) ) {\r $dades[ 'escala_actual' ] = $nova_escala;\r $dades[ 'data_escala_' || $nova_escala ] = timestamp;\r $dades[ 'cicle_escala_' || $nova_escala ] = $cicle_actual;\r }\r }\r \r \r if ( $ACC != 'Transfer' ) {\r $ref_total_FOP = 'total_FOP_en_' || $refgeto;\r $total_FOP_actual = $__dada( $ref_total_FOP ) otherwise 0;\r $dades[ $ref_total_FOP ] = $total_FOP_actual + $qt;\r }\r \r $ref_total_unitat = 'total_en_' || $refgeto;\r $total_unitat = $__dada( $ref_total_unitat ) otherwise 0;\r $dades[ $ref_total_unitat ] = $total_unitat + $qt;\r \r $qt_registre =\r balance[ base ] > 20000 ?\r balance[ base ] - 10000 :\r 3000;\r }", "messages": [ { "app": "data", "payload": "{ $dades }" }, { "app": "payment", "payload": { "asset": "base", "outputs": [ { "address": "{ $args._Registre }", "amount": "{ $qt_registre }" } ] } }, { "app": "state", "state": "{\r \r // Avis\r //if ( $_avis AND $avis_es_actual )\r if ( $avis_es_actual )\r response[ 'AVÍS !' ] = $__dada( $ref_avis || '_text' );\r \r // Transfer\r if ( !! $derivacio ) {\r response[ 'Receptora deriva a FOP'] = $derivacio || ' ' || $refgeto;\r response[ 'Total Derivacions en ' || $refgeto ] =\r $__dada( $ref_total_derivacions );\r response[ 'Total Derivacions de ' || $args.receptora || '_en_' || $refgeto ] =\r $__dada( $ref_total_particular );\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_actual + $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 response[ 'Escala actual' ] = $nova_escala;\r }\r \r // Info general\r response[ 'Cicle actual' ] =\r $salt_cicle ? 'Nou cicle: ' || $nou_cicle : $cicle_actual;\r response[ 'Escala actual' ] =\r $salt_escala ? 'Nova Escala: ' || $nova_escala : $escala_actual;\r response[ 'Acció realitzada' ] = $ACC;\r response[ 'Romanent Accions' ] = balance[ base ] || ' bytes';\r response[ 'Transferits a Registre' ] = $qt_registre || ' bytes';\r }" } ] } ]
Witnesses
2FF7PSL7FYXVU5UIQHCVDTTPUOOG75GX
2GPBEZTAXKWEXMWCTGZALIZDNWS5B3V7
4H2AMKF6YO2IWJ5MYWJS3N7Y2YU2T4Z5
DFVODTYGTS3ILVOQ5MFKJIERH6LGKELP
ERMF7V2RLCPABMX5AMNGUQBAH4CD5TK4
F4KHJUCLJKY4JV7M5F754LAJX4EB7M4N
IOF6PTBDTLSTBS5NWHUSD7I2NHK3BQ2T
O4K4QILG6VPGTYLRAI2RGYRFJZ7N2Q2O
OPNUXBRSSQQGHKQNEPD2GLWQYEUY5XLD
PA4QK46276MJJD5DBOLIBMYKNNXMUVDP
RJDYXC4YQ4AZKFYTJVCR5GQJF5J6KPRI
WELOXP3EOA75JWNO6S5ZJHOO3EYFKPIR
Technical information
Fees:
11,562
bytes
(452 headers, 11110 payload)
Level:
1903991
Witnessed level:
1903984
Last ball unit:
4IS8i/jCzb2JEQVXOZZPkwKe4cNodnL35F8qTxaVqSk=
Main chain index:
1896027
Latest included mc index:
1896026
Status:
stable/confirmed/final