diff --git a/src/apdu_handler.c b/src/apdu_handler.c index 1e9547e3..a6599a24 100644 --- a/src/apdu_handler.c +++ b/src/apdu_handler.c @@ -91,7 +91,7 @@ __Z_INLINE void handleGetPubkey(volatile uint32_t *flags, volatile uint32_t *tx, __Z_INLINE void handleSign(volatile uint32_t *flags, volatile uint32_t *tx, uint32_t rx) { zemu_log("HandleSign.\n"); process_chunk_response_t callType = process_chunk(tx, rx); - + switch (callType) { case PROCESS_CHUNK_NOT_FINISHED: zemu_log("Continue processing chunks.\n"); diff --git a/src/common/app_helper.c b/src/common/app_helper.c index 46737b90..82684da3 100644 --- a/src/common/app_helper.c +++ b/src/common/app_helper.c @@ -83,6 +83,7 @@ process_chunk_response_t process_chunk(__Z_UNUSED volatile uint32_t *tx, uint32_ case 0x03: if (storeTxMetadata(&(G_io_apdu_buffer[OFFSET_DATA]), rx - OFFSET_DATA) != PARSER_OK) { initStoredTxMetadata(); // delete merkle tree proof on error for redundant security + ZEMU_TRACE(); THROW(APDU_CODE_DATA_INVALID); } return PROCESS_CHUNK_NOT_FINISHED; @@ -90,6 +91,7 @@ process_chunk_response_t process_chunk(__Z_UNUSED volatile uint32_t *tx, uint32_ if (validateStoredTxMetadataMerkleTreeLevel(&(G_io_apdu_buffer[OFFSET_DATA]), rx - OFFSET_DATA) != PARSER_OK) { initStoredTxMetadata(); // delete merkle tree proof on error for redundant security + ZEMU_TRACE(); THROW(APDU_CODE_DATA_INVALID); } return PROCESS_CHUNK_NOT_FINISHED; @@ -97,6 +99,7 @@ process_chunk_response_t process_chunk(__Z_UNUSED volatile uint32_t *tx, uint32_ if (validateStoredTxMetadataMerkleTreeLevel(&(G_io_apdu_buffer[OFFSET_DATA]), rx - OFFSET_DATA) != PARSER_OK) { initStoredTxMetadata(); // delete merkle tree proof on error for redundant security + ZEMU_TRACE(); THROW(APDU_CODE_DATA_INVALID); } return PROCESS_CHUNK_FINISHED_WITH_METADATA; diff --git a/src/parser_common.h b/src/parser_common.h index 01b67673..c2829454 100644 --- a/src/parser_common.h +++ b/src/parser_common.h @@ -27,6 +27,7 @@ extern "C" { parser_error_t __err = __CALL; \ CHECK_APP_CANARY() \ if (__err != PARSER_OK) { \ + ZEMU_TRACE(); \ return __err; \ } \ } diff --git a/src/parser_impl.c b/src/parser_impl.c index d9908ebb..4387d416 100644 --- a/src/parser_impl.c +++ b/src/parser_impl.c @@ -365,16 +365,16 @@ parser_error_t _readArguments(parser_context_t *c, flow_argument_list_t *v) { CHECK_KIND(kind, RLP_KIND_LIST) v->argCount = 0; - while (v->ctx.offset < v->ctx.bufferLen && v->argCount < PARSER_MAX_ARGCOUNT) { + while (v->ctx.offset < v->ctx.bufferLen) { + if (v->argCount >= PARSER_MAX_ARGCOUNT) { + return PARSER_UNEXPECTED_NUMBER_ITEMS; + } CHECK_PARSER_ERR(rlp_decode(&v->ctx, &v->argCtx[v->argCount], &kind, &bytesConsumed)) CTX_CHECK_AND_ADVANCE(&v->ctx, bytesConsumed) CHECK_KIND(kind, RLP_KIND_STRING) v->argCount++; } v->ctx.offset = 0; - if (v->argCount >= PARSER_MAX_ARGCOUNT) { - return PARSER_UNEXPECTED_NUMBER_ITEMS; - } return PARSER_OK; } @@ -585,10 +585,11 @@ void checkAddressUsedInTx() { addressUsedInTx = 0; uint16_t authCount = parser_tx_obj.authorizers.authorizer_count; for (uint16_t i = 0; i < (uint16_t)(authCount + 2); i++) { //+2 for proposer and payer - parser_context_t *ctx = &parser_tx_obj.payer.ctx; + parser_context_t *ctx = NULL; + if (i > authCount) ctx = &parser_tx_obj.payer.ctx; if (i == authCount) ctx = &parser_tx_obj.proposalKeyAddress.ctx; if (i < authCount) ctx = &parser_tx_obj.authorizers.authorizer[i].ctx; - + _Static_assert(sizeof(address_to_display) == ACCOUNT_SIZE, "Incorrect address length"); if (ctx->bufferLen == ACCOUNT_SIZE) { if (!MEMCMP(ctx->buffer, &address_to_display, sizeof(address_to_display))) { diff --git a/src/tx_metadata.c b/src/tx_metadata.c index 59eb3f56..196bcd19 100644 --- a/src/tx_metadata.c +++ b/src/tx_metadata.c @@ -18,8 +18,8 @@ struct { } txMetadataState; static const uint8_t merkleTreeRoot[METADATA_HASH_SIZE] = { - 0xfe, 0x82, 0x42, 0x09, 0x59, 0x87, 0x58, 0x26, 0xf6, 0xa6, 0x17, 0x95, 0x9b, 0x00, 0x6c, 0x31, - 0xfa, 0x89, 0x75, 0xe4, 0x55, 0xdb, 0xf2, 0x49, 0x4f, 0x5f, 0xf3, 0x74, 0x0a, 0x1e, 0xce, 0x51, + 0xfe, 0xd8, 0x31, 0x77, 0xf6, 0x98, 0x29, 0xb4, 0x55, 0xce, 0xa6, 0xea, 0x33, 0x4a, 0x22, 0x60, + 0xd0, 0x72, 0x79, 0xa7, 0x3c, 0x3e, 0xf0, 0x99, 0xbf, 0x11, 0x01, 0x6b, 0x30, 0xbd, 0x25, 0x82, }; parser_error_t _validateScriptHash(const uint8_t scriptHash[METADATA_HASH_SIZE], @@ -47,7 +47,8 @@ parser_error_t _validateScriptHash(const uint8_t scriptHash[METADATA_HASH_SIZE], return PARSER_OK; } } - + + ZEMU_TRACE(); return PARSER_UNEXPECTED_SCRIPT; } @@ -114,6 +115,7 @@ parser_error_t validateStoredTxMetadataMerkleTreeLevel(const uint8_t *hashes, si static parser_error_t parseTxMetadataInternal(const uint8_t scriptHash[METADATA_HASH_SIZE], parsed_tx_metadata_t *parsedTxMetadata) { + ZEMU_TRACE(); uint16_t parsed = 0; #define READ_CHAR(where) \ diff --git a/tests/application_client/txMerkleTree.py b/tests/application_client/txMerkleTree.py index 3bfdbc6f..80f5368e 100644 --- a/tests/application_client/txMerkleTree.py +++ b/tests/application_client/txMerkleTree.py @@ -1,320 +1,320 @@ # pylint: skip-file merkleTree = { - "hash": "fe82420959875826f6a617959b006c31fa8975e455dbf2494f5ff3740a1ece51", + "hash": "fed83177f69829b455cea6ea334a2260d07279a73c3ef099bf11016b30bd2582", "children": [ { - "hash": "9053a0e87b7e66413b6552205fa31f3c2ed42cdb97bd3d543a130aebb29dda1e", + "hash": "8914015391b2dccc4fc2c10da68cd3dce9cb28532a58724d657340ab803cb320", "children": [ { - "hash": "07ea7f7407fda8657a35aeb24075cc654b9f06ae61d6cd1a772920ee3c6209a1", + "hash": "9176284d9a003c543ccb3737df48e1e5e7ce80ac66d383c29ec145ec5fcd0aab", "children": [ { - "hash": "aa44049d7eb26d667c3714b8fcf78380878e658e22268510ff9f72e69b29decd", + "hash": "cba3b9f0e3e016e0cd3645a0cefc4af19d071847dde63e63eb952c67ec1ef749", "children": [ { - "hash": "27b42f7104fa842ba664b1c199325f8339dd65db575938cef8498d082727c3ef", + "hash": "653ef59e369135530a337a8674dbfb405f109f92393bcf8e849972f5f40ad202", "children": [ - "01eef2d0494448554177612e63026256258339230cbc6931ded78d6149443c6173437265617465204163636f756e740001030105507562206b65790000537472696e670003" + "0263d8b6a045bf8e6196198184db685c2cf22932503ccb2dcb85c7d2dc04c882ba63d8b6a045bf8e6196198184db685c2cf22932503ccb2dcb85c7d2dc04c882ba437265617465204163636f756e740004015075626c6963204b65790000537472696e670003015261772056616c756520666f72205369676e617475726520416c676f726974686d20456e756d000155496e74380003015261772056616c756520666f72204861736820416c676f726974686d20456e756d000255496e74380003014b65792057656967687400035546697836340003" ] }, { - "hash": "caf67b7d0995d18f289676386108de6b4c134059b000a6f1ec0c80b857b0ec38", + "hash": "4f082658b34e9e68f8f9ffa6fbbff5d5ca66087e24cd5d87057f018eeac98881", "children": [ - "01595c86561441b32b2b91ee03f9e10ca6efa7b41bcc994f51317ec0aa9d8f8a42416464204e6577204b6579000101507562206b65790000537472696e670003" + "0221d4e87df171ccbe015efe69dc2ffd24814c5fc0f2e364daf5c80515ce4a8bd921d4e87df171ccbe015efe69dc2ffd24814c5fc0f2e364daf5c80515ce4a8bd9416464204b65790004015075626c6963204b65790000537472696e670003015261772056616c756520666f72205369676e617475726520416c676f726974686d20456e756d000155496e74380003015261772056616c756520666f72204861736820416c676f726974686d20456e756d000255496e74380003014b65792057656967687400035546697836340003" ] }, { - "hash": "0c538359a1be1553e729aad363de4eec2dcdcc666320eb85899c2f978c5fbf94", + "hash": "b5b81e2d8d86b60ca608b709cbe3c61fd45cd371699896cd26e915bda7814bdd", "children": [ - "03ca80b628d985b358ae1cb136bcd976997c942fa10dbabfeafb4e20fa66a5a5e2d56f4e1d2355cdcfacfd01e471459c6ef168bfdf84371a685ccf31cf3cdedc2d47851586d962335e3f7d9e5d11a4c527ee4b5fd1c3895e3ce1b9c2821f60b166546f6b656e205472616e73666572000201416d6f756e74000055466978363400030144657374696e6174696f6e0001416464726573730003" + "026c7ab72837fdce77a910f6fc0c622c6c4d5b17f6fbf7295f345d50d3508dd5156c7ab72837fdce77a910f6fc0c622c6c4d5b17f6fbf7295f345d50d3508dd51552656d6f7665204b65790001014b657920496e6465780000496e740003" ] }, { - "hash": "033592e53bc3280098d0043e4770cfaf7675a56b9c56d836a5e2252de61dc3a8", + "hash": "d44137b2d054b110bed2ffb3d1036bccd84855d40131083b76caa9b8a55d988d", "children": [ - "020ffaf77ab320ce4cc9602d39b89c85f094ebcea571ed324537e703bc07b0fdc4aa7fecdf159e71bd0b029e40b22643fb443161e67796f42bac68e9bab4630e2953657475702046555344205661756c740000" + "023ccbbfebf10c47c49e4058a33fd9a29c4191c545de52c9afd27a29d38110aa280246076f1cf5d3160397766a9227b35f592f4d15c014848044c509818328b62b53657475702046756e6769626c6520546f6b656e205661756c74000201465420436f6e74726163742041646472657373000041646472657373000301465420436f6e7472616374204e616d650001537472696e670003" ] }, { - "hash": "5f7f784ed0a40905ed96c8b96588a84b025eb04d593a7662bb66b9eb3a7e962a", + "hash": "64ef5c4c656d2425b6dbd87fc79c6c3d7ea24064f9d22b64df8fd4daf8b585bb", "children": [ - "02f22ca4b350a79c724f6471d5a6a7a0efa7ba9aeebb7fed2843a3ddd6e42c2e1c180cef7053a5f0ae66e19e3a96cc3b9eb7da29767fb5d6938239bf1f8e1dc2845472616e736665722046555344000201416d6f756e740000554669783634000301526563697069656e740001416464726573730003" + "02c9b9a6156280812703c15dde74df95cd0d7d1034dd2d8bf0cccf72b6071429886e5b8c83a3e8445eaa4bed391978443f124d9aa457fabdbaa016e0f65b57591e5472616e736665722046756e6769626c6520546f6b656e2077697468205061746873000401416d6f756e740000554669783634000301526563697069656e7400014164647265737300030153656e646572277320436f6c6c656374696f6e2050617468204964656e7469666965720002537472696e67000301526563697069656e7427732052656365697665722050617468204964656e7469666965720003537472696e670003" ] }, { - "hash": "12c65f0494d2165cbeaa141d705647d8071b528999782dd54a84a44ad2cf3d7b", + "hash": "c852e497e27b7b16ceb1a46ed3526fbddcb294a21d38ea80d3d9633f33e0c8b6", "children": [ - "02a524b4094fcaf1051dbf43ac33ff80bb2f553670c58eeeb719757972a25d6b500e5c2445c0b1016eed4f60c429f233aa0bb223a0d9ff2aedffce00a58037a2bf5365747570205374616b696e6720436f6c6c656374696f6e0000" + "02c1518742a95f9b49259abed8364b05d616ee8acebe123e9979f762b9e7522f93697ad2a90da93cbd02b7658f174c9c32e2016a574edb89cf24b57a8155c343e45472616e736665722046756e6769626c6520546f6b656e20776974682041646472657373000401416d6f756e740000554669783634000301526563697069656e74000141646472657373000301465420436f6e74726163742041646472657373000241646472657373000301465420436f6e7472616374204e616d650003537472696e670003" ] }, { - "hash": "6730cd08974b8ccd1102dd2f5159a8181cc1ede512f6d537d8eea46556e16944", + "hash": "2dbc6a8381286511ebf0b240a1bb31fadb16d7c2901138e64f21f2ef60801cb4", "children": [ - "02c26f69a33ead535e7d597cec4567c6c70170e86fd85ec708f5381e50d43871e2c5636d510872a16eb06996dacb43d6a28f8f72ff1b05b2eb03416cc711d9bb1f52656769737465722044656c656761746f720002014e6f64652049440000537472696e67000301416d6f756e7400015546697836340003" + "02d9ef3b05f8b06d43c3a0ef4066e88e6248323c5f235f9a5d1f8a85d6e2bc9bfa1d12c005fa7a08277204e5d54e29b725c52b9e8e3dd6ff6e01f8d47d7be1626c5365747570204e465420436f6c6c656374696f6e0002014e465420436f6e747261637420416464726573730000416464726573730003014e465420436f6e7472616374204e616d650001537472696e670003" ] } ] }, { - "hash": "a0affd7f78688c482a5a5bc416fa49f5844288fc61b0ee1b40cd38e3c2fbeb36", + "hash": "ddd2fe00843f6adb7875a07333f61aa2643499b999f915813924440c99460f99", "children": [ { - "hash": "099d7e6cfa53ac9150cc79588f5282d3f7bb21a7fb0596ccfcf47bcb380b0fe1", + "hash": "641ed4ec667e2e90fea4de449824de57bf652c8e6abfdce87b9cf076312d4bf3", "children": [ - "02f47efa834bc0559afae9a660b2efefddd0c6dc6e1bbcf9c3994e45ea9e5135ec99997236b6d76caa298331d5cef77cbdf83c1af64584ece537a780ba4ac468835265676973746572204e6f64650007014e6f64652049440000537472696e670003014e6f646520526f6c65000155496e74380003014e6574772e20416464726573730002537472696e670003014e6574772e204b65790003537472696e670003015374616b696e67204b65790004537472696e67000301416d6f756e74000555466978363400030400035075622e204b65790006537472696e670003" + "02f08815a2f535512a65e5c95c391dd6ff89662dad8fd68da836d11d0827a52bd4a56eb0c3e6c3456eee86d5cb62ddf700b0d1e5e65f12fe6926edd6d1816582855472616e73666572204e46542077697468205061746873000401526563697069656e740000416464726573730003014e465420494420746f205472616e73666572000155496e74363400030153656e646572277320436f6c6c656374696f6e2050617468204964656e7469666965720002537472696e67000301526563697069656e7427732052656365697665722050617468204964656e7469666965720003537472696e670003" ] }, { - "hash": "2b5f06235697099c02556240d18fcad69e9a48594d75036edff5d0d875ec746e", + "hash": "0ecae19f93f291533375cf65f243307c6cbf9a54fff897ce9d00d552c6675861", "children": [ - "029246ec9b7a5c81151156e7c2f6d356f68b1b884f88728daca46b968d9a46cd5a79de7119aea61bdafb39cc3d1f4fa17ca802c2732726a86d2c636dbc19808b685265676973746572204e6f64650007014e6f64652049440000537472696e670003014e6f646520526f6c65000155496e74380003014e6574772e20416464726573730002537472696e670003014e6574772e204b65790003537472696e670003015374616b696e67204b65790004537472696e67000301416d6f756e74000555466978363400030400035075622e204b65790006537472696e670003" + "02b7892b30d7a68531db8af3aa73eec7bf899bd039bc9883c4d0270e44c78cec30111142945f27d91bf3be630737805eba25d586b0c292bb3818e5d4cf4287e31c5472616e73666572204e465420776974682041646472657373000401526563697069656e740000416464726573730003014e465420494420746f205472616e73666572000155496e7436340003014e465420436f6e747261637420416464726573730002416464726573730003014e465420436f6e7472616374204e616d650003537472696e670003" ] }, { - "hash": "ae90b6bab2a077c5d5e3d052fc78908e251e97cfd9407c35bf49a8d284acd3c6", + "hash": "bad7c2258efa36af460d217adf5b7739ba66dfd31d3c2441f88c01d355170bdc", "children": [ - "02e79df145af42488e3da1d1b2e50a38a2084229896d670884f278a2119dc3bf9ec2442b498eea025099815ea613d6407407192dc12ad70e1a4f47936db804a841437265617465204d616368696e65204163636f756e740002014e6f64652049440000537472696e6700030300035075622e204b65790001537472696e670003" + "02861784e7ac135a9cfec90decdff2e53971a4d63135db77bcef3b273b710b181469f30decc15bd78107c631e200963398e8ddbc58bb61e577d223725f348fc2d95365747570205374616b696e6720436f6c6c656374696f6e0000" ] }, { - "hash": "60232ddb87d93f0a82735425ae06661d752b45345ab36a2805147f02d86ab779", + "hash": "675bbb1235e1bb30b198b84835222233caab309c75ed479ac1bd497d51b13dfc", "children": [ - "0286c69d731560f3bff549c5f180eb4219bfe650ae4efec8e0c5b5ad3ebed54a92dd3b327b09087ea7f8e92a22a6b04a3c6ca33b868b430c4f15f251658c38c1b7437265617465204d616368696e65204163636f756e740002014e6f64652049440000537472696e6700030300035075622e204b65790001537472696e670003" + "02e093df9c425be9cdbee44bdbbd721f6aff523e41802a50cf0ff353873e9f94830a41e53ad3c9c1c16c8732dd8331b8ca66063617d433b01d4d09c4730044874452656769737465722044656c656761746f720002014e6f64652049440000537472696e67000301416d6f756e7400015546697836340003" ] }, { - "hash": "8350e6bc5d5a7c5c70ba73c8190e2d166ca21377b3e4204ec7103e34604c9a2b", + "hash": "9b9c24e8572eb7d14db43a511c349b9961297e018490c5cd3270e5637f95ea23", "children": [ - "02b00f6b3b9d8d7d4a9a8ad14fce11ee0edb23c39c56a8c1351e6b597f53f2fb71a552951c5e6300a118610fbf2d36b3073ee266e1d26787d04717c141976ef78c5265717565737420556e7374616b696e670003014e6f64652049440000537472696e6700030244656c656761746f72204944000155496e743332000301416d6f756e7400025546697836340003" + "02deb5f758f3eb3b125cd9b14a6528f18d535377709fcef41e743751eb828009213b0b2bbc3a2ad674122c182112f7008a8d3d1b60b107033c0ebe7bbe50df52675265676973746572204e6f64650009014e6f64652049440000537472696e670003014e6f646520526f6c65000155496e74380003014e6574772e20416464726573730002537472696e670003014e6574772e204b65790003537472696e670003015374616b696e67204b65790004537472696e67000301416d6f756e7400055546697836340003014d41205075624b65790006537472696e670003014d412053416c67000755496e74380003014d412048416c67000855496e74380003" ] }, { - "hash": "fa8432e39483a5950c41183aff923fc39f12905eea447f0d708e204f2f751692", + "hash": "036cc8d96b46f7d4eb5d78855b00ae1214131786188ddf6be2f1a08ff434a0ac", "children": [ - "021307928440cee4289235793d6ff860a24315f7b6a5d5907a145dcc5f83702a2c8e10ac56db8ec5d5e0051d3c9608fabc8edd6abed983f6d3a254e7668a54b32b5374616b65204e657720546f6b656e730003014e6f64652049440000537472696e6700030244656c656761746f72204944000155496e743332000301416d6f756e7400025546697836340003" + "024c1ad61500bcd0d32d7aa7eb84ca9b7417219ed6d524e05de8c55fb7d50940e4f0a6cedb6703cd4ce4cc3b735e5edb5a7e5b17a87a725343d745e5d53b7c0a01437265617465204d616368696e65204163636f756e740004014e6f64652049440000537472696e670003014d41205075624b65790001537472696e670003014d412053416c67000255496e74380003014d412048416c67000355496e74380003" ] }, { - "hash": "0c3a64b8381947ae38d4d01f057f2083fdf8cbe3b9ec780a345fecbc26eb98d0", + "hash": "e1231083517c70acca28aef2f02738785a1e989e00fb2e910867de17a60fca14", "children": [ - "02d7aca7113a7aa03e0afd20ee36f4873779708a02ac4c6985017740c2ecea3d62907c4cfd67a98a8003393c64dc74eb7a957b229352a266139a542bb105ac4c405374616b6520526577617264656420546f6b656e730003014e6f64652049440000537472696e6700030244656c656761746f72204944000155496e743332000301416d6f756e7400025546697836340003" + "022d59f2c2c402f919c8dba30009e31480d54e2b250d2e10456e1ff029bd7cce99f26c058a127500fcd8445ba9fcf55149fe8f1a1a7cd212688d13fcd6ee2765295265717565737420556e7374616b696e670003014e6f64652049440000537472696e6700030244656c656761746f72204944000155496e743332000301416d6f756e7400025546697836340003" ] } ] }, { - "hash": "a1b4c2165e1fceba7324712485844e04e5e955706ae328f6cfd64c49686a8104", + "hash": "77b9597b1a66e8bade040908bc0fe96c50cdeaf67a648435d77dab233745cacd", "children": [ { - "hash": "c32ced8567df06cf7b803b4462d3dce5594274870833b505b39c23c620d9565d", + "hash": "ca2dbcde0c1bc0a2df58112c81b20fa360f0d7de78180ab7589903e7199bcfb4", "children": [ - "023595fcd68cff445c65ad99f8d4d726b5e28807b061800769c41cbe3adb98aeec082e690b9647182cf6969db1a0fa8e0f1728da6db01fe0d462e9f0841c268cbb5374616b6520556e7374616b656420546f6b656e730003014e6f64652049440000537472696e6700030244656c656761746f72204944000155496e743332000301416d6f756e7400025546697836340003" + "02cf2b03950077352487e6344ab65edc3e1856731ab9cf68aa2ebbe279ae496d4b4c0658934352486097cc89fa06b98bac21e514770fc6a4d70a7adc4bec6d711d5374616b65204e657720546f6b656e730003014e6f64652049440000537472696e6700030244656c656761746f72204944000155496e743332000301416d6f756e7400025546697836340003" ] }, { - "hash": "72919051bfc4b6791305a53562ab62bab2ab12fa78040fefebb9677d9c6d3e6d", + "hash": "ddca88842c33d1bee0ec3c4776b9533e5346cdd5082a55aec1b916c19ff51e09", "children": [ - "020bde358f3965ba2f4c18fb45b6536857c3f53d7d3b740fe66fe93a4ebf7524c1df9c6486baa6f8f685368ea216659239cb81fa8ebd9062a9723edb54ca0d7525556e7374616b6520416c6c0001014e6f64652049440000537472696e670003" + "024395faf2e515eea4d40f82416ad387575f0d5a580612223c361130e53e72f00bc989e8b3beb9c2eb5af2ee1e11d592c9f1131e76e7ef105a0d40cf1610d1e3485374616b6520526577617264656420546f6b656e730003014e6f64652049440000537472696e6700030244656c656761746f72204944000155496e743332000301416d6f756e7400025546697836340003" ] }, { - "hash": "4e1470252de85beeaf3547dbb3597bbbce4023c9b3a8fe559736bd69b05a9659", + "hash": "fd76eef7824d721068bdfd194e79bb513ff4aea7a4ef34de500cc278d6ef2dc3", "children": [ - "023af182f568b37a8067d3fb524afcfe96991c85a928bf7651e730be0e15fdb72d27a2b60d538b8bb883b602ea83d1697986a29dd69a44a9209dc75affb9e63299576974686472617720526577617264656420546f6b656e730003014e6f64652049440000537472696e6700030244656c656761746f72204944000155496e743332000301416d6f756e7400025546697836340003" + "020b1721f2a8ef6c0c4121ef83c7b38f2141eebcd65c72dab9ebaafe1b4d66fea8fe6adb75bf22b2033800e916fa7e3a7810417e9a36d35320de7f4b5f7ec4f1b85374616b6520556e7374616b656420546f6b656e730003014e6f64652049440000537472696e6700030244656c656761746f72204944000155496e743332000301416d6f756e7400025546697836340003" ] }, { - "hash": "16541b176b0721f3029fd8bd0763ba20338b93fdb7fca214427ce0855847d71a", + "hash": "c20c5edc09197bfa43a5ca85104953a91b3a65c1e8ffcac92b3442e62b23d9e1", "children": [ - "0268879197d961bb104a56e1e7d35660436fe4c52ed78f79d97fa50aa9e96fabf06d50ab1ef3d74203081c38306da74f5ad8fdd489e49fba732f8ba194d0c781c8576974686472617720556e7374616b656420546f6b656e730003014e6f64652049440000537472696e6700030244656c656761746f72204944000155496e743332000301416d6f756e7400025546697836340003" + "02c84843e3399be2ce95ea00e7c17d72db3c5c3363ec008c7a1c1cfa5b6afe70ae1c8256fb857f6c6fd929511ecac8624d0159877cf72c884f7128297dfb069510556e7374616b6520416c6c0001014e6f64652049440000537472696e670003" ] }, { - "hash": "7d29c41e4fd4f0029db68b83b0e4cca4ad90be98aa1375900b4d0a7ec8700727", + "hash": "ccd65f015317e3b3700a66f69e2ec2a6f3b63bac7c113a2e1bbf500024ef07bd", "children": [ - "02079aaa9cfb22138415056b43d5d91e8d73bd8bd5f37ebff4f4023d33ea6d2f25ecdffc1ae67479bc20c06eba6c776ff37b9523660ff1cd3129a3924d92484884436c6f7365205374616b650002014e6f64652049440000537472696e6700030244656c656761746f72204944000155496e7433320003" + "025a07ca4c016973bdeb168590e111b2c2855833b5ece11ffb28b08b8668f258a8fbd8ebbfff7a88b6b667ff4e3f9f904eaaba71cbf02a140f3b7007c61fbd8f34576974686472617720526577617264656420546f6b656e730003014e6f64652049440000537472696e6700030244656c656761746f72204944000155496e743332000301416d6f756e7400025546697836340003" ] }, { - "hash": "15cb00985ecc29ff4a790c109d18ba52f99e0d94f42d569cc476ffa42e66e3bd", + "hash": "0e0e96142cd4d28d1832502be18f00e179fa5f8d0bd7b17206ac7891655d8051", "children": [ - "022386d7ae1a5b936e3914729ee34e01d53a8fbd2e403512ec1beccb4062c231ebcdc3a63d0c75ea95b414becb6fbb8f5a8004236d48661cd3c3d4f540ee4d422e5472616e73666572204e6f64650002014e6f64652049440000537472696e67000301416464726573730001416464726573730003" + "0201fd4ea83d20510d24ed9f245873a7ee2715aefb774495c80bce7e3e34d6442ec2484f17e640e285769c3edaa6f2d090dcef1f2f57983f82b7179c3c047290ca576974686472617720556e7374616b656420546f6b656e730003014e6f64652049440000537472696e6700030244656c656761746f72204944000155496e743332000301416d6f756e7400025546697836340003" ] }, { - "hash": "587e64bc3625045d275b6a7553176b272a3487ede34a48d7d66c98e9ab56af1b", + "hash": "71e307116af2593f2fe011dec15877ef2f4595e4aa1ffe0b0bed14d4720ece09", "children": [ - "0253b096b4850a30894e7b272ec5c39e2b2f4a23f8c40e76a3c64cfc63dc2999b6b34d6fafcc5a4d0ed9cf92e168a08d0674c93341e2393ee72dde6664918ec2405472616e736665722044656c656761746f720003014e6f64652049440000537472696e6700030144656c656761746f72204944000155496e743332000301416464726573730002416464726573730003" + "027e216d96d75414b27c2301a3b0a7816804d43014337a14731d1493531116d185a0fad319bf8aede66212257ad0d21532858381e2c9d7c4cec179b28180f5be93436c6f7365205374616b650002014e6f64652049440000537472696e6700030244656c656761746f72204944000155496e7433320003" ] } ] }, { - "hash": "d0b4592fc4f996b16fea83ab8dede757ea8bc270f4e1fbf2301e02fd38d175e3", + "hash": "c963f7dcc5a15dade0a6ef13e028a798944890bc52e064c8d30723f5443db761", "children": [ { - "hash": "08b2978dff804b0a39bb3b382a0d0e02fa7977297aab0cafcbcca6324fb7c97f", + "hash": "d5e8a39acc91672fed5c63361051e952a02f0be8c7680f262ee9bc4e08043db5", "children": [ - "0239a126038522c6c964d53aaf78dde55bfe80929091510792fe49678bb22cbd96f9c48e18bda7f113e82711a4c95dfd151c6600ed9fbf46ceb22566d6c5728c6f57697468647261772046726f6d204d616368696e65204163636f756e740002014e6f64652049440000537472696e67000301416d6f756e7400015546697836340003" + "02311f4071dda8b17ac6cbc6f0a27e98bd426026825d3c68308903fead884e616e38bfd23b200ecef4d13fa3c2ea998b51e6a24f3a8ceb260d2affab7c918a97d05472616e73666572204e6f64650002014e6f64652049440000537472696e67000301416464726573730001416464726573730003" ] }, { - "hash": "2af46777eb5a0ef7598b8472bcdde5e6139f4880cfb1313c97f0e81851eaa2ac", + "hash": "532d624dc9889df257473ba9bf6bf20f3105486ebc3018ee20eee29cc9f4dba3", "children": [ - "0260f2cf219d56b19dc7fd223caed42dda9143c87b1b0d2c21a9652e12a3714133ff067b40ac67020ef864cd14842f62023254da34dd2ded56affa1364305bf1c5557064617465204e6574776f726b696e6720416464726573730002014e6f64652049440000537472696e67000301416464726573730001537472696e670003" + "02f9fa239cb78b3e07b8f8d56e173e2673b4b53aeb07d507a769c8d96eaf400b8d11e2107d2ccd96cb6b3fa3a704491dcd9e1736215137304e0494243c21befc765472616e736665722044656c656761746f720003014e6f64652049440000537472696e6700030144656c656761746f72204944000155496e743332000301416464726573730002416464726573730003" ] }, { - "hash": "906e51df4d75e43aeb3042508b2f2f991401e5817820e5801c3b8e9e8a0fe419", + "hash": "89fe5ae4ec85ca632b4652c39fd6bdceacce20acd6547d9987c457816e3b8818", "children": [ - "026e73db6edd0190f5311f6adc5f2b1f27e9e60c68574b00ee90da867da52cdbb1a2146e3e6e7718779ce59376b88760c154d82b7d132fe2c377114ec7cf434e7b576974686472617720556e6c6f636b656420464c4f57000101416d6f756e7400005546697836340003" + "02fdd40862af04dc36dd0e9e727966c6f81dd6be8246b9c70afd18297aac9e86a8e12b16ef4218b8ce52189ae5814b381272bf473436978fae94d01c10c036903457697468647261772046726f6d204d616368696e65204163636f756e740002014e6f64652049440000537472696e67000301416d6f756e7400015546697836340003" ] }, { - "hash": "9c6ed50847ac0fea0a8d90d7cdc72cac07a0dbf9997c017749b9266c8c471ad5", + "hash": "6749b31ddc54f34849a702aef1fd9d6592d49f2afd2c2a53385aee928f9b3f97", "children": [ - "020cb11c10b86d2afeae086ef511d28b14760eb854935a0b0dcfeecc85db847f4874355dc8df221bc0d170b2fe8deacd6f1f554d6beea58ad9fee7a07f740eaefe4465706f73697420556e6c6f636b656420464c4f57000101416d6f756e7400005546697836340003" + "023a68789d8cd56e6c7b064057045a56340746aac710db57700de2c33eb6610e5f68d24560d9e49318dca82ab0975f526a8663d934225f0cb715cd1ff188def16d557064617465204e6574776f726b696e6720416464726573730002014e6f64652049440000537472696e67000301416464726573730001537472696e670003" ] }, { - "hash": "14b699e967e1fe928a4e3d49ceadbfad9f6a2bc84a8498cd0a643f2df8fd6ca5", + "hash": "9e8bff812b2f0545ce028d95c6daf6ca0ae43e212cf3c24f3ccfeb5bd03316b7", "children": [ - "02b6a3502d2205eb05ec18772c13b91cc88a056b325c2617c57948d38cab8db600b64e0e3ed9eb28789198f2b0437f55f750bfa76da99450f63be6543bde66122a5265676973746572204e6f64650006014e6f64652049440000537472696e670003014e6f646520526f6c65000155496e74380003014e6574772e20416464726573730002537472696e670003014e6574772e204b65790003537472696e670003015374616b696e67204b65790004537472696e67000301416d6f756e7400055546697836340003" + "02094798e93daeacaa9ff262486a3683ec5a5e2204407e7d00bc3416fbf3efa3b14a830e6f93f74179a99e17c7ae762980c7fdc428bc949767529be2f071ac52b9576974686472617720556e6c6f636b656420464c4f57000101416d6f756e7400005546697836340003" ] }, { - "hash": "d7bfefba9a51e8ea934e2cd6e3d808cbb8b2f16a616254067bea6b1a6a98b77e", + "hash": "a1a73556f8af48486b19446e0fe0a0e706d551aeeea3f0f1e410804b3128a3ad", "children": [ - "02d5689b89f53214e7ce9ba7be2bb651961f7e3036b85f9250494290da9e9ba9891929e4f38894b8641848a3c0a3b9d35495b35083d42e8a3d4c928b9db4174ee85374616b65204e6577204c6f636b656420464c4f57000101416d6f756e7400005546697836340003" + "0217ffcd60667893674d8d4044bdd8232959dc8b694df1dd88d1b9c5443352f253038382a947fa96bf2f4dfe5aa9b4b2abee1ef0975955175e80cf911c3edf4b614465706f73697420556e6c6f636b656420464c4f57000101416d6f756e7400005546697836340003" ] }, { - "hash": "8efd2e3d644d5e342a79ccf0b6a7a9fb89bbf4de74692cbce9bb1c18c75ece45", + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "children": [ - "0223e5bfd594bb3245090e3e0bafb9cb9246fc84d30e4a35a7fde1b51085624d86677cc0ac3962ec136ca26dbec0aa942d926640ecf8418433f0db4b7925f5d0fe52652d7374616b6520556e7374616b656420464c4f57000101416d6f756e7400005546697836340003" + "" ] } ] }, { - "hash": "c9967fd752058341822bc98880abb34e04d3afef58de0e256f2264991e548123", + "hash": "63981575be94aaa4f14daa9f27c6c2fd72b46de3994ed71abaec45aa4b40615a", "children": [ { - "hash": "4b050ad3dc73d4f5fb071e7c2b2bcb03b6e16eb056786a20da2db4d7c38e1be0", + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "children": [ - "02239319825ad68178e76465b5ea18cb43f06c4ee11341f8fe9424809163a027a528d1719c5b21c88c62665db5ba04886809f3234c27057b057c36d5f265ee9de452652d7374616b6520526577617264656420464c4f57000101416d6f756e7400005546697836340003" + "" ] }, { - "hash": "c45fd23265a1c89dbc044686a3a3f4e2dd2a02bfc778e41c4d105a9b1e43be8b", + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "children": [ - "0233e3977c45e7c23c1472bcf334d00b03ebf91b06b67c57b63b562c7b1ff5c59f4e2a35541453f89c55e5dc6dbc963290380d779c81df0b3bf89c29b2a8d7a9fe5265717565737420556e7374616b65206f6620464c4f57000101416d6f756e7400005546697836340003" + "" ] }, { - "hash": "37868c4f30cd62f1e6fcb3f237eafdbe15400489fc2e636d17763fedc6c16541", + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "children": [ - "02f92c4cd663b2e335cd821a656bb2ebcf239b222036a7825af5e512fad4d820357099904b953b062e81e2575a2c2081b3d98bfccf5c743b4bdb224b937e292dad556e7374616b6520416c6c20464c4f570000" + "" ] }, { - "hash": "08dbfc695ea6b333a55acdc60a2991f68dd408347391bc6f34f91ea1a0d543da", + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "children": [ - "0290097e3aff9b67f65bbada3cdedbb73d45d093ff333aaaff38809bf9910a3e39dcae4faa6d689873f7caf7c5efef669f9fe1d4113e58b474b7aec1e07113a7ff576974686472617720556e7374616b656420464c4f57000101416d6f756e7400005546697836340003" + "" ] }, { - "hash": "21c0ba1073bacb222bfb082d711267cb218e924c3d8f1539f946c06a886c6584", + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "children": [ - "02f23406ff402f02418629432912ce732be0441b1a7e71f16c03d688a165ff7f499bb8f0562eea5e45c11f9289540f39c99a21c9a0fb060a7d3f832e98c2696f2d576974686472617720526577617264656420464c4f57000101416d6f756e7400005546697836340003" + "" ] }, { - "hash": "16f489e59aacc8e770b1b6e3879d141cb4d7cdcad64f05e046bccf0968fbc69a", + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "children": [ - "02c29d4024aaeb71ab478182542499e0ba3d5d303ec027252e3b8333515ee3de4897b3436482c5aefc1baf8b850e92c829202e468c57241dec707b6c27bd89d15c5265676973746572204f70657261746f72204e6f64650003014f70657261746f7220416464726573730000416464726573730003014e6f64652049440001537472696e67000301416d6f756e7400025546697836340003" + "" ] }, { - "hash": "c97602b25a02199c3084483d155cb1aee1182218c7897cdacc75ed797e5790e3", + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "children": [ - "021378405c85e0c966344b196c0fce602f39e79f3938ec7b689e0c96a8703b018a3cb357a97a57d9abbe5c68f0df342ee96ba97ade2013753fd2ddf47695a8c08a52656769737465722044656c656761746f720002014e6f64652049440000537472696e67000301416d6f756e7400015546697836340003" + "" ] } ] }, { - "hash": "53b33a3b57dd772b1dff0636374eb01bc7839efd7677d32399380c37f9a2d036", + "hash": "63981575be94aaa4f14daa9f27c6c2fd72b46de3994ed71abaec45aa4b40615a", "children": [ { - "hash": "f7b70beddf1263ba42357da3f252616fde2eeb2778ad203dd4875d5ae14648c9", + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "children": [ - "0218fad68368a4394b245db91217d7dc979e1316ab757388d416eaef831f565ab3802354d8b3e7908e584bcb5217637fb9f4ef045427c32d57d81ad4a390ed1a6044656c6567617465204e6577204c6f636b656420464c4f57000101416d6f756e7400005546697836340003" + "" ] }, { - "hash": "d67d1649a5dce91ab18dab849b0f778d9e16418f885dea1f052fbf6b3cf72dc2", + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "children": [ - "028776b1521b04395754734f8f40d4a0482863274f8d832973d9e011b3cbb48c852027331b72d8710a1a05feb6ecebadb5858d134bc8c95d6f261319cd9fa1bb9552652d64656c656761746520556e7374616b656420464c4f57000101416d6f756e7400005546697836340003" + "" ] }, { - "hash": "d987b586f0cea4efd10d34d08f022a72d15d3a1387f8d14499fbf135850ba9ed", + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "children": [ - "026b40ffc9169abd75107a45da5974c7e502d38773275abb231d747e4760b7ebee864edbff384335ef21c26b3bcf17d36b2b1d894afbe2b203f58099cc457971e452652d64656c656761746520526577617264656420464c4f57000101416d6f756e7400005546697836340003" + "" ] }, { - "hash": "bc2e00772331f81862b03c4f59599ab89e93b7e08d11768c53895e393687d107", + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "children": [ - "0261cbcd1c31bbfc9ceb4a5ac726e2f8b3d845a4fdf59b0ab23cbbfa8f16d7a024262aeddd3f49fd6222d706c02696bd7d359ba962b6c30232cc93d7cf4166a23e556e7374616b652044656c65676174656420464c4f57000101416d6f756e7400005546697836340003" + "" ] }, { - "hash": "7b5b7372017ee19ffcd4daf5bf144219907aa558a65f2ffe4ca99f8e87387af0", + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "children": [ - "022ae983f78e32b989fafa58ee7910b131fb51a2a74356f7916624695cb8bf596412675a013c064b6d0ef11dbf13f92210489bf2b3d299b2f14cd09be70b37577f576974686472617720556e7374616b656420464c4f57000101416d6f756e7400005546697836340003" + "" ] }, { - "hash": "d7d9fbd0a1e6c91685562e0e3fa922af423ce0f5b284758531f5ba55adfb7cac", + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "children": [ - "02385042aa453566fcff0b2bd418b837d8f46fbc23b1b46e6651b25a395bc04be8239ffa449eae5560eec3e99633dcf9c63b1e9c99996d1c5636644dceef9ec44b576974686472617720526577617264656420464c4f57000101416d6f756e7400005546697836340003" + "" ] }, { - "hash": "b051a776ea2ddfe310cb34c965eac396818c318226539d7dc2ba1c2bd41aae31", + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "children": [ - "026cbe81c71d2b04dc403ea0db89377f0abc5db14d3d2bd014397b2776aa29bc3ee79cb076f2f7da7a3039b5061916e081a823087f1560bdf3caea773992892873557064617465204e6574776f726b696e672041646472657373000101416464726573730000537472696e670003" + "" ] } ] }, { - "hash": "04b126988dc8f00c41d922c13e0ae5a4e7d83f18b44935103cdbbd7c2229d53f", + "hash": "63981575be94aaa4f14daa9f27c6c2fd72b46de3994ed71abaec45aa4b40615a", "children": [ { - "hash": "2e5e81d09ba5387bc9ff4a1e691d6847ecf66f667550937ca3da595d0006a16f", + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "children": [ - "020f0baeef9353ceee607c5be3b7c0f86792dadf20b9e9c89e831adb0199e758827511848f1c27a173d966f4b868fd7efead7eeb1bbf04fc3f3e60dabc6c7f759353657420757020546f702053686f7420436f6c6c656374696f6e0000" + "" ] }, { - "hash": "07ed2407699d5b48472d3d6b4b49c75f0758af64fff518c85b886dfb1ebfacd8", + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "children": [ - "021ec9aea0b51409610f882f5ae4278567da675542bb378eb999f05b7c4f12f7d809d5ad21bf70dfe4f8d800db9e61a77f2f64837ae0e818c3cd67e9cea837a1cf5472616e7366657220546f702053686f74204d6f6d656e74000201526563697069656e740000416464726573730003014d6f6d656e74204944000155496e7436340003" + "" ] }, { - "hash": "bf21d978d979a90615ea5fde48c41ab7a342b0b53ced3b67718029bb13bc927f", + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "children": [ - "022defee818c0c003ca519f83517f4c7bcf9dd8664a562ec80959cb6146428f971887673892a2e2c12337394570dfa30c5669e93f537ae426690f402799514a9a153657475702055534443205661756c740000" + "" ] }, { - "hash": "2a9d013b868ee0cdf8f83b5d4a80f62a78b30176a425e7a11f444af2ff1e3552", + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "children": [ - "02512485ec3f8e007853b0ea2a22fb2b9f7e2fa55fd9819171c5d013282efee60a7ff4d9f53ba5eebda556d0ead0ca13911bc8996e2c91c5147f8787d10a3244835472616e736665722055534443000201416d6f756e740000554669783634000301526563697069656e740001416464726573730003" + "" ] }, { @@ -2421,551 +2421,311 @@ } merkleIndex = { - "eef2d04944485541": [ + "63d8b6a045bf8e61": [ 0, 0, 0, 0 ], - "595c86561441b32b": [ + "21d4e87df171ccbe": [ 0, 0, 0, 1 ], - "ca80b628d985b358": [ - 0, - 0, - 0, - 2 - ], - "d56f4e1d2355cdcf": [ + "6c7ab72837fdce77": [ 0, 0, 0, 2 ], - "47851586d962335e": [ - 0, - 0, - 0, - 2 - ], - "0ffaf77ab320ce4c": [ + "3ccbbfebf10c47c4": [ 0, 0, 0, 3 ], - "aa7fecdf159e71bd": [ + "0246076f1cf5d316": [ 0, 0, 0, 3 ], - "f22ca4b350a79c72": [ + "c9b9a61562808127": [ 0, 0, 0, 4 ], - "180cef7053a5f0ae": [ + "6e5b8c83a3e8445e": [ 0, 0, 0, 4 ], - "a524b4094fcaf105": [ + "c1518742a95f9b49": [ 0, 0, 0, 5 ], - "0e5c2445c0b1016e": [ + "697ad2a90da93cbd": [ 0, 0, 0, 5 ], - "c26f69a33ead535e": [ + "d9ef3b05f8b06d43": [ 0, 0, 0, 6 ], - "c5636d510872a16e": [ + "1d12c005fa7a0827": [ 0, 0, 0, 6 ], - "f47efa834bc0559a": [ + "f08815a2f535512a": [ 0, 0, 1, 0 ], - "99997236b6d76caa": [ + "a56eb0c3e6c3456e": [ 0, 0, 1, 0 ], - "9246ec9b7a5c8115": [ + "b7892b30d7a68531": [ 0, 0, 1, 1 ], - "79de7119aea61bda": [ + "111142945f27d91b": [ 0, 0, 1, 1 ], - "e79df145af42488e": [ + "861784e7ac135a9c": [ 0, 0, 1, 2 ], - "c2442b498eea0250": [ + "69f30decc15bd781": [ 0, 0, 1, 2 ], - "86c69d731560f3bf": [ + "e093df9c425be9cd": [ 0, 0, 1, 3 ], - "dd3b327b09087ea7": [ + "0a41e53ad3c9c1c1": [ 0, 0, 1, 3 ], - "b00f6b3b9d8d7d4a": [ + "deb5f758f3eb3b12": [ 0, 0, 1, 4 ], - "a552951c5e6300a1": [ + "3b0b2bbc3a2ad674": [ 0, 0, 1, 4 ], - "1307928440cee428": [ + "4c1ad61500bcd0d3": [ 0, 0, 1, 5 ], - "8e10ac56db8ec5d5": [ + "f0a6cedb6703cd4c": [ 0, 0, 1, 5 ], - "d7aca7113a7aa03e": [ + "2d59f2c2c402f919": [ 0, 0, 1, 6 ], - "907c4cfd67a98a80": [ + "f26c058a127500fc": [ 0, 0, 1, 6 ], - "3595fcd68cff445c": [ + "cf2b039500773524": [ 0, 0, 2, 0 ], - "082e690b9647182c": [ + "4c06589343524860": [ 0, 0, 2, 0 ], - "0bde358f3965ba2f": [ + "4395faf2e515eea4": [ 0, 0, 2, 1 ], - "df9c6486baa6f8f6": [ + "c989e8b3beb9c2eb": [ 0, 0, 2, 1 ], - "3af182f568b37a80": [ + "0b1721f2a8ef6c0c": [ 0, 0, 2, 2 ], - "27a2b60d538b8bb8": [ + "fe6adb75bf22b203": [ 0, 0, 2, 2 ], - "68879197d961bb10": [ + "c84843e3399be2ce": [ 0, 0, 2, 3 ], - "6d50ab1ef3d74203": [ + "1c8256fb857f6c6f": [ 0, 0, 2, 3 ], - "079aaa9cfb221384": [ + "5a07ca4c016973bd": [ 0, 0, 2, 4 ], - "ecdffc1ae67479bc": [ + "fbd8ebbfff7a88b6": [ 0, 0, 2, 4 ], - "2386d7ae1a5b936e": [ + "01fd4ea83d20510d": [ 0, 0, 2, 5 ], - "cdc3a63d0c75ea95": [ + "c2484f17e640e285": [ 0, 0, 2, 5 ], - "53b096b4850a3089": [ + "7e216d96d75414b2": [ 0, 0, 2, 6 ], - "b34d6fafcc5a4d0e": [ + "a0fad319bf8aede6": [ 0, 0, 2, 6 ], - "39a126038522c6c9": [ + "311f4071dda8b17a": [ 0, 0, 3, 0 ], - "f9c48e18bda7f113": [ + "38bfd23b200ecef4": [ 0, 0, 3, 0 ], - "60f2cf219d56b19d": [ + "f9fa239cb78b3e07": [ 0, 0, 3, 1 ], - "ff067b40ac67020e": [ + "11e2107d2ccd96cb": [ 0, 0, 3, 1 ], - "6e73db6edd0190f5": [ + "fdd40862af04dc36": [ 0, 0, 3, 2 ], - "a2146e3e6e771877": [ + "e12b16ef4218b8ce": [ 0, 0, 3, 2 ], - "0cb11c10b86d2afe": [ + "3a68789d8cd56e6c": [ 0, 0, 3, 3 ], - "74355dc8df221bc0": [ + "68d24560d9e49318": [ 0, 0, 3, 3 ], - "b6a3502d2205eb05": [ + "094798e93daeacaa": [ 0, 0, 3, 4 ], - "b64e0e3ed9eb2878": [ + "4a830e6f93f74179": [ 0, 0, 3, 4 ], - "d5689b89f53214e7": [ + "17ffcd6066789367": [ 0, 0, 3, 5 ], - "1929e4f38894b864": [ + "038382a947fa96bf": [ 0, 0, 3, 5 - ], - "23e5bfd594bb3245": [ - 0, - 0, - 3, - 6 - ], - "677cc0ac3962ec13": [ - 0, - 0, - 3, - 6 - ], - "239319825ad68178": [ - 0, - 0, - 4, - 0 - ], - "28d1719c5b21c88c": [ - 0, - 0, - 4, - 0 - ], - "33e3977c45e7c23c": [ - 0, - 0, - 4, - 1 - ], - "4e2a35541453f89c": [ - 0, - 0, - 4, - 1 - ], - "f92c4cd663b2e335": [ - 0, - 0, - 4, - 2 - ], - "7099904b953b062e": [ - 0, - 0, - 4, - 2 - ], - "90097e3aff9b67f6": [ - 0, - 0, - 4, - 3 - ], - "dcae4faa6d689873": [ - 0, - 0, - 4, - 3 - ], - "f23406ff402f0241": [ - 0, - 0, - 4, - 4 - ], - "9bb8f0562eea5e45": [ - 0, - 0, - 4, - 4 - ], - "c29d4024aaeb71ab": [ - 0, - 0, - 4, - 5 - ], - "97b3436482c5aefc": [ - 0, - 0, - 4, - 5 - ], - "1378405c85e0c966": [ - 0, - 0, - 4, - 6 - ], - "3cb357a97a57d9ab": [ - 0, - 0, - 4, - 6 - ], - "18fad68368a4394b": [ - 0, - 0, - 5, - 0 - ], - "802354d8b3e7908e": [ - 0, - 0, - 5, - 0 - ], - "8776b1521b043957": [ - 0, - 0, - 5, - 1 - ], - "2027331b72d8710a": [ - 0, - 0, - 5, - 1 - ], - "6b40ffc9169abd75": [ - 0, - 0, - 5, - 2 - ], - "864edbff384335ef": [ - 0, - 0, - 5, - 2 - ], - "61cbcd1c31bbfc9c": [ - 0, - 0, - 5, - 3 - ], - "262aeddd3f49fd62": [ - 0, - 0, - 5, - 3 - ], - "2ae983f78e32b989": [ - 0, - 0, - 5, - 4 - ], - "12675a013c064b6d": [ - 0, - 0, - 5, - 4 - ], - "385042aa453566fc": [ - 0, - 0, - 5, - 5 - ], - "239ffa449eae5560": [ - 0, - 0, - 5, - 5 - ], - "6cbe81c71d2b04dc": [ - 0, - 0, - 5, - 6 - ], - "e79cb076f2f7da7a": [ - 0, - 0, - 5, - 6 - ], - "0f0baeef9353ceee": [ - 0, - 0, - 6, - 0 - ], - "7511848f1c27a173": [ - 0, - 0, - 6, - 0 - ], - "1ec9aea0b5140961": [ - 0, - 0, - 6, - 1 - ], - "09d5ad21bf70dfe4": [ - 0, - 0, - 6, - 1 - ], - "2defee818c0c003c": [ - 0, - 0, - 6, - 2 - ], - "887673892a2e2c12": [ - 0, - 0, - 6, - 2 - ], - "512485ec3f8e0078": [ - 0, - 0, - 6, - 3 - ], - "7ff4d9f53ba5eebd": [ - 0, - 0, - 6, - 3 ] } diff --git a/tests/manifestPayloadCases.json b/tests/manifestPayloadCases.json index ff142996..eac35cc9 100644 --- a/tests/manifestPayloadCases.json +++ b/tests/manifestPayloadCases.json @@ -1,64 +1,26 @@ [ { - "title": "TH.01 - Withdraw Unlocked FLOW", + "title": "FA.01 - Create Account", "valid": true, "chainID": "Testnet", "payloadMessage": { - "script": "import FungibleToken from 0x9a0766d93b6608b7\nimport FlowToken from 0x7e60df042a9c0868\nimport LockedTokens from 0x95e019a17d0e23d7\n\ntransaction(amount: UFix64) {\n\n let holderRef: &LockedTokens.TokenHolder\n let vaultRef: &FlowToken.Vault\n\n prepare(acct: AuthAccount) {\n self.holderRef = acct.borrow<&LockedTokens.TokenHolder>(from: LockedTokens.TokenHolderStoragePath)\n ?? panic(\"Could not borrow a reference to TokenHolder\")\n\n self.vaultRef = acct.borrow<&FlowToken.Vault>(from: /storage/flowTokenVault)\n ?? panic(\"Could not borrow flow token vault ref\")\n }\n\n execute {\n self.vaultRef.deposit(from: <-self.holderRef.withdraw(amount: amount))\n }\n}\n", + "script": "import Crypto\n\ntransaction(key: String, signatureAlgorithm: UInt8, hashAlgorithm: UInt8, weight: UFix64) {\n\tprepare(signer: auth(BorrowValue, Storage) &Account) {\n\t\tpre {\n\t\t\tsignatureAlgorithm >= 1 && signatureAlgorithm <= 3: \"Must provide a signature algoritm raw value that is 1, 2, or 3\"\n\t\t\thashAlgorithm >= 1 && hashAlgorithm <= 6: \"Must provide a hash algoritm raw value that is between 1 and 6\"\n\t\t\tweight <= 1000.0: \"The key weight must be between 0 and 1000\"\n\t\t}\n\n\t\tlet publicKey = PublicKey(\n\t\t\tpublicKey: key.decodeHex(),\n\t\t\tsignatureAlgorithm: SignatureAlgorithm(rawValue: signatureAlgorithm)!\n\t\t)\n\n\t\tlet account = Account(payer: signer)\n\n\t\taccount.keys.add(publicKey: publicKey, hashAlgorithm: HashAlgorithm(rawValue: hashAlgorithm)!, weight: weight)\n\t}\n}", "arguments": [ { - "type": "UFix64", - "value": "92233720368.54775808" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "99a8ac2c71d4f6bd", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "99a8ac2c71d4f6bd", - "authorizers": [ - "99a8ac2c71d4f6bd" - ] - }, - "envelopeMessage": { - "script": "import FungibleToken from 0x9a0766d93b6608b7\nimport FlowToken from 0x7e60df042a9c0868\nimport LockedTokens from 0x95e019a17d0e23d7\n\ntransaction(amount: UFix64) {\n\n let holderRef: &LockedTokens.TokenHolder\n let vaultRef: &FlowToken.Vault\n\n prepare(acct: AuthAccount) {\n self.holderRef = acct.borrow<&LockedTokens.TokenHolder>(from: LockedTokens.TokenHolderStoragePath)\n ?? panic(\"Could not borrow a reference to TokenHolder\")\n\n self.vaultRef = acct.borrow<&FlowToken.Vault>(from: /storage/flowTokenVault)\n ?? panic(\"Could not borrow flow token vault ref\")\n }\n\n execute {\n self.vaultRef.deposit(from: <-self.holderRef.withdraw(amount: amount))\n }\n}\n", - "arguments": [ + "type": "String", + "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164" + }, { - "type": "UFix64", - "value": "92233720368.54775808" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "99a8ac2c71d4f6bd", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "99a8ac2c71d4f6bd", - "authorizers": [ - "99a8ac2c71d4f6bd" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f90338b902c3696d706f72742046756e6769626c65546f6b656e2066726f6d203078396130373636643933623636303862370a696d706f727420466c6f77546f6b656e2066726f6d203078376536306466303432613963303836380a696d706f7274204c6f636b6564546f6b656e732066726f6d203078393565303139613137643065323364370a0a7472616e73616374696f6e28616d6f756e743a2055466978363429207b0a0a202020206c657420686f6c6465725265663a20264c6f636b6564546f6b656e732e546f6b656e486f6c6465720a202020206c6574207661756c745265663a2026466c6f77546f6b656e2e5661756c740a0a202020207072657061726528616363743a20417574684163636f756e7429207b0a202020202020202073656c662e686f6c646572526566203d20616363742e626f72726f773c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f20546f6b656e486f6c64657222290a0a202020202020202073656c662e7661756c74526566203d20616363742e626f72726f773c26466c6f77546f6b656e2e5661756c743e2866726f6d3a202f73746f726167652f666c6f77546f6b656e5661756c74290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f7720666c6f7720746f6b656e207661756c742072656622290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7661756c745265662e6465706f7369742866726f6d3a203c2d73656c662e686f6c6465725265662e776974686472617728616d6f756e743a20616d6f756e7429290a202020207d0a7d0af1b07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", - "encodedTransactionEnvelopeHex": "f9033cf90338b902c3696d706f72742046756e6769626c65546f6b656e2066726f6d203078396130373636643933623636303862370a696d706f727420466c6f77546f6b656e2066726f6d203078376536306466303432613963303836380a696d706f7274204c6f636b6564546f6b656e732066726f6d203078393565303139613137643065323364370a0a7472616e73616374696f6e28616d6f756e743a2055466978363429207b0a0a202020206c657420686f6c6465725265663a20264c6f636b6564546f6b656e732e546f6b656e486f6c6465720a202020206c6574207661756c745265663a2026466c6f77546f6b656e2e5661756c740a0a202020207072657061726528616363743a20417574684163636f756e7429207b0a202020202020202073656c662e686f6c646572526566203d20616363742e626f72726f773c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f20546f6b656e486f6c64657222290a0a202020202020202073656c662e7661756c74526566203d20616363742e626f72726f773c26466c6f77546f6b656e2e5661756c743e2866726f6d3a202f73746f726167652f666c6f77546f6b656e5661756c74290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f7720666c6f7720746f6b656e207661756c742072656622290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7661756c745265662e6465706f7369742866726f6d3a203c2d73656c662e686f6c6465725265662e776974686472617728616d6f756e743a20616d6f756e7429290a202020207d0a7d0af1b07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", - "metadata": "026e73db6edd0190f5311f6adc5f2b1f27e9e60c68574b00ee90da867da52cdbb1a2146e3e6e7718779ce59376b88760c154d82b7d132fe2c377114ec7cf434e7b576974686472617720556e6c6f636b656420464c4f57000101416d6f756e7400005546697836340003", - "hash": "6e73db6edd0190f5311f6adc5f2b1f27e9e60c68574b00ee90da867da52cdbb1" - }, - { - "title": "TH.02 - Deposit Unlocked FLOW", - "valid": true, - "chainID": "Testnet", - "payloadMessage": { - "script": "import FungibleToken from 0x9a0766d93b6608b7\nimport FlowToken from 0x7e60df042a9c0868\nimport LockedTokens from 0x95e019a17d0e23d7\n\ntransaction(amount: UFix64) {\n\n let holderRef: &LockedTokens.TokenHolder\n let vaultRef: &FlowToken.Vault\n\n prepare(acct: AuthAccount) {\n self.holderRef = acct.borrow<&LockedTokens.TokenHolder>(from: LockedTokens.TokenHolderStoragePath)\n ?? panic(\"Could not borrow a reference to TokenHolder\")\n\n self.vaultRef = acct.borrow<&FlowToken.Vault>(from: /storage/flowTokenVault)\n ?? panic(\"Could not borrow flow token vault ref\")\n }\n\n execute {\n self.holderRef.deposit(from: <-self.vaultRef.withdraw(amount: amount))\n }\n}\n", - "arguments": [ + "value": "1", + "type": "UInt8" + }, { - "type": "UFix64", - "value": "92233720368.54775808" + "value": "1", + "type": "UInt8" + }, + { + "value": "1000.00000000", + "type": "UFix64" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -74,11 +36,23 @@ ] }, "envelopeMessage": { - "script": "import FungibleToken from 0x9a0766d93b6608b7\nimport FlowToken from 0x7e60df042a9c0868\nimport LockedTokens from 0x95e019a17d0e23d7\n\ntransaction(amount: UFix64) {\n\n let holderRef: &LockedTokens.TokenHolder\n let vaultRef: &FlowToken.Vault\n\n prepare(acct: AuthAccount) {\n self.holderRef = acct.borrow<&LockedTokens.TokenHolder>(from: LockedTokens.TokenHolderStoragePath)\n ?? panic(\"Could not borrow a reference to TokenHolder\")\n\n self.vaultRef = acct.borrow<&FlowToken.Vault>(from: /storage/flowTokenVault)\n ?? panic(\"Could not borrow flow token vault ref\")\n }\n\n execute {\n self.holderRef.deposit(from: <-self.vaultRef.withdraw(amount: amount))\n }\n}\n", + "script": "import Crypto\n\ntransaction(key: String, signatureAlgorithm: UInt8, hashAlgorithm: UInt8, weight: UFix64) {\n\tprepare(signer: auth(BorrowValue, Storage) &Account) {\n\t\tpre {\n\t\t\tsignatureAlgorithm >= 1 && signatureAlgorithm <= 3: \"Must provide a signature algoritm raw value that is 1, 2, or 3\"\n\t\t\thashAlgorithm >= 1 && hashAlgorithm <= 6: \"Must provide a hash algoritm raw value that is between 1 and 6\"\n\t\t\tweight <= 1000.0: \"The key weight must be between 0 and 1000\"\n\t\t}\n\n\t\tlet publicKey = PublicKey(\n\t\t\tpublicKey: key.decodeHex(),\n\t\t\tsignatureAlgorithm: SignatureAlgorithm(rawValue: signatureAlgorithm)!\n\t\t)\n\n\t\tlet account = Account(payer: signer)\n\n\t\taccount.keys.add(publicKey: publicKey, hashAlgorithm: HashAlgorithm(rawValue: hashAlgorithm)!, weight: weight)\n\t}\n}", "arguments": [ { - "type": "UFix64", - "value": "92233720368.54775808" + "type": "String", + "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164" + }, + { + "value": "1", + "type": "UInt8" + }, + { + "value": "1", + "type": "UInt8" + }, + { + "value": "1000.00000000", + "type": "UFix64" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -94,41 +68,33 @@ ], "payloadSigs": [] }, - "encodedTransactionPayloadHex": "f90338b902c3696d706f72742046756e6769626c65546f6b656e2066726f6d203078396130373636643933623636303862370a696d706f727420466c6f77546f6b656e2066726f6d203078376536306466303432613963303836380a696d706f7274204c6f636b6564546f6b656e732066726f6d203078393565303139613137643065323364370a0a7472616e73616374696f6e28616d6f756e743a2055466978363429207b0a0a202020206c657420686f6c6465725265663a20264c6f636b6564546f6b656e732e546f6b656e486f6c6465720a202020206c6574207661756c745265663a2026466c6f77546f6b656e2e5661756c740a0a202020207072657061726528616363743a20417574684163636f756e7429207b0a202020202020202073656c662e686f6c646572526566203d20616363742e626f72726f773c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f20546f6b656e486f6c64657222290a0a202020202020202073656c662e7661756c74526566203d20616363742e626f72726f773c26466c6f77546f6b656e2e5661756c743e2866726f6d3a202f73746f726167652f666c6f77546f6b656e5661756c74290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f7720666c6f7720746f6b656e207661756c742072656622290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e686f6c6465725265662e6465706f7369742866726f6d3a203c2d73656c662e7661756c745265662e776974686472617728616d6f756e743a20616d6f756e7429290a202020207d0a7d0af1b07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", - "encodedTransactionEnvelopeHex": "f9033cf90338b902c3696d706f72742046756e6769626c65546f6b656e2066726f6d203078396130373636643933623636303862370a696d706f727420466c6f77546f6b656e2066726f6d203078376536306466303432613963303836380a696d706f7274204c6f636b6564546f6b656e732066726f6d203078393565303139613137643065323364370a0a7472616e73616374696f6e28616d6f756e743a2055466978363429207b0a0a202020206c657420686f6c6465725265663a20264c6f636b6564546f6b656e732e546f6b656e486f6c6465720a202020206c6574207661756c745265663a2026466c6f77546f6b656e2e5661756c740a0a202020207072657061726528616363743a20417574684163636f756e7429207b0a202020202020202073656c662e686f6c646572526566203d20616363742e626f72726f773c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f20546f6b656e486f6c64657222290a0a202020202020202073656c662e7661756c74526566203d20616363742e626f72726f773c26466c6f77546f6b656e2e5661756c743e2866726f6d3a202f73746f726167652f666c6f77546f6b656e5661756c74290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f7720666c6f7720746f6b656e207661756c742072656622290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e686f6c6465725265662e6465706f7369742866726f6d3a203c2d73656c662e7661756c745265662e776974686472617728616d6f756e743a20616d6f756e7429290a202020207d0a7d0af1b07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", - "metadata": "020cb11c10b86d2afeae086ef511d28b14760eb854935a0b0dcfeecc85db847f4874355dc8df221bc0d170b2fe8deacd6f1f554d6beea58ad9fee7a07f740eaefe4465706f73697420556e6c6f636b656420464c4f57000101416d6f756e7400005546697836340003", - "hash": "0cb11c10b86d2afeae086ef511d28b14760eb854935a0b0dcfeecc85db847f48" + "encodedTransactionPayloadHex": "f90454b902fe696d706f72742043727970746f0a0a7472616e73616374696f6e286b65793a20537472696e672c207369676e6174757265416c676f726974686d3a2055496e74382c2068617368416c676f726974686d3a2055496e74382c207765696768743a2055466978363429207b0a0970726570617265287369676e65723a206175746828426f72726f7756616c75652c2053746f726167652920264163636f756e7429207b0a0909707265207b0a0909097369676e6174757265416c676f726974686d203e3d2031202626207369676e6174757265416c676f726974686d203c3d20333a20224d7573742070726f766964652061207369676e617475726520616c676f7269746d207261772076616c7565207468617420697320312c20322c206f722033220a09090968617368416c676f726974686d203e3d20312026262068617368416c676f726974686d203c3d20363a20224d7573742070726f766964652061206861736820616c676f7269746d207261772076616c75652074686174206973206265747765656e203120616e642036220a090909776569676874203c3d20313030302e303a2022546865206b657920776569676874206d757374206265206265747765656e203020616e642031303030220a09097d0a0a09096c6574207075626c69634b6579203d205075626c69634b6579280a0909097075626c69634b65793a206b65792e6465636f646548657828292c0a0909097369676e6174757265416c676f726974686d3a205369676e6174757265416c676f726974686d2872617756616c75653a207369676e6174757265416c676f726974686d29210a0909290a0a09096c6574206163636f756e74203d204163636f756e742870617965723a207369676e6572290a0a09096163636f756e742e6b6579732e616464287075626c69634b65793a207075626c69634b65792c2068617368416c676f726974686d3a2048617368416c676f726974686d2872617756616c75653a2068617368416c676f726974686d29212c207765696768743a20776569676874290a097d0a7df90110b8aa7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634227d9c7b2276616c7565223a2231222c2274797065223a2255496e7438227d9c7b2276616c7565223a2231222c2274797065223a2255496e7438227da97b2276616c7565223a22313030302e3030303030303030222c2274797065223a22554669783634227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", + "encodedTransactionEnvelopeHex": "f90458f90454b902fe696d706f72742043727970746f0a0a7472616e73616374696f6e286b65793a20537472696e672c207369676e6174757265416c676f726974686d3a2055496e74382c2068617368416c676f726974686d3a2055496e74382c207765696768743a2055466978363429207b0a0970726570617265287369676e65723a206175746828426f72726f7756616c75652c2053746f726167652920264163636f756e7429207b0a0909707265207b0a0909097369676e6174757265416c676f726974686d203e3d2031202626207369676e6174757265416c676f726974686d203c3d20333a20224d7573742070726f766964652061207369676e617475726520616c676f7269746d207261772076616c7565207468617420697320312c20322c206f722033220a09090968617368416c676f726974686d203e3d20312026262068617368416c676f726974686d203c3d20363a20224d7573742070726f766964652061206861736820616c676f7269746d207261772076616c75652074686174206973206265747765656e203120616e642036220a090909776569676874203c3d20313030302e303a2022546865206b657920776569676874206d757374206265206265747765656e203020616e642031303030220a09097d0a0a09096c6574207075626c69634b6579203d205075626c69634b6579280a0909097075626c69634b65793a206b65792e6465636f646548657828292c0a0909097369676e6174757265416c676f726974686d3a205369676e6174757265416c676f726974686d2872617756616c75653a207369676e6174757265416c676f726974686d29210a0909290a0a09096c6574206163636f756e74203d204163636f756e742870617965723a207369676e6572290a0a09096163636f756e742e6b6579732e616464287075626c69634b65793a207075626c69634b65792c2068617368416c676f726974686d3a2048617368416c676f726974686d2872617756616c75653a2068617368416c676f726974686d29212c207765696768743a20776569676874290a097d0a7df90110b8aa7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634227d9c7b2276616c7565223a2231222c2274797065223a2255496e7438227d9c7b2276616c7565223a2231222c2274797065223a2255496e7438227da97b2276616c7565223a22313030302e3030303030303030222c2274797065223a22554669783634227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", + "metadata": "0263d8b6a045bf8e6196198184db685c2cf22932503ccb2dcb85c7d2dc04c882ba63d8b6a045bf8e6196198184db685c2cf22932503ccb2dcb85c7d2dc04c882ba437265617465204163636f756e740004015075626c6963204b65790000537472696e670003015261772056616c756520666f72205369676e617475726520416c676f726974686d20456e756d000155496e74380003015261772056616c756520666f72204861736820416c676f726974686d20456e756d000255496e74380003014b65792057656967687400035546697836340003", + "hash": "63d8b6a045bf8e6196198184db685c2cf22932503ccb2dcb85c7d2dc04c882ba" }, { - "title": "TH.06 - Register Node", + "title": "FA.02 - Add Key", "valid": true, "chainID": "Testnet", "payloadMessage": { - "script": "import FlowToken from 0x7e60df042a9c0868\nimport LockedTokens from 0x95e019a17d0e23d7\nimport StakingProxy from 0x7aad92e5a0715d21\n\ntransaction(id: String, role: UInt8, networkingAddress: String, networkingKey: String, stakingKey: String, amount: UFix64) {\n\n let holderRef: &LockedTokens.TokenHolder\n\n let vaultRef: &FlowToken.Vault\n\n prepare(account: AuthAccount) {\n self.holderRef = account.borrow<&LockedTokens.TokenHolder>(from: LockedTokens.TokenHolderStoragePath)\n ?? panic(\"Could not borrow ref to TokenHolder\")\n\n self.vaultRef = account.borrow<&FlowToken.Vault>(from: /storage/flowTokenVault)\n ?? panic(\"Could not borrow flow token vault reference\")\n }\n\n execute {\n let nodeInfo = StakingProxy.NodeInfo(id: id, role: role, networkingAddress: networkingAddress, networkingKey: networkingKey, stakingKey: stakingKey)\n\n let lockedBalance = self.holderRef.getLockedAccountBalance()\n\n if amount <= lockedBalance {\n\n self.holderRef.createNodeStaker(nodeInfo: nodeInfo, amount: amount)\n\n } else if ((amount - lockedBalance) <= self.vaultRef.balance) {\n\n self.holderRef.deposit(from: <-self.vaultRef.withdraw(amount: amount - lockedBalance))\n\n self.holderRef.createNodeStaker(nodeInfo: nodeInfo, amount: amount)\n\n } else {\n panic(\"Not enough tokens to stake!\")\n }\n \n }\n}\n", + "script": "import Crypto\n\ntransaction(key: String, signatureAlgorithm: UInt8, hashAlgorithm: UInt8, weight: UFix64) {\n\n\tprepare(signer: auth(AddKey) &Account) {\n\t\tpre {\n\t\t\tsignatureAlgorithm >= 1 && signatureAlgorithm <= 3: \"Must provide a signature algoritm raw value that is 1, 2, or 3\"\n\t\t\thashAlgorithm >= 1 && hashAlgorithm <= 6: \"Must provide a hash algoritm raw value that is between 1 and 6\"\n\t\t\tweight <= 1000.0: \"The key weight must be between 0 and 1000\"\n\t\t}\n\t\tlet publicKey = PublicKey(\n\t\t\tpublicKey: key.decodeHex(),\n\t\t\tsignatureAlgorithm: SignatureAlgorithm(rawValue: signatureAlgorithm)!\n\t\t)\n\n\t\tsigner.keys.add(publicKey: publicKey, hashAlgorithm: HashAlgorithm(rawValue: hashAlgorithm)!, weight: weight)\n\t}\n}", "arguments": [ { "type": "String", - "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" - }, - { - "type": "UInt8", - "value": "1" - }, - { - "type": "String", - "value": "flow-node.test:3569" + "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164" }, { - "type": "String", - "value": "1348307bc77c688e80049de9d081aa09755da33e6997605fa059db2144fc85e560cbe6f7da8d74b453f5916618cb8fd392c2db856f3e78221dc68db1b1d914e4" + "value": "1", + "type": "UInt8" }, { - "type": "String", - "value": "9e9ae0d645fd5fd9050792e0b0daa82cc1686d9133afa0f81a784b375c42ae48567d1545e7a9e1965f2c1a32f73cf8575ebb7a967f6e4d104d2df78eb8be409135d12da0499b8a00771f642c1b9c49397f22b440439f036c3bdee82f5309dab3" + "value": "1", + "type": "UInt8" }, { - "type": "UFix64", - "value": "92233720368.54775808" + "value": "1000.00000000", + "type": "UFix64" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -144,31 +110,23 @@ ] }, "envelopeMessage": { - "script": "import FlowToken from 0x7e60df042a9c0868\nimport LockedTokens from 0x95e019a17d0e23d7\nimport StakingProxy from 0x7aad92e5a0715d21\n\ntransaction(id: String, role: UInt8, networkingAddress: String, networkingKey: String, stakingKey: String, amount: UFix64) {\n\n let holderRef: &LockedTokens.TokenHolder\n\n let vaultRef: &FlowToken.Vault\n\n prepare(account: AuthAccount) {\n self.holderRef = account.borrow<&LockedTokens.TokenHolder>(from: LockedTokens.TokenHolderStoragePath)\n ?? panic(\"Could not borrow ref to TokenHolder\")\n\n self.vaultRef = account.borrow<&FlowToken.Vault>(from: /storage/flowTokenVault)\n ?? panic(\"Could not borrow flow token vault reference\")\n }\n\n execute {\n let nodeInfo = StakingProxy.NodeInfo(id: id, role: role, networkingAddress: networkingAddress, networkingKey: networkingKey, stakingKey: stakingKey)\n\n let lockedBalance = self.holderRef.getLockedAccountBalance()\n\n if amount <= lockedBalance {\n\n self.holderRef.createNodeStaker(nodeInfo: nodeInfo, amount: amount)\n\n } else if ((amount - lockedBalance) <= self.vaultRef.balance) {\n\n self.holderRef.deposit(from: <-self.vaultRef.withdraw(amount: amount - lockedBalance))\n\n self.holderRef.createNodeStaker(nodeInfo: nodeInfo, amount: amount)\n\n } else {\n panic(\"Not enough tokens to stake!\")\n }\n \n }\n}\n", + "script": "import Crypto\n\ntransaction(key: String, signatureAlgorithm: UInt8, hashAlgorithm: UInt8, weight: UFix64) {\n\n\tprepare(signer: auth(AddKey) &Account) {\n\t\tpre {\n\t\t\tsignatureAlgorithm >= 1 && signatureAlgorithm <= 3: \"Must provide a signature algoritm raw value that is 1, 2, or 3\"\n\t\t\thashAlgorithm >= 1 && hashAlgorithm <= 6: \"Must provide a hash algoritm raw value that is between 1 and 6\"\n\t\t\tweight <= 1000.0: \"The key weight must be between 0 and 1000\"\n\t\t}\n\t\tlet publicKey = PublicKey(\n\t\t\tpublicKey: key.decodeHex(),\n\t\t\tsignatureAlgorithm: SignatureAlgorithm(rawValue: signatureAlgorithm)!\n\t\t)\n\n\t\tsigner.keys.add(publicKey: publicKey, hashAlgorithm: HashAlgorithm(rawValue: hashAlgorithm)!, weight: weight)\n\t}\n}", "arguments": [ { "type": "String", - "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" - }, - { - "type": "UInt8", - "value": "1" - }, - { - "type": "String", - "value": "flow-node.test:3569" + "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164" }, { - "type": "String", - "value": "1348307bc77c688e80049de9d081aa09755da33e6997605fa059db2144fc85e560cbe6f7da8d74b453f5916618cb8fd392c2db856f3e78221dc68db1b1d914e4" + "value": "1", + "type": "UInt8" }, { - "type": "String", - "value": "9e9ae0d645fd5fd9050792e0b0daa82cc1686d9133afa0f81a784b375c42ae48567d1545e7a9e1965f2c1a32f73cf8575ebb7a967f6e4d104d2df78eb8be409135d12da0499b8a00771f642c1b9c49397f22b440439f036c3bdee82f5309dab3" + "value": "1", + "type": "UInt8" }, { - "type": "UFix64", - "value": "92233720368.54775808" + "value": "1000.00000000", + "type": "UFix64" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -184,21 +142,21 @@ ], "payloadSigs": [] }, - "encodedTransactionPayloadHex": "f90826b90588696d706f727420466c6f77546f6b656e2066726f6d203078376536306466303432613963303836380a696d706f7274204c6f636b6564546f6b656e732066726f6d203078393565303139613137643065323364370a696d706f7274205374616b696e6750726f78792066726f6d203078376161643932653561303731356432310a0a7472616e73616374696f6e2869643a20537472696e672c20726f6c653a2055496e74382c206e6574776f726b696e67416464726573733a20537472696e672c206e6574776f726b696e674b65793a20537472696e672c207374616b696e674b65793a20537472696e672c20616d6f756e743a2055466978363429207b0a0a202020206c657420686f6c6465725265663a20264c6f636b6564546f6b656e732e546f6b656e486f6c6465720a0a202020206c6574207661756c745265663a2026466c6f77546f6b656e2e5661756c740a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e686f6c646572526566203d206163636f756e742e626f72726f773c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f20546f6b656e486f6c64657222290a0a202020202020202073656c662e7661756c74526566203d206163636f756e742e626f72726f773c26466c6f77546f6b656e2e5661756c743e2866726f6d3a202f73746f726167652f666c6f77546f6b656e5661756c74290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f7720666c6f7720746f6b656e207661756c74207265666572656e636522290a202020207d0a0a2020202065786563757465207b0a20202020202020206c6574206e6f6465496e666f203d205374616b696e6750726f78792e4e6f6465496e666f2869643a2069642c20726f6c653a20726f6c652c206e6574776f726b696e67416464726573733a206e6574776f726b696e67416464726573732c206e6574776f726b696e674b65793a206e6574776f726b696e674b65792c207374616b696e674b65793a207374616b696e674b6579290a0a20202020202020206c6574206c6f636b656442616c616e6365203d2073656c662e686f6c6465725265662e6765744c6f636b65644163636f756e7442616c616e636528290a0a2020202020202020696620616d6f756e74203c3d206c6f636b656442616c616e6365207b0a0a20202020202020202020202073656c662e686f6c6465725265662e6372656174654e6f64655374616b6572286e6f6465496e666f3a206e6f6465496e666f2c20616d6f756e743a20616d6f756e74290a0a20202020202020207d20656c7365206966202828616d6f756e74202d206c6f636b656442616c616e636529203c3d2073656c662e7661756c745265662e62616c616e636529207b0a0a20202020202020202020202073656c662e686f6c6465725265662e6465706f7369742866726f6d3a203c2d73656c662e7661756c745265662e776974686472617728616d6f756e743a20616d6f756e74202d206c6f636b656442616c616e636529290a0a20202020202020202020202073656c662e686f6c6465725265662e6372656174654e6f64655374616b6572286e6f6465496e666f3a206e6f6465496e666f2c20616d6f756e743a20616d6f756e74290a0a20202020202020207d20656c7365207b0a20202020202020202020202070616e696328224e6f7420656e6f75676820746f6b656e7320746f207374616b652122290a20202020202020207d0a20202020202020200a202020207d0a7d0af90258b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227d9c7b2274797065223a2255496e7438222c2276616c7565223a2231227daf7b2274797065223a22537472696e67222c2276616c7565223a22666c6f772d6e6f64652e746573743a33353639227db89c7b2274797065223a22537472696e67222c2276616c7565223a223133343833303762633737633638386538303034396465396430383161613039373535646133336536393937363035666130353964623231343466633835653536306362653666376461386437346234353366353931363631386362386664333932633264623835366633653738323231646336386462316231643931346534227db8dc7b2274797065223a22537472696e67222c2276616c7565223a22396539616530643634356664356664393035303739326530623064616138326363313638366439313333616661306638316137383462333735633432616534383536376431353435653761396531393635663263316133326637336366383537356562623761393637663665346431303464326466373865623862653430393133356431326461303439396238613030373731663634326331623963343933393766323262343430343339663033366333626465653832663533303964616233227db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", - "encodedTransactionEnvelopeHex": "f9082af90826b90588696d706f727420466c6f77546f6b656e2066726f6d203078376536306466303432613963303836380a696d706f7274204c6f636b6564546f6b656e732066726f6d203078393565303139613137643065323364370a696d706f7274205374616b696e6750726f78792066726f6d203078376161643932653561303731356432310a0a7472616e73616374696f6e2869643a20537472696e672c20726f6c653a2055496e74382c206e6574776f726b696e67416464726573733a20537472696e672c206e6574776f726b696e674b65793a20537472696e672c207374616b696e674b65793a20537472696e672c20616d6f756e743a2055466978363429207b0a0a202020206c657420686f6c6465725265663a20264c6f636b6564546f6b656e732e546f6b656e486f6c6465720a0a202020206c6574207661756c745265663a2026466c6f77546f6b656e2e5661756c740a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e686f6c646572526566203d206163636f756e742e626f72726f773c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f20546f6b656e486f6c64657222290a0a202020202020202073656c662e7661756c74526566203d206163636f756e742e626f72726f773c26466c6f77546f6b656e2e5661756c743e2866726f6d3a202f73746f726167652f666c6f77546f6b656e5661756c74290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f7720666c6f7720746f6b656e207661756c74207265666572656e636522290a202020207d0a0a2020202065786563757465207b0a20202020202020206c6574206e6f6465496e666f203d205374616b696e6750726f78792e4e6f6465496e666f2869643a2069642c20726f6c653a20726f6c652c206e6574776f726b696e67416464726573733a206e6574776f726b696e67416464726573732c206e6574776f726b696e674b65793a206e6574776f726b696e674b65792c207374616b696e674b65793a207374616b696e674b6579290a0a20202020202020206c6574206c6f636b656442616c616e6365203d2073656c662e686f6c6465725265662e6765744c6f636b65644163636f756e7442616c616e636528290a0a2020202020202020696620616d6f756e74203c3d206c6f636b656442616c616e6365207b0a0a20202020202020202020202073656c662e686f6c6465725265662e6372656174654e6f64655374616b6572286e6f6465496e666f3a206e6f6465496e666f2c20616d6f756e743a20616d6f756e74290a0a20202020202020207d20656c7365206966202828616d6f756e74202d206c6f636b656442616c616e636529203c3d2073656c662e7661756c745265662e62616c616e636529207b0a0a20202020202020202020202073656c662e686f6c6465725265662e6465706f7369742866726f6d3a203c2d73656c662e7661756c745265662e776974686472617728616d6f756e743a20616d6f756e74202d206c6f636b656442616c616e636529290a0a20202020202020202020202073656c662e686f6c6465725265662e6372656174654e6f64655374616b6572286e6f6465496e666f3a206e6f6465496e666f2c20616d6f756e743a20616d6f756e74290a0a20202020202020207d20656c7365207b0a20202020202020202020202070616e696328224e6f7420656e6f75676820746f6b656e7320746f207374616b652122290a20202020202020207d0a20202020202020200a202020207d0a7d0af90258b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227d9c7b2274797065223a2255496e7438222c2276616c7565223a2231227daf7b2274797065223a22537472696e67222c2276616c7565223a22666c6f772d6e6f64652e746573743a33353639227db89c7b2274797065223a22537472696e67222c2276616c7565223a223133343833303762633737633638386538303034396465396430383161613039373535646133336536393937363035666130353964623231343466633835653536306362653666376461386437346234353366353931363631386362386664333932633264623835366633653738323231646336386462316231643931346534227db8dc7b2274797065223a22537472696e67222c2276616c7565223a22396539616530643634356664356664393035303739326530623064616138326363313638366439313333616661306638316137383462333735633432616534383536376431353435653761396531393635663263316133326637336366383537356562623761393637663665346431303464326466373865623862653430393133356431326461303439396238613030373731663634326331623963343933393766323262343430343339663033366333626465653832663533303964616233227db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", - "metadata": "02b6a3502d2205eb05ec18772c13b91cc88a056b325c2617c57948d38cab8db600b64e0e3ed9eb28789198f2b0437f55f750bfa76da99450f63be6543bde66122a5265676973746572204e6f64650006014e6f64652049440000537472696e670003014e6f646520526f6c65000155496e74380003014e6574772e20416464726573730002537472696e670003014e6574772e204b65790003537472696e670003015374616b696e67204b65790004537472696e67000301416d6f756e7400055546697836340003", - "hash": "b6a3502d2205eb05ec18772c13b91cc88a056b325c2617c57948d38cab8db600" + "encodedTransactionPayloadHex": "f9041db902c7696d706f72742043727970746f0a0a7472616e73616374696f6e286b65793a20537472696e672c207369676e6174757265416c676f726974686d3a2055496e74382c2068617368416c676f726974686d3a2055496e74382c207765696768743a2055466978363429207b0a0a0970726570617265287369676e65723a2061757468284164644b65792920264163636f756e7429207b0a0909707265207b0a0909097369676e6174757265416c676f726974686d203e3d2031202626207369676e6174757265416c676f726974686d203c3d20333a20224d7573742070726f766964652061207369676e617475726520616c676f7269746d207261772076616c7565207468617420697320312c20322c206f722033220a09090968617368416c676f726974686d203e3d20312026262068617368416c676f726974686d203c3d20363a20224d7573742070726f766964652061206861736820616c676f7269746d207261772076616c75652074686174206973206265747765656e203120616e642036220a090909776569676874203c3d20313030302e303a2022546865206b657920776569676874206d757374206265206265747765656e203020616e642031303030220a09097d0a09096c6574207075626c69634b6579203d205075626c69634b6579280a0909097075626c69634b65793a206b65792e6465636f646548657828292c0a0909097369676e6174757265416c676f726974686d3a205369676e6174757265416c676f726974686d2872617756616c75653a207369676e6174757265416c676f726974686d29210a0909290a0a09097369676e65722e6b6579732e616464287075626c69634b65793a207075626c69634b65792c2068617368416c676f726974686d3a2048617368416c676f726974686d2872617756616c75653a2068617368416c676f726974686d29212c207765696768743a20776569676874290a097d0a7df90110b8aa7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634227d9c7b2276616c7565223a2231222c2274797065223a2255496e7438227d9c7b2276616c7565223a2231222c2274797065223a2255496e7438227da97b2276616c7565223a22313030302e3030303030303030222c2274797065223a22554669783634227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", + "encodedTransactionEnvelopeHex": "f90421f9041db902c7696d706f72742043727970746f0a0a7472616e73616374696f6e286b65793a20537472696e672c207369676e6174757265416c676f726974686d3a2055496e74382c2068617368416c676f726974686d3a2055496e74382c207765696768743a2055466978363429207b0a0a0970726570617265287369676e65723a2061757468284164644b65792920264163636f756e7429207b0a0909707265207b0a0909097369676e6174757265416c676f726974686d203e3d2031202626207369676e6174757265416c676f726974686d203c3d20333a20224d7573742070726f766964652061207369676e617475726520616c676f7269746d207261772076616c7565207468617420697320312c20322c206f722033220a09090968617368416c676f726974686d203e3d20312026262068617368416c676f726974686d203c3d20363a20224d7573742070726f766964652061206861736820616c676f7269746d207261772076616c75652074686174206973206265747765656e203120616e642036220a090909776569676874203c3d20313030302e303a2022546865206b657920776569676874206d757374206265206265747765656e203020616e642031303030220a09097d0a09096c6574207075626c69634b6579203d205075626c69634b6579280a0909097075626c69634b65793a206b65792e6465636f646548657828292c0a0909097369676e6174757265416c676f726974686d3a205369676e6174757265416c676f726974686d2872617756616c75653a207369676e6174757265416c676f726974686d29210a0909290a0a09097369676e65722e6b6579732e616464287075626c69634b65793a207075626c69634b65792c2068617368416c676f726974686d3a2048617368416c676f726974686d2872617756616c75653a2068617368416c676f726974686d29212c207765696768743a20776569676874290a097d0a7df90110b8aa7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634227d9c7b2276616c7565223a2231222c2274797065223a2255496e7438227d9c7b2276616c7565223a2231222c2274797065223a2255496e7438227da97b2276616c7565223a22313030302e3030303030303030222c2274797065223a22554669783634227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", + "metadata": "0221d4e87df171ccbe015efe69dc2ffd24814c5fc0f2e364daf5c80515ce4a8bd921d4e87df171ccbe015efe69dc2ffd24814c5fc0f2e364daf5c80515ce4a8bd9416464204b65790004015075626c6963204b65790000537472696e670003015261772056616c756520666f72205369676e617475726520416c676f726974686d20456e756d000155496e74380003015261772056616c756520666f72204861736820416c676f726974686d20456e756d000255496e74380003014b65792057656967687400035546697836340003", + "hash": "21d4e87df171ccbe015efe69dc2ffd24814c5fc0f2e364daf5c80515ce4a8bd9" }, { - "title": "TH.08 - Stake New Locked FLOW", + "title": "FA.03 - Remove Key", "valid": true, "chainID": "Testnet", "payloadMessage": { - "script": "import FlowToken from 0x7e60df042a9c0868\nimport FungibleToken from 0x9a0766d93b6608b7\n\nimport LockedTokens from 0x95e019a17d0e23d7\nimport StakingProxy from 0x7aad92e5a0715d21\n\ntransaction(amount: UFix64) {\n\n let holderRef: &LockedTokens.TokenHolder\n\n let vaultRef: &FlowToken.Vault\n\n prepare(account: AuthAccount) {\n self.holderRef = account.borrow<&LockedTokens.TokenHolder>(from: LockedTokens.TokenHolderStoragePath)\n ?? panic(\"Could not borrow reference to TokenHolder\")\n\n self.vaultRef = account.borrow<&FlowToken.Vault>(from: /storage/flowTokenVault)\n ?? panic(\"Could not borrow flow token vault reference\")\n }\n\n execute {\n let stakerProxy = self.holderRef.borrowStaker()\n\n let lockedBalance = self.holderRef.getLockedAccountBalance()\n\n if amount <= lockedBalance {\n\n stakerProxy.stakeNewTokens(amount: amount)\n\n } else if ((amount - lockedBalance) <= self.vaultRef.balance) {\n\n self.holderRef.deposit(from: <-self.vaultRef.withdraw(amount: amount - lockedBalance))\n\n stakerProxy.stakeNewTokens(amount: amount)\n \n } else {\n panic(\"Not enough tokens to stake!\")\n }\n }\n}\n", + "script": "transaction(keyIndex: Int) {\n\tprepare(signer: auth(RevokeKey) &Account) {\n\t\tif let key = signer.keys.get(keyIndex: keyIndex) {\n\t\t\tsigner.keys.revoke(keyIndex: keyIndex)\n\t\t} else {\n\t\t\tpanic(\"No key with the given index exists on the authorizer's account\")\n\t\t}\n\t}\n}", "arguments": [ { - "type": "UFix64", - "value": "92233720368.54775808" + "type": "Int", + "value": "1" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -214,11 +172,11 @@ ] }, "envelopeMessage": { - "script": "import FlowToken from 0x7e60df042a9c0868\nimport FungibleToken from 0x9a0766d93b6608b7\n\nimport LockedTokens from 0x95e019a17d0e23d7\nimport StakingProxy from 0x7aad92e5a0715d21\n\ntransaction(amount: UFix64) {\n\n let holderRef: &LockedTokens.TokenHolder\n\n let vaultRef: &FlowToken.Vault\n\n prepare(account: AuthAccount) {\n self.holderRef = account.borrow<&LockedTokens.TokenHolder>(from: LockedTokens.TokenHolderStoragePath)\n ?? panic(\"Could not borrow reference to TokenHolder\")\n\n self.vaultRef = account.borrow<&FlowToken.Vault>(from: /storage/flowTokenVault)\n ?? panic(\"Could not borrow flow token vault reference\")\n }\n\n execute {\n let stakerProxy = self.holderRef.borrowStaker()\n\n let lockedBalance = self.holderRef.getLockedAccountBalance()\n\n if amount <= lockedBalance {\n\n stakerProxy.stakeNewTokens(amount: amount)\n\n } else if ((amount - lockedBalance) <= self.vaultRef.balance) {\n\n self.holderRef.deposit(from: <-self.vaultRef.withdraw(amount: amount - lockedBalance))\n\n stakerProxy.stakeNewTokens(amount: amount)\n \n } else {\n panic(\"Not enough tokens to stake!\")\n }\n }\n}\n", + "script": "transaction(keyIndex: Int) {\n\tprepare(signer: auth(RevokeKey) &Account) {\n\t\tif let key = signer.keys.get(keyIndex: keyIndex) {\n\t\t\tsigner.keys.revoke(keyIndex: keyIndex)\n\t\t} else {\n\t\t\tpanic(\"No key with the given index exists on the authorizer's account\")\n\t\t}\n\t}\n}", "arguments": [ { - "type": "UFix64", - "value": "92233720368.54775808" + "type": "Int", + "value": "1" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -234,21 +192,25 @@ ], "payloadSigs": [] }, - "encodedTransactionPayloadHex": "f9053eb904c9696d706f727420466c6f77546f6b656e2066726f6d203078376536306466303432613963303836380a696d706f72742046756e6769626c65546f6b656e2066726f6d203078396130373636643933623636303862370a0a696d706f7274204c6f636b6564546f6b656e732066726f6d203078393565303139613137643065323364370a696d706f7274205374616b696e6750726f78792066726f6d203078376161643932653561303731356432310a0a7472616e73616374696f6e28616d6f756e743a2055466978363429207b0a0a202020206c657420686f6c6465725265663a20264c6f636b6564546f6b656e732e546f6b656e486f6c6465720a0a202020206c6574207661756c745265663a2026466c6f77546f6b656e2e5661756c740a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e686f6c646572526566203d206163636f756e742e626f72726f773c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f20546f6b656e486f6c64657222290a0a202020202020202073656c662e7661756c74526566203d206163636f756e742e626f72726f773c26466c6f77546f6b656e2e5661756c743e2866726f6d3a202f73746f726167652f666c6f77546f6b656e5661756c74290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f7720666c6f7720746f6b656e207661756c74207265666572656e636522290a202020207d0a0a2020202065786563757465207b0a20202020202020206c6574207374616b657250726f7879203d2073656c662e686f6c6465725265662e626f72726f775374616b657228290a0a20202020202020206c6574206c6f636b656442616c616e6365203d2073656c662e686f6c6465725265662e6765744c6f636b65644163636f756e7442616c616e636528290a0a2020202020202020696620616d6f756e74203c3d206c6f636b656442616c616e6365207b0a0a2020202020202020202020207374616b657250726f78792e7374616b654e6577546f6b656e7328616d6f756e743a20616d6f756e74290a0a20202020202020207d20656c7365206966202828616d6f756e74202d206c6f636b656442616c616e636529203c3d2073656c662e7661756c745265662e62616c616e636529207b0a0a20202020202020202020202073656c662e686f6c6465725265662e6465706f7369742866726f6d3a203c2d73656c662e7661756c745265662e776974686472617728616d6f756e743a20616d6f756e74202d206c6f636b656442616c616e636529290a0a2020202020202020202020207374616b657250726f78792e7374616b654e6577546f6b656e7328616d6f756e743a20616d6f756e74290a2020202020202020202020200a20202020202020207d20656c7365207b0a20202020202020202020202070616e696328224e6f7420656e6f75676820746f6b656e7320746f207374616b652122290a20202020202020207d0a202020207d0a7d0af1b07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", - "encodedTransactionEnvelopeHex": "f90542f9053eb904c9696d706f727420466c6f77546f6b656e2066726f6d203078376536306466303432613963303836380a696d706f72742046756e6769626c65546f6b656e2066726f6d203078396130373636643933623636303862370a0a696d706f7274204c6f636b6564546f6b656e732066726f6d203078393565303139613137643065323364370a696d706f7274205374616b696e6750726f78792066726f6d203078376161643932653561303731356432310a0a7472616e73616374696f6e28616d6f756e743a2055466978363429207b0a0a202020206c657420686f6c6465725265663a20264c6f636b6564546f6b656e732e546f6b656e486f6c6465720a0a202020206c6574207661756c745265663a2026466c6f77546f6b656e2e5661756c740a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e686f6c646572526566203d206163636f756e742e626f72726f773c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f20546f6b656e486f6c64657222290a0a202020202020202073656c662e7661756c74526566203d206163636f756e742e626f72726f773c26466c6f77546f6b656e2e5661756c743e2866726f6d3a202f73746f726167652f666c6f77546f6b656e5661756c74290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f7720666c6f7720746f6b656e207661756c74207265666572656e636522290a202020207d0a0a2020202065786563757465207b0a20202020202020206c6574207374616b657250726f7879203d2073656c662e686f6c6465725265662e626f72726f775374616b657228290a0a20202020202020206c6574206c6f636b656442616c616e6365203d2073656c662e686f6c6465725265662e6765744c6f636b65644163636f756e7442616c616e636528290a0a2020202020202020696620616d6f756e74203c3d206c6f636b656442616c616e6365207b0a0a2020202020202020202020207374616b657250726f78792e7374616b654e6577546f6b656e7328616d6f756e743a20616d6f756e74290a0a20202020202020207d20656c7365206966202828616d6f756e74202d206c6f636b656442616c616e636529203c3d2073656c662e7661756c745265662e62616c616e636529207b0a0a20202020202020202020202073656c662e686f6c6465725265662e6465706f7369742866726f6d3a203c2d73656c662e7661756c745265662e776974686472617728616d6f756e743a20616d6f756e74202d206c6f636b656442616c616e636529290a0a2020202020202020202020207374616b657250726f78792e7374616b654e6577546f6b656e7328616d6f756e743a20616d6f756e74290a2020202020202020202020200a20202020202020207d20656c7365207b0a20202020202020202020202070616e696328224e6f7420656e6f75676820746f6b656e7320746f207374616b652122290a20202020202020207d0a202020207d0a7d0af1b07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", - "metadata": "02d5689b89f53214e7ce9ba7be2bb651961f7e3036b85f9250494290da9e9ba9891929e4f38894b8641848a3c0a3b9d35495b35083d42e8a3d4c928b9db4174ee85374616b65204e6577204c6f636b656420464c4f57000101416d6f756e7400005546697836340003", - "hash": "d5689b89f53214e7ce9ba7be2bb651961f7e3036b85f9250494290da9e9ba989" + "encodedTransactionPayloadHex": "f90166b901077472616e73616374696f6e286b6579496e6465783a20496e7429207b0a0970726570617265287369676e65723a2061757468285265766f6b654b65792920264163636f756e7429207b0a09096966206c6574206b6579203d207369676e65722e6b6579732e676574286b6579496e6465783a206b6579496e64657829207b0a0909097369676e65722e6b6579732e7265766f6b65286b6579496e6465783a206b6579496e646578290a09097d20656c7365207b0a09090970616e696328224e6f206b657920776974682074686520676976656e20696e64657820657869737473206f6e2074686520617574686f72697a65722773206163636f756e7422290a09097d0a097d0a7ddb9a7b2274797065223a22496e74222c2276616c7565223a2231227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", + "encodedTransactionEnvelopeHex": "f9016af90166b901077472616e73616374696f6e286b6579496e6465783a20496e7429207b0a0970726570617265287369676e65723a2061757468285265766f6b654b65792920264163636f756e7429207b0a09096966206c6574206b6579203d207369676e65722e6b6579732e676574286b6579496e6465783a206b6579496e64657829207b0a0909097369676e65722e6b6579732e7265766f6b65286b6579496e6465783a206b6579496e646578290a09097d20656c7365207b0a09090970616e696328224e6f206b657920776974682074686520676976656e20696e64657820657869737473206f6e2074686520617574686f72697a65722773206163636f756e7422290a09097d0a097d0a7ddb9a7b2274797065223a22496e74222c2276616c7565223a2231227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", + "metadata": "026c7ab72837fdce77a910f6fc0c622c6c4d5b17f6fbf7295f345d50d3508dd5156c7ab72837fdce77a910f6fc0c622c6c4d5b17f6fbf7295f345d50d3508dd51552656d6f7665204b65790001014b657920496e6465780000496e740003", + "hash": "6c7ab72837fdce77a910f6fc0c622c6c4d5b17f6fbf7295f345d50d3508dd515" }, { - "title": "TH.09 - Re-stake Unstaked FLOW", + "title": "FT.01 - Setup Fungible Token Vault", "valid": true, "chainID": "Testnet", "payloadMessage": { - "script": "import LockedTokens from 0x95e019a17d0e23d7\nimport StakingProxy from 0x7aad92e5a0715d21\n\ntransaction(amount: UFix64) {\n\n let holderRef: &LockedTokens.TokenHolder\n\n prepare(account: AuthAccount) {\n self.holderRef = account.borrow<&LockedTokens.TokenHolder>(from: LockedTokens.TokenHolderStoragePath)\n ?? panic(\"Could not borrow reference to TokenHolder\")\n }\n\n execute {\n let stakerProxy = self.holderRef.borrowStaker()\n\n stakerProxy.stakeUnstakedTokens(amount: amount)\n }\n}\n", + "script": "import FungibleToken from 0x9a0766d93b6608b7\nimport FungibleTokenMetadataViews from 0x9a0766d93b6608b7\n\n/// This transaction is what an account would run\n/// to set itself up to manage fungible tokens. This function\n/// uses views to know where to set up the vault\n/// in storage and to create the empty vault.\n\ntransaction(contractAddress: Address, contractName: String) {\n\n prepare(signer: auth(SaveValue, Capabilities) &Account) {\n // Borrow a reference to the vault stored on the passed account at the passed publicPath\n let resolverRef = getAccount(contractAddress)\n .contracts.borrow<&{FungibleToken}>(name: contractName)\n ?? panic(\"Could not borrow a reference to the fungible token contract\")\n\n // Use that reference to retrieve the FTView \n let ftVaultData = resolverRef.resolveContractView(resourceType: nil, viewType: Type()) as! FungibleTokenMetadataViews.FTVaultData?\n ?? panic(\"Could not resolve the FTVaultData view for the given Fungible token contract\")\n\n // Create a new empty vault using the createEmptyVault function inside the FTVaultData\n let emptyVault <-ftVaultData.createEmptyVault()\n\n // Save it to the account\n signer.storage.save(<-emptyVault, to: ftVaultData.storagePath)\n \n // Create a public capability for the vault which includes the .Resolver interface\n let vaultCap = signer.capabilities.storage.issue<&{FungibleToken.Vault}>(ftVaultData.storagePath)\n signer.capabilities.publish(vaultCap, at: ftVaultData.metadataPath)\n\n // Create a public capability for the vault exposing the receiver interface\n let receiverCap = signer.capabilities.storage.issue<&{FungibleToken.Receiver}>(ftVaultData.storagePath)\n signer.capabilities.publish(receiverCap, at: ftVaultData.receiverPath)\n\n }\n}\n ", "arguments": [ { - "type": "UFix64", - "value": "92233720368.54775808" + "type": "Address", + "value": "0x8c5303eaa26202d6" + }, + { + "value": "FiatToken", + "type": "String" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -264,11 +226,15 @@ ] }, "envelopeMessage": { - "script": "import LockedTokens from 0x95e019a17d0e23d7\nimport StakingProxy from 0x7aad92e5a0715d21\n\ntransaction(amount: UFix64) {\n\n let holderRef: &LockedTokens.TokenHolder\n\n prepare(account: AuthAccount) {\n self.holderRef = account.borrow<&LockedTokens.TokenHolder>(from: LockedTokens.TokenHolderStoragePath)\n ?? panic(\"Could not borrow reference to TokenHolder\")\n }\n\n execute {\n let stakerProxy = self.holderRef.borrowStaker()\n\n stakerProxy.stakeUnstakedTokens(amount: amount)\n }\n}\n", + "script": "import FungibleToken from 0x9a0766d93b6608b7\nimport FungibleTokenMetadataViews from 0x9a0766d93b6608b7\n\n/// This transaction is what an account would run\n/// to set itself up to manage fungible tokens. This function\n/// uses views to know where to set up the vault\n/// in storage and to create the empty vault.\n\ntransaction(contractAddress: Address, contractName: String) {\n\n prepare(signer: auth(SaveValue, Capabilities) &Account) {\n // Borrow a reference to the vault stored on the passed account at the passed publicPath\n let resolverRef = getAccount(contractAddress)\n .contracts.borrow<&{FungibleToken}>(name: contractName)\n ?? panic(\"Could not borrow a reference to the fungible token contract\")\n\n // Use that reference to retrieve the FTView \n let ftVaultData = resolverRef.resolveContractView(resourceType: nil, viewType: Type()) as! FungibleTokenMetadataViews.FTVaultData?\n ?? panic(\"Could not resolve the FTVaultData view for the given Fungible token contract\")\n\n // Create a new empty vault using the createEmptyVault function inside the FTVaultData\n let emptyVault <-ftVaultData.createEmptyVault()\n\n // Save it to the account\n signer.storage.save(<-emptyVault, to: ftVaultData.storagePath)\n \n // Create a public capability for the vault which includes the .Resolver interface\n let vaultCap = signer.capabilities.storage.issue<&{FungibleToken.Vault}>(ftVaultData.storagePath)\n signer.capabilities.publish(vaultCap, at: ftVaultData.metadataPath)\n\n // Create a public capability for the vault exposing the receiver interface\n let receiverCap = signer.capabilities.storage.issue<&{FungibleToken.Receiver}>(ftVaultData.storagePath)\n signer.capabilities.publish(receiverCap, at: ftVaultData.receiverPath)\n\n }\n}\n ", "arguments": [ { - "type": "UFix64", - "value": "92233720368.54775808" + "type": "Address", + "value": "0x8c5303eaa26202d6" + }, + { + "value": "FiatToken", + "type": "String" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -284,21 +250,33 @@ ], "payloadSigs": [] }, - "encodedTransactionPayloadHex": "f9027db90208696d706f7274204c6f636b6564546f6b656e732066726f6d203078393565303139613137643065323364370a696d706f7274205374616b696e6750726f78792066726f6d203078376161643932653561303731356432310a0a7472616e73616374696f6e28616d6f756e743a2055466978363429207b0a0a202020206c657420686f6c6465725265663a20264c6f636b6564546f6b656e732e546f6b656e486f6c6465720a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e686f6c646572526566203d206163636f756e742e626f72726f773c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f20546f6b656e486f6c64657222290a202020207d0a0a2020202065786563757465207b0a20202020202020206c6574207374616b657250726f7879203d2073656c662e686f6c6465725265662e626f72726f775374616b657228290a0a20202020202020207374616b657250726f78792e7374616b65556e7374616b6564546f6b656e7328616d6f756e743a20616d6f756e74290a202020207d0a7d0af1b07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", - "encodedTransactionEnvelopeHex": "f90281f9027db90208696d706f7274204c6f636b6564546f6b656e732066726f6d203078393565303139613137643065323364370a696d706f7274205374616b696e6750726f78792066726f6d203078376161643932653561303731356432310a0a7472616e73616374696f6e28616d6f756e743a2055466978363429207b0a0a202020206c657420686f6c6465725265663a20264c6f636b6564546f6b656e732e546f6b656e486f6c6465720a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e686f6c646572526566203d206163636f756e742e626f72726f773c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f20546f6b656e486f6c64657222290a202020207d0a0a2020202065786563757465207b0a20202020202020206c6574207374616b657250726f7879203d2073656c662e686f6c6465725265662e626f72726f775374616b657228290a0a20202020202020207374616b657250726f78792e7374616b65556e7374616b6564546f6b656e7328616d6f756e743a20616d6f756e74290a202020207d0a7d0af1b07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", - "metadata": "0223e5bfd594bb3245090e3e0bafb9cb9246fc84d30e4a35a7fde1b51085624d86677cc0ac3962ec136ca26dbec0aa942d926640ecf8418433f0db4b7925f5d0fe52652d7374616b6520556e7374616b656420464c4f57000101416d6f756e7400005546697836340003", - "hash": "23e5bfd594bb3245090e3e0bafb9cb9246fc84d30e4a35a7fde1b51085624d86" + "encodedTransactionPayloadHex": "f90808b9076d696d706f72742046756e6769626c65546f6b656e2066726f6d203078396130373636643933623636303862370a696d706f72742046756e6769626c65546f6b656e4d6574616461746156696577732066726f6d203078396130373636643933623636303862370a0a2f2f2f2054686973207472616e73616374696f6e206973207768617420616e206163636f756e7420776f756c642072756e0a2f2f2f20746f2073657420697473656c6620757020746f206d616e6167652066756e6769626c6520746f6b656e732e20546869732066756e6374696f6e0a2f2f2f207573657320766965777320746f206b6e6f7720776865726520746f2073657420757020746865207661756c740a2f2f2f20696e2073746f7261676520616e6420746f206372656174652074686520656d707479207661756c742e0a0a7472616e73616374696f6e28636f6e7472616374416464726573733a20416464726573732c20636f6e74726163744e616d653a20537472696e6729207b0a0a2020202070726570617265287369676e65723a2061757468285361766556616c75652c204361706162696c69746965732920264163636f756e7429207b0a20202020202020202f2f20426f72726f772061207265666572656e636520746f20746865207661756c742073746f726564206f6e2074686520706173736564206163636f756e742061742074686520706173736564207075626c6963506174680a20202020202020206c6574207265736f6c766572526566203d206765744163636f756e7428636f6e747261637441646472657373290a2020202020202020202020202e636f6e7472616374732e626f72726f773c267b46756e6769626c65546f6b656e7d3e286e616d653a20636f6e74726163744e616d65290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f207468652066756e6769626c6520746f6b656e20636f6e747261637422290a0a20202020202020202f2f205573652074686174207265666572656e636520746f2072657472696576652074686520465456696577200a20202020202020206c65742066745661756c7444617461203d207265736f6c7665725265662e7265736f6c7665436f6e747261637456696577287265736f75726365547970653a206e696c2c2076696577547970653a20547970653c46756e6769626c65546f6b656e4d6574616461746156696577732e46545661756c74446174613e282929206173212046756e6769626c65546f6b656e4d6574616461746156696577732e46545661756c74446174613f0a2020202020202020202020203f3f2070616e69632822436f756c64206e6f74207265736f6c7665207468652046545661756c7444617461207669657720666f722074686520676976656e2046756e6769626c6520746f6b656e20636f6e747261637422290a0a20202020202020202f2f204372656174652061206e657720656d707479207661756c74207573696e672074686520637265617465456d7074795661756c742066756e6374696f6e20696e73696465207468652046545661756c74446174610a20202020202020206c657420656d7074795661756c74203c2d66745661756c74446174612e637265617465456d7074795661756c7428290a0a20202020202020202f2f205361766520697420746f20746865206163636f756e740a20202020202020207369676e65722e73746f726167652e73617665283c2d656d7074795661756c742c20746f3a2066745661756c74446174612e73746f7261676550617468290a20202020202020200a20202020202020202f2f204372656174652061207075626c6963206361706162696c69747920666f7220746865207661756c7420776869636820696e636c7564657320746865202e5265736f6c76657220696e746572666163650a20202020202020206c6574207661756c74436170203d207369676e65722e6361706162696c69746965732e73746f726167652e69737375653c267b46756e6769626c65546f6b656e2e5661756c747d3e2866745661756c74446174612e73746f7261676550617468290a20202020202020207369676e65722e6361706162696c69746965732e7075626c697368287661756c744361702c2061743a2066745661756c74446174612e6d6574616461746150617468290a0a20202020202020202f2f204372656174652061207075626c6963206361706162696c69747920666f7220746865207661756c74206578706f73696e672074686520726563656976657220696e746572666163650a20202020202020206c6574207265636569766572436170203d207369676e65722e6361706162696c69746965732e73746f726167652e69737375653c267b46756e6769626c65546f6b656e2e52656365697665727d3e2866745661756c74446174612e73746f7261676550617468290a20202020202020207369676e65722e6361706162696c69746965732e7075626c6973682872656365697665724361702c2061743a2066745661756c74446174612e726563656976657250617468290a0a202020207d0a7d0a20f856af7b2274797065223a2241646472657373222c2276616c7565223a22307838633533303365616132363230326436227da57b2276616c7565223a2246696174546f6b656e222c2274797065223a22537472696e67227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", + "encodedTransactionEnvelopeHex": "f9080cf90808b9076d696d706f72742046756e6769626c65546f6b656e2066726f6d203078396130373636643933623636303862370a696d706f72742046756e6769626c65546f6b656e4d6574616461746156696577732066726f6d203078396130373636643933623636303862370a0a2f2f2f2054686973207472616e73616374696f6e206973207768617420616e206163636f756e7420776f756c642072756e0a2f2f2f20746f2073657420697473656c6620757020746f206d616e6167652066756e6769626c6520746f6b656e732e20546869732066756e6374696f6e0a2f2f2f207573657320766965777320746f206b6e6f7720776865726520746f2073657420757020746865207661756c740a2f2f2f20696e2073746f7261676520616e6420746f206372656174652074686520656d707479207661756c742e0a0a7472616e73616374696f6e28636f6e7472616374416464726573733a20416464726573732c20636f6e74726163744e616d653a20537472696e6729207b0a0a2020202070726570617265287369676e65723a2061757468285361766556616c75652c204361706162696c69746965732920264163636f756e7429207b0a20202020202020202f2f20426f72726f772061207265666572656e636520746f20746865207661756c742073746f726564206f6e2074686520706173736564206163636f756e742061742074686520706173736564207075626c6963506174680a20202020202020206c6574207265736f6c766572526566203d206765744163636f756e7428636f6e747261637441646472657373290a2020202020202020202020202e636f6e7472616374732e626f72726f773c267b46756e6769626c65546f6b656e7d3e286e616d653a20636f6e74726163744e616d65290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f207468652066756e6769626c6520746f6b656e20636f6e747261637422290a0a20202020202020202f2f205573652074686174207265666572656e636520746f2072657472696576652074686520465456696577200a20202020202020206c65742066745661756c7444617461203d207265736f6c7665725265662e7265736f6c7665436f6e747261637456696577287265736f75726365547970653a206e696c2c2076696577547970653a20547970653c46756e6769626c65546f6b656e4d6574616461746156696577732e46545661756c74446174613e282929206173212046756e6769626c65546f6b656e4d6574616461746156696577732e46545661756c74446174613f0a2020202020202020202020203f3f2070616e69632822436f756c64206e6f74207265736f6c7665207468652046545661756c7444617461207669657720666f722074686520676976656e2046756e6769626c6520746f6b656e20636f6e747261637422290a0a20202020202020202f2f204372656174652061206e657720656d707479207661756c74207573696e672074686520637265617465456d7074795661756c742066756e6374696f6e20696e73696465207468652046545661756c74446174610a20202020202020206c657420656d7074795661756c74203c2d66745661756c74446174612e637265617465456d7074795661756c7428290a0a20202020202020202f2f205361766520697420746f20746865206163636f756e740a20202020202020207369676e65722e73746f726167652e73617665283c2d656d7074795661756c742c20746f3a2066745661756c74446174612e73746f7261676550617468290a20202020202020200a20202020202020202f2f204372656174652061207075626c6963206361706162696c69747920666f7220746865207661756c7420776869636820696e636c7564657320746865202e5265736f6c76657220696e746572666163650a20202020202020206c6574207661756c74436170203d207369676e65722e6361706162696c69746965732e73746f726167652e69737375653c267b46756e6769626c65546f6b656e2e5661756c747d3e2866745661756c74446174612e73746f7261676550617468290a20202020202020207369676e65722e6361706162696c69746965732e7075626c697368287661756c744361702c2061743a2066745661756c74446174612e6d6574616461746150617468290a0a20202020202020202f2f204372656174652061207075626c6963206361706162696c69747920666f7220746865207661756c74206578706f73696e672074686520726563656976657220696e746572666163650a20202020202020206c6574207265636569766572436170203d207369676e65722e6361706162696c69746965732e73746f726167652e69737375653c267b46756e6769626c65546f6b656e2e52656365697665727d3e2866745661756c74446174612e73746f7261676550617468290a20202020202020207369676e65722e6361706162696c69746965732e7075626c6973682872656365697665724361702c2061743a2066745661756c74446174612e726563656976657250617468290a0a202020207d0a7d0a20f856af7b2274797065223a2241646472657373222c2276616c7565223a22307838633533303365616132363230326436227da57b2276616c7565223a2246696174546f6b656e222c2274797065223a22537472696e67227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", + "metadata": "023ccbbfebf10c47c49e4058a33fd9a29c4191c545de52c9afd27a29d38110aa280246076f1cf5d3160397766a9227b35f592f4d15c014848044c509818328b62b53657475702046756e6769626c6520546f6b656e205661756c74000201465420436f6e74726163742041646472657373000041646472657373000301465420436f6e7472616374204e616d650001537472696e670003", + "hash": "3ccbbfebf10c47c49e4058a33fd9a29c4191c545de52c9afd27a29d38110aa28" }, { - "title": "TH.10 - Re-stake Rewarded FLOW", + "title": "FT.02 - Transfer Fungible Token with Paths", "valid": true, "chainID": "Testnet", "payloadMessage": { - "script": "import LockedTokens from 0x95e019a17d0e23d7\nimport StakingProxy from 0x7aad92e5a0715d21\n\ntransaction(amount: UFix64) {\n\n let holderRef: &LockedTokens.TokenHolder\n\n prepare(account: AuthAccount) {\n self.holderRef = account.borrow<&LockedTokens.TokenHolder>(from: LockedTokens.TokenHolderStoragePath)\n ?? panic(\"Could not borrow reference to TokenHolder\")\n }\n\n execute {\n let stakerProxy = self.holderRef.borrowStaker()\n\n stakerProxy.stakeRewardedTokens(amount: amount)\n }\n}\n", + "script": "import FungibleToken from 0x9a0766d93b6608b7\n\n/// Can pass in any storage path and receiver path identifier instead of just the default.\n/// This lets you choose the token you want to send as well the capability you want to send it to.\n///\n/// Any token path can be passed as an argument here, so wallets should\n/// should check argument values to make sure the intended token path is passed in\n///\ntransaction(amount: UFix64, to: Address, senderPathIdentifier: String, receiverPathIdentifier: String) {\n\n // The Vault resource that holds the tokens that are being transferred\n let tempVault: @{FungibleToken.Vault}\n\n prepare(signer: auth(BorrowValue) &Account) {\n\n let storagePath = StoragePath(identifier: senderPathIdentifier)\n ?? panic(\"Could not construct a storage path from the provided path identifier string\")\n\n // Get a reference to the signer's stored vault\n let vaultRef = signer.storage.borrow(from: storagePath)\n\t\t\t?? panic(\"Could not borrow reference to the owner's Vault!\")\n\n self.tempVault <- vaultRef.withdraw(amount: amount)\n }\n\n execute {\n let publicPath = PublicPath(identifier: receiverPathIdentifier)\n ?? panic(\"Could not construct a public path from the provided path identifier string\")\n\n let recipient = getAccount(to)\n let receiverRef = recipient.capabilities.borrow<&{FungibleToken.Receiver}>(publicPath)\n ?? panic(\"Could not borrow reference to the recipient's Receiver!\")\n\n // Transfer tokens from the signer's stored vault to the receiver capability\n receiverRef.deposit(from: <-self.tempVault)\n }\n}", "arguments": [ { "type": "UFix64", "value": "92233720368.54775808" + }, + { + "value": "0x8c5303eaa26202d6", + "type": "Address" + }, + { + "value": "flowTokenVault", + "type": "String" + }, + { + "value": "flowTokenReceiver", + "type": "String" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -314,11 +292,23 @@ ] }, "envelopeMessage": { - "script": "import LockedTokens from 0x95e019a17d0e23d7\nimport StakingProxy from 0x7aad92e5a0715d21\n\ntransaction(amount: UFix64) {\n\n let holderRef: &LockedTokens.TokenHolder\n\n prepare(account: AuthAccount) {\n self.holderRef = account.borrow<&LockedTokens.TokenHolder>(from: LockedTokens.TokenHolderStoragePath)\n ?? panic(\"Could not borrow reference to TokenHolder\")\n }\n\n execute {\n let stakerProxy = self.holderRef.borrowStaker()\n\n stakerProxy.stakeRewardedTokens(amount: amount)\n }\n}\n", + "script": "import FungibleToken from 0x9a0766d93b6608b7\n\n/// Can pass in any storage path and receiver path identifier instead of just the default.\n/// This lets you choose the token you want to send as well the capability you want to send it to.\n///\n/// Any token path can be passed as an argument here, so wallets should\n/// should check argument values to make sure the intended token path is passed in\n///\ntransaction(amount: UFix64, to: Address, senderPathIdentifier: String, receiverPathIdentifier: String) {\n\n // The Vault resource that holds the tokens that are being transferred\n let tempVault: @{FungibleToken.Vault}\n\n prepare(signer: auth(BorrowValue) &Account) {\n\n let storagePath = StoragePath(identifier: senderPathIdentifier)\n ?? panic(\"Could not construct a storage path from the provided path identifier string\")\n\n // Get a reference to the signer's stored vault\n let vaultRef = signer.storage.borrow(from: storagePath)\n\t\t\t?? panic(\"Could not borrow reference to the owner's Vault!\")\n\n self.tempVault <- vaultRef.withdraw(amount: amount)\n }\n\n execute {\n let publicPath = PublicPath(identifier: receiverPathIdentifier)\n ?? panic(\"Could not construct a public path from the provided path identifier string\")\n\n let recipient = getAccount(to)\n let receiverRef = recipient.capabilities.borrow<&{FungibleToken.Receiver}>(publicPath)\n ?? panic(\"Could not borrow reference to the recipient's Receiver!\")\n\n // Transfer tokens from the signer's stored vault to the receiver capability\n receiverRef.deposit(from: <-self.tempVault)\n }\n}", "arguments": [ { "type": "UFix64", "value": "92233720368.54775808" + }, + { + "value": "0x8c5303eaa26202d6", + "type": "Address" + }, + { + "value": "flowTokenVault", + "type": "String" + }, + { + "value": "flowTokenReceiver", + "type": "String" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -334,21 +324,33 @@ ], "payloadSigs": [] }, - "encodedTransactionPayloadHex": "f9027db90208696d706f7274204c6f636b6564546f6b656e732066726f6d203078393565303139613137643065323364370a696d706f7274205374616b696e6750726f78792066726f6d203078376161643932653561303731356432310a0a7472616e73616374696f6e28616d6f756e743a2055466978363429207b0a0a202020206c657420686f6c6465725265663a20264c6f636b6564546f6b656e732e546f6b656e486f6c6465720a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e686f6c646572526566203d206163636f756e742e626f72726f773c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f20546f6b656e486f6c64657222290a202020207d0a0a2020202065786563757465207b0a20202020202020206c6574207374616b657250726f7879203d2073656c662e686f6c6465725265662e626f72726f775374616b657228290a0a20202020202020207374616b657250726f78792e7374616b655265776172646564546f6b656e7328616d6f756e743a20616d6f756e74290a202020207d0a7d0af1b07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", - "encodedTransactionEnvelopeHex": "f90281f9027db90208696d706f7274204c6f636b6564546f6b656e732066726f6d203078393565303139613137643065323364370a696d706f7274205374616b696e6750726f78792066726f6d203078376161643932653561303731356432310a0a7472616e73616374696f6e28616d6f756e743a2055466978363429207b0a0a202020206c657420686f6c6465725265663a20264c6f636b6564546f6b656e732e546f6b656e486f6c6465720a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e686f6c646572526566203d206163636f756e742e626f72726f773c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f20546f6b656e486f6c64657222290a202020207d0a0a2020202065786563757465207b0a20202020202020206c6574207374616b657250726f7879203d2073656c662e686f6c6465725265662e626f72726f775374616b657228290a0a20202020202020207374616b657250726f78792e7374616b655265776172646564546f6b656e7328616d6f756e743a20616d6f756e74290a202020207d0a7d0af1b07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", - "metadata": "02239319825ad68178e76465b5ea18cb43f06c4ee11341f8fe9424809163a027a528d1719c5b21c88c62665db5ba04886809f3234c27057b057c36d5f265ee9de452652d7374616b6520526577617264656420464c4f57000101416d6f756e7400005546697836340003", - "hash": "239319825ad68178e76465b5ea18cb43f06c4ee11341f8fe9424809163a027a5" + "encodedTransactionPayloadHex": "f907a3b906a4696d706f72742046756e6769626c65546f6b656e2066726f6d203078396130373636643933623636303862370a0a2f2f2f2043616e207061737320696e20616e792073746f72616765207061746820616e642072656365697665722070617468206964656e74696669657220696e7374656164206f66206a757374207468652064656661756c742e0a2f2f2f2054686973206c65747320796f752063686f6f73652074686520746f6b656e20796f752077616e7420746f2073656e642061732077656c6c20746865206361706162696c69747920796f752077616e7420746f2073656e6420697420746f2e0a2f2f2f0a2f2f2f20416e7920746f6b656e20706174682063616e2062652070617373656420617320616e20617267756d656e7420686572652c20736f2077616c6c6574732073686f756c640a2f2f2f2073686f756c6420636865636b20617267756d656e742076616c75657320746f206d616b6520737572652074686520696e74656e64656420746f6b656e20706174682069732070617373656420696e0a2f2f2f0a7472616e73616374696f6e28616d6f756e743a205546697836342c20746f3a20416464726573732c2073656e646572506174684964656e7469666965723a20537472696e672c207265636569766572506174684964656e7469666965723a20537472696e6729207b0a0a202020202f2f20546865205661756c74207265736f75726365207468617420686f6c64732074686520746f6b656e73207468617420617265206265696e67207472616e736665727265640a202020206c65742074656d705661756c743a20407b46756e6769626c65546f6b656e2e5661756c747d0a0a2020202070726570617265287369676e65723a206175746828426f72726f7756616c75652920264163636f756e7429207b0a0a20202020202020206c65742073746f7261676550617468203d2053746f7261676550617468286964656e7469666965723a2073656e646572506174684964656e746966696572290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420636f6e73747275637420612073746f7261676520706174682066726f6d207468652070726f76696465642070617468206964656e74696669657220737472696e6722290a0a20202020202020202f2f204765742061207265666572656e636520746f20746865207369676e657227732073746f726564207661756c740a20202020202020206c6574207661756c74526566203d207369676e65722e73746f726167652e626f72726f773c617574682846756e6769626c65546f6b656e2e57697468647261772920267b46756e6769626c65546f6b656e2e50726f76696465727d3e2866726f6d3a2073746f7261676550617468290a0909093f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f20746865206f776e65722773205661756c742122290a0a202020202020202073656c662e74656d705661756c74203c2d207661756c745265662e776974686472617728616d6f756e743a20616d6f756e74290a202020207d0a0a2020202065786563757465207b0a20202020202020206c6574207075626c696350617468203d205075626c696350617468286964656e7469666965723a207265636569766572506174684964656e746966696572290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420636f6e7374727563742061207075626c696320706174682066726f6d207468652070726f76696465642070617468206964656e74696669657220737472696e6722290a0a20202020202020206c657420726563697069656e74203d206765744163636f756e7428746f290a20202020202020206c6574207265636569766572526566203d20726563697069656e742e6361706162696c69746965732e626f72726f773c267b46756e6769626c65546f6b656e2e52656365697665727d3e287075626c696350617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f2074686520726563697069656e7427732052656365697665722122290a0a20202020202020202f2f205472616e7366657220746f6b656e732066726f6d20746865207369676e657227732073746f726564207661756c7420746f20746865207265636569766572206361706162696c6974790a202020202020202072656365697665725265662e6465706f7369742866726f6d3a203c2d73656c662e74656d705661756c74290a202020207d0a7df8bab07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227daf7b2276616c7565223a22307838633533303365616132363230326436222c2274797065223a2241646472657373227daa7b2276616c7565223a22666c6f77546f6b656e5661756c74222c2274797065223a22537472696e67227dad7b2276616c7565223a22666c6f77546f6b656e5265636569766572222c2274797065223a22537472696e67227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", + "encodedTransactionEnvelopeHex": "f907a7f907a3b906a4696d706f72742046756e6769626c65546f6b656e2066726f6d203078396130373636643933623636303862370a0a2f2f2f2043616e207061737320696e20616e792073746f72616765207061746820616e642072656365697665722070617468206964656e74696669657220696e7374656164206f66206a757374207468652064656661756c742e0a2f2f2f2054686973206c65747320796f752063686f6f73652074686520746f6b656e20796f752077616e7420746f2073656e642061732077656c6c20746865206361706162696c69747920796f752077616e7420746f2073656e6420697420746f2e0a2f2f2f0a2f2f2f20416e7920746f6b656e20706174682063616e2062652070617373656420617320616e20617267756d656e7420686572652c20736f2077616c6c6574732073686f756c640a2f2f2f2073686f756c6420636865636b20617267756d656e742076616c75657320746f206d616b6520737572652074686520696e74656e64656420746f6b656e20706174682069732070617373656420696e0a2f2f2f0a7472616e73616374696f6e28616d6f756e743a205546697836342c20746f3a20416464726573732c2073656e646572506174684964656e7469666965723a20537472696e672c207265636569766572506174684964656e7469666965723a20537472696e6729207b0a0a202020202f2f20546865205661756c74207265736f75726365207468617420686f6c64732074686520746f6b656e73207468617420617265206265696e67207472616e736665727265640a202020206c65742074656d705661756c743a20407b46756e6769626c65546f6b656e2e5661756c747d0a0a2020202070726570617265287369676e65723a206175746828426f72726f7756616c75652920264163636f756e7429207b0a0a20202020202020206c65742073746f7261676550617468203d2053746f7261676550617468286964656e7469666965723a2073656e646572506174684964656e746966696572290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420636f6e73747275637420612073746f7261676520706174682066726f6d207468652070726f76696465642070617468206964656e74696669657220737472696e6722290a0a20202020202020202f2f204765742061207265666572656e636520746f20746865207369676e657227732073746f726564207661756c740a20202020202020206c6574207661756c74526566203d207369676e65722e73746f726167652e626f72726f773c617574682846756e6769626c65546f6b656e2e57697468647261772920267b46756e6769626c65546f6b656e2e50726f76696465727d3e2866726f6d3a2073746f7261676550617468290a0909093f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f20746865206f776e65722773205661756c742122290a0a202020202020202073656c662e74656d705661756c74203c2d207661756c745265662e776974686472617728616d6f756e743a20616d6f756e74290a202020207d0a0a2020202065786563757465207b0a20202020202020206c6574207075626c696350617468203d205075626c696350617468286964656e7469666965723a207265636569766572506174684964656e746966696572290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420636f6e7374727563742061207075626c696320706174682066726f6d207468652070726f76696465642070617468206964656e74696669657220737472696e6722290a0a20202020202020206c657420726563697069656e74203d206765744163636f756e7428746f290a20202020202020206c6574207265636569766572526566203d20726563697069656e742e6361706162696c69746965732e626f72726f773c267b46756e6769626c65546f6b656e2e52656365697665727d3e287075626c696350617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f2074686520726563697069656e7427732052656365697665722122290a0a20202020202020202f2f205472616e7366657220746f6b656e732066726f6d20746865207369676e657227732073746f726564207661756c7420746f20746865207265636569766572206361706162696c6974790a202020202020202072656365697665725265662e6465706f7369742866726f6d3a203c2d73656c662e74656d705661756c74290a202020207d0a7df8bab07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227daf7b2276616c7565223a22307838633533303365616132363230326436222c2274797065223a2241646472657373227daa7b2276616c7565223a22666c6f77546f6b656e5661756c74222c2274797065223a22537472696e67227dad7b2276616c7565223a22666c6f77546f6b656e5265636569766572222c2274797065223a22537472696e67227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", + "metadata": "02c9b9a6156280812703c15dde74df95cd0d7d1034dd2d8bf0cccf72b6071429886e5b8c83a3e8445eaa4bed391978443f124d9aa457fabdbaa016e0f65b57591e5472616e736665722046756e6769626c6520546f6b656e2077697468205061746873000401416d6f756e740000554669783634000301526563697069656e7400014164647265737300030153656e646572277320436f6c6c656374696f6e2050617468204964656e7469666965720002537472696e67000301526563697069656e7427732052656365697665722050617468204964656e7469666965720003537472696e670003", + "hash": "c9b9a6156280812703c15dde74df95cd0d7d1034dd2d8bf0cccf72b607142988" }, { - "title": "TH.11 - Request Unstake of FLOW", + "title": "FT.03 - Transfer Fungible Token with Address", "valid": true, "chainID": "Testnet", "payloadMessage": { - "script": "import LockedTokens from 0x95e019a17d0e23d7\nimport StakingProxy from 0x7aad92e5a0715d21\n\ntransaction(amount: UFix64) {\n\n let holderRef: &LockedTokens.TokenHolder\n\n prepare(account: AuthAccount) {\n self.holderRef = account.borrow<&LockedTokens.TokenHolder>(from: LockedTokens.TokenHolderStoragePath)\n ?? panic(\"Could not borrow reference to TokenHolder\")\n }\n\n execute {\n let stakerProxy = self.holderRef.borrowStaker()\n\n stakerProxy.requestUnstaking(amount: amount)\n }\n}\n", + "script": "import FungibleToken from 0x9a0766d93b6608b7\nimport FungibleTokenMetadataViews from 0x9a0766d93b6608b7\n\n/// Can pass in any contract address and name to transfer a token from that contract\n/// This lets you choose the token you want to send\n///\n/// Any contract can be chosen here, so wallets should check argument values\n/// to make sure the intended token path is passed in\n///\ntransaction(amount: UFix64, to: Address, contractAddress: Address, contractName: String) {\n\n // The Vault resource that holds the tokens that are being transferred\n let tempVault: @{FungibleToken.Vault}\n\n // FTVaultData struct to get paths from\n let vaultData: FungibleTokenMetadataViews.FTVaultData\n\n prepare(signer: auth(BorrowValue) &Account) {\n\n // Borrow a reference to the vault stored on the passed account at the passed publicPath\n let resolverRef = getAccount(contractAddress)\n .contracts.borrow<&{FungibleToken}>(name: contractName)\n ?? panic(\"Could not borrow a reference to the fungible token contract\")\n\n // Use that reference to retrieve the FTView \n self.vaultData = resolverRef.resolveContractView(resourceType: nil, viewType: Type()) as! FungibleTokenMetadataViews.FTVaultData?\n ?? panic(\"Could not resolve the FTVaultData view for the given Fungible token contract\")\n\n // Get a reference to the signer's stored vault\n let vaultRef = signer.storage.borrow(from: self.vaultData.storagePath)\n\t\t\t?? panic(\"Could not borrow reference to the owner's Vault!\")\n\n self.tempVault <- vaultRef.withdraw(amount: amount)\n }\n\n execute {\n let recipient = getAccount(to)\n let receiverRef = recipient.capabilities.borrow<&{FungibleToken.Receiver}>(self.vaultData.receiverPath)\n ?? panic(\"Could not borrow reference to the recipient's Receiver!\")\n\n // Transfer tokens from the signer's stored vault to the receiver capability\n receiverRef.deposit(from: <-self.tempVault)\n }\n}", "arguments": [ { "type": "UFix64", "value": "92233720368.54775808" + }, + { + "value": "0x8c5303eaa26202d6", + "type": "Address" + }, + { + "value": "0x8c5303eaa26202d6", + "type": "Address" + }, + { + "value": "FiatToken", + "type": "String" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -364,11 +366,23 @@ ] }, "envelopeMessage": { - "script": "import LockedTokens from 0x95e019a17d0e23d7\nimport StakingProxy from 0x7aad92e5a0715d21\n\ntransaction(amount: UFix64) {\n\n let holderRef: &LockedTokens.TokenHolder\n\n prepare(account: AuthAccount) {\n self.holderRef = account.borrow<&LockedTokens.TokenHolder>(from: LockedTokens.TokenHolderStoragePath)\n ?? panic(\"Could not borrow reference to TokenHolder\")\n }\n\n execute {\n let stakerProxy = self.holderRef.borrowStaker()\n\n stakerProxy.requestUnstaking(amount: amount)\n }\n}\n", + "script": "import FungibleToken from 0x9a0766d93b6608b7\nimport FungibleTokenMetadataViews from 0x9a0766d93b6608b7\n\n/// Can pass in any contract address and name to transfer a token from that contract\n/// This lets you choose the token you want to send\n///\n/// Any contract can be chosen here, so wallets should check argument values\n/// to make sure the intended token path is passed in\n///\ntransaction(amount: UFix64, to: Address, contractAddress: Address, contractName: String) {\n\n // The Vault resource that holds the tokens that are being transferred\n let tempVault: @{FungibleToken.Vault}\n\n // FTVaultData struct to get paths from\n let vaultData: FungibleTokenMetadataViews.FTVaultData\n\n prepare(signer: auth(BorrowValue) &Account) {\n\n // Borrow a reference to the vault stored on the passed account at the passed publicPath\n let resolverRef = getAccount(contractAddress)\n .contracts.borrow<&{FungibleToken}>(name: contractName)\n ?? panic(\"Could not borrow a reference to the fungible token contract\")\n\n // Use that reference to retrieve the FTView \n self.vaultData = resolverRef.resolveContractView(resourceType: nil, viewType: Type()) as! FungibleTokenMetadataViews.FTVaultData?\n ?? panic(\"Could not resolve the FTVaultData view for the given Fungible token contract\")\n\n // Get a reference to the signer's stored vault\n let vaultRef = signer.storage.borrow(from: self.vaultData.storagePath)\n\t\t\t?? panic(\"Could not borrow reference to the owner's Vault!\")\n\n self.tempVault <- vaultRef.withdraw(amount: amount)\n }\n\n execute {\n let recipient = getAccount(to)\n let receiverRef = recipient.capabilities.borrow<&{FungibleToken.Receiver}>(self.vaultData.receiverPath)\n ?? panic(\"Could not borrow reference to the recipient's Receiver!\")\n\n // Transfer tokens from the signer's stored vault to the receiver capability\n receiverRef.deposit(from: <-self.tempVault)\n }\n}", "arguments": [ { "type": "UFix64", "value": "92233720368.54775808" + }, + { + "value": "0x8c5303eaa26202d6", + "type": "Address" + }, + { + "value": "0x8c5303eaa26202d6", + "type": "Address" + }, + { + "value": "FiatToken", + "type": "String" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -384,61 +398,25 @@ ], "payloadSigs": [] }, - "encodedTransactionPayloadHex": "f9027ab90205696d706f7274204c6f636b6564546f6b656e732066726f6d203078393565303139613137643065323364370a696d706f7274205374616b696e6750726f78792066726f6d203078376161643932653561303731356432310a0a7472616e73616374696f6e28616d6f756e743a2055466978363429207b0a0a202020206c657420686f6c6465725265663a20264c6f636b6564546f6b656e732e546f6b656e486f6c6465720a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e686f6c646572526566203d206163636f756e742e626f72726f773c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f20546f6b656e486f6c64657222290a202020207d0a0a2020202065786563757465207b0a20202020202020206c6574207374616b657250726f7879203d2073656c662e686f6c6465725265662e626f72726f775374616b657228290a0a20202020202020207374616b657250726f78792e72657175657374556e7374616b696e6728616d6f756e743a20616d6f756e74290a202020207d0a7d0af1b07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", - "encodedTransactionEnvelopeHex": "f9027ef9027ab90205696d706f7274204c6f636b6564546f6b656e732066726f6d203078393565303139613137643065323364370a696d706f7274205374616b696e6750726f78792066726f6d203078376161643932653561303731356432310a0a7472616e73616374696f6e28616d6f756e743a2055466978363429207b0a0a202020206c657420686f6c6465725265663a20264c6f636b6564546f6b656e732e546f6b656e486f6c6465720a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e686f6c646572526566203d206163636f756e742e626f72726f773c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f20546f6b656e486f6c64657222290a202020207d0a0a2020202065786563757465207b0a20202020202020206c6574207374616b657250726f7879203d2073656c662e686f6c6465725265662e626f72726f775374616b657228290a0a20202020202020207374616b657250726f78792e72657175657374556e7374616b696e6728616d6f756e743a20616d6f756e74290a202020207d0a7d0af1b07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", - "metadata": "0233e3977c45e7c23c1472bcf334d00b03ebf91b06b67c57b63b562c7b1ff5c59f4e2a35541453f89c55e5dc6dbc963290380d779c81df0b3bf89c29b2a8d7a9fe5265717565737420556e7374616b65206f6620464c4f57000101416d6f756e7400005546697836340003", - "hash": "33e3977c45e7c23c1472bcf334d00b03ebf91b06b67c57b63b562c7b1ff5c59f" - }, - { - "title": "TH.12 - Unstake All FLOW", - "valid": true, - "chainID": "Testnet", - "payloadMessage": { - "script": "import LockedTokens from 0x95e019a17d0e23d7\nimport StakingProxy from 0x7aad92e5a0715d21\n\ntransaction() {\n\n let holderRef: &LockedTokens.TokenHolder\n\n prepare(account: AuthAccount) {\n self.holderRef = account.borrow<&LockedTokens.TokenHolder>(from: LockedTokens.TokenHolderStoragePath)\n ?? panic(\"Could not borrow reference to TokenHolder\")\n }\n\n execute {\n let stakerProxy = self.holderRef.borrowStaker()\n\n stakerProxy.unstakeAll()\n }\n}\n", - "arguments": [], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "99a8ac2c71d4f6bd", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "99a8ac2c71d4f6bd", - "authorizers": [ - "99a8ac2c71d4f6bd" - ] - }, - "envelopeMessage": { - "script": "import LockedTokens from 0x95e019a17d0e23d7\nimport StakingProxy from 0x7aad92e5a0715d21\n\ntransaction() {\n\n let holderRef: &LockedTokens.TokenHolder\n\n prepare(account: AuthAccount) {\n self.holderRef = account.borrow<&LockedTokens.TokenHolder>(from: LockedTokens.TokenHolderStoragePath)\n ?? panic(\"Could not borrow reference to TokenHolder\")\n }\n\n execute {\n let stakerProxy = self.holderRef.borrowStaker()\n\n stakerProxy.unstakeAll()\n }\n}\n", - "arguments": [], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "99a8ac2c71d4f6bd", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "99a8ac2c71d4f6bd", - "authorizers": [ - "99a8ac2c71d4f6bd" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f90227b901e3696d706f7274204c6f636b6564546f6b656e732066726f6d203078393565303139613137643065323364370a696d706f7274205374616b696e6750726f78792066726f6d203078376161643932653561303731356432310a0a7472616e73616374696f6e2829207b0a0a202020206c657420686f6c6465725265663a20264c6f636b6564546f6b656e732e546f6b656e486f6c6465720a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e686f6c646572526566203d206163636f756e742e626f72726f773c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f20546f6b656e486f6c64657222290a202020207d0a0a2020202065786563757465207b0a20202020202020206c6574207374616b657250726f7879203d2073656c662e686f6c6465725265662e626f72726f775374616b657228290a0a20202020202020207374616b657250726f78792e756e7374616b65416c6c28290a202020207d0a7d0ac0a0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", - "encodedTransactionEnvelopeHex": "f9022bf90227b901e3696d706f7274204c6f636b6564546f6b656e732066726f6d203078393565303139613137643065323364370a696d706f7274205374616b696e6750726f78792066726f6d203078376161643932653561303731356432310a0a7472616e73616374696f6e2829207b0a0a202020206c657420686f6c6465725265663a20264c6f636b6564546f6b656e732e546f6b656e486f6c6465720a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e686f6c646572526566203d206163636f756e742e626f72726f773c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f20546f6b656e486f6c64657222290a202020207d0a0a2020202065786563757465207b0a20202020202020206c6574207374616b657250726f7879203d2073656c662e686f6c6465725265662e626f72726f775374616b657228290a0a20202020202020207374616b657250726f78792e756e7374616b65416c6c28290a202020207d0a7d0ac0a0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", - "metadata": "02f92c4cd663b2e335cd821a656bb2ebcf239b222036a7825af5e512fad4d820357099904b953b062e81e2575a2c2081b3d98bfccf5c743b4bdb224b937e292dad556e7374616b6520416c6c20464c4f570000", - "hash": "f92c4cd663b2e335cd821a656bb2ebcf239b222036a7825af5e512fad4d82035" + "encodedTransactionPayloadHex": "f9092bb9082f696d706f72742046756e6769626c65546f6b656e2066726f6d203078396130373636643933623636303862370a696d706f72742046756e6769626c65546f6b656e4d6574616461746156696577732066726f6d203078396130373636643933623636303862370a0a2f2f2f2043616e207061737320696e20616e7920636f6e7472616374206164647265737320616e64206e616d6520746f207472616e73666572206120746f6b656e2066726f6d207468617420636f6e74726163740a2f2f2f2054686973206c65747320796f752063686f6f73652074686520746f6b656e20796f752077616e7420746f2073656e640a2f2f2f0a2f2f2f20416e7920636f6e74726163742063616e2062652063686f73656e20686572652c20736f2077616c6c6574732073686f756c6420636865636b20617267756d656e742076616c7565730a2f2f2f20746f206d616b6520737572652074686520696e74656e64656420746f6b656e20706174682069732070617373656420696e0a2f2f2f0a7472616e73616374696f6e28616d6f756e743a205546697836342c20746f3a20416464726573732c20636f6e7472616374416464726573733a20416464726573732c20636f6e74726163744e616d653a20537472696e6729207b0a0a202020202f2f20546865205661756c74207265736f75726365207468617420686f6c64732074686520746f6b656e73207468617420617265206265696e67207472616e736665727265640a202020206c65742074656d705661756c743a20407b46756e6769626c65546f6b656e2e5661756c747d0a0a202020202f2f2046545661756c74446174612073747275637420746f206765742070617468732066726f6d0a202020206c6574207661756c74446174613a2046756e6769626c65546f6b656e4d6574616461746156696577732e46545661756c74446174610a0a2020202070726570617265287369676e65723a206175746828426f72726f7756616c75652920264163636f756e7429207b0a0a20202020202020202f2f20426f72726f772061207265666572656e636520746f20746865207661756c742073746f726564206f6e2074686520706173736564206163636f756e742061742074686520706173736564207075626c6963506174680a20202020202020206c6574207265736f6c766572526566203d206765744163636f756e7428636f6e747261637441646472657373290a2020202020202020202020202e636f6e7472616374732e626f72726f773c267b46756e6769626c65546f6b656e7d3e286e616d653a20636f6e74726163744e616d65290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f207468652066756e6769626c6520746f6b656e20636f6e747261637422290a0a20202020202020202f2f205573652074686174207265666572656e636520746f2072657472696576652074686520465456696577200a202020202020202073656c662e7661756c7444617461203d207265736f6c7665725265662e7265736f6c7665436f6e747261637456696577287265736f75726365547970653a206e696c2c2076696577547970653a20547970653c46756e6769626c65546f6b656e4d6574616461746156696577732e46545661756c74446174613e282929206173212046756e6769626c65546f6b656e4d6574616461746156696577732e46545661756c74446174613f0a2020202020202020202020203f3f2070616e69632822436f756c64206e6f74207265736f6c7665207468652046545661756c7444617461207669657720666f722074686520676976656e2046756e6769626c6520746f6b656e20636f6e747261637422290a0a20202020202020202f2f204765742061207265666572656e636520746f20746865207369676e657227732073746f726564207661756c740a20202020202020206c6574207661756c74526566203d207369676e65722e73746f726167652e626f72726f773c617574682846756e6769626c65546f6b656e2e57697468647261772920267b46756e6769626c65546f6b656e2e50726f76696465727d3e2866726f6d3a2073656c662e7661756c74446174612e73746f7261676550617468290a0909093f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f20746865206f776e65722773205661756c742122290a0a202020202020202073656c662e74656d705661756c74203c2d207661756c745265662e776974686472617728616d6f756e743a20616d6f756e74290a202020207d0a0a2020202065786563757465207b0a20202020202020206c657420726563697069656e74203d206765744163636f756e7428746f290a20202020202020206c6574207265636569766572526566203d20726563697069656e742e6361706162696c69746965732e626f72726f773c267b46756e6769626c65546f6b656e2e52656365697665727d3e2873656c662e7661756c74446174612e726563656976657250617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f2074686520726563697069656e7427732052656365697665722122290a0a20202020202020202f2f205472616e7366657220746f6b656e732066726f6d20746865207369676e657227732073746f726564207661756c7420746f20746865207265636569766572206361706162696c6974790a202020202020202072656365697665725265662e6465706f7369742866726f6d3a203c2d73656c662e74656d705661756c74290a202020207d0a7df8b7b07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227daf7b2276616c7565223a22307838633533303365616132363230326436222c2274797065223a2241646472657373227daf7b2276616c7565223a22307838633533303365616132363230326436222c2274797065223a2241646472657373227da57b2276616c7565223a2246696174546f6b656e222c2274797065223a22537472696e67227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", + "encodedTransactionEnvelopeHex": "f9092ff9092bb9082f696d706f72742046756e6769626c65546f6b656e2066726f6d203078396130373636643933623636303862370a696d706f72742046756e6769626c65546f6b656e4d6574616461746156696577732066726f6d203078396130373636643933623636303862370a0a2f2f2f2043616e207061737320696e20616e7920636f6e7472616374206164647265737320616e64206e616d6520746f207472616e73666572206120746f6b656e2066726f6d207468617420636f6e74726163740a2f2f2f2054686973206c65747320796f752063686f6f73652074686520746f6b656e20796f752077616e7420746f2073656e640a2f2f2f0a2f2f2f20416e7920636f6e74726163742063616e2062652063686f73656e20686572652c20736f2077616c6c6574732073686f756c6420636865636b20617267756d656e742076616c7565730a2f2f2f20746f206d616b6520737572652074686520696e74656e64656420746f6b656e20706174682069732070617373656420696e0a2f2f2f0a7472616e73616374696f6e28616d6f756e743a205546697836342c20746f3a20416464726573732c20636f6e7472616374416464726573733a20416464726573732c20636f6e74726163744e616d653a20537472696e6729207b0a0a202020202f2f20546865205661756c74207265736f75726365207468617420686f6c64732074686520746f6b656e73207468617420617265206265696e67207472616e736665727265640a202020206c65742074656d705661756c743a20407b46756e6769626c65546f6b656e2e5661756c747d0a0a202020202f2f2046545661756c74446174612073747275637420746f206765742070617468732066726f6d0a202020206c6574207661756c74446174613a2046756e6769626c65546f6b656e4d6574616461746156696577732e46545661756c74446174610a0a2020202070726570617265287369676e65723a206175746828426f72726f7756616c75652920264163636f756e7429207b0a0a20202020202020202f2f20426f72726f772061207265666572656e636520746f20746865207661756c742073746f726564206f6e2074686520706173736564206163636f756e742061742074686520706173736564207075626c6963506174680a20202020202020206c6574207265736f6c766572526566203d206765744163636f756e7428636f6e747261637441646472657373290a2020202020202020202020202e636f6e7472616374732e626f72726f773c267b46756e6769626c65546f6b656e7d3e286e616d653a20636f6e74726163744e616d65290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f207468652066756e6769626c6520746f6b656e20636f6e747261637422290a0a20202020202020202f2f205573652074686174207265666572656e636520746f2072657472696576652074686520465456696577200a202020202020202073656c662e7661756c7444617461203d207265736f6c7665725265662e7265736f6c7665436f6e747261637456696577287265736f75726365547970653a206e696c2c2076696577547970653a20547970653c46756e6769626c65546f6b656e4d6574616461746156696577732e46545661756c74446174613e282929206173212046756e6769626c65546f6b656e4d6574616461746156696577732e46545661756c74446174613f0a2020202020202020202020203f3f2070616e69632822436f756c64206e6f74207265736f6c7665207468652046545661756c7444617461207669657720666f722074686520676976656e2046756e6769626c6520746f6b656e20636f6e747261637422290a0a20202020202020202f2f204765742061207265666572656e636520746f20746865207369676e657227732073746f726564207661756c740a20202020202020206c6574207661756c74526566203d207369676e65722e73746f726167652e626f72726f773c617574682846756e6769626c65546f6b656e2e57697468647261772920267b46756e6769626c65546f6b656e2e50726f76696465727d3e2866726f6d3a2073656c662e7661756c74446174612e73746f7261676550617468290a0909093f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f20746865206f776e65722773205661756c742122290a0a202020202020202073656c662e74656d705661756c74203c2d207661756c745265662e776974686472617728616d6f756e743a20616d6f756e74290a202020207d0a0a2020202065786563757465207b0a20202020202020206c657420726563697069656e74203d206765744163636f756e7428746f290a20202020202020206c6574207265636569766572526566203d20726563697069656e742e6361706162696c69746965732e626f72726f773c267b46756e6769626c65546f6b656e2e52656365697665727d3e2873656c662e7661756c74446174612e726563656976657250617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f2074686520726563697069656e7427732052656365697665722122290a0a20202020202020202f2f205472616e7366657220746f6b656e732066726f6d20746865207369676e657227732073746f726564207661756c7420746f20746865207265636569766572206361706162696c6974790a202020202020202072656365697665725265662e6465706f7369742866726f6d3a203c2d73656c662e74656d705661756c74290a202020207d0a7df8b7b07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227daf7b2276616c7565223a22307838633533303365616132363230326436222c2274797065223a2241646472657373227daf7b2276616c7565223a22307838633533303365616132363230326436222c2274797065223a2241646472657373227da57b2276616c7565223a2246696174546f6b656e222c2274797065223a22537472696e67227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", + "metadata": "02c1518742a95f9b49259abed8364b05d616ee8acebe123e9979f762b9e7522f93697ad2a90da93cbd02b7658f174c9c32e2016a574edb89cf24b57a8155c343e45472616e736665722046756e6769626c6520546f6b656e20776974682041646472657373000401416d6f756e740000554669783634000301526563697069656e74000141646472657373000301465420436f6e74726163742041646472657373000241646472657373000301465420436f6e7472616374204e616d650003537472696e670003", + "hash": "c1518742a95f9b49259abed8364b05d616ee8acebe123e9979f762b9e7522f93" }, { - "title": "TH.13 - Withdraw Unstaked FLOW", + "title": "NFT.01 - Setup NFT Collection", "valid": true, "chainID": "Testnet", "payloadMessage": { - "script": "import LockedTokens from 0x95e019a17d0e23d7\nimport StakingProxy from 0x7aad92e5a0715d21\n\ntransaction(amount: UFix64) {\n\n let holderRef: &LockedTokens.TokenHolder\n\n prepare(account: AuthAccount) {\n self.holderRef = account.borrow<&LockedTokens.TokenHolder>(from: LockedTokens.TokenHolderStoragePath)\n ?? panic(\"Could not borrow reference to TokenHolder\")\n }\n\n execute {\n let stakerProxy = self.holderRef.borrowStaker()\n\n stakerProxy.withdrawUnstakedTokens(amount: amount)\n }\n}\n", + "script": "/// This transaction is what an account would run\n/// to set itself up to receive NFTs. This function\n/// uses views to know where to set up the collection\n/// in storage and to create the empty collection.\n\nimport 0x631e88ae7f1d7c20\nimport 0x631e88ae7f1d7c20\n\ntransaction(contractAddress: Address, contractName: String) {\n\n prepare(signer: auth(IssueStorageCapabilityController, PublishCapability, SaveValue) &Account) {\n // Borrow a reference to the nft contract deployed to the passed account\n let resolverRef = getAccount(contractAddress)\n .contracts.borrow<&{NonFungibleToken}>(name: contractName)\n ?? panic(\"Could not borrow a reference to the non-fungible token contract\")\n\n // Use that reference to retrieve the NFTCollectionData view \n let collectionData = resolverRef.resolveContractView(resourceType: nil, viewType: Type()) as! MetadataViews.NFTCollectionData?\n ?? panic(\"Could not resolve the NFTCollectionData view for the given non-fungible token contract\")\n\n // Create a new empty collections\n let emptyCollection <- collectionData.createEmptyCollection()\n\n // save it to the account\n signer.storage.save(<-emptyCollection, to: collectionData.storagePath)\n\n // create a public capability for the collection\n let collectionCap = signer.capabilities.storage.issue<&{NonFungibleToken.Collection}>(\n collectionData.storagePath\n )\n signer.capabilities.publish(collectionCap, at: collectionData.publicPath)\n }\n}\n", "arguments": [ { - "type": "UFix64", - "value": "92233720368.54775808" + "type": "Address", + "value": "0x8c5303eaa26202d6" + }, + { + "value": "TopShot", + "type": "String" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -454,11 +432,15 @@ ] }, "envelopeMessage": { - "script": "import LockedTokens from 0x95e019a17d0e23d7\nimport StakingProxy from 0x7aad92e5a0715d21\n\ntransaction(amount: UFix64) {\n\n let holderRef: &LockedTokens.TokenHolder\n\n prepare(account: AuthAccount) {\n self.holderRef = account.borrow<&LockedTokens.TokenHolder>(from: LockedTokens.TokenHolderStoragePath)\n ?? panic(\"Could not borrow reference to TokenHolder\")\n }\n\n execute {\n let stakerProxy = self.holderRef.borrowStaker()\n\n stakerProxy.withdrawUnstakedTokens(amount: amount)\n }\n}\n", + "script": "/// This transaction is what an account would run\n/// to set itself up to receive NFTs. This function\n/// uses views to know where to set up the collection\n/// in storage and to create the empty collection.\n\nimport 0x631e88ae7f1d7c20\nimport 0x631e88ae7f1d7c20\n\ntransaction(contractAddress: Address, contractName: String) {\n\n prepare(signer: auth(IssueStorageCapabilityController, PublishCapability, SaveValue) &Account) {\n // Borrow a reference to the nft contract deployed to the passed account\n let resolverRef = getAccount(contractAddress)\n .contracts.borrow<&{NonFungibleToken}>(name: contractName)\n ?? panic(\"Could not borrow a reference to the non-fungible token contract\")\n\n // Use that reference to retrieve the NFTCollectionData view \n let collectionData = resolverRef.resolveContractView(resourceType: nil, viewType: Type()) as! MetadataViews.NFTCollectionData?\n ?? panic(\"Could not resolve the NFTCollectionData view for the given non-fungible token contract\")\n\n // Create a new empty collections\n let emptyCollection <- collectionData.createEmptyCollection()\n\n // save it to the account\n signer.storage.save(<-emptyCollection, to: collectionData.storagePath)\n\n // create a public capability for the collection\n let collectionCap = signer.capabilities.storage.issue<&{NonFungibleToken.Collection}>(\n collectionData.storagePath\n )\n signer.capabilities.publish(collectionCap, at: collectionData.publicPath)\n }\n}\n", "arguments": [ { - "type": "UFix64", - "value": "92233720368.54775808" + "type": "Address", + "value": "0x8c5303eaa26202d6" + }, + { + "value": "TopShot", + "type": "String" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -474,21 +456,33 @@ ], "payloadSigs": [] }, - "encodedTransactionPayloadHex": "f90280b9020b696d706f7274204c6f636b6564546f6b656e732066726f6d203078393565303139613137643065323364370a696d706f7274205374616b696e6750726f78792066726f6d203078376161643932653561303731356432310a0a7472616e73616374696f6e28616d6f756e743a2055466978363429207b0a0a202020206c657420686f6c6465725265663a20264c6f636b6564546f6b656e732e546f6b656e486f6c6465720a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e686f6c646572526566203d206163636f756e742e626f72726f773c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f20546f6b656e486f6c64657222290a202020207d0a0a2020202065786563757465207b0a20202020202020206c6574207374616b657250726f7879203d2073656c662e686f6c6465725265662e626f72726f775374616b657228290a0a20202020202020207374616b657250726f78792e7769746864726177556e7374616b6564546f6b656e7328616d6f756e743a20616d6f756e74290a202020207d0a7d0af1b07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", - "encodedTransactionEnvelopeHex": "f90284f90280b9020b696d706f7274204c6f636b6564546f6b656e732066726f6d203078393565303139613137643065323364370a696d706f7274205374616b696e6750726f78792066726f6d203078376161643932653561303731356432310a0a7472616e73616374696f6e28616d6f756e743a2055466978363429207b0a0a202020206c657420686f6c6465725265663a20264c6f636b6564546f6b656e732e546f6b656e486f6c6465720a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e686f6c646572526566203d206163636f756e742e626f72726f773c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f20546f6b656e486f6c64657222290a202020207d0a0a2020202065786563757465207b0a20202020202020206c6574207374616b657250726f7879203d2073656c662e686f6c6465725265662e626f72726f775374616b657228290a0a20202020202020207374616b657250726f78792e7769746864726177556e7374616b6564546f6b656e7328616d6f756e743a20616d6f756e74290a202020207d0a7d0af1b07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", - "metadata": "0290097e3aff9b67f65bbada3cdedbb73d45d093ff333aaaff38809bf9910a3e39dcae4faa6d689873f7caf7c5efef669f9fe1d4113e58b474b7aec1e07113a7ff576974686472617720556e7374616b656420464c4f57000101416d6f756e7400005546697836340003", - "hash": "90097e3aff9b67f65bbada3cdedbb73d45d093ff333aaaff38809bf9910a3e39" + "encodedTransactionPayloadHex": "f906d5b9063c2f2f2f2054686973207472616e73616374696f6e206973207768617420616e206163636f756e7420776f756c642072756e0a2f2f2f20746f2073657420697473656c6620757020746f2072656365697665204e4654732e20546869732066756e6374696f6e0a2f2f2f207573657320766965777320746f206b6e6f7720776865726520746f207365742075702074686520636f6c6c656374696f6e0a2f2f2f20696e2073746f7261676520616e6420746f206372656174652074686520656d70747920636f6c6c656374696f6e2e0a0a696d706f7274203078363331653838616537663164376332300a696d706f7274203078363331653838616537663164376332300a0a7472616e73616374696f6e28636f6e7472616374416464726573733a20416464726573732c20636f6e74726163744e616d653a20537472696e6729207b0a0a2020202070726570617265287369676e65723a206175746828497373756553746f726167654361706162696c697479436f6e74726f6c6c65722c205075626c6973684361706162696c6974792c205361766556616c75652920264163636f756e7429207b0a20202020202020202f2f20426f72726f772061207265666572656e636520746f20746865206e667420636f6e7472616374206465706c6f79656420746f2074686520706173736564206163636f756e740a20202020202020206c6574207265736f6c766572526566203d206765744163636f756e7428636f6e747261637441646472657373290a2020202020202020202020202e636f6e7472616374732e626f72726f773c267b4e6f6e46756e6769626c65546f6b656e7d3e286e616d653a20636f6e74726163744e616d65290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f20746865206e6f6e2d66756e6769626c6520746f6b656e20636f6e747261637422290a0a20202020202020202f2f205573652074686174207265666572656e636520746f20726574726965766520746865204e4654436f6c6c656374696f6e446174612076696577200a20202020202020206c657420636f6c6c656374696f6e44617461203d207265736f6c7665725265662e7265736f6c7665436f6e747261637456696577287265736f75726365547970653a206e696c2c2076696577547970653a20547970653c4d6574616461746156696577732e4e4654436f6c6c656374696f6e446174613e28292920617321204d6574616461746156696577732e4e4654436f6c6c656374696f6e446174613f0a2020202020202020202020203f3f2070616e69632822436f756c64206e6f74207265736f6c766520746865204e4654436f6c6c656374696f6e44617461207669657720666f722074686520676976656e206e6f6e2d66756e6769626c6520746f6b656e20636f6e747261637422290a0a20202020202020202f2f204372656174652061206e657720656d70747920636f6c6c656374696f6e730a20202020202020206c657420656d707479436f6c6c656374696f6e203c2d20636f6c6c656374696f6e446174612e637265617465456d707479436f6c6c656374696f6e28290a0a20202020202020202f2f207361766520697420746f20746865206163636f756e740a20202020202020207369676e65722e73746f726167652e73617665283c2d656d707479436f6c6c656374696f6e2c20746f3a20636f6c6c656374696f6e446174612e73746f7261676550617468290a0a20202020202020202f2f206372656174652061207075626c6963206361706162696c69747920666f722074686520636f6c6c656374696f6e0a20202020202020206c657420636f6c6c656374696f6e436170203d207369676e65722e6361706162696c69746965732e73746f726167652e69737375653c267b4e6f6e46756e6769626c65546f6b656e2e436f6c6c656374696f6e7d3e280a20202020202020202020202020202020636f6c6c656374696f6e446174612e73746f72616765506174680a202020202020202020202020290a20202020202020207369676e65722e6361706162696c69746965732e7075626c69736828636f6c6c656374696f6e4361702c2061743a20636f6c6c656374696f6e446174612e7075626c696350617468290a202020207d0a7d0af854af7b2274797065223a2241646472657373222c2276616c7565223a22307838633533303365616132363230326436227da37b2276616c7565223a22546f7053686f74222c2274797065223a22537472696e67227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", + "encodedTransactionEnvelopeHex": "f906d9f906d5b9063c2f2f2f2054686973207472616e73616374696f6e206973207768617420616e206163636f756e7420776f756c642072756e0a2f2f2f20746f2073657420697473656c6620757020746f2072656365697665204e4654732e20546869732066756e6374696f6e0a2f2f2f207573657320766965777320746f206b6e6f7720776865726520746f207365742075702074686520636f6c6c656374696f6e0a2f2f2f20696e2073746f7261676520616e6420746f206372656174652074686520656d70747920636f6c6c656374696f6e2e0a0a696d706f7274203078363331653838616537663164376332300a696d706f7274203078363331653838616537663164376332300a0a7472616e73616374696f6e28636f6e7472616374416464726573733a20416464726573732c20636f6e74726163744e616d653a20537472696e6729207b0a0a2020202070726570617265287369676e65723a206175746828497373756553746f726167654361706162696c697479436f6e74726f6c6c65722c205075626c6973684361706162696c6974792c205361766556616c75652920264163636f756e7429207b0a20202020202020202f2f20426f72726f772061207265666572656e636520746f20746865206e667420636f6e7472616374206465706c6f79656420746f2074686520706173736564206163636f756e740a20202020202020206c6574207265736f6c766572526566203d206765744163636f756e7428636f6e747261637441646472657373290a2020202020202020202020202e636f6e7472616374732e626f72726f773c267b4e6f6e46756e6769626c65546f6b656e7d3e286e616d653a20636f6e74726163744e616d65290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f20746865206e6f6e2d66756e6769626c6520746f6b656e20636f6e747261637422290a0a20202020202020202f2f205573652074686174207265666572656e636520746f20726574726965766520746865204e4654436f6c6c656374696f6e446174612076696577200a20202020202020206c657420636f6c6c656374696f6e44617461203d207265736f6c7665725265662e7265736f6c7665436f6e747261637456696577287265736f75726365547970653a206e696c2c2076696577547970653a20547970653c4d6574616461746156696577732e4e4654436f6c6c656374696f6e446174613e28292920617321204d6574616461746156696577732e4e4654436f6c6c656374696f6e446174613f0a2020202020202020202020203f3f2070616e69632822436f756c64206e6f74207265736f6c766520746865204e4654436f6c6c656374696f6e44617461207669657720666f722074686520676976656e206e6f6e2d66756e6769626c6520746f6b656e20636f6e747261637422290a0a20202020202020202f2f204372656174652061206e657720656d70747920636f6c6c656374696f6e730a20202020202020206c657420656d707479436f6c6c656374696f6e203c2d20636f6c6c656374696f6e446174612e637265617465456d707479436f6c6c656374696f6e28290a0a20202020202020202f2f207361766520697420746f20746865206163636f756e740a20202020202020207369676e65722e73746f726167652e73617665283c2d656d707479436f6c6c656374696f6e2c20746f3a20636f6c6c656374696f6e446174612e73746f7261676550617468290a0a20202020202020202f2f206372656174652061207075626c6963206361706162696c69747920666f722074686520636f6c6c656374696f6e0a20202020202020206c657420636f6c6c656374696f6e436170203d207369676e65722e6361706162696c69746965732e73746f726167652e69737375653c267b4e6f6e46756e6769626c65546f6b656e2e436f6c6c656374696f6e7d3e280a20202020202020202020202020202020636f6c6c656374696f6e446174612e73746f72616765506174680a202020202020202020202020290a20202020202020207369676e65722e6361706162696c69746965732e7075626c69736828636f6c6c656374696f6e4361702c2061743a20636f6c6c656374696f6e446174612e7075626c696350617468290a202020207d0a7d0af854af7b2274797065223a2241646472657373222c2276616c7565223a22307838633533303365616132363230326436227da37b2276616c7565223a22546f7053686f74222c2274797065223a22537472696e67227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", + "metadata": "02d9ef3b05f8b06d43c3a0ef4066e88e6248323c5f235f9a5d1f8a85d6e2bc9bfa1d12c005fa7a08277204e5d54e29b725c52b9e8e3dd6ff6e01f8d47d7be1626c5365747570204e465420436f6c6c656374696f6e0002014e465420436f6e747261637420416464726573730000416464726573730003014e465420436f6e7472616374204e616d650001537472696e670003", + "hash": "d9ef3b05f8b06d43c3a0ef4066e88e6248323c5f235f9a5d1f8a85d6e2bc9bfa" }, { - "title": "TH.14 - Withdraw Rewarded FLOW", + "title": "NFT.02 - Transfer NFT with Paths", "valid": true, "chainID": "Testnet", "payloadMessage": { - "script": "import LockedTokens from 0x95e019a17d0e23d7\nimport FlowToken from 0x7e60df042a9c0868\n\ntransaction(amount: UFix64) {\n\n let holderRef: &LockedTokens.TokenHolder\n let vaultRef: &FlowToken.Vault\n\n prepare(account: AuthAccount) {\n self.holderRef = account.borrow<&LockedTokens.TokenHolder>(from: LockedTokens.TokenHolderStoragePath)\n ?? panic(\"Could not borrow reference to TokenHolder\")\n\n self.vaultRef = account.borrow<&FlowToken.Vault>(from: /storage/flowTokenVault)\n ?? panic(\"Could not borrow reference to FlowToken value\")\n }\n\n execute {\n let stakerProxy = self.holderRef.borrowStaker()\n\n stakerProxy.withdrawRewardedTokens(amount: amount)\n self.vaultRef.deposit(from: <-self.holderRef.withdraw(amount: amount))\n }\n}\n", + "script": "import 0x631e88ae7f1d7c20\n\n/// Can pass in any storage path and receiver path instead of just the default.\n/// This lets you choose the token you want to send as well the capability you want to send it to.\n///\n/// Any token path can be passed as an argument here, so wallets should\n/// should check argument values to make sure the intended token path is passed in\n///\ntransaction(to: Address, id: UInt64, senderPathIdentifier: String, receiverPathIdentifier: String) {\n\n // The NFT resource to be transferred\n let tempNFT: @{NonFungibleToken.NFT}\n\n prepare(signer: auth(BorrowValue) &Account) {\n\n let storagePath = StoragePath(identifier: senderPathIdentifier)\n ?? panic(\"Could not construct a storage path from the provided path identifier string\")\n\n // borrow a reference to the signer's NFT collection\n let withdrawRef = signer.storage.borrow(\n from: storagePath\n ) ?? panic(\"Account does not store a collection object at the specified path\")\n\n self.tempNFT <- withdrawRef.withdraw(withdrawID: id)\n }\n\n execute {\n let publicPath = PublicPath(identifier: receiverPathIdentifier)\n ?? panic(\"Could not construct a public path from the provided path identifier string\")\n\n // get the recipients public account object\n let recipient = getAccount(to)\n\n // borrow a public reference to the receivers collection\n let receiverCap = recipient.capabilities.get<&{NonFungibleToken.Receiver}>(publicPath)\n ?? panic(\"Could not get the recipient's Receiver Capability\")\n\n let receiverRef = receiverCap.borrow()\n ?? panic(\"Could not borrow reference to the recipient's receiver\")\n\n // Deposit the NFT to the receiver\n receiverRef.deposit(token: <-self.tempNFT)\n }\n}", "arguments": [ { - "type": "UFix64", - "value": "92233720368.54775808" + "type": "Address", + "value": "0x8c5303eaa26202d6" + }, + { + "value": "10", + "type": "UInt64" + }, + { + "value": "flowTokenVault", + "type": "String" + }, + { + "value": "flowTokenReceiver", + "type": "String" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -504,11 +498,23 @@ ] }, "envelopeMessage": { - "script": "import LockedTokens from 0x95e019a17d0e23d7\nimport FlowToken from 0x7e60df042a9c0868\n\ntransaction(amount: UFix64) {\n\n let holderRef: &LockedTokens.TokenHolder\n let vaultRef: &FlowToken.Vault\n\n prepare(account: AuthAccount) {\n self.holderRef = account.borrow<&LockedTokens.TokenHolder>(from: LockedTokens.TokenHolderStoragePath)\n ?? panic(\"Could not borrow reference to TokenHolder\")\n\n self.vaultRef = account.borrow<&FlowToken.Vault>(from: /storage/flowTokenVault)\n ?? panic(\"Could not borrow reference to FlowToken value\")\n }\n\n execute {\n let stakerProxy = self.holderRef.borrowStaker()\n\n stakerProxy.withdrawRewardedTokens(amount: amount)\n self.vaultRef.deposit(from: <-self.holderRef.withdraw(amount: amount))\n }\n}\n", + "script": "import 0x631e88ae7f1d7c20\n\n/// Can pass in any storage path and receiver path instead of just the default.\n/// This lets you choose the token you want to send as well the capability you want to send it to.\n///\n/// Any token path can be passed as an argument here, so wallets should\n/// should check argument values to make sure the intended token path is passed in\n///\ntransaction(to: Address, id: UInt64, senderPathIdentifier: String, receiverPathIdentifier: String) {\n\n // The NFT resource to be transferred\n let tempNFT: @{NonFungibleToken.NFT}\n\n prepare(signer: auth(BorrowValue) &Account) {\n\n let storagePath = StoragePath(identifier: senderPathIdentifier)\n ?? panic(\"Could not construct a storage path from the provided path identifier string\")\n\n // borrow a reference to the signer's NFT collection\n let withdrawRef = signer.storage.borrow(\n from: storagePath\n ) ?? panic(\"Account does not store a collection object at the specified path\")\n\n self.tempNFT <- withdrawRef.withdraw(withdrawID: id)\n }\n\n execute {\n let publicPath = PublicPath(identifier: receiverPathIdentifier)\n ?? panic(\"Could not construct a public path from the provided path identifier string\")\n\n // get the recipients public account object\n let recipient = getAccount(to)\n\n // borrow a public reference to the receivers collection\n let receiverCap = recipient.capabilities.get<&{NonFungibleToken.Receiver}>(publicPath)\n ?? panic(\"Could not get the recipient's Receiver Capability\")\n\n let receiverRef = receiverCap.borrow()\n ?? panic(\"Could not borrow reference to the recipient's receiver\")\n\n // Deposit the NFT to the receiver\n receiverRef.deposit(token: <-self.tempNFT)\n }\n}", "arguments": [ { - "type": "UFix64", - "value": "92233720368.54775808" + "type": "Address", + "value": "0x8c5303eaa26202d6" + }, + { + "value": "10", + "type": "UInt64" + }, + { + "value": "flowTokenVault", + "type": "String" + }, + { + "value": "flowTokenReceiver", + "type": "String" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -524,29 +530,33 @@ ], "payloadSigs": [] }, - "encodedTransactionPayloadHex": "f9038eb90319696d706f7274204c6f636b6564546f6b656e732066726f6d203078393565303139613137643065323364370a696d706f727420466c6f77546f6b656e2066726f6d203078376536306466303432613963303836380a0a7472616e73616374696f6e28616d6f756e743a2055466978363429207b0a0a202020206c657420686f6c6465725265663a20264c6f636b6564546f6b656e732e546f6b656e486f6c6465720a202020206c6574207661756c745265663a2026466c6f77546f6b656e2e5661756c740a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e686f6c646572526566203d206163636f756e742e626f72726f773c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f20546f6b656e486f6c64657222290a0a202020202020202073656c662e7661756c74526566203d206163636f756e742e626f72726f773c26466c6f77546f6b656e2e5661756c743e2866726f6d3a202f73746f726167652f666c6f77546f6b656e5661756c74290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f20466c6f77546f6b656e2076616c756522290a202020207d0a0a2020202065786563757465207b0a20202020202020206c6574207374616b657250726f7879203d2073656c662e686f6c6465725265662e626f72726f775374616b657228290a0a20202020202020207374616b657250726f78792e77697468647261775265776172646564546f6b656e7328616d6f756e743a20616d6f756e74290a202020202020202073656c662e7661756c745265662e6465706f7369742866726f6d3a203c2d73656c662e686f6c6465725265662e776974686472617728616d6f756e743a20616d6f756e7429290a202020207d0a7d0af1b07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", - "encodedTransactionEnvelopeHex": "f90392f9038eb90319696d706f7274204c6f636b6564546f6b656e732066726f6d203078393565303139613137643065323364370a696d706f727420466c6f77546f6b656e2066726f6d203078376536306466303432613963303836380a0a7472616e73616374696f6e28616d6f756e743a2055466978363429207b0a0a202020206c657420686f6c6465725265663a20264c6f636b6564546f6b656e732e546f6b656e486f6c6465720a202020206c6574207661756c745265663a2026466c6f77546f6b656e2e5661756c740a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e686f6c646572526566203d206163636f756e742e626f72726f773c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f20546f6b656e486f6c64657222290a0a202020202020202073656c662e7661756c74526566203d206163636f756e742e626f72726f773c26466c6f77546f6b656e2e5661756c743e2866726f6d3a202f73746f726167652f666c6f77546f6b656e5661756c74290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f20466c6f77546f6b656e2076616c756522290a202020207d0a0a2020202065786563757465207b0a20202020202020206c6574207374616b657250726f7879203d2073656c662e686f6c6465725265662e626f72726f775374616b657228290a0a20202020202020207374616b657250726f78792e77697468647261775265776172646564546f6b656e7328616d6f756e743a20616d6f756e74290a202020202020202073656c662e7661756c745265662e6465706f7369742866726f6d3a203c2d73656c662e686f6c6465725265662e776974686472617728616d6f756e743a20616d6f756e7429290a202020207d0a7d0af1b07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", - "metadata": "02f23406ff402f02418629432912ce732be0441b1a7e71f16c03d688a165ff7f499bb8f0562eea5e45c11f9289540f39c99a21c9a0fb060a7d3f832e98c2696f2d576974686472617720526577617264656420464c4f57000101416d6f756e7400005546697836340003", - "hash": "f23406ff402f02418629432912ce732be0441b1a7e71f16c03d688a165ff7f49" + "encodedTransactionPayloadHex": "f9084db90760696d706f7274203078363331653838616537663164376332300a0a2f2f2f2043616e207061737320696e20616e792073746f72616765207061746820616e64207265636569766572207061746820696e7374656164206f66206a757374207468652064656661756c742e0a2f2f2f2054686973206c65747320796f752063686f6f73652074686520746f6b656e20796f752077616e7420746f2073656e642061732077656c6c20746865206361706162696c69747920796f752077616e7420746f2073656e6420697420746f2e0a2f2f2f0a2f2f2f20416e7920746f6b656e20706174682063616e2062652070617373656420617320616e20617267756d656e7420686572652c20736f2077616c6c6574732073686f756c640a2f2f2f2073686f756c6420636865636b20617267756d656e742076616c75657320746f206d616b6520737572652074686520696e74656e64656420746f6b656e20706174682069732070617373656420696e0a2f2f2f0a7472616e73616374696f6e28746f3a20416464726573732c2069643a2055496e7436342c2073656e646572506174684964656e7469666965723a20537472696e672c207265636569766572506174684964656e7469666965723a20537472696e6729207b0a0a202020202f2f20546865204e4654207265736f7572636520746f206265207472616e736665727265640a202020206c65742074656d704e46543a20407b4e6f6e46756e6769626c65546f6b656e2e4e46547d0a0a2020202070726570617265287369676e65723a206175746828426f72726f7756616c75652920264163636f756e7429207b0a0a20202020202020206c65742073746f7261676550617468203d2053746f7261676550617468286964656e7469666965723a2073656e646572506174684964656e746966696572290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420636f6e73747275637420612073746f7261676520706174682066726f6d207468652070726f76696465642070617468206964656e74696669657220737472696e6722290a0a20202020202020202f2f20626f72726f772061207265666572656e636520746f20746865207369676e65722773204e465420636f6c6c656374696f6e0a20202020202020206c6574207769746864726177526566203d207369676e65722e73746f726167652e626f72726f773c61757468284e6f6e46756e6769626c65546f6b656e2e57697468647261772920267b4e6f6e46756e6769626c65546f6b656e2e436f6c6c656374696f6e7d3e280a2020202020202020202020202020202066726f6d3a2073746f72616765506174680a20202020202020202020202029203f3f2070616e696328224163636f756e7420646f6573206e6f742073746f7265206120636f6c6c656374696f6e206f626a6563742061742074686520737065636966696564207061746822290a0a202020202020202073656c662e74656d704e4654203c2d2077697468647261775265662e776974686472617728776974686472617749443a206964290a202020207d0a0a2020202065786563757465207b0a20202020202020206c6574207075626c696350617468203d205075626c696350617468286964656e7469666965723a207265636569766572506174684964656e746966696572290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420636f6e7374727563742061207075626c696320706174682066726f6d207468652070726f76696465642070617468206964656e74696669657220737472696e6722290a0a20202020202020202f2f206765742074686520726563697069656e7473207075626c6963206163636f756e74206f626a6563740a20202020202020206c657420726563697069656e74203d206765744163636f756e7428746f290a0a20202020202020202f2f20626f72726f772061207075626c6963207265666572656e636520746f207468652072656365697665727320636f6c6c656374696f6e0a20202020202020206c6574207265636569766572436170203d20726563697069656e742e6361706162696c69746965732e6765743c267b4e6f6e46756e6769626c65546f6b656e2e52656365697665727d3e287075626c696350617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f74206765742074686520726563697069656e742773205265636569766572204361706162696c69747922290a0a20202020202020206c6574207265636569766572526566203d2072656365697665724361702e626f72726f7728290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f2074686520726563697069656e74277320726563656976657222290a0a20202020202020202f2f204465706f73697420746865204e465420746f207468652072656365697665720a202020202020202072656365697665725265662e6465706f73697428746f6b656e3a203c2d73656c662e74656d704e4654290a202020207d0a7df8a8af7b2274797065223a2241646472657373222c2276616c7565223a22307838633533303365616132363230326436227d9e7b2276616c7565223a223130222c2274797065223a2255496e743634227daa7b2276616c7565223a22666c6f77546f6b656e5661756c74222c2274797065223a22537472696e67227dad7b2276616c7565223a22666c6f77546f6b656e5265636569766572222c2274797065223a22537472696e67227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", + "encodedTransactionEnvelopeHex": "f90851f9084db90760696d706f7274203078363331653838616537663164376332300a0a2f2f2f2043616e207061737320696e20616e792073746f72616765207061746820616e64207265636569766572207061746820696e7374656164206f66206a757374207468652064656661756c742e0a2f2f2f2054686973206c65747320796f752063686f6f73652074686520746f6b656e20796f752077616e7420746f2073656e642061732077656c6c20746865206361706162696c69747920796f752077616e7420746f2073656e6420697420746f2e0a2f2f2f0a2f2f2f20416e7920746f6b656e20706174682063616e2062652070617373656420617320616e20617267756d656e7420686572652c20736f2077616c6c6574732073686f756c640a2f2f2f2073686f756c6420636865636b20617267756d656e742076616c75657320746f206d616b6520737572652074686520696e74656e64656420746f6b656e20706174682069732070617373656420696e0a2f2f2f0a7472616e73616374696f6e28746f3a20416464726573732c2069643a2055496e7436342c2073656e646572506174684964656e7469666965723a20537472696e672c207265636569766572506174684964656e7469666965723a20537472696e6729207b0a0a202020202f2f20546865204e4654207265736f7572636520746f206265207472616e736665727265640a202020206c65742074656d704e46543a20407b4e6f6e46756e6769626c65546f6b656e2e4e46547d0a0a2020202070726570617265287369676e65723a206175746828426f72726f7756616c75652920264163636f756e7429207b0a0a20202020202020206c65742073746f7261676550617468203d2053746f7261676550617468286964656e7469666965723a2073656e646572506174684964656e746966696572290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420636f6e73747275637420612073746f7261676520706174682066726f6d207468652070726f76696465642070617468206964656e74696669657220737472696e6722290a0a20202020202020202f2f20626f72726f772061207265666572656e636520746f20746865207369676e65722773204e465420636f6c6c656374696f6e0a20202020202020206c6574207769746864726177526566203d207369676e65722e73746f726167652e626f72726f773c61757468284e6f6e46756e6769626c65546f6b656e2e57697468647261772920267b4e6f6e46756e6769626c65546f6b656e2e436f6c6c656374696f6e7d3e280a2020202020202020202020202020202066726f6d3a2073746f72616765506174680a20202020202020202020202029203f3f2070616e696328224163636f756e7420646f6573206e6f742073746f7265206120636f6c6c656374696f6e206f626a6563742061742074686520737065636966696564207061746822290a0a202020202020202073656c662e74656d704e4654203c2d2077697468647261775265662e776974686472617728776974686472617749443a206964290a202020207d0a0a2020202065786563757465207b0a20202020202020206c6574207075626c696350617468203d205075626c696350617468286964656e7469666965723a207265636569766572506174684964656e746966696572290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420636f6e7374727563742061207075626c696320706174682066726f6d207468652070726f76696465642070617468206964656e74696669657220737472696e6722290a0a20202020202020202f2f206765742074686520726563697069656e7473207075626c6963206163636f756e74206f626a6563740a20202020202020206c657420726563697069656e74203d206765744163636f756e7428746f290a0a20202020202020202f2f20626f72726f772061207075626c6963207265666572656e636520746f207468652072656365697665727320636f6c6c656374696f6e0a20202020202020206c6574207265636569766572436170203d20726563697069656e742e6361706162696c69746965732e6765743c267b4e6f6e46756e6769626c65546f6b656e2e52656365697665727d3e287075626c696350617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f74206765742074686520726563697069656e742773205265636569766572204361706162696c69747922290a0a20202020202020206c6574207265636569766572526566203d2072656365697665724361702e626f72726f7728290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f2074686520726563697069656e74277320726563656976657222290a0a20202020202020202f2f204465706f73697420746865204e465420746f207468652072656365697665720a202020202020202072656365697665725265662e6465706f73697428746f6b656e3a203c2d73656c662e74656d704e4654290a202020207d0a7df8a8af7b2274797065223a2241646472657373222c2276616c7565223a22307838633533303365616132363230326436227d9e7b2276616c7565223a223130222c2274797065223a2255496e743634227daa7b2276616c7565223a22666c6f77546f6b656e5661756c74222c2274797065223a22537472696e67227dad7b2276616c7565223a22666c6f77546f6b656e5265636569766572222c2274797065223a22537472696e67227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", + "metadata": "02f08815a2f535512a65e5c95c391dd6ff89662dad8fd68da836d11d0827a52bd4a56eb0c3e6c3456eee86d5cb62ddf700b0d1e5e65f12fe6926edd6d1816582855472616e73666572204e46542077697468205061746873000401526563697069656e740000416464726573730003014e465420494420746f205472616e73666572000155496e74363400030153656e646572277320436f6c6c656374696f6e2050617468204964656e7469666965720002537472696e67000301526563697069656e7427732052656365697665722050617468204964656e7469666965720003537472696e670003", + "hash": "f08815a2f535512a65e5c95c391dd6ff89662dad8fd68da836d11d0827a52bd4" }, { - "title": "TH.16 - Register Operator Node", + "title": "NFT.03 - Transfer NFT with Address", "valid": true, "chainID": "Testnet", "payloadMessage": { - "script": "import LockedTokens from 0x95e019a17d0e23d7\nimport StakingProxy from 0x7aad92e5a0715d21\n\ntransaction(address: Address, id: String, amount: UFix64) {\n\n let holderRef: &LockedTokens.TokenHolder\n\n prepare(account: AuthAccount) {\n self.holderRef = account.borrow<&LockedTokens.TokenHolder>(from: LockedTokens.TokenHolderStoragePath)\n ?? panic(\"Could not borrow reference to TokenHolder\")\n }\n\n execute {\n let nodeOperatorRef = getAccount(address).getCapability\n <&StakingProxy.NodeStakerProxyHolder{StakingProxy.NodeStakerProxyHolderPublic}>\n (StakingProxy.NodeOperatorCapabilityPublicPath)!.borrow() \n ?? panic(\"Could not borrow node operator public capability\")\n\n let nodeInfo = nodeOperatorRef.getNodeInfo(nodeID: id)\n ?? panic(\"Couldn't get info for nodeID=\".concat(id))\n\n self.holderRef.createNodeStaker(nodeInfo: nodeInfo, amount: amount)\n\n let nodeStakerProxy = self.holderRef.borrowStaker()\n\n nodeOperatorRef.addStakingProxy(nodeID: nodeInfo.id, proxy: nodeStakerProxy)\n }\n}\n", + "script": "import 0x631e88ae7f1d7c20\nimport 0x631e88ae7f1d7c20\n\n/// Can pass in any contract address and name\n/// This lets you choose the token you want to send because\n/// the transaction gets the metadata from the provided contract.\n///\ntransaction(to: Address, id: UInt64, contractAddress: Address, contractName: String) {\n\n // The NFT resource to be transferred\n let tempNFT: @{NonFungibleToken.NFT}\n\n // NFTCollectionData struct to get paths from\n let collectionData: MetadataViews.NFTCollectionData\n\n prepare(signer: auth(BorrowValue) &Account) {\n\n // Borrow a reference to the nft contract deployed to the passed account\n let resolverRef = getAccount(contractAddress)\n .contracts.borrow<&{NonFungibleToken}>(name: contractName)\n ?? panic(\"Could not borrow a reference to the non-fungible token contract\")\n\n // Use that reference to retrieve the NFTCollectionData view \n self.collectionData = resolverRef.resolveContractView(resourceType: nil, viewType: Type()) as! MetadataViews.NFTCollectionData?\n ?? panic(\"Could not resolve the NFTCollectionData view for the given non-fungible token contract\")\n\n\n // borrow a reference to the signer's NFT collection\n let withdrawRef = signer.storage.borrow(\n from: self.collectionData.storagePath\n ) ?? panic(\"Account does not store a collection object at the specified path\")\n\n self.tempNFT <- withdrawRef.withdraw(withdrawID: id)\n }\n\n execute {\n // get the recipients public account object\n let recipient = getAccount(to)\n\n // borrow a public reference to the receivers collection\n let receiverCap = recipient.capabilities.get<&{NonFungibleToken.Receiver}>(self.collectionData.publicPath)\n ?? panic(\"Could not get the recipient's Receiver Capability\")\n\n let receiverRef = receiverCap.borrow()\n ?? panic(\"Could not borrow reference to the recipient's receiver\")\n\n // Deposit the NFT to the receiver\n receiverRef.deposit(token: <-self.tempNFT)\n }\n}", "arguments": [ { "type": "Address", "value": "0x8c5303eaa26202d6" }, { - "type": "String", - "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" + "value": "10", + "type": "UInt64" }, { - "type": "UFix64", - "value": "92233720368.54775808" + "value": "0x8c5303eaa26202d6", + "type": "Address" + }, + { + "value": "TopShot", + "type": "String" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -562,19 +572,23 @@ ] }, "envelopeMessage": { - "script": "import LockedTokens from 0x95e019a17d0e23d7\nimport StakingProxy from 0x7aad92e5a0715d21\n\ntransaction(address: Address, id: String, amount: UFix64) {\n\n let holderRef: &LockedTokens.TokenHolder\n\n prepare(account: AuthAccount) {\n self.holderRef = account.borrow<&LockedTokens.TokenHolder>(from: LockedTokens.TokenHolderStoragePath)\n ?? panic(\"Could not borrow reference to TokenHolder\")\n }\n\n execute {\n let nodeOperatorRef = getAccount(address).getCapability\n <&StakingProxy.NodeStakerProxyHolder{StakingProxy.NodeStakerProxyHolderPublic}>\n (StakingProxy.NodeOperatorCapabilityPublicPath)!.borrow() \n ?? panic(\"Could not borrow node operator public capability\")\n\n let nodeInfo = nodeOperatorRef.getNodeInfo(nodeID: id)\n ?? panic(\"Couldn't get info for nodeID=\".concat(id))\n\n self.holderRef.createNodeStaker(nodeInfo: nodeInfo, amount: amount)\n\n let nodeStakerProxy = self.holderRef.borrowStaker()\n\n nodeOperatorRef.addStakingProxy(nodeID: nodeInfo.id, proxy: nodeStakerProxy)\n }\n}\n", + "script": "import 0x631e88ae7f1d7c20\nimport 0x631e88ae7f1d7c20\n\n/// Can pass in any contract address and name\n/// This lets you choose the token you want to send because\n/// the transaction gets the metadata from the provided contract.\n///\ntransaction(to: Address, id: UInt64, contractAddress: Address, contractName: String) {\n\n // The NFT resource to be transferred\n let tempNFT: @{NonFungibleToken.NFT}\n\n // NFTCollectionData struct to get paths from\n let collectionData: MetadataViews.NFTCollectionData\n\n prepare(signer: auth(BorrowValue) &Account) {\n\n // Borrow a reference to the nft contract deployed to the passed account\n let resolverRef = getAccount(contractAddress)\n .contracts.borrow<&{NonFungibleToken}>(name: contractName)\n ?? panic(\"Could not borrow a reference to the non-fungible token contract\")\n\n // Use that reference to retrieve the NFTCollectionData view \n self.collectionData = resolverRef.resolveContractView(resourceType: nil, viewType: Type()) as! MetadataViews.NFTCollectionData?\n ?? panic(\"Could not resolve the NFTCollectionData view for the given non-fungible token contract\")\n\n\n // borrow a reference to the signer's NFT collection\n let withdrawRef = signer.storage.borrow(\n from: self.collectionData.storagePath\n ) ?? panic(\"Account does not store a collection object at the specified path\")\n\n self.tempNFT <- withdrawRef.withdraw(withdrawID: id)\n }\n\n execute {\n // get the recipients public account object\n let recipient = getAccount(to)\n\n // borrow a public reference to the receivers collection\n let receiverCap = recipient.capabilities.get<&{NonFungibleToken.Receiver}>(self.collectionData.publicPath)\n ?? panic(\"Could not get the recipient's Receiver Capability\")\n\n let receiverRef = receiverCap.borrow()\n ?? panic(\"Could not borrow reference to the recipient's receiver\")\n\n // Deposit the NFT to the receiver\n receiverRef.deposit(token: <-self.tempNFT)\n }\n}", "arguments": [ { "type": "Address", "value": "0x8c5303eaa26202d6" }, { - "type": "String", - "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" + "value": "10", + "type": "UInt64" }, { - "type": "UFix64", - "value": "92233720368.54775808" + "value": "0x8c5303eaa26202d6", + "type": "Address" + }, + { + "value": "TopShot", + "type": "String" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -590,22 +604,18 @@ ], "payloadSigs": [] }, - "encodedTransactionPayloadHex": "f90546b90442696d706f7274204c6f636b6564546f6b656e732066726f6d203078393565303139613137643065323364370a696d706f7274205374616b696e6750726f78792066726f6d203078376161643932653561303731356432310a0a7472616e73616374696f6e28616464726573733a20416464726573732c2069643a20537472696e672c20616d6f756e743a2055466978363429207b0a0a202020206c657420686f6c6465725265663a20264c6f636b6564546f6b656e732e546f6b656e486f6c6465720a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e686f6c646572526566203d206163636f756e742e626f72726f773c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f20546f6b656e486f6c64657222290a202020207d0a0a2020202065786563757465207b0a20202020202020206c6574206e6f64654f70657261746f72526566203d206765744163636f756e742861646472657373292e6765744361706162696c6974790a2020202020202020202020203c265374616b696e6750726f78792e4e6f64655374616b657250726f7879486f6c6465727b5374616b696e6750726f78792e4e6f64655374616b657250726f7879486f6c6465725075626c69637d3e0a202020202020202020202020285374616b696e6750726f78792e4e6f64654f70657261746f724361706162696c6974795075626c69635061746829212e626f72726f772829200a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77206e6f6465206f70657261746f72207075626c6963206361706162696c69747922290a0a20202020202020206c6574206e6f6465496e666f203d206e6f64654f70657261746f725265662e6765744e6f6465496e666f286e6f646549443a206964290a2020202020202020202020203f3f2070616e69632822436f756c646e27742067657420696e666f20666f72206e6f646549443d222e636f6e63617428696429290a0a202020202020202073656c662e686f6c6465725265662e6372656174654e6f64655374616b6572286e6f6465496e666f3a206e6f6465496e666f2c20616d6f756e743a20616d6f756e74290a0a20202020202020206c6574206e6f64655374616b657250726f7879203d2073656c662e686f6c6465725265662e626f72726f775374616b657228290a0a20202020202020206e6f64654f70657261746f725265662e6164645374616b696e6750726f7879286e6f646549443a206e6f6465496e666f2e69642c2070726f78793a206e6f64655374616b657250726f7879290a202020207d0a7d0af8bfaf7b2274797065223a2241646472657373222c2276616c7565223a22307838633533303365616132363230326436227db85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", - "encodedTransactionEnvelopeHex": "f9054af90546b90442696d706f7274204c6f636b6564546f6b656e732066726f6d203078393565303139613137643065323364370a696d706f7274205374616b696e6750726f78792066726f6d203078376161643932653561303731356432310a0a7472616e73616374696f6e28616464726573733a20416464726573732c2069643a20537472696e672c20616d6f756e743a2055466978363429207b0a0a202020206c657420686f6c6465725265663a20264c6f636b6564546f6b656e732e546f6b656e486f6c6465720a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e686f6c646572526566203d206163636f756e742e626f72726f773c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f20546f6b656e486f6c64657222290a202020207d0a0a2020202065786563757465207b0a20202020202020206c6574206e6f64654f70657261746f72526566203d206765744163636f756e742861646472657373292e6765744361706162696c6974790a2020202020202020202020203c265374616b696e6750726f78792e4e6f64655374616b657250726f7879486f6c6465727b5374616b696e6750726f78792e4e6f64655374616b657250726f7879486f6c6465725075626c69637d3e0a202020202020202020202020285374616b696e6750726f78792e4e6f64654f70657261746f724361706162696c6974795075626c69635061746829212e626f72726f772829200a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77206e6f6465206f70657261746f72207075626c6963206361706162696c69747922290a0a20202020202020206c6574206e6f6465496e666f203d206e6f64654f70657261746f725265662e6765744e6f6465496e666f286e6f646549443a206964290a2020202020202020202020203f3f2070616e69632822436f756c646e27742067657420696e666f20666f72206e6f646549443d222e636f6e63617428696429290a0a202020202020202073656c662e686f6c6465725265662e6372656174654e6f64655374616b6572286e6f6465496e666f3a206e6f6465496e666f2c20616d6f756e743a20616d6f756e74290a0a20202020202020206c6574206e6f64655374616b657250726f7879203d2073656c662e686f6c6465725265662e626f72726f775374616b657228290a0a20202020202020206e6f64654f70657261746f725265662e6164645374616b696e6750726f7879286e6f646549443a206e6f6465496e666f2e69642c2070726f78793a206e6f64655374616b657250726f7879290a202020207d0a7d0af8bfaf7b2274797065223a2241646472657373222c2276616c7565223a22307838633533303365616132363230326436227db85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", - "metadata": "02c29d4024aaeb71ab478182542499e0ba3d5d303ec027252e3b8333515ee3de4897b3436482c5aefc1baf8b850e92c829202e468c57241dec707b6c27bd89d15c5265676973746572204f70657261746f72204e6f64650003014f70657261746f7220416464726573730000416464726573730003014e6f64652049440001537472696e67000301416d6f756e7400025546697836340003", - "hash": "c29d4024aaeb71ab478182542499e0ba3d5d303ec027252e3b8333515ee3de48" + "encodedTransactionPayloadHex": "f9096fb90887696d706f7274203078363331653838616537663164376332300a696d706f7274203078363331653838616537663164376332300a0a2f2f2f2043616e207061737320696e20616e7920636f6e7472616374206164647265737320616e64206e616d650a2f2f2f2054686973206c65747320796f752063686f6f73652074686520746f6b656e20796f752077616e7420746f2073656e6420626563617573650a2f2f2f20746865207472616e73616374696f6e206765747320746865206d657461646174612066726f6d207468652070726f766964656420636f6e74726163742e0a2f2f2f0a7472616e73616374696f6e28746f3a20416464726573732c2069643a2055496e7436342c20636f6e7472616374416464726573733a20416464726573732c20636f6e74726163744e616d653a20537472696e6729207b0a0a202020202f2f20546865204e4654207265736f7572636520746f206265207472616e736665727265640a202020206c65742074656d704e46543a20407b4e6f6e46756e6769626c65546f6b656e2e4e46547d0a0a202020202f2f204e4654436f6c6c656374696f6e446174612073747275637420746f206765742070617468732066726f6d0a202020206c657420636f6c6c656374696f6e446174613a204d6574616461746156696577732e4e4654436f6c6c656374696f6e446174610a0a2020202070726570617265287369676e65723a206175746828426f72726f7756616c75652920264163636f756e7429207b0a0a20202020202020202f2f20426f72726f772061207265666572656e636520746f20746865206e667420636f6e7472616374206465706c6f79656420746f2074686520706173736564206163636f756e740a20202020202020206c6574207265736f6c766572526566203d206765744163636f756e7428636f6e747261637441646472657373290a2020202020202020202020202e636f6e7472616374732e626f72726f773c267b4e6f6e46756e6769626c65546f6b656e7d3e286e616d653a20636f6e74726163744e616d65290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f20746865206e6f6e2d66756e6769626c6520746f6b656e20636f6e747261637422290a0a20202020202020202f2f205573652074686174207265666572656e636520746f20726574726965766520746865204e4654436f6c6c656374696f6e446174612076696577200a202020202020202073656c662e636f6c6c656374696f6e44617461203d207265736f6c7665725265662e7265736f6c7665436f6e747261637456696577287265736f75726365547970653a206e696c2c2076696577547970653a20547970653c4d6574616461746156696577732e4e4654436f6c6c656374696f6e446174613e28292920617321204d6574616461746156696577732e4e4654436f6c6c656374696f6e446174613f0a2020202020202020202020203f3f2070616e69632822436f756c64206e6f74207265736f6c766520746865204e4654436f6c6c656374696f6e44617461207669657720666f722074686520676976656e206e6f6e2d66756e6769626c6520746f6b656e20636f6e747261637422290a0a0a20202020202020202f2f20626f72726f772061207265666572656e636520746f20746865207369676e65722773204e465420636f6c6c656374696f6e0a20202020202020206c6574207769746864726177526566203d207369676e65722e73746f726167652e626f72726f773c61757468284e6f6e46756e6769626c65546f6b656e2e57697468647261772920267b4e6f6e46756e6769626c65546f6b656e2e436f6c6c656374696f6e7d3e280a2020202020202020202020202020202066726f6d3a2073656c662e636f6c6c656374696f6e446174612e73746f72616765506174680a20202020202020202020202029203f3f2070616e696328224163636f756e7420646f6573206e6f742073746f7265206120636f6c6c656374696f6e206f626a6563742061742074686520737065636966696564207061746822290a0a202020202020202073656c662e74656d704e4654203c2d2077697468647261775265662e776974686472617728776974686472617749443a206964290a202020207d0a0a2020202065786563757465207b0a20202020202020202f2f206765742074686520726563697069656e7473207075626c6963206163636f756e74206f626a6563740a20202020202020206c657420726563697069656e74203d206765744163636f756e7428746f290a0a20202020202020202f2f20626f72726f772061207075626c6963207265666572656e636520746f207468652072656365697665727320636f6c6c656374696f6e0a20202020202020206c6574207265636569766572436170203d20726563697069656e742e6361706162696c69746965732e6765743c267b4e6f6e46756e6769626c65546f6b656e2e52656365697665727d3e2873656c662e636f6c6c656374696f6e446174612e7075626c696350617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f74206765742074686520726563697069656e742773205265636569766572204361706162696c69747922290a0a20202020202020206c6574207265636569766572526566203d2072656365697665724361702e626f72726f7728290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f2074686520726563697069656e74277320726563656976657222290a0a20202020202020202f2f204465706f73697420746865204e465420746f207468652072656365697665720a202020202020202072656365697665725265662e6465706f73697428746f6b656e3a203c2d73656c662e74656d704e4654290a202020207d0a7df8a3af7b2274797065223a2241646472657373222c2276616c7565223a22307838633533303365616132363230326436227d9e7b2276616c7565223a223130222c2274797065223a2255496e743634227daf7b2276616c7565223a22307838633533303365616132363230326436222c2274797065223a2241646472657373227da37b2276616c7565223a22546f7053686f74222c2274797065223a22537472696e67227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", + "encodedTransactionEnvelopeHex": "f90973f9096fb90887696d706f7274203078363331653838616537663164376332300a696d706f7274203078363331653838616537663164376332300a0a2f2f2f2043616e207061737320696e20616e7920636f6e7472616374206164647265737320616e64206e616d650a2f2f2f2054686973206c65747320796f752063686f6f73652074686520746f6b656e20796f752077616e7420746f2073656e6420626563617573650a2f2f2f20746865207472616e73616374696f6e206765747320746865206d657461646174612066726f6d207468652070726f766964656420636f6e74726163742e0a2f2f2f0a7472616e73616374696f6e28746f3a20416464726573732c2069643a2055496e7436342c20636f6e7472616374416464726573733a20416464726573732c20636f6e74726163744e616d653a20537472696e6729207b0a0a202020202f2f20546865204e4654207265736f7572636520746f206265207472616e736665727265640a202020206c65742074656d704e46543a20407b4e6f6e46756e6769626c65546f6b656e2e4e46547d0a0a202020202f2f204e4654436f6c6c656374696f6e446174612073747275637420746f206765742070617468732066726f6d0a202020206c657420636f6c6c656374696f6e446174613a204d6574616461746156696577732e4e4654436f6c6c656374696f6e446174610a0a2020202070726570617265287369676e65723a206175746828426f72726f7756616c75652920264163636f756e7429207b0a0a20202020202020202f2f20426f72726f772061207265666572656e636520746f20746865206e667420636f6e7472616374206465706c6f79656420746f2074686520706173736564206163636f756e740a20202020202020206c6574207265736f6c766572526566203d206765744163636f756e7428636f6e747261637441646472657373290a2020202020202020202020202e636f6e7472616374732e626f72726f773c267b4e6f6e46756e6769626c65546f6b656e7d3e286e616d653a20636f6e74726163744e616d65290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f20746865206e6f6e2d66756e6769626c6520746f6b656e20636f6e747261637422290a0a20202020202020202f2f205573652074686174207265666572656e636520746f20726574726965766520746865204e4654436f6c6c656374696f6e446174612076696577200a202020202020202073656c662e636f6c6c656374696f6e44617461203d207265736f6c7665725265662e7265736f6c7665436f6e747261637456696577287265736f75726365547970653a206e696c2c2076696577547970653a20547970653c4d6574616461746156696577732e4e4654436f6c6c656374696f6e446174613e28292920617321204d6574616461746156696577732e4e4654436f6c6c656374696f6e446174613f0a2020202020202020202020203f3f2070616e69632822436f756c64206e6f74207265736f6c766520746865204e4654436f6c6c656374696f6e44617461207669657720666f722074686520676976656e206e6f6e2d66756e6769626c6520746f6b656e20636f6e747261637422290a0a0a20202020202020202f2f20626f72726f772061207265666572656e636520746f20746865207369676e65722773204e465420636f6c6c656374696f6e0a20202020202020206c6574207769746864726177526566203d207369676e65722e73746f726167652e626f72726f773c61757468284e6f6e46756e6769626c65546f6b656e2e57697468647261772920267b4e6f6e46756e6769626c65546f6b656e2e436f6c6c656374696f6e7d3e280a2020202020202020202020202020202066726f6d3a2073656c662e636f6c6c656374696f6e446174612e73746f72616765506174680a20202020202020202020202029203f3f2070616e696328224163636f756e7420646f6573206e6f742073746f7265206120636f6c6c656374696f6e206f626a6563742061742074686520737065636966696564207061746822290a0a202020202020202073656c662e74656d704e4654203c2d2077697468647261775265662e776974686472617728776974686472617749443a206964290a202020207d0a0a2020202065786563757465207b0a20202020202020202f2f206765742074686520726563697069656e7473207075626c6963206163636f756e74206f626a6563740a20202020202020206c657420726563697069656e74203d206765744163636f756e7428746f290a0a20202020202020202f2f20626f72726f772061207075626c6963207265666572656e636520746f207468652072656365697665727320636f6c6c656374696f6e0a20202020202020206c6574207265636569766572436170203d20726563697069656e742e6361706162696c69746965732e6765743c267b4e6f6e46756e6769626c65546f6b656e2e52656365697665727d3e2873656c662e636f6c6c656374696f6e446174612e7075626c696350617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f74206765742074686520726563697069656e742773205265636569766572204361706162696c69747922290a0a20202020202020206c6574207265636569766572526566203d2072656365697665724361702e626f72726f7728290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f2074686520726563697069656e74277320726563656976657222290a0a20202020202020202f2f204465706f73697420746865204e465420746f207468652072656365697665720a202020202020202072656365697665725265662e6465706f73697428746f6b656e3a203c2d73656c662e74656d704e4654290a202020207d0a7df8a3af7b2274797065223a2241646472657373222c2276616c7565223a22307838633533303365616132363230326436227d9e7b2276616c7565223a223130222c2274797065223a2255496e743634227daf7b2276616c7565223a22307838633533303365616132363230326436222c2274797065223a2241646472657373227da37b2276616c7565223a22546f7053686f74222c2274797065223a22537472696e67227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", + "metadata": "02b7892b30d7a68531db8af3aa73eec7bf899bd039bc9883c4d0270e44c78cec30111142945f27d91bf3be630737805eba25d586b0c292bb3818e5d4cf4287e31c5472616e73666572204e465420776974682041646472657373000401526563697069656e740000416464726573730003014e465420494420746f205472616e73666572000155496e7436340003014e465420436f6e747261637420416464726573730002416464726573730003014e465420436f6e7472616374204e616d650003537472696e670003", + "hash": "b7892b30d7a68531db8af3aa73eec7bf899bd039bc9883c4d0270e44c78cec30" }, { - "title": "TH.17 - Register Delegator", + "title": "TH.01 - Withdraw Unlocked FLOW", "valid": true, "chainID": "Testnet", "payloadMessage": { - "script": "import FlowToken from 0x7e60df042a9c0868\nimport LockedTokens from 0x95e019a17d0e23d7\n\ntransaction(id: String, amount: UFix64) {\n\n let holderRef: &LockedTokens.TokenHolder\n\n let vaultRef: &FlowToken.Vault\n\n prepare(account: AuthAccount) {\n self.holderRef = account.borrow<&LockedTokens.TokenHolder>(from: LockedTokens.TokenHolderStoragePath) \n ?? panic(\"TokenHolder is not saved at specified path\")\n\n self.vaultRef = account.borrow<&FlowToken.Vault>(from: /storage/flowTokenVault)\n ?? panic(\"Could not borrow flow token vault reference\")\n }\n\n execute {\n self.holderRef.createNodeDelegator(nodeID: id)\n\n let delegatorProxy = self.holderRef.borrowDelegator()\n\n let lockedBalance = self.holderRef.getLockedAccountBalance()\n\n if amount <= lockedBalance {\n\n delegatorProxy.delegateNewTokens(amount: amount)\n\n } else if ((amount - lockedBalance) <= self.vaultRef.balance) {\n\n self.holderRef.deposit(from: <-self.vaultRef.withdraw(amount: amount - lockedBalance))\n\n delegatorProxy.delegateNewTokens(amount: amount)\n\n } else {\n panic(\"Not enough tokens to stake!\")\n }\n }\n}\n", + "script": "import FungibleToken from 0x9a0766d93b6608b7\nimport FlowToken from 0x7e60df042a9c0868\nimport LockedTokens from 0x95e019a17d0e23d7\n\ntransaction(amount: UFix64) {\n\n let holderRef: auth(LockedTokens.TokenOperations, FungibleToken.Withdraw) &LockedTokens.TokenHolder\n let vaultRef: auth(FungibleToken.Withdraw) &FlowToken.Vault\n\n prepare(acct: auth(BorrowValue) &Account) {\n self.holderRef = acct.storage.borrow(from: LockedTokens.TokenHolderStoragePath)\n ?? panic(\"The primary user account does not have an associated locked account\")\n\n self.vaultRef = acct.storage.borrow(from: /storage/flowTokenVault)\n ?? panic(\"Could not borrow flow token vault ref\")\n }\n\n execute {\n self.vaultRef.deposit(from: <-self.holderRef.withdraw(amount: amount))\n }\n}\n", "arguments": [ - { - "type": "String", - "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" - }, { "type": "UFix64", "value": "92233720368.54775808" @@ -624,12 +634,8 @@ ] }, "envelopeMessage": { - "script": "import FlowToken from 0x7e60df042a9c0868\nimport LockedTokens from 0x95e019a17d0e23d7\n\ntransaction(id: String, amount: UFix64) {\n\n let holderRef: &LockedTokens.TokenHolder\n\n let vaultRef: &FlowToken.Vault\n\n prepare(account: AuthAccount) {\n self.holderRef = account.borrow<&LockedTokens.TokenHolder>(from: LockedTokens.TokenHolderStoragePath) \n ?? panic(\"TokenHolder is not saved at specified path\")\n\n self.vaultRef = account.borrow<&FlowToken.Vault>(from: /storage/flowTokenVault)\n ?? panic(\"Could not borrow flow token vault reference\")\n }\n\n execute {\n self.holderRef.createNodeDelegator(nodeID: id)\n\n let delegatorProxy = self.holderRef.borrowDelegator()\n\n let lockedBalance = self.holderRef.getLockedAccountBalance()\n\n if amount <= lockedBalance {\n\n delegatorProxy.delegateNewTokens(amount: amount)\n\n } else if ((amount - lockedBalance) <= self.vaultRef.balance) {\n\n self.holderRef.deposit(from: <-self.vaultRef.withdraw(amount: amount - lockedBalance))\n\n delegatorProxy.delegateNewTokens(amount: amount)\n\n } else {\n panic(\"Not enough tokens to stake!\")\n }\n }\n}\n", + "script": "import FungibleToken from 0x9a0766d93b6608b7\nimport FlowToken from 0x7e60df042a9c0868\nimport LockedTokens from 0x95e019a17d0e23d7\n\ntransaction(amount: UFix64) {\n\n let holderRef: auth(LockedTokens.TokenOperations, FungibleToken.Withdraw) &LockedTokens.TokenHolder\n let vaultRef: auth(FungibleToken.Withdraw) &FlowToken.Vault\n\n prepare(acct: auth(BorrowValue) &Account) {\n self.holderRef = acct.storage.borrow(from: LockedTokens.TokenHolderStoragePath)\n ?? panic(\"The primary user account does not have an associated locked account\")\n\n self.vaultRef = acct.storage.borrow(from: /storage/flowTokenVault)\n ?? panic(\"Could not borrow flow token vault ref\")\n }\n\n execute {\n self.vaultRef.deposit(from: <-self.holderRef.withdraw(amount: amount))\n }\n}\n", "arguments": [ - { - "type": "String", - "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" - }, { "type": "UFix64", "value": "92233720368.54775808" @@ -648,17 +654,17 @@ ], "payloadSigs": [] }, - "encodedTransactionPayloadHex": "f9058fb904bb696d706f727420466c6f77546f6b656e2066726f6d203078376536306466303432613963303836380a696d706f7274204c6f636b6564546f6b656e732066726f6d203078393565303139613137643065323364370a0a7472616e73616374696f6e2869643a20537472696e672c20616d6f756e743a2055466978363429207b0a0a202020206c657420686f6c6465725265663a20264c6f636b6564546f6b656e732e546f6b656e486f6c6465720a0a202020206c6574207661756c745265663a2026466c6f77546f6b656e2e5661756c740a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e686f6c646572526566203d206163636f756e742e626f72726f773c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f726167655061746829200a2020202020202020202020203f3f2070616e69632822546f6b656e486f6c646572206973206e6f7420736176656420617420737065636966696564207061746822290a0a202020202020202073656c662e7661756c74526566203d206163636f756e742e626f72726f773c26466c6f77546f6b656e2e5661756c743e2866726f6d3a202f73746f726167652f666c6f77546f6b656e5661756c74290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f7720666c6f7720746f6b656e207661756c74207265666572656e636522290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e686f6c6465725265662e6372656174654e6f646544656c656761746f72286e6f646549443a206964290a0a20202020202020206c65742064656c656761746f7250726f7879203d2073656c662e686f6c6465725265662e626f72726f7744656c656761746f7228290a0a20202020202020206c6574206c6f636b656442616c616e6365203d2073656c662e686f6c6465725265662e6765744c6f636b65644163636f756e7442616c616e636528290a0a2020202020202020696620616d6f756e74203c3d206c6f636b656442616c616e6365207b0a0a20202020202020202020202064656c656761746f7250726f78792e64656c65676174654e6577546f6b656e7328616d6f756e743a20616d6f756e74290a0a20202020202020207d20656c7365206966202828616d6f756e74202d206c6f636b656442616c616e636529203c3d2073656c662e7661756c745265662e62616c616e636529207b0a0a20202020202020202020202073656c662e686f6c6465725265662e6465706f7369742866726f6d3a203c2d73656c662e7661756c745265662e776974686472617728616d6f756e743a20616d6f756e74202d206c6f636b656442616c616e636529290a0a20202020202020202020202064656c656761746f7250726f78792e64656c65676174654e6577546f6b656e7328616d6f756e743a20616d6f756e74290a0a20202020202020207d20656c7365207b0a20202020202020202020202070616e696328224e6f7420656e6f75676820746f6b656e7320746f207374616b652122290a20202020202020207d0a202020207d0a7d0af88fb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", - "encodedTransactionEnvelopeHex": "f90593f9058fb904bb696d706f727420466c6f77546f6b656e2066726f6d203078376536306466303432613963303836380a696d706f7274204c6f636b6564546f6b656e732066726f6d203078393565303139613137643065323364370a0a7472616e73616374696f6e2869643a20537472696e672c20616d6f756e743a2055466978363429207b0a0a202020206c657420686f6c6465725265663a20264c6f636b6564546f6b656e732e546f6b656e486f6c6465720a0a202020206c6574207661756c745265663a2026466c6f77546f6b656e2e5661756c740a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e686f6c646572526566203d206163636f756e742e626f72726f773c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f726167655061746829200a2020202020202020202020203f3f2070616e69632822546f6b656e486f6c646572206973206e6f7420736176656420617420737065636966696564207061746822290a0a202020202020202073656c662e7661756c74526566203d206163636f756e742e626f72726f773c26466c6f77546f6b656e2e5661756c743e2866726f6d3a202f73746f726167652f666c6f77546f6b656e5661756c74290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f7720666c6f7720746f6b656e207661756c74207265666572656e636522290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e686f6c6465725265662e6372656174654e6f646544656c656761746f72286e6f646549443a206964290a0a20202020202020206c65742064656c656761746f7250726f7879203d2073656c662e686f6c6465725265662e626f72726f7744656c656761746f7228290a0a20202020202020206c6574206c6f636b656442616c616e6365203d2073656c662e686f6c6465725265662e6765744c6f636b65644163636f756e7442616c616e636528290a0a2020202020202020696620616d6f756e74203c3d206c6f636b656442616c616e6365207b0a0a20202020202020202020202064656c656761746f7250726f78792e64656c65676174654e6577546f6b656e7328616d6f756e743a20616d6f756e74290a0a20202020202020207d20656c7365206966202828616d6f756e74202d206c6f636b656442616c616e636529203c3d2073656c662e7661756c745265662e62616c616e636529207b0a0a20202020202020202020202073656c662e686f6c6465725265662e6465706f7369742866726f6d3a203c2d73656c662e7661756c745265662e776974686472617728616d6f756e743a20616d6f756e74202d206c6f636b656442616c616e636529290a0a20202020202020202020202064656c656761746f7250726f78792e64656c65676174654e6577546f6b656e7328616d6f756e743a20616d6f756e74290a0a20202020202020207d20656c7365207b0a20202020202020202020202070616e696328224e6f7420656e6f75676820746f6b656e7320746f207374616b652122290a20202020202020207d0a202020207d0a7d0af88fb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", - "metadata": "021378405c85e0c966344b196c0fce602f39e79f3938ec7b689e0c96a8703b018a3cb357a97a57d9abbe5c68f0df342ee96ba97ade2013753fd2ddf47695a8c08a52656769737465722044656c656761746f720002014e6f64652049440000537472696e67000301416d6f756e7400015546697836340003", - "hash": "1378405c85e0c966344b196c0fce602f39e79f3938ec7b689e0c96a8703b018a" + "encodedTransactionPayloadHex": "f9041fb903aa696d706f72742046756e6769626c65546f6b656e2066726f6d203078396130373636643933623636303862370a696d706f727420466c6f77546f6b656e2066726f6d203078376536306466303432613963303836380a696d706f7274204c6f636b6564546f6b656e732066726f6d203078393565303139613137643065323364370a0a7472616e73616374696f6e28616d6f756e743a2055466978363429207b0a0a202020206c657420686f6c6465725265663a2061757468284c6f636b6564546f6b656e732e546f6b656e4f7065726174696f6e732c2046756e6769626c65546f6b656e2e57697468647261772920264c6f636b6564546f6b656e732e546f6b656e486f6c6465720a202020206c6574207661756c745265663a20617574682846756e6769626c65546f6b656e2e5769746864726177292026466c6f77546f6b656e2e5661756c740a0a202020207072657061726528616363743a206175746828426f72726f7756616c75652920264163636f756e7429207b0a202020202020202073656c662e686f6c646572526566203d20616363742e73746f726167652e626f72726f773c61757468284c6f636b6564546f6b656e732e546f6b656e4f7065726174696f6e732c2046756e6769626c65546f6b656e2e57697468647261772920264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f7261676550617468290a2020202020202020202020203f3f2070616e69632822546865207072696d6172792075736572206163636f756e7420646f6573206e6f74206861766520616e206173736f636961746564206c6f636b6564206163636f756e7422290a0a202020202020202073656c662e7661756c74526566203d20616363742e73746f726167652e626f72726f773c617574682846756e6769626c65546f6b656e2e5769746864726177292026466c6f77546f6b656e2e5661756c743e2866726f6d3a202f73746f726167652f666c6f77546f6b656e5661756c74290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f7720666c6f7720746f6b656e207661756c742072656622290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7661756c745265662e6465706f7369742866726f6d3a203c2d73656c662e686f6c6465725265662e776974686472617728616d6f756e743a20616d6f756e7429290a202020207d0a7d0af1b07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", + "encodedTransactionEnvelopeHex": "f90423f9041fb903aa696d706f72742046756e6769626c65546f6b656e2066726f6d203078396130373636643933623636303862370a696d706f727420466c6f77546f6b656e2066726f6d203078376536306466303432613963303836380a696d706f7274204c6f636b6564546f6b656e732066726f6d203078393565303139613137643065323364370a0a7472616e73616374696f6e28616d6f756e743a2055466978363429207b0a0a202020206c657420686f6c6465725265663a2061757468284c6f636b6564546f6b656e732e546f6b656e4f7065726174696f6e732c2046756e6769626c65546f6b656e2e57697468647261772920264c6f636b6564546f6b656e732e546f6b656e486f6c6465720a202020206c6574207661756c745265663a20617574682846756e6769626c65546f6b656e2e5769746864726177292026466c6f77546f6b656e2e5661756c740a0a202020207072657061726528616363743a206175746828426f72726f7756616c75652920264163636f756e7429207b0a202020202020202073656c662e686f6c646572526566203d20616363742e73746f726167652e626f72726f773c61757468284c6f636b6564546f6b656e732e546f6b656e4f7065726174696f6e732c2046756e6769626c65546f6b656e2e57697468647261772920264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f7261676550617468290a2020202020202020202020203f3f2070616e69632822546865207072696d6172792075736572206163636f756e7420646f6573206e6f74206861766520616e206173736f636961746564206c6f636b6564206163636f756e7422290a0a202020202020202073656c662e7661756c74526566203d20616363742e73746f726167652e626f72726f773c617574682846756e6769626c65546f6b656e2e5769746864726177292026466c6f77546f6b656e2e5661756c743e2866726f6d3a202f73746f726167652f666c6f77546f6b656e5661756c74290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f7720666c6f7720746f6b656e207661756c742072656622290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7661756c745265662e6465706f7369742866726f6d3a203c2d73656c662e686f6c6465725265662e776974686472617728616d6f756e743a20616d6f756e7429290a202020207d0a7d0af1b07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", + "metadata": "02094798e93daeacaa9ff262486a3683ec5a5e2204407e7d00bc3416fbf3efa3b14a830e6f93f74179a99e17c7ae762980c7fdc428bc949767529be2f071ac52b9576974686472617720556e6c6f636b656420464c4f57000101416d6f756e7400005546697836340003", + "hash": "094798e93daeacaa9ff262486a3683ec5a5e2204407e7d00bc3416fbf3efa3b1" }, { - "title": "TH.19 - Delegate New Locked FLOW", + "title": "TH.02 - Deposit Unlocked FLOW", "valid": true, "chainID": "Testnet", "payloadMessage": { - "script": "import FlowToken from 0x7e60df042a9c0868\nimport FungibleToken from 0x9a0766d93b6608b7\nimport LockedTokens from 0x95e019a17d0e23d7\n\ntransaction(amount: UFix64) {\n\n let holderRef: &LockedTokens.TokenHolder\n\n let vaultRef: &FlowToken.Vault\n\n prepare(account: AuthAccount) {\n self.holderRef = account.borrow<&LockedTokens.TokenHolder>(from: LockedTokens.TokenHolderStoragePath)\n ?? panic(\"Could not borrow reference to TokenHolder\")\n\n self.vaultRef = account.borrow<&FlowToken.Vault>(from: /storage/flowTokenVault)\n ?? panic(\"Could not borrow flow token vault reference\")\n }\n\n execute {\n let stakerProxy = self.holderRef.borrowDelegator()\n\n let lockedBalance = self.holderRef.getLockedAccountBalance()\n\n if amount <= lockedBalance {\n\n stakerProxy.delegateNewTokens(amount: amount)\n\n } else if ((amount - lockedBalance) <= self.vaultRef.balance) {\n\n self.holderRef.deposit(from: <-self.vaultRef.withdraw(amount: amount - lockedBalance))\n\n stakerProxy.delegateNewTokens(amount: amount)\n } else {\n panic(\"Not enough tokens to stake!\")\n }\n }\n}\n", + "script": "import FungibleToken from 0x9a0766d93b6608b7\nimport FlowToken from 0x7e60df042a9c0868\nimport LockedTokens from 0x95e019a17d0e23d7\n\ntransaction(amount: UFix64) {\n\n let holderRef: &LockedTokens.TokenHolder\n let vaultRef: auth(FungibleToken.Withdraw) &FlowToken.Vault\n\n prepare(acct: auth(BorrowValue) &Account) {\n self.holderRef = acct.storage.borrow<&LockedTokens.TokenHolder>(from: LockedTokens.TokenHolderStoragePath)\n ?? panic(\"The primary user account does not have an associated locked account\")\n\n self.vaultRef = acct.storage.borrow(from: /storage/flowTokenVault)\n ?? panic(\"Could not borrow flow token vault ref\")\n }\n\n execute {\n self.holderRef.deposit(from: <-self.vaultRef.withdraw(amount: amount))\n }\n}\n", "arguments": [ { "type": "UFix64", @@ -678,7 +684,7 @@ ] }, "envelopeMessage": { - "script": "import FlowToken from 0x7e60df042a9c0868\nimport FungibleToken from 0x9a0766d93b6608b7\nimport LockedTokens from 0x95e019a17d0e23d7\n\ntransaction(amount: UFix64) {\n\n let holderRef: &LockedTokens.TokenHolder\n\n let vaultRef: &FlowToken.Vault\n\n prepare(account: AuthAccount) {\n self.holderRef = account.borrow<&LockedTokens.TokenHolder>(from: LockedTokens.TokenHolderStoragePath)\n ?? panic(\"Could not borrow reference to TokenHolder\")\n\n self.vaultRef = account.borrow<&FlowToken.Vault>(from: /storage/flowTokenVault)\n ?? panic(\"Could not borrow flow token vault reference\")\n }\n\n execute {\n let stakerProxy = self.holderRef.borrowDelegator()\n\n let lockedBalance = self.holderRef.getLockedAccountBalance()\n\n if amount <= lockedBalance {\n\n stakerProxy.delegateNewTokens(amount: amount)\n\n } else if ((amount - lockedBalance) <= self.vaultRef.balance) {\n\n self.holderRef.deposit(from: <-self.vaultRef.withdraw(amount: amount - lockedBalance))\n\n stakerProxy.delegateNewTokens(amount: amount)\n } else {\n panic(\"Not enough tokens to stake!\")\n }\n }\n}\n", + "script": "import FungibleToken from 0x9a0766d93b6608b7\nimport FlowToken from 0x7e60df042a9c0868\nimport LockedTokens from 0x95e019a17d0e23d7\n\ntransaction(amount: UFix64) {\n\n let holderRef: &LockedTokens.TokenHolder\n let vaultRef: auth(FungibleToken.Withdraw) &FlowToken.Vault\n\n prepare(acct: auth(BorrowValue) &Account) {\n self.holderRef = acct.storage.borrow<&LockedTokens.TokenHolder>(from: LockedTokens.TokenHolderStoragePath)\n ?? panic(\"The primary user account does not have an associated locked account\")\n\n self.vaultRef = acct.storage.borrow(from: /storage/flowTokenVault)\n ?? panic(\"Could not borrow flow token vault ref\")\n }\n\n execute {\n self.holderRef.deposit(from: <-self.vaultRef.withdraw(amount: amount))\n }\n}\n", "arguments": [ { "type": "UFix64", @@ -698,23 +704,18 @@ ], "payloadSigs": [] }, - "encodedTransactionPayloadHex": "f9050db90498696d706f727420466c6f77546f6b656e2066726f6d203078376536306466303432613963303836380a696d706f72742046756e6769626c65546f6b656e2066726f6d203078396130373636643933623636303862370a696d706f7274204c6f636b6564546f6b656e732066726f6d203078393565303139613137643065323364370a0a7472616e73616374696f6e28616d6f756e743a2055466978363429207b0a0a202020206c657420686f6c6465725265663a20264c6f636b6564546f6b656e732e546f6b656e486f6c6465720a0a202020206c6574207661756c745265663a2026466c6f77546f6b656e2e5661756c740a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e686f6c646572526566203d206163636f756e742e626f72726f773c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f20546f6b656e486f6c64657222290a0a202020202020202073656c662e7661756c74526566203d206163636f756e742e626f72726f773c26466c6f77546f6b656e2e5661756c743e2866726f6d3a202f73746f726167652f666c6f77546f6b656e5661756c74290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f7720666c6f7720746f6b656e207661756c74207265666572656e636522290a202020207d0a0a2020202065786563757465207b0a20202020202020206c6574207374616b657250726f7879203d2073656c662e686f6c6465725265662e626f72726f7744656c656761746f7228290a0a20202020202020206c6574206c6f636b656442616c616e6365203d2073656c662e686f6c6465725265662e6765744c6f636b65644163636f756e7442616c616e636528290a0a2020202020202020696620616d6f756e74203c3d206c6f636b656442616c616e6365207b0a0a2020202020202020202020207374616b657250726f78792e64656c65676174654e6577546f6b656e7328616d6f756e743a20616d6f756e74290a0a20202020202020207d20656c7365206966202828616d6f756e74202d206c6f636b656442616c616e636529203c3d2073656c662e7661756c745265662e62616c616e636529207b0a0a20202020202020202020202073656c662e686f6c6465725265662e6465706f7369742866726f6d3a203c2d73656c662e7661756c745265662e776974686472617728616d6f756e743a20616d6f756e74202d206c6f636b656442616c616e636529290a0a2020202020202020202020207374616b657250726f78792e64656c65676174654e6577546f6b656e7328616d6f756e743a20616d6f756e74290a20202020202020207d20656c7365207b0a20202020202020202020202070616e696328224e6f7420656e6f75676820746f6b656e7320746f207374616b652122290a20202020202020207d0a202020207d0a7d0af1b07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", - "encodedTransactionEnvelopeHex": "f90511f9050db90498696d706f727420466c6f77546f6b656e2066726f6d203078376536306466303432613963303836380a696d706f72742046756e6769626c65546f6b656e2066726f6d203078396130373636643933623636303862370a696d706f7274204c6f636b6564546f6b656e732066726f6d203078393565303139613137643065323364370a0a7472616e73616374696f6e28616d6f756e743a2055466978363429207b0a0a202020206c657420686f6c6465725265663a20264c6f636b6564546f6b656e732e546f6b656e486f6c6465720a0a202020206c6574207661756c745265663a2026466c6f77546f6b656e2e5661756c740a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e686f6c646572526566203d206163636f756e742e626f72726f773c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f20546f6b656e486f6c64657222290a0a202020202020202073656c662e7661756c74526566203d206163636f756e742e626f72726f773c26466c6f77546f6b656e2e5661756c743e2866726f6d3a202f73746f726167652f666c6f77546f6b656e5661756c74290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f7720666c6f7720746f6b656e207661756c74207265666572656e636522290a202020207d0a0a2020202065786563757465207b0a20202020202020206c6574207374616b657250726f7879203d2073656c662e686f6c6465725265662e626f72726f7744656c656761746f7228290a0a20202020202020206c6574206c6f636b656442616c616e6365203d2073656c662e686f6c6465725265662e6765744c6f636b65644163636f756e7442616c616e636528290a0a2020202020202020696620616d6f756e74203c3d206c6f636b656442616c616e6365207b0a0a2020202020202020202020207374616b657250726f78792e64656c65676174654e6577546f6b656e7328616d6f756e743a20616d6f756e74290a0a20202020202020207d20656c7365206966202828616d6f756e74202d206c6f636b656442616c616e636529203c3d2073656c662e7661756c745265662e62616c616e636529207b0a0a20202020202020202020202073656c662e686f6c6465725265662e6465706f7369742866726f6d3a203c2d73656c662e7661756c745265662e776974686472617728616d6f756e743a20616d6f756e74202d206c6f636b656442616c616e636529290a0a2020202020202020202020207374616b657250726f78792e64656c65676174654e6577546f6b656e7328616d6f756e743a20616d6f756e74290a20202020202020207d20656c7365207b0a20202020202020202020202070616e696328224e6f7420656e6f75676820746f6b656e7320746f207374616b652122290a20202020202020207d0a202020207d0a7d0af1b07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", - "metadata": "0218fad68368a4394b245db91217d7dc979e1316ab757388d416eaef831f565ab3802354d8b3e7908e584bcb5217637fb9f4ef045427c32d57d81ad4a390ed1a6044656c6567617465204e6577204c6f636b656420464c4f57000101416d6f756e7400005546697836340003", - "hash": "18fad68368a4394b245db91217d7dc979e1316ab757388d416eaef831f565ab3" + "encodedTransactionPayloadHex": "f903a9b90334696d706f72742046756e6769626c65546f6b656e2066726f6d203078396130373636643933623636303862370a696d706f727420466c6f77546f6b656e2066726f6d203078376536306466303432613963303836380a696d706f7274204c6f636b6564546f6b656e732066726f6d203078393565303139613137643065323364370a0a7472616e73616374696f6e28616d6f756e743a2055466978363429207b0a0a202020206c657420686f6c6465725265663a20264c6f636b6564546f6b656e732e546f6b656e486f6c6465720a202020206c6574207661756c745265663a20617574682846756e6769626c65546f6b656e2e5769746864726177292026466c6f77546f6b656e2e5661756c740a0a202020207072657061726528616363743a206175746828426f72726f7756616c75652920264163636f756e7429207b0a202020202020202073656c662e686f6c646572526566203d20616363742e73746f726167652e626f72726f773c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f7261676550617468290a2020202020202020202020203f3f2070616e69632822546865207072696d6172792075736572206163636f756e7420646f6573206e6f74206861766520616e206173736f636961746564206c6f636b6564206163636f756e7422290a0a202020202020202073656c662e7661756c74526566203d20616363742e73746f726167652e626f72726f773c617574682846756e6769626c65546f6b656e2e5769746864726177292026466c6f77546f6b656e2e5661756c743e2866726f6d3a202f73746f726167652f666c6f77546f6b656e5661756c74290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f7720666c6f7720746f6b656e207661756c742072656622290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e686f6c6465725265662e6465706f7369742866726f6d3a203c2d73656c662e7661756c745265662e776974686472617728616d6f756e743a20616d6f756e7429290a202020207d0a7d0af1b07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", + "encodedTransactionEnvelopeHex": "f903adf903a9b90334696d706f72742046756e6769626c65546f6b656e2066726f6d203078396130373636643933623636303862370a696d706f727420466c6f77546f6b656e2066726f6d203078376536306466303432613963303836380a696d706f7274204c6f636b6564546f6b656e732066726f6d203078393565303139613137643065323364370a0a7472616e73616374696f6e28616d6f756e743a2055466978363429207b0a0a202020206c657420686f6c6465725265663a20264c6f636b6564546f6b656e732e546f6b656e486f6c6465720a202020206c6574207661756c745265663a20617574682846756e6769626c65546f6b656e2e5769746864726177292026466c6f77546f6b656e2e5661756c740a0a202020207072657061726528616363743a206175746828426f72726f7756616c75652920264163636f756e7429207b0a202020202020202073656c662e686f6c646572526566203d20616363742e73746f726167652e626f72726f773c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f7261676550617468290a2020202020202020202020203f3f2070616e69632822546865207072696d6172792075736572206163636f756e7420646f6573206e6f74206861766520616e206173736f636961746564206c6f636b6564206163636f756e7422290a0a202020202020202073656c662e7661756c74526566203d20616363742e73746f726167652e626f72726f773c617574682846756e6769626c65546f6b656e2e5769746864726177292026466c6f77546f6b656e2e5661756c743e2866726f6d3a202f73746f726167652f666c6f77546f6b656e5661756c74290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f7720666c6f7720746f6b656e207661756c742072656622290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e686f6c6465725265662e6465706f7369742866726f6d3a203c2d73656c662e7661756c745265662e776974686472617728616d6f756e743a20616d6f756e7429290a202020207d0a7d0af1b07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", + "metadata": "0217ffcd60667893674d8d4044bdd8232959dc8b694df1dd88d1b9c5443352f253038382a947fa96bf2f4dfe5aa9b4b2abee1ef0975955175e80cf911c3edf4b614465706f73697420556e6c6f636b656420464c4f57000101416d6f756e7400005546697836340003", + "hash": "17ffcd60667893674d8d4044bdd8232959dc8b694df1dd88d1b9c5443352f253" }, { - "title": "TH.20 - Re-delegate Unstaked FLOW", + "title": "SCO.01 - Setup Staking Collection", "valid": true, "chainID": "Testnet", "payloadMessage": { - "script": "import LockedTokens from 0x95e019a17d0e23d7\n\ntransaction(amount: UFix64) {\n let nodeDelegatorProxy: LockedTokens.LockedNodeDelegatorProxy\n\n prepare(account: AuthAccount) {\n let holderRef = account.borrow<&LockedTokens.TokenHolder>(from: LockedTokens.TokenHolderStoragePath) \n ?? panic(\"TokenHolder is not saved at specified path\")\n\n self.nodeDelegatorProxy = holderRef.borrowDelegator()\n }\n\n execute {\n self.nodeDelegatorProxy.delegateUnstakedTokens(amount: amount)\n }\n}\n", - "arguments": [ - { - "type": "UFix64", - "value": "92233720368.54775808" - } - ], + "script": "import FungibleToken from 0x9a0766d93b6608b7\nimport FlowToken from 0x7e60df042a9c0868\nimport FlowIDTableStaking from 0x9eca2b38b18b5dfe\nimport LockedTokens from 0x95e019a17d0e23d7\nimport FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// This transaction sets up an account to use a staking collection\n/// It will work regardless of whether they have a regular account, a two-account locked tokens setup,\n/// or staking objects stored in the unlocked account\n\ntransaction {\n prepare(signer: auth(BorrowValue, Storage, Capabilities) &Account) {\n\n // If there isn't already a staking collection\n if signer.storage.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath) == nil {\n\n // Create private capabilities for the token holder and unlocked vault\n let lockedHolder = signer.capabilities.storage.issue(LockedTokens.TokenHolderStoragePath)!\n let flowToken = signer.capabilities.storage.issue(/storage/flowTokenVault)!\n\n // Create a new Staking Collection and put it in storage\n if lockedHolder.check() {\n signer.storage.save(\n <- FlowStakingCollection.createStakingCollection(\n unlockedVault: flowToken,\n tokenHolder: lockedHolder\n ),\n to: FlowStakingCollection.StakingCollectionStoragePath\n )\n } else {\n signer.storage.save(\n <- FlowStakingCollection.createStakingCollection(\n unlockedVault: flowToken,\n tokenHolder: nil\n ),\n to: FlowStakingCollection.StakingCollectionStoragePath\n )\n }\n\n // Publish a capability to the created staking collection.\n let stakingCollectionCap = signer.capabilities.storage.issue<&FlowStakingCollection.StakingCollection>(\n FlowStakingCollection.StakingCollectionStoragePath\n )\n\n signer.capabilities.publish(\n stakingCollectionCap,\n at: FlowStakingCollection.StakingCollectionPublicPath\n )\n }\n\n // borrow a reference to the staking collection\n let collectionRef = signer.storage.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow staking collection reference\")\n\n // If there is a node staker object in the account, put it in the staking collection\n if signer.storage.borrow<&FlowIDTableStaking.NodeStaker>(from: FlowIDTableStaking.NodeStakerStoragePath) != nil {\n let node <- signer.storage.load<@FlowIDTableStaking.NodeStaker>(from: FlowIDTableStaking.NodeStakerStoragePath)!\n collectionRef.addNodeObject(<-node, machineAccountInfo: nil)\n }\n\n // If there is a delegator object in the account, put it in the staking collection\n if signer.storage.borrow<&FlowIDTableStaking.NodeDelegator>(from: FlowIDTableStaking.DelegatorStoragePath) != nil {\n let delegator <- signer.storage.load<@FlowIDTableStaking.NodeDelegator>(from: FlowIDTableStaking.DelegatorStoragePath)!\n collectionRef.addDelegatorObject(<-delegator)\n }\n }\n}\n", + "arguments": [], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", "gasLimit": 42, "proposalKey": { @@ -728,13 +729,8 @@ ] }, "envelopeMessage": { - "script": "import LockedTokens from 0x95e019a17d0e23d7\n\ntransaction(amount: UFix64) {\n let nodeDelegatorProxy: LockedTokens.LockedNodeDelegatorProxy\n\n prepare(account: AuthAccount) {\n let holderRef = account.borrow<&LockedTokens.TokenHolder>(from: LockedTokens.TokenHolderStoragePath) \n ?? panic(\"TokenHolder is not saved at specified path\")\n\n self.nodeDelegatorProxy = holderRef.borrowDelegator()\n }\n\n execute {\n self.nodeDelegatorProxy.delegateUnstakedTokens(amount: amount)\n }\n}\n", - "arguments": [ - { - "type": "UFix64", - "value": "92233720368.54775808" - } - ], + "script": "import FungibleToken from 0x9a0766d93b6608b7\nimport FlowToken from 0x7e60df042a9c0868\nimport FlowIDTableStaking from 0x9eca2b38b18b5dfe\nimport LockedTokens from 0x95e019a17d0e23d7\nimport FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// This transaction sets up an account to use a staking collection\n/// It will work regardless of whether they have a regular account, a two-account locked tokens setup,\n/// or staking objects stored in the unlocked account\n\ntransaction {\n prepare(signer: auth(BorrowValue, Storage, Capabilities) &Account) {\n\n // If there isn't already a staking collection\n if signer.storage.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath) == nil {\n\n // Create private capabilities for the token holder and unlocked vault\n let lockedHolder = signer.capabilities.storage.issue(LockedTokens.TokenHolderStoragePath)!\n let flowToken = signer.capabilities.storage.issue(/storage/flowTokenVault)!\n\n // Create a new Staking Collection and put it in storage\n if lockedHolder.check() {\n signer.storage.save(\n <- FlowStakingCollection.createStakingCollection(\n unlockedVault: flowToken,\n tokenHolder: lockedHolder\n ),\n to: FlowStakingCollection.StakingCollectionStoragePath\n )\n } else {\n signer.storage.save(\n <- FlowStakingCollection.createStakingCollection(\n unlockedVault: flowToken,\n tokenHolder: nil\n ),\n to: FlowStakingCollection.StakingCollectionStoragePath\n )\n }\n\n // Publish a capability to the created staking collection.\n let stakingCollectionCap = signer.capabilities.storage.issue<&FlowStakingCollection.StakingCollection>(\n FlowStakingCollection.StakingCollectionStoragePath\n )\n\n signer.capabilities.publish(\n stakingCollectionCap,\n at: FlowStakingCollection.StakingCollectionPublicPath\n )\n }\n\n // borrow a reference to the staking collection\n let collectionRef = signer.storage.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow staking collection reference\")\n\n // If there is a node staker object in the account, put it in the staking collection\n if signer.storage.borrow<&FlowIDTableStaking.NodeStaker>(from: FlowIDTableStaking.NodeStakerStoragePath) != nil {\n let node <- signer.storage.load<@FlowIDTableStaking.NodeStaker>(from: FlowIDTableStaking.NodeStakerStoragePath)!\n collectionRef.addNodeObject(<-node, machineAccountInfo: nil)\n }\n\n // If there is a delegator object in the account, put it in the staking collection\n if signer.storage.borrow<&FlowIDTableStaking.NodeDelegator>(from: FlowIDTableStaking.DelegatorStoragePath) != nil {\n let delegator <- signer.storage.load<@FlowIDTableStaking.NodeDelegator>(from: FlowIDTableStaking.DelegatorStoragePath)!\n collectionRef.addDelegatorObject(<-delegator)\n }\n }\n}\n", + "arguments": [], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", "gasLimit": 42, "proposalKey": { @@ -748,21 +744,25 @@ ], "payloadSigs": [] }, - "encodedTransactionPayloadHex": "f9027bb90206696d706f7274204c6f636b6564546f6b656e732066726f6d203078393565303139613137643065323364370a0a7472616e73616374696f6e28616d6f756e743a2055466978363429207b0a202020206c6574206e6f646544656c656761746f7250726f78793a204c6f636b6564546f6b656e732e4c6f636b65644e6f646544656c656761746f7250726f78790a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a20202020202020206c657420686f6c646572526566203d206163636f756e742e626f72726f773c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f726167655061746829200a2020202020202020202020203f3f2070616e69632822546f6b656e486f6c646572206973206e6f7420736176656420617420737065636966696564207061746822290a0a202020202020202073656c662e6e6f646544656c656761746f7250726f7879203d20686f6c6465725265662e626f72726f7744656c656761746f7228290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e6e6f646544656c656761746f7250726f78792e64656c6567617465556e7374616b6564546f6b656e7328616d6f756e743a20616d6f756e74290a202020207d0a7d0af1b07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", - "encodedTransactionEnvelopeHex": "f9027ff9027bb90206696d706f7274204c6f636b6564546f6b656e732066726f6d203078393565303139613137643065323364370a0a7472616e73616374696f6e28616d6f756e743a2055466978363429207b0a202020206c6574206e6f646544656c656761746f7250726f78793a204c6f636b6564546f6b656e732e4c6f636b65644e6f646544656c656761746f7250726f78790a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a20202020202020206c657420686f6c646572526566203d206163636f756e742e626f72726f773c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f726167655061746829200a2020202020202020202020203f3f2070616e69632822546f6b656e486f6c646572206973206e6f7420736176656420617420737065636966696564207061746822290a0a202020202020202073656c662e6e6f646544656c656761746f7250726f7879203d20686f6c6465725265662e626f72726f7744656c656761746f7228290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e6e6f646544656c656761746f7250726f78792e64656c6567617465556e7374616b6564546f6b656e7328616d6f756e743a20616d6f756e74290a202020207d0a7d0af1b07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", - "metadata": "028776b1521b04395754734f8f40d4a0482863274f8d832973d9e011b3cbb48c852027331b72d8710a1a05feb6ecebadb5858d134bc8c95d6f261319cd9fa1bb9552652d64656c656761746520556e7374616b656420464c4f57000101416d6f756e7400005546697836340003", - "hash": "8776b1521b04395754734f8f40d4a0482863274f8d832973d9e011b3cbb48c85" + "encodedTransactionPayloadHex": "f90df1b90dad696d706f72742046756e6769626c65546f6b656e2066726f6d203078396130373636643933623636303862370a696d706f727420466c6f77546f6b656e2066726f6d203078376536306466303432613963303836380a696d706f727420466c6f7749445461626c655374616b696e672066726f6d203078396563613262333862313862356466650a696d706f7274204c6f636b6564546f6b656e732066726f6d203078393565303139613137643065323364370a696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f2054686973207472616e73616374696f6e207365747320757020616e206163636f756e7420746f207573652061207374616b696e6720636f6c6c656374696f6e0a2f2f2f2049742077696c6c20776f726b207265676172646c657373206f66207768657468657220746865792068617665206120726567756c6172206163636f756e742c20612074776f2d6163636f756e74206c6f636b656420746f6b656e732073657475702c0a2f2f2f206f72207374616b696e67206f626a656374732073746f72656420696e2074686520756e6c6f636b6564206163636f756e740a0a7472616e73616374696f6e207b0a2020202070726570617265287369676e65723a206175746828426f72726f7756616c75652c2053746f726167652c204361706162696c69746965732920264163636f756e7429207b0a0a20202020202020202f2f2049662074686572652069736e277420616c72656164792061207374616b696e6720636f6c6c656374696f6e0a20202020202020206966207369676e65722e73746f726167652e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f726167655061746829203d3d206e696c207b0a0a2020202020202020202020202f2f204372656174652070726976617465206361706162696c697469657320666f722074686520746f6b656e20686f6c64657220616e6420756e6c6f636b6564207661756c740a2020202020202020202020206c6574206c6f636b6564486f6c646572203d207369676e65722e6361706162696c69746965732e73746f726167652e69737375653c617574682846756e6769626c65546f6b656e2e57697468647261772c204c6f636b6564546f6b656e732e546f6b656e4f7065726174696f6e732920264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e284c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f726167655061746829210a2020202020202020202020206c657420666c6f77546f6b656e203d207369676e65722e6361706162696c69746965732e73746f726167652e69737375653c617574682846756e6769626c65546f6b656e2e5769746864726177292026466c6f77546f6b656e2e5661756c743e282f73746f726167652f666c6f77546f6b656e5661756c7429210a0a2020202020202020202020202f2f204372656174652061206e6577205374616b696e6720436f6c6c656374696f6e20616e642070757420697420696e2073746f726167650a2020202020202020202020206966206c6f636b6564486f6c6465722e636865636b2829207b0a202020202020202020202020202020207369676e65722e73746f726167652e73617665280a20202020202020202020202020202020202020203c2d20466c6f775374616b696e67436f6c6c656374696f6e2e6372656174655374616b696e67436f6c6c656374696f6e280a202020202020202020202020202020202020202020202020756e6c6f636b65645661756c743a20666c6f77546f6b656e2c0a202020202020202020202020202020202020202020202020746f6b656e486f6c6465723a206c6f636b6564486f6c6465720a2020202020202020202020202020202020202020292c0a2020202020202020202020202020202020202020746f3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f72616765506174680a20202020202020202020202020202020290a2020202020202020202020207d20656c7365207b0a202020202020202020202020202020207369676e65722e73746f726167652e73617665280a20202020202020202020202020202020202020203c2d20466c6f775374616b696e67436f6c6c656374696f6e2e6372656174655374616b696e67436f6c6c656374696f6e280a202020202020202020202020202020202020202020202020756e6c6f636b65645661756c743a20666c6f77546f6b656e2c0a202020202020202020202020202020202020202020202020746f6b656e486f6c6465723a206e696c0a2020202020202020202020202020202020202020292c0a2020202020202020202020202020202020202020746f3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f72616765506174680a20202020202020202020202020202020290a2020202020202020202020207d0a0a2020202020202020202020202f2f205075626c6973682061206361706162696c69747920746f207468652063726561746564207374616b696e6720636f6c6c656374696f6e2e0a2020202020202020202020206c6574207374616b696e67436f6c6c656374696f6e436170203d207369676e65722e6361706162696c69746965732e73746f726167652e69737375653c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e280a20202020202020202020202020202020466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f72616765506174680a202020202020202020202020290a0a2020202020202020202020207369676e65722e6361706162696c69746965732e7075626c697368280a202020202020202020202020202020207374616b696e67436f6c6c656374696f6e4361702c0a2020202020202020202020202020202061743a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e5075626c6963506174680a202020202020202020202020290a20202020202020207d0a0a20202020202020202f2f20626f72726f772061207265666572656e636520746f20746865207374616b696e6720636f6c6c656374696f6e0a20202020202020206c657420636f6c6c656374696f6e526566203d207369676e65722e73746f726167652e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207374616b696e6720636f6c6c656374696f6e207265666572656e636522290a0a20202020202020202f2f2049662074686572652069732061206e6f6465207374616b6572206f626a65637420696e20746865206163636f756e742c2070757420697420696e20746865207374616b696e6720636f6c6c656374696f6e0a20202020202020206966207369676e65722e73746f726167652e626f72726f773c26466c6f7749445461626c655374616b696e672e4e6f64655374616b65723e2866726f6d3a20466c6f7749445461626c655374616b696e672e4e6f64655374616b657253746f72616765506174682920213d206e696c207b0a2020202020202020202020206c6574206e6f6465203c2d207369676e65722e73746f726167652e6c6f61643c40466c6f7749445461626c655374616b696e672e4e6f64655374616b65723e2866726f6d3a20466c6f7749445461626c655374616b696e672e4e6f64655374616b657253746f726167655061746829210a202020202020202020202020636f6c6c656374696f6e5265662e6164644e6f64654f626a656374283c2d6e6f64652c206d616368696e654163636f756e74496e666f3a206e696c290a20202020202020207d0a0a20202020202020202f2f20496620746865726520697320612064656c656761746f72206f626a65637420696e20746865206163636f756e742c2070757420697420696e20746865207374616b696e6720636f6c6c656374696f6e0a20202020202020206966207369676e65722e73746f726167652e626f72726f773c26466c6f7749445461626c655374616b696e672e4e6f646544656c656761746f723e2866726f6d3a20466c6f7749445461626c655374616b696e672e44656c656761746f7253746f72616765506174682920213d206e696c207b0a2020202020202020202020206c65742064656c656761746f72203c2d207369676e65722e73746f726167652e6c6f61643c40466c6f7749445461626c655374616b696e672e4e6f646544656c656761746f723e2866726f6d3a20466c6f7749445461626c655374616b696e672e44656c656761746f7253746f726167655061746829210a202020202020202020202020636f6c6c656374696f6e5265662e61646444656c656761746f724f626a656374283c2d64656c656761746f72290a20202020202020207d0a202020207d0a7d0ac0a0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", + "encodedTransactionEnvelopeHex": "f90df5f90df1b90dad696d706f72742046756e6769626c65546f6b656e2066726f6d203078396130373636643933623636303862370a696d706f727420466c6f77546f6b656e2066726f6d203078376536306466303432613963303836380a696d706f727420466c6f7749445461626c655374616b696e672066726f6d203078396563613262333862313862356466650a696d706f7274204c6f636b6564546f6b656e732066726f6d203078393565303139613137643065323364370a696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f2054686973207472616e73616374696f6e207365747320757020616e206163636f756e7420746f207573652061207374616b696e6720636f6c6c656374696f6e0a2f2f2f2049742077696c6c20776f726b207265676172646c657373206f66207768657468657220746865792068617665206120726567756c6172206163636f756e742c20612074776f2d6163636f756e74206c6f636b656420746f6b656e732073657475702c0a2f2f2f206f72207374616b696e67206f626a656374732073746f72656420696e2074686520756e6c6f636b6564206163636f756e740a0a7472616e73616374696f6e207b0a2020202070726570617265287369676e65723a206175746828426f72726f7756616c75652c2053746f726167652c204361706162696c69746965732920264163636f756e7429207b0a0a20202020202020202f2f2049662074686572652069736e277420616c72656164792061207374616b696e6720636f6c6c656374696f6e0a20202020202020206966207369676e65722e73746f726167652e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f726167655061746829203d3d206e696c207b0a0a2020202020202020202020202f2f204372656174652070726976617465206361706162696c697469657320666f722074686520746f6b656e20686f6c64657220616e6420756e6c6f636b6564207661756c740a2020202020202020202020206c6574206c6f636b6564486f6c646572203d207369676e65722e6361706162696c69746965732e73746f726167652e69737375653c617574682846756e6769626c65546f6b656e2e57697468647261772c204c6f636b6564546f6b656e732e546f6b656e4f7065726174696f6e732920264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e284c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f726167655061746829210a2020202020202020202020206c657420666c6f77546f6b656e203d207369676e65722e6361706162696c69746965732e73746f726167652e69737375653c617574682846756e6769626c65546f6b656e2e5769746864726177292026466c6f77546f6b656e2e5661756c743e282f73746f726167652f666c6f77546f6b656e5661756c7429210a0a2020202020202020202020202f2f204372656174652061206e6577205374616b696e6720436f6c6c656374696f6e20616e642070757420697420696e2073746f726167650a2020202020202020202020206966206c6f636b6564486f6c6465722e636865636b2829207b0a202020202020202020202020202020207369676e65722e73746f726167652e73617665280a20202020202020202020202020202020202020203c2d20466c6f775374616b696e67436f6c6c656374696f6e2e6372656174655374616b696e67436f6c6c656374696f6e280a202020202020202020202020202020202020202020202020756e6c6f636b65645661756c743a20666c6f77546f6b656e2c0a202020202020202020202020202020202020202020202020746f6b656e486f6c6465723a206c6f636b6564486f6c6465720a2020202020202020202020202020202020202020292c0a2020202020202020202020202020202020202020746f3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f72616765506174680a20202020202020202020202020202020290a2020202020202020202020207d20656c7365207b0a202020202020202020202020202020207369676e65722e73746f726167652e73617665280a20202020202020202020202020202020202020203c2d20466c6f775374616b696e67436f6c6c656374696f6e2e6372656174655374616b696e67436f6c6c656374696f6e280a202020202020202020202020202020202020202020202020756e6c6f636b65645661756c743a20666c6f77546f6b656e2c0a202020202020202020202020202020202020202020202020746f6b656e486f6c6465723a206e696c0a2020202020202020202020202020202020202020292c0a2020202020202020202020202020202020202020746f3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f72616765506174680a20202020202020202020202020202020290a2020202020202020202020207d0a0a2020202020202020202020202f2f205075626c6973682061206361706162696c69747920746f207468652063726561746564207374616b696e6720636f6c6c656374696f6e2e0a2020202020202020202020206c6574207374616b696e67436f6c6c656374696f6e436170203d207369676e65722e6361706162696c69746965732e73746f726167652e69737375653c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e280a20202020202020202020202020202020466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f72616765506174680a202020202020202020202020290a0a2020202020202020202020207369676e65722e6361706162696c69746965732e7075626c697368280a202020202020202020202020202020207374616b696e67436f6c6c656374696f6e4361702c0a2020202020202020202020202020202061743a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e5075626c6963506174680a202020202020202020202020290a20202020202020207d0a0a20202020202020202f2f20626f72726f772061207265666572656e636520746f20746865207374616b696e6720636f6c6c656374696f6e0a20202020202020206c657420636f6c6c656374696f6e526566203d207369676e65722e73746f726167652e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207374616b696e6720636f6c6c656374696f6e207265666572656e636522290a0a20202020202020202f2f2049662074686572652069732061206e6f6465207374616b6572206f626a65637420696e20746865206163636f756e742c2070757420697420696e20746865207374616b696e6720636f6c6c656374696f6e0a20202020202020206966207369676e65722e73746f726167652e626f72726f773c26466c6f7749445461626c655374616b696e672e4e6f64655374616b65723e2866726f6d3a20466c6f7749445461626c655374616b696e672e4e6f64655374616b657253746f72616765506174682920213d206e696c207b0a2020202020202020202020206c6574206e6f6465203c2d207369676e65722e73746f726167652e6c6f61643c40466c6f7749445461626c655374616b696e672e4e6f64655374616b65723e2866726f6d3a20466c6f7749445461626c655374616b696e672e4e6f64655374616b657253746f726167655061746829210a202020202020202020202020636f6c6c656374696f6e5265662e6164644e6f64654f626a656374283c2d6e6f64652c206d616368696e654163636f756e74496e666f3a206e696c290a20202020202020207d0a0a20202020202020202f2f20496620746865726520697320612064656c656761746f72206f626a65637420696e20746865206163636f756e742c2070757420697420696e20746865207374616b696e6720636f6c6c656374696f6e0a20202020202020206966207369676e65722e73746f726167652e626f72726f773c26466c6f7749445461626c655374616b696e672e4e6f646544656c656761746f723e2866726f6d3a20466c6f7749445461626c655374616b696e672e44656c656761746f7253746f72616765506174682920213d206e696c207b0a2020202020202020202020206c65742064656c656761746f72203c2d207369676e65722e73746f726167652e6c6f61643c40466c6f7749445461626c655374616b696e672e4e6f646544656c656761746f723e2866726f6d3a20466c6f7749445461626c655374616b696e672e44656c656761746f7253746f726167655061746829210a202020202020202020202020636f6c6c656374696f6e5265662e61646444656c656761746f724f626a656374283c2d64656c656761746f72290a20202020202020207d0a202020207d0a7d0ac0a0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", + "metadata": "02861784e7ac135a9cfec90decdff2e53971a4d63135db77bcef3b273b710b181469f30decc15bd78107c631e200963398e8ddbc58bb61e577d223725f348fc2d95365747570205374616b696e6720436f6c6c656374696f6e0000", + "hash": "861784e7ac135a9cfec90decdff2e53971a4d63135db77bcef3b273b710b1814" }, { - "title": "TH.21 - Re-delegate Rewarded FLOW", + "title": "SCO.02 - Register Delegator", "valid": true, "chainID": "Testnet", "payloadMessage": { - "script": "import LockedTokens from 0x95e019a17d0e23d7\n\ntransaction(amount: UFix64) {\n let nodeDelegatorProxy: LockedTokens.LockedNodeDelegatorProxy\n\n prepare(account: AuthAccount) {\n let holderRef = account.borrow<&LockedTokens.TokenHolder>(from: LockedTokens.TokenHolderStoragePath) \n ?? panic(\"TokenHolder is not saved at specified path\")\n \n self.nodeDelegatorProxy = holderRef.borrowDelegator()\n }\n\n execute {\n self.nodeDelegatorProxy.delegateRewardedTokens(amount: amount)\n }\n}\n", + "script": "import FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// Registers a delegator in the staking collection resource\n/// for the specified nodeID and the amount of tokens to commit\n\ntransaction(id: String, amount: UFix64) {\n \n let stakingCollectionRef: auth(FlowStakingCollection.CollectionOwner) &FlowStakingCollection.StakingCollection\n\n prepare(account: auth(BorrowValue) &Account) {\n self.stakingCollectionRef = account.storage.borrow(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow a reference to a StakingCollection in the primary user's account\")\n }\n\n execute {\n self.stakingCollectionRef.registerDelegator(nodeID: id, amount: amount) \n }\n}\n", "arguments": [ { - "type": "UFix64", - "value": "92233720368.54775808" + "type": "String", + "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" + }, + { + "value": "92233720368.54775808", + "type": "UFix64" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -778,11 +778,15 @@ ] }, "envelopeMessage": { - "script": "import LockedTokens from 0x95e019a17d0e23d7\n\ntransaction(amount: UFix64) {\n let nodeDelegatorProxy: LockedTokens.LockedNodeDelegatorProxy\n\n prepare(account: AuthAccount) {\n let holderRef = account.borrow<&LockedTokens.TokenHolder>(from: LockedTokens.TokenHolderStoragePath) \n ?? panic(\"TokenHolder is not saved at specified path\")\n \n self.nodeDelegatorProxy = holderRef.borrowDelegator()\n }\n\n execute {\n self.nodeDelegatorProxy.delegateRewardedTokens(amount: amount)\n }\n}\n", + "script": "import FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// Registers a delegator in the staking collection resource\n/// for the specified nodeID and the amount of tokens to commit\n\ntransaction(id: String, amount: UFix64) {\n \n let stakingCollectionRef: auth(FlowStakingCollection.CollectionOwner) &FlowStakingCollection.StakingCollection\n\n prepare(account: auth(BorrowValue) &Account) {\n self.stakingCollectionRef = account.storage.borrow(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow a reference to a StakingCollection in the primary user's account\")\n }\n\n execute {\n self.stakingCollectionRef.registerDelegator(nodeID: id, amount: amount) \n }\n}\n", "arguments": [ { - "type": "UFix64", - "value": "92233720368.54775808" + "type": "String", + "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" + }, + { + "value": "92233720368.54775808", + "type": "UFix64" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -798,71 +802,53 @@ ], "payloadSigs": [] }, - "encodedTransactionPayloadHex": "f90283b9020e696d706f7274204c6f636b6564546f6b656e732066726f6d203078393565303139613137643065323364370a0a7472616e73616374696f6e28616d6f756e743a2055466978363429207b0a202020206c6574206e6f646544656c656761746f7250726f78793a204c6f636b6564546f6b656e732e4c6f636b65644e6f646544656c656761746f7250726f78790a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a20202020202020206c657420686f6c646572526566203d206163636f756e742e626f72726f773c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f726167655061746829200a2020202020202020202020203f3f2070616e69632822546f6b656e486f6c646572206973206e6f7420736176656420617420737065636966696564207061746822290a20202020202020200a202020202020202073656c662e6e6f646544656c656761746f7250726f7879203d20686f6c6465725265662e626f72726f7744656c656761746f7228290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e6e6f646544656c656761746f7250726f78792e64656c65676174655265776172646564546f6b656e7328616d6f756e743a20616d6f756e74290a202020207d0a7d0af1b07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", - "encodedTransactionEnvelopeHex": "f90287f90283b9020e696d706f7274204c6f636b6564546f6b656e732066726f6d203078393565303139613137643065323364370a0a7472616e73616374696f6e28616d6f756e743a2055466978363429207b0a202020206c6574206e6f646544656c656761746f7250726f78793a204c6f636b6564546f6b656e732e4c6f636b65644e6f646544656c656761746f7250726f78790a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a20202020202020206c657420686f6c646572526566203d206163636f756e742e626f72726f773c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f726167655061746829200a2020202020202020202020203f3f2070616e69632822546f6b656e486f6c646572206973206e6f7420736176656420617420737065636966696564207061746822290a20202020202020200a202020202020202073656c662e6e6f646544656c656761746f7250726f7879203d20686f6c6465725265662e626f72726f7744656c656761746f7228290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e6e6f646544656c656761746f7250726f78792e64656c65676174655265776172646564546f6b656e7328616d6f756e743a20616d6f756e74290a202020207d0a7d0af1b07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", - "metadata": "026b40ffc9169abd75107a45da5974c7e502d38773275abb231d747e4760b7ebee864edbff384335ef21c26b3bcf17d36b2b1d894afbe2b203f58099cc457971e452652d64656c656761746520526577617264656420464c4f57000101416d6f756e7400005546697836340003", - "hash": "6b40ffc9169abd75107a45da5974c7e502d38773275abb231d747e4760b7ebee" + "encodedTransactionPayloadHex": "f90406b90332696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f2052656769737465727320612064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e207265736f757263650a2f2f2f20666f722074686520737065636966696564206e6f6465494420616e642074686520616d6f756e74206f6620746f6b656e7320746f20636f6d6d69740a0a7472616e73616374696f6e2869643a20537472696e672c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a206175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a206175746828426f72726f7756616c75652920264163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e73746f726167652e626f72726f773c6175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f2061205374616b696e67436f6c6c656374696f6e20696e20746865207072696d61727920757365722773206163636f756e7422290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e726567697374657244656c656761746f72286e6f646549443a2069642c20616d6f756e743a20616d6f756e74292020202020200a202020207d0a7d0af88fb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db07b2276616c7565223a2239323233333732303336382e3534373735383038222c2274797065223a22554669783634227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", + "encodedTransactionEnvelopeHex": "f9040af90406b90332696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f2052656769737465727320612064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e207265736f757263650a2f2f2f20666f722074686520737065636966696564206e6f6465494420616e642074686520616d6f756e74206f6620746f6b656e7320746f20636f6d6d69740a0a7472616e73616374696f6e2869643a20537472696e672c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a206175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a206175746828426f72726f7756616c75652920264163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e73746f726167652e626f72726f773c6175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f2061205374616b696e67436f6c6c656374696f6e20696e20746865207072696d61727920757365722773206163636f756e7422290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e726567697374657244656c656761746f72286e6f646549443a2069642c20616d6f756e743a20616d6f756e74292020202020200a202020207d0a7d0af88fb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db07b2276616c7565223a2239323233333732303336382e3534373735383038222c2274797065223a22554669783634227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", + "metadata": "02e093df9c425be9cdbee44bdbbd721f6aff523e41802a50cf0ff353873e9f94830a41e53ad3c9c1c16c8732dd8331b8ca66063617d433b01d4d09c4730044874452656769737465722044656c656761746f720002014e6f64652049440000537472696e67000301416d6f756e7400015546697836340003", + "hash": "e093df9c425be9cdbee44bdbbd721f6aff523e41802a50cf0ff353873e9f9483" }, { - "title": "TH.22 - Unstake Delegated FLOW", + "title": "SCO.03 - Register Node", "valid": true, "chainID": "Testnet", "payloadMessage": { - "script": "import LockedTokens from 0x95e019a17d0e23d7\n\ntransaction(amount: UFix64) {\n let nodeDelegatorProxy: LockedTokens.LockedNodeDelegatorProxy\n\n prepare(account: AuthAccount) {\n let holderRef = account.borrow<&LockedTokens.TokenHolder>(from: LockedTokens.TokenHolderStoragePath) \n ?? panic(\"TokenHolder is not saved at specified path\")\n \n self.nodeDelegatorProxy = holderRef.borrowDelegator()\n }\n\n execute {\n self.nodeDelegatorProxy.requestUnstaking(amount: amount)\n }\n}\n", + "script": "import Crypto\nimport FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// Registers a delegator in the staking collection resource\n/// for the specified node information and the amount of tokens to commit\n\ntransaction(id: String,\n role: UInt8,\n networkingAddress: String,\n networkingKey: String,\n stakingKey: String,\n amount: UFix64,\n machineAccountKey: String, \n machineAccountKeySignatureAlgorithm: UInt8, \n machineAccountKeyHashAlgorithm: UInt8) {\n\n let stakingCollectionRef: auth(FlowStakingCollection.CollectionOwner) &FlowStakingCollection.StakingCollection\n\n prepare(account: auth(BorrowValue) &Account) {\n self.stakingCollectionRef = account.storage.borrow(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow a reference to a StakingCollection in the primary user's account\")\n\n if let machineAccount = self.stakingCollectionRef.registerNode(\n id: id,\n role: role,\n networkingAddress: networkingAddress,\n networkingKey: networkingKey,\n stakingKey: stakingKey,\n amount: amount,\n payer: account\n ) {\n let sigAlgo = SignatureAlgorithm(rawValue: machineAccountKeySignatureAlgorithm)\n ?? panic(\"Could not get a signature algorithm from the raw enum value provided\")\n\n let hashAlgo = HashAlgorithm(rawValue: machineAccountKeyHashAlgorithm)\n ?? panic(\"Could not get a hash algorithm from the raw enum value provided\")\n \n let publicKey = PublicKey(\n\t\t\t publicKey: machineAccountKey.decodeHex(),\n\t\t\t signatureAlgorithm: sigAlgo\n\t\t )\n machineAccount.keys.add(publicKey: publicKey, hashAlgorithm: hashAlgo, weight: 1000.0)\n }\n }\n}\n", "arguments": [ { - "type": "UFix64", - "value": "92233720368.54775808" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "99a8ac2c71d4f6bd", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "99a8ac2c71d4f6bd", - "authorizers": [ - "99a8ac2c71d4f6bd" - ] - }, - "envelopeMessage": { - "script": "import LockedTokens from 0x95e019a17d0e23d7\n\ntransaction(amount: UFix64) {\n let nodeDelegatorProxy: LockedTokens.LockedNodeDelegatorProxy\n\n prepare(account: AuthAccount) {\n let holderRef = account.borrow<&LockedTokens.TokenHolder>(from: LockedTokens.TokenHolderStoragePath) \n ?? panic(\"TokenHolder is not saved at specified path\")\n \n self.nodeDelegatorProxy = holderRef.borrowDelegator()\n }\n\n execute {\n self.nodeDelegatorProxy.requestUnstaking(amount: amount)\n }\n}\n", - "arguments": [ + "type": "String", + "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" + }, { - "type": "UFix64", - "value": "92233720368.54775808" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "99a8ac2c71d4f6bd", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "99a8ac2c71d4f6bd", - "authorizers": [ - "99a8ac2c71d4f6bd" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f9027db90208696d706f7274204c6f636b6564546f6b656e732066726f6d203078393565303139613137643065323364370a0a7472616e73616374696f6e28616d6f756e743a2055466978363429207b0a202020206c6574206e6f646544656c656761746f7250726f78793a204c6f636b6564546f6b656e732e4c6f636b65644e6f646544656c656761746f7250726f78790a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a20202020202020206c657420686f6c646572526566203d206163636f756e742e626f72726f773c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f726167655061746829200a2020202020202020202020203f3f2070616e69632822546f6b656e486f6c646572206973206e6f7420736176656420617420737065636966696564207061746822290a20202020202020200a202020202020202073656c662e6e6f646544656c656761746f7250726f7879203d20686f6c6465725265662e626f72726f7744656c656761746f7228290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e6e6f646544656c656761746f7250726f78792e72657175657374556e7374616b696e6728616d6f756e743a20616d6f756e74290a202020207d0a7d0af1b07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", - "encodedTransactionEnvelopeHex": "f90281f9027db90208696d706f7274204c6f636b6564546f6b656e732066726f6d203078393565303139613137643065323364370a0a7472616e73616374696f6e28616d6f756e743a2055466978363429207b0a202020206c6574206e6f646544656c656761746f7250726f78793a204c6f636b6564546f6b656e732e4c6f636b65644e6f646544656c656761746f7250726f78790a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a20202020202020206c657420686f6c646572526566203d206163636f756e742e626f72726f773c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f726167655061746829200a2020202020202020202020203f3f2070616e69632822546f6b656e486f6c646572206973206e6f7420736176656420617420737065636966696564207061746822290a20202020202020200a202020202020202073656c662e6e6f646544656c656761746f7250726f7879203d20686f6c6465725265662e626f72726f7744656c656761746f7228290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e6e6f646544656c656761746f7250726f78792e72657175657374556e7374616b696e6728616d6f756e743a20616d6f756e74290a202020207d0a7d0af1b07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", - "metadata": "0261cbcd1c31bbfc9ceb4a5ac726e2f8b3d845a4fdf59b0ab23cbbfa8f16d7a024262aeddd3f49fd6222d706c02696bd7d359ba962b6c30232cc93d7cf4166a23e556e7374616b652044656c65676174656420464c4f57000101416d6f756e7400005546697836340003", - "hash": "61cbcd1c31bbfc9ceb4a5ac726e2f8b3d845a4fdf59b0ab23cbbfa8f16d7a024" - }, - { - "title": "TH.23 - Withdraw Unstaked FLOW", - "valid": true, - "chainID": "Testnet", - "payloadMessage": { - "script": "import LockedTokens from 0x95e019a17d0e23d7\n\ntransaction(amount: UFix64) {\n let nodeDelegatorProxy: LockedTokens.LockedNodeDelegatorProxy\n\n prepare(account: AuthAccount) {\n let holderRef = account.borrow<&LockedTokens.TokenHolder>(from: LockedTokens.TokenHolderStoragePath) \n ?? panic(\"TokenHolder is not saved at specified path\")\n \n self.nodeDelegatorProxy = holderRef.borrowDelegator()\n }\n\n execute {\n self.nodeDelegatorProxy.withdrawUnstakedTokens(amount: amount)\n }\n}\n", - "arguments": [ + "value": "1", + "type": "UInt8" + }, { - "type": "UFix64", - "value": "92233720368.54775808" + "value": "flow-node.test:3569", + "type": "String" + }, + { + "value": "1348307bc77c688e80049de9d081aa09755da33e6997605fa059db2144fc85e560cbe6f7da8d74b453f5916618cb8fd392c2db856f3e78221dc68db1b1d914e4", + "type": "String" + }, + { + "value": "9e9ae0d645fd5fd9050792e0b0daa82cc1686d9133afa0f81a784b375c42ae48567d1545e7a9e1965f2c1a32f73cf8575ebb7a967f6e4d104d2df78eb8be409135d12da0499b8a00771f642c1b9c49397f22b440439f036c3bdee82f5309dab3", + "type": "String" + }, + { + "value": "92233720368.54775808", + "type": "UFix64" + }, + { + "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164", + "type": "String" + }, + { + "value": "1", + "type": "UInt8" + }, + { + "value": "1", + "type": "UInt8" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -878,11 +864,43 @@ ] }, "envelopeMessage": { - "script": "import LockedTokens from 0x95e019a17d0e23d7\n\ntransaction(amount: UFix64) {\n let nodeDelegatorProxy: LockedTokens.LockedNodeDelegatorProxy\n\n prepare(account: AuthAccount) {\n let holderRef = account.borrow<&LockedTokens.TokenHolder>(from: LockedTokens.TokenHolderStoragePath) \n ?? panic(\"TokenHolder is not saved at specified path\")\n \n self.nodeDelegatorProxy = holderRef.borrowDelegator()\n }\n\n execute {\n self.nodeDelegatorProxy.withdrawUnstakedTokens(amount: amount)\n }\n}\n", + "script": "import Crypto\nimport FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// Registers a delegator in the staking collection resource\n/// for the specified node information and the amount of tokens to commit\n\ntransaction(id: String,\n role: UInt8,\n networkingAddress: String,\n networkingKey: String,\n stakingKey: String,\n amount: UFix64,\n machineAccountKey: String, \n machineAccountKeySignatureAlgorithm: UInt8, \n machineAccountKeyHashAlgorithm: UInt8) {\n\n let stakingCollectionRef: auth(FlowStakingCollection.CollectionOwner) &FlowStakingCollection.StakingCollection\n\n prepare(account: auth(BorrowValue) &Account) {\n self.stakingCollectionRef = account.storage.borrow(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow a reference to a StakingCollection in the primary user's account\")\n\n if let machineAccount = self.stakingCollectionRef.registerNode(\n id: id,\n role: role,\n networkingAddress: networkingAddress,\n networkingKey: networkingKey,\n stakingKey: stakingKey,\n amount: amount,\n payer: account\n ) {\n let sigAlgo = SignatureAlgorithm(rawValue: machineAccountKeySignatureAlgorithm)\n ?? panic(\"Could not get a signature algorithm from the raw enum value provided\")\n\n let hashAlgo = HashAlgorithm(rawValue: machineAccountKeyHashAlgorithm)\n ?? panic(\"Could not get a hash algorithm from the raw enum value provided\")\n \n let publicKey = PublicKey(\n\t\t\t publicKey: machineAccountKey.decodeHex(),\n\t\t\t signatureAlgorithm: sigAlgo\n\t\t )\n machineAccount.keys.add(publicKey: publicKey, hashAlgorithm: hashAlgo, weight: 1000.0)\n }\n }\n}\n", "arguments": [ { - "type": "UFix64", - "value": "92233720368.54775808" + "type": "String", + "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" + }, + { + "value": "1", + "type": "UInt8" + }, + { + "value": "flow-node.test:3569", + "type": "String" + }, + { + "value": "1348307bc77c688e80049de9d081aa09755da33e6997605fa059db2144fc85e560cbe6f7da8d74b453f5916618cb8fd392c2db856f3e78221dc68db1b1d914e4", + "type": "String" + }, + { + "value": "9e9ae0d645fd5fd9050792e0b0daa82cc1686d9133afa0f81a784b375c42ae48567d1545e7a9e1965f2c1a32f73cf8575ebb7a967f6e4d104d2df78eb8be409135d12da0499b8a00771f642c1b9c49397f22b440439f036c3bdee82f5309dab3", + "type": "String" + }, + { + "value": "92233720368.54775808", + "type": "UFix64" + }, + { + "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164", + "type": "String" + }, + { + "value": "1", + "type": "UInt8" + }, + { + "value": "1", + "type": "UInt8" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -898,21 +916,33 @@ ], "payloadSigs": [] }, - "encodedTransactionPayloadHex": "f90283b9020e696d706f7274204c6f636b6564546f6b656e732066726f6d203078393565303139613137643065323364370a0a7472616e73616374696f6e28616d6f756e743a2055466978363429207b0a202020206c6574206e6f646544656c656761746f7250726f78793a204c6f636b6564546f6b656e732e4c6f636b65644e6f646544656c656761746f7250726f78790a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a20202020202020206c657420686f6c646572526566203d206163636f756e742e626f72726f773c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f726167655061746829200a2020202020202020202020203f3f2070616e69632822546f6b656e486f6c646572206973206e6f7420736176656420617420737065636966696564207061746822290a20202020202020200a202020202020202073656c662e6e6f646544656c656761746f7250726f7879203d20686f6c6465725265662e626f72726f7744656c656761746f7228290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e6e6f646544656c656761746f7250726f78792e7769746864726177556e7374616b6564546f6b656e7328616d6f756e743a20616d6f756e74290a202020207d0a7d0af1b07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", - "encodedTransactionEnvelopeHex": "f90287f90283b9020e696d706f7274204c6f636b6564546f6b656e732066726f6d203078393565303139613137643065323364370a0a7472616e73616374696f6e28616d6f756e743a2055466978363429207b0a202020206c6574206e6f646544656c656761746f7250726f78793a204c6f636b6564546f6b656e732e4c6f636b65644e6f646544656c656761746f7250726f78790a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a20202020202020206c657420686f6c646572526566203d206163636f756e742e626f72726f773c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f726167655061746829200a2020202020202020202020203f3f2070616e69632822546f6b656e486f6c646572206973206e6f7420736176656420617420737065636966696564207061746822290a20202020202020200a202020202020202073656c662e6e6f646544656c656761746f7250726f7879203d20686f6c6465725265662e626f72726f7744656c656761746f7228290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e6e6f646544656c656761746f7250726f78792e7769746864726177556e7374616b6564546f6b656e7328616d6f756e743a20616d6f756e74290a202020207d0a7d0af1b07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", - "metadata": "022ae983f78e32b989fafa58ee7910b131fb51a2a74356f7916624695cb8bf596412675a013c064b6d0ef11dbf13f92210489bf2b3d299b2f14cd09be70b37577f576974686472617720556e7374616b656420464c4f57000101416d6f756e7400005546697836340003", - "hash": "2ae983f78e32b989fafa58ee7910b131fb51a2a74356f7916624695cb8bf5964" + "encodedTransactionPayloadHex": "f90b24b907a0696d706f72742043727970746f0a696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f2052656769737465727320612064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e207265736f757263650a2f2f2f20666f722074686520737065636966696564206e6f646520696e666f726d6174696f6e20616e642074686520616d6f756e74206f6620746f6b656e7320746f20636f6d6d69740a0a7472616e73616374696f6e2869643a20537472696e672c0a202020202020202020202020726f6c653a2055496e74382c0a2020202020202020202020206e6574776f726b696e67416464726573733a20537472696e672c0a2020202020202020202020206e6574776f726b696e674b65793a20537472696e672c0a2020202020202020202020207374616b696e674b65793a20537472696e672c0a202020202020202020202020616d6f756e743a205546697836342c0a2020202020202020202020206d616368696e654163636f756e744b65793a20537472696e672c200a2020202020202020202020206d616368696e654163636f756e744b65795369676e6174757265416c676f726974686d3a2055496e74382c200a2020202020202020202020206d616368696e654163636f756e744b657948617368416c676f726974686d3a2055496e743829207b0a0a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a206175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a206175746828426f72726f7756616c75652920264163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e73746f726167652e626f72726f773c6175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f2061205374616b696e67436f6c6c656374696f6e20696e20746865207072696d61727920757365722773206163636f756e7422290a0a20202020202020206966206c6574206d616368696e654163636f756e74203d2073656c662e7374616b696e67436f6c6c656374696f6e5265662e72656769737465724e6f6465280a20202020202020202020202069643a2069642c0a202020202020202020202020726f6c653a20726f6c652c0a2020202020202020202020206e6574776f726b696e67416464726573733a206e6574776f726b696e67416464726573732c0a2020202020202020202020206e6574776f726b696e674b65793a206e6574776f726b696e674b65792c0a2020202020202020202020207374616b696e674b65793a207374616b696e674b65792c0a202020202020202020202020616d6f756e743a20616d6f756e742c0a20202020202020202020202070617965723a206163636f756e740a202020202020202029207b0a2020202020202020202020206c657420736967416c676f203d205369676e6174757265416c676f726974686d2872617756616c75653a206d616368696e654163636f756e744b65795369676e6174757265416c676f726974686d290a202020202020202020202020202020203f3f2070616e69632822436f756c64206e6f74206765742061207369676e617475726520616c676f726974686d2066726f6d207468652072617720656e756d2076616c75652070726f766964656422290a0a2020202020202020202020206c65742068617368416c676f203d2048617368416c676f726974686d2872617756616c75653a206d616368696e654163636f756e744b657948617368416c676f726974686d290a202020202020202020202020202020203f3f2070616e69632822436f756c64206e6f74206765742061206861736820616c676f726974686d2066726f6d207468652072617720656e756d2076616c75652070726f766964656422290a2020202020202020202020200a2020202020202020202020206c6574207075626c69634b6579203d205075626c69634b6579280a090909202020207075626c69634b65793a206d616368696e654163636f756e744b65792e6465636f646548657828292c0a090909202020207369676e6174757265416c676f726974686d3a20736967416c676f0a090920202020290a2020202020202020202020206d616368696e654163636f756e742e6b6579732e616464287075626c69634b65793a207075626c69634b65792c2068617368416c676f726974686d3a2068617368416c676f2c207765696768743a20313030302e30290a20202020202020207d0a202020207d0a7d0af9033eb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227d9c7b2276616c7565223a2231222c2274797065223a2255496e7438227daf7b2276616c7565223a22666c6f772d6e6f64652e746573743a33353639222c2274797065223a22537472696e67227db89c7b2276616c7565223a223133343833303762633737633638386538303034396465396430383161613039373535646133336536393937363035666130353964623231343466633835653536306362653666376461386437346234353366353931363631386362386664333932633264623835366633653738323231646336386462316231643931346534222c2274797065223a22537472696e67227db8dc7b2276616c7565223a22396539616530643634356664356664393035303739326530623064616138326363313638366439313333616661306638316137383462333735633432616534383536376431353435653761396531393635663263316133326637336366383537356562623761393637663665346431303464326466373865623862653430393133356431326461303439396238613030373731663634326331623963343933393766323262343430343339663033366333626465653832663533303964616233222c2274797065223a22537472696e67227db07b2276616c7565223a2239323233333732303336382e3534373735383038222c2274797065223a22554669783634227db8aa7b2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634222c2274797065223a22537472696e67227d9c7b2276616c7565223a2231222c2274797065223a2255496e7438227d9c7b2276616c7565223a2231222c2274797065223a2255496e7438227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", + "encodedTransactionEnvelopeHex": "f90b28f90b24b907a0696d706f72742043727970746f0a696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f2052656769737465727320612064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e207265736f757263650a2f2f2f20666f722074686520737065636966696564206e6f646520696e666f726d6174696f6e20616e642074686520616d6f756e74206f6620746f6b656e7320746f20636f6d6d69740a0a7472616e73616374696f6e2869643a20537472696e672c0a202020202020202020202020726f6c653a2055496e74382c0a2020202020202020202020206e6574776f726b696e67416464726573733a20537472696e672c0a2020202020202020202020206e6574776f726b696e674b65793a20537472696e672c0a2020202020202020202020207374616b696e674b65793a20537472696e672c0a202020202020202020202020616d6f756e743a205546697836342c0a2020202020202020202020206d616368696e654163636f756e744b65793a20537472696e672c200a2020202020202020202020206d616368696e654163636f756e744b65795369676e6174757265416c676f726974686d3a2055496e74382c200a2020202020202020202020206d616368696e654163636f756e744b657948617368416c676f726974686d3a2055496e743829207b0a0a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a206175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a206175746828426f72726f7756616c75652920264163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e73746f726167652e626f72726f773c6175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f2061205374616b696e67436f6c6c656374696f6e20696e20746865207072696d61727920757365722773206163636f756e7422290a0a20202020202020206966206c6574206d616368696e654163636f756e74203d2073656c662e7374616b696e67436f6c6c656374696f6e5265662e72656769737465724e6f6465280a20202020202020202020202069643a2069642c0a202020202020202020202020726f6c653a20726f6c652c0a2020202020202020202020206e6574776f726b696e67416464726573733a206e6574776f726b696e67416464726573732c0a2020202020202020202020206e6574776f726b696e674b65793a206e6574776f726b696e674b65792c0a2020202020202020202020207374616b696e674b65793a207374616b696e674b65792c0a202020202020202020202020616d6f756e743a20616d6f756e742c0a20202020202020202020202070617965723a206163636f756e740a202020202020202029207b0a2020202020202020202020206c657420736967416c676f203d205369676e6174757265416c676f726974686d2872617756616c75653a206d616368696e654163636f756e744b65795369676e6174757265416c676f726974686d290a202020202020202020202020202020203f3f2070616e69632822436f756c64206e6f74206765742061207369676e617475726520616c676f726974686d2066726f6d207468652072617720656e756d2076616c75652070726f766964656422290a0a2020202020202020202020206c65742068617368416c676f203d2048617368416c676f726974686d2872617756616c75653a206d616368696e654163636f756e744b657948617368416c676f726974686d290a202020202020202020202020202020203f3f2070616e69632822436f756c64206e6f74206765742061206861736820616c676f726974686d2066726f6d207468652072617720656e756d2076616c75652070726f766964656422290a2020202020202020202020200a2020202020202020202020206c6574207075626c69634b6579203d205075626c69634b6579280a090909202020207075626c69634b65793a206d616368696e654163636f756e744b65792e6465636f646548657828292c0a090909202020207369676e6174757265416c676f726974686d3a20736967416c676f0a090920202020290a2020202020202020202020206d616368696e654163636f756e742e6b6579732e616464287075626c69634b65793a207075626c69634b65792c2068617368416c676f726974686d3a2068617368416c676f2c207765696768743a20313030302e30290a20202020202020207d0a202020207d0a7d0af9033eb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227d9c7b2276616c7565223a2231222c2274797065223a2255496e7438227daf7b2276616c7565223a22666c6f772d6e6f64652e746573743a33353639222c2274797065223a22537472696e67227db89c7b2276616c7565223a223133343833303762633737633638386538303034396465396430383161613039373535646133336536393937363035666130353964623231343466633835653536306362653666376461386437346234353366353931363631386362386664333932633264623835366633653738323231646336386462316231643931346534222c2274797065223a22537472696e67227db8dc7b2276616c7565223a22396539616530643634356664356664393035303739326530623064616138326363313638366439313333616661306638316137383462333735633432616534383536376431353435653761396531393635663263316133326637336366383537356562623761393637663665346431303464326466373865623862653430393133356431326461303439396238613030373731663634326331623963343933393766323262343430343339663033366333626465653832663533303964616233222c2274797065223a22537472696e67227db07b2276616c7565223a2239323233333732303336382e3534373735383038222c2274797065223a22554669783634227db8aa7b2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634222c2274797065223a22537472696e67227d9c7b2276616c7565223a2231222c2274797065223a2255496e7438227d9c7b2276616c7565223a2231222c2274797065223a2255496e7438227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", + "metadata": "02deb5f758f3eb3b125cd9b14a6528f18d535377709fcef41e743751eb828009213b0b2bbc3a2ad674122c182112f7008a8d3d1b60b107033c0ebe7bbe50df52675265676973746572204e6f64650009014e6f64652049440000537472696e670003014e6f646520526f6c65000155496e74380003014e6574772e20416464726573730002537472696e670003014e6574772e204b65790003537472696e670003015374616b696e67204b65790004537472696e67000301416d6f756e7400055546697836340003014d41205075624b65790006537472696e670003014d412053416c67000755496e74380003014d412048416c67000855496e74380003", + "hash": "deb5f758f3eb3b125cd9b14a6528f18d535377709fcef41e743751eb82800921" }, { - "title": "TH.24 - Withdraw Rewarded FLOW", + "title": "SCO.04 - Create Machine Account", "valid": true, "chainID": "Testnet", "payloadMessage": { - "script": "import LockedTokens from 0x95e019a17d0e23d7\nimport FlowToken from 0x7e60df042a9c0868\n\ntransaction(amount: UFix64) {\n\n let holderRef: &LockedTokens.TokenHolder\n let vaultRef: &FlowToken.Vault\n\n prepare(account: AuthAccount) {\n self.holderRef = account.borrow<&LockedTokens.TokenHolder>(from: LockedTokens.TokenHolderStoragePath) \n ?? panic(\"Could not borrow reference to TokenHolder\")\n\n self.vaultRef = account.borrow<&FlowToken.Vault>(from: /storage/flowTokenVault)\n ?? panic(\"Could not borrow reference to FlowToken value\")\n }\n\n execute {\n let delegatorProxy = self.holderRef.borrowDelegator()\n\n delegatorProxy.withdrawRewardedTokens(amount: amount)\n self.vaultRef.deposit(from: <-self.holderRef.withdraw(amount: amount))\n }\n}\n", + "script": "import Crypto\nimport FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// Creates a machine account for a node that is already in the staking collection\n/// and adds public keys to the new account\n\ntransaction(nodeID: String, \n machineAccountKey: String, \n machineAccountKeySignatureAlgorithm: UInt8, \n machineAccountKeyHashAlgorithm: UInt8) {\n \n let stakingCollectionRef: auth(FlowStakingCollection.CollectionOwner) &FlowStakingCollection.StakingCollection\n\n prepare(account: auth(BorrowValue) &Account) {\n self.stakingCollectionRef = account.storage.borrow(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow a reference to a StakingCollection in the primary user's account\")\n\n if let machineAccount = self.stakingCollectionRef.createMachineAccountForExistingNode(nodeID: nodeID, payer: account) {\n let sigAlgo = SignatureAlgorithm(rawValue: machineAccountKeySignatureAlgorithm)\n ?? panic(\"Could not get a signature algorithm from the raw enum value provided\")\n\n let hashAlgo = HashAlgorithm(rawValue: machineAccountKeyHashAlgorithm)\n ?? panic(\"Could not get a hash algorithm from the raw enum value provided\")\n \n let publicKey = PublicKey(\n\t\t\t publicKey: machineAccountKey.decodeHex(),\n\t\t\t signatureAlgorithm: sigAlgo\n\t\t )\n machineAccount.keys.add(publicKey: publicKey, hashAlgorithm: hashAlgo, weight: 1000.0)\n } else {\n panic(\"Could not create a machine account for the node\")\n }\n }\n}\n", "arguments": [ { - "type": "UFix64", - "value": "92233720368.54775808" + "type": "String", + "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" + }, + { + "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164", + "type": "String" + }, + { + "value": "1", + "type": "UInt8" + }, + { + "value": "1", + "type": "UInt8" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -928,11 +958,23 @@ ] }, "envelopeMessage": { - "script": "import LockedTokens from 0x95e019a17d0e23d7\nimport FlowToken from 0x7e60df042a9c0868\n\ntransaction(amount: UFix64) {\n\n let holderRef: &LockedTokens.TokenHolder\n let vaultRef: &FlowToken.Vault\n\n prepare(account: AuthAccount) {\n self.holderRef = account.borrow<&LockedTokens.TokenHolder>(from: LockedTokens.TokenHolderStoragePath) \n ?? panic(\"Could not borrow reference to TokenHolder\")\n\n self.vaultRef = account.borrow<&FlowToken.Vault>(from: /storage/flowTokenVault)\n ?? panic(\"Could not borrow reference to FlowToken value\")\n }\n\n execute {\n let delegatorProxy = self.holderRef.borrowDelegator()\n\n delegatorProxy.withdrawRewardedTokens(amount: amount)\n self.vaultRef.deposit(from: <-self.holderRef.withdraw(amount: amount))\n }\n}\n", + "script": "import Crypto\nimport FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// Creates a machine account for a node that is already in the staking collection\n/// and adds public keys to the new account\n\ntransaction(nodeID: String, \n machineAccountKey: String, \n machineAccountKeySignatureAlgorithm: UInt8, \n machineAccountKeyHashAlgorithm: UInt8) {\n \n let stakingCollectionRef: auth(FlowStakingCollection.CollectionOwner) &FlowStakingCollection.StakingCollection\n\n prepare(account: auth(BorrowValue) &Account) {\n self.stakingCollectionRef = account.storage.borrow(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow a reference to a StakingCollection in the primary user's account\")\n\n if let machineAccount = self.stakingCollectionRef.createMachineAccountForExistingNode(nodeID: nodeID, payer: account) {\n let sigAlgo = SignatureAlgorithm(rawValue: machineAccountKeySignatureAlgorithm)\n ?? panic(\"Could not get a signature algorithm from the raw enum value provided\")\n\n let hashAlgo = HashAlgorithm(rawValue: machineAccountKeyHashAlgorithm)\n ?? panic(\"Could not get a hash algorithm from the raw enum value provided\")\n \n let publicKey = PublicKey(\n\t\t\t publicKey: machineAccountKey.decodeHex(),\n\t\t\t signatureAlgorithm: sigAlgo\n\t\t )\n machineAccount.keys.add(publicKey: publicKey, hashAlgorithm: hashAlgo, weight: 1000.0)\n } else {\n panic(\"Could not create a machine account for the node\")\n }\n }\n}\n", "arguments": [ { - "type": "UFix64", - "value": "92233720368.54775808" + "type": "String", + "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" + }, + { + "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164", + "type": "String" + }, + { + "value": "1", + "type": "UInt8" + }, + { + "value": "1", + "type": "UInt8" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -948,21 +990,29 @@ ], "payloadSigs": [] }, - "encodedTransactionPayloadHex": "f90398b90323696d706f7274204c6f636b6564546f6b656e732066726f6d203078393565303139613137643065323364370a696d706f727420466c6f77546f6b656e2066726f6d203078376536306466303432613963303836380a0a7472616e73616374696f6e28616d6f756e743a2055466978363429207b0a0a202020206c657420686f6c6465725265663a20264c6f636b6564546f6b656e732e546f6b656e486f6c6465720a202020206c6574207661756c745265663a2026466c6f77546f6b656e2e5661756c740a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e686f6c646572526566203d206163636f756e742e626f72726f773c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f726167655061746829200a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f20546f6b656e486f6c64657222290a0a202020202020202073656c662e7661756c74526566203d206163636f756e742e626f72726f773c26466c6f77546f6b656e2e5661756c743e2866726f6d3a202f73746f726167652f666c6f77546f6b656e5661756c74290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f20466c6f77546f6b656e2076616c756522290a202020207d0a0a2020202065786563757465207b0a20202020202020206c65742064656c656761746f7250726f7879203d2073656c662e686f6c6465725265662e626f72726f7744656c656761746f7228290a0a202020202020202064656c656761746f7250726f78792e77697468647261775265776172646564546f6b656e7328616d6f756e743a20616d6f756e74290a202020202020202073656c662e7661756c745265662e6465706f7369742866726f6d3a203c2d73656c662e686f6c6465725265662e776974686472617728616d6f756e743a20616d6f756e7429290a202020207d0a7d0af1b07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", - "encodedTransactionEnvelopeHex": "f9039cf90398b90323696d706f7274204c6f636b6564546f6b656e732066726f6d203078393565303139613137643065323364370a696d706f727420466c6f77546f6b656e2066726f6d203078376536306466303432613963303836380a0a7472616e73616374696f6e28616d6f756e743a2055466978363429207b0a0a202020206c657420686f6c6465725265663a20264c6f636b6564546f6b656e732e546f6b656e486f6c6465720a202020206c6574207661756c745265663a2026466c6f77546f6b656e2e5661756c740a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e686f6c646572526566203d206163636f756e742e626f72726f773c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f726167655061746829200a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f20546f6b656e486f6c64657222290a0a202020202020202073656c662e7661756c74526566203d206163636f756e742e626f72726f773c26466c6f77546f6b656e2e5661756c743e2866726f6d3a202f73746f726167652f666c6f77546f6b656e5661756c74290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f20466c6f77546f6b656e2076616c756522290a202020207d0a0a2020202065786563757465207b0a20202020202020206c65742064656c656761746f7250726f7879203d2073656c662e686f6c6465725265662e626f72726f7744656c656761746f7228290a0a202020202020202064656c656761746f7250726f78792e77697468647261775265776172646564546f6b656e7328616d6f756e743a20616d6f756e74290a202020202020202073656c662e7661756c745265662e6465706f7369742866726f6d3a203c2d73656c662e686f6c6465725265662e776974686472617728616d6f756e743a20616d6f756e7429290a202020207d0a7d0af1b07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", - "metadata": "02385042aa453566fcff0b2bd418b837d8f46fbc23b1b46e6651b25a395bc04be8239ffa449eae5560eec3e99633dcf9c63b1e9c99996d1c5636644dceef9ec44b576974686472617720526577617264656420464c4f57000101416d6f756e7400005546697836340003", - "hash": "385042aa453566fcff0b2bd418b837d8f46fbc23b1b46e6651b25a395bc04be8" + "encodedTransactionPayloadHex": "f9082bb906a1696d706f72742043727970746f0a696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f20437265617465732061206d616368696e65206163636f756e7420666f722061206e6f6465207468617420697320616c726561647920696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f20616e642061646473207075626c6963206b65797320746f20746865206e6577206163636f756e740a0a7472616e73616374696f6e286e6f646549443a20537472696e672c200a2020202020202020202020206d616368696e654163636f756e744b65793a20537472696e672c200a2020202020202020202020206d616368696e654163636f756e744b65795369676e6174757265416c676f726974686d3a2055496e74382c200a2020202020202020202020206d616368696e654163636f756e744b657948617368416c676f726974686d3a2055496e743829207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a206175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a206175746828426f72726f7756616c75652920264163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e73746f726167652e626f72726f773c6175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f2061205374616b696e67436f6c6c656374696f6e20696e20746865207072696d61727920757365722773206163636f756e7422290a0a20202020202020206966206c6574206d616368696e654163636f756e74203d2073656c662e7374616b696e67436f6c6c656374696f6e5265662e6372656174654d616368696e654163636f756e74466f724578697374696e674e6f6465286e6f646549443a206e6f646549442c2070617965723a206163636f756e7429207b0a2020202020202020202020206c657420736967416c676f203d205369676e6174757265416c676f726974686d2872617756616c75653a206d616368696e654163636f756e744b65795369676e6174757265416c676f726974686d290a202020202020202020202020202020203f3f2070616e69632822436f756c64206e6f74206765742061207369676e617475726520616c676f726974686d2066726f6d207468652072617720656e756d2076616c75652070726f766964656422290a0a2020202020202020202020206c65742068617368416c676f203d2048617368416c676f726974686d2872617756616c75653a206d616368696e654163636f756e744b657948617368416c676f726974686d290a202020202020202020202020202020203f3f2070616e69632822436f756c64206e6f74206765742061206861736820616c676f726974686d2066726f6d207468652072617720656e756d2076616c75652070726f766964656422290a2020202020202020202020200a2020202020202020202020206c6574207075626c69634b6579203d205075626c69634b6579280a090909202020207075626c69634b65793a206d616368696e654163636f756e744b65792e6465636f646548657828292c0a090909202020207369676e6174757265416c676f726974686d3a20736967416c676f0a090920202020290a2020202020202020202020206d616368696e654163636f756e742e6b6579732e616464287075626c69634b65793a207075626c69634b65792c2068617368416c676f726974686d3a2068617368416c676f2c207765696768743a20313030302e30290a20202020202020207d20656c7365207b0a20202020202020202020202070616e69632822436f756c64206e6f74206372656174652061206d616368696e65206163636f756e7420666f7220746865206e6f646522290a20202020202020207d0a202020207d0a7d0af90144b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db8aa7b2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634222c2274797065223a22537472696e67227d9c7b2276616c7565223a2231222c2274797065223a2255496e7438227d9c7b2276616c7565223a2231222c2274797065223a2255496e7438227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", + "encodedTransactionEnvelopeHex": "f9082ff9082bb906a1696d706f72742043727970746f0a696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f20437265617465732061206d616368696e65206163636f756e7420666f722061206e6f6465207468617420697320616c726561647920696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f20616e642061646473207075626c6963206b65797320746f20746865206e6577206163636f756e740a0a7472616e73616374696f6e286e6f646549443a20537472696e672c200a2020202020202020202020206d616368696e654163636f756e744b65793a20537472696e672c200a2020202020202020202020206d616368696e654163636f756e744b65795369676e6174757265416c676f726974686d3a2055496e74382c200a2020202020202020202020206d616368696e654163636f756e744b657948617368416c676f726974686d3a2055496e743829207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a206175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a206175746828426f72726f7756616c75652920264163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e73746f726167652e626f72726f773c6175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f2061205374616b696e67436f6c6c656374696f6e20696e20746865207072696d61727920757365722773206163636f756e7422290a0a20202020202020206966206c6574206d616368696e654163636f756e74203d2073656c662e7374616b696e67436f6c6c656374696f6e5265662e6372656174654d616368696e654163636f756e74466f724578697374696e674e6f6465286e6f646549443a206e6f646549442c2070617965723a206163636f756e7429207b0a2020202020202020202020206c657420736967416c676f203d205369676e6174757265416c676f726974686d2872617756616c75653a206d616368696e654163636f756e744b65795369676e6174757265416c676f726974686d290a202020202020202020202020202020203f3f2070616e69632822436f756c64206e6f74206765742061207369676e617475726520616c676f726974686d2066726f6d207468652072617720656e756d2076616c75652070726f766964656422290a0a2020202020202020202020206c65742068617368416c676f203d2048617368416c676f726974686d2872617756616c75653a206d616368696e654163636f756e744b657948617368416c676f726974686d290a202020202020202020202020202020203f3f2070616e69632822436f756c64206e6f74206765742061206861736820616c676f726974686d2066726f6d207468652072617720656e756d2076616c75652070726f766964656422290a2020202020202020202020200a2020202020202020202020206c6574207075626c69634b6579203d205075626c69634b6579280a090909202020207075626c69634b65793a206d616368696e654163636f756e744b65792e6465636f646548657828292c0a090909202020207369676e6174757265416c676f726974686d3a20736967416c676f0a090920202020290a2020202020202020202020206d616368696e654163636f756e742e6b6579732e616464287075626c69634b65793a207075626c69634b65792c2068617368416c676f726974686d3a2068617368416c676f2c207765696768743a20313030302e30290a20202020202020207d20656c7365207b0a20202020202020202020202070616e69632822436f756c64206e6f74206372656174652061206d616368696e65206163636f756e7420666f7220746865206e6f646522290a20202020202020207d0a202020207d0a7d0af90144b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db8aa7b2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634222c2274797065223a22537472696e67227d9c7b2276616c7565223a2231222c2274797065223a2255496e7438227d9c7b2276616c7565223a2231222c2274797065223a2255496e7438227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", + "metadata": "024c1ad61500bcd0d32d7aa7eb84ca9b7417219ed6d524e05de8c55fb7d50940e4f0a6cedb6703cd4ce4cc3b735e5edb5a7e5b17a87a725343d745e5d53b7c0a01437265617465204d616368696e65204163636f756e740004014e6f64652049440000537472696e670003014d41205075624b65790001537472696e670003014d412053416c67000255496e74380003014d412048416c67000355496e74380003", + "hash": "4c1ad61500bcd0d32d7aa7eb84ca9b7417219ed6d524e05de8c55fb7d50940e4" }, { - "title": "TH.25 - Update Networking Address", + "title": "SCO.05 - Request Unstaking - 1", "valid": true, "chainID": "Testnet", "payloadMessage": { - "script": "import FlowIDTableStaking from 0x9eca2b38b18b5dfe\n\ntransaction(newAddress: String) {\n\n // Local variable for a reference to the node object\n let stakerRef: &FlowIDTableStaking.NodeStaker\n\n prepare(acct: AuthAccount) {\n // borrow a reference to the node object\n self.stakerRef = acct.borrow<&FlowIDTableStaking.NodeStaker>(from: FlowIDTableStaking.NodeStakerStoragePath)\n ?? panic(\"Could not borrow reference to staking admin\")\n }\n\n execute {\n\n self.stakerRef.updateNetworkingAddress(newAddress)\n\n }\n}", + "script": "import FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// Requests unstaking for the specified node or delegator in the staking collection\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: auth(FlowStakingCollection.CollectionOwner) &FlowStakingCollection.StakingCollection\n\n prepare(account: auth(BorrowValue) &Account) {\n self.stakingCollectionRef = account.storage.borrow(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow a reference to a StakingCollection in the primary user's account\")\n }\n\n execute {\n self.stakingCollectionRef.requestUnstaking(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", "arguments": [ { "type": "String", - "value": "flow-node.test:3569" + "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" + }, + { + "value": null, + "type": "Optional" + }, + { + "value": "92233720368.54775808", + "type": "UFix64" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -978,11 +1028,19 @@ ] }, "envelopeMessage": { - "script": "import FlowIDTableStaking from 0x9eca2b38b18b5dfe\n\ntransaction(newAddress: String) {\n\n // Local variable for a reference to the node object\n let stakerRef: &FlowIDTableStaking.NodeStaker\n\n prepare(acct: AuthAccount) {\n // borrow a reference to the node object\n self.stakerRef = acct.borrow<&FlowIDTableStaking.NodeStaker>(from: FlowIDTableStaking.NodeStakerStoragePath)\n ?? panic(\"Could not borrow reference to staking admin\")\n }\n\n execute {\n\n self.stakerRef.updateNetworkingAddress(newAddress)\n\n }\n}", + "script": "import FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// Requests unstaking for the specified node or delegator in the staking collection\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: auth(FlowStakingCollection.CollectionOwner) &FlowStakingCollection.StakingCollection\n\n prepare(account: auth(BorrowValue) &Account) {\n self.stakingCollectionRef = account.storage.borrow(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow a reference to a StakingCollection in the primary user's account\")\n }\n\n execute {\n self.stakingCollectionRef.requestUnstaking(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", "arguments": [ { "type": "String", - "value": "flow-node.test:3569" + "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" + }, + { + "value": null, + "type": "Optional" + }, + { + "value": "92233720368.54775808", + "type": "UFix64" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -998,18 +1056,34 @@ ], "payloadSigs": [] }, - "encodedTransactionPayloadHex": "f9029ab90226696d706f727420466c6f7749445461626c655374616b696e672066726f6d203078396563613262333862313862356466650a0a7472616e73616374696f6e286e6577416464726573733a20537472696e6729207b0a0a202020202f2f204c6f63616c207661726961626c6520666f722061207265666572656e636520746f20746865206e6f6465206f626a6563740a202020206c6574207374616b65725265663a2026466c6f7749445461626c655374616b696e672e4e6f64655374616b65720a0a202020207072657061726528616363743a20417574684163636f756e7429207b0a20202020202020202f2f20626f72726f772061207265666572656e636520746f20746865206e6f6465206f626a6563740a202020202020202073656c662e7374616b6572526566203d20616363742e626f72726f773c26466c6f7749445461626c655374616b696e672e4e6f64655374616b65723e2866726f6d3a20466c6f7749445461626c655374616b696e672e4e6f64655374616b657253746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f207374616b696e672061646d696e22290a202020207d0a0a2020202065786563757465207b0a0a202020202020202073656c662e7374616b65725265662e7570646174654e6574776f726b696e6741646472657373286e657741646472657373290a0a202020207d0a7df0af7b2274797065223a22537472696e67222c2276616c7565223a22666c6f772d6e6f64652e746573743a33353639227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", - "encodedTransactionEnvelopeHex": "f9029ef9029ab90226696d706f727420466c6f7749445461626c655374616b696e672066726f6d203078396563613262333862313862356466650a0a7472616e73616374696f6e286e6577416464726573733a20537472696e6729207b0a0a202020202f2f204c6f63616c207661726961626c6520666f722061207265666572656e636520746f20746865206e6f6465206f626a6563740a202020206c6574207374616b65725265663a2026466c6f7749445461626c655374616b696e672e4e6f64655374616b65720a0a202020207072657061726528616363743a20417574684163636f756e7429207b0a20202020202020202f2f20626f72726f772061207265666572656e636520746f20746865206e6f6465206f626a6563740a202020202020202073656c662e7374616b6572526566203d20616363742e626f72726f773c26466c6f7749445461626c655374616b696e672e4e6f64655374616b65723e2866726f6d3a20466c6f7749445461626c655374616b696e672e4e6f64655374616b657253746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f207374616b696e672061646d696e22290a202020207d0a0a2020202065786563757465207b0a0a202020202020202073656c662e7374616b65725265662e7570646174654e6574776f726b696e6741646472657373286e657741646472657373290a0a202020207d0a7df0af7b2274797065223a22537472696e67222c2276616c7565223a22666c6f772d6e6f64652e746573743a33353639227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", - "metadata": "026cbe81c71d2b04dc403ea0db89377f0abc5db14d3d2bd014397b2776aa29bc3ee79cb076f2f7da7a3039b5061916e081a823087f1560bdf3caea773992892873557064617465204e6574776f726b696e672041646472657373000101416464726573730000537472696e670003", - "hash": "6cbe81c71d2b04dc403ea0db89377f0abc5db14d3d2bd014397b2776aa29bc3e" + "encodedTransactionPayloadHex": "f90430b9033b696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f20526571756573747320756e7374616b696e6720666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a206175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a206175746828426f72726f7756616c75652920264163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e73746f726167652e626f72726f773c6175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f2061205374616b696e67436f6c6c656374696f6e20696e20746865207072696d61727920757365722773206163636f756e7422290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e72657175657374556e7374616b696e67286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8b0b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227da07b2276616c7565223a6e756c6c2c2274797065223a224f7074696f6e616c227db07b2276616c7565223a2239323233333732303336382e3534373735383038222c2274797065223a22554669783634227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", + "encodedTransactionEnvelopeHex": "f90434f90430b9033b696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f20526571756573747320756e7374616b696e6720666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a206175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a206175746828426f72726f7756616c75652920264163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e73746f726167652e626f72726f773c6175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f2061205374616b696e67436f6c6c656374696f6e20696e20746865207072696d61727920757365722773206163636f756e7422290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e72657175657374556e7374616b696e67286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8b0b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227da07b2276616c7565223a6e756c6c2c2274797065223a224f7074696f6e616c227db07b2276616c7565223a2239323233333732303336382e3534373735383038222c2274797065223a22554669783634227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", + "metadata": "022d59f2c2c402f919c8dba30009e31480d54e2b250d2e10456e1ff029bd7cce99f26c058a127500fcd8445ba9fcf55149fe8f1a1a7cd212688d13fcd6ee2765295265717565737420556e7374616b696e670003014e6f64652049440000537472696e6700030244656c656761746f72204944000155496e743332000301416d6f756e7400025546697836340003", + "hash": "2d59f2c2c402f919c8dba30009e31480d54e2b250d2e10456e1ff029bd7cce99" }, { - "title": "SCO.01 - Setup Staking Collection", + "title": "SCO.05 - Request Unstaking - 2", "valid": true, "chainID": "Testnet", "payloadMessage": { - "script": "import FungibleToken from 0x9a0766d93b6608b7\nimport FlowToken from 0x7e60df042a9c0868\nimport FlowIDTableStaking from 0x9eca2b38b18b5dfe\nimport LockedTokens from 0x95e019a17d0e23d7\nimport FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// This transaction sets up an account to use a staking collection\n/// It will work regardless of whether they have a regular account, a two-account locked tokens setup,\n/// or staking objects stored in the unlocked account\n\ntransaction {\n prepare(signer: AuthAccount) {\n\n // If there isn't already a staking collection\n if signer.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath) == nil {\n\n // Create private capabilities for the token holder and unlocked vault\n let lockedHolder = signer.link<&LockedTokens.TokenHolder>(/private/flowTokenHolder, target: LockedTokens.TokenHolderStoragePath)!\n let flowToken = signer.link<&FlowToken.Vault>(/private/flowTokenVault, target: /storage/flowTokenVault)!\n \n // Create a new Staking Collection and put it in storage\n if lockedHolder.check() {\n signer.save(<-FlowStakingCollection.createStakingCollection(unlockedVault: flowToken, tokenHolder: lockedHolder), to: FlowStakingCollection.StakingCollectionStoragePath)\n } else {\n signer.save(<-FlowStakingCollection.createStakingCollection(unlockedVault: flowToken, tokenHolder: nil), to: FlowStakingCollection.StakingCollectionStoragePath)\n }\n\n // Create a public link to the staking collection\n signer.link<&FlowStakingCollection.StakingCollection{FlowStakingCollection.StakingCollectionPublic}>(\n FlowStakingCollection.StakingCollectionPublicPath,\n target: FlowStakingCollection.StakingCollectionStoragePath\n )\n }\n\n // borrow a reference to the staking collection\n let collectionRef = signer.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow staking collection reference\")\n\n // If there is a node staker object in the account, put it in the staking collection\n if signer.borrow<&FlowIDTableStaking.NodeStaker>(from: FlowIDTableStaking.NodeStakerStoragePath) != nil {\n let node <- signer.load<@FlowIDTableStaking.NodeStaker>(from: FlowIDTableStaking.NodeStakerStoragePath)!\n collectionRef.addNodeObject(<-node, machineAccountInfo: nil)\n }\n\n // If there is a delegator object in the account, put it in the staking collection\n if signer.borrow<&FlowIDTableStaking.NodeDelegator>(from: FlowIDTableStaking.DelegatorStoragePath) != nil {\n let delegator <- signer.load<@FlowIDTableStaking.NodeDelegator>(from: FlowIDTableStaking.DelegatorStoragePath)!\n collectionRef.addDelegatorObject(<-delegator)\n }\n }\n}\n", - "arguments": [], + "script": "import FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// Requests unstaking for the specified node or delegator in the staking collection\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: auth(FlowStakingCollection.CollectionOwner) &FlowStakingCollection.StakingCollection\n\n prepare(account: auth(BorrowValue) &Account) {\n self.stakingCollectionRef = account.storage.borrow(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow a reference to a StakingCollection in the primary user's account\")\n }\n\n execute {\n self.stakingCollectionRef.requestUnstaking(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", + "arguments": [ + { + "type": "String", + "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" + }, + { + "value": { + "value": "42", + "type": "UInt32" + }, + "type": "Optional" + }, + { + "value": "92233720368.54775808", + "type": "UFix64" + } + ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", "gasLimit": 42, "proposalKey": { @@ -1023,8 +1097,24 @@ ] }, "envelopeMessage": { - "script": "import FungibleToken from 0x9a0766d93b6608b7\nimport FlowToken from 0x7e60df042a9c0868\nimport FlowIDTableStaking from 0x9eca2b38b18b5dfe\nimport LockedTokens from 0x95e019a17d0e23d7\nimport FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// This transaction sets up an account to use a staking collection\n/// It will work regardless of whether they have a regular account, a two-account locked tokens setup,\n/// or staking objects stored in the unlocked account\n\ntransaction {\n prepare(signer: AuthAccount) {\n\n // If there isn't already a staking collection\n if signer.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath) == nil {\n\n // Create private capabilities for the token holder and unlocked vault\n let lockedHolder = signer.link<&LockedTokens.TokenHolder>(/private/flowTokenHolder, target: LockedTokens.TokenHolderStoragePath)!\n let flowToken = signer.link<&FlowToken.Vault>(/private/flowTokenVault, target: /storage/flowTokenVault)!\n \n // Create a new Staking Collection and put it in storage\n if lockedHolder.check() {\n signer.save(<-FlowStakingCollection.createStakingCollection(unlockedVault: flowToken, tokenHolder: lockedHolder), to: FlowStakingCollection.StakingCollectionStoragePath)\n } else {\n signer.save(<-FlowStakingCollection.createStakingCollection(unlockedVault: flowToken, tokenHolder: nil), to: FlowStakingCollection.StakingCollectionStoragePath)\n }\n\n // Create a public link to the staking collection\n signer.link<&FlowStakingCollection.StakingCollection{FlowStakingCollection.StakingCollectionPublic}>(\n FlowStakingCollection.StakingCollectionPublicPath,\n target: FlowStakingCollection.StakingCollectionStoragePath\n )\n }\n\n // borrow a reference to the staking collection\n let collectionRef = signer.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow staking collection reference\")\n\n // If there is a node staker object in the account, put it in the staking collection\n if signer.borrow<&FlowIDTableStaking.NodeStaker>(from: FlowIDTableStaking.NodeStakerStoragePath) != nil {\n let node <- signer.load<@FlowIDTableStaking.NodeStaker>(from: FlowIDTableStaking.NodeStakerStoragePath)!\n collectionRef.addNodeObject(<-node, machineAccountInfo: nil)\n }\n\n // If there is a delegator object in the account, put it in the staking collection\n if signer.borrow<&FlowIDTableStaking.NodeDelegator>(from: FlowIDTableStaking.DelegatorStoragePath) != nil {\n let delegator <- signer.load<@FlowIDTableStaking.NodeDelegator>(from: FlowIDTableStaking.DelegatorStoragePath)!\n collectionRef.addDelegatorObject(<-delegator)\n }\n }\n}\n", - "arguments": [], + "script": "import FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// Requests unstaking for the specified node or delegator in the staking collection\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: auth(FlowStakingCollection.CollectionOwner) &FlowStakingCollection.StakingCollection\n\n prepare(account: auth(BorrowValue) &Account) {\n self.stakingCollectionRef = account.storage.borrow(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow a reference to a StakingCollection in the primary user's account\")\n }\n\n execute {\n self.stakingCollectionRef.requestUnstaking(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", + "arguments": [ + { + "type": "String", + "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" + }, + { + "value": { + "value": "42", + "type": "UInt32" + }, + "type": "Optional" + }, + { + "value": "92233720368.54775808", + "type": "UFix64" + } + ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", "gasLimit": 42, "proposalKey": { @@ -1038,25 +1128,29 @@ ], "payloadSigs": [] }, - "encodedTransactionPayloadHex": "f90bf0b90bac696d706f72742046756e6769626c65546f6b656e2066726f6d203078396130373636643933623636303862370a696d706f727420466c6f77546f6b656e2066726f6d203078376536306466303432613963303836380a696d706f727420466c6f7749445461626c655374616b696e672066726f6d203078396563613262333862313862356466650a696d706f7274204c6f636b6564546f6b656e732066726f6d203078393565303139613137643065323364370a696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f2054686973207472616e73616374696f6e207365747320757020616e206163636f756e7420746f207573652061207374616b696e6720636f6c6c656374696f6e0a2f2f2f2049742077696c6c20776f726b207265676172646c657373206f66207768657468657220746865792068617665206120726567756c6172206163636f756e742c20612074776f2d6163636f756e74206c6f636b656420746f6b656e732073657475702c0a2f2f2f206f72207374616b696e67206f626a656374732073746f72656420696e2074686520756e6c6f636b6564206163636f756e740a0a7472616e73616374696f6e207b0a2020202070726570617265287369676e65723a20417574684163636f756e7429207b0a0a20202020202020202f2f2049662074686572652069736e277420616c72656164792061207374616b696e6720636f6c6c656374696f6e0a20202020202020206966207369676e65722e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f726167655061746829203d3d206e696c207b0a0a2020202020202020202020202f2f204372656174652070726976617465206361706162696c697469657320666f722074686520746f6b656e20686f6c64657220616e6420756e6c6f636b6564207661756c740a2020202020202020202020206c6574206c6f636b6564486f6c646572203d207369676e65722e6c696e6b3c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e282f707269766174652f666c6f77546f6b656e486f6c6465722c207461726765743a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f726167655061746829210a2020202020202020202020206c657420666c6f77546f6b656e203d207369676e65722e6c696e6b3c26466c6f77546f6b656e2e5661756c743e282f707269766174652f666c6f77546f6b656e5661756c742c207461726765743a202f73746f726167652f666c6f77546f6b656e5661756c7429210a2020202020202020202020200a2020202020202020202020202f2f204372656174652061206e6577205374616b696e6720436f6c6c656374696f6e20616e642070757420697420696e2073746f726167650a2020202020202020202020206966206c6f636b6564486f6c6465722e636865636b2829207b0a202020202020202020202020202020207369676e65722e73617665283c2d466c6f775374616b696e67436f6c6c656374696f6e2e6372656174655374616b696e67436f6c6c656374696f6e28756e6c6f636b65645661756c743a20666c6f77546f6b656e2c20746f6b656e486f6c6465723a206c6f636b6564486f6c646572292c20746f3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020207d20656c7365207b0a202020202020202020202020202020207369676e65722e73617665283c2d466c6f775374616b696e67436f6c6c656374696f6e2e6372656174655374616b696e67436f6c6c656374696f6e28756e6c6f636b65645661756c743a20666c6f77546f6b656e2c20746f6b656e486f6c6465723a206e696c292c20746f3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020207d0a0a2020202020202020202020202f2f204372656174652061207075626c6963206c696e6b20746f20746865207374616b696e6720636f6c6c656374696f6e0a2020202020202020202020207369676e65722e6c696e6b3c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e7b466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e5075626c69637d3e280a20202020202020202020202020202020466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e5075626c6963506174682c0a202020202020202020202020202020207461726765743a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f72616765506174680a202020202020202020202020290a20202020202020207d0a0a20202020202020202f2f20626f72726f772061207265666572656e636520746f20746865207374616b696e6720636f6c6c656374696f6e0a20202020202020206c657420636f6c6c656374696f6e526566203d207369676e65722e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207374616b696e6720636f6c6c656374696f6e207265666572656e636522290a0a20202020202020202f2f2049662074686572652069732061206e6f6465207374616b6572206f626a65637420696e20746865206163636f756e742c2070757420697420696e20746865207374616b696e6720636f6c6c656374696f6e0a20202020202020206966207369676e65722e626f72726f773c26466c6f7749445461626c655374616b696e672e4e6f64655374616b65723e2866726f6d3a20466c6f7749445461626c655374616b696e672e4e6f64655374616b657253746f72616765506174682920213d206e696c207b0a2020202020202020202020206c6574206e6f6465203c2d207369676e65722e6c6f61643c40466c6f7749445461626c655374616b696e672e4e6f64655374616b65723e2866726f6d3a20466c6f7749445461626c655374616b696e672e4e6f64655374616b657253746f726167655061746829210a202020202020202020202020636f6c6c656374696f6e5265662e6164644e6f64654f626a656374283c2d6e6f64652c206d616368696e654163636f756e74496e666f3a206e696c290a20202020202020207d0a0a20202020202020202f2f20496620746865726520697320612064656c656761746f72206f626a65637420696e20746865206163636f756e742c2070757420697420696e20746865207374616b696e6720636f6c6c656374696f6e0a20202020202020206966207369676e65722e626f72726f773c26466c6f7749445461626c655374616b696e672e4e6f646544656c656761746f723e2866726f6d3a20466c6f7749445461626c655374616b696e672e44656c656761746f7253746f72616765506174682920213d206e696c207b0a2020202020202020202020206c65742064656c656761746f72203c2d207369676e65722e6c6f61643c40466c6f7749445461626c655374616b696e672e4e6f646544656c656761746f723e2866726f6d3a20466c6f7749445461626c655374616b696e672e44656c656761746f7253746f726167655061746829210a202020202020202020202020636f6c6c656374696f6e5265662e61646444656c656761746f724f626a656374283c2d64656c656761746f72290a20202020202020207d0a202020207d0a7d0ac0a0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", - "encodedTransactionEnvelopeHex": "f90bf4f90bf0b90bac696d706f72742046756e6769626c65546f6b656e2066726f6d203078396130373636643933623636303862370a696d706f727420466c6f77546f6b656e2066726f6d203078376536306466303432613963303836380a696d706f727420466c6f7749445461626c655374616b696e672066726f6d203078396563613262333862313862356466650a696d706f7274204c6f636b6564546f6b656e732066726f6d203078393565303139613137643065323364370a696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f2054686973207472616e73616374696f6e207365747320757020616e206163636f756e7420746f207573652061207374616b696e6720636f6c6c656374696f6e0a2f2f2f2049742077696c6c20776f726b207265676172646c657373206f66207768657468657220746865792068617665206120726567756c6172206163636f756e742c20612074776f2d6163636f756e74206c6f636b656420746f6b656e732073657475702c0a2f2f2f206f72207374616b696e67206f626a656374732073746f72656420696e2074686520756e6c6f636b6564206163636f756e740a0a7472616e73616374696f6e207b0a2020202070726570617265287369676e65723a20417574684163636f756e7429207b0a0a20202020202020202f2f2049662074686572652069736e277420616c72656164792061207374616b696e6720636f6c6c656374696f6e0a20202020202020206966207369676e65722e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f726167655061746829203d3d206e696c207b0a0a2020202020202020202020202f2f204372656174652070726976617465206361706162696c697469657320666f722074686520746f6b656e20686f6c64657220616e6420756e6c6f636b6564207661756c740a2020202020202020202020206c6574206c6f636b6564486f6c646572203d207369676e65722e6c696e6b3c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e282f707269766174652f666c6f77546f6b656e486f6c6465722c207461726765743a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f726167655061746829210a2020202020202020202020206c657420666c6f77546f6b656e203d207369676e65722e6c696e6b3c26466c6f77546f6b656e2e5661756c743e282f707269766174652f666c6f77546f6b656e5661756c742c207461726765743a202f73746f726167652f666c6f77546f6b656e5661756c7429210a2020202020202020202020200a2020202020202020202020202f2f204372656174652061206e6577205374616b696e6720436f6c6c656374696f6e20616e642070757420697420696e2073746f726167650a2020202020202020202020206966206c6f636b6564486f6c6465722e636865636b2829207b0a202020202020202020202020202020207369676e65722e73617665283c2d466c6f775374616b696e67436f6c6c656374696f6e2e6372656174655374616b696e67436f6c6c656374696f6e28756e6c6f636b65645661756c743a20666c6f77546f6b656e2c20746f6b656e486f6c6465723a206c6f636b6564486f6c646572292c20746f3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020207d20656c7365207b0a202020202020202020202020202020207369676e65722e73617665283c2d466c6f775374616b696e67436f6c6c656374696f6e2e6372656174655374616b696e67436f6c6c656374696f6e28756e6c6f636b65645661756c743a20666c6f77546f6b656e2c20746f6b656e486f6c6465723a206e696c292c20746f3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020207d0a0a2020202020202020202020202f2f204372656174652061207075626c6963206c696e6b20746f20746865207374616b696e6720636f6c6c656374696f6e0a2020202020202020202020207369676e65722e6c696e6b3c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e7b466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e5075626c69637d3e280a20202020202020202020202020202020466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e5075626c6963506174682c0a202020202020202020202020202020207461726765743a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f72616765506174680a202020202020202020202020290a20202020202020207d0a0a20202020202020202f2f20626f72726f772061207265666572656e636520746f20746865207374616b696e6720636f6c6c656374696f6e0a20202020202020206c657420636f6c6c656374696f6e526566203d207369676e65722e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207374616b696e6720636f6c6c656374696f6e207265666572656e636522290a0a20202020202020202f2f2049662074686572652069732061206e6f6465207374616b6572206f626a65637420696e20746865206163636f756e742c2070757420697420696e20746865207374616b696e6720636f6c6c656374696f6e0a20202020202020206966207369676e65722e626f72726f773c26466c6f7749445461626c655374616b696e672e4e6f64655374616b65723e2866726f6d3a20466c6f7749445461626c655374616b696e672e4e6f64655374616b657253746f72616765506174682920213d206e696c207b0a2020202020202020202020206c6574206e6f6465203c2d207369676e65722e6c6f61643c40466c6f7749445461626c655374616b696e672e4e6f64655374616b65723e2866726f6d3a20466c6f7749445461626c655374616b696e672e4e6f64655374616b657253746f726167655061746829210a202020202020202020202020636f6c6c656374696f6e5265662e6164644e6f64654f626a656374283c2d6e6f64652c206d616368696e654163636f756e74496e666f3a206e696c290a20202020202020207d0a0a20202020202020202f2f20496620746865726520697320612064656c656761746f72206f626a65637420696e20746865206163636f756e742c2070757420697420696e20746865207374616b696e6720636f6c6c656374696f6e0a20202020202020206966207369676e65722e626f72726f773c26466c6f7749445461626c655374616b696e672e4e6f646544656c656761746f723e2866726f6d3a20466c6f7749445461626c655374616b696e672e44656c656761746f7253746f72616765506174682920213d206e696c207b0a2020202020202020202020206c65742064656c656761746f72203c2d207369676e65722e6c6f61643c40466c6f7749445461626c655374616b696e672e4e6f646544656c656761746f723e2866726f6d3a20466c6f7749445461626c655374616b696e672e44656c656761746f7253746f726167655061746829210a202020202020202020202020636f6c6c656374696f6e5265662e61646444656c656761746f724f626a656374283c2d64656c656761746f72290a20202020202020207d0a202020207d0a7d0ac0a0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", - "metadata": "02a524b4094fcaf1051dbf43ac33ff80bb2f553670c58eeeb719757972a25d6b500e5c2445c0b1016eed4f60c429f233aa0bb223a0d9ff2aedffce00a58037a2bf5365747570205374616b696e6720436f6c6c656374696f6e0000", - "hash": "a524b4094fcaf1051dbf43ac33ff80bb2f553670c58eeeb719757972a25d6b50" + "encodedTransactionPayloadHex": "f9044bb9033b696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f20526571756573747320756e7374616b696e6720666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a206175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a206175746828426f72726f7756616c75652920264163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e73746f726167652e626f72726f773c6175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f2061205374616b696e67436f6c6c656374696f6e20696e20746865207072696d61727920757365722773206163636f756e7422290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e72657175657374556e7374616b696e67286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8cbb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db83a7b2276616c7565223a7b2276616c7565223a223432222c2274797065223a2255496e743332227d2c2274797065223a224f7074696f6e616c227db07b2276616c7565223a2239323233333732303336382e3534373735383038222c2274797065223a22554669783634227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", + "encodedTransactionEnvelopeHex": "f9044ff9044bb9033b696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f20526571756573747320756e7374616b696e6720666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a206175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a206175746828426f72726f7756616c75652920264163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e73746f726167652e626f72726f773c6175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f2061205374616b696e67436f6c6c656374696f6e20696e20746865207072696d61727920757365722773206163636f756e7422290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e72657175657374556e7374616b696e67286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8cbb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db83a7b2276616c7565223a7b2276616c7565223a223432222c2274797065223a2255496e743332227d2c2274797065223a224f7074696f6e616c227db07b2276616c7565223a2239323233333732303336382e3534373735383038222c2274797065223a22554669783634227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", + "metadata": "022d59f2c2c402f919c8dba30009e31480d54e2b250d2e10456e1ff029bd7cce99f26c058a127500fcd8445ba9fcf55149fe8f1a1a7cd212688d13fcd6ee2765295265717565737420556e7374616b696e670003014e6f64652049440000537472696e6700030244656c656761746f72204944000155496e743332000301416d6f756e7400025546697836340003", + "hash": "2d59f2c2c402f919c8dba30009e31480d54e2b250d2e10456e1ff029bd7cce99" }, { - "title": "SCO.02 - Register Delegator", + "title": "SCO.06 - Stake New Tokens - 1", "valid": true, "chainID": "Testnet", "payloadMessage": { - "script": "import FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// Registers a delegator in the staking collection resource\n/// for the specified nodeID and the amount of tokens to commit\n\ntransaction(id: String, amount: UFix64) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n }\n\n execute {\n self.stakingCollectionRef.registerDelegator(nodeID: id, amount: amount) \n }\n}\n", + "script": "import FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// Commits new tokens to stake for the specified node or delegator in the staking collection\n/// The tokens from the locked vault are used first, if it exists\n/// followed by the tokens from the unlocked vault\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: auth(FlowStakingCollection.CollectionOwner) &FlowStakingCollection.StakingCollection\n\n prepare(account: auth(BorrowValue) &Account) {\n self.stakingCollectionRef = account.storage.borrow(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow a reference to a StakingCollection in the primary user's account\")\n }\n\n execute {\n self.stakingCollectionRef.stakeNewTokens(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", "arguments": [ { "type": "String", "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" }, { - "type": "UFix64", - "value": "92233720368.54775808" + "value": null, + "type": "Optional" + }, + { + "value": "92233720368.54775808", + "type": "UFix64" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -1072,15 +1166,19 @@ ] }, "envelopeMessage": { - "script": "import FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// Registers a delegator in the staking collection resource\n/// for the specified nodeID and the amount of tokens to commit\n\ntransaction(id: String, amount: UFix64) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n }\n\n execute {\n self.stakingCollectionRef.registerDelegator(nodeID: id, amount: amount) \n }\n}\n", + "script": "import FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// Commits new tokens to stake for the specified node or delegator in the staking collection\n/// The tokens from the locked vault are used first, if it exists\n/// followed by the tokens from the unlocked vault\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: auth(FlowStakingCollection.CollectionOwner) &FlowStakingCollection.StakingCollection\n\n prepare(account: auth(BorrowValue) &Account) {\n self.stakingCollectionRef = account.storage.borrow(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow a reference to a StakingCollection in the primary user's account\")\n }\n\n execute {\n self.stakingCollectionRef.stakeNewTokens(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", "arguments": [ { "type": "String", "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" }, { - "type": "UFix64", - "value": "92233720368.54775808" + "value": null, + "type": "Optional" + }, + { + "value": "92233720368.54775808", + "type": "UFix64" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -1096,25 +1194,32 @@ ], "payloadSigs": [] }, - "encodedTransactionPayloadHex": "f9036fb9029b696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f2052656769737465727320612064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e207265736f757263650a2f2f2f20666f722074686520737065636966696564206e6f6465494420616e642074686520616d6f756e74206f6620746f6b656e7320746f20636f6d6d69740a0a7472616e73616374696f6e2869643a20537472696e672c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e726567697374657244656c656761746f72286e6f646549443a2069642c20616d6f756e743a20616d6f756e74292020202020200a202020207d0a7d0af88fb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", - "encodedTransactionEnvelopeHex": "f90373f9036fb9029b696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f2052656769737465727320612064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e207265736f757263650a2f2f2f20666f722074686520737065636966696564206e6f6465494420616e642074686520616d6f756e74206f6620746f6b656e7320746f20636f6d6d69740a0a7472616e73616374696f6e2869643a20537472696e672c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e726567697374657244656c656761746f72286e6f646549443a2069642c20616d6f756e743a20616d6f756e74292020202020200a202020207d0a7d0af88fb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", - "metadata": "02c26f69a33ead535e7d597cec4567c6c70170e86fd85ec708f5381e50d43871e2c5636d510872a16eb06996dacb43d6a28f8f72ff1b05b2eb03416cc711d9bb1f52656769737465722044656c656761746f720002014e6f64652049440000537472696e67000301416d6f756e7400015546697836340003", - "hash": "c26f69a33ead535e7d597cec4567c6c70170e86fd85ec708f5381e50d43871e2" + "encodedTransactionPayloadHex": "f904acb903b7696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f20436f6d6d697473206e657720746f6b656e7320746f207374616b6520666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f2054686520746f6b656e732066726f6d20746865206c6f636b6564207661756c742061726520757365642066697273742c206966206974206578697374730a2f2f2f20666f6c6c6f7765642062792074686520746f6b656e732066726f6d2074686520756e6c6f636b6564207661756c740a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a206175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a206175746828426f72726f7756616c75652920264163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e73746f726167652e626f72726f773c6175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f2061205374616b696e67436f6c6c656374696f6e20696e20746865207072696d61727920757365722773206163636f756e7422290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e7374616b654e6577546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8b0b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227da07b2276616c7565223a6e756c6c2c2274797065223a224f7074696f6e616c227db07b2276616c7565223a2239323233333732303336382e3534373735383038222c2274797065223a22554669783634227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", + "encodedTransactionEnvelopeHex": "f904b0f904acb903b7696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f20436f6d6d697473206e657720746f6b656e7320746f207374616b6520666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f2054686520746f6b656e732066726f6d20746865206c6f636b6564207661756c742061726520757365642066697273742c206966206974206578697374730a2f2f2f20666f6c6c6f7765642062792074686520746f6b656e732066726f6d2074686520756e6c6f636b6564207661756c740a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a206175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a206175746828426f72726f7756616c75652920264163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e73746f726167652e626f72726f773c6175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f2061205374616b696e67436f6c6c656374696f6e20696e20746865207072696d61727920757365722773206163636f756e7422290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e7374616b654e6577546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8b0b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227da07b2276616c7565223a6e756c6c2c2274797065223a224f7074696f6e616c227db07b2276616c7565223a2239323233333732303336382e3534373735383038222c2274797065223a22554669783634227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", + "metadata": "02cf2b03950077352487e6344ab65edc3e1856731ab9cf68aa2ebbe279ae496d4b4c0658934352486097cc89fa06b98bac21e514770fc6a4d70a7adc4bec6d711d5374616b65204e657720546f6b656e730003014e6f64652049440000537472696e6700030244656c656761746f72204944000155496e743332000301416d6f756e7400025546697836340003", + "hash": "cf2b03950077352487e6344ab65edc3e1856731ab9cf68aa2ebbe279ae496d4b" }, { - "title": "SCO.04 - Create Machine Account - 1", + "title": "SCO.06 - Stake New Tokens - 2", "valid": true, "chainID": "Testnet", "payloadMessage": { - "script": "import FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// Creates a machine account for a node that is already in the staking collection\n/// and adds public keys to the new account\n\ntransaction(nodeID: String, publicKeys: [String]) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n\n if let machineAccount = self.stakingCollectionRef.createMachineAccountForExistingNode(nodeID: nodeID, payer: account) {\n if publicKeys == nil || publicKeys!.length == 0 {\n panic(\"Cannot provide zero keys for the machine account\")\n }\n for key in publicKeys! {\n machineAccount.addPublicKey(key.decodeHex())\n }\n } else {\n panic(\"Could not create a machine account for the node\")\n }\n }\n}\n", + "script": "import FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// Commits new tokens to stake for the specified node or delegator in the staking collection\n/// The tokens from the locked vault are used first, if it exists\n/// followed by the tokens from the unlocked vault\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: auth(FlowStakingCollection.CollectionOwner) &FlowStakingCollection.StakingCollection\n\n prepare(account: auth(BorrowValue) &Account) {\n self.stakingCollectionRef = account.storage.borrow(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow a reference to a StakingCollection in the primary user's account\")\n }\n\n execute {\n self.stakingCollectionRef.stakeNewTokens(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", "arguments": [ { "type": "String", "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" }, { - "type": "Array", - "value": [] + "value": { + "value": "42", + "type": "UInt32" + }, + "type": "Optional" + }, + { + "value": "92233720368.54775808", + "type": "UFix64" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -1130,15 +1235,22 @@ ] }, "envelopeMessage": { - "script": "import FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// Creates a machine account for a node that is already in the staking collection\n/// and adds public keys to the new account\n\ntransaction(nodeID: String, publicKeys: [String]) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n\n if let machineAccount = self.stakingCollectionRef.createMachineAccountForExistingNode(nodeID: nodeID, payer: account) {\n if publicKeys == nil || publicKeys!.length == 0 {\n panic(\"Cannot provide zero keys for the machine account\")\n }\n for key in publicKeys! {\n machineAccount.addPublicKey(key.decodeHex())\n }\n } else {\n panic(\"Could not create a machine account for the node\")\n }\n }\n}\n", + "script": "import FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// Commits new tokens to stake for the specified node or delegator in the staking collection\n/// The tokens from the locked vault are used first, if it exists\n/// followed by the tokens from the unlocked vault\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: auth(FlowStakingCollection.CollectionOwner) &FlowStakingCollection.StakingCollection\n\n prepare(account: auth(BorrowValue) &Account) {\n self.stakingCollectionRef = account.storage.borrow(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow a reference to a StakingCollection in the primary user's account\")\n }\n\n execute {\n self.stakingCollectionRef.stakeNewTokens(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", "arguments": [ { "type": "String", "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" }, { - "type": "Array", - "value": [] + "value": { + "value": "42", + "type": "UInt32" + }, + "type": "Optional" + }, + { + "value": "92233720368.54775808", + "type": "UFix64" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -1154,30 +1266,29 @@ ], "payloadSigs": [] }, - "encodedTransactionPayloadHex": "f904e2b90423696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f20437265617465732061206d616368696e65206163636f756e7420666f722061206e6f6465207468617420697320616c726561647920696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f20616e642061646473207075626c6963206b65797320746f20746865206e6577206163636f756e740a0a7472616e73616374696f6e286e6f646549443a20537472696e672c207075626c69634b6579733a205b537472696e675d29207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a0a20202020202020206966206c6574206d616368696e654163636f756e74203d2073656c662e7374616b696e67436f6c6c656374696f6e5265662e6372656174654d616368696e654163636f756e74466f724578697374696e674e6f6465286e6f646549443a206e6f646549442c2070617965723a206163636f756e7429207b0a2020202020202020202020206966207075626c69634b657973203d3d206e696c207c7c207075626c69634b657973212e6c656e677468203d3d2030207b0a2020202020202020202020202020202070616e6963282243616e6e6f742070726f76696465207a65726f206b65797320666f7220746865206d616368696e65206163636f756e7422290a2020202020202020202020207d0a202020202020202020202020666f72206b657920696e207075626c69634b65797321207b0a202020202020202020202020202020206d616368696e654163636f756e742e6164645075626c69634b6579286b65792e6465636f64654865782829290a2020202020202020202020207d0a20202020202020207d20656c7365207b0a20202020202020202020202070616e69632822436f756c64206e6f74206372656174652061206d616368696e65206163636f756e7420666f7220746865206e6f646522290a20202020202020207d0a202020207d0a7d0af87ab85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227d9b7b2274797065223a224172726179222c2276616c7565223a5b5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", - "encodedTransactionEnvelopeHex": "f904e6f904e2b90423696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f20437265617465732061206d616368696e65206163636f756e7420666f722061206e6f6465207468617420697320616c726561647920696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f20616e642061646473207075626c6963206b65797320746f20746865206e6577206163636f756e740a0a7472616e73616374696f6e286e6f646549443a20537472696e672c207075626c69634b6579733a205b537472696e675d29207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a0a20202020202020206966206c6574206d616368696e654163636f756e74203d2073656c662e7374616b696e67436f6c6c656374696f6e5265662e6372656174654d616368696e654163636f756e74466f724578697374696e674e6f6465286e6f646549443a206e6f646549442c2070617965723a206163636f756e7429207b0a2020202020202020202020206966207075626c69634b657973203d3d206e696c207c7c207075626c69634b657973212e6c656e677468203d3d2030207b0a2020202020202020202020202020202070616e6963282243616e6e6f742070726f76696465207a65726f206b65797320666f7220746865206d616368696e65206163636f756e7422290a2020202020202020202020207d0a202020202020202020202020666f72206b657920696e207075626c69634b65797321207b0a202020202020202020202020202020206d616368696e654163636f756e742e6164645075626c69634b6579286b65792e6465636f64654865782829290a2020202020202020202020207d0a20202020202020207d20656c7365207b0a20202020202020202020202070616e69632822436f756c64206e6f74206372656174652061206d616368696e65206163636f756e7420666f7220746865206e6f646522290a20202020202020207d0a202020207d0a7d0af87ab85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227d9b7b2274797065223a224172726179222c2276616c7565223a5b5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", - "metadata": "02e79df145af42488e3da1d1b2e50a38a2084229896d670884f278a2119dc3bf9ec2442b498eea025099815ea613d6407407192dc12ad70e1a4f47936db804a841437265617465204d616368696e65204163636f756e740002014e6f64652049440000537472696e6700030300035075622e204b65790001537472696e670003", - "hash": "e79df145af42488e3da1d1b2e50a38a2084229896d670884f278a2119dc3bf9e" + "encodedTransactionPayloadHex": "f904c7b903b7696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f20436f6d6d697473206e657720746f6b656e7320746f207374616b6520666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f2054686520746f6b656e732066726f6d20746865206c6f636b6564207661756c742061726520757365642066697273742c206966206974206578697374730a2f2f2f20666f6c6c6f7765642062792074686520746f6b656e732066726f6d2074686520756e6c6f636b6564207661756c740a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a206175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a206175746828426f72726f7756616c75652920264163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e73746f726167652e626f72726f773c6175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f2061205374616b696e67436f6c6c656374696f6e20696e20746865207072696d61727920757365722773206163636f756e7422290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e7374616b654e6577546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8cbb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db83a7b2276616c7565223a7b2276616c7565223a223432222c2274797065223a2255496e743332227d2c2274797065223a224f7074696f6e616c227db07b2276616c7565223a2239323233333732303336382e3534373735383038222c2274797065223a22554669783634227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", + "encodedTransactionEnvelopeHex": "f904cbf904c7b903b7696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f20436f6d6d697473206e657720746f6b656e7320746f207374616b6520666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f2054686520746f6b656e732066726f6d20746865206c6f636b6564207661756c742061726520757365642066697273742c206966206974206578697374730a2f2f2f20666f6c6c6f7765642062792074686520746f6b656e732066726f6d2074686520756e6c6f636b6564207661756c740a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a206175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a206175746828426f72726f7756616c75652920264163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e73746f726167652e626f72726f773c6175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f2061205374616b696e67436f6c6c656374696f6e20696e20746865207072696d61727920757365722773206163636f756e7422290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e7374616b654e6577546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8cbb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db83a7b2276616c7565223a7b2276616c7565223a223432222c2274797065223a2255496e743332227d2c2274797065223a224f7074696f6e616c227db07b2276616c7565223a2239323233333732303336382e3534373735383038222c2274797065223a22554669783634227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", + "metadata": "02cf2b03950077352487e6344ab65edc3e1856731ab9cf68aa2ebbe279ae496d4b4c0658934352486097cc89fa06b98bac21e514770fc6a4d70a7adc4bec6d711d5374616b65204e657720546f6b656e730003014e6f64652049440000537472696e6700030244656c656761746f72204944000155496e743332000301416d6f756e7400025546697836340003", + "hash": "cf2b03950077352487e6344ab65edc3e1856731ab9cf68aa2ebbe279ae496d4b" }, { - "title": "SCO.04 - Create Machine Account - 2", + "title": "SCO.07 - Stake Rewarded Tokens - 1", "valid": true, "chainID": "Testnet", "payloadMessage": { - "script": "import FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// Creates a machine account for a node that is already in the staking collection\n/// and adds public keys to the new account\n\ntransaction(nodeID: String, publicKeys: [String]) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n\n if let machineAccount = self.stakingCollectionRef.createMachineAccountForExistingNode(nodeID: nodeID, payer: account) {\n if publicKeys == nil || publicKeys!.length == 0 {\n panic(\"Cannot provide zero keys for the machine account\")\n }\n for key in publicKeys! {\n machineAccount.addPublicKey(key.decodeHex())\n }\n } else {\n panic(\"Could not create a machine account for the node\")\n }\n }\n}\n", + "script": "import FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// Commits rewarded tokens to stake for the specified node or delegator in the staking collection\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: auth(FlowStakingCollection.CollectionOwner) &FlowStakingCollection.StakingCollection\n\n prepare(account: auth(BorrowValue) &Account) {\n self.stakingCollectionRef = account.storage.borrow(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow a reference to a StakingCollection in the primary user's account\")\n }\n\n execute {\n self.stakingCollectionRef.stakeRewardedTokens(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", "arguments": [ { "type": "String", "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" }, { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164" - } - ] + "value": null, + "type": "Optional" + }, + { + "value": "92233720368.54775808", + "type": "UFix64" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -1193,20 +1304,19 @@ ] }, "envelopeMessage": { - "script": "import FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// Creates a machine account for a node that is already in the staking collection\n/// and adds public keys to the new account\n\ntransaction(nodeID: String, publicKeys: [String]) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n\n if let machineAccount = self.stakingCollectionRef.createMachineAccountForExistingNode(nodeID: nodeID, payer: account) {\n if publicKeys == nil || publicKeys!.length == 0 {\n panic(\"Cannot provide zero keys for the machine account\")\n }\n for key in publicKeys! {\n machineAccount.addPublicKey(key.decodeHex())\n }\n } else {\n panic(\"Could not create a machine account for the node\")\n }\n }\n}\n", + "script": "import FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// Commits rewarded tokens to stake for the specified node or delegator in the staking collection\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: auth(FlowStakingCollection.CollectionOwner) &FlowStakingCollection.StakingCollection\n\n prepare(account: auth(BorrowValue) &Account) {\n self.stakingCollectionRef = account.storage.borrow(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow a reference to a StakingCollection in the primary user's account\")\n }\n\n execute {\n self.stakingCollectionRef.stakeRewardedTokens(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", "arguments": [ { "type": "String", "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" }, { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164" - } - ] + "value": null, + "type": "Optional" + }, + { + "value": "92233720368.54775808", + "type": "UFix64" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -1222,38 +1332,32 @@ ], "payloadSigs": [] }, - "encodedTransactionPayloadHex": "f9058eb90423696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f20437265617465732061206d616368696e65206163636f756e7420666f722061206e6f6465207468617420697320616c726561647920696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f20616e642061646473207075626c6963206b65797320746f20746865206e6577206163636f756e740a0a7472616e73616374696f6e286e6f646549443a20537472696e672c207075626c69634b6579733a205b537472696e675d29207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a0a20202020202020206966206c6574206d616368696e654163636f756e74203d2073656c662e7374616b696e67436f6c6c656374696f6e5265662e6372656174654d616368696e654163636f756e74466f724578697374696e674e6f6465286e6f646549443a206e6f646549442c2070617965723a206163636f756e7429207b0a2020202020202020202020206966207075626c69634b657973203d3d206e696c207c7c207075626c69634b657973212e6c656e677468203d3d2030207b0a2020202020202020202020202020202070616e6963282243616e6e6f742070726f76696465207a65726f206b65797320666f7220746865206d616368696e65206163636f756e7422290a2020202020202020202020207d0a202020202020202020202020666f72206b657920696e207075626c69634b65797321207b0a202020202020202020202020202020206d616368696e654163636f756e742e6164645075626c69634b6579286b65792e6465636f64654865782829290a2020202020202020202020207d0a20202020202020207d20656c7365207b0a20202020202020202020202070616e69632822436f756c64206e6f74206372656174652061206d616368696e65206163636f756e7420666f7220746865206e6f646522290a20202020202020207d0a202020207d0a7d0af90125b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db8c57b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634227d5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", - "encodedTransactionEnvelopeHex": "f90592f9058eb90423696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f20437265617465732061206d616368696e65206163636f756e7420666f722061206e6f6465207468617420697320616c726561647920696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f20616e642061646473207075626c6963206b65797320746f20746865206e6577206163636f756e740a0a7472616e73616374696f6e286e6f646549443a20537472696e672c207075626c69634b6579733a205b537472696e675d29207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a0a20202020202020206966206c6574206d616368696e654163636f756e74203d2073656c662e7374616b696e67436f6c6c656374696f6e5265662e6372656174654d616368696e654163636f756e74466f724578697374696e674e6f6465286e6f646549443a206e6f646549442c2070617965723a206163636f756e7429207b0a2020202020202020202020206966207075626c69634b657973203d3d206e696c207c7c207075626c69634b657973212e6c656e677468203d3d2030207b0a2020202020202020202020202020202070616e6963282243616e6e6f742070726f76696465207a65726f206b65797320666f7220746865206d616368696e65206163636f756e7422290a2020202020202020202020207d0a202020202020202020202020666f72206b657920696e207075626c69634b65797321207b0a202020202020202020202020202020206d616368696e654163636f756e742e6164645075626c69634b6579286b65792e6465636f64654865782829290a2020202020202020202020207d0a20202020202020207d20656c7365207b0a20202020202020202020202070616e69632822436f756c64206e6f74206372656174652061206d616368696e65206163636f756e7420666f7220746865206e6f646522290a20202020202020207d0a202020207d0a7d0af90125b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db8c57b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634227d5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", - "metadata": "02e79df145af42488e3da1d1b2e50a38a2084229896d670884f278a2119dc3bf9ec2442b498eea025099815ea613d6407407192dc12ad70e1a4f47936db804a841437265617465204d616368696e65204163636f756e740002014e6f64652049440000537472696e6700030300035075622e204b65790001537472696e670003", - "hash": "e79df145af42488e3da1d1b2e50a38a2084229896d670884f278a2119dc3bf9e" + "encodedTransactionPayloadHex": "f90441b9034c696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f20436f6d6d69747320726577617264656420746f6b656e7320746f207374616b6520666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a206175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a206175746828426f72726f7756616c75652920264163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e73746f726167652e626f72726f773c6175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f2061205374616b696e67436f6c6c656374696f6e20696e20746865207072696d61727920757365722773206163636f756e7422290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e7374616b655265776172646564546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8b0b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227da07b2276616c7565223a6e756c6c2c2274797065223a224f7074696f6e616c227db07b2276616c7565223a2239323233333732303336382e3534373735383038222c2274797065223a22554669783634227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", + "encodedTransactionEnvelopeHex": "f90445f90441b9034c696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f20436f6d6d69747320726577617264656420746f6b656e7320746f207374616b6520666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a206175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a206175746828426f72726f7756616c75652920264163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e73746f726167652e626f72726f773c6175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f2061205374616b696e67436f6c6c656374696f6e20696e20746865207072696d61727920757365722773206163636f756e7422290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e7374616b655265776172646564546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8b0b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227da07b2276616c7565223a6e756c6c2c2274797065223a224f7074696f6e616c227db07b2276616c7565223a2239323233333732303336382e3534373735383038222c2274797065223a22554669783634227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", + "metadata": "024395faf2e515eea4d40f82416ad387575f0d5a580612223c361130e53e72f00bc989e8b3beb9c2eb5af2ee1e11d592c9f1131e76e7ef105a0d40cf1610d1e3485374616b6520526577617264656420546f6b656e730003014e6f64652049440000537472696e6700030244656c656761746f72204944000155496e743332000301416d6f756e7400025546697836340003", + "hash": "4395faf2e515eea4d40f82416ad387575f0d5a580612223c361130e53e72f00b" }, { - "title": "SCO.04 - Create Machine Account - 3", + "title": "SCO.07 - Stake Rewarded Tokens - 2", "valid": true, "chainID": "Testnet", "payloadMessage": { - "script": "import FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// Creates a machine account for a node that is already in the staking collection\n/// and adds public keys to the new account\n\ntransaction(nodeID: String, publicKeys: [String]) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n\n if let machineAccount = self.stakingCollectionRef.createMachineAccountForExistingNode(nodeID: nodeID, payer: account) {\n if publicKeys == nil || publicKeys!.length == 0 {\n panic(\"Cannot provide zero keys for the machine account\")\n }\n for key in publicKeys! {\n machineAccount.addPublicKey(key.decodeHex())\n }\n } else {\n panic(\"Could not create a machine account for the node\")\n }\n }\n}\n", + "script": "import FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// Commits rewarded tokens to stake for the specified node or delegator in the staking collection\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: auth(FlowStakingCollection.CollectionOwner) &FlowStakingCollection.StakingCollection\n\n prepare(account: auth(BorrowValue) &Account) {\n self.stakingCollectionRef = account.storage.borrow(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow a reference to a StakingCollection in the primary user's account\")\n }\n\n execute {\n self.stakingCollectionRef.stakeRewardedTokens(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", "arguments": [ { "type": "String", "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" }, { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164" - }, - { - "type": "String", - "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164" - }, - { - "type": "String", - "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164" - } - ] + "value": { + "value": "42", + "type": "UInt32" + }, + "type": "Optional" + }, + { + "value": "92233720368.54775808", + "type": "UFix64" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -1269,28 +1373,22 @@ ] }, "envelopeMessage": { - "script": "import FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// Creates a machine account for a node that is already in the staking collection\n/// and adds public keys to the new account\n\ntransaction(nodeID: String, publicKeys: [String]) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n\n if let machineAccount = self.stakingCollectionRef.createMachineAccountForExistingNode(nodeID: nodeID, payer: account) {\n if publicKeys == nil || publicKeys!.length == 0 {\n panic(\"Cannot provide zero keys for the machine account\")\n }\n for key in publicKeys! {\n machineAccount.addPublicKey(key.decodeHex())\n }\n } else {\n panic(\"Could not create a machine account for the node\")\n }\n }\n}\n", + "script": "import FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// Commits rewarded tokens to stake for the specified node or delegator in the staking collection\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: auth(FlowStakingCollection.CollectionOwner) &FlowStakingCollection.StakingCollection\n\n prepare(account: auth(BorrowValue) &Account) {\n self.stakingCollectionRef = account.storage.borrow(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow a reference to a StakingCollection in the primary user's account\")\n }\n\n execute {\n self.stakingCollectionRef.stakeRewardedTokens(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", "arguments": [ { "type": "String", "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" }, { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164" - }, - { - "type": "String", - "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164" - }, - { - "type": "String", - "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164" - } - ] + "value": { + "value": "42", + "type": "UInt32" + }, + "type": "Optional" + }, + { + "value": "92233720368.54775808", + "type": "UFix64" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -1306,29 +1404,29 @@ ], "payloadSigs": [] }, - "encodedTransactionPayloadHex": "f906e5b90423696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f20437265617465732061206d616368696e65206163636f756e7420666f722061206e6f6465207468617420697320616c726561647920696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f20616e642061646473207075626c6963206b65797320746f20746865206e6577206163636f756e740a0a7472616e73616374696f6e286e6f646549443a20537472696e672c207075626c69634b6579733a205b537472696e675d29207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a0a20202020202020206966206c6574206d616368696e654163636f756e74203d2073656c662e7374616b696e67436f6c6c656374696f6e5265662e6372656174654d616368696e654163636f756e74466f724578697374696e674e6f6465286e6f646549443a206e6f646549442c2070617965723a206163636f756e7429207b0a2020202020202020202020206966207075626c69634b657973203d3d206e696c207c7c207075626c69634b657973212e6c656e677468203d3d2030207b0a2020202020202020202020202020202070616e6963282243616e6e6f742070726f76696465207a65726f206b65797320666f7220746865206d616368696e65206163636f756e7422290a2020202020202020202020207d0a202020202020202020202020666f72206b657920696e207075626c69634b65797321207b0a202020202020202020202020202020206d616368696e654163636f756e742e6164645075626c69634b6579286b65792e6465636f64654865782829290a2020202020202020202020207d0a20202020202020207d20656c7365207b0a20202020202020202020202070616e69632822436f756c64206e6f74206372656174652061206d616368696e65206163636f756e7420666f7220746865206e6f646522290a20202020202020207d0a202020207d0a7d0af9027cb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db9021b7b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634227d2c7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634227d2c7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634227d5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", - "encodedTransactionEnvelopeHex": "f906e9f906e5b90423696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f20437265617465732061206d616368696e65206163636f756e7420666f722061206e6f6465207468617420697320616c726561647920696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f20616e642061646473207075626c6963206b65797320746f20746865206e6577206163636f756e740a0a7472616e73616374696f6e286e6f646549443a20537472696e672c207075626c69634b6579733a205b537472696e675d29207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a0a20202020202020206966206c6574206d616368696e654163636f756e74203d2073656c662e7374616b696e67436f6c6c656374696f6e5265662e6372656174654d616368696e654163636f756e74466f724578697374696e674e6f6465286e6f646549443a206e6f646549442c2070617965723a206163636f756e7429207b0a2020202020202020202020206966207075626c69634b657973203d3d206e696c207c7c207075626c69634b657973212e6c656e677468203d3d2030207b0a2020202020202020202020202020202070616e6963282243616e6e6f742070726f76696465207a65726f206b65797320666f7220746865206d616368696e65206163636f756e7422290a2020202020202020202020207d0a202020202020202020202020666f72206b657920696e207075626c69634b65797321207b0a202020202020202020202020202020206d616368696e654163636f756e742e6164645075626c69634b6579286b65792e6465636f64654865782829290a2020202020202020202020207d0a20202020202020207d20656c7365207b0a20202020202020202020202070616e69632822436f756c64206e6f74206372656174652061206d616368696e65206163636f756e7420666f7220746865206e6f646522290a20202020202020207d0a202020207d0a7d0af9027cb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db9021b7b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634227d2c7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634227d2c7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634227d5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", - "metadata": "02e79df145af42488e3da1d1b2e50a38a2084229896d670884f278a2119dc3bf9ec2442b498eea025099815ea613d6407407192dc12ad70e1a4f47936db804a841437265617465204d616368696e65204163636f756e740002014e6f64652049440000537472696e6700030300035075622e204b65790001537472696e670003", - "hash": "e79df145af42488e3da1d1b2e50a38a2084229896d670884f278a2119dc3bf9e" + "encodedTransactionPayloadHex": "f9045cb9034c696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f20436f6d6d69747320726577617264656420746f6b656e7320746f207374616b6520666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a206175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a206175746828426f72726f7756616c75652920264163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e73746f726167652e626f72726f773c6175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f2061205374616b696e67436f6c6c656374696f6e20696e20746865207072696d61727920757365722773206163636f756e7422290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e7374616b655265776172646564546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8cbb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db83a7b2276616c7565223a7b2276616c7565223a223432222c2274797065223a2255496e743332227d2c2274797065223a224f7074696f6e616c227db07b2276616c7565223a2239323233333732303336382e3534373735383038222c2274797065223a22554669783634227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", + "encodedTransactionEnvelopeHex": "f90460f9045cb9034c696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f20436f6d6d69747320726577617264656420746f6b656e7320746f207374616b6520666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a206175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a206175746828426f72726f7756616c75652920264163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e73746f726167652e626f72726f773c6175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f2061205374616b696e67436f6c6c656374696f6e20696e20746865207072696d61727920757365722773206163636f756e7422290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e7374616b655265776172646564546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8cbb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db83a7b2276616c7565223a7b2276616c7565223a223432222c2274797065223a2255496e743332227d2c2274797065223a224f7074696f6e616c227db07b2276616c7565223a2239323233333732303336382e3534373735383038222c2274797065223a22554669783634227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", + "metadata": "024395faf2e515eea4d40f82416ad387575f0d5a580612223c361130e53e72f00bc989e8b3beb9c2eb5af2ee1e11d592c9f1131e76e7ef105a0d40cf1610d1e3485374616b6520526577617264656420546f6b656e730003014e6f64652049440000537472696e6700030244656c656761746f72204944000155496e743332000301416d6f756e7400025546697836340003", + "hash": "4395faf2e515eea4d40f82416ad387575f0d5a580612223c361130e53e72f00b" }, { - "title": "SCO.05 - Request Unstaking - 1", + "title": "SCO.08 - Stake Unstaked Tokens - 1", "valid": true, "chainID": "Testnet", "payloadMessage": { - "script": "import FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// Requests unstaking for the specified node or delegator in the staking collection\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n }\n\n execute {\n self.stakingCollectionRef.requestUnstaking(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", + "script": "import FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// Commits unstaked tokens to stake for the specified node or delegator in the staking collection\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: auth(FlowStakingCollection.CollectionOwner) &FlowStakingCollection.StakingCollection\n\n prepare(account: auth(BorrowValue) &Account) {\n self.stakingCollectionRef = account.storage.borrow(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow a reference to a StakingCollection in the primary user's account\")\n }\n\n execute {\n self.stakingCollectionRef.stakeUnstakedTokens(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", "arguments": [ { "type": "String", "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" }, { - "type": "Optional", - "value": null + "value": null, + "type": "Optional" }, { - "type": "UFix64", - "value": "92233720368.54775808" + "value": "92233720368.54775808", + "type": "UFix64" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -1344,19 +1442,19 @@ ] }, "envelopeMessage": { - "script": "import FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// Requests unstaking for the specified node or delegator in the staking collection\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n }\n\n execute {\n self.stakingCollectionRef.requestUnstaking(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", + "script": "import FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// Commits unstaked tokens to stake for the specified node or delegator in the staking collection\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: auth(FlowStakingCollection.CollectionOwner) &FlowStakingCollection.StakingCollection\n\n prepare(account: auth(BorrowValue) &Account) {\n self.stakingCollectionRef = account.storage.borrow(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow a reference to a StakingCollection in the primary user's account\")\n }\n\n execute {\n self.stakingCollectionRef.stakeUnstakedTokens(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", "arguments": [ { "type": "String", "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" }, { - "type": "Optional", - "value": null + "value": null, + "type": "Optional" }, { - "type": "UFix64", - "value": "92233720368.54775808" + "value": "92233720368.54775808", + "type": "UFix64" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -1372,32 +1470,32 @@ ], "payloadSigs": [] }, - "encodedTransactionPayloadHex": "f90399b902a4696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f20526571756573747320756e7374616b696e6720666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e72657175657374556e7374616b696e67286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8b0b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227da07b2274797065223a224f7074696f6e616c222c2276616c7565223a6e756c6c7db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", - "encodedTransactionEnvelopeHex": "f9039df90399b902a4696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f20526571756573747320756e7374616b696e6720666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e72657175657374556e7374616b696e67286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8b0b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227da07b2274797065223a224f7074696f6e616c222c2276616c7565223a6e756c6c7db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", - "metadata": "02b00f6b3b9d8d7d4a9a8ad14fce11ee0edb23c39c56a8c1351e6b597f53f2fb71a552951c5e6300a118610fbf2d36b3073ee266e1d26787d04717c141976ef78c5265717565737420556e7374616b696e670003014e6f64652049440000537472696e6700030244656c656761746f72204944000155496e743332000301416d6f756e7400025546697836340003", - "hash": "b00f6b3b9d8d7d4a9a8ad14fce11ee0edb23c39c56a8c1351e6b597f53f2fb71" + "encodedTransactionPayloadHex": "f90441b9034c696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f20436f6d6d69747320756e7374616b656420746f6b656e7320746f207374616b6520666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a206175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a206175746828426f72726f7756616c75652920264163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e73746f726167652e626f72726f773c6175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f2061205374616b696e67436f6c6c656374696f6e20696e20746865207072696d61727920757365722773206163636f756e7422290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e7374616b65556e7374616b6564546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8b0b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227da07b2276616c7565223a6e756c6c2c2274797065223a224f7074696f6e616c227db07b2276616c7565223a2239323233333732303336382e3534373735383038222c2274797065223a22554669783634227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", + "encodedTransactionEnvelopeHex": "f90445f90441b9034c696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f20436f6d6d69747320756e7374616b656420746f6b656e7320746f207374616b6520666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a206175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a206175746828426f72726f7756616c75652920264163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e73746f726167652e626f72726f773c6175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f2061205374616b696e67436f6c6c656374696f6e20696e20746865207072696d61727920757365722773206163636f756e7422290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e7374616b65556e7374616b6564546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8b0b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227da07b2276616c7565223a6e756c6c2c2274797065223a224f7074696f6e616c227db07b2276616c7565223a2239323233333732303336382e3534373735383038222c2274797065223a22554669783634227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", + "metadata": "020b1721f2a8ef6c0c4121ef83c7b38f2141eebcd65c72dab9ebaafe1b4d66fea8fe6adb75bf22b2033800e916fa7e3a7810417e9a36d35320de7f4b5f7ec4f1b85374616b6520556e7374616b656420546f6b656e730003014e6f64652049440000537472696e6700030244656c656761746f72204944000155496e743332000301416d6f756e7400025546697836340003", + "hash": "0b1721f2a8ef6c0c4121ef83c7b38f2141eebcd65c72dab9ebaafe1b4d66fea8" }, { - "title": "SCO.05 - Request Unstaking - 2", + "title": "SCO.08 - Stake Unstaked Tokens - 2", "valid": true, "chainID": "Testnet", "payloadMessage": { - "script": "import FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// Requests unstaking for the specified node or delegator in the staking collection\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n }\n\n execute {\n self.stakingCollectionRef.requestUnstaking(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", + "script": "import FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// Commits unstaked tokens to stake for the specified node or delegator in the staking collection\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: auth(FlowStakingCollection.CollectionOwner) &FlowStakingCollection.StakingCollection\n\n prepare(account: auth(BorrowValue) &Account) {\n self.stakingCollectionRef = account.storage.borrow(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow a reference to a StakingCollection in the primary user's account\")\n }\n\n execute {\n self.stakingCollectionRef.stakeUnstakedTokens(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", "arguments": [ { "type": "String", "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" }, { - "type": "Optional", "value": { - "type": "UInt32", - "value": "42" - } + "value": "42", + "type": "UInt32" + }, + "type": "Optional" }, { - "type": "UFix64", - "value": "92233720368.54775808" + "value": "92233720368.54775808", + "type": "UFix64" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -1413,22 +1511,22 @@ ] }, "envelopeMessage": { - "script": "import FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// Requests unstaking for the specified node or delegator in the staking collection\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n }\n\n execute {\n self.stakingCollectionRef.requestUnstaking(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", + "script": "import FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// Commits unstaked tokens to stake for the specified node or delegator in the staking collection\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: auth(FlowStakingCollection.CollectionOwner) &FlowStakingCollection.StakingCollection\n\n prepare(account: auth(BorrowValue) &Account) {\n self.stakingCollectionRef = account.storage.borrow(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow a reference to a StakingCollection in the primary user's account\")\n }\n\n execute {\n self.stakingCollectionRef.stakeUnstakedTokens(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", "arguments": [ { "type": "String", "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" }, { - "type": "Optional", "value": { - "type": "UInt32", - "value": "42" - } + "value": "42", + "type": "UInt32" + }, + "type": "Optional" }, { - "type": "UFix64", - "value": "92233720368.54775808" + "value": "92233720368.54775808", + "type": "UFix64" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -1444,29 +1542,21 @@ ], "payloadSigs": [] }, - "encodedTransactionPayloadHex": "f903b4b902a4696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f20526571756573747320756e7374616b696e6720666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e72657175657374556e7374616b696e67286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8cbb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db83a7b2274797065223a224f7074696f6e616c222c2276616c7565223a7b2274797065223a2255496e743332222c2276616c7565223a223432227d7db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", - "encodedTransactionEnvelopeHex": "f903b8f903b4b902a4696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f20526571756573747320756e7374616b696e6720666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e72657175657374556e7374616b696e67286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8cbb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db83a7b2274797065223a224f7074696f6e616c222c2276616c7565223a7b2274797065223a2255496e743332222c2276616c7565223a223432227d7db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", - "metadata": "02b00f6b3b9d8d7d4a9a8ad14fce11ee0edb23c39c56a8c1351e6b597f53f2fb71a552951c5e6300a118610fbf2d36b3073ee266e1d26787d04717c141976ef78c5265717565737420556e7374616b696e670003014e6f64652049440000537472696e6700030244656c656761746f72204944000155496e743332000301416d6f756e7400025546697836340003", - "hash": "b00f6b3b9d8d7d4a9a8ad14fce11ee0edb23c39c56a8c1351e6b597f53f2fb71" + "encodedTransactionPayloadHex": "f9045cb9034c696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f20436f6d6d69747320756e7374616b656420746f6b656e7320746f207374616b6520666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a206175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a206175746828426f72726f7756616c75652920264163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e73746f726167652e626f72726f773c6175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f2061205374616b696e67436f6c6c656374696f6e20696e20746865207072696d61727920757365722773206163636f756e7422290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e7374616b65556e7374616b6564546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8cbb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db83a7b2276616c7565223a7b2276616c7565223a223432222c2274797065223a2255496e743332227d2c2274797065223a224f7074696f6e616c227db07b2276616c7565223a2239323233333732303336382e3534373735383038222c2274797065223a22554669783634227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", + "encodedTransactionEnvelopeHex": "f90460f9045cb9034c696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f20436f6d6d69747320756e7374616b656420746f6b656e7320746f207374616b6520666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a206175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a206175746828426f72726f7756616c75652920264163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e73746f726167652e626f72726f773c6175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f2061205374616b696e67436f6c6c656374696f6e20696e20746865207072696d61727920757365722773206163636f756e7422290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e7374616b65556e7374616b6564546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8cbb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db83a7b2276616c7565223a7b2276616c7565223a223432222c2274797065223a2255496e743332227d2c2274797065223a224f7074696f6e616c227db07b2276616c7565223a2239323233333732303336382e3534373735383038222c2274797065223a22554669783634227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", + "metadata": "020b1721f2a8ef6c0c4121ef83c7b38f2141eebcd65c72dab9ebaafe1b4d66fea8fe6adb75bf22b2033800e916fa7e3a7810417e9a36d35320de7f4b5f7ec4f1b85374616b6520556e7374616b656420546f6b656e730003014e6f64652049440000537472696e6700030244656c656761746f72204944000155496e743332000301416d6f756e7400025546697836340003", + "hash": "0b1721f2a8ef6c0c4121ef83c7b38f2141eebcd65c72dab9ebaafe1b4d66fea8" }, { - "title": "SCO.06 - Stake New Tokens - 1", + "title": "SCO.09 - Unstake All", "valid": true, "chainID": "Testnet", "payloadMessage": { - "script": "import FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// Commits new tokens to stake for the specified node or delegator in the staking collection\n/// The tokens from the locked vault are used first, if it exists\n/// followed by the tokens from the unlocked vault\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n }\n\n execute {\n self.stakingCollectionRef.stakeNewTokens(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", + "script": "import FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// Requests to unstake ALL tokens for the specified node or delegator in the staking collection\n\ntransaction(nodeID: String) {\n \n let stakingCollectionRef: auth(FlowStakingCollection.CollectionOwner) &FlowStakingCollection.StakingCollection\n\n prepare(account: auth(BorrowValue) &Account) {\n self.stakingCollectionRef = account.storage.borrow(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow a reference to a StakingCollection in the primary user's account\")\n }\n\n execute {\n self.stakingCollectionRef.unstakeAll(nodeID: nodeID)\n }\n}\n", "arguments": [ { "type": "String", "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" - }, - { - "type": "Optional", - "value": null - }, - { - "type": "UFix64", - "value": "92233720368.54775808" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -1482,19 +1572,11 @@ ] }, "envelopeMessage": { - "script": "import FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// Commits new tokens to stake for the specified node or delegator in the staking collection\n/// The tokens from the locked vault are used first, if it exists\n/// followed by the tokens from the unlocked vault\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n }\n\n execute {\n self.stakingCollectionRef.stakeNewTokens(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", + "script": "import FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// Requests to unstake ALL tokens for the specified node or delegator in the staking collection\n\ntransaction(nodeID: String) {\n \n let stakingCollectionRef: auth(FlowStakingCollection.CollectionOwner) &FlowStakingCollection.StakingCollection\n\n prepare(account: auth(BorrowValue) &Account) {\n self.stakingCollectionRef = account.storage.borrow(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow a reference to a StakingCollection in the primary user's account\")\n }\n\n execute {\n self.stakingCollectionRef.unstakeAll(nodeID: nodeID)\n }\n}\n", "arguments": [ { "type": "String", "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" - }, - { - "type": "Optional", - "value": null - }, - { - "type": "UFix64", - "value": "92233720368.54775808" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -1510,32 +1592,32 @@ ], "payloadSigs": [] }, - "encodedTransactionPayloadHex": "f90415b90320696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f20436f6d6d697473206e657720746f6b656e7320746f207374616b6520666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f2054686520746f6b656e732066726f6d20746865206c6f636b6564207661756c742061726520757365642066697273742c206966206974206578697374730a2f2f2f20666f6c6c6f7765642062792074686520746f6b656e732066726f6d2074686520756e6c6f636b6564207661756c740a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e7374616b654e6577546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8b0b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227da07b2274797065223a224f7074696f6e616c222c2276616c7565223a6e756c6c7db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", - "encodedTransactionEnvelopeHex": "f90419f90415b90320696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f20436f6d6d697473206e657720746f6b656e7320746f207374616b6520666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f2054686520746f6b656e732066726f6d20746865206c6f636b6564207661756c742061726520757365642066697273742c206966206974206578697374730a2f2f2f20666f6c6c6f7765642062792074686520746f6b656e732066726f6d2074686520756e6c6f636b6564207661756c740a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e7374616b654e6577546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8b0b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227da07b2274797065223a224f7074696f6e616c222c2276616c7565223a6e756c6c7db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", - "metadata": "021307928440cee4289235793d6ff860a24315f7b6a5d5907a145dcc5f83702a2c8e10ac56db8ec5d5e0051d3c9608fabc8edd6abed983f6d3a254e7668a54b32b5374616b65204e657720546f6b656e730003014e6f64652049440000537472696e6700030244656c656761746f72204944000155496e743332000301416d6f756e7400025546697836340003", - "hash": "1307928440cee4289235793d6ff860a24315f7b6a5d5907a145dcc5f83702a2c" + "encodedTransactionPayloadHex": "f90394b902f1696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f20526571756573747320746f20756e7374616b6520414c4c20746f6b656e7320666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a0a7472616e73616374696f6e286e6f646549443a20537472696e6729207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a206175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a206175746828426f72726f7756616c75652920264163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e73746f726167652e626f72726f773c6175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f2061205374616b696e67436f6c6c656374696f6e20696e20746865207072696d61727920757365722773206163636f756e7422290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e756e7374616b65416c6c286e6f646549443a206e6f64654944290a202020207d0a7d0af85eb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", + "encodedTransactionEnvelopeHex": "f90398f90394b902f1696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f20526571756573747320746f20756e7374616b6520414c4c20746f6b656e7320666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a0a7472616e73616374696f6e286e6f646549443a20537472696e6729207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a206175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a206175746828426f72726f7756616c75652920264163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e73746f726167652e626f72726f773c6175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f2061205374616b696e67436f6c6c656374696f6e20696e20746865207072696d61727920757365722773206163636f756e7422290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e756e7374616b65416c6c286e6f646549443a206e6f64654944290a202020207d0a7d0af85eb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", + "metadata": "02c84843e3399be2ce95ea00e7c17d72db3c5c3363ec008c7a1c1cfa5b6afe70ae1c8256fb857f6c6fd929511ecac8624d0159877cf72c884f7128297dfb069510556e7374616b6520416c6c0001014e6f64652049440000537472696e670003", + "hash": "c84843e3399be2ce95ea00e7c17d72db3c5c3363ec008c7a1c1cfa5b6afe70ae" }, { - "title": "SCO.06 - Stake New Tokens - 2", + "title": "SCO.10 - Withdraw Rewarded Tokens - 1", "valid": true, "chainID": "Testnet", "payloadMessage": { - "script": "import FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// Commits new tokens to stake for the specified node or delegator in the staking collection\n/// The tokens from the locked vault are used first, if it exists\n/// followed by the tokens from the unlocked vault\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n }\n\n execute {\n self.stakingCollectionRef.stakeNewTokens(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", + "script": "import FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// Request to withdraw rewarded tokens for the specified node or delegator in the staking collection\n/// The tokens are automatically deposited to the unlocked account vault first,\n/// And then any locked tokens are deposited into the locked account vault\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: auth(FlowStakingCollection.CollectionOwner) &FlowStakingCollection.StakingCollection\n\n prepare(account: auth(BorrowValue) &Account) {\n self.stakingCollectionRef = account.storage.borrow(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow a reference to a StakingCollection in the primary user's account\")\n }\n\n execute {\n self.stakingCollectionRef.withdrawRewardedTokens(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", "arguments": [ { "type": "String", "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" }, { - "type": "Optional", "value": { - "type": "UInt32", - "value": "42" - } + "value": "42", + "type": "UInt32" + }, + "type": "Optional" }, { - "type": "UFix64", - "value": "92233720368.54775808" + "value": "92233720368.54775808", + "type": "UFix64" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -1551,22 +1633,22 @@ ] }, "envelopeMessage": { - "script": "import FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// Commits new tokens to stake for the specified node or delegator in the staking collection\n/// The tokens from the locked vault are used first, if it exists\n/// followed by the tokens from the unlocked vault\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n }\n\n execute {\n self.stakingCollectionRef.stakeNewTokens(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", + "script": "import FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// Request to withdraw rewarded tokens for the specified node or delegator in the staking collection\n/// The tokens are automatically deposited to the unlocked account vault first,\n/// And then any locked tokens are deposited into the locked account vault\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: auth(FlowStakingCollection.CollectionOwner) &FlowStakingCollection.StakingCollection\n\n prepare(account: auth(BorrowValue) &Account) {\n self.stakingCollectionRef = account.storage.borrow(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow a reference to a StakingCollection in the primary user's account\")\n }\n\n execute {\n self.stakingCollectionRef.withdrawRewardedTokens(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", "arguments": [ { "type": "String", "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" }, { - "type": "Optional", "value": { - "type": "UInt32", - "value": "42" - } + "value": "42", + "type": "UInt32" + }, + "type": "Optional" }, { - "type": "UFix64", - "value": "92233720368.54775808" + "value": "92233720368.54775808", + "type": "UFix64" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -1582,29 +1664,29 @@ ], "payloadSigs": [] }, - "encodedTransactionPayloadHex": "f90430b90320696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f20436f6d6d697473206e657720746f6b656e7320746f207374616b6520666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f2054686520746f6b656e732066726f6d20746865206c6f636b6564207661756c742061726520757365642066697273742c206966206974206578697374730a2f2f2f20666f6c6c6f7765642062792074686520746f6b656e732066726f6d2074686520756e6c6f636b6564207661756c740a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e7374616b654e6577546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8cbb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db83a7b2274797065223a224f7074696f6e616c222c2276616c7565223a7b2274797065223a2255496e743332222c2276616c7565223a223432227d7db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", - "encodedTransactionEnvelopeHex": "f90434f90430b90320696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f20436f6d6d697473206e657720746f6b656e7320746f207374616b6520666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f2054686520746f6b656e732066726f6d20746865206c6f636b6564207661756c742061726520757365642066697273742c206966206974206578697374730a2f2f2f20666f6c6c6f7765642062792074686520746f6b656e732066726f6d2074686520756e6c6f636b6564207661756c740a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e7374616b654e6577546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8cbb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db83a7b2274797065223a224f7074696f6e616c222c2276616c7565223a7b2274797065223a2255496e743332222c2276616c7565223a223432227d7db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", - "metadata": "021307928440cee4289235793d6ff860a24315f7b6a5d5907a145dcc5f83702a2c8e10ac56db8ec5d5e0051d3c9608fabc8edd6abed983f6d3a254e7668a54b32b5374616b65204e657720546f6b656e730003014e6f64652049440000537472696e6700030244656c656761746f72204944000155496e743332000301416d6f756e7400025546697836340003", - "hash": "1307928440cee4289235793d6ff860a24315f7b6a5d5907a145dcc5f83702a2c" + "encodedTransactionPayloadHex": "f904fdb903ed696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f205265717565737420746f20776974686472617720726577617264656420746f6b656e7320666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f2054686520746f6b656e7320617265206175746f6d61746963616c6c79206465706f736974656420746f2074686520756e6c6f636b6564206163636f756e74207661756c742066697273742c0a2f2f2f20416e64207468656e20616e79206c6f636b656420746f6b656e7320617265206465706f736974656420696e746f20746865206c6f636b6564206163636f756e74207661756c740a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a206175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a206175746828426f72726f7756616c75652920264163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e73746f726167652e626f72726f773c6175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f2061205374616b696e67436f6c6c656374696f6e20696e20746865207072696d61727920757365722773206163636f756e7422290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e77697468647261775265776172646564546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8cbb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db83a7b2276616c7565223a7b2276616c7565223a223432222c2274797065223a2255496e743332227d2c2274797065223a224f7074696f6e616c227db07b2276616c7565223a2239323233333732303336382e3534373735383038222c2274797065223a22554669783634227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", + "encodedTransactionEnvelopeHex": "f90501f904fdb903ed696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f205265717565737420746f20776974686472617720726577617264656420746f6b656e7320666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f2054686520746f6b656e7320617265206175746f6d61746963616c6c79206465706f736974656420746f2074686520756e6c6f636b6564206163636f756e74207661756c742066697273742c0a2f2f2f20416e64207468656e20616e79206c6f636b656420746f6b656e7320617265206465706f736974656420696e746f20746865206c6f636b6564206163636f756e74207661756c740a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a206175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a206175746828426f72726f7756616c75652920264163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e73746f726167652e626f72726f773c6175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f2061205374616b696e67436f6c6c656374696f6e20696e20746865207072696d61727920757365722773206163636f756e7422290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e77697468647261775265776172646564546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8cbb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db83a7b2276616c7565223a7b2276616c7565223a223432222c2274797065223a2255496e743332227d2c2274797065223a224f7074696f6e616c227db07b2276616c7565223a2239323233333732303336382e3534373735383038222c2274797065223a22554669783634227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", + "metadata": "025a07ca4c016973bdeb168590e111b2c2855833b5ece11ffb28b08b8668f258a8fbd8ebbfff7a88b6b667ff4e3f9f904eaaba71cbf02a140f3b7007c61fbd8f34576974686472617720526577617264656420546f6b656e730003014e6f64652049440000537472696e6700030244656c656761746f72204944000155496e743332000301416d6f756e7400025546697836340003", + "hash": "5a07ca4c016973bdeb168590e111b2c2855833b5ece11ffb28b08b8668f258a8" }, { - "title": "SCO.07 - Stake Rewarded Tokens - 1", + "title": "SCO.10 - Withdraw Rewarded Tokens - 2", "valid": true, "chainID": "Testnet", "payloadMessage": { - "script": "import FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// Commits rewarded tokens to stake for the specified node or delegator in the staking collection\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n }\n\n execute {\n self.stakingCollectionRef.stakeRewardedTokens(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", + "script": "import FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// Request to withdraw rewarded tokens for the specified node or delegator in the staking collection\n/// The tokens are automatically deposited to the unlocked account vault first,\n/// And then any locked tokens are deposited into the locked account vault\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: auth(FlowStakingCollection.CollectionOwner) &FlowStakingCollection.StakingCollection\n\n prepare(account: auth(BorrowValue) &Account) {\n self.stakingCollectionRef = account.storage.borrow(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow a reference to a StakingCollection in the primary user's account\")\n }\n\n execute {\n self.stakingCollectionRef.withdrawRewardedTokens(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", "arguments": [ { "type": "String", "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" }, { - "type": "Optional", - "value": null + "value": null, + "type": "Optional" }, { - "type": "UFix64", - "value": "92233720368.54775808" + "value": "92233720368.54775808", + "type": "UFix64" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -1620,19 +1702,19 @@ ] }, "envelopeMessage": { - "script": "import FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// Commits rewarded tokens to stake for the specified node or delegator in the staking collection\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n }\n\n execute {\n self.stakingCollectionRef.stakeRewardedTokens(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", + "script": "import FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// Request to withdraw rewarded tokens for the specified node or delegator in the staking collection\n/// The tokens are automatically deposited to the unlocked account vault first,\n/// And then any locked tokens are deposited into the locked account vault\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: auth(FlowStakingCollection.CollectionOwner) &FlowStakingCollection.StakingCollection\n\n prepare(account: auth(BorrowValue) &Account) {\n self.stakingCollectionRef = account.storage.borrow(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow a reference to a StakingCollection in the primary user's account\")\n }\n\n execute {\n self.stakingCollectionRef.withdrawRewardedTokens(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", "arguments": [ { "type": "String", "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" }, { - "type": "Optional", - "value": null + "value": null, + "type": "Optional" }, { - "type": "UFix64", - "value": "92233720368.54775808" + "value": "92233720368.54775808", + "type": "UFix64" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -1648,32 +1730,29 @@ ], "payloadSigs": [] }, - "encodedTransactionPayloadHex": "f903aab902b5696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f20436f6d6d69747320726577617264656420746f6b656e7320746f207374616b6520666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e7374616b655265776172646564546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8b0b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227da07b2274797065223a224f7074696f6e616c222c2276616c7565223a6e756c6c7db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", - "encodedTransactionEnvelopeHex": "f903aef903aab902b5696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f20436f6d6d69747320726577617264656420746f6b656e7320746f207374616b6520666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e7374616b655265776172646564546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8b0b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227da07b2274797065223a224f7074696f6e616c222c2276616c7565223a6e756c6c7db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", - "metadata": "02d7aca7113a7aa03e0afd20ee36f4873779708a02ac4c6985017740c2ecea3d62907c4cfd67a98a8003393c64dc74eb7a957b229352a266139a542bb105ac4c405374616b6520526577617264656420546f6b656e730003014e6f64652049440000537472696e6700030244656c656761746f72204944000155496e743332000301416d6f756e7400025546697836340003", - "hash": "d7aca7113a7aa03e0afd20ee36f4873779708a02ac4c6985017740c2ecea3d62" + "encodedTransactionPayloadHex": "f904e2b903ed696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f205265717565737420746f20776974686472617720726577617264656420746f6b656e7320666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f2054686520746f6b656e7320617265206175746f6d61746963616c6c79206465706f736974656420746f2074686520756e6c6f636b6564206163636f756e74207661756c742066697273742c0a2f2f2f20416e64207468656e20616e79206c6f636b656420746f6b656e7320617265206465706f736974656420696e746f20746865206c6f636b6564206163636f756e74207661756c740a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a206175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a206175746828426f72726f7756616c75652920264163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e73746f726167652e626f72726f773c6175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f2061205374616b696e67436f6c6c656374696f6e20696e20746865207072696d61727920757365722773206163636f756e7422290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e77697468647261775265776172646564546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8b0b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227da07b2276616c7565223a6e756c6c2c2274797065223a224f7074696f6e616c227db07b2276616c7565223a2239323233333732303336382e3534373735383038222c2274797065223a22554669783634227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", + "encodedTransactionEnvelopeHex": "f904e6f904e2b903ed696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f205265717565737420746f20776974686472617720726577617264656420746f6b656e7320666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f2054686520746f6b656e7320617265206175746f6d61746963616c6c79206465706f736974656420746f2074686520756e6c6f636b6564206163636f756e74207661756c742066697273742c0a2f2f2f20416e64207468656e20616e79206c6f636b656420746f6b656e7320617265206465706f736974656420696e746f20746865206c6f636b6564206163636f756e74207661756c740a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a206175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a206175746828426f72726f7756616c75652920264163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e73746f726167652e626f72726f773c6175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f2061205374616b696e67436f6c6c656374696f6e20696e20746865207072696d61727920757365722773206163636f756e7422290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e77697468647261775265776172646564546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8b0b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227da07b2276616c7565223a6e756c6c2c2274797065223a224f7074696f6e616c227db07b2276616c7565223a2239323233333732303336382e3534373735383038222c2274797065223a22554669783634227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", + "metadata": "025a07ca4c016973bdeb168590e111b2c2855833b5ece11ffb28b08b8668f258a8fbd8ebbfff7a88b6b667ff4e3f9f904eaaba71cbf02a140f3b7007c61fbd8f34576974686472617720526577617264656420546f6b656e730003014e6f64652049440000537472696e6700030244656c656761746f72204944000155496e743332000301416d6f756e7400025546697836340003", + "hash": "5a07ca4c016973bdeb168590e111b2c2855833b5ece11ffb28b08b8668f258a8" }, { - "title": "SCO.07 - Stake Rewarded Tokens - 2", + "title": "SCO.11 - Withdraw Unstaked Tokens - 1", "valid": true, "chainID": "Testnet", "payloadMessage": { - "script": "import FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// Commits rewarded tokens to stake for the specified node or delegator in the staking collection\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n }\n\n execute {\n self.stakingCollectionRef.stakeRewardedTokens(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", + "script": "import FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// Request to withdraw unstaked tokens for the specified node or delegator in the staking collection\n/// The tokens are automatically deposited to the unlocked account vault first,\n/// And then any locked tokens are deposited into the locked account vault if it is there\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: auth(FlowStakingCollection.CollectionOwner) &FlowStakingCollection.StakingCollection\n\n prepare(account: auth(BorrowValue) &Account) {\n self.stakingCollectionRef = account.storage.borrow(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow a reference to a StakingCollection in the primary user's account\")\n }\n\n execute {\n self.stakingCollectionRef.withdrawUnstakedTokens(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", "arguments": [ { "type": "String", "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" }, { - "type": "Optional", - "value": { - "type": "UInt32", - "value": "42" - } + "value": null, + "type": "Optional" }, { - "type": "UFix64", - "value": "92233720368.54775808" + "value": "92233720368.54775808", + "type": "UFix64" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -1689,22 +1768,19 @@ ] }, "envelopeMessage": { - "script": "import FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// Commits rewarded tokens to stake for the specified node or delegator in the staking collection\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n }\n\n execute {\n self.stakingCollectionRef.stakeRewardedTokens(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", + "script": "import FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// Request to withdraw unstaked tokens for the specified node or delegator in the staking collection\n/// The tokens are automatically deposited to the unlocked account vault first,\n/// And then any locked tokens are deposited into the locked account vault if it is there\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: auth(FlowStakingCollection.CollectionOwner) &FlowStakingCollection.StakingCollection\n\n prepare(account: auth(BorrowValue) &Account) {\n self.stakingCollectionRef = account.storage.borrow(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow a reference to a StakingCollection in the primary user's account\")\n }\n\n execute {\n self.stakingCollectionRef.withdrawUnstakedTokens(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", "arguments": [ { "type": "String", "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" }, { - "type": "Optional", - "value": { - "type": "UInt32", - "value": "42" - } + "value": null, + "type": "Optional" }, { - "type": "UFix64", - "value": "92233720368.54775808" + "value": "92233720368.54775808", + "type": "UFix64" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -1720,29 +1796,32 @@ ], "payloadSigs": [] }, - "encodedTransactionPayloadHex": "f903c5b902b5696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f20436f6d6d69747320726577617264656420746f6b656e7320746f207374616b6520666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e7374616b655265776172646564546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8cbb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db83a7b2274797065223a224f7074696f6e616c222c2276616c7565223a7b2274797065223a2255496e743332222c2276616c7565223a223432227d7db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", - "encodedTransactionEnvelopeHex": "f903c9f903c5b902b5696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f20436f6d6d69747320726577617264656420746f6b656e7320746f207374616b6520666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e7374616b655265776172646564546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8cbb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db83a7b2274797065223a224f7074696f6e616c222c2276616c7565223a7b2274797065223a2255496e743332222c2276616c7565223a223432227d7db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", - "metadata": "02d7aca7113a7aa03e0afd20ee36f4873779708a02ac4c6985017740c2ecea3d62907c4cfd67a98a8003393c64dc74eb7a957b229352a266139a542bb105ac4c405374616b6520526577617264656420546f6b656e730003014e6f64652049440000537472696e6700030244656c656761746f72204944000155496e743332000301416d6f756e7400025546697836340003", - "hash": "d7aca7113a7aa03e0afd20ee36f4873779708a02ac4c6985017740c2ecea3d62" + "encodedTransactionPayloadHex": "f904f1b903fc696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f205265717565737420746f20776974686472617720756e7374616b656420746f6b656e7320666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f2054686520746f6b656e7320617265206175746f6d61746963616c6c79206465706f736974656420746f2074686520756e6c6f636b6564206163636f756e74207661756c742066697273742c0a2f2f2f20416e64207468656e20616e79206c6f636b656420746f6b656e7320617265206465706f736974656420696e746f20746865206c6f636b6564206163636f756e74207661756c742069662069742069732074686572650a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a206175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a206175746828426f72726f7756616c75652920264163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e73746f726167652e626f72726f773c6175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f2061205374616b696e67436f6c6c656374696f6e20696e20746865207072696d61727920757365722773206163636f756e7422290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e7769746864726177556e7374616b6564546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8b0b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227da07b2276616c7565223a6e756c6c2c2274797065223a224f7074696f6e616c227db07b2276616c7565223a2239323233333732303336382e3534373735383038222c2274797065223a22554669783634227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", + "encodedTransactionEnvelopeHex": "f904f5f904f1b903fc696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f205265717565737420746f20776974686472617720756e7374616b656420746f6b656e7320666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f2054686520746f6b656e7320617265206175746f6d61746963616c6c79206465706f736974656420746f2074686520756e6c6f636b6564206163636f756e74207661756c742066697273742c0a2f2f2f20416e64207468656e20616e79206c6f636b656420746f6b656e7320617265206465706f736974656420696e746f20746865206c6f636b6564206163636f756e74207661756c742069662069742069732074686572650a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a206175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a206175746828426f72726f7756616c75652920264163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e73746f726167652e626f72726f773c6175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f2061205374616b696e67436f6c6c656374696f6e20696e20746865207072696d61727920757365722773206163636f756e7422290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e7769746864726177556e7374616b6564546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8b0b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227da07b2276616c7565223a6e756c6c2c2274797065223a224f7074696f6e616c227db07b2276616c7565223a2239323233333732303336382e3534373735383038222c2274797065223a22554669783634227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", + "metadata": "0201fd4ea83d20510d24ed9f245873a7ee2715aefb774495c80bce7e3e34d6442ec2484f17e640e285769c3edaa6f2d090dcef1f2f57983f82b7179c3c047290ca576974686472617720556e7374616b656420546f6b656e730003014e6f64652049440000537472696e6700030244656c656761746f72204944000155496e743332000301416d6f756e7400025546697836340003", + "hash": "01fd4ea83d20510d24ed9f245873a7ee2715aefb774495c80bce7e3e34d6442e" }, { - "title": "SCO.08 - Stake Unstaked Tokens - 1", + "title": "SCO.11 - Withdraw Unstaked Tokens - 2", "valid": true, "chainID": "Testnet", "payloadMessage": { - "script": "import FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// Commits unstaked tokens to stake for the specified node or delegator in the staking collection\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n }\n\n execute {\n self.stakingCollectionRef.stakeUnstakedTokens(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", + "script": "import FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// Request to withdraw unstaked tokens for the specified node or delegator in the staking collection\n/// The tokens are automatically deposited to the unlocked account vault first,\n/// And then any locked tokens are deposited into the locked account vault if it is there\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: auth(FlowStakingCollection.CollectionOwner) &FlowStakingCollection.StakingCollection\n\n prepare(account: auth(BorrowValue) &Account) {\n self.stakingCollectionRef = account.storage.borrow(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow a reference to a StakingCollection in the primary user's account\")\n }\n\n execute {\n self.stakingCollectionRef.withdrawUnstakedTokens(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", "arguments": [ { "type": "String", "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" }, { - "type": "Optional", - "value": null + "value": { + "value": "42", + "type": "UInt32" + }, + "type": "Optional" }, { - "type": "UFix64", - "value": "92233720368.54775808" + "value": "92233720368.54775808", + "type": "UFix64" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -1758,19 +1837,22 @@ ] }, "envelopeMessage": { - "script": "import FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// Commits unstaked tokens to stake for the specified node or delegator in the staking collection\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n }\n\n execute {\n self.stakingCollectionRef.stakeUnstakedTokens(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", + "script": "import FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// Request to withdraw unstaked tokens for the specified node or delegator in the staking collection\n/// The tokens are automatically deposited to the unlocked account vault first,\n/// And then any locked tokens are deposited into the locked account vault if it is there\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: auth(FlowStakingCollection.CollectionOwner) &FlowStakingCollection.StakingCollection\n\n prepare(account: auth(BorrowValue) &Account) {\n self.stakingCollectionRef = account.storage.borrow(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow a reference to a StakingCollection in the primary user's account\")\n }\n\n execute {\n self.stakingCollectionRef.withdrawUnstakedTokens(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", "arguments": [ { "type": "String", "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" }, { - "type": "Optional", - "value": null + "value": { + "value": "42", + "type": "UInt32" + }, + "type": "Optional" }, { - "type": "UFix64", - "value": "92233720368.54775808" + "value": "92233720368.54775808", + "type": "UFix64" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -1786,32 +1868,28 @@ ], "payloadSigs": [] }, - "encodedTransactionPayloadHex": "f903aab902b5696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f20436f6d6d69747320756e7374616b656420746f6b656e7320746f207374616b6520666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e7374616b65556e7374616b6564546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8b0b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227da07b2274797065223a224f7074696f6e616c222c2276616c7565223a6e756c6c7db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", - "encodedTransactionEnvelopeHex": "f903aef903aab902b5696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f20436f6d6d69747320756e7374616b656420746f6b656e7320746f207374616b6520666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e7374616b65556e7374616b6564546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8b0b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227da07b2274797065223a224f7074696f6e616c222c2276616c7565223a6e756c6c7db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", - "metadata": "023595fcd68cff445c65ad99f8d4d726b5e28807b061800769c41cbe3adb98aeec082e690b9647182cf6969db1a0fa8e0f1728da6db01fe0d462e9f0841c268cbb5374616b6520556e7374616b656420546f6b656e730003014e6f64652049440000537472696e6700030244656c656761746f72204944000155496e743332000301416d6f756e7400025546697836340003", - "hash": "3595fcd68cff445c65ad99f8d4d726b5e28807b061800769c41cbe3adb98aeec" + "encodedTransactionPayloadHex": "f9050cb903fc696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f205265717565737420746f20776974686472617720756e7374616b656420746f6b656e7320666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f2054686520746f6b656e7320617265206175746f6d61746963616c6c79206465706f736974656420746f2074686520756e6c6f636b6564206163636f756e74207661756c742066697273742c0a2f2f2f20416e64207468656e20616e79206c6f636b656420746f6b656e7320617265206465706f736974656420696e746f20746865206c6f636b6564206163636f756e74207661756c742069662069742069732074686572650a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a206175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a206175746828426f72726f7756616c75652920264163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e73746f726167652e626f72726f773c6175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f2061205374616b696e67436f6c6c656374696f6e20696e20746865207072696d61727920757365722773206163636f756e7422290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e7769746864726177556e7374616b6564546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8cbb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db83a7b2276616c7565223a7b2276616c7565223a223432222c2274797065223a2255496e743332227d2c2274797065223a224f7074696f6e616c227db07b2276616c7565223a2239323233333732303336382e3534373735383038222c2274797065223a22554669783634227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", + "encodedTransactionEnvelopeHex": "f90510f9050cb903fc696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f205265717565737420746f20776974686472617720756e7374616b656420746f6b656e7320666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f2054686520746f6b656e7320617265206175746f6d61746963616c6c79206465706f736974656420746f2074686520756e6c6f636b6564206163636f756e74207661756c742066697273742c0a2f2f2f20416e64207468656e20616e79206c6f636b656420746f6b656e7320617265206465706f736974656420696e746f20746865206c6f636b6564206163636f756e74207661756c742069662069742069732074686572650a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a206175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a206175746828426f72726f7756616c75652920264163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e73746f726167652e626f72726f773c6175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f2061205374616b696e67436f6c6c656374696f6e20696e20746865207072696d61727920757365722773206163636f756e7422290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e7769746864726177556e7374616b6564546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8cbb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db83a7b2276616c7565223a7b2276616c7565223a223432222c2274797065223a2255496e743332227d2c2274797065223a224f7074696f6e616c227db07b2276616c7565223a2239323233333732303336382e3534373735383038222c2274797065223a22554669783634227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", + "metadata": "0201fd4ea83d20510d24ed9f245873a7ee2715aefb774495c80bce7e3e34d6442ec2484f17e640e285769c3edaa6f2d090dcef1f2f57983f82b7179c3c047290ca576974686472617720556e7374616b656420546f6b656e730003014e6f64652049440000537472696e6700030244656c656761746f72204944000155496e743332000301416d6f756e7400025546697836340003", + "hash": "01fd4ea83d20510d24ed9f245873a7ee2715aefb774495c80bce7e3e34d6442e" }, { - "title": "SCO.08 - Stake Unstaked Tokens - 2", + "title": "SCO.12 - Close Stake - 1", "valid": true, "chainID": "Testnet", "payloadMessage": { - "script": "import FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// Commits unstaked tokens to stake for the specified node or delegator in the staking collection\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n }\n\n execute {\n self.stakingCollectionRef.stakeUnstakedTokens(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", + "script": "import FlowStakingCollection from 0x95e019a17d0e23d7\n\n// Closes out a staking object in the staking collection\n// This does not remove the record from the identity table,\n// but it does mean that the account that closes it cannot ever access it again\n\ntransaction(nodeID: String, delegatorID: UInt32?) {\n \n let stakingCollectionRef: auth(FlowStakingCollection.CollectionOwner) &FlowStakingCollection.StakingCollection\n\n prepare(account: auth(BorrowValue) &Account) {\n self.stakingCollectionRef = account.storage.borrow(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow a reference to a StakingCollection in the primary user's account\")\n }\n\n execute {\n self.stakingCollectionRef.closeStake(nodeID: nodeID, delegatorID: delegatorID)\n }\n}\n", "arguments": [ { "type": "String", "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" }, { - "type": "Optional", "value": { - "type": "UInt32", - "value": "42" - } - }, - { - "type": "UFix64", - "value": "92233720368.54775808" + "value": "42", + "type": "UInt32" + }, + "type": "Optional" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -1827,22 +1905,18 @@ ] }, "envelopeMessage": { - "script": "import FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// Commits unstaked tokens to stake for the specified node or delegator in the staking collection\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n }\n\n execute {\n self.stakingCollectionRef.stakeUnstakedTokens(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", + "script": "import FlowStakingCollection from 0x95e019a17d0e23d7\n\n// Closes out a staking object in the staking collection\n// This does not remove the record from the identity table,\n// but it does mean that the account that closes it cannot ever access it again\n\ntransaction(nodeID: String, delegatorID: UInt32?) {\n \n let stakingCollectionRef: auth(FlowStakingCollection.CollectionOwner) &FlowStakingCollection.StakingCollection\n\n prepare(account: auth(BorrowValue) &Account) {\n self.stakingCollectionRef = account.storage.borrow(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow a reference to a StakingCollection in the primary user's account\")\n }\n\n execute {\n self.stakingCollectionRef.closeStake(nodeID: nodeID, delegatorID: delegatorID)\n }\n}\n", "arguments": [ { "type": "String", "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" }, { - "type": "Optional", "value": { - "type": "UInt32", - "value": "42" - } - }, - { - "type": "UFix64", - "value": "92233720368.54775808" + "value": "42", + "type": "UInt32" + }, + "type": "Optional" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -1858,21 +1932,25 @@ ], "payloadSigs": [] }, - "encodedTransactionPayloadHex": "f903c5b902b5696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f20436f6d6d69747320756e7374616b656420746f6b656e7320746f207374616b6520666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e7374616b65556e7374616b6564546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8cbb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db83a7b2274797065223a224f7074696f6e616c222c2276616c7565223a7b2274797065223a2255496e743332222c2276616c7565223a223432227d7db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", - "encodedTransactionEnvelopeHex": "f903c9f903c5b902b5696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f20436f6d6d69747320756e7374616b656420746f6b656e7320746f207374616b6520666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e7374616b65556e7374616b6564546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8cbb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db83a7b2274797065223a224f7074696f6e616c222c2276616c7565223a7b2274797065223a2255496e743332222c2276616c7565223a223432227d7db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", - "metadata": "023595fcd68cff445c65ad99f8d4d726b5e28807b061800769c41cbe3adb98aeec082e690b9647182cf6969db1a0fa8e0f1728da6db01fe0d462e9f0841c268cbb5374616b6520556e7374616b656420546f6b656e730003014e6f64652049440000537472696e6700030244656c656761746f72204944000155496e743332000301416d6f756e7400025546697836340003", - "hash": "3595fcd68cff445c65ad99f8d4d726b5e28807b061800769c41cbe3adb98aeec" + "encodedTransactionPayloadHex": "f90464b90385696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f20436c6f736573206f75742061207374616b696e67206f626a65637420696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f205468697320646f6573206e6f742072656d6f766520746865207265636f72642066726f6d20746865206964656e74697479207461626c652c0a2f2f2062757420697420646f6573206d65616e207468617420746865206163636f756e74207468617420636c6f7365732069742063616e6e6f7420657665722061636365737320697420616761696e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f29207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a206175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a206175746828426f72726f7756616c75652920264163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e73746f726167652e626f72726f773c6175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f2061205374616b696e67436f6c6c656374696f6e20696e20746865207072696d61727920757365722773206163636f756e7422290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e636c6f73655374616b65286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f724944290a202020207d0a7d0af89ab85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db83a7b2276616c7565223a7b2276616c7565223a223432222c2274797065223a2255496e743332227d2c2274797065223a224f7074696f6e616c227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", + "encodedTransactionEnvelopeHex": "f90468f90464b90385696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f20436c6f736573206f75742061207374616b696e67206f626a65637420696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f205468697320646f6573206e6f742072656d6f766520746865207265636f72642066726f6d20746865206964656e74697479207461626c652c0a2f2f2062757420697420646f6573206d65616e207468617420746865206163636f756e74207468617420636c6f7365732069742063616e6e6f7420657665722061636365737320697420616761696e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f29207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a206175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a206175746828426f72726f7756616c75652920264163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e73746f726167652e626f72726f773c6175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f2061205374616b696e67436f6c6c656374696f6e20696e20746865207072696d61727920757365722773206163636f756e7422290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e636c6f73655374616b65286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f724944290a202020207d0a7d0af89ab85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db83a7b2276616c7565223a7b2276616c7565223a223432222c2274797065223a2255496e743332227d2c2274797065223a224f7074696f6e616c227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", + "metadata": "027e216d96d75414b27c2301a3b0a7816804d43014337a14731d1493531116d185a0fad319bf8aede66212257ad0d21532858381e2c9d7c4cec179b28180f5be93436c6f7365205374616b650002014e6f64652049440000537472696e6700030244656c656761746f72204944000155496e7433320003", + "hash": "7e216d96d75414b27c2301a3b0a7816804d43014337a14731d1493531116d185" }, { - "title": "SCO.09 - Unstake All", + "title": "SCO.12 - Close Stake - 2", "valid": true, "chainID": "Testnet", "payloadMessage": { - "script": "import FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// Requests to unstake ALL tokens for the specified node or delegator in the staking collection\n\ntransaction(nodeID: String) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n }\n\n execute {\n self.stakingCollectionRef.unstakeAll(nodeID: nodeID)\n }\n}\n", + "script": "import FlowStakingCollection from 0x95e019a17d0e23d7\n\n// Closes out a staking object in the staking collection\n// This does not remove the record from the identity table,\n// but it does mean that the account that closes it cannot ever access it again\n\ntransaction(nodeID: String, delegatorID: UInt32?) {\n \n let stakingCollectionRef: auth(FlowStakingCollection.CollectionOwner) &FlowStakingCollection.StakingCollection\n\n prepare(account: auth(BorrowValue) &Account) {\n self.stakingCollectionRef = account.storage.borrow(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow a reference to a StakingCollection in the primary user's account\")\n }\n\n execute {\n self.stakingCollectionRef.closeStake(nodeID: nodeID, delegatorID: delegatorID)\n }\n}\n", "arguments": [ { "type": "String", "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" + }, + { + "value": null, + "type": "Optional" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -1888,11 +1966,15 @@ ] }, "envelopeMessage": { - "script": "import FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// Requests to unstake ALL tokens for the specified node or delegator in the staking collection\n\ntransaction(nodeID: String) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n }\n\n execute {\n self.stakingCollectionRef.unstakeAll(nodeID: nodeID)\n }\n}\n", + "script": "import FlowStakingCollection from 0x95e019a17d0e23d7\n\n// Closes out a staking object in the staking collection\n// This does not remove the record from the identity table,\n// but it does mean that the account that closes it cannot ever access it again\n\ntransaction(nodeID: String, delegatorID: UInt32?) {\n \n let stakingCollectionRef: auth(FlowStakingCollection.CollectionOwner) &FlowStakingCollection.StakingCollection\n\n prepare(account: auth(BorrowValue) &Account) {\n self.stakingCollectionRef = account.storage.borrow(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow a reference to a StakingCollection in the primary user's account\")\n }\n\n execute {\n self.stakingCollectionRef.closeStake(nodeID: nodeID, delegatorID: delegatorID)\n }\n}\n", "arguments": [ { "type": "String", "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" + }, + { + "value": null, + "type": "Optional" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -1908,32 +1990,25 @@ ], "payloadSigs": [] }, - "encodedTransactionPayloadHex": "f902fdb9025a696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f20526571756573747320746f20756e7374616b6520414c4c20746f6b656e7320666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a0a7472616e73616374696f6e286e6f646549443a20537472696e6729207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e756e7374616b65416c6c286e6f646549443a206e6f64654944290a202020207d0a7d0af85eb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", - "encodedTransactionEnvelopeHex": "f90301f902fdb9025a696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f20526571756573747320746f20756e7374616b6520414c4c20746f6b656e7320666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a0a7472616e73616374696f6e286e6f646549443a20537472696e6729207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e756e7374616b65416c6c286e6f646549443a206e6f64654944290a202020207d0a7d0af85eb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", - "metadata": "020bde358f3965ba2f4c18fb45b6536857c3f53d7d3b740fe66fe93a4ebf7524c1df9c6486baa6f8f685368ea216659239cb81fa8ebd9062a9723edb54ca0d7525556e7374616b6520416c6c0001014e6f64652049440000537472696e670003", - "hash": "0bde358f3965ba2f4c18fb45b6536857c3f53d7d3b740fe66fe93a4ebf7524c1" + "encodedTransactionPayloadHex": "f90449b90385696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f20436c6f736573206f75742061207374616b696e67206f626a65637420696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f205468697320646f6573206e6f742072656d6f766520746865207265636f72642066726f6d20746865206964656e74697479207461626c652c0a2f2f2062757420697420646f6573206d65616e207468617420746865206163636f756e74207468617420636c6f7365732069742063616e6e6f7420657665722061636365737320697420616761696e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f29207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a206175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a206175746828426f72726f7756616c75652920264163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e73746f726167652e626f72726f773c6175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f2061205374616b696e67436f6c6c656374696f6e20696e20746865207072696d61727920757365722773206163636f756e7422290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e636c6f73655374616b65286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f724944290a202020207d0a7d0af87fb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227da07b2276616c7565223a6e756c6c2c2274797065223a224f7074696f6e616c227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", + "encodedTransactionEnvelopeHex": "f9044df90449b90385696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f20436c6f736573206f75742061207374616b696e67206f626a65637420696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f205468697320646f6573206e6f742072656d6f766520746865207265636f72642066726f6d20746865206964656e74697479207461626c652c0a2f2f2062757420697420646f6573206d65616e207468617420746865206163636f756e74207468617420636c6f7365732069742063616e6e6f7420657665722061636365737320697420616761696e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f29207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a206175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a206175746828426f72726f7756616c75652920264163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e73746f726167652e626f72726f773c6175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f2061205374616b696e67436f6c6c656374696f6e20696e20746865207072696d61727920757365722773206163636f756e7422290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e636c6f73655374616b65286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f724944290a202020207d0a7d0af87fb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227da07b2276616c7565223a6e756c6c2c2274797065223a224f7074696f6e616c227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", + "metadata": "027e216d96d75414b27c2301a3b0a7816804d43014337a14731d1493531116d185a0fad319bf8aede66212257ad0d21532858381e2c9d7c4cec179b28180f5be93436c6f7365205374616b650002014e6f64652049440000537472696e6700030244656c656761746f72204944000155496e7433320003", + "hash": "7e216d96d75414b27c2301a3b0a7816804d43014337a14731d1493531116d185" }, { - "title": "SCO.10 - Withdraw Rewarded Tokens - 1", + "title": "SCO.13 - Transfer Node", "valid": true, "chainID": "Testnet", "payloadMessage": { - "script": "import FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// Request to withdraw rewarded tokens for the specified node or delegator in the staking collection\n/// The tokens are automatically deposited to the unlocked account vault first,\n/// And then any locked tokens are deposited into the locked account vault\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n }\n\n execute {\n self.stakingCollectionRef.withdrawRewardedTokens(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", + "script": "import FlowStakingCollection from 0x95e019a17d0e23d7\n\n// Transfers a NodeStaker object from an authorizers accoount\n// and adds the NodeStaker to another accounts Staking Collection\n// identified by the to Address.\n\ntransaction(nodeID: String, to: Address) {\n let fromStakingCollectionRef: auth(FlowStakingCollection.CollectionOwner) &FlowStakingCollection.StakingCollection\n let toStakingCollectionCap: &FlowStakingCollection.StakingCollection\n\n prepare(account: auth(BorrowValue) &Account) {\n // The account to transfer the NodeStaker object to must have a valid Staking Collection in order to receive the NodeStaker.\n if (!FlowStakingCollection.doesAccountHaveStakingCollection(address: to)) {\n panic(\"Destination account must have a Staking Collection set up.\")\n }\n\n // Get a reference to the authorizers StakingCollection\n self.fromStakingCollectionRef = account.storage.borrow(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow a reference to a StakingCollection in the primary user's account\")\n\n // Get the PublicAccount of the account to transfer the NodeStaker to. \n let toAccount = getAccount(to)\n\n // Borrow a capability to the public methods available on the receivers StakingCollection.\n self.toStakingCollectionCap = toAccount.capabilities\n .borrow<&FlowStakingCollection.StakingCollection>(FlowStakingCollection.StakingCollectionPublicPath)\n ?? panic(\"Could not borrow a reference to a StakingCollection in the receiver's account\")\n\n let machineAccountInfo = self.fromStakingCollectionRef.getMachineAccounts()[nodeID]\n ?? panic(\"Could not get machine account info for the specified node ID\")\n\n // Remove the NodeStaker from the authorizers StakingCollection.\n let nodeStaker <- self.fromStakingCollectionRef.removeNode(nodeID: nodeID)\n\n // Deposit the NodeStaker to the receivers StakingCollection.\n self.toStakingCollectionCap.addNodeObject(<- nodeStaker!, machineAccountInfo: machineAccountInfo)\n }\n}", "arguments": [ { "type": "String", "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" }, { - "type": "Optional", - "value": { - "type": "UInt32", - "value": "42" - } - }, - { - "type": "UFix64", - "value": "92233720368.54775808" + "value": "0x8c5303eaa26202d6", + "type": "Address" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -1949,22 +2024,15 @@ ] }, "envelopeMessage": { - "script": "import FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// Request to withdraw rewarded tokens for the specified node or delegator in the staking collection\n/// The tokens are automatically deposited to the unlocked account vault first,\n/// And then any locked tokens are deposited into the locked account vault\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n }\n\n execute {\n self.stakingCollectionRef.withdrawRewardedTokens(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", + "script": "import FlowStakingCollection from 0x95e019a17d0e23d7\n\n// Transfers a NodeStaker object from an authorizers accoount\n// and adds the NodeStaker to another accounts Staking Collection\n// identified by the to Address.\n\ntransaction(nodeID: String, to: Address) {\n let fromStakingCollectionRef: auth(FlowStakingCollection.CollectionOwner) &FlowStakingCollection.StakingCollection\n let toStakingCollectionCap: &FlowStakingCollection.StakingCollection\n\n prepare(account: auth(BorrowValue) &Account) {\n // The account to transfer the NodeStaker object to must have a valid Staking Collection in order to receive the NodeStaker.\n if (!FlowStakingCollection.doesAccountHaveStakingCollection(address: to)) {\n panic(\"Destination account must have a Staking Collection set up.\")\n }\n\n // Get a reference to the authorizers StakingCollection\n self.fromStakingCollectionRef = account.storage.borrow(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow a reference to a StakingCollection in the primary user's account\")\n\n // Get the PublicAccount of the account to transfer the NodeStaker to. \n let toAccount = getAccount(to)\n\n // Borrow a capability to the public methods available on the receivers StakingCollection.\n self.toStakingCollectionCap = toAccount.capabilities\n .borrow<&FlowStakingCollection.StakingCollection>(FlowStakingCollection.StakingCollectionPublicPath)\n ?? panic(\"Could not borrow a reference to a StakingCollection in the receiver's account\")\n\n let machineAccountInfo = self.fromStakingCollectionRef.getMachineAccounts()[nodeID]\n ?? panic(\"Could not get machine account info for the specified node ID\")\n\n // Remove the NodeStaker from the authorizers StakingCollection.\n let nodeStaker <- self.fromStakingCollectionRef.removeNode(nodeID: nodeID)\n\n // Deposit the NodeStaker to the receivers StakingCollection.\n self.toStakingCollectionCap.addNodeObject(<- nodeStaker!, machineAccountInfo: machineAccountInfo)\n }\n}", "arguments": [ { "type": "String", "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" }, { - "type": "Optional", - "value": { - "type": "UInt32", - "value": "42" - } - }, - { - "type": "UFix64", - "value": "92233720368.54775808" + "value": "0x8c5303eaa26202d6", + "type": "Address" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -1980,29 +2048,29 @@ ], "payloadSigs": [] }, - "encodedTransactionPayloadHex": "f90466b90356696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f205265717565737420746f20776974686472617720726577617264656420746f6b656e7320666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f2054686520746f6b656e7320617265206175746f6d61746963616c6c79206465706f736974656420746f2074686520756e6c6f636b6564206163636f756e74207661756c742066697273742c0a2f2f2f20416e64207468656e20616e79206c6f636b656420746f6b656e7320617265206465706f736974656420696e746f20746865206c6f636b6564206163636f756e74207661756c740a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e77697468647261775265776172646564546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8cbb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db83a7b2274797065223a224f7074696f6e616c222c2276616c7565223a7b2274797065223a2255496e743332222c2276616c7565223a223432227d7db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", - "encodedTransactionEnvelopeHex": "f9046af90466b90356696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f205265717565737420746f20776974686472617720726577617264656420746f6b656e7320666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f2054686520746f6b656e7320617265206175746f6d61746963616c6c79206465706f736974656420746f2074686520756e6c6f636b6564206163636f756e74207661756c742066697273742c0a2f2f2f20416e64207468656e20616e79206c6f636b656420746f6b656e7320617265206465706f736974656420696e746f20746865206c6f636b6564206163636f756e74207661756c740a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e77697468647261775265776172646564546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8cbb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db83a7b2274797065223a224f7074696f6e616c222c2276616c7565223a7b2274797065223a2255496e743332222c2276616c7565223a223432227d7db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", - "metadata": "023af182f568b37a8067d3fb524afcfe96991c85a928bf7651e730be0e15fdb72d27a2b60d538b8bb883b602ea83d1697986a29dd69a44a9209dc75affb9e63299576974686472617720526577617264656420546f6b656e730003014e6f64652049440000537472696e6700030244656c656761746f72204944000155496e743332000301416d6f756e7400025546697836340003", - "hash": "3af182f568b37a8067d3fb524afcfe96991c85a928bf7651e730be0e15fdb72d" + "encodedTransactionPayloadHex": "f9096eb9089b696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f205472616e73666572732061204e6f64655374616b6572206f626a6563742066726f6d20616e20617574686f72697a657273206163636f6f756e740a2f2f20616e64206164647320746865204e6f64655374616b657220746f20616e6f74686572206163636f756e7473205374616b696e6720436f6c6c656374696f6e0a2f2f206964656e7469666965642062792074686520746f20416464726573732e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c20746f3a204164647265737329207b0a202020206c65742066726f6d5374616b696e67436f6c6c656374696f6e5265663a206175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a202020206c657420746f5374616b696e67436f6c6c656374696f6e4361703a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a206175746828426f72726f7756616c75652920264163636f756e7429207b0a20202020202020202f2f20546865206163636f756e7420746f207472616e7366657220746865204e6f64655374616b6572206f626a65637420746f206d757374206861766520612076616c6964205374616b696e6720436f6c6c656374696f6e20696e206f7264657220746f207265636569766520746865204e6f64655374616b65722e0a20202020202020206966202821466c6f775374616b696e67436f6c6c656374696f6e2e646f65734163636f756e74486176655374616b696e67436f6c6c656374696f6e28616464726573733a20746f2929207b0a20202020202020202020202070616e6963282244657374696e6174696f6e206163636f756e74206d75737420686176652061205374616b696e6720436f6c6c656374696f6e207365742075702e22290a20202020202020207d0a0a20202020202020202f2f204765742061207265666572656e636520746f2074686520617574686f72697a657273205374616b696e67436f6c6c656374696f6e0a202020202020202073656c662e66726f6d5374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e73746f726167652e626f72726f773c6175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f2061205374616b696e67436f6c6c656374696f6e20696e20746865207072696d61727920757365722773206163636f756e7422290a0a20202020202020202f2f2047657420746865205075626c69634163636f756e74206f6620746865206163636f756e7420746f207472616e7366657220746865204e6f64655374616b657220746f2e200a20202020202020206c657420746f4163636f756e74203d206765744163636f756e7428746f290a0a20202020202020202f2f20426f72726f772061206361706162696c69747920746f20746865207075626c6963206d6574686f647320617661696c61626c65206f6e2074686520726563656976657273205374616b696e67436f6c6c656374696f6e2e0a202020202020202073656c662e746f5374616b696e67436f6c6c656374696f6e436170203d20746f4163636f756e742e6361706162696c69746965730a2020202020202020202020202e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e28466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e5075626c696350617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f2061205374616b696e67436f6c6c656374696f6e20696e207468652072656365697665722773206163636f756e7422290a0a20202020202020206c6574206d616368696e654163636f756e74496e666f203d2073656c662e66726f6d5374616b696e67436f6c6c656374696f6e5265662e6765744d616368696e654163636f756e747328295b6e6f646549445d0a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420676574206d616368696e65206163636f756e7420696e666f20666f722074686520737065636966696564206e6f646520494422290a0a20202020202020202f2f2052656d6f766520746865204e6f64655374616b65722066726f6d2074686520617574686f72697a657273205374616b696e67436f6c6c656374696f6e2e0a20202020202020206c6574206e6f64655374616b6572203c2d2073656c662e66726f6d5374616b696e67436f6c6c656374696f6e5265662e72656d6f76654e6f6465286e6f646549443a206e6f64654944290a0a20202020202020202f2f204465706f73697420746865204e6f64655374616b657220746f2074686520726563656976657273205374616b696e67436f6c6c656374696f6e2e0a202020202020202073656c662e746f5374616b696e67436f6c6c656374696f6e4361702e6164644e6f64654f626a656374283c2d206e6f64655374616b6572212c206d616368696e654163636f756e74496e666f3a206d616368696e654163636f756e74496e666f290a202020207d0a7df88eb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227daf7b2276616c7565223a22307838633533303365616132363230326436222c2274797065223a2241646472657373227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", + "encodedTransactionEnvelopeHex": "f90972f9096eb9089b696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f205472616e73666572732061204e6f64655374616b6572206f626a6563742066726f6d20616e20617574686f72697a657273206163636f6f756e740a2f2f20616e64206164647320746865204e6f64655374616b657220746f20616e6f74686572206163636f756e7473205374616b696e6720436f6c6c656374696f6e0a2f2f206964656e7469666965642062792074686520746f20416464726573732e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c20746f3a204164647265737329207b0a202020206c65742066726f6d5374616b696e67436f6c6c656374696f6e5265663a206175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a202020206c657420746f5374616b696e67436f6c6c656374696f6e4361703a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a206175746828426f72726f7756616c75652920264163636f756e7429207b0a20202020202020202f2f20546865206163636f756e7420746f207472616e7366657220746865204e6f64655374616b6572206f626a65637420746f206d757374206861766520612076616c6964205374616b696e6720436f6c6c656374696f6e20696e206f7264657220746f207265636569766520746865204e6f64655374616b65722e0a20202020202020206966202821466c6f775374616b696e67436f6c6c656374696f6e2e646f65734163636f756e74486176655374616b696e67436f6c6c656374696f6e28616464726573733a20746f2929207b0a20202020202020202020202070616e6963282244657374696e6174696f6e206163636f756e74206d75737420686176652061205374616b696e6720436f6c6c656374696f6e207365742075702e22290a20202020202020207d0a0a20202020202020202f2f204765742061207265666572656e636520746f2074686520617574686f72697a657273205374616b696e67436f6c6c656374696f6e0a202020202020202073656c662e66726f6d5374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e73746f726167652e626f72726f773c6175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f2061205374616b696e67436f6c6c656374696f6e20696e20746865207072696d61727920757365722773206163636f756e7422290a0a20202020202020202f2f2047657420746865205075626c69634163636f756e74206f6620746865206163636f756e7420746f207472616e7366657220746865204e6f64655374616b657220746f2e200a20202020202020206c657420746f4163636f756e74203d206765744163636f756e7428746f290a0a20202020202020202f2f20426f72726f772061206361706162696c69747920746f20746865207075626c6963206d6574686f647320617661696c61626c65206f6e2074686520726563656976657273205374616b696e67436f6c6c656374696f6e2e0a202020202020202073656c662e746f5374616b696e67436f6c6c656374696f6e436170203d20746f4163636f756e742e6361706162696c69746965730a2020202020202020202020202e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e28466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e5075626c696350617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f2061205374616b696e67436f6c6c656374696f6e20696e207468652072656365697665722773206163636f756e7422290a0a20202020202020206c6574206d616368696e654163636f756e74496e666f203d2073656c662e66726f6d5374616b696e67436f6c6c656374696f6e5265662e6765744d616368696e654163636f756e747328295b6e6f646549445d0a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420676574206d616368696e65206163636f756e7420696e666f20666f722074686520737065636966696564206e6f646520494422290a0a20202020202020202f2f2052656d6f766520746865204e6f64655374616b65722066726f6d2074686520617574686f72697a657273205374616b696e67436f6c6c656374696f6e2e0a20202020202020206c6574206e6f64655374616b6572203c2d2073656c662e66726f6d5374616b696e67436f6c6c656374696f6e5265662e72656d6f76654e6f6465286e6f646549443a206e6f64654944290a0a20202020202020202f2f204465706f73697420746865204e6f64655374616b657220746f2074686520726563656976657273205374616b696e67436f6c6c656374696f6e2e0a202020202020202073656c662e746f5374616b696e67436f6c6c656374696f6e4361702e6164644e6f64654f626a656374283c2d206e6f64655374616b6572212c206d616368696e654163636f756e74496e666f3a206d616368696e654163636f756e74496e666f290a202020207d0a7df88eb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227daf7b2276616c7565223a22307838633533303365616132363230326436222c2274797065223a2241646472657373227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", + "metadata": "02311f4071dda8b17ac6cbc6f0a27e98bd426026825d3c68308903fead884e616e38bfd23b200ecef4d13fa3c2ea998b51e6a24f3a8ceb260d2affab7c918a97d05472616e73666572204e6f64650002014e6f64652049440000537472696e67000301416464726573730001416464726573730003", + "hash": "311f4071dda8b17ac6cbc6f0a27e98bd426026825d3c68308903fead884e616e" }, { - "title": "SCO.10 - Withdraw Rewarded Tokens - 2", + "title": "SCO.14 - Transfer Delegator", "valid": true, "chainID": "Testnet", "payloadMessage": { - "script": "import FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// Request to withdraw rewarded tokens for the specified node or delegator in the staking collection\n/// The tokens are automatically deposited to the unlocked account vault first,\n/// And then any locked tokens are deposited into the locked account vault\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n }\n\n execute {\n self.stakingCollectionRef.withdrawRewardedTokens(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", + "script": "import FlowStakingCollection from 0x95e019a17d0e23d7\n\n// Transfers a NodeDelegator object from an authorizers accoount\n// and adds the NodeDelegator to another accounts Staking Collection\n// identified by the to Address.\n\ntransaction(nodeID: String, delegatorID: UInt32, to: Address) {\n let fromStakingCollectionRef: auth(FlowStakingCollection.CollectionOwner) &FlowStakingCollection.StakingCollection\n let toStakingCollectionCap: &FlowStakingCollection.StakingCollection\n\n prepare(account: auth(BorrowValue) &Account) {\n // The account to transfer the NodeDelegator object to must have a valid Staking Collection in order to receive the NodeDelegator.\n if (!FlowStakingCollection.doesAccountHaveStakingCollection(address: to)) {\n panic(\"Destination account must have a Staking Collection set up.\")\n }\n\n // Get a reference to the authorizers StakingCollection\n self.fromStakingCollectionRef = account.storage.borrow(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow a reference to a StakingCollection in the primary user's account\")\n\n // Get the PublicAccount of the account to transfer the NodeDelegator to. \n let toAccount = getAccount(to)\n\n // Borrow a capability to the public methods available on the receivers StakingCollection.\n self.toStakingCollectionCap = toAccount.capabilities\n .borrow<&FlowStakingCollection.StakingCollection>(FlowStakingCollection.StakingCollectionPublicPath)\n ?? panic(\"Could not borrow a referamce to a StakingCollection in the receiver's account\")\n }\n\n execute {\n // Remove the NodeDelegator from the authorizers StakingCollection.\n let nodeDelegator <- self.fromStakingCollectionRef.removeDelegator(nodeID: nodeID, delegatorID: delegatorID)\n\n // Deposit the NodeDelegator to the receivers StakingCollection.\n self.toStakingCollectionCap.addDelegatorObject(<- nodeDelegator!)\n }\n}", "arguments": [ { "type": "String", "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" }, { - "type": "Optional", - "value": null + "value": "42", + "type": "UInt32" }, { - "type": "UFix64", - "value": "92233720368.54775808" + "value": "0x8c5303eaa26202d6", + "type": "Address" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -2018,19 +2086,19 @@ ] }, "envelopeMessage": { - "script": "import FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// Request to withdraw rewarded tokens for the specified node or delegator in the staking collection\n/// The tokens are automatically deposited to the unlocked account vault first,\n/// And then any locked tokens are deposited into the locked account vault\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n }\n\n execute {\n self.stakingCollectionRef.withdrawRewardedTokens(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", + "script": "import FlowStakingCollection from 0x95e019a17d0e23d7\n\n// Transfers a NodeDelegator object from an authorizers accoount\n// and adds the NodeDelegator to another accounts Staking Collection\n// identified by the to Address.\n\ntransaction(nodeID: String, delegatorID: UInt32, to: Address) {\n let fromStakingCollectionRef: auth(FlowStakingCollection.CollectionOwner) &FlowStakingCollection.StakingCollection\n let toStakingCollectionCap: &FlowStakingCollection.StakingCollection\n\n prepare(account: auth(BorrowValue) &Account) {\n // The account to transfer the NodeDelegator object to must have a valid Staking Collection in order to receive the NodeDelegator.\n if (!FlowStakingCollection.doesAccountHaveStakingCollection(address: to)) {\n panic(\"Destination account must have a Staking Collection set up.\")\n }\n\n // Get a reference to the authorizers StakingCollection\n self.fromStakingCollectionRef = account.storage.borrow(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow a reference to a StakingCollection in the primary user's account\")\n\n // Get the PublicAccount of the account to transfer the NodeDelegator to. \n let toAccount = getAccount(to)\n\n // Borrow a capability to the public methods available on the receivers StakingCollection.\n self.toStakingCollectionCap = toAccount.capabilities\n .borrow<&FlowStakingCollection.StakingCollection>(FlowStakingCollection.StakingCollectionPublicPath)\n ?? panic(\"Could not borrow a referamce to a StakingCollection in the receiver's account\")\n }\n\n execute {\n // Remove the NodeDelegator from the authorizers StakingCollection.\n let nodeDelegator <- self.fromStakingCollectionRef.removeDelegator(nodeID: nodeID, delegatorID: delegatorID)\n\n // Deposit the NodeDelegator to the receivers StakingCollection.\n self.toStakingCollectionCap.addDelegatorObject(<- nodeDelegator!)\n }\n}", "arguments": [ { "type": "String", "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" }, { - "type": "Optional", - "value": null + "value": "42", + "type": "UInt32" }, { - "type": "UFix64", - "value": "92233720368.54775808" + "value": "0x8c5303eaa26202d6", + "type": "Address" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -2046,29 +2114,25 @@ ], "payloadSigs": [] }, - "encodedTransactionPayloadHex": "f9044bb90356696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f205265717565737420746f20776974686472617720726577617264656420746f6b656e7320666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f2054686520746f6b656e7320617265206175746f6d61746963616c6c79206465706f736974656420746f2074686520756e6c6f636b6564206163636f756e74207661756c742066697273742c0a2f2f2f20416e64207468656e20616e79206c6f636b656420746f6b656e7320617265206465706f736974656420696e746f20746865206c6f636b6564206163636f756e74207661756c740a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e77697468647261775265776172646564546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8b0b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227da07b2274797065223a224f7074696f6e616c222c2276616c7565223a6e756c6c7db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", - "encodedTransactionEnvelopeHex": "f9044ff9044bb90356696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f205265717565737420746f20776974686472617720726577617264656420746f6b656e7320666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f2054686520746f6b656e7320617265206175746f6d61746963616c6c79206465706f736974656420746f2074686520756e6c6f636b6564206163636f756e74207661756c742066697273742c0a2f2f2f20416e64207468656e20616e79206c6f636b656420746f6b656e7320617265206465706f736974656420696e746f20746865206c6f636b6564206163636f756e74207661756c740a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e77697468647261775265776172646564546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8b0b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227da07b2274797065223a224f7074696f6e616c222c2276616c7565223a6e756c6c7db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", - "metadata": "023af182f568b37a8067d3fb524afcfe96991c85a928bf7651e730be0e15fdb72d27a2b60d538b8bb883b602ea83d1697986a29dd69a44a9209dc75affb9e63299576974686472617720526577617264656420546f6b656e730003014e6f64652049440000537472696e6700030244656c656761746f72204944000155496e743332000301416d6f756e7400025546697836340003", - "hash": "3af182f568b37a8067d3fb524afcfe96991c85a928bf7651e730be0e15fdb72d" + "encodedTransactionPayloadHex": "f9091bb90829696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f205472616e73666572732061204e6f646544656c656761746f72206f626a6563742066726f6d20616e20617574686f72697a657273206163636f6f756e740a2f2f20616e64206164647320746865204e6f646544656c656761746f7220746f20616e6f74686572206163636f756e7473205374616b696e6720436f6c6c656374696f6e0a2f2f206964656e7469666965642062792074686520746f20416464726573732e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433322c20746f3a204164647265737329207b0a202020206c65742066726f6d5374616b696e67436f6c6c656374696f6e5265663a206175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a202020206c657420746f5374616b696e67436f6c6c656374696f6e4361703a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a206175746828426f72726f7756616c75652920264163636f756e7429207b0a20202020202020202f2f20546865206163636f756e7420746f207472616e7366657220746865204e6f646544656c656761746f72206f626a65637420746f206d757374206861766520612076616c6964205374616b696e6720436f6c6c656374696f6e20696e206f7264657220746f207265636569766520746865204e6f646544656c656761746f722e0a20202020202020206966202821466c6f775374616b696e67436f6c6c656374696f6e2e646f65734163636f756e74486176655374616b696e67436f6c6c656374696f6e28616464726573733a20746f2929207b0a20202020202020202020202070616e6963282244657374696e6174696f6e206163636f756e74206d75737420686176652061205374616b696e6720436f6c6c656374696f6e207365742075702e22290a20202020202020207d0a0a20202020202020202f2f204765742061207265666572656e636520746f2074686520617574686f72697a657273205374616b696e67436f6c6c656374696f6e0a202020202020202073656c662e66726f6d5374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e73746f726167652e626f72726f773c6175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f2061205374616b696e67436f6c6c656374696f6e20696e20746865207072696d61727920757365722773206163636f756e7422290a0a20202020202020202f2f2047657420746865205075626c69634163636f756e74206f6620746865206163636f756e7420746f207472616e7366657220746865204e6f646544656c656761746f7220746f2e200a20202020202020206c657420746f4163636f756e74203d206765744163636f756e7428746f290a0a20202020202020202f2f20426f72726f772061206361706162696c69747920746f20746865207075626c6963206d6574686f647320617661696c61626c65206f6e2074686520726563656976657273205374616b696e67436f6c6c656374696f6e2e0a202020202020202073656c662e746f5374616b696e67436f6c6c656374696f6e436170203d20746f4163636f756e742e6361706162696c69746965730a2020202020202020202020202e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e28466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e5075626c696350617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572616d636520746f2061205374616b696e67436f6c6c656374696f6e20696e207468652072656365697665722773206163636f756e7422290a202020207d0a0a2020202065786563757465207b0a20202020202020202f2f2052656d6f766520746865204e6f646544656c656761746f722066726f6d2074686520617574686f72697a657273205374616b696e67436f6c6c656374696f6e2e0a20202020202020206c6574206e6f646544656c656761746f72203c2d2073656c662e66726f6d5374616b696e67436f6c6c656374696f6e5265662e72656d6f766544656c656761746f72286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f724944290a0a20202020202020202f2f204465706f73697420746865204e6f646544656c656761746f7220746f2074686520726563656976657273205374616b696e67436f6c6c656374696f6e2e0a202020202020202073656c662e746f5374616b696e67436f6c6c656374696f6e4361702e61646444656c656761746f724f626a656374283c2d206e6f646544656c656761746f7221290a202020207d0a7df8adb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227d9e7b2276616c7565223a223432222c2274797065223a2255496e743332227daf7b2276616c7565223a22307838633533303365616132363230326436222c2274797065223a2241646472657373227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", + "encodedTransactionEnvelopeHex": "f9091ff9091bb90829696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f205472616e73666572732061204e6f646544656c656761746f72206f626a6563742066726f6d20616e20617574686f72697a657273206163636f6f756e740a2f2f20616e64206164647320746865204e6f646544656c656761746f7220746f20616e6f74686572206163636f756e7473205374616b696e6720436f6c6c656374696f6e0a2f2f206964656e7469666965642062792074686520746f20416464726573732e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433322c20746f3a204164647265737329207b0a202020206c65742066726f6d5374616b696e67436f6c6c656374696f6e5265663a206175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a202020206c657420746f5374616b696e67436f6c6c656374696f6e4361703a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a206175746828426f72726f7756616c75652920264163636f756e7429207b0a20202020202020202f2f20546865206163636f756e7420746f207472616e7366657220746865204e6f646544656c656761746f72206f626a65637420746f206d757374206861766520612076616c6964205374616b696e6720436f6c6c656374696f6e20696e206f7264657220746f207265636569766520746865204e6f646544656c656761746f722e0a20202020202020206966202821466c6f775374616b696e67436f6c6c656374696f6e2e646f65734163636f756e74486176655374616b696e67436f6c6c656374696f6e28616464726573733a20746f2929207b0a20202020202020202020202070616e6963282244657374696e6174696f6e206163636f756e74206d75737420686176652061205374616b696e6720436f6c6c656374696f6e207365742075702e22290a20202020202020207d0a0a20202020202020202f2f204765742061207265666572656e636520746f2074686520617574686f72697a657273205374616b696e67436f6c6c656374696f6e0a202020202020202073656c662e66726f6d5374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e73746f726167652e626f72726f773c6175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f2061205374616b696e67436f6c6c656374696f6e20696e20746865207072696d61727920757365722773206163636f756e7422290a0a20202020202020202f2f2047657420746865205075626c69634163636f756e74206f6620746865206163636f756e7420746f207472616e7366657220746865204e6f646544656c656761746f7220746f2e200a20202020202020206c657420746f4163636f756e74203d206765744163636f756e7428746f290a0a20202020202020202f2f20426f72726f772061206361706162696c69747920746f20746865207075626c6963206d6574686f647320617661696c61626c65206f6e2074686520726563656976657273205374616b696e67436f6c6c656374696f6e2e0a202020202020202073656c662e746f5374616b696e67436f6c6c656374696f6e436170203d20746f4163636f756e742e6361706162696c69746965730a2020202020202020202020202e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e28466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e5075626c696350617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572616d636520746f2061205374616b696e67436f6c6c656374696f6e20696e207468652072656365697665722773206163636f756e7422290a202020207d0a0a2020202065786563757465207b0a20202020202020202f2f2052656d6f766520746865204e6f646544656c656761746f722066726f6d2074686520617574686f72697a657273205374616b696e67436f6c6c656374696f6e2e0a20202020202020206c6574206e6f646544656c656761746f72203c2d2073656c662e66726f6d5374616b696e67436f6c6c656374696f6e5265662e72656d6f766544656c656761746f72286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f724944290a0a20202020202020202f2f204465706f73697420746865204e6f646544656c656761746f7220746f2074686520726563656976657273205374616b696e67436f6c6c656374696f6e2e0a202020202020202073656c662e746f5374616b696e67436f6c6c656374696f6e4361702e61646444656c656761746f724f626a656374283c2d206e6f646544656c656761746f7221290a202020207d0a7df8adb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227d9e7b2276616c7565223a223432222c2274797065223a2255496e743332227daf7b2276616c7565223a22307838633533303365616132363230326436222c2274797065223a2241646472657373227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", + "metadata": "02f9fa239cb78b3e07b8f8d56e173e2673b4b53aeb07d507a769c8d96eaf400b8d11e2107d2ccd96cb6b3fa3a704491dcd9e1736215137304e0494243c21befc765472616e736665722044656c656761746f720003014e6f64652049440000537472696e6700030144656c656761746f72204944000155496e743332000301416464726573730002416464726573730003", + "hash": "f9fa239cb78b3e07b8f8d56e173e2673b4b53aeb07d507a769c8d96eaf400b8d" }, { - "title": "SCO.11 - Withdraw Unstaked Tokens - 1", + "title": "SCO.15 - Withdraw From Machine Account", "valid": true, "chainID": "Testnet", "payloadMessage": { - "script": "import FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// Request to withdraw unstaked tokens for the specified node or delegator in the staking collection\n/// The tokens are automatically deposited to the unlocked account vault first,\n/// And then any locked tokens are deposited into the locked account vault if it is there\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n }\n\n execute {\n self.stakingCollectionRef.withdrawUnstakedTokens(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", + "script": "import FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// Request to withdraw tokens from the machine account\n/// The tokens are automatically deposited to the unlocked account vault\n\ntransaction(nodeID: String, amount: UFix64) {\n \n let stakingCollectionRef: auth(FlowStakingCollection.CollectionOwner) &FlowStakingCollection.StakingCollection\n\n prepare(account: auth(BorrowValue) &Account) {\n self.stakingCollectionRef = account.storage.borrow(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow a reference to a StakingCollection in the primary user's account\")\n }\n\n execute {\n self.stakingCollectionRef.withdrawFromMachineAccount(nodeID: nodeID, amount: amount)\n }\n}\n", "arguments": [ { "type": "String", "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" }, { - "type": "Optional", - "value": null - }, - { - "type": "UFix64", - "value": "92233720368.54775808" + "value": "92233720368.54775808", + "type": "UFix64" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -2084,19 +2148,15 @@ ] }, "envelopeMessage": { - "script": "import FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// Request to withdraw unstaked tokens for the specified node or delegator in the staking collection\n/// The tokens are automatically deposited to the unlocked account vault first,\n/// And then any locked tokens are deposited into the locked account vault if it is there\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n }\n\n execute {\n self.stakingCollectionRef.withdrawUnstakedTokens(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", + "script": "import FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// Request to withdraw tokens from the machine account\n/// The tokens are automatically deposited to the unlocked account vault\n\ntransaction(nodeID: String, amount: UFix64) {\n \n let stakingCollectionRef: auth(FlowStakingCollection.CollectionOwner) &FlowStakingCollection.StakingCollection\n\n prepare(account: auth(BorrowValue) &Account) {\n self.stakingCollectionRef = account.storage.borrow(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow a reference to a StakingCollection in the primary user's account\")\n }\n\n execute {\n self.stakingCollectionRef.withdrawFromMachineAccount(nodeID: nodeID, amount: amount)\n }\n}\n", "arguments": [ { "type": "String", "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" }, { - "type": "Optional", - "value": null - }, - { - "type": "UFix64", - "value": "92233720368.54775808" + "value": "92233720368.54775808", + "type": "UFix64" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -2112,32 +2172,25 @@ ], "payloadSigs": [] }, - "encodedTransactionPayloadHex": "f9045ab90365696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f205265717565737420746f20776974686472617720756e7374616b656420746f6b656e7320666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f2054686520746f6b656e7320617265206175746f6d61746963616c6c79206465706f736974656420746f2074686520756e6c6f636b6564206163636f756e74207661756c742066697273742c0a2f2f2f20416e64207468656e20616e79206c6f636b656420746f6b656e7320617265206465706f736974656420696e746f20746865206c6f636b6564206163636f756e74207661756c742069662069742069732074686572650a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e7769746864726177556e7374616b6564546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8b0b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227da07b2274797065223a224f7074696f6e616c222c2276616c7565223a6e756c6c7db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", - "encodedTransactionEnvelopeHex": "f9045ef9045ab90365696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f205265717565737420746f20776974686472617720756e7374616b656420746f6b656e7320666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f2054686520746f6b656e7320617265206175746f6d61746963616c6c79206465706f736974656420746f2074686520756e6c6f636b6564206163636f756e74207661756c742066697273742c0a2f2f2f20416e64207468656e20616e79206c6f636b656420746f6b656e7320617265206465706f736974656420696e746f20746865206c6f636b6564206163636f756e74207661756c742069662069742069732074686572650a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e7769746864726177556e7374616b6564546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8b0b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227da07b2274797065223a224f7074696f6e616c222c2276616c7565223a6e756c6c7db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", - "metadata": "0268879197d961bb104a56e1e7d35660436fe4c52ed78f79d97fa50aa9e96fabf06d50ab1ef3d74203081c38306da74f5ad8fdd489e49fba732f8ba194d0c781c8576974686472617720556e7374616b656420546f6b656e730003014e6f64652049440000537472696e6700030244656c656761746f72204944000155496e743332000301416d6f756e7400025546697836340003", - "hash": "68879197d961bb104a56e1e7d35660436fe4c52ed78f79d97fa50aa9e96fabf0" + "encodedTransactionPayloadHex": "f90415b90341696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f205265717565737420746f20776974686472617720746f6b656e732066726f6d20746865206d616368696e65206163636f756e740a2f2f2f2054686520746f6b656e7320617265206175746f6d61746963616c6c79206465706f736974656420746f2074686520756e6c6f636b6564206163636f756e74207661756c740a0a7472616e73616374696f6e286e6f646549443a20537472696e672c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a206175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a206175746828426f72726f7756616c75652920264163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e73746f726167652e626f72726f773c6175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f2061205374616b696e67436f6c6c656374696f6e20696e20746865207072696d61727920757365722773206163636f756e7422290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e776974686472617746726f6d4d616368696e654163636f756e74286e6f646549443a206e6f646549442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af88fb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db07b2276616c7565223a2239323233333732303336382e3534373735383038222c2274797065223a22554669783634227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", + "encodedTransactionEnvelopeHex": "f90419f90415b90341696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f205265717565737420746f20776974686472617720746f6b656e732066726f6d20746865206d616368696e65206163636f756e740a2f2f2f2054686520746f6b656e7320617265206175746f6d61746963616c6c79206465706f736974656420746f2074686520756e6c6f636b6564206163636f756e74207661756c740a0a7472616e73616374696f6e286e6f646549443a20537472696e672c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a206175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a206175746828426f72726f7756616c75652920264163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e73746f726167652e626f72726f773c6175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f2061205374616b696e67436f6c6c656374696f6e20696e20746865207072696d61727920757365722773206163636f756e7422290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e776974686472617746726f6d4d616368696e654163636f756e74286e6f646549443a206e6f646549442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af88fb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db07b2276616c7565223a2239323233333732303336382e3534373735383038222c2274797065223a22554669783634227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", + "metadata": "02fdd40862af04dc36dd0e9e727966c6f81dd6be8246b9c70afd18297aac9e86a8e12b16ef4218b8ce52189ae5814b381272bf473436978fae94d01c10c036903457697468647261772046726f6d204d616368696e65204163636f756e740002014e6f64652049440000537472696e67000301416d6f756e7400015546697836340003", + "hash": "fdd40862af04dc36dd0e9e727966c6f81dd6be8246b9c70afd18297aac9e86a8" }, { - "title": "SCO.11 - Withdraw Unstaked Tokens - 2", + "title": "SCO.16 - Update Networking Address", "valid": true, "chainID": "Testnet", "payloadMessage": { - "script": "import FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// Request to withdraw unstaked tokens for the specified node or delegator in the staking collection\n/// The tokens are automatically deposited to the unlocked account vault first,\n/// And then any locked tokens are deposited into the locked account vault if it is there\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n }\n\n execute {\n self.stakingCollectionRef.withdrawUnstakedTokens(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", + "script": "import FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// Changes the networking address for the specified node\n\ntransaction(nodeID: String, newAddress: String) {\n \n let stakingCollectionRef: auth(FlowStakingCollection.CollectionOwner) &FlowStakingCollection.StakingCollection\n\n prepare(account: auth(BorrowValue) &Account) {\n self.stakingCollectionRef = account.storage.borrow(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow a reference to a StakingCollection in the primary user's account\")\n }\n\n execute {\n self.stakingCollectionRef.updateNetworkingAddress(nodeID: nodeID, newAddress: newAddress)\n }\n}\n", "arguments": [ { "type": "String", "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" }, { - "type": "Optional", - "value": { - "type": "UInt32", - "value": "42" - } - }, - { - "type": "UFix64", - "value": "92233720368.54775808" + "value": "flow-node.test:3569", + "type": "String" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -2153,1822 +2206,57 @@ ] }, "envelopeMessage": { - "script": "import FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// Request to withdraw unstaked tokens for the specified node or delegator in the staking collection\n/// The tokens are automatically deposited to the unlocked account vault first,\n/// And then any locked tokens are deposited into the locked account vault if it is there\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n }\n\n execute {\n self.stakingCollectionRef.withdrawUnstakedTokens(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", + "script": "import FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// Changes the networking address for the specified node\n\ntransaction(nodeID: String, newAddress: String) {\n \n let stakingCollectionRef: auth(FlowStakingCollection.CollectionOwner) &FlowStakingCollection.StakingCollection\n\n prepare(account: auth(BorrowValue) &Account) {\n self.stakingCollectionRef = account.storage.borrow(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow a reference to a StakingCollection in the primary user's account\")\n }\n\n execute {\n self.stakingCollectionRef.updateNetworkingAddress(nodeID: nodeID, newAddress: newAddress)\n }\n}\n", "arguments": [ { "type": "String", "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" }, { - "type": "Optional", - "value": { - "type": "UInt32", - "value": "42" - } - }, - { - "type": "UFix64", - "value": "92233720368.54775808" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "99a8ac2c71d4f6bd", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "99a8ac2c71d4f6bd", - "authorizers": [ - "99a8ac2c71d4f6bd" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f90475b90365696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f205265717565737420746f20776974686472617720756e7374616b656420746f6b656e7320666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f2054686520746f6b656e7320617265206175746f6d61746963616c6c79206465706f736974656420746f2074686520756e6c6f636b6564206163636f756e74207661756c742066697273742c0a2f2f2f20416e64207468656e20616e79206c6f636b656420746f6b656e7320617265206465706f736974656420696e746f20746865206c6f636b6564206163636f756e74207661756c742069662069742069732074686572650a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e7769746864726177556e7374616b6564546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8cbb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db83a7b2274797065223a224f7074696f6e616c222c2276616c7565223a7b2274797065223a2255496e743332222c2276616c7565223a223432227d7db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", - "encodedTransactionEnvelopeHex": "f90479f90475b90365696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f205265717565737420746f20776974686472617720756e7374616b656420746f6b656e7320666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f2054686520746f6b656e7320617265206175746f6d61746963616c6c79206465706f736974656420746f2074686520756e6c6f636b6564206163636f756e74207661756c742066697273742c0a2f2f2f20416e64207468656e20616e79206c6f636b656420746f6b656e7320617265206465706f736974656420696e746f20746865206c6f636b6564206163636f756e74207661756c742069662069742069732074686572650a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e7769746864726177556e7374616b6564546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8cbb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db83a7b2274797065223a224f7074696f6e616c222c2276616c7565223a7b2274797065223a2255496e743332222c2276616c7565223a223432227d7db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", - "metadata": "0268879197d961bb104a56e1e7d35660436fe4c52ed78f79d97fa50aa9e96fabf06d50ab1ef3d74203081c38306da74f5ad8fdd489e49fba732f8ba194d0c781c8576974686472617720556e7374616b656420546f6b656e730003014e6f64652049440000537472696e6700030244656c656761746f72204944000155496e743332000301416d6f756e7400025546697836340003", - "hash": "68879197d961bb104a56e1e7d35660436fe4c52ed78f79d97fa50aa9e96fabf0" - }, - { - "title": "SCO.12 - Close Stake - 1", - "valid": true, - "chainID": "Testnet", - "payloadMessage": { - "script": "import FlowStakingCollection from 0x95e019a17d0e23d7\n\n// Closes out a staking object in the staking collection\n// This does not remove the record from the identity table,\n// but it does mean that the account that closes it cannot ever access it again\n\ntransaction(nodeID: String, delegatorID: UInt32?) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n }\n\n execute {\n self.stakingCollectionRef.closeStake(nodeID: nodeID, delegatorID: delegatorID)\n }\n}\n", - "arguments": [ - { - "type": "String", - "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" - }, - { - "type": "Optional", - "value": { - "type": "UInt32", - "value": "42" - } - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "99a8ac2c71d4f6bd", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "99a8ac2c71d4f6bd", - "authorizers": [ - "99a8ac2c71d4f6bd" - ] - }, - "envelopeMessage": { - "script": "import FlowStakingCollection from 0x95e019a17d0e23d7\n\n// Closes out a staking object in the staking collection\n// This does not remove the record from the identity table,\n// but it does mean that the account that closes it cannot ever access it again\n\ntransaction(nodeID: String, delegatorID: UInt32?) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n }\n\n execute {\n self.stakingCollectionRef.closeStake(nodeID: nodeID, delegatorID: delegatorID)\n }\n}\n", - "arguments": [ - { - "type": "String", - "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" - }, - { - "type": "Optional", - "value": { - "type": "UInt32", - "value": "42" - } - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "99a8ac2c71d4f6bd", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "99a8ac2c71d4f6bd", - "authorizers": [ - "99a8ac2c71d4f6bd" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f903cdb902ee696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f20436c6f736573206f75742061207374616b696e67206f626a65637420696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f205468697320646f6573206e6f742072656d6f766520746865207265636f72642066726f6d20746865206964656e74697479207461626c652c0a2f2f2062757420697420646f6573206d65616e207468617420746865206163636f756e74207468617420636c6f7365732069742063616e6e6f7420657665722061636365737320697420616761696e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f29207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e636c6f73655374616b65286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f724944290a202020207d0a7d0af89ab85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db83a7b2274797065223a224f7074696f6e616c222c2276616c7565223a7b2274797065223a2255496e743332222c2276616c7565223a223432227d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", - "encodedTransactionEnvelopeHex": "f903d1f903cdb902ee696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f20436c6f736573206f75742061207374616b696e67206f626a65637420696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f205468697320646f6573206e6f742072656d6f766520746865207265636f72642066726f6d20746865206964656e74697479207461626c652c0a2f2f2062757420697420646f6573206d65616e207468617420746865206163636f756e74207468617420636c6f7365732069742063616e6e6f7420657665722061636365737320697420616761696e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f29207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e636c6f73655374616b65286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f724944290a202020207d0a7d0af89ab85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db83a7b2274797065223a224f7074696f6e616c222c2276616c7565223a7b2274797065223a2255496e743332222c2276616c7565223a223432227d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", - "metadata": "02079aaa9cfb22138415056b43d5d91e8d73bd8bd5f37ebff4f4023d33ea6d2f25ecdffc1ae67479bc20c06eba6c776ff37b9523660ff1cd3129a3924d92484884436c6f7365205374616b650002014e6f64652049440000537472696e6700030244656c656761746f72204944000155496e7433320003", - "hash": "079aaa9cfb22138415056b43d5d91e8d73bd8bd5f37ebff4f4023d33ea6d2f25" - }, - { - "title": "SCO.12 - Close Stake - 2", - "valid": true, - "chainID": "Testnet", - "payloadMessage": { - "script": "import FlowStakingCollection from 0x95e019a17d0e23d7\n\n// Closes out a staking object in the staking collection\n// This does not remove the record from the identity table,\n// but it does mean that the account that closes it cannot ever access it again\n\ntransaction(nodeID: String, delegatorID: UInt32?) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n }\n\n execute {\n self.stakingCollectionRef.closeStake(nodeID: nodeID, delegatorID: delegatorID)\n }\n}\n", - "arguments": [ - { - "type": "String", - "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" - }, - { - "type": "Optional", - "value": null - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "99a8ac2c71d4f6bd", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "99a8ac2c71d4f6bd", - "authorizers": [ - "99a8ac2c71d4f6bd" - ] - }, - "envelopeMessage": { - "script": "import FlowStakingCollection from 0x95e019a17d0e23d7\n\n// Closes out a staking object in the staking collection\n// This does not remove the record from the identity table,\n// but it does mean that the account that closes it cannot ever access it again\n\ntransaction(nodeID: String, delegatorID: UInt32?) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n }\n\n execute {\n self.stakingCollectionRef.closeStake(nodeID: nodeID, delegatorID: delegatorID)\n }\n}\n", - "arguments": [ - { - "type": "String", - "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" - }, - { - "type": "Optional", - "value": null - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "99a8ac2c71d4f6bd", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "99a8ac2c71d4f6bd", - "authorizers": [ - "99a8ac2c71d4f6bd" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f903b2b902ee696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f20436c6f736573206f75742061207374616b696e67206f626a65637420696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f205468697320646f6573206e6f742072656d6f766520746865207265636f72642066726f6d20746865206964656e74697479207461626c652c0a2f2f2062757420697420646f6573206d65616e207468617420746865206163636f756e74207468617420636c6f7365732069742063616e6e6f7420657665722061636365737320697420616761696e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f29207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e636c6f73655374616b65286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f724944290a202020207d0a7d0af87fb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227da07b2274797065223a224f7074696f6e616c222c2276616c7565223a6e756c6c7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", - "encodedTransactionEnvelopeHex": "f903b6f903b2b902ee696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f20436c6f736573206f75742061207374616b696e67206f626a65637420696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f205468697320646f6573206e6f742072656d6f766520746865207265636f72642066726f6d20746865206964656e74697479207461626c652c0a2f2f2062757420697420646f6573206d65616e207468617420746865206163636f756e74207468617420636c6f7365732069742063616e6e6f7420657665722061636365737320697420616761696e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f29207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e636c6f73655374616b65286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f724944290a202020207d0a7d0af87fb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227da07b2274797065223a224f7074696f6e616c222c2276616c7565223a6e756c6c7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", - "metadata": "02079aaa9cfb22138415056b43d5d91e8d73bd8bd5f37ebff4f4023d33ea6d2f25ecdffc1ae67479bc20c06eba6c776ff37b9523660ff1cd3129a3924d92484884436c6f7365205374616b650002014e6f64652049440000537472696e6700030244656c656761746f72204944000155496e7433320003", - "hash": "079aaa9cfb22138415056b43d5d91e8d73bd8bd5f37ebff4f4023d33ea6d2f25" - }, - { - "title": "SCO.13 - Transfer Node", - "valid": true, - "chainID": "Testnet", - "payloadMessage": { - "script": "import FlowStakingCollection from 0x95e019a17d0e23d7\n\n// Transfers a NodeStaker object from an authorizers accoount\n// and adds the NodeStaker to another accounts Staking Collection\n// identified by the to Address.\n\ntransaction(nodeID: String, to: Address) {\n let fromStakingCollectionRef: &FlowStakingCollection.StakingCollection\n let toStakingCollectionCap: &FlowStakingCollection.StakingCollection{FlowStakingCollection.StakingCollectionPublic}\n\n prepare(account: AuthAccount) {\n // The account to transfer the NodeStaker object to must have a valid Staking Collection in order to receive the NodeStaker.\n if (!FlowStakingCollection.doesAccountHaveStakingCollection(address: to)) {\n panic(\"Destination account must have a Staking Collection set up.\")\n }\n\n // Get a reference to the authorizers StakingCollection\n self.fromStakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n\n // Get the PublicAccount of the account to transfer the NodeStaker to. \n let toAccount = getAccount(to)\n\n // Borrow a capability to the public methods available on the receivers StakingCollection.\n self.toStakingCollectionCap = toAccount.getCapability<&FlowStakingCollection.StakingCollection{FlowStakingCollection.StakingCollectionPublic}>(FlowStakingCollection.StakingCollectionPublicPath).borrow()\n ?? panic(\"Could not borrow ref to StakingCollection\")\n\n let machineAccountInfo = self.fromStakingCollectionRef.getMachineAccounts()[nodeID]\n ?? panic(\"Could not get machine account info for the specified node ID\")\n\n // Remove the NodeStaker from the authorizers StakingCollection.\n let nodeStaker <- self.fromStakingCollectionRef.removeNode(nodeID: nodeID)\n\n // Deposit the NodeStaker to the receivers StakingCollection.\n self.toStakingCollectionCap.addNodeObject(<- nodeStaker!, machineAccountInfo: machineAccountInfo)\n }\n}", - "arguments": [ - { - "type": "String", - "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" - }, - { - "type": "Address", - "value": "0x8c5303eaa26202d6" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "99a8ac2c71d4f6bd", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "99a8ac2c71d4f6bd", - "authorizers": [ - "99a8ac2c71d4f6bd" - ] - }, - "envelopeMessage": { - "script": "import FlowStakingCollection from 0x95e019a17d0e23d7\n\n// Transfers a NodeStaker object from an authorizers accoount\n// and adds the NodeStaker to another accounts Staking Collection\n// identified by the to Address.\n\ntransaction(nodeID: String, to: Address) {\n let fromStakingCollectionRef: &FlowStakingCollection.StakingCollection\n let toStakingCollectionCap: &FlowStakingCollection.StakingCollection{FlowStakingCollection.StakingCollectionPublic}\n\n prepare(account: AuthAccount) {\n // The account to transfer the NodeStaker object to must have a valid Staking Collection in order to receive the NodeStaker.\n if (!FlowStakingCollection.doesAccountHaveStakingCollection(address: to)) {\n panic(\"Destination account must have a Staking Collection set up.\")\n }\n\n // Get a reference to the authorizers StakingCollection\n self.fromStakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n\n // Get the PublicAccount of the account to transfer the NodeStaker to. \n let toAccount = getAccount(to)\n\n // Borrow a capability to the public methods available on the receivers StakingCollection.\n self.toStakingCollectionCap = toAccount.getCapability<&FlowStakingCollection.StakingCollection{FlowStakingCollection.StakingCollectionPublic}>(FlowStakingCollection.StakingCollectionPublicPath).borrow()\n ?? panic(\"Could not borrow ref to StakingCollection\")\n\n let machineAccountInfo = self.fromStakingCollectionRef.getMachineAccounts()[nodeID]\n ?? panic(\"Could not get machine account info for the specified node ID\")\n\n // Remove the NodeStaker from the authorizers StakingCollection.\n let nodeStaker <- self.fromStakingCollectionRef.removeNode(nodeID: nodeID)\n\n // Deposit the NodeStaker to the receivers StakingCollection.\n self.toStakingCollectionCap.addNodeObject(<- nodeStaker!, machineAccountInfo: machineAccountInfo)\n }\n}", - "arguments": [ - { - "type": "String", - "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" - }, - { - "type": "Address", - "value": "0x8c5303eaa26202d6" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "99a8ac2c71d4f6bd", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "99a8ac2c71d4f6bd", - "authorizers": [ - "99a8ac2c71d4f6bd" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f90907b90834696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f205472616e73666572732061204e6f64655374616b6572206f626a6563742066726f6d20616e20617574686f72697a657273206163636f6f756e740a2f2f20616e64206164647320746865204e6f64655374616b657220746f20616e6f74686572206163636f756e7473205374616b696e6720436f6c6c656374696f6e0a2f2f206964656e7469666965642062792074686520746f20416464726573732e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c20746f3a204164647265737329207b0a202020206c65742066726f6d5374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a202020206c657420746f5374616b696e67436f6c6c656374696f6e4361703a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e7b466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e5075626c69637d0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a20202020202020202f2f20546865206163636f756e7420746f207472616e7366657220746865204e6f64655374616b6572206f626a65637420746f206d757374206861766520612076616c6964205374616b696e6720436f6c6c656374696f6e20696e206f7264657220746f207265636569766520746865204e6f64655374616b65722e0a20202020202020206966202821466c6f775374616b696e67436f6c6c656374696f6e2e646f65734163636f756e74486176655374616b696e67436f6c6c656374696f6e28616464726573733a20746f2929207b0a20202020202020202020202070616e6963282244657374696e6174696f6e206163636f756e74206d75737420686176652061205374616b696e6720436f6c6c656374696f6e207365742075702e22290a20202020202020207d0a0a20202020202020202f2f204765742061207265666572656e636520746f2074686520617574686f72697a657273205374616b696e67436f6c6c656374696f6e0a202020202020202073656c662e66726f6d5374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a0a20202020202020202f2f2047657420746865205075626c69634163636f756e74206f6620746865206163636f756e7420746f207472616e7366657220746865204e6f64655374616b657220746f2e200a20202020202020206c657420746f4163636f756e74203d206765744163636f756e7428746f290a0a20202020202020202f2f20426f72726f772061206361706162696c69747920746f20746865207075626c6963206d6574686f647320617661696c61626c65206f6e2074686520726563656976657273205374616b696e67436f6c6c656374696f6e2e0a202020202020202073656c662e746f5374616b696e67436f6c6c656374696f6e436170203d20746f4163636f756e742e6765744361706162696c6974793c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e7b466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e5075626c69637d3e28466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e5075626c696350617468292e626f72726f7728290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a0a20202020202020206c6574206d616368696e654163636f756e74496e666f203d2073656c662e66726f6d5374616b696e67436f6c6c656374696f6e5265662e6765744d616368696e654163636f756e747328295b6e6f646549445d0a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420676574206d616368696e65206163636f756e7420696e666f20666f722074686520737065636966696564206e6f646520494422290a0a20202020202020202f2f2052656d6f766520746865204e6f64655374616b65722066726f6d2074686520617574686f72697a657273205374616b696e67436f6c6c656374696f6e2e0a20202020202020206c6574206e6f64655374616b6572203c2d2073656c662e66726f6d5374616b696e67436f6c6c656374696f6e5265662e72656d6f76654e6f6465286e6f646549443a206e6f64654944290a0a20202020202020202f2f204465706f73697420746865204e6f64655374616b657220746f2074686520726563656976657273205374616b696e67436f6c6c656374696f6e2e0a202020202020202073656c662e746f5374616b696e67436f6c6c656374696f6e4361702e6164644e6f64654f626a656374283c2d206e6f64655374616b6572212c206d616368696e654163636f756e74496e666f3a206d616368696e654163636f756e74496e666f290a202020207d0a7df88eb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227daf7b2274797065223a2241646472657373222c2276616c7565223a22307838633533303365616132363230326436227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", - "encodedTransactionEnvelopeHex": "f9090bf90907b90834696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f205472616e73666572732061204e6f64655374616b6572206f626a6563742066726f6d20616e20617574686f72697a657273206163636f6f756e740a2f2f20616e64206164647320746865204e6f64655374616b657220746f20616e6f74686572206163636f756e7473205374616b696e6720436f6c6c656374696f6e0a2f2f206964656e7469666965642062792074686520746f20416464726573732e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c20746f3a204164647265737329207b0a202020206c65742066726f6d5374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a202020206c657420746f5374616b696e67436f6c6c656374696f6e4361703a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e7b466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e5075626c69637d0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a20202020202020202f2f20546865206163636f756e7420746f207472616e7366657220746865204e6f64655374616b6572206f626a65637420746f206d757374206861766520612076616c6964205374616b696e6720436f6c6c656374696f6e20696e206f7264657220746f207265636569766520746865204e6f64655374616b65722e0a20202020202020206966202821466c6f775374616b696e67436f6c6c656374696f6e2e646f65734163636f756e74486176655374616b696e67436f6c6c656374696f6e28616464726573733a20746f2929207b0a20202020202020202020202070616e6963282244657374696e6174696f6e206163636f756e74206d75737420686176652061205374616b696e6720436f6c6c656374696f6e207365742075702e22290a20202020202020207d0a0a20202020202020202f2f204765742061207265666572656e636520746f2074686520617574686f72697a657273205374616b696e67436f6c6c656374696f6e0a202020202020202073656c662e66726f6d5374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a0a20202020202020202f2f2047657420746865205075626c69634163636f756e74206f6620746865206163636f756e7420746f207472616e7366657220746865204e6f64655374616b657220746f2e200a20202020202020206c657420746f4163636f756e74203d206765744163636f756e7428746f290a0a20202020202020202f2f20426f72726f772061206361706162696c69747920746f20746865207075626c6963206d6574686f647320617661696c61626c65206f6e2074686520726563656976657273205374616b696e67436f6c6c656374696f6e2e0a202020202020202073656c662e746f5374616b696e67436f6c6c656374696f6e436170203d20746f4163636f756e742e6765744361706162696c6974793c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e7b466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e5075626c69637d3e28466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e5075626c696350617468292e626f72726f7728290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a0a20202020202020206c6574206d616368696e654163636f756e74496e666f203d2073656c662e66726f6d5374616b696e67436f6c6c656374696f6e5265662e6765744d616368696e654163636f756e747328295b6e6f646549445d0a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420676574206d616368696e65206163636f756e7420696e666f20666f722074686520737065636966696564206e6f646520494422290a0a20202020202020202f2f2052656d6f766520746865204e6f64655374616b65722066726f6d2074686520617574686f72697a657273205374616b696e67436f6c6c656374696f6e2e0a20202020202020206c6574206e6f64655374616b6572203c2d2073656c662e66726f6d5374616b696e67436f6c6c656374696f6e5265662e72656d6f76654e6f6465286e6f646549443a206e6f64654944290a0a20202020202020202f2f204465706f73697420746865204e6f64655374616b657220746f2074686520726563656976657273205374616b696e67436f6c6c656374696f6e2e0a202020202020202073656c662e746f5374616b696e67436f6c6c656374696f6e4361702e6164644e6f64654f626a656374283c2d206e6f64655374616b6572212c206d616368696e654163636f756e74496e666f3a206d616368696e654163636f756e74496e666f290a202020207d0a7df88eb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227daf7b2274797065223a2241646472657373222c2276616c7565223a22307838633533303365616132363230326436227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", - "metadata": "022386d7ae1a5b936e3914729ee34e01d53a8fbd2e403512ec1beccb4062c231ebcdc3a63d0c75ea95b414becb6fbb8f5a8004236d48661cd3c3d4f540ee4d422e5472616e73666572204e6f64650002014e6f64652049440000537472696e67000301416464726573730001416464726573730003", - "hash": "2386d7ae1a5b936e3914729ee34e01d53a8fbd2e403512ec1beccb4062c231eb" - }, - { - "title": "SCO.14 - Transfer Delegator", - "valid": true, - "chainID": "Testnet", - "payloadMessage": { - "script": "import FlowStakingCollection from 0x95e019a17d0e23d7\n\n// Transfers a NodeDelegator object from an authorizers accoount\n// and adds the NodeDelegator to another accounts Staking Collection\n// identified by the to Address.\n\ntransaction(nodeID: String, delegatorID: UInt32, to: Address) {\n let fromStakingCollectionRef: &FlowStakingCollection.StakingCollection\n let toStakingCollectionCap: &FlowStakingCollection.StakingCollection{FlowStakingCollection.StakingCollectionPublic}\n\n prepare(account: AuthAccount) {\n // The account to transfer the NodeDelegator object to must have a valid Staking Collection in order to receive the NodeDelegator.\n if (!FlowStakingCollection.doesAccountHaveStakingCollection(address: to)) {\n panic(\"Destination account must have a Staking Collection set up.\")\n }\n\n // Get a reference to the authorizers StakingCollection\n self.fromStakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n\n // Get the PublicAccount of the account to transfer the NodeDelegator to. \n let toAccount = getAccount(to)\n\n // Borrow a capability to the public methods available on the receivers StakingCollection.\n self.toStakingCollectionCap = toAccount.getCapability<&FlowStakingCollection.StakingCollection{FlowStakingCollection.StakingCollectionPublic}>(FlowStakingCollection.StakingCollectionPublicPath).borrow()\n ?? panic(\"Could not borrow ref to StakingCollection\")\n }\n\n execute {\n // Remove the NodeDelegator from the authorizers StakingCollection.\n let nodeDelegator <- self.fromStakingCollectionRef.removeDelegator(nodeID: nodeID, delegatorID: delegatorID)\n\n // Deposit the NodeDelegator to the receivers StakingCollection.\n self.toStakingCollectionCap.addDelegatorObject(<- nodeDelegator!)\n }\n}", - "arguments": [ - { - "type": "String", - "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" - }, - { - "type": "UInt32", - "value": "42" - }, - { - "type": "Address", - "value": "0x8c5303eaa26202d6" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "99a8ac2c71d4f6bd", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "99a8ac2c71d4f6bd", - "authorizers": [ - "99a8ac2c71d4f6bd" - ] - }, - "envelopeMessage": { - "script": "import FlowStakingCollection from 0x95e019a17d0e23d7\n\n// Transfers a NodeDelegator object from an authorizers accoount\n// and adds the NodeDelegator to another accounts Staking Collection\n// identified by the to Address.\n\ntransaction(nodeID: String, delegatorID: UInt32, to: Address) {\n let fromStakingCollectionRef: &FlowStakingCollection.StakingCollection\n let toStakingCollectionCap: &FlowStakingCollection.StakingCollection{FlowStakingCollection.StakingCollectionPublic}\n\n prepare(account: AuthAccount) {\n // The account to transfer the NodeDelegator object to must have a valid Staking Collection in order to receive the NodeDelegator.\n if (!FlowStakingCollection.doesAccountHaveStakingCollection(address: to)) {\n panic(\"Destination account must have a Staking Collection set up.\")\n }\n\n // Get a reference to the authorizers StakingCollection\n self.fromStakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n\n // Get the PublicAccount of the account to transfer the NodeDelegator to. \n let toAccount = getAccount(to)\n\n // Borrow a capability to the public methods available on the receivers StakingCollection.\n self.toStakingCollectionCap = toAccount.getCapability<&FlowStakingCollection.StakingCollection{FlowStakingCollection.StakingCollectionPublic}>(FlowStakingCollection.StakingCollectionPublicPath).borrow()\n ?? panic(\"Could not borrow ref to StakingCollection\")\n }\n\n execute {\n // Remove the NodeDelegator from the authorizers StakingCollection.\n let nodeDelegator <- self.fromStakingCollectionRef.removeDelegator(nodeID: nodeID, delegatorID: delegatorID)\n\n // Deposit the NodeDelegator to the receivers StakingCollection.\n self.toStakingCollectionCap.addDelegatorObject(<- nodeDelegator!)\n }\n}", - "arguments": [ - { - "type": "String", - "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" - }, - { - "type": "UInt32", - "value": "42" - }, - { - "type": "Address", - "value": "0x8c5303eaa26202d6" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "99a8ac2c71d4f6bd", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "99a8ac2c71d4f6bd", - "authorizers": [ - "99a8ac2c71d4f6bd" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f908b4b907c2696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f205472616e73666572732061204e6f646544656c656761746f72206f626a6563742066726f6d20616e20617574686f72697a657273206163636f6f756e740a2f2f20616e64206164647320746865204e6f646544656c656761746f7220746f20616e6f74686572206163636f756e7473205374616b696e6720436f6c6c656374696f6e0a2f2f206964656e7469666965642062792074686520746f20416464726573732e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433322c20746f3a204164647265737329207b0a202020206c65742066726f6d5374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a202020206c657420746f5374616b696e67436f6c6c656374696f6e4361703a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e7b466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e5075626c69637d0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a20202020202020202f2f20546865206163636f756e7420746f207472616e7366657220746865204e6f646544656c656761746f72206f626a65637420746f206d757374206861766520612076616c6964205374616b696e6720436f6c6c656374696f6e20696e206f7264657220746f207265636569766520746865204e6f646544656c656761746f722e0a20202020202020206966202821466c6f775374616b696e67436f6c6c656374696f6e2e646f65734163636f756e74486176655374616b696e67436f6c6c656374696f6e28616464726573733a20746f2929207b0a20202020202020202020202070616e6963282244657374696e6174696f6e206163636f756e74206d75737420686176652061205374616b696e6720436f6c6c656374696f6e207365742075702e22290a20202020202020207d0a0a20202020202020202f2f204765742061207265666572656e636520746f2074686520617574686f72697a657273205374616b696e67436f6c6c656374696f6e0a202020202020202073656c662e66726f6d5374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a0a20202020202020202f2f2047657420746865205075626c69634163636f756e74206f6620746865206163636f756e7420746f207472616e7366657220746865204e6f646544656c656761746f7220746f2e200a20202020202020206c657420746f4163636f756e74203d206765744163636f756e7428746f290a0a20202020202020202f2f20426f72726f772061206361706162696c69747920746f20746865207075626c6963206d6574686f647320617661696c61626c65206f6e2074686520726563656976657273205374616b696e67436f6c6c656374696f6e2e0a202020202020202073656c662e746f5374616b696e67436f6c6c656374696f6e436170203d20746f4163636f756e742e6765744361706162696c6974793c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e7b466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e5075626c69637d3e28466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e5075626c696350617468292e626f72726f7728290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a20202020202020202f2f2052656d6f766520746865204e6f646544656c656761746f722066726f6d2074686520617574686f72697a657273205374616b696e67436f6c6c656374696f6e2e0a20202020202020206c6574206e6f646544656c656761746f72203c2d2073656c662e66726f6d5374616b696e67436f6c6c656374696f6e5265662e72656d6f766544656c656761746f72286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f724944290a0a20202020202020202f2f204465706f73697420746865204e6f646544656c656761746f7220746f2074686520726563656976657273205374616b696e67436f6c6c656374696f6e2e0a202020202020202073656c662e746f5374616b696e67436f6c6c656374696f6e4361702e61646444656c656761746f724f626a656374283c2d206e6f646544656c656761746f7221290a202020207d0a7df8adb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227d9e7b2274797065223a2255496e743332222c2276616c7565223a223432227daf7b2274797065223a2241646472657373222c2276616c7565223a22307838633533303365616132363230326436227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", - "encodedTransactionEnvelopeHex": "f908b8f908b4b907c2696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f205472616e73666572732061204e6f646544656c656761746f72206f626a6563742066726f6d20616e20617574686f72697a657273206163636f6f756e740a2f2f20616e64206164647320746865204e6f646544656c656761746f7220746f20616e6f74686572206163636f756e7473205374616b696e6720436f6c6c656374696f6e0a2f2f206964656e7469666965642062792074686520746f20416464726573732e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433322c20746f3a204164647265737329207b0a202020206c65742066726f6d5374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a202020206c657420746f5374616b696e67436f6c6c656374696f6e4361703a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e7b466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e5075626c69637d0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a20202020202020202f2f20546865206163636f756e7420746f207472616e7366657220746865204e6f646544656c656761746f72206f626a65637420746f206d757374206861766520612076616c6964205374616b696e6720436f6c6c656374696f6e20696e206f7264657220746f207265636569766520746865204e6f646544656c656761746f722e0a20202020202020206966202821466c6f775374616b696e67436f6c6c656374696f6e2e646f65734163636f756e74486176655374616b696e67436f6c6c656374696f6e28616464726573733a20746f2929207b0a20202020202020202020202070616e6963282244657374696e6174696f6e206163636f756e74206d75737420686176652061205374616b696e6720436f6c6c656374696f6e207365742075702e22290a20202020202020207d0a0a20202020202020202f2f204765742061207265666572656e636520746f2074686520617574686f72697a657273205374616b696e67436f6c6c656374696f6e0a202020202020202073656c662e66726f6d5374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a0a20202020202020202f2f2047657420746865205075626c69634163636f756e74206f6620746865206163636f756e7420746f207472616e7366657220746865204e6f646544656c656761746f7220746f2e200a20202020202020206c657420746f4163636f756e74203d206765744163636f756e7428746f290a0a20202020202020202f2f20426f72726f772061206361706162696c69747920746f20746865207075626c6963206d6574686f647320617661696c61626c65206f6e2074686520726563656976657273205374616b696e67436f6c6c656374696f6e2e0a202020202020202073656c662e746f5374616b696e67436f6c6c656374696f6e436170203d20746f4163636f756e742e6765744361706162696c6974793c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e7b466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e5075626c69637d3e28466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e5075626c696350617468292e626f72726f7728290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a20202020202020202f2f2052656d6f766520746865204e6f646544656c656761746f722066726f6d2074686520617574686f72697a657273205374616b696e67436f6c6c656374696f6e2e0a20202020202020206c6574206e6f646544656c656761746f72203c2d2073656c662e66726f6d5374616b696e67436f6c6c656374696f6e5265662e72656d6f766544656c656761746f72286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f724944290a0a20202020202020202f2f204465706f73697420746865204e6f646544656c656761746f7220746f2074686520726563656976657273205374616b696e67436f6c6c656374696f6e2e0a202020202020202073656c662e746f5374616b696e67436f6c6c656374696f6e4361702e61646444656c656761746f724f626a656374283c2d206e6f646544656c656761746f7221290a202020207d0a7df8adb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227d9e7b2274797065223a2255496e743332222c2276616c7565223a223432227daf7b2274797065223a2241646472657373222c2276616c7565223a22307838633533303365616132363230326436227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", - "metadata": "0253b096b4850a30894e7b272ec5c39e2b2f4a23f8c40e76a3c64cfc63dc2999b6b34d6fafcc5a4d0ed9cf92e168a08d0674c93341e2393ee72dde6664918ec2405472616e736665722044656c656761746f720003014e6f64652049440000537472696e6700030144656c656761746f72204944000155496e743332000301416464726573730002416464726573730003", - "hash": "53b096b4850a30894e7b272ec5c39e2b2f4a23f8c40e76a3c64cfc63dc2999b6" - }, - { - "title": "SCO.15 - Withdraw From Machine Account", - "valid": true, - "chainID": "Testnet", - "payloadMessage": { - "script": "import FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// Request to withdraw tokens from the machine account\n/// The tokens are automatically deposited to the unlocked account vault\n\ntransaction(nodeID: String, amount: UFix64) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n }\n\n execute {\n self.stakingCollectionRef.withdrawFromMachineAccount(nodeID: nodeID, amount: amount)\n }\n}\n", - "arguments": [ - { - "type": "String", - "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" - }, - { - "type": "UFix64", - "value": "92233720368.54775808" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "99a8ac2c71d4f6bd", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "99a8ac2c71d4f6bd", - "authorizers": [ - "99a8ac2c71d4f6bd" - ] - }, - "envelopeMessage": { - "script": "import FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// Request to withdraw tokens from the machine account\n/// The tokens are automatically deposited to the unlocked account vault\n\ntransaction(nodeID: String, amount: UFix64) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n }\n\n execute {\n self.stakingCollectionRef.withdrawFromMachineAccount(nodeID: nodeID, amount: amount)\n }\n}\n", - "arguments": [ - { - "type": "String", - "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" - }, - { - "type": "UFix64", - "value": "92233720368.54775808" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "99a8ac2c71d4f6bd", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "99a8ac2c71d4f6bd", - "authorizers": [ - "99a8ac2c71d4f6bd" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f9037eb902aa696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f205265717565737420746f20776974686472617720746f6b656e732066726f6d20746865206d616368696e65206163636f756e740a2f2f2f2054686520746f6b656e7320617265206175746f6d61746963616c6c79206465706f736974656420746f2074686520756e6c6f636b6564206163636f756e74207661756c740a0a7472616e73616374696f6e286e6f646549443a20537472696e672c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e776974686472617746726f6d4d616368696e654163636f756e74286e6f646549443a206e6f646549442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af88fb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", - "encodedTransactionEnvelopeHex": "f90382f9037eb902aa696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f205265717565737420746f20776974686472617720746f6b656e732066726f6d20746865206d616368696e65206163636f756e740a2f2f2f2054686520746f6b656e7320617265206175746f6d61746963616c6c79206465706f736974656420746f2074686520756e6c6f636b6564206163636f756e74207661756c740a0a7472616e73616374696f6e286e6f646549443a20537472696e672c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e776974686472617746726f6d4d616368696e654163636f756e74286e6f646549443a206e6f646549442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af88fb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", - "metadata": "0239a126038522c6c964d53aaf78dde55bfe80929091510792fe49678bb22cbd96f9c48e18bda7f113e82711a4c95dfd151c6600ed9fbf46ceb22566d6c5728c6f57697468647261772046726f6d204d616368696e65204163636f756e740002014e6f64652049440000537472696e67000301416d6f756e7400015546697836340003", - "hash": "39a126038522c6c964d53aaf78dde55bfe80929091510792fe49678bb22cbd96" - }, - { - "title": "SCO.16 - Update Networking Address", - "valid": true, - "chainID": "Testnet", - "payloadMessage": { - "script": "import FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// Changes the networking address for the specified node\n\ntransaction(nodeID: String, newAddress: String) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n }\n\n execute {\n self.stakingCollectionRef.updateNetworkingAddress(nodeID: nodeID, newAddress: newAddress)\n }\n}\n", - "arguments": [ - { - "type": "String", - "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" - }, - { - "type": "String", - "value": "flow-node.test:3569" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "99a8ac2c71d4f6bd", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "99a8ac2c71d4f6bd", - "authorizers": [ - "99a8ac2c71d4f6bd" - ] - }, - "envelopeMessage": { - "script": "import FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// Changes the networking address for the specified node\n\ntransaction(nodeID: String, newAddress: String) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n }\n\n execute {\n self.stakingCollectionRef.updateNetworkingAddress(nodeID: nodeID, newAddress: newAddress)\n }\n}\n", - "arguments": [ - { - "type": "String", - "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" - }, - { - "type": "String", - "value": "flow-node.test:3569" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "99a8ac2c71d4f6bd", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "99a8ac2c71d4f6bd", - "authorizers": [ - "99a8ac2c71d4f6bd" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f9033fb9026c696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f204368616e67657320746865206e6574776f726b696e67206164647265737320666f722074686520737065636966696564206e6f64650a0a7472616e73616374696f6e286e6f646549443a20537472696e672c206e6577416464726573733a20537472696e6729207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e7570646174654e6574776f726b696e6741646472657373286e6f646549443a206e6f646549442c206e6577416464726573733a206e657741646472657373290a202020207d0a7d0af88eb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227daf7b2274797065223a22537472696e67222c2276616c7565223a22666c6f772d6e6f64652e746573743a33353639227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", - "encodedTransactionEnvelopeHex": "f90343f9033fb9026c696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f204368616e67657320746865206e6574776f726b696e67206164647265737320666f722074686520737065636966696564206e6f64650a0a7472616e73616374696f6e286e6f646549443a20537472696e672c206e6577416464726573733a20537472696e6729207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e7570646174654e6574776f726b696e6741646472657373286e6f646549443a206e6f646549442c206e6577416464726573733a206e657741646472657373290a202020207d0a7d0af88eb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227daf7b2274797065223a22537472696e67222c2276616c7565223a22666c6f772d6e6f64652e746573743a33353639227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", - "metadata": "0260f2cf219d56b19dc7fd223caed42dda9143c87b1b0d2c21a9652e12a3714133ff067b40ac67020ef864cd14842f62023254da34dd2ded56affa1364305bf1c5557064617465204e6574776f726b696e6720416464726573730002014e6f64652049440000537472696e67000301416464726573730001537472696e670003", - "hash": "60f2cf219d56b19dc7fd223caed42dda9143c87b1b0d2c21a9652e12a3714133" - }, - { - "title": "FUSD.01 - Setup FUSD Vault", - "valid": true, - "chainID": "Testnet", - "payloadMessage": { - "script": "// This transaction configures the signer's account with an empty FUSD vault.\n//\n// It also links the following capabilities:\n//\n// - FungibleToken.Receiver: this capability allows this account to accept FUSD deposits.\n// - FungibleToken.Balance: this capability allows anybody to inspect the FUSD balance of this account.\n\nimport FungibleToken from 0x9a0766d93b6608b7\nimport FUSD from 0xe223d8a629e49c68\n\ntransaction {\n\n prepare(signer: AuthAccount) {\n\n // It's OK if the account already has a Vault, but we don't want to replace it\n if(signer.borrow<&FUSD.Vault>(from: /storage/fusdVault) != nil) {\n return\n }\n \n // Create a new FUSD Vault and put it in storage\n signer.save(<-FUSD.createEmptyVault(), to: /storage/fusdVault)\n\n // Create a public capability to the Vault that only exposes\n // the deposit function through the Receiver interface\n signer.link<&FUSD.Vault{FungibleToken.Receiver}>(\n /public/fusdReceiver,\n target: /storage/fusdVault\n )\n\n // Create a public capability to the Vault that only exposes\n // the balance field through the Balance interface\n signer.link<&FUSD.Vault{FungibleToken.Balance}>(\n /public/fusdBalance,\n target: /storage/fusdVault\n )\n }\n}\n", - "arguments": [], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "99a8ac2c71d4f6bd", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "99a8ac2c71d4f6bd", - "authorizers": [ - "99a8ac2c71d4f6bd" - ] - }, - "envelopeMessage": { - "script": "// This transaction configures the signer's account with an empty FUSD vault.\n//\n// It also links the following capabilities:\n//\n// - FungibleToken.Receiver: this capability allows this account to accept FUSD deposits.\n// - FungibleToken.Balance: this capability allows anybody to inspect the FUSD balance of this account.\n\nimport FungibleToken from 0x9a0766d93b6608b7\nimport FUSD from 0xe223d8a629e49c68\n\ntransaction {\n\n prepare(signer: AuthAccount) {\n\n // It's OK if the account already has a Vault, but we don't want to replace it\n if(signer.borrow<&FUSD.Vault>(from: /storage/fusdVault) != nil) {\n return\n }\n \n // Create a new FUSD Vault and put it in storage\n signer.save(<-FUSD.createEmptyVault(), to: /storage/fusdVault)\n\n // Create a public capability to the Vault that only exposes\n // the deposit function through the Receiver interface\n signer.link<&FUSD.Vault{FungibleToken.Receiver}>(\n /public/fusdReceiver,\n target: /storage/fusdVault\n )\n\n // Create a public capability to the Vault that only exposes\n // the balance field through the Balance interface\n signer.link<&FUSD.Vault{FungibleToken.Balance}>(\n /public/fusdBalance,\n target: /storage/fusdVault\n )\n }\n}\n", - "arguments": [], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "99a8ac2c71d4f6bd", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "99a8ac2c71d4f6bd", - "authorizers": [ - "99a8ac2c71d4f6bd" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f9057ab905362f2f2054686973207472616e73616374696f6e20636f6e6669677572657320746865207369676e65722773206163636f756e74207769746820616e20656d7074792046555344207661756c742e0a2f2f0a2f2f20497420616c736f206c696e6b732074686520666f6c6c6f77696e67206361706162696c69746965733a0a2f2f0a2f2f202d2046756e6769626c65546f6b656e2e52656365697665723a2074686973206361706162696c69747920616c6c6f77732074686973206163636f756e7420746f206163636570742046555344206465706f736974732e0a2f2f202d2046756e6769626c65546f6b656e2e42616c616e63653a2074686973206361706162696c69747920616c6c6f777320616e79626f647920746f20696e73706563742074686520465553442062616c616e6365206f662074686973206163636f756e742e0a0a696d706f72742046756e6769626c65546f6b656e2066726f6d203078396130373636643933623636303862370a696d706f727420465553442066726f6d203078653232336438613632396534396336380a0a7472616e73616374696f6e207b0a0a2020202070726570617265287369676e65723a20417574684163636f756e7429207b0a0a20202020202020202f2f2049742773204f4b20696620746865206163636f756e7420616c7265616479206861732061205661756c742c2062757420776520646f6e27742077616e7420746f207265706c6163652069740a20202020202020206966287369676e65722e626f72726f773c26465553442e5661756c743e2866726f6d3a202f73746f726167652f667573645661756c742920213d206e696c29207b0a20202020202020202020202072657475726e0a20202020202020207d0a20202020202020200a20202020202020202f2f204372656174652061206e65772046555344205661756c7420616e642070757420697420696e2073746f726167650a20202020202020207369676e65722e73617665283c2d465553442e637265617465456d7074795661756c7428292c20746f3a202f73746f726167652f667573645661756c74290a0a20202020202020202f2f204372656174652061207075626c6963206361706162696c69747920746f20746865205661756c742074686174206f6e6c79206578706f7365730a20202020202020202f2f20746865206465706f7369742066756e6374696f6e207468726f7567682074686520526563656976657220696e746572666163650a20202020202020207369676e65722e6c696e6b3c26465553442e5661756c747b46756e6769626c65546f6b656e2e52656365697665727d3e280a2020202020202020202020202f7075626c69632f6675736452656365697665722c0a2020202020202020202020207461726765743a202f73746f726167652f667573645661756c740a2020202020202020290a0a20202020202020202f2f204372656174652061207075626c6963206361706162696c69747920746f20746865205661756c742074686174206f6e6c79206578706f7365730a20202020202020202f2f207468652062616c616e6365206669656c64207468726f756768207468652042616c616e636520696e746572666163650a20202020202020207369676e65722e6c696e6b3c26465553442e5661756c747b46756e6769626c65546f6b656e2e42616c616e63657d3e280a2020202020202020202020202f7075626c69632f6675736442616c616e63652c0a2020202020202020202020207461726765743a202f73746f726167652f667573645661756c740a2020202020202020290a202020207d0a7d0ac0a0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", - "encodedTransactionEnvelopeHex": "f9057ef9057ab905362f2f2054686973207472616e73616374696f6e20636f6e6669677572657320746865207369676e65722773206163636f756e74207769746820616e20656d7074792046555344207661756c742e0a2f2f0a2f2f20497420616c736f206c696e6b732074686520666f6c6c6f77696e67206361706162696c69746965733a0a2f2f0a2f2f202d2046756e6769626c65546f6b656e2e52656365697665723a2074686973206361706162696c69747920616c6c6f77732074686973206163636f756e7420746f206163636570742046555344206465706f736974732e0a2f2f202d2046756e6769626c65546f6b656e2e42616c616e63653a2074686973206361706162696c69747920616c6c6f777320616e79626f647920746f20696e73706563742074686520465553442062616c616e6365206f662074686973206163636f756e742e0a0a696d706f72742046756e6769626c65546f6b656e2066726f6d203078396130373636643933623636303862370a696d706f727420465553442066726f6d203078653232336438613632396534396336380a0a7472616e73616374696f6e207b0a0a2020202070726570617265287369676e65723a20417574684163636f756e7429207b0a0a20202020202020202f2f2049742773204f4b20696620746865206163636f756e7420616c7265616479206861732061205661756c742c2062757420776520646f6e27742077616e7420746f207265706c6163652069740a20202020202020206966287369676e65722e626f72726f773c26465553442e5661756c743e2866726f6d3a202f73746f726167652f667573645661756c742920213d206e696c29207b0a20202020202020202020202072657475726e0a20202020202020207d0a20202020202020200a20202020202020202f2f204372656174652061206e65772046555344205661756c7420616e642070757420697420696e2073746f726167650a20202020202020207369676e65722e73617665283c2d465553442e637265617465456d7074795661756c7428292c20746f3a202f73746f726167652f667573645661756c74290a0a20202020202020202f2f204372656174652061207075626c6963206361706162696c69747920746f20746865205661756c742074686174206f6e6c79206578706f7365730a20202020202020202f2f20746865206465706f7369742066756e6374696f6e207468726f7567682074686520526563656976657220696e746572666163650a20202020202020207369676e65722e6c696e6b3c26465553442e5661756c747b46756e6769626c65546f6b656e2e52656365697665727d3e280a2020202020202020202020202f7075626c69632f6675736452656365697665722c0a2020202020202020202020207461726765743a202f73746f726167652f667573645661756c740a2020202020202020290a0a20202020202020202f2f204372656174652061207075626c6963206361706162696c69747920746f20746865205661756c742074686174206f6e6c79206578706f7365730a20202020202020202f2f207468652062616c616e6365206669656c64207468726f756768207468652042616c616e636520696e746572666163650a20202020202020207369676e65722e6c696e6b3c26465553442e5661756c747b46756e6769626c65546f6b656e2e42616c616e63657d3e280a2020202020202020202020202f7075626c69632f6675736442616c616e63652c0a2020202020202020202020207461726765743a202f73746f726167652f667573645661756c740a2020202020202020290a202020207d0a7d0ac0a0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", - "metadata": "020ffaf77ab320ce4cc9602d39b89c85f094ebcea571ed324537e703bc07b0fdc4aa7fecdf159e71bd0b029e40b22643fb443161e67796f42bac68e9bab4630e2953657475702046555344205661756c740000", - "hash": "0ffaf77ab320ce4cc9602d39b89c85f094ebcea571ed324537e703bc07b0fdc4" - }, - { - "title": "FUSD.02 - Transfer FUSD", - "valid": true, - "chainID": "Testnet", - "payloadMessage": { - "script": "// This transaction withdraws FUSD from the signer's account and deposits it into a recipient account. \n// This transaction will fail if the recipient does not have an FUSD receiver. \n// No funds are transferred or lost if the transaction fails.\n//\n// Parameters:\n// - amount: The amount of FUSD to transfer (e.g. 10.0)\n// - to: The recipient account address.\n//\n// This transaction will fail if either the sender or recipient does not have\n// an FUSD vault stored in their account. To check if an account has a vault\n// or initialize a new vault, use check_fusd_vault_setup.cdc and setup_fusd_vault.cdc\n// respectively.\n\nimport FungibleToken from 0x9a0766d93b6608b7\nimport FUSD from 0xe223d8a629e49c68\n\ntransaction(amount: UFix64, to: Address) {\n\n // The Vault resource that holds the tokens that are being transferred\n let sentVault: @FungibleToken.Vault\n\n prepare(signer: AuthAccount) {\n // Get a reference to the signer's stored vault\n let vaultRef = signer.borrow<&FUSD.Vault>(from: /storage/fusdVault)\n ?? panic(\"Could not borrow reference to the owner's Vault!\")\n\n // Withdraw tokens from the signer's stored vault\n self.sentVault <- vaultRef.withdraw(amount: amount)\n }\n\n execute {\n // Get the recipient's public account object\n let recipient = getAccount(to)\n\n // Get a reference to the recipient's Receiver\n let receiverRef = recipient.getCapability(/public/fusdReceiver)!.borrow<&{FungibleToken.Receiver}>()\n ?? panic(\"Could not borrow receiver reference to the recipient's Vault\")\n\n // Deposit the withdrawn tokens in the recipient's receiver\n receiverRef.deposit(from: <-self.sentVault)\n }\n}\n", - "arguments": [ - { - "type": "UFix64", - "value": "92233720368.54775808" - }, - { - "type": "Address", - "value": "0xe467b9dd11fa00df" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "99a8ac2c71d4f6bd", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "99a8ac2c71d4f6bd", - "authorizers": [ - "99a8ac2c71d4f6bd" - ] - }, - "envelopeMessage": { - "script": "// This transaction withdraws FUSD from the signer's account and deposits it into a recipient account. \n// This transaction will fail if the recipient does not have an FUSD receiver. \n// No funds are transferred or lost if the transaction fails.\n//\n// Parameters:\n// - amount: The amount of FUSD to transfer (e.g. 10.0)\n// - to: The recipient account address.\n//\n// This transaction will fail if either the sender or recipient does not have\n// an FUSD vault stored in their account. To check if an account has a vault\n// or initialize a new vault, use check_fusd_vault_setup.cdc and setup_fusd_vault.cdc\n// respectively.\n\nimport FungibleToken from 0x9a0766d93b6608b7\nimport FUSD from 0xe223d8a629e49c68\n\ntransaction(amount: UFix64, to: Address) {\n\n // The Vault resource that holds the tokens that are being transferred\n let sentVault: @FungibleToken.Vault\n\n prepare(signer: AuthAccount) {\n // Get a reference to the signer's stored vault\n let vaultRef = signer.borrow<&FUSD.Vault>(from: /storage/fusdVault)\n ?? panic(\"Could not borrow reference to the owner's Vault!\")\n\n // Withdraw tokens from the signer's stored vault\n self.sentVault <- vaultRef.withdraw(amount: amount)\n }\n\n execute {\n // Get the recipient's public account object\n let recipient = getAccount(to)\n\n // Get a reference to the recipient's Receiver\n let receiverRef = recipient.getCapability(/public/fusdReceiver)!.borrow<&{FungibleToken.Receiver}>()\n ?? panic(\"Could not borrow receiver reference to the recipient's Vault\")\n\n // Deposit the withdrawn tokens in the recipient's receiver\n receiverRef.deposit(from: <-self.sentVault)\n }\n}\n", - "arguments": [ - { - "type": "UFix64", - "value": "92233720368.54775808" - }, - { - "type": "Address", - "value": "0xe467b9dd11fa00df" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "99a8ac2c71d4f6bd", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "99a8ac2c71d4f6bd", - "authorizers": [ - "99a8ac2c71d4f6bd" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f90759b906b32f2f2054686973207472616e73616374696f6e2077697468647261777320465553442066726f6d20746865207369676e65722773206163636f756e7420616e64206465706f7369747320697420696e746f206120726563697069656e74206163636f756e742e200a2f2f2054686973207472616e73616374696f6e2077696c6c206661696c2069662074686520726563697069656e7420646f6573206e6f74206861766520616e20465553442072656365697665722e200a2f2f204e6f2066756e647320617265207472616e73666572726564206f72206c6f737420696620746865207472616e73616374696f6e206661696c732e0a2f2f0a2f2f20506172616d65746572733a0a2f2f202d20616d6f756e743a2054686520616d6f756e74206f66204655534420746f207472616e736665722028652e672e2031302e30290a2f2f202d20746f3a2054686520726563697069656e74206163636f756e7420616464726573732e0a2f2f0a2f2f2054686973207472616e73616374696f6e2077696c6c206661696c20696620656974686572207468652073656e646572206f7220726563697069656e7420646f6573206e6f7420686176650a2f2f20616e2046555344207661756c742073746f72656420696e207468656972206163636f756e742e20546f20636865636b20696620616e206163636f756e74206861732061207661756c740a2f2f206f7220696e697469616c697a652061206e6577207661756c742c2075736520636865636b5f667573645f7661756c745f73657475702e63646320616e642073657475705f667573645f7661756c742e6364630a2f2f20726573706563746976656c792e0a0a696d706f72742046756e6769626c65546f6b656e2066726f6d203078396130373636643933623636303862370a696d706f727420465553442066726f6d203078653232336438613632396534396336380a0a7472616e73616374696f6e28616d6f756e743a205546697836342c20746f3a204164647265737329207b0a0a202020202f2f20546865205661756c74207265736f75726365207468617420686f6c64732074686520746f6b656e73207468617420617265206265696e67207472616e736665727265640a202020206c65742073656e745661756c743a204046756e6769626c65546f6b656e2e5661756c740a0a2020202070726570617265287369676e65723a20417574684163636f756e7429207b0a20202020202020202f2f204765742061207265666572656e636520746f20746865207369676e657227732073746f726564207661756c740a20202020202020206c6574207661756c74526566203d207369676e65722e626f72726f773c26465553442e5661756c743e2866726f6d3a202f73746f726167652f667573645661756c74290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f20746865206f776e65722773205661756c742122290a0a20202020202020202f2f20576974686472617720746f6b656e732066726f6d20746865207369676e657227732073746f726564207661756c740a202020202020202073656c662e73656e745661756c74203c2d207661756c745265662e776974686472617728616d6f756e743a20616d6f756e74290a202020207d0a0a2020202065786563757465207b0a20202020202020202f2f204765742074686520726563697069656e742773207075626c6963206163636f756e74206f626a6563740a20202020202020206c657420726563697069656e74203d206765744163636f756e7428746f290a0a20202020202020202f2f204765742061207265666572656e636520746f2074686520726563697069656e7427732052656365697665720a20202020202020206c6574207265636569766572526566203d20726563697069656e742e6765744361706162696c697479282f7075626c69632f66757364526563656976657229212e626f72726f773c267b46756e6769626c65546f6b656e2e52656365697665727d3e28290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265636569766572207265666572656e636520746f2074686520726563697069656e742773205661756c7422290a0a20202020202020202f2f204465706f736974207468652077697468647261776e20746f6b656e7320696e2074686520726563697069656e7427732072656365697665720a202020202020202072656365697665725265662e6465706f7369742866726f6d3a203c2d73656c662e73656e745661756c74290a202020207d0a7d0af861b07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227daf7b2274797065223a2241646472657373222c2276616c7565223a22307865343637623964643131666130306466227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", - "encodedTransactionEnvelopeHex": "f9075df90759b906b32f2f2054686973207472616e73616374696f6e2077697468647261777320465553442066726f6d20746865207369676e65722773206163636f756e7420616e64206465706f7369747320697420696e746f206120726563697069656e74206163636f756e742e200a2f2f2054686973207472616e73616374696f6e2077696c6c206661696c2069662074686520726563697069656e7420646f6573206e6f74206861766520616e20465553442072656365697665722e200a2f2f204e6f2066756e647320617265207472616e73666572726564206f72206c6f737420696620746865207472616e73616374696f6e206661696c732e0a2f2f0a2f2f20506172616d65746572733a0a2f2f202d20616d6f756e743a2054686520616d6f756e74206f66204655534420746f207472616e736665722028652e672e2031302e30290a2f2f202d20746f3a2054686520726563697069656e74206163636f756e7420616464726573732e0a2f2f0a2f2f2054686973207472616e73616374696f6e2077696c6c206661696c20696620656974686572207468652073656e646572206f7220726563697069656e7420646f6573206e6f7420686176650a2f2f20616e2046555344207661756c742073746f72656420696e207468656972206163636f756e742e20546f20636865636b20696620616e206163636f756e74206861732061207661756c740a2f2f206f7220696e697469616c697a652061206e6577207661756c742c2075736520636865636b5f667573645f7661756c745f73657475702e63646320616e642073657475705f667573645f7661756c742e6364630a2f2f20726573706563746976656c792e0a0a696d706f72742046756e6769626c65546f6b656e2066726f6d203078396130373636643933623636303862370a696d706f727420465553442066726f6d203078653232336438613632396534396336380a0a7472616e73616374696f6e28616d6f756e743a205546697836342c20746f3a204164647265737329207b0a0a202020202f2f20546865205661756c74207265736f75726365207468617420686f6c64732074686520746f6b656e73207468617420617265206265696e67207472616e736665727265640a202020206c65742073656e745661756c743a204046756e6769626c65546f6b656e2e5661756c740a0a2020202070726570617265287369676e65723a20417574684163636f756e7429207b0a20202020202020202f2f204765742061207265666572656e636520746f20746865207369676e657227732073746f726564207661756c740a20202020202020206c6574207661756c74526566203d207369676e65722e626f72726f773c26465553442e5661756c743e2866726f6d3a202f73746f726167652f667573645661756c74290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f20746865206f776e65722773205661756c742122290a0a20202020202020202f2f20576974686472617720746f6b656e732066726f6d20746865207369676e657227732073746f726564207661756c740a202020202020202073656c662e73656e745661756c74203c2d207661756c745265662e776974686472617728616d6f756e743a20616d6f756e74290a202020207d0a0a2020202065786563757465207b0a20202020202020202f2f204765742074686520726563697069656e742773207075626c6963206163636f756e74206f626a6563740a20202020202020206c657420726563697069656e74203d206765744163636f756e7428746f290a0a20202020202020202f2f204765742061207265666572656e636520746f2074686520726563697069656e7427732052656365697665720a20202020202020206c6574207265636569766572526566203d20726563697069656e742e6765744361706162696c697479282f7075626c69632f66757364526563656976657229212e626f72726f773c267b46756e6769626c65546f6b656e2e52656365697665727d3e28290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265636569766572207265666572656e636520746f2074686520726563697069656e742773205661756c7422290a0a20202020202020202f2f204465706f736974207468652077697468647261776e20746f6b656e7320696e2074686520726563697069656e7427732072656365697665720a202020202020202072656365697665725265662e6465706f7369742866726f6d3a203c2d73656c662e73656e745661756c74290a202020207d0a7d0af861b07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227daf7b2274797065223a2241646472657373222c2276616c7565223a22307865343637623964643131666130306466227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", - "metadata": "02f22ca4b350a79c724f6471d5a6a7a0efa7ba9aeebb7fed2843a3ddd6e42c2e1c180cef7053a5f0ae66e19e3a96cc3b9eb7da29767fb5d6938239bf1f8e1dc2845472616e736665722046555344000201416d6f756e740000554669783634000301526563697069656e740001416464726573730003", - "hash": "f22ca4b350a79c724f6471d5a6a7a0efa7ba9aeebb7fed2843a3ddd6e42c2e1c" - }, - { - "title": "TS.01 - Set up Top Shot Collection", - "valid": true, - "chainID": "Testnet", - "payloadMessage": { - "script": "import TopShot from 0x877931736ee77cff\n\n// This transaction sets up an account to use Top Shot\n// by storing an empty moment collection and creating\n// a public capability for it\n\ntransaction {\n\n prepare(acct: AuthAccount) {\n\n // First, check to see if a moment collection already exists\n if acct.borrow<&TopShot.Collection>(from: /storage/MomentCollection) == nil {\n\n // create a new TopShot Collection\n let collection <- TopShot.createEmptyCollection() as! @TopShot.Collection\n\n // Put the new Collection in storage\n acct.save(<-collection, to: /storage/MomentCollection)\n\n // create a public capability for the collection\n acct.link<&{TopShot.MomentCollectionPublic}>(/public/MomentCollection, target: /storage/MomentCollection)\n }\n }\n}", - "arguments": [], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "99a8ac2c71d4f6bd", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "99a8ac2c71d4f6bd", - "authorizers": [ - "99a8ac2c71d4f6bd" - ] - }, - "envelopeMessage": { - "script": "import TopShot from 0x877931736ee77cff\n\n// This transaction sets up an account to use Top Shot\n// by storing an empty moment collection and creating\n// a public capability for it\n\ntransaction {\n\n prepare(acct: AuthAccount) {\n\n // First, check to see if a moment collection already exists\n if acct.borrow<&TopShot.Collection>(from: /storage/MomentCollection) == nil {\n\n // create a new TopShot Collection\n let collection <- TopShot.createEmptyCollection() as! @TopShot.Collection\n\n // Put the new Collection in storage\n acct.save(<-collection, to: /storage/MomentCollection)\n\n // create a public capability for the collection\n acct.link<&{TopShot.MomentCollectionPublic}>(/public/MomentCollection, target: /storage/MomentCollection)\n }\n }\n}", - "arguments": [], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "99a8ac2c71d4f6bd", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "99a8ac2c71d4f6bd", - "authorizers": [ - "99a8ac2c71d4f6bd" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f90384b90340696d706f727420546f7053686f742066726f6d203078383737393331373336656537376366660a0a2f2f2054686973207472616e73616374696f6e207365747320757020616e206163636f756e7420746f2075736520546f702053686f740a2f2f2062792073746f72696e6720616e20656d707479206d6f6d656e7420636f6c6c656374696f6e20616e64206372656174696e670a2f2f2061207075626c6963206361706162696c69747920666f722069740a0a7472616e73616374696f6e207b0a0a202020207072657061726528616363743a20417574684163636f756e7429207b0a0a20202020202020202f2f2046697273742c20636865636b20746f207365652069662061206d6f6d656e7420636f6c6c656374696f6e20616c7265616479206578697374730a2020202020202020696620616363742e626f72726f773c26546f7053686f742e436f6c6c656374696f6e3e2866726f6d3a202f73746f726167652f4d6f6d656e74436f6c6c656374696f6e29203d3d206e696c207b0a0a2020202020202020202020202f2f206372656174652061206e657720546f7053686f7420436f6c6c656374696f6e0a2020202020202020202020206c657420636f6c6c656374696f6e203c2d20546f7053686f742e637265617465456d707479436f6c6c656374696f6e2829206173212040546f7053686f742e436f6c6c656374696f6e0a0a2020202020202020202020202f2f2050757420746865206e657720436f6c6c656374696f6e20696e2073746f726167650a202020202020202020202020616363742e73617665283c2d636f6c6c656374696f6e2c20746f3a202f73746f726167652f4d6f6d656e74436f6c6c656374696f6e290a0a2020202020202020202020202f2f206372656174652061207075626c6963206361706162696c69747920666f722074686520636f6c6c656374696f6e0a202020202020202020202020616363742e6c696e6b3c267b546f7053686f742e4d6f6d656e74436f6c6c656374696f6e5075626c69637d3e282f7075626c69632f4d6f6d656e74436f6c6c656374696f6e2c207461726765743a202f73746f726167652f4d6f6d656e74436f6c6c656374696f6e290a20202020202020207d0a202020207d0a7dc0a0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", - "encodedTransactionEnvelopeHex": "f90388f90384b90340696d706f727420546f7053686f742066726f6d203078383737393331373336656537376366660a0a2f2f2054686973207472616e73616374696f6e207365747320757020616e206163636f756e7420746f2075736520546f702053686f740a2f2f2062792073746f72696e6720616e20656d707479206d6f6d656e7420636f6c6c656374696f6e20616e64206372656174696e670a2f2f2061207075626c6963206361706162696c69747920666f722069740a0a7472616e73616374696f6e207b0a0a202020207072657061726528616363743a20417574684163636f756e7429207b0a0a20202020202020202f2f2046697273742c20636865636b20746f207365652069662061206d6f6d656e7420636f6c6c656374696f6e20616c7265616479206578697374730a2020202020202020696620616363742e626f72726f773c26546f7053686f742e436f6c6c656374696f6e3e2866726f6d3a202f73746f726167652f4d6f6d656e74436f6c6c656374696f6e29203d3d206e696c207b0a0a2020202020202020202020202f2f206372656174652061206e657720546f7053686f7420436f6c6c656374696f6e0a2020202020202020202020206c657420636f6c6c656374696f6e203c2d20546f7053686f742e637265617465456d707479436f6c6c656374696f6e2829206173212040546f7053686f742e436f6c6c656374696f6e0a0a2020202020202020202020202f2f2050757420746865206e657720436f6c6c656374696f6e20696e2073746f726167650a202020202020202020202020616363742e73617665283c2d636f6c6c656374696f6e2c20746f3a202f73746f726167652f4d6f6d656e74436f6c6c656374696f6e290a0a2020202020202020202020202f2f206372656174652061207075626c6963206361706162696c69747920666f722074686520636f6c6c656374696f6e0a202020202020202020202020616363742e6c696e6b3c267b546f7053686f742e4d6f6d656e74436f6c6c656374696f6e5075626c69637d3e282f7075626c69632f4d6f6d656e74436f6c6c656374696f6e2c207461726765743a202f73746f726167652f4d6f6d656e74436f6c6c656374696f6e290a20202020202020207d0a202020207d0a7dc0a0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", - "metadata": "020f0baeef9353ceee607c5be3b7c0f86792dadf20b9e9c89e831adb0199e758827511848f1c27a173d966f4b868fd7efead7eeb1bbf04fc3f3e60dabc6c7f759353657420757020546f702053686f7420436f6c6c656374696f6e0000", - "hash": "0f0baeef9353ceee607c5be3b7c0f86792dadf20b9e9c89e831adb0199e75882" - }, - { - "title": "TS.02 - Transfer Top Shot Moment", - "valid": true, - "chainID": "Testnet", - "payloadMessage": { - "script": "import NonFungibleToken from 0x631e88ae7f1d7c20\nimport TopShot from 0x877931736ee77cff\n\n// This transaction transfers a moment to a recipient\n\n// This transaction is how a topshot user would transfer a moment\n// from their account to another account\n// The recipient must have a TopShot Collection object stored\n// and a public MomentCollectionPublic capability stored at\n// `/public/MomentCollection`\n\n// Parameters:\n//\n// recipient: The Flow address of the account to receive the moment.\n// withdrawID: The id of the moment to be transferred\n\ntransaction(recipient: Address, withdrawID: UInt64) {\n\n // local variable for storing the transferred token\n let transferToken: @NonFungibleToken.NFT\n \n prepare(acct: AuthAccount) {\n\n // borrow a reference to the owner's collection\n let collectionRef = acct.borrow<&TopShot.Collection>(from: /storage/MomentCollection)\n ?? panic(\"Could not borrow a reference to the stored Moment collection\")\n \n // withdraw the NFT\n self.transferToken <- collectionRef.withdraw(withdrawID: withdrawID)\n }\n\n execute {\n \n // get the recipient's public account object\n let recipient = getAccount(recipient)\n\n // get the Collection reference for the receiver\n let receiverRef = recipient.getCapability(/public/MomentCollection).borrow<&{TopShot.MomentCollectionPublic}>()!\n\n // deposit the NFT in the receivers collection\n receiverRef.deposit(token: <-self.transferToken)\n }\n}", - "arguments": [ - { - "type": "Address", - "value": "0x8c5303eaa26202d6" - }, - { - "type": "UInt64", - "value": "42" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "99a8ac2c71d4f6bd", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "99a8ac2c71d4f6bd", - "authorizers": [ - "99a8ac2c71d4f6bd" - ] - }, - "envelopeMessage": { - "script": "import NonFungibleToken from 0x631e88ae7f1d7c20\nimport TopShot from 0x877931736ee77cff\n\n// This transaction transfers a moment to a recipient\n\n// This transaction is how a topshot user would transfer a moment\n// from their account to another account\n// The recipient must have a TopShot Collection object stored\n// and a public MomentCollectionPublic capability stored at\n// `/public/MomentCollection`\n\n// Parameters:\n//\n// recipient: The Flow address of the account to receive the moment.\n// withdrawID: The id of the moment to be transferred\n\ntransaction(recipient: Address, withdrawID: UInt64) {\n\n // local variable for storing the transferred token\n let transferToken: @NonFungibleToken.NFT\n \n prepare(acct: AuthAccount) {\n\n // borrow a reference to the owner's collection\n let collectionRef = acct.borrow<&TopShot.Collection>(from: /storage/MomentCollection)\n ?? panic(\"Could not borrow a reference to the stored Moment collection\")\n \n // withdraw the NFT\n self.transferToken <- collectionRef.withdraw(withdrawID: withdrawID)\n }\n\n execute {\n \n // get the recipient's public account object\n let recipient = getAccount(recipient)\n\n // get the Collection reference for the receiver\n let receiverRef = recipient.getCapability(/public/MomentCollection).borrow<&{TopShot.MomentCollectionPublic}>()!\n\n // deposit the NFT in the receivers collection\n receiverRef.deposit(token: <-self.transferToken)\n }\n}", - "arguments": [ - { - "type": "Address", - "value": "0x8c5303eaa26202d6" - }, - { - "type": "UInt64", - "value": "42" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "99a8ac2c71d4f6bd", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "99a8ac2c71d4f6bd", - "authorizers": [ - "99a8ac2c71d4f6bd" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f90681b905ed696d706f7274204e6f6e46756e6769626c65546f6b656e2066726f6d203078363331653838616537663164376332300a696d706f727420546f7053686f742066726f6d203078383737393331373336656537376366660a0a2f2f2054686973207472616e73616374696f6e207472616e73666572732061206d6f6d656e7420746f206120726563697069656e740a0a2f2f2054686973207472616e73616374696f6e20697320686f77206120746f7073686f74207573657220776f756c64207472616e736665722061206d6f6d656e740a2f2f2066726f6d207468656972206163636f756e7420746f20616e6f74686572206163636f756e740a2f2f2054686520726563697069656e74206d7573742068617665206120546f7053686f7420436f6c6c656374696f6e206f626a6563742073746f7265640a2f2f20616e642061207075626c6963204d6f6d656e74436f6c6c656374696f6e5075626c6963206361706162696c6974792073746f7265642061740a2f2f20602f7075626c69632f4d6f6d656e74436f6c6c656374696f6e600a0a2f2f20506172616d65746572733a0a2f2f0a2f2f20726563697069656e743a2054686520466c6f772061646472657373206f6620746865206163636f756e7420746f207265636569766520746865206d6f6d656e742e0a2f2f20776974686472617749443a20546865206964206f6620746865206d6f6d656e7420746f206265207472616e736665727265640a0a7472616e73616374696f6e28726563697069656e743a20416464726573732c20776974686472617749443a2055496e74363429207b0a0a202020202f2f206c6f63616c207661726961626c6520666f722073746f72696e6720746865207472616e7366657272656420746f6b656e0a202020206c6574207472616e73666572546f6b656e3a20404e6f6e46756e6769626c65546f6b656e2e4e46540a202020200a202020207072657061726528616363743a20417574684163636f756e7429207b0a0a20202020202020202f2f20626f72726f772061207265666572656e636520746f20746865206f776e6572277320636f6c6c656374696f6e0a20202020202020206c657420636f6c6c656374696f6e526566203d20616363742e626f72726f773c26546f7053686f742e436f6c6c656374696f6e3e2866726f6d3a202f73746f726167652f4d6f6d656e74436f6c6c656374696f6e290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f207468652073746f726564204d6f6d656e7420636f6c6c656374696f6e22290a20202020202020200a20202020202020202f2f20776974686472617720746865204e46540a202020202020202073656c662e7472616e73666572546f6b656e203c2d20636f6c6c656374696f6e5265662e776974686472617728776974686472617749443a2077697468647261774944290a202020207d0a0a2020202065786563757465207b0a20202020202020200a20202020202020202f2f206765742074686520726563697069656e742773207075626c6963206163636f756e74206f626a6563740a20202020202020206c657420726563697069656e74203d206765744163636f756e7428726563697069656e74290a0a20202020202020202f2f206765742074686520436f6c6c656374696f6e207265666572656e636520666f72207468652072656365697665720a20202020202020206c6574207265636569766572526566203d20726563697069656e742e6765744361706162696c697479282f7075626c69632f4d6f6d656e74436f6c6c656374696f6e292e626f72726f773c267b546f7053686f742e4d6f6d656e74436f6c6c656374696f6e5075626c69637d3e2829210a0a20202020202020202f2f206465706f73697420746865204e465420696e207468652072656365697665727320636f6c6c656374696f6e0a202020202020202072656365697665725265662e6465706f73697428746f6b656e3a203c2d73656c662e7472616e73666572546f6b656e290a202020207d0a7df84faf7b2274797065223a2241646472657373222c2276616c7565223a22307838633533303365616132363230326436227d9e7b2274797065223a2255496e743634222c2276616c7565223a223432227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", - "encodedTransactionEnvelopeHex": "f90685f90681b905ed696d706f7274204e6f6e46756e6769626c65546f6b656e2066726f6d203078363331653838616537663164376332300a696d706f727420546f7053686f742066726f6d203078383737393331373336656537376366660a0a2f2f2054686973207472616e73616374696f6e207472616e73666572732061206d6f6d656e7420746f206120726563697069656e740a0a2f2f2054686973207472616e73616374696f6e20697320686f77206120746f7073686f74207573657220776f756c64207472616e736665722061206d6f6d656e740a2f2f2066726f6d207468656972206163636f756e7420746f20616e6f74686572206163636f756e740a2f2f2054686520726563697069656e74206d7573742068617665206120546f7053686f7420436f6c6c656374696f6e206f626a6563742073746f7265640a2f2f20616e642061207075626c6963204d6f6d656e74436f6c6c656374696f6e5075626c6963206361706162696c6974792073746f7265642061740a2f2f20602f7075626c69632f4d6f6d656e74436f6c6c656374696f6e600a0a2f2f20506172616d65746572733a0a2f2f0a2f2f20726563697069656e743a2054686520466c6f772061646472657373206f6620746865206163636f756e7420746f207265636569766520746865206d6f6d656e742e0a2f2f20776974686472617749443a20546865206964206f6620746865206d6f6d656e7420746f206265207472616e736665727265640a0a7472616e73616374696f6e28726563697069656e743a20416464726573732c20776974686472617749443a2055496e74363429207b0a0a202020202f2f206c6f63616c207661726961626c6520666f722073746f72696e6720746865207472616e7366657272656420746f6b656e0a202020206c6574207472616e73666572546f6b656e3a20404e6f6e46756e6769626c65546f6b656e2e4e46540a202020200a202020207072657061726528616363743a20417574684163636f756e7429207b0a0a20202020202020202f2f20626f72726f772061207265666572656e636520746f20746865206f776e6572277320636f6c6c656374696f6e0a20202020202020206c657420636f6c6c656374696f6e526566203d20616363742e626f72726f773c26546f7053686f742e436f6c6c656374696f6e3e2866726f6d3a202f73746f726167652f4d6f6d656e74436f6c6c656374696f6e290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f207468652073746f726564204d6f6d656e7420636f6c6c656374696f6e22290a20202020202020200a20202020202020202f2f20776974686472617720746865204e46540a202020202020202073656c662e7472616e73666572546f6b656e203c2d20636f6c6c656374696f6e5265662e776974686472617728776974686472617749443a2077697468647261774944290a202020207d0a0a2020202065786563757465207b0a20202020202020200a20202020202020202f2f206765742074686520726563697069656e742773207075626c6963206163636f756e74206f626a6563740a20202020202020206c657420726563697069656e74203d206765744163636f756e7428726563697069656e74290a0a20202020202020202f2f206765742074686520436f6c6c656374696f6e207265666572656e636520666f72207468652072656365697665720a20202020202020206c6574207265636569766572526566203d20726563697069656e742e6765744361706162696c697479282f7075626c69632f4d6f6d656e74436f6c6c656374696f6e292e626f72726f773c267b546f7053686f742e4d6f6d656e74436f6c6c656374696f6e5075626c69637d3e2829210a0a20202020202020202f2f206465706f73697420746865204e465420696e207468652072656365697665727320636f6c6c656374696f6e0a202020202020202072656365697665725265662e6465706f73697428746f6b656e3a203c2d73656c662e7472616e73666572546f6b656e290a202020207d0a7df84faf7b2274797065223a2241646472657373222c2276616c7565223a22307838633533303365616132363230326436227d9e7b2274797065223a2255496e743634222c2276616c7565223a223432227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", - "metadata": "021ec9aea0b51409610f882f5ae4278567da675542bb378eb999f05b7c4f12f7d809d5ad21bf70dfe4f8d800db9e61a77f2f64837ae0e818c3cd67e9cea837a1cf5472616e7366657220546f702053686f74204d6f6d656e74000201526563697069656e740000416464726573730003014d6f6d656e74204944000155496e7436340003", - "hash": "1ec9aea0b51409610f882f5ae4278567da675542bb378eb999f05b7c4f12f7d8" - }, - { - "title": "USDC.01 - Setup USDC Vault", - "valid": true, - "chainID": "Testnet", - "payloadMessage": { - "script": "import FungibleToken from 0x9a0766d93b6608b7\nimport FiatToken from 0x1ab3c177460e1e4a\n\ntransaction {\n\n prepare(signer: AuthAccount) {\n\n // Return early if the account already stores a FiatToken Vault\n if signer.borrow<&FiatToken.Vault>(from: FiatToken.VaultStoragePath) != nil {\n return\n }\n\n // Create a new ExampleToken Vault and put it in storage\n signer.save(\n <-FiatToken.createEmptyVault(),\n to: FiatToken.VaultStoragePath\n )\n\n // Create a public capability to the Vault that only exposes\n // the deposit function through the Receiver interface\n signer.link<&FiatToken.Vault{FungibleToken.Receiver}>(\n FiatToken.VaultReceiverPubPath,\n target: FiatToken.VaultStoragePath\n )\n\n // Create a public capability to the Vault that only exposes\n // the UUID() function through the VaultUUID interface\n signer.link<&FiatToken.Vault{FiatToken.ResourceId}>(\n FiatToken.VaultUUIDPubPath,\n target: FiatToken.VaultStoragePath\n )\n\n // Create a public capability to the Vault that only exposes\n // the balance field through the Balance interface\n signer.link<&FiatToken.Vault{FungibleToken.Balance}>(\n FiatToken.VaultBalancePubPath,\n target: FiatToken.VaultStoragePath\n )\n\n }\n}\n", - "arguments": [], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "99a8ac2c71d4f6bd", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "99a8ac2c71d4f6bd", - "authorizers": [ - "99a8ac2c71d4f6bd" - ] - }, - "envelopeMessage": { - "script": "import FungibleToken from 0x9a0766d93b6608b7\nimport FiatToken from 0x1ab3c177460e1e4a\n\ntransaction {\n\n prepare(signer: AuthAccount) {\n\n // Return early if the account already stores a FiatToken Vault\n if signer.borrow<&FiatToken.Vault>(from: FiatToken.VaultStoragePath) != nil {\n return\n }\n\n // Create a new ExampleToken Vault and put it in storage\n signer.save(\n <-FiatToken.createEmptyVault(),\n to: FiatToken.VaultStoragePath\n )\n\n // Create a public capability to the Vault that only exposes\n // the deposit function through the Receiver interface\n signer.link<&FiatToken.Vault{FungibleToken.Receiver}>(\n FiatToken.VaultReceiverPubPath,\n target: FiatToken.VaultStoragePath\n )\n\n // Create a public capability to the Vault that only exposes\n // the UUID() function through the VaultUUID interface\n signer.link<&FiatToken.Vault{FiatToken.ResourceId}>(\n FiatToken.VaultUUIDPubPath,\n target: FiatToken.VaultStoragePath\n )\n\n // Create a public capability to the Vault that only exposes\n // the balance field through the Balance interface\n signer.link<&FiatToken.Vault{FungibleToken.Balance}>(\n FiatToken.VaultBalancePubPath,\n target: FiatToken.VaultStoragePath\n )\n\n }\n}\n", - "arguments": [], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "99a8ac2c71d4f6bd", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "99a8ac2c71d4f6bd", - "authorizers": [ - "99a8ac2c71d4f6bd" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f905b9b90575696d706f72742046756e6769626c65546f6b656e2066726f6d203078396130373636643933623636303862370a696d706f72742046696174546f6b656e2066726f6d203078316162336331373734363065316534610a0a7472616e73616374696f6e207b0a0a2020202070726570617265287369676e65723a20417574684163636f756e7429207b0a0a20202020202020202f2f2052657475726e206561726c7920696620746865206163636f756e7420616c72656164792073746f72657320612046696174546f6b656e205661756c740a20202020202020206966207369676e65722e626f72726f773c2646696174546f6b656e2e5661756c743e2866726f6d3a2046696174546f6b656e2e5661756c7453746f72616765506174682920213d206e696c207b0a20202020202020202020202072657475726e0a20202020202020207d0a0a20202020202020202f2f204372656174652061206e6577204578616d706c65546f6b656e205661756c7420616e642070757420697420696e2073746f726167650a20202020202020207369676e65722e73617665280a2020202020202020202020203c2d46696174546f6b656e2e637265617465456d7074795661756c7428292c0a202020202020202020202020746f3a2046696174546f6b656e2e5661756c7453746f72616765506174680a2020202020202020290a0a20202020202020202f2f204372656174652061207075626c6963206361706162696c69747920746f20746865205661756c742074686174206f6e6c79206578706f7365730a20202020202020202f2f20746865206465706f7369742066756e6374696f6e207468726f7567682074686520526563656976657220696e746572666163650a20202020202020207369676e65722e6c696e6b3c2646696174546f6b656e2e5661756c747b46756e6769626c65546f6b656e2e52656365697665727d3e280a20202020202020202020202046696174546f6b656e2e5661756c745265636569766572507562506174682c0a2020202020202020202020207461726765743a2046696174546f6b656e2e5661756c7453746f72616765506174680a2020202020202020290a0a20202020202020202f2f204372656174652061207075626c6963206361706162696c69747920746f20746865205661756c742074686174206f6e6c79206578706f7365730a20202020202020202f2f20746865205555494428292066756e6374696f6e207468726f75676820746865205661756c745555494420696e746572666163650a20202020202020207369676e65722e6c696e6b3c2646696174546f6b656e2e5661756c747b46696174546f6b656e2e5265736f7572636549647d3e280a20202020202020202020202046696174546f6b656e2e5661756c7455554944507562506174682c0a2020202020202020202020207461726765743a2046696174546f6b656e2e5661756c7453746f72616765506174680a2020202020202020290a0a20202020202020202f2f204372656174652061207075626c6963206361706162696c69747920746f20746865205661756c742074686174206f6e6c79206578706f7365730a20202020202020202f2f207468652062616c616e6365206669656c64207468726f756768207468652042616c616e636520696e746572666163650a20202020202020207369676e65722e6c696e6b3c2646696174546f6b656e2e5661756c747b46756e6769626c65546f6b656e2e42616c616e63657d3e280a20202020202020202020202046696174546f6b656e2e5661756c7442616c616e6365507562506174682c0a2020202020202020202020207461726765743a2046696174546f6b656e2e5661756c7453746f72616765506174680a2020202020202020290a0a202020207d0a7d0ac0a0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", - "encodedTransactionEnvelopeHex": "f905bdf905b9b90575696d706f72742046756e6769626c65546f6b656e2066726f6d203078396130373636643933623636303862370a696d706f72742046696174546f6b656e2066726f6d203078316162336331373734363065316534610a0a7472616e73616374696f6e207b0a0a2020202070726570617265287369676e65723a20417574684163636f756e7429207b0a0a20202020202020202f2f2052657475726e206561726c7920696620746865206163636f756e7420616c72656164792073746f72657320612046696174546f6b656e205661756c740a20202020202020206966207369676e65722e626f72726f773c2646696174546f6b656e2e5661756c743e2866726f6d3a2046696174546f6b656e2e5661756c7453746f72616765506174682920213d206e696c207b0a20202020202020202020202072657475726e0a20202020202020207d0a0a20202020202020202f2f204372656174652061206e6577204578616d706c65546f6b656e205661756c7420616e642070757420697420696e2073746f726167650a20202020202020207369676e65722e73617665280a2020202020202020202020203c2d46696174546f6b656e2e637265617465456d7074795661756c7428292c0a202020202020202020202020746f3a2046696174546f6b656e2e5661756c7453746f72616765506174680a2020202020202020290a0a20202020202020202f2f204372656174652061207075626c6963206361706162696c69747920746f20746865205661756c742074686174206f6e6c79206578706f7365730a20202020202020202f2f20746865206465706f7369742066756e6374696f6e207468726f7567682074686520526563656976657220696e746572666163650a20202020202020207369676e65722e6c696e6b3c2646696174546f6b656e2e5661756c747b46756e6769626c65546f6b656e2e52656365697665727d3e280a20202020202020202020202046696174546f6b656e2e5661756c745265636569766572507562506174682c0a2020202020202020202020207461726765743a2046696174546f6b656e2e5661756c7453746f72616765506174680a2020202020202020290a0a20202020202020202f2f204372656174652061207075626c6963206361706162696c69747920746f20746865205661756c742074686174206f6e6c79206578706f7365730a20202020202020202f2f20746865205555494428292066756e6374696f6e207468726f75676820746865205661756c745555494420696e746572666163650a20202020202020207369676e65722e6c696e6b3c2646696174546f6b656e2e5661756c747b46696174546f6b656e2e5265736f7572636549647d3e280a20202020202020202020202046696174546f6b656e2e5661756c7455554944507562506174682c0a2020202020202020202020207461726765743a2046696174546f6b656e2e5661756c7453746f72616765506174680a2020202020202020290a0a20202020202020202f2f204372656174652061207075626c6963206361706162696c69747920746f20746865205661756c742074686174206f6e6c79206578706f7365730a20202020202020202f2f207468652062616c616e6365206669656c64207468726f756768207468652042616c616e636520696e746572666163650a20202020202020207369676e65722e6c696e6b3c2646696174546f6b656e2e5661756c747b46756e6769626c65546f6b656e2e42616c616e63657d3e280a20202020202020202020202046696174546f6b656e2e5661756c7442616c616e6365507562506174682c0a2020202020202020202020207461726765743a2046696174546f6b656e2e5661756c7453746f72616765506174680a2020202020202020290a0a202020207d0a7d0ac0a0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", - "metadata": "022defee818c0c003ca519f83517f4c7bcf9dd8664a562ec80959cb6146428f971887673892a2e2c12337394570dfa30c5669e93f537ae426690f402799514a9a153657475702055534443205661756c740000", - "hash": "2defee818c0c003ca519f83517f4c7bcf9dd8664a562ec80959cb6146428f971" - }, - { - "title": "USDC.02 - Transfer USDC", - "valid": true, - "chainID": "Testnet", - "payloadMessage": { - "script": "import FungibleToken from 0x9a0766d93b6608b7\nimport FiatToken from 0x1ab3c177460e1e4a\n\ntransaction(amount: UFix64, to: Address) {\n\n // The Vault resource that holds the tokens that are being transferred\n let sentVault: @FungibleToken.Vault\n\n prepare(signer: AuthAccount) {\n\n // Get a reference to the signer's stored vault\n let vaultRef = signer.borrow<&FiatToken.Vault>(from: FiatToken.VaultStoragePath)\n ?? panic(\"Could not borrow reference to the owner's Vault!\")\n\n // Withdraw tokens from the signer's stored vault\n self.sentVault <- vaultRef.withdraw(amount: amount)\n }\n\n execute {\n\n // Get the recipient's public account object\n let recipient = getAccount(to)\n\n // Get a reference to the recipient's Receiver\n let receiverRef = recipient.getCapability(FiatToken.VaultReceiverPubPath)\n .borrow<&{FungibleToken.Receiver}>()\n ?? panic(\"Could not borrow receiver reference to the recipient's Vault\")\n\n // Deposit the withdrawn tokens in the recipient's receiver\n receiverRef.deposit(from: <-self.sentVault)\n }\n}\n", - "arguments": [ - { - "type": "UFix64", - "value": "42" - }, - { - "type": "Address", - "value": "0x8c5303eaa26202d6" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "99a8ac2c71d4f6bd", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "99a8ac2c71d4f6bd", - "authorizers": [ - "99a8ac2c71d4f6bd" - ] - }, - "envelopeMessage": { - "script": "import FungibleToken from 0x9a0766d93b6608b7\nimport FiatToken from 0x1ab3c177460e1e4a\n\ntransaction(amount: UFix64, to: Address) {\n\n // The Vault resource that holds the tokens that are being transferred\n let sentVault: @FungibleToken.Vault\n\n prepare(signer: AuthAccount) {\n\n // Get a reference to the signer's stored vault\n let vaultRef = signer.borrow<&FiatToken.Vault>(from: FiatToken.VaultStoragePath)\n ?? panic(\"Could not borrow reference to the owner's Vault!\")\n\n // Withdraw tokens from the signer's stored vault\n self.sentVault <- vaultRef.withdraw(amount: amount)\n }\n\n execute {\n\n // Get the recipient's public account object\n let recipient = getAccount(to)\n\n // Get a reference to the recipient's Receiver\n let receiverRef = recipient.getCapability(FiatToken.VaultReceiverPubPath)\n .borrow<&{FungibleToken.Receiver}>()\n ?? panic(\"Could not borrow receiver reference to the recipient's Vault\")\n\n // Deposit the withdrawn tokens in the recipient's receiver\n receiverRef.deposit(from: <-self.sentVault)\n }\n}\n", - "arguments": [ - { - "type": "UFix64", - "value": "42" - }, - { - "type": "Address", - "value": "0x8c5303eaa26202d6" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "99a8ac2c71d4f6bd", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "99a8ac2c71d4f6bd", - "authorizers": [ - "99a8ac2c71d4f6bd" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f90503b9046f696d706f72742046756e6769626c65546f6b656e2066726f6d203078396130373636643933623636303862370a696d706f72742046696174546f6b656e2066726f6d203078316162336331373734363065316534610a0a7472616e73616374696f6e28616d6f756e743a205546697836342c20746f3a204164647265737329207b0a0a202020202f2f20546865205661756c74207265736f75726365207468617420686f6c64732074686520746f6b656e73207468617420617265206265696e67207472616e736665727265640a202020206c65742073656e745661756c743a204046756e6769626c65546f6b656e2e5661756c740a0a2020202070726570617265287369676e65723a20417574684163636f756e7429207b0a0a20202020202020202f2f204765742061207265666572656e636520746f20746865207369676e657227732073746f726564207661756c740a20202020202020206c6574207661756c74526566203d207369676e65722e626f72726f773c2646696174546f6b656e2e5661756c743e2866726f6d3a2046696174546f6b656e2e5661756c7453746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f20746865206f776e65722773205661756c742122290a0a20202020202020202f2f20576974686472617720746f6b656e732066726f6d20746865207369676e657227732073746f726564207661756c740a202020202020202073656c662e73656e745661756c74203c2d207661756c745265662e776974686472617728616d6f756e743a20616d6f756e74290a202020207d0a0a2020202065786563757465207b0a0a20202020202020202f2f204765742074686520726563697069656e742773207075626c6963206163636f756e74206f626a6563740a20202020202020206c657420726563697069656e74203d206765744163636f756e7428746f290a0a20202020202020202f2f204765742061207265666572656e636520746f2074686520726563697069656e7427732052656365697665720a20202020202020206c6574207265636569766572526566203d20726563697069656e742e6765744361706162696c6974792846696174546f6b656e2e5661756c74526563656976657250756250617468290a2020202020202020202020202e626f72726f773c267b46756e6769626c65546f6b656e2e52656365697665727d3e28290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265636569766572207265666572656e636520746f2074686520726563697069656e742773205661756c7422290a0a20202020202020202f2f204465706f736974207468652077697468647261776e20746f6b656e7320696e2074686520726563697069656e7427732072656365697665720a202020202020202072656365697665725265662e6465706f7369742866726f6d3a203c2d73656c662e73656e745661756c74290a202020207d0a7d0af84f9e7b2274797065223a22554669783634222c2276616c7565223a223432227daf7b2274797065223a2241646472657373222c2276616c7565223a22307838633533303365616132363230326436227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", - "encodedTransactionEnvelopeHex": "f90507f90503b9046f696d706f72742046756e6769626c65546f6b656e2066726f6d203078396130373636643933623636303862370a696d706f72742046696174546f6b656e2066726f6d203078316162336331373734363065316534610a0a7472616e73616374696f6e28616d6f756e743a205546697836342c20746f3a204164647265737329207b0a0a202020202f2f20546865205661756c74207265736f75726365207468617420686f6c64732074686520746f6b656e73207468617420617265206265696e67207472616e736665727265640a202020206c65742073656e745661756c743a204046756e6769626c65546f6b656e2e5661756c740a0a2020202070726570617265287369676e65723a20417574684163636f756e7429207b0a0a20202020202020202f2f204765742061207265666572656e636520746f20746865207369676e657227732073746f726564207661756c740a20202020202020206c6574207661756c74526566203d207369676e65722e626f72726f773c2646696174546f6b656e2e5661756c743e2866726f6d3a2046696174546f6b656e2e5661756c7453746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f20746865206f776e65722773205661756c742122290a0a20202020202020202f2f20576974686472617720746f6b656e732066726f6d20746865207369676e657227732073746f726564207661756c740a202020202020202073656c662e73656e745661756c74203c2d207661756c745265662e776974686472617728616d6f756e743a20616d6f756e74290a202020207d0a0a2020202065786563757465207b0a0a20202020202020202f2f204765742074686520726563697069656e742773207075626c6963206163636f756e74206f626a6563740a20202020202020206c657420726563697069656e74203d206765744163636f756e7428746f290a0a20202020202020202f2f204765742061207265666572656e636520746f2074686520726563697069656e7427732052656365697665720a20202020202020206c6574207265636569766572526566203d20726563697069656e742e6765744361706162696c6974792846696174546f6b656e2e5661756c74526563656976657250756250617468290a2020202020202020202020202e626f72726f773c267b46756e6769626c65546f6b656e2e52656365697665727d3e28290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265636569766572207265666572656e636520746f2074686520726563697069656e742773205661756c7422290a0a20202020202020202f2f204465706f736974207468652077697468647261776e20746f6b656e7320696e2074686520726563697069656e7427732072656365697665720a202020202020202072656365697665725265662e6465706f7369742866726f6d3a203c2d73656c662e73656e745661756c74290a202020207d0a7d0af84f9e7b2274797065223a22554669783634222c2276616c7565223a223432227daf7b2274797065223a2241646472657373222c2276616c7565223a22307838633533303365616132363230326436227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", - "metadata": "02512485ec3f8e007853b0ea2a22fb2b9f7e2fa55fd9819171c5d013282efee60a7ff4d9f53ba5eebda556d0ead0ca13911bc8996e2c91c5147f8787d10a3244835472616e736665722055534443000201416d6f756e740000554669783634000301526563697069656e740001416464726573730003", - "hash": "512485ec3f8e007853b0ea2a22fb2b9f7e2fa55fd9819171c5d013282efee60a" - }, - { - "title": "SCO.04 - Create Machine Account - 1", - "valid": true, - "chainID": "Testnet", - "payloadMessage": { - "script": "import Crypto\nimport FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// Creates a machine account for a node that is already in the staking collection\n/// and adds public keys to the new account\n\ntransaction(nodeID: String, publicKeys: [Crypto.KeyListEntry]) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n\n if let machineAccount = self.stakingCollectionRef.createMachineAccountForExistingNode(nodeID: nodeID, payer: account) {\n if publicKeys == nil || publicKeys!.length == 0 {\n panic(\"Cannot provide zero keys for the machine account\")\n }\n for key in publicKeys {\n machineAccount.keys.add(publicKey: key.publicKey, hashAlgorithm: key.hashAlgorithm, weight: key.weight)\n }\n } else {\n panic(\"Could not create a machine account for the node\")\n }\n }\n}\n", - "arguments": [ - { - "type": "String", - "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" - }, - { - "type": "Array", - "value": [] - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "99a8ac2c71d4f6bd", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "99a8ac2c71d4f6bd", - "authorizers": [ - "99a8ac2c71d4f6bd" - ] - }, - "envelopeMessage": { - "script": "import Crypto\nimport FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// Creates a machine account for a node that is already in the staking collection\n/// and adds public keys to the new account\n\ntransaction(nodeID: String, publicKeys: [Crypto.KeyListEntry]) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n\n if let machineAccount = self.stakingCollectionRef.createMachineAccountForExistingNode(nodeID: nodeID, payer: account) {\n if publicKeys == nil || publicKeys!.length == 0 {\n panic(\"Cannot provide zero keys for the machine account\")\n }\n for key in publicKeys {\n machineAccount.keys.add(publicKey: key.publicKey, hashAlgorithm: key.hashAlgorithm, weight: key.weight)\n }\n } else {\n panic(\"Could not create a machine account for the node\")\n }\n }\n}\n", - "arguments": [ - { - "type": "String", - "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" - }, - { - "type": "Array", - "value": [] - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "99a8ac2c71d4f6bd", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "99a8ac2c71d4f6bd", - "authorizers": [ - "99a8ac2c71d4f6bd" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f90537b90478696d706f72742043727970746f0a696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f20437265617465732061206d616368696e65206163636f756e7420666f722061206e6f6465207468617420697320616c726561647920696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f20616e642061646473207075626c6963206b65797320746f20746865206e6577206163636f756e740a0a7472616e73616374696f6e286e6f646549443a20537472696e672c207075626c69634b6579733a205b43727970746f2e4b65794c697374456e7472795d29207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a0a20202020202020206966206c6574206d616368696e654163636f756e74203d2073656c662e7374616b696e67436f6c6c656374696f6e5265662e6372656174654d616368696e654163636f756e74466f724578697374696e674e6f6465286e6f646549443a206e6f646549442c2070617965723a206163636f756e7429207b0a2020202020202020202020206966207075626c69634b657973203d3d206e696c207c7c207075626c69634b657973212e6c656e677468203d3d2030207b0a2020202020202020202020202020202070616e6963282243616e6e6f742070726f76696465207a65726f206b65797320666f7220746865206d616368696e65206163636f756e7422290a2020202020202020202020207d0a202020202020202020202020666f72206b657920696e207075626c69634b657973207b0a202020202020202020202020202020206d616368696e654163636f756e742e6b6579732e616464287075626c69634b65793a206b65792e7075626c69634b65792c2068617368416c676f726974686d3a206b65792e68617368416c676f726974686d2c207765696768743a206b65792e776569676874290a2020202020202020202020207d0a20202020202020207d20656c7365207b0a20202020202020202020202070616e69632822436f756c64206e6f74206372656174652061206d616368696e65206163636f756e7420666f7220746865206e6f646522290a20202020202020207d0a202020207d0a7d0af87ab85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227d9b7b2274797065223a224172726179222c2276616c7565223a5b5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", - "encodedTransactionEnvelopeHex": "f9053bf90537b90478696d706f72742043727970746f0a696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f20437265617465732061206d616368696e65206163636f756e7420666f722061206e6f6465207468617420697320616c726561647920696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f20616e642061646473207075626c6963206b65797320746f20746865206e6577206163636f756e740a0a7472616e73616374696f6e286e6f646549443a20537472696e672c207075626c69634b6579733a205b43727970746f2e4b65794c697374456e7472795d29207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a0a20202020202020206966206c6574206d616368696e654163636f756e74203d2073656c662e7374616b696e67436f6c6c656374696f6e5265662e6372656174654d616368696e654163636f756e74466f724578697374696e674e6f6465286e6f646549443a206e6f646549442c2070617965723a206163636f756e7429207b0a2020202020202020202020206966207075626c69634b657973203d3d206e696c207c7c207075626c69634b657973212e6c656e677468203d3d2030207b0a2020202020202020202020202020202070616e6963282243616e6e6f742070726f76696465207a65726f206b65797320666f7220746865206d616368696e65206163636f756e7422290a2020202020202020202020207d0a202020202020202020202020666f72206b657920696e207075626c69634b657973207b0a202020202020202020202020202020206d616368696e654163636f756e742e6b6579732e616464287075626c69634b65793a206b65792e7075626c69634b65792c2068617368416c676f726974686d3a206b65792e68617368416c676f726974686d2c207765696768743a206b65792e776569676874290a2020202020202020202020207d0a20202020202020207d20656c7365207b0a20202020202020202020202070616e69632822436f756c64206e6f74206372656174652061206d616368696e65206163636f756e7420666f7220746865206e6f646522290a20202020202020207d0a202020207d0a7d0af87ab85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227d9b7b2274797065223a224172726179222c2276616c7565223a5b5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", - "metadata": "0286c69d731560f3bff549c5f180eb4219bfe650ae4efec8e0c5b5ad3ebed54a92dd3b327b09087ea7f8e92a22a6b04a3c6ca33b868b430c4f15f251658c38c1b7437265617465204d616368696e65204163636f756e740002014e6f64652049440000537472696e6700030300035075622e204b65790001537472696e670003", - "hash": "86c69d731560f3bff549c5f180eb4219bfe650ae4efec8e0c5b5ad3ebed54a92" - }, - { - "title": "SCO.04 - Create Machine Account - 2", - "valid": true, - "chainID": "Testnet", - "payloadMessage": { - "script": "import Crypto\nimport FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// Creates a machine account for a node that is already in the staking collection\n/// and adds public keys to the new account\n\ntransaction(nodeID: String, publicKeys: [Crypto.KeyListEntry]) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n\n if let machineAccount = self.stakingCollectionRef.createMachineAccountForExistingNode(nodeID: nodeID, payer: account) {\n if publicKeys == nil || publicKeys!.length == 0 {\n panic(\"Cannot provide zero keys for the machine account\")\n }\n for key in publicKeys {\n machineAccount.keys.add(publicKey: key.publicKey, hashAlgorithm: key.hashAlgorithm, weight: key.weight)\n }\n } else {\n panic(\"Could not create a machine account for the node\")\n }\n }\n}\n", - "arguments": [ - { - "type": "String", - "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" - }, - { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164" - } - ] - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "99a8ac2c71d4f6bd", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "99a8ac2c71d4f6bd", - "authorizers": [ - "99a8ac2c71d4f6bd" - ] - }, - "envelopeMessage": { - "script": "import Crypto\nimport FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// Creates a machine account for a node that is already in the staking collection\n/// and adds public keys to the new account\n\ntransaction(nodeID: String, publicKeys: [Crypto.KeyListEntry]) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n\n if let machineAccount = self.stakingCollectionRef.createMachineAccountForExistingNode(nodeID: nodeID, payer: account) {\n if publicKeys == nil || publicKeys!.length == 0 {\n panic(\"Cannot provide zero keys for the machine account\")\n }\n for key in publicKeys {\n machineAccount.keys.add(publicKey: key.publicKey, hashAlgorithm: key.hashAlgorithm, weight: key.weight)\n }\n } else {\n panic(\"Could not create a machine account for the node\")\n }\n }\n}\n", - "arguments": [ - { - "type": "String", - "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" - }, - { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164" - } - ] - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "99a8ac2c71d4f6bd", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "99a8ac2c71d4f6bd", - "authorizers": [ - "99a8ac2c71d4f6bd" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f905e3b90478696d706f72742043727970746f0a696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f20437265617465732061206d616368696e65206163636f756e7420666f722061206e6f6465207468617420697320616c726561647920696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f20616e642061646473207075626c6963206b65797320746f20746865206e6577206163636f756e740a0a7472616e73616374696f6e286e6f646549443a20537472696e672c207075626c69634b6579733a205b43727970746f2e4b65794c697374456e7472795d29207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a0a20202020202020206966206c6574206d616368696e654163636f756e74203d2073656c662e7374616b696e67436f6c6c656374696f6e5265662e6372656174654d616368696e654163636f756e74466f724578697374696e674e6f6465286e6f646549443a206e6f646549442c2070617965723a206163636f756e7429207b0a2020202020202020202020206966207075626c69634b657973203d3d206e696c207c7c207075626c69634b657973212e6c656e677468203d3d2030207b0a2020202020202020202020202020202070616e6963282243616e6e6f742070726f76696465207a65726f206b65797320666f7220746865206d616368696e65206163636f756e7422290a2020202020202020202020207d0a202020202020202020202020666f72206b657920696e207075626c69634b657973207b0a202020202020202020202020202020206d616368696e654163636f756e742e6b6579732e616464287075626c69634b65793a206b65792e7075626c69634b65792c2068617368416c676f726974686d3a206b65792e68617368416c676f726974686d2c207765696768743a206b65792e776569676874290a2020202020202020202020207d0a20202020202020207d20656c7365207b0a20202020202020202020202070616e69632822436f756c64206e6f74206372656174652061206d616368696e65206163636f756e7420666f7220746865206e6f646522290a20202020202020207d0a202020207d0a7d0af90125b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db8c57b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634227d5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", - "encodedTransactionEnvelopeHex": "f905e7f905e3b90478696d706f72742043727970746f0a696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f20437265617465732061206d616368696e65206163636f756e7420666f722061206e6f6465207468617420697320616c726561647920696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f20616e642061646473207075626c6963206b65797320746f20746865206e6577206163636f756e740a0a7472616e73616374696f6e286e6f646549443a20537472696e672c207075626c69634b6579733a205b43727970746f2e4b65794c697374456e7472795d29207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a0a20202020202020206966206c6574206d616368696e654163636f756e74203d2073656c662e7374616b696e67436f6c6c656374696f6e5265662e6372656174654d616368696e654163636f756e74466f724578697374696e674e6f6465286e6f646549443a206e6f646549442c2070617965723a206163636f756e7429207b0a2020202020202020202020206966207075626c69634b657973203d3d206e696c207c7c207075626c69634b657973212e6c656e677468203d3d2030207b0a2020202020202020202020202020202070616e6963282243616e6e6f742070726f76696465207a65726f206b65797320666f7220746865206d616368696e65206163636f756e7422290a2020202020202020202020207d0a202020202020202020202020666f72206b657920696e207075626c69634b657973207b0a202020202020202020202020202020206d616368696e654163636f756e742e6b6579732e616464287075626c69634b65793a206b65792e7075626c69634b65792c2068617368416c676f726974686d3a206b65792e68617368416c676f726974686d2c207765696768743a206b65792e776569676874290a2020202020202020202020207d0a20202020202020207d20656c7365207b0a20202020202020202020202070616e69632822436f756c64206e6f74206372656174652061206d616368696e65206163636f756e7420666f7220746865206e6f646522290a20202020202020207d0a202020207d0a7d0af90125b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db8c57b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634227d5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", - "metadata": "0286c69d731560f3bff549c5f180eb4219bfe650ae4efec8e0c5b5ad3ebed54a92dd3b327b09087ea7f8e92a22a6b04a3c6ca33b868b430c4f15f251658c38c1b7437265617465204d616368696e65204163636f756e740002014e6f64652049440000537472696e6700030300035075622e204b65790001537472696e670003", - "hash": "86c69d731560f3bff549c5f180eb4219bfe650ae4efec8e0c5b5ad3ebed54a92" - }, - { - "title": "SCO.04 - Create Machine Account - 3", - "valid": true, - "chainID": "Testnet", - "payloadMessage": { - "script": "import Crypto\nimport FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// Creates a machine account for a node that is already in the staking collection\n/// and adds public keys to the new account\n\ntransaction(nodeID: String, publicKeys: [Crypto.KeyListEntry]) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n\n if let machineAccount = self.stakingCollectionRef.createMachineAccountForExistingNode(nodeID: nodeID, payer: account) {\n if publicKeys == nil || publicKeys!.length == 0 {\n panic(\"Cannot provide zero keys for the machine account\")\n }\n for key in publicKeys {\n machineAccount.keys.add(publicKey: key.publicKey, hashAlgorithm: key.hashAlgorithm, weight: key.weight)\n }\n } else {\n panic(\"Could not create a machine account for the node\")\n }\n }\n}\n", - "arguments": [ - { - "type": "String", - "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" - }, - { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164" - }, - { - "type": "String", - "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164" - }, - { - "type": "String", - "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164" - } - ] - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "99a8ac2c71d4f6bd", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "99a8ac2c71d4f6bd", - "authorizers": [ - "99a8ac2c71d4f6bd" - ] - }, - "envelopeMessage": { - "script": "import Crypto\nimport FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// Creates a machine account for a node that is already in the staking collection\n/// and adds public keys to the new account\n\ntransaction(nodeID: String, publicKeys: [Crypto.KeyListEntry]) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n\n if let machineAccount = self.stakingCollectionRef.createMachineAccountForExistingNode(nodeID: nodeID, payer: account) {\n if publicKeys == nil || publicKeys!.length == 0 {\n panic(\"Cannot provide zero keys for the machine account\")\n }\n for key in publicKeys {\n machineAccount.keys.add(publicKey: key.publicKey, hashAlgorithm: key.hashAlgorithm, weight: key.weight)\n }\n } else {\n panic(\"Could not create a machine account for the node\")\n }\n }\n}\n", - "arguments": [ - { - "type": "String", - "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" - }, - { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164" - }, - { - "type": "String", - "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164" - }, - { - "type": "String", - "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164" - } - ] - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "99a8ac2c71d4f6bd", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "99a8ac2c71d4f6bd", - "authorizers": [ - "99a8ac2c71d4f6bd" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f9073ab90478696d706f72742043727970746f0a696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f20437265617465732061206d616368696e65206163636f756e7420666f722061206e6f6465207468617420697320616c726561647920696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f20616e642061646473207075626c6963206b65797320746f20746865206e6577206163636f756e740a0a7472616e73616374696f6e286e6f646549443a20537472696e672c207075626c69634b6579733a205b43727970746f2e4b65794c697374456e7472795d29207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a0a20202020202020206966206c6574206d616368696e654163636f756e74203d2073656c662e7374616b696e67436f6c6c656374696f6e5265662e6372656174654d616368696e654163636f756e74466f724578697374696e674e6f6465286e6f646549443a206e6f646549442c2070617965723a206163636f756e7429207b0a2020202020202020202020206966207075626c69634b657973203d3d206e696c207c7c207075626c69634b657973212e6c656e677468203d3d2030207b0a2020202020202020202020202020202070616e6963282243616e6e6f742070726f76696465207a65726f206b65797320666f7220746865206d616368696e65206163636f756e7422290a2020202020202020202020207d0a202020202020202020202020666f72206b657920696e207075626c69634b657973207b0a202020202020202020202020202020206d616368696e654163636f756e742e6b6579732e616464287075626c69634b65793a206b65792e7075626c69634b65792c2068617368416c676f726974686d3a206b65792e68617368416c676f726974686d2c207765696768743a206b65792e776569676874290a2020202020202020202020207d0a20202020202020207d20656c7365207b0a20202020202020202020202070616e69632822436f756c64206e6f74206372656174652061206d616368696e65206163636f756e7420666f7220746865206e6f646522290a20202020202020207d0a202020207d0a7d0af9027cb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db9021b7b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634227d2c7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634227d2c7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634227d5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", - "encodedTransactionEnvelopeHex": "f9073ef9073ab90478696d706f72742043727970746f0a696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f20437265617465732061206d616368696e65206163636f756e7420666f722061206e6f6465207468617420697320616c726561647920696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f20616e642061646473207075626c6963206b65797320746f20746865206e6577206163636f756e740a0a7472616e73616374696f6e286e6f646549443a20537472696e672c207075626c69634b6579733a205b43727970746f2e4b65794c697374456e7472795d29207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a0a20202020202020206966206c6574206d616368696e654163636f756e74203d2073656c662e7374616b696e67436f6c6c656374696f6e5265662e6372656174654d616368696e654163636f756e74466f724578697374696e674e6f6465286e6f646549443a206e6f646549442c2070617965723a206163636f756e7429207b0a2020202020202020202020206966207075626c69634b657973203d3d206e696c207c7c207075626c69634b657973212e6c656e677468203d3d2030207b0a2020202020202020202020202020202070616e6963282243616e6e6f742070726f76696465207a65726f206b65797320666f7220746865206d616368696e65206163636f756e7422290a2020202020202020202020207d0a202020202020202020202020666f72206b657920696e207075626c69634b657973207b0a202020202020202020202020202020206d616368696e654163636f756e742e6b6579732e616464287075626c69634b65793a206b65792e7075626c69634b65792c2068617368416c676f726974686d3a206b65792e68617368416c676f726974686d2c207765696768743a206b65792e776569676874290a2020202020202020202020207d0a20202020202020207d20656c7365207b0a20202020202020202020202070616e69632822436f756c64206e6f74206372656174652061206d616368696e65206163636f756e7420666f7220746865206e6f646522290a20202020202020207d0a202020207d0a7d0af9027cb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db9021b7b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634227d2c7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634227d2c7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634227d5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", - "metadata": "0286c69d731560f3bff549c5f180eb4219bfe650ae4efec8e0c5b5ad3ebed54a92dd3b327b09087ea7f8e92a22a6b04a3c6ca33b868b430c4f15f251658c38c1b7437265617465204d616368696e65204163636f756e740002014e6f64652049440000537472696e6700030300035075622e204b65790001537472696e670003", - "hash": "86c69d731560f3bff549c5f180eb4219bfe650ae4efec8e0c5b5ad3ebed54a92" - }, - { - "title": "TH.01 - Withdraw Unlocked FLOW", - "valid": true, - "chainID": "Mainnet", - "payloadMessage": { - "script": "import FungibleToken from 0xf233dcee88fe0abe\nimport FlowToken from 0x1654653399040a61\nimport LockedTokens from 0x8d0e87b65159ae63\n\ntransaction(amount: UFix64) {\n\n let holderRef: &LockedTokens.TokenHolder\n let vaultRef: &FlowToken.Vault\n\n prepare(acct: AuthAccount) {\n self.holderRef = acct.borrow<&LockedTokens.TokenHolder>(from: LockedTokens.TokenHolderStoragePath)\n ?? panic(\"Could not borrow a reference to TokenHolder\")\n\n self.vaultRef = acct.borrow<&FlowToken.Vault>(from: /storage/flowTokenVault)\n ?? panic(\"Could not borrow flow token vault ref\")\n }\n\n execute {\n self.vaultRef.deposit(from: <-self.holderRef.withdraw(amount: amount))\n }\n}\n", - "arguments": [ - { - "type": "UFix64", - "value": "92233720368.54775808" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ] - }, - "envelopeMessage": { - "script": "import FungibleToken from 0xf233dcee88fe0abe\nimport FlowToken from 0x1654653399040a61\nimport LockedTokens from 0x8d0e87b65159ae63\n\ntransaction(amount: UFix64) {\n\n let holderRef: &LockedTokens.TokenHolder\n let vaultRef: &FlowToken.Vault\n\n prepare(acct: AuthAccount) {\n self.holderRef = acct.borrow<&LockedTokens.TokenHolder>(from: LockedTokens.TokenHolderStoragePath)\n ?? panic(\"Could not borrow a reference to TokenHolder\")\n\n self.vaultRef = acct.borrow<&FlowToken.Vault>(from: /storage/flowTokenVault)\n ?? panic(\"Could not borrow flow token vault ref\")\n }\n\n execute {\n self.vaultRef.deposit(from: <-self.holderRef.withdraw(amount: amount))\n }\n}\n", - "arguments": [ - { - "type": "UFix64", - "value": "92233720368.54775808" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f90338b902c3696d706f72742046756e6769626c65546f6b656e2066726f6d203078663233336463656538386665306162650a696d706f727420466c6f77546f6b656e2066726f6d203078313635343635333339393034306136310a696d706f7274204c6f636b6564546f6b656e732066726f6d203078386430653837623635313539616536330a0a7472616e73616374696f6e28616d6f756e743a2055466978363429207b0a0a202020206c657420686f6c6465725265663a20264c6f636b6564546f6b656e732e546f6b656e486f6c6465720a202020206c6574207661756c745265663a2026466c6f77546f6b656e2e5661756c740a0a202020207072657061726528616363743a20417574684163636f756e7429207b0a202020202020202073656c662e686f6c646572526566203d20616363742e626f72726f773c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f20546f6b656e486f6c64657222290a0a202020202020202073656c662e7661756c74526566203d20616363742e626f72726f773c26466c6f77546f6b656e2e5661756c743e2866726f6d3a202f73746f726167652f666c6f77546f6b656e5661756c74290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f7720666c6f7720746f6b656e207661756c742072656622290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7661756c745265662e6465706f7369742866726f6d3a203c2d73656c662e686f6c6465725265662e776974686472617728616d6f756e743a20616d6f756e7429290a202020207d0a7d0af1b07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f9033cf90338b902c3696d706f72742046756e6769626c65546f6b656e2066726f6d203078663233336463656538386665306162650a696d706f727420466c6f77546f6b656e2066726f6d203078313635343635333339393034306136310a696d706f7274204c6f636b6564546f6b656e732066726f6d203078386430653837623635313539616536330a0a7472616e73616374696f6e28616d6f756e743a2055466978363429207b0a0a202020206c657420686f6c6465725265663a20264c6f636b6564546f6b656e732e546f6b656e486f6c6465720a202020206c6574207661756c745265663a2026466c6f77546f6b656e2e5661756c740a0a202020207072657061726528616363743a20417574684163636f756e7429207b0a202020202020202073656c662e686f6c646572526566203d20616363742e626f72726f773c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f20546f6b656e486f6c64657222290a0a202020202020202073656c662e7661756c74526566203d20616363742e626f72726f773c26466c6f77546f6b656e2e5661756c743e2866726f6d3a202f73746f726167652f666c6f77546f6b656e5661756c74290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f7720666c6f7720746f6b656e207661756c742072656622290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7661756c745265662e6465706f7369742866726f6d3a203c2d73656c662e686f6c6465725265662e776974686472617728616d6f756e743a20616d6f756e7429290a202020207d0a7d0af1b07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "026e73db6edd0190f5311f6adc5f2b1f27e9e60c68574b00ee90da867da52cdbb1a2146e3e6e7718779ce59376b88760c154d82b7d132fe2c377114ec7cf434e7b576974686472617720556e6c6f636b656420464c4f57000101416d6f756e7400005546697836340003", - "hash": "a2146e3e6e7718779ce59376b88760c154d82b7d132fe2c377114ec7cf434e7b" - }, - { - "title": "TH.02 - Deposit Unlocked FLOW", - "valid": true, - "chainID": "Mainnet", - "payloadMessage": { - "script": "import FungibleToken from 0xf233dcee88fe0abe\nimport FlowToken from 0x1654653399040a61\nimport LockedTokens from 0x8d0e87b65159ae63\n\ntransaction(amount: UFix64) {\n\n let holderRef: &LockedTokens.TokenHolder\n let vaultRef: &FlowToken.Vault\n\n prepare(acct: AuthAccount) {\n self.holderRef = acct.borrow<&LockedTokens.TokenHolder>(from: LockedTokens.TokenHolderStoragePath)\n ?? panic(\"Could not borrow a reference to TokenHolder\")\n\n self.vaultRef = acct.borrow<&FlowToken.Vault>(from: /storage/flowTokenVault)\n ?? panic(\"Could not borrow flow token vault ref\")\n }\n\n execute {\n self.holderRef.deposit(from: <-self.vaultRef.withdraw(amount: amount))\n }\n}\n", - "arguments": [ - { - "type": "UFix64", - "value": "92233720368.54775808" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ] - }, - "envelopeMessage": { - "script": "import FungibleToken from 0xf233dcee88fe0abe\nimport FlowToken from 0x1654653399040a61\nimport LockedTokens from 0x8d0e87b65159ae63\n\ntransaction(amount: UFix64) {\n\n let holderRef: &LockedTokens.TokenHolder\n let vaultRef: &FlowToken.Vault\n\n prepare(acct: AuthAccount) {\n self.holderRef = acct.borrow<&LockedTokens.TokenHolder>(from: LockedTokens.TokenHolderStoragePath)\n ?? panic(\"Could not borrow a reference to TokenHolder\")\n\n self.vaultRef = acct.borrow<&FlowToken.Vault>(from: /storage/flowTokenVault)\n ?? panic(\"Could not borrow flow token vault ref\")\n }\n\n execute {\n self.holderRef.deposit(from: <-self.vaultRef.withdraw(amount: amount))\n }\n}\n", - "arguments": [ - { - "type": "UFix64", - "value": "92233720368.54775808" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f90338b902c3696d706f72742046756e6769626c65546f6b656e2066726f6d203078663233336463656538386665306162650a696d706f727420466c6f77546f6b656e2066726f6d203078313635343635333339393034306136310a696d706f7274204c6f636b6564546f6b656e732066726f6d203078386430653837623635313539616536330a0a7472616e73616374696f6e28616d6f756e743a2055466978363429207b0a0a202020206c657420686f6c6465725265663a20264c6f636b6564546f6b656e732e546f6b656e486f6c6465720a202020206c6574207661756c745265663a2026466c6f77546f6b656e2e5661756c740a0a202020207072657061726528616363743a20417574684163636f756e7429207b0a202020202020202073656c662e686f6c646572526566203d20616363742e626f72726f773c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f20546f6b656e486f6c64657222290a0a202020202020202073656c662e7661756c74526566203d20616363742e626f72726f773c26466c6f77546f6b656e2e5661756c743e2866726f6d3a202f73746f726167652f666c6f77546f6b656e5661756c74290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f7720666c6f7720746f6b656e207661756c742072656622290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e686f6c6465725265662e6465706f7369742866726f6d3a203c2d73656c662e7661756c745265662e776974686472617728616d6f756e743a20616d6f756e7429290a202020207d0a7d0af1b07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f9033cf90338b902c3696d706f72742046756e6769626c65546f6b656e2066726f6d203078663233336463656538386665306162650a696d706f727420466c6f77546f6b656e2066726f6d203078313635343635333339393034306136310a696d706f7274204c6f636b6564546f6b656e732066726f6d203078386430653837623635313539616536330a0a7472616e73616374696f6e28616d6f756e743a2055466978363429207b0a0a202020206c657420686f6c6465725265663a20264c6f636b6564546f6b656e732e546f6b656e486f6c6465720a202020206c6574207661756c745265663a2026466c6f77546f6b656e2e5661756c740a0a202020207072657061726528616363743a20417574684163636f756e7429207b0a202020202020202073656c662e686f6c646572526566203d20616363742e626f72726f773c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f20546f6b656e486f6c64657222290a0a202020202020202073656c662e7661756c74526566203d20616363742e626f72726f773c26466c6f77546f6b656e2e5661756c743e2866726f6d3a202f73746f726167652f666c6f77546f6b656e5661756c74290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f7720666c6f7720746f6b656e207661756c742072656622290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e686f6c6465725265662e6465706f7369742866726f6d3a203c2d73656c662e7661756c745265662e776974686472617728616d6f756e743a20616d6f756e7429290a202020207d0a7d0af1b07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "020cb11c10b86d2afeae086ef511d28b14760eb854935a0b0dcfeecc85db847f4874355dc8df221bc0d170b2fe8deacd6f1f554d6beea58ad9fee7a07f740eaefe4465706f73697420556e6c6f636b656420464c4f57000101416d6f756e7400005546697836340003", - "hash": "74355dc8df221bc0d170b2fe8deacd6f1f554d6beea58ad9fee7a07f740eaefe" - }, - { - "title": "TH.06 - Register Node", - "valid": true, - "chainID": "Mainnet", - "payloadMessage": { - "script": "import FlowToken from 0x1654653399040a61\nimport LockedTokens from 0x8d0e87b65159ae63\nimport StakingProxy from 0x62430cf28c26d095\n\ntransaction(id: String, role: UInt8, networkingAddress: String, networkingKey: String, stakingKey: String, amount: UFix64) {\n\n let holderRef: &LockedTokens.TokenHolder\n\n let vaultRef: &FlowToken.Vault\n\n prepare(account: AuthAccount) {\n self.holderRef = account.borrow<&LockedTokens.TokenHolder>(from: LockedTokens.TokenHolderStoragePath)\n ?? panic(\"Could not borrow ref to TokenHolder\")\n\n self.vaultRef = account.borrow<&FlowToken.Vault>(from: /storage/flowTokenVault)\n ?? panic(\"Could not borrow flow token vault reference\")\n }\n\n execute {\n let nodeInfo = StakingProxy.NodeInfo(id: id, role: role, networkingAddress: networkingAddress, networkingKey: networkingKey, stakingKey: stakingKey)\n\n let lockedBalance = self.holderRef.getLockedAccountBalance()\n\n if amount <= lockedBalance {\n\n self.holderRef.createNodeStaker(nodeInfo: nodeInfo, amount: amount)\n\n } else if ((amount - lockedBalance) <= self.vaultRef.balance) {\n\n self.holderRef.deposit(from: <-self.vaultRef.withdraw(amount: amount - lockedBalance))\n\n self.holderRef.createNodeStaker(nodeInfo: nodeInfo, amount: amount)\n\n } else {\n panic(\"Not enough tokens to stake!\")\n }\n \n }\n}\n", - "arguments": [ - { - "type": "String", - "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" - }, - { - "type": "UInt8", - "value": "1" - }, - { - "type": "String", - "value": "flow-node.test:3569" - }, - { - "type": "String", - "value": "1348307bc77c688e80049de9d081aa09755da33e6997605fa059db2144fc85e560cbe6f7da8d74b453f5916618cb8fd392c2db856f3e78221dc68db1b1d914e4" - }, - { - "type": "String", - "value": "9e9ae0d645fd5fd9050792e0b0daa82cc1686d9133afa0f81a784b375c42ae48567d1545e7a9e1965f2c1a32f73cf8575ebb7a967f6e4d104d2df78eb8be409135d12da0499b8a00771f642c1b9c49397f22b440439f036c3bdee82f5309dab3" - }, - { - "type": "UFix64", - "value": "92233720368.54775808" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ] - }, - "envelopeMessage": { - "script": "import FlowToken from 0x1654653399040a61\nimport LockedTokens from 0x8d0e87b65159ae63\nimport StakingProxy from 0x62430cf28c26d095\n\ntransaction(id: String, role: UInt8, networkingAddress: String, networkingKey: String, stakingKey: String, amount: UFix64) {\n\n let holderRef: &LockedTokens.TokenHolder\n\n let vaultRef: &FlowToken.Vault\n\n prepare(account: AuthAccount) {\n self.holderRef = account.borrow<&LockedTokens.TokenHolder>(from: LockedTokens.TokenHolderStoragePath)\n ?? panic(\"Could not borrow ref to TokenHolder\")\n\n self.vaultRef = account.borrow<&FlowToken.Vault>(from: /storage/flowTokenVault)\n ?? panic(\"Could not borrow flow token vault reference\")\n }\n\n execute {\n let nodeInfo = StakingProxy.NodeInfo(id: id, role: role, networkingAddress: networkingAddress, networkingKey: networkingKey, stakingKey: stakingKey)\n\n let lockedBalance = self.holderRef.getLockedAccountBalance()\n\n if amount <= lockedBalance {\n\n self.holderRef.createNodeStaker(nodeInfo: nodeInfo, amount: amount)\n\n } else if ((amount - lockedBalance) <= self.vaultRef.balance) {\n\n self.holderRef.deposit(from: <-self.vaultRef.withdraw(amount: amount - lockedBalance))\n\n self.holderRef.createNodeStaker(nodeInfo: nodeInfo, amount: amount)\n\n } else {\n panic(\"Not enough tokens to stake!\")\n }\n \n }\n}\n", - "arguments": [ - { - "type": "String", - "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" - }, - { - "type": "UInt8", - "value": "1" - }, - { - "type": "String", - "value": "flow-node.test:3569" - }, - { - "type": "String", - "value": "1348307bc77c688e80049de9d081aa09755da33e6997605fa059db2144fc85e560cbe6f7da8d74b453f5916618cb8fd392c2db856f3e78221dc68db1b1d914e4" - }, - { - "type": "String", - "value": "9e9ae0d645fd5fd9050792e0b0daa82cc1686d9133afa0f81a784b375c42ae48567d1545e7a9e1965f2c1a32f73cf8575ebb7a967f6e4d104d2df78eb8be409135d12da0499b8a00771f642c1b9c49397f22b440439f036c3bdee82f5309dab3" - }, - { - "type": "UFix64", - "value": "92233720368.54775808" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f90826b90588696d706f727420466c6f77546f6b656e2066726f6d203078313635343635333339393034306136310a696d706f7274204c6f636b6564546f6b656e732066726f6d203078386430653837623635313539616536330a696d706f7274205374616b696e6750726f78792066726f6d203078363234333063663238633236643039350a0a7472616e73616374696f6e2869643a20537472696e672c20726f6c653a2055496e74382c206e6574776f726b696e67416464726573733a20537472696e672c206e6574776f726b696e674b65793a20537472696e672c207374616b696e674b65793a20537472696e672c20616d6f756e743a2055466978363429207b0a0a202020206c657420686f6c6465725265663a20264c6f636b6564546f6b656e732e546f6b656e486f6c6465720a0a202020206c6574207661756c745265663a2026466c6f77546f6b656e2e5661756c740a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e686f6c646572526566203d206163636f756e742e626f72726f773c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f20546f6b656e486f6c64657222290a0a202020202020202073656c662e7661756c74526566203d206163636f756e742e626f72726f773c26466c6f77546f6b656e2e5661756c743e2866726f6d3a202f73746f726167652f666c6f77546f6b656e5661756c74290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f7720666c6f7720746f6b656e207661756c74207265666572656e636522290a202020207d0a0a2020202065786563757465207b0a20202020202020206c6574206e6f6465496e666f203d205374616b696e6750726f78792e4e6f6465496e666f2869643a2069642c20726f6c653a20726f6c652c206e6574776f726b696e67416464726573733a206e6574776f726b696e67416464726573732c206e6574776f726b696e674b65793a206e6574776f726b696e674b65792c207374616b696e674b65793a207374616b696e674b6579290a0a20202020202020206c6574206c6f636b656442616c616e6365203d2073656c662e686f6c6465725265662e6765744c6f636b65644163636f756e7442616c616e636528290a0a2020202020202020696620616d6f756e74203c3d206c6f636b656442616c616e6365207b0a0a20202020202020202020202073656c662e686f6c6465725265662e6372656174654e6f64655374616b6572286e6f6465496e666f3a206e6f6465496e666f2c20616d6f756e743a20616d6f756e74290a0a20202020202020207d20656c7365206966202828616d6f756e74202d206c6f636b656442616c616e636529203c3d2073656c662e7661756c745265662e62616c616e636529207b0a0a20202020202020202020202073656c662e686f6c6465725265662e6465706f7369742866726f6d3a203c2d73656c662e7661756c745265662e776974686472617728616d6f756e743a20616d6f756e74202d206c6f636b656442616c616e636529290a0a20202020202020202020202073656c662e686f6c6465725265662e6372656174654e6f64655374616b6572286e6f6465496e666f3a206e6f6465496e666f2c20616d6f756e743a20616d6f756e74290a0a20202020202020207d20656c7365207b0a20202020202020202020202070616e696328224e6f7420656e6f75676820746f6b656e7320746f207374616b652122290a20202020202020207d0a20202020202020200a202020207d0a7d0af90258b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227d9c7b2274797065223a2255496e7438222c2276616c7565223a2231227daf7b2274797065223a22537472696e67222c2276616c7565223a22666c6f772d6e6f64652e746573743a33353639227db89c7b2274797065223a22537472696e67222c2276616c7565223a223133343833303762633737633638386538303034396465396430383161613039373535646133336536393937363035666130353964623231343466633835653536306362653666376461386437346234353366353931363631386362386664333932633264623835366633653738323231646336386462316231643931346534227db8dc7b2274797065223a22537472696e67222c2276616c7565223a22396539616530643634356664356664393035303739326530623064616138326363313638366439313333616661306638316137383462333735633432616534383536376431353435653761396531393635663263316133326637336366383537356562623761393637663665346431303464326466373865623862653430393133356431326461303439396238613030373731663634326331623963343933393766323262343430343339663033366333626465653832663533303964616233227db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f9082af90826b90588696d706f727420466c6f77546f6b656e2066726f6d203078313635343635333339393034306136310a696d706f7274204c6f636b6564546f6b656e732066726f6d203078386430653837623635313539616536330a696d706f7274205374616b696e6750726f78792066726f6d203078363234333063663238633236643039350a0a7472616e73616374696f6e2869643a20537472696e672c20726f6c653a2055496e74382c206e6574776f726b696e67416464726573733a20537472696e672c206e6574776f726b696e674b65793a20537472696e672c207374616b696e674b65793a20537472696e672c20616d6f756e743a2055466978363429207b0a0a202020206c657420686f6c6465725265663a20264c6f636b6564546f6b656e732e546f6b656e486f6c6465720a0a202020206c6574207661756c745265663a2026466c6f77546f6b656e2e5661756c740a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e686f6c646572526566203d206163636f756e742e626f72726f773c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f20546f6b656e486f6c64657222290a0a202020202020202073656c662e7661756c74526566203d206163636f756e742e626f72726f773c26466c6f77546f6b656e2e5661756c743e2866726f6d3a202f73746f726167652f666c6f77546f6b656e5661756c74290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f7720666c6f7720746f6b656e207661756c74207265666572656e636522290a202020207d0a0a2020202065786563757465207b0a20202020202020206c6574206e6f6465496e666f203d205374616b696e6750726f78792e4e6f6465496e666f2869643a2069642c20726f6c653a20726f6c652c206e6574776f726b696e67416464726573733a206e6574776f726b696e67416464726573732c206e6574776f726b696e674b65793a206e6574776f726b696e674b65792c207374616b696e674b65793a207374616b696e674b6579290a0a20202020202020206c6574206c6f636b656442616c616e6365203d2073656c662e686f6c6465725265662e6765744c6f636b65644163636f756e7442616c616e636528290a0a2020202020202020696620616d6f756e74203c3d206c6f636b656442616c616e6365207b0a0a20202020202020202020202073656c662e686f6c6465725265662e6372656174654e6f64655374616b6572286e6f6465496e666f3a206e6f6465496e666f2c20616d6f756e743a20616d6f756e74290a0a20202020202020207d20656c7365206966202828616d6f756e74202d206c6f636b656442616c616e636529203c3d2073656c662e7661756c745265662e62616c616e636529207b0a0a20202020202020202020202073656c662e686f6c6465725265662e6465706f7369742866726f6d3a203c2d73656c662e7661756c745265662e776974686472617728616d6f756e743a20616d6f756e74202d206c6f636b656442616c616e636529290a0a20202020202020202020202073656c662e686f6c6465725265662e6372656174654e6f64655374616b6572286e6f6465496e666f3a206e6f6465496e666f2c20616d6f756e743a20616d6f756e74290a0a20202020202020207d20656c7365207b0a20202020202020202020202070616e696328224e6f7420656e6f75676820746f6b656e7320746f207374616b652122290a20202020202020207d0a20202020202020200a202020207d0a7d0af90258b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227d9c7b2274797065223a2255496e7438222c2276616c7565223a2231227daf7b2274797065223a22537472696e67222c2276616c7565223a22666c6f772d6e6f64652e746573743a33353639227db89c7b2274797065223a22537472696e67222c2276616c7565223a223133343833303762633737633638386538303034396465396430383161613039373535646133336536393937363035666130353964623231343466633835653536306362653666376461386437346234353366353931363631386362386664333932633264623835366633653738323231646336386462316231643931346534227db8dc7b2274797065223a22537472696e67222c2276616c7565223a22396539616530643634356664356664393035303739326530623064616138326363313638366439313333616661306638316137383462333735633432616534383536376431353435653761396531393635663263316133326637336366383537356562623761393637663665346431303464326466373865623862653430393133356431326461303439396238613030373731663634326331623963343933393766323262343430343339663033366333626465653832663533303964616233227db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "02b6a3502d2205eb05ec18772c13b91cc88a056b325c2617c57948d38cab8db600b64e0e3ed9eb28789198f2b0437f55f750bfa76da99450f63be6543bde66122a5265676973746572204e6f64650006014e6f64652049440000537472696e670003014e6f646520526f6c65000155496e74380003014e6574772e20416464726573730002537472696e670003014e6574772e204b65790003537472696e670003015374616b696e67204b65790004537472696e67000301416d6f756e7400055546697836340003", - "hash": "b64e0e3ed9eb28789198f2b0437f55f750bfa76da99450f63be6543bde66122a" - }, - { - "title": "TH.08 - Stake New Locked FLOW", - "valid": true, - "chainID": "Mainnet", - "payloadMessage": { - "script": "import FlowToken from 0x1654653399040a61\nimport FungibleToken from 0xf233dcee88fe0abe\n\nimport LockedTokens from 0x8d0e87b65159ae63\nimport StakingProxy from 0x62430cf28c26d095\n\ntransaction(amount: UFix64) {\n\n let holderRef: &LockedTokens.TokenHolder\n\n let vaultRef: &FlowToken.Vault\n\n prepare(account: AuthAccount) {\n self.holderRef = account.borrow<&LockedTokens.TokenHolder>(from: LockedTokens.TokenHolderStoragePath)\n ?? panic(\"Could not borrow reference to TokenHolder\")\n\n self.vaultRef = account.borrow<&FlowToken.Vault>(from: /storage/flowTokenVault)\n ?? panic(\"Could not borrow flow token vault reference\")\n }\n\n execute {\n let stakerProxy = self.holderRef.borrowStaker()\n\n let lockedBalance = self.holderRef.getLockedAccountBalance()\n\n if amount <= lockedBalance {\n\n stakerProxy.stakeNewTokens(amount: amount)\n\n } else if ((amount - lockedBalance) <= self.vaultRef.balance) {\n\n self.holderRef.deposit(from: <-self.vaultRef.withdraw(amount: amount - lockedBalance))\n\n stakerProxy.stakeNewTokens(amount: amount)\n \n } else {\n panic(\"Not enough tokens to stake!\")\n }\n }\n}\n", - "arguments": [ - { - "type": "UFix64", - "value": "92233720368.54775808" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ] - }, - "envelopeMessage": { - "script": "import FlowToken from 0x1654653399040a61\nimport FungibleToken from 0xf233dcee88fe0abe\n\nimport LockedTokens from 0x8d0e87b65159ae63\nimport StakingProxy from 0x62430cf28c26d095\n\ntransaction(amount: UFix64) {\n\n let holderRef: &LockedTokens.TokenHolder\n\n let vaultRef: &FlowToken.Vault\n\n prepare(account: AuthAccount) {\n self.holderRef = account.borrow<&LockedTokens.TokenHolder>(from: LockedTokens.TokenHolderStoragePath)\n ?? panic(\"Could not borrow reference to TokenHolder\")\n\n self.vaultRef = account.borrow<&FlowToken.Vault>(from: /storage/flowTokenVault)\n ?? panic(\"Could not borrow flow token vault reference\")\n }\n\n execute {\n let stakerProxy = self.holderRef.borrowStaker()\n\n let lockedBalance = self.holderRef.getLockedAccountBalance()\n\n if amount <= lockedBalance {\n\n stakerProxy.stakeNewTokens(amount: amount)\n\n } else if ((amount - lockedBalance) <= self.vaultRef.balance) {\n\n self.holderRef.deposit(from: <-self.vaultRef.withdraw(amount: amount - lockedBalance))\n\n stakerProxy.stakeNewTokens(amount: amount)\n \n } else {\n panic(\"Not enough tokens to stake!\")\n }\n }\n}\n", - "arguments": [ - { - "type": "UFix64", - "value": "92233720368.54775808" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f9053eb904c9696d706f727420466c6f77546f6b656e2066726f6d203078313635343635333339393034306136310a696d706f72742046756e6769626c65546f6b656e2066726f6d203078663233336463656538386665306162650a0a696d706f7274204c6f636b6564546f6b656e732066726f6d203078386430653837623635313539616536330a696d706f7274205374616b696e6750726f78792066726f6d203078363234333063663238633236643039350a0a7472616e73616374696f6e28616d6f756e743a2055466978363429207b0a0a202020206c657420686f6c6465725265663a20264c6f636b6564546f6b656e732e546f6b656e486f6c6465720a0a202020206c6574207661756c745265663a2026466c6f77546f6b656e2e5661756c740a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e686f6c646572526566203d206163636f756e742e626f72726f773c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f20546f6b656e486f6c64657222290a0a202020202020202073656c662e7661756c74526566203d206163636f756e742e626f72726f773c26466c6f77546f6b656e2e5661756c743e2866726f6d3a202f73746f726167652f666c6f77546f6b656e5661756c74290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f7720666c6f7720746f6b656e207661756c74207265666572656e636522290a202020207d0a0a2020202065786563757465207b0a20202020202020206c6574207374616b657250726f7879203d2073656c662e686f6c6465725265662e626f72726f775374616b657228290a0a20202020202020206c6574206c6f636b656442616c616e6365203d2073656c662e686f6c6465725265662e6765744c6f636b65644163636f756e7442616c616e636528290a0a2020202020202020696620616d6f756e74203c3d206c6f636b656442616c616e6365207b0a0a2020202020202020202020207374616b657250726f78792e7374616b654e6577546f6b656e7328616d6f756e743a20616d6f756e74290a0a20202020202020207d20656c7365206966202828616d6f756e74202d206c6f636b656442616c616e636529203c3d2073656c662e7661756c745265662e62616c616e636529207b0a0a20202020202020202020202073656c662e686f6c6465725265662e6465706f7369742866726f6d3a203c2d73656c662e7661756c745265662e776974686472617728616d6f756e743a20616d6f756e74202d206c6f636b656442616c616e636529290a0a2020202020202020202020207374616b657250726f78792e7374616b654e6577546f6b656e7328616d6f756e743a20616d6f756e74290a2020202020202020202020200a20202020202020207d20656c7365207b0a20202020202020202020202070616e696328224e6f7420656e6f75676820746f6b656e7320746f207374616b652122290a20202020202020207d0a202020207d0a7d0af1b07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f90542f9053eb904c9696d706f727420466c6f77546f6b656e2066726f6d203078313635343635333339393034306136310a696d706f72742046756e6769626c65546f6b656e2066726f6d203078663233336463656538386665306162650a0a696d706f7274204c6f636b6564546f6b656e732066726f6d203078386430653837623635313539616536330a696d706f7274205374616b696e6750726f78792066726f6d203078363234333063663238633236643039350a0a7472616e73616374696f6e28616d6f756e743a2055466978363429207b0a0a202020206c657420686f6c6465725265663a20264c6f636b6564546f6b656e732e546f6b656e486f6c6465720a0a202020206c6574207661756c745265663a2026466c6f77546f6b656e2e5661756c740a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e686f6c646572526566203d206163636f756e742e626f72726f773c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f20546f6b656e486f6c64657222290a0a202020202020202073656c662e7661756c74526566203d206163636f756e742e626f72726f773c26466c6f77546f6b656e2e5661756c743e2866726f6d3a202f73746f726167652f666c6f77546f6b656e5661756c74290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f7720666c6f7720746f6b656e207661756c74207265666572656e636522290a202020207d0a0a2020202065786563757465207b0a20202020202020206c6574207374616b657250726f7879203d2073656c662e686f6c6465725265662e626f72726f775374616b657228290a0a20202020202020206c6574206c6f636b656442616c616e6365203d2073656c662e686f6c6465725265662e6765744c6f636b65644163636f756e7442616c616e636528290a0a2020202020202020696620616d6f756e74203c3d206c6f636b656442616c616e6365207b0a0a2020202020202020202020207374616b657250726f78792e7374616b654e6577546f6b656e7328616d6f756e743a20616d6f756e74290a0a20202020202020207d20656c7365206966202828616d6f756e74202d206c6f636b656442616c616e636529203c3d2073656c662e7661756c745265662e62616c616e636529207b0a0a20202020202020202020202073656c662e686f6c6465725265662e6465706f7369742866726f6d3a203c2d73656c662e7661756c745265662e776974686472617728616d6f756e743a20616d6f756e74202d206c6f636b656442616c616e636529290a0a2020202020202020202020207374616b657250726f78792e7374616b654e6577546f6b656e7328616d6f756e743a20616d6f756e74290a2020202020202020202020200a20202020202020207d20656c7365207b0a20202020202020202020202070616e696328224e6f7420656e6f75676820746f6b656e7320746f207374616b652122290a20202020202020207d0a202020207d0a7d0af1b07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "02d5689b89f53214e7ce9ba7be2bb651961f7e3036b85f9250494290da9e9ba9891929e4f38894b8641848a3c0a3b9d35495b35083d42e8a3d4c928b9db4174ee85374616b65204e6577204c6f636b656420464c4f57000101416d6f756e7400005546697836340003", - "hash": "1929e4f38894b8641848a3c0a3b9d35495b35083d42e8a3d4c928b9db4174ee8" - }, - { - "title": "TH.09 - Re-stake Unstaked FLOW", - "valid": true, - "chainID": "Mainnet", - "payloadMessage": { - "script": "import LockedTokens from 0x8d0e87b65159ae63\nimport StakingProxy from 0x62430cf28c26d095\n\ntransaction(amount: UFix64) {\n\n let holderRef: &LockedTokens.TokenHolder\n\n prepare(account: AuthAccount) {\n self.holderRef = account.borrow<&LockedTokens.TokenHolder>(from: LockedTokens.TokenHolderStoragePath)\n ?? panic(\"Could not borrow reference to TokenHolder\")\n }\n\n execute {\n let stakerProxy = self.holderRef.borrowStaker()\n\n stakerProxy.stakeUnstakedTokens(amount: amount)\n }\n}\n", - "arguments": [ - { - "type": "UFix64", - "value": "92233720368.54775808" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ] - }, - "envelopeMessage": { - "script": "import LockedTokens from 0x8d0e87b65159ae63\nimport StakingProxy from 0x62430cf28c26d095\n\ntransaction(amount: UFix64) {\n\n let holderRef: &LockedTokens.TokenHolder\n\n prepare(account: AuthAccount) {\n self.holderRef = account.borrow<&LockedTokens.TokenHolder>(from: LockedTokens.TokenHolderStoragePath)\n ?? panic(\"Could not borrow reference to TokenHolder\")\n }\n\n execute {\n let stakerProxy = self.holderRef.borrowStaker()\n\n stakerProxy.stakeUnstakedTokens(amount: amount)\n }\n}\n", - "arguments": [ - { - "type": "UFix64", - "value": "92233720368.54775808" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f9027db90208696d706f7274204c6f636b6564546f6b656e732066726f6d203078386430653837623635313539616536330a696d706f7274205374616b696e6750726f78792066726f6d203078363234333063663238633236643039350a0a7472616e73616374696f6e28616d6f756e743a2055466978363429207b0a0a202020206c657420686f6c6465725265663a20264c6f636b6564546f6b656e732e546f6b656e486f6c6465720a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e686f6c646572526566203d206163636f756e742e626f72726f773c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f20546f6b656e486f6c64657222290a202020207d0a0a2020202065786563757465207b0a20202020202020206c6574207374616b657250726f7879203d2073656c662e686f6c6465725265662e626f72726f775374616b657228290a0a20202020202020207374616b657250726f78792e7374616b65556e7374616b6564546f6b656e7328616d6f756e743a20616d6f756e74290a202020207d0a7d0af1b07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f90281f9027db90208696d706f7274204c6f636b6564546f6b656e732066726f6d203078386430653837623635313539616536330a696d706f7274205374616b696e6750726f78792066726f6d203078363234333063663238633236643039350a0a7472616e73616374696f6e28616d6f756e743a2055466978363429207b0a0a202020206c657420686f6c6465725265663a20264c6f636b6564546f6b656e732e546f6b656e486f6c6465720a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e686f6c646572526566203d206163636f756e742e626f72726f773c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f20546f6b656e486f6c64657222290a202020207d0a0a2020202065786563757465207b0a20202020202020206c6574207374616b657250726f7879203d2073656c662e686f6c6465725265662e626f72726f775374616b657228290a0a20202020202020207374616b657250726f78792e7374616b65556e7374616b6564546f6b656e7328616d6f756e743a20616d6f756e74290a202020207d0a7d0af1b07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "0223e5bfd594bb3245090e3e0bafb9cb9246fc84d30e4a35a7fde1b51085624d86677cc0ac3962ec136ca26dbec0aa942d926640ecf8418433f0db4b7925f5d0fe52652d7374616b6520556e7374616b656420464c4f57000101416d6f756e7400005546697836340003", - "hash": "677cc0ac3962ec136ca26dbec0aa942d926640ecf8418433f0db4b7925f5d0fe" - }, - { - "title": "TH.10 - Re-stake Rewarded FLOW", - "valid": true, - "chainID": "Mainnet", - "payloadMessage": { - "script": "import LockedTokens from 0x8d0e87b65159ae63\nimport StakingProxy from 0x62430cf28c26d095\n\ntransaction(amount: UFix64) {\n\n let holderRef: &LockedTokens.TokenHolder\n\n prepare(account: AuthAccount) {\n self.holderRef = account.borrow<&LockedTokens.TokenHolder>(from: LockedTokens.TokenHolderStoragePath)\n ?? panic(\"Could not borrow reference to TokenHolder\")\n }\n\n execute {\n let stakerProxy = self.holderRef.borrowStaker()\n\n stakerProxy.stakeRewardedTokens(amount: amount)\n }\n}\n", - "arguments": [ - { - "type": "UFix64", - "value": "92233720368.54775808" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ] - }, - "envelopeMessage": { - "script": "import LockedTokens from 0x8d0e87b65159ae63\nimport StakingProxy from 0x62430cf28c26d095\n\ntransaction(amount: UFix64) {\n\n let holderRef: &LockedTokens.TokenHolder\n\n prepare(account: AuthAccount) {\n self.holderRef = account.borrow<&LockedTokens.TokenHolder>(from: LockedTokens.TokenHolderStoragePath)\n ?? panic(\"Could not borrow reference to TokenHolder\")\n }\n\n execute {\n let stakerProxy = self.holderRef.borrowStaker()\n\n stakerProxy.stakeRewardedTokens(amount: amount)\n }\n}\n", - "arguments": [ - { - "type": "UFix64", - "value": "92233720368.54775808" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f9027db90208696d706f7274204c6f636b6564546f6b656e732066726f6d203078386430653837623635313539616536330a696d706f7274205374616b696e6750726f78792066726f6d203078363234333063663238633236643039350a0a7472616e73616374696f6e28616d6f756e743a2055466978363429207b0a0a202020206c657420686f6c6465725265663a20264c6f636b6564546f6b656e732e546f6b656e486f6c6465720a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e686f6c646572526566203d206163636f756e742e626f72726f773c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f20546f6b656e486f6c64657222290a202020207d0a0a2020202065786563757465207b0a20202020202020206c6574207374616b657250726f7879203d2073656c662e686f6c6465725265662e626f72726f775374616b657228290a0a20202020202020207374616b657250726f78792e7374616b655265776172646564546f6b656e7328616d6f756e743a20616d6f756e74290a202020207d0a7d0af1b07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f90281f9027db90208696d706f7274204c6f636b6564546f6b656e732066726f6d203078386430653837623635313539616536330a696d706f7274205374616b696e6750726f78792066726f6d203078363234333063663238633236643039350a0a7472616e73616374696f6e28616d6f756e743a2055466978363429207b0a0a202020206c657420686f6c6465725265663a20264c6f636b6564546f6b656e732e546f6b656e486f6c6465720a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e686f6c646572526566203d206163636f756e742e626f72726f773c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f20546f6b656e486f6c64657222290a202020207d0a0a2020202065786563757465207b0a20202020202020206c6574207374616b657250726f7879203d2073656c662e686f6c6465725265662e626f72726f775374616b657228290a0a20202020202020207374616b657250726f78792e7374616b655265776172646564546f6b656e7328616d6f756e743a20616d6f756e74290a202020207d0a7d0af1b07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "02239319825ad68178e76465b5ea18cb43f06c4ee11341f8fe9424809163a027a528d1719c5b21c88c62665db5ba04886809f3234c27057b057c36d5f265ee9de452652d7374616b6520526577617264656420464c4f57000101416d6f756e7400005546697836340003", - "hash": "28d1719c5b21c88c62665db5ba04886809f3234c27057b057c36d5f265ee9de4" - }, - { - "title": "TH.11 - Request Unstake of FLOW", - "valid": true, - "chainID": "Mainnet", - "payloadMessage": { - "script": "import LockedTokens from 0x8d0e87b65159ae63\nimport StakingProxy from 0x62430cf28c26d095\n\ntransaction(amount: UFix64) {\n\n let holderRef: &LockedTokens.TokenHolder\n\n prepare(account: AuthAccount) {\n self.holderRef = account.borrow<&LockedTokens.TokenHolder>(from: LockedTokens.TokenHolderStoragePath)\n ?? panic(\"Could not borrow reference to TokenHolder\")\n }\n\n execute {\n let stakerProxy = self.holderRef.borrowStaker()\n\n stakerProxy.requestUnstaking(amount: amount)\n }\n}\n", - "arguments": [ - { - "type": "UFix64", - "value": "92233720368.54775808" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ] - }, - "envelopeMessage": { - "script": "import LockedTokens from 0x8d0e87b65159ae63\nimport StakingProxy from 0x62430cf28c26d095\n\ntransaction(amount: UFix64) {\n\n let holderRef: &LockedTokens.TokenHolder\n\n prepare(account: AuthAccount) {\n self.holderRef = account.borrow<&LockedTokens.TokenHolder>(from: LockedTokens.TokenHolderStoragePath)\n ?? panic(\"Could not borrow reference to TokenHolder\")\n }\n\n execute {\n let stakerProxy = self.holderRef.borrowStaker()\n\n stakerProxy.requestUnstaking(amount: amount)\n }\n}\n", - "arguments": [ - { - "type": "UFix64", - "value": "92233720368.54775808" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f9027ab90205696d706f7274204c6f636b6564546f6b656e732066726f6d203078386430653837623635313539616536330a696d706f7274205374616b696e6750726f78792066726f6d203078363234333063663238633236643039350a0a7472616e73616374696f6e28616d6f756e743a2055466978363429207b0a0a202020206c657420686f6c6465725265663a20264c6f636b6564546f6b656e732e546f6b656e486f6c6465720a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e686f6c646572526566203d206163636f756e742e626f72726f773c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f20546f6b656e486f6c64657222290a202020207d0a0a2020202065786563757465207b0a20202020202020206c6574207374616b657250726f7879203d2073656c662e686f6c6465725265662e626f72726f775374616b657228290a0a20202020202020207374616b657250726f78792e72657175657374556e7374616b696e6728616d6f756e743a20616d6f756e74290a202020207d0a7d0af1b07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f9027ef9027ab90205696d706f7274204c6f636b6564546f6b656e732066726f6d203078386430653837623635313539616536330a696d706f7274205374616b696e6750726f78792066726f6d203078363234333063663238633236643039350a0a7472616e73616374696f6e28616d6f756e743a2055466978363429207b0a0a202020206c657420686f6c6465725265663a20264c6f636b6564546f6b656e732e546f6b656e486f6c6465720a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e686f6c646572526566203d206163636f756e742e626f72726f773c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f20546f6b656e486f6c64657222290a202020207d0a0a2020202065786563757465207b0a20202020202020206c6574207374616b657250726f7879203d2073656c662e686f6c6465725265662e626f72726f775374616b657228290a0a20202020202020207374616b657250726f78792e72657175657374556e7374616b696e6728616d6f756e743a20616d6f756e74290a202020207d0a7d0af1b07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "0233e3977c45e7c23c1472bcf334d00b03ebf91b06b67c57b63b562c7b1ff5c59f4e2a35541453f89c55e5dc6dbc963290380d779c81df0b3bf89c29b2a8d7a9fe5265717565737420556e7374616b65206f6620464c4f57000101416d6f756e7400005546697836340003", - "hash": "4e2a35541453f89c55e5dc6dbc963290380d779c81df0b3bf89c29b2a8d7a9fe" - }, - { - "title": "TH.12 - Unstake All FLOW", - "valid": true, - "chainID": "Mainnet", - "payloadMessage": { - "script": "import LockedTokens from 0x8d0e87b65159ae63\nimport StakingProxy from 0x62430cf28c26d095\n\ntransaction() {\n\n let holderRef: &LockedTokens.TokenHolder\n\n prepare(account: AuthAccount) {\n self.holderRef = account.borrow<&LockedTokens.TokenHolder>(from: LockedTokens.TokenHolderStoragePath)\n ?? panic(\"Could not borrow reference to TokenHolder\")\n }\n\n execute {\n let stakerProxy = self.holderRef.borrowStaker()\n\n stakerProxy.unstakeAll()\n }\n}\n", - "arguments": [], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ] - }, - "envelopeMessage": { - "script": "import LockedTokens from 0x8d0e87b65159ae63\nimport StakingProxy from 0x62430cf28c26d095\n\ntransaction() {\n\n let holderRef: &LockedTokens.TokenHolder\n\n prepare(account: AuthAccount) {\n self.holderRef = account.borrow<&LockedTokens.TokenHolder>(from: LockedTokens.TokenHolderStoragePath)\n ?? panic(\"Could not borrow reference to TokenHolder\")\n }\n\n execute {\n let stakerProxy = self.holderRef.borrowStaker()\n\n stakerProxy.unstakeAll()\n }\n}\n", - "arguments": [], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f90227b901e3696d706f7274204c6f636b6564546f6b656e732066726f6d203078386430653837623635313539616536330a696d706f7274205374616b696e6750726f78792066726f6d203078363234333063663238633236643039350a0a7472616e73616374696f6e2829207b0a0a202020206c657420686f6c6465725265663a20264c6f636b6564546f6b656e732e546f6b656e486f6c6465720a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e686f6c646572526566203d206163636f756e742e626f72726f773c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f20546f6b656e486f6c64657222290a202020207d0a0a2020202065786563757465207b0a20202020202020206c6574207374616b657250726f7879203d2073656c662e686f6c6465725265662e626f72726f775374616b657228290a0a20202020202020207374616b657250726f78792e756e7374616b65416c6c28290a202020207d0a7d0ac0a0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f9022bf90227b901e3696d706f7274204c6f636b6564546f6b656e732066726f6d203078386430653837623635313539616536330a696d706f7274205374616b696e6750726f78792066726f6d203078363234333063663238633236643039350a0a7472616e73616374696f6e2829207b0a0a202020206c657420686f6c6465725265663a20264c6f636b6564546f6b656e732e546f6b656e486f6c6465720a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e686f6c646572526566203d206163636f756e742e626f72726f773c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f20546f6b656e486f6c64657222290a202020207d0a0a2020202065786563757465207b0a20202020202020206c6574207374616b657250726f7879203d2073656c662e686f6c6465725265662e626f72726f775374616b657228290a0a20202020202020207374616b657250726f78792e756e7374616b65416c6c28290a202020207d0a7d0ac0a0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "02f92c4cd663b2e335cd821a656bb2ebcf239b222036a7825af5e512fad4d820357099904b953b062e81e2575a2c2081b3d98bfccf5c743b4bdb224b937e292dad556e7374616b6520416c6c20464c4f570000", - "hash": "7099904b953b062e81e2575a2c2081b3d98bfccf5c743b4bdb224b937e292dad" - }, - { - "title": "TH.13 - Withdraw Unstaked FLOW", - "valid": true, - "chainID": "Mainnet", - "payloadMessage": { - "script": "import LockedTokens from 0x8d0e87b65159ae63\nimport StakingProxy from 0x62430cf28c26d095\n\ntransaction(amount: UFix64) {\n\n let holderRef: &LockedTokens.TokenHolder\n\n prepare(account: AuthAccount) {\n self.holderRef = account.borrow<&LockedTokens.TokenHolder>(from: LockedTokens.TokenHolderStoragePath)\n ?? panic(\"Could not borrow reference to TokenHolder\")\n }\n\n execute {\n let stakerProxy = self.holderRef.borrowStaker()\n\n stakerProxy.withdrawUnstakedTokens(amount: amount)\n }\n}\n", - "arguments": [ - { - "type": "UFix64", - "value": "92233720368.54775808" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ] - }, - "envelopeMessage": { - "script": "import LockedTokens from 0x8d0e87b65159ae63\nimport StakingProxy from 0x62430cf28c26d095\n\ntransaction(amount: UFix64) {\n\n let holderRef: &LockedTokens.TokenHolder\n\n prepare(account: AuthAccount) {\n self.holderRef = account.borrow<&LockedTokens.TokenHolder>(from: LockedTokens.TokenHolderStoragePath)\n ?? panic(\"Could not borrow reference to TokenHolder\")\n }\n\n execute {\n let stakerProxy = self.holderRef.borrowStaker()\n\n stakerProxy.withdrawUnstakedTokens(amount: amount)\n }\n}\n", - "arguments": [ - { - "type": "UFix64", - "value": "92233720368.54775808" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f90280b9020b696d706f7274204c6f636b6564546f6b656e732066726f6d203078386430653837623635313539616536330a696d706f7274205374616b696e6750726f78792066726f6d203078363234333063663238633236643039350a0a7472616e73616374696f6e28616d6f756e743a2055466978363429207b0a0a202020206c657420686f6c6465725265663a20264c6f636b6564546f6b656e732e546f6b656e486f6c6465720a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e686f6c646572526566203d206163636f756e742e626f72726f773c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f20546f6b656e486f6c64657222290a202020207d0a0a2020202065786563757465207b0a20202020202020206c6574207374616b657250726f7879203d2073656c662e686f6c6465725265662e626f72726f775374616b657228290a0a20202020202020207374616b657250726f78792e7769746864726177556e7374616b6564546f6b656e7328616d6f756e743a20616d6f756e74290a202020207d0a7d0af1b07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f90284f90280b9020b696d706f7274204c6f636b6564546f6b656e732066726f6d203078386430653837623635313539616536330a696d706f7274205374616b696e6750726f78792066726f6d203078363234333063663238633236643039350a0a7472616e73616374696f6e28616d6f756e743a2055466978363429207b0a0a202020206c657420686f6c6465725265663a20264c6f636b6564546f6b656e732e546f6b656e486f6c6465720a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e686f6c646572526566203d206163636f756e742e626f72726f773c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f20546f6b656e486f6c64657222290a202020207d0a0a2020202065786563757465207b0a20202020202020206c6574207374616b657250726f7879203d2073656c662e686f6c6465725265662e626f72726f775374616b657228290a0a20202020202020207374616b657250726f78792e7769746864726177556e7374616b6564546f6b656e7328616d6f756e743a20616d6f756e74290a202020207d0a7d0af1b07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "0290097e3aff9b67f65bbada3cdedbb73d45d093ff333aaaff38809bf9910a3e39dcae4faa6d689873f7caf7c5efef669f9fe1d4113e58b474b7aec1e07113a7ff576974686472617720556e7374616b656420464c4f57000101416d6f756e7400005546697836340003", - "hash": "dcae4faa6d689873f7caf7c5efef669f9fe1d4113e58b474b7aec1e07113a7ff" - }, - { - "title": "TH.14 - Withdraw Rewarded FLOW", - "valid": true, - "chainID": "Mainnet", - "payloadMessage": { - "script": "import LockedTokens from 0x8d0e87b65159ae63\nimport FlowToken from 0x1654653399040a61\n\ntransaction(amount: UFix64) {\n\n let holderRef: &LockedTokens.TokenHolder\n let vaultRef: &FlowToken.Vault\n\n prepare(account: AuthAccount) {\n self.holderRef = account.borrow<&LockedTokens.TokenHolder>(from: LockedTokens.TokenHolderStoragePath)\n ?? panic(\"Could not borrow reference to TokenHolder\")\n\n self.vaultRef = account.borrow<&FlowToken.Vault>(from: /storage/flowTokenVault)\n ?? panic(\"Could not borrow reference to FlowToken value\")\n }\n\n execute {\n let stakerProxy = self.holderRef.borrowStaker()\n\n stakerProxy.withdrawRewardedTokens(amount: amount)\n self.vaultRef.deposit(from: <-self.holderRef.withdraw(amount: amount))\n }\n}\n", - "arguments": [ - { - "type": "UFix64", - "value": "92233720368.54775808" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ] - }, - "envelopeMessage": { - "script": "import LockedTokens from 0x8d0e87b65159ae63\nimport FlowToken from 0x1654653399040a61\n\ntransaction(amount: UFix64) {\n\n let holderRef: &LockedTokens.TokenHolder\n let vaultRef: &FlowToken.Vault\n\n prepare(account: AuthAccount) {\n self.holderRef = account.borrow<&LockedTokens.TokenHolder>(from: LockedTokens.TokenHolderStoragePath)\n ?? panic(\"Could not borrow reference to TokenHolder\")\n\n self.vaultRef = account.borrow<&FlowToken.Vault>(from: /storage/flowTokenVault)\n ?? panic(\"Could not borrow reference to FlowToken value\")\n }\n\n execute {\n let stakerProxy = self.holderRef.borrowStaker()\n\n stakerProxy.withdrawRewardedTokens(amount: amount)\n self.vaultRef.deposit(from: <-self.holderRef.withdraw(amount: amount))\n }\n}\n", - "arguments": [ - { - "type": "UFix64", - "value": "92233720368.54775808" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f9038eb90319696d706f7274204c6f636b6564546f6b656e732066726f6d203078386430653837623635313539616536330a696d706f727420466c6f77546f6b656e2066726f6d203078313635343635333339393034306136310a0a7472616e73616374696f6e28616d6f756e743a2055466978363429207b0a0a202020206c657420686f6c6465725265663a20264c6f636b6564546f6b656e732e546f6b656e486f6c6465720a202020206c6574207661756c745265663a2026466c6f77546f6b656e2e5661756c740a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e686f6c646572526566203d206163636f756e742e626f72726f773c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f20546f6b656e486f6c64657222290a0a202020202020202073656c662e7661756c74526566203d206163636f756e742e626f72726f773c26466c6f77546f6b656e2e5661756c743e2866726f6d3a202f73746f726167652f666c6f77546f6b656e5661756c74290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f20466c6f77546f6b656e2076616c756522290a202020207d0a0a2020202065786563757465207b0a20202020202020206c6574207374616b657250726f7879203d2073656c662e686f6c6465725265662e626f72726f775374616b657228290a0a20202020202020207374616b657250726f78792e77697468647261775265776172646564546f6b656e7328616d6f756e743a20616d6f756e74290a202020202020202073656c662e7661756c745265662e6465706f7369742866726f6d3a203c2d73656c662e686f6c6465725265662e776974686472617728616d6f756e743a20616d6f756e7429290a202020207d0a7d0af1b07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f90392f9038eb90319696d706f7274204c6f636b6564546f6b656e732066726f6d203078386430653837623635313539616536330a696d706f727420466c6f77546f6b656e2066726f6d203078313635343635333339393034306136310a0a7472616e73616374696f6e28616d6f756e743a2055466978363429207b0a0a202020206c657420686f6c6465725265663a20264c6f636b6564546f6b656e732e546f6b656e486f6c6465720a202020206c6574207661756c745265663a2026466c6f77546f6b656e2e5661756c740a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e686f6c646572526566203d206163636f756e742e626f72726f773c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f20546f6b656e486f6c64657222290a0a202020202020202073656c662e7661756c74526566203d206163636f756e742e626f72726f773c26466c6f77546f6b656e2e5661756c743e2866726f6d3a202f73746f726167652f666c6f77546f6b656e5661756c74290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f20466c6f77546f6b656e2076616c756522290a202020207d0a0a2020202065786563757465207b0a20202020202020206c6574207374616b657250726f7879203d2073656c662e686f6c6465725265662e626f72726f775374616b657228290a0a20202020202020207374616b657250726f78792e77697468647261775265776172646564546f6b656e7328616d6f756e743a20616d6f756e74290a202020202020202073656c662e7661756c745265662e6465706f7369742866726f6d3a203c2d73656c662e686f6c6465725265662e776974686472617728616d6f756e743a20616d6f756e7429290a202020207d0a7d0af1b07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "02f23406ff402f02418629432912ce732be0441b1a7e71f16c03d688a165ff7f499bb8f0562eea5e45c11f9289540f39c99a21c9a0fb060a7d3f832e98c2696f2d576974686472617720526577617264656420464c4f57000101416d6f756e7400005546697836340003", - "hash": "9bb8f0562eea5e45c11f9289540f39c99a21c9a0fb060a7d3f832e98c2696f2d" - }, - { - "title": "TH.16 - Register Operator Node", - "valid": true, - "chainID": "Mainnet", - "payloadMessage": { - "script": "import LockedTokens from 0x8d0e87b65159ae63\nimport StakingProxy from 0x62430cf28c26d095\n\ntransaction(address: Address, id: String, amount: UFix64) {\n\n let holderRef: &LockedTokens.TokenHolder\n\n prepare(account: AuthAccount) {\n self.holderRef = account.borrow<&LockedTokens.TokenHolder>(from: LockedTokens.TokenHolderStoragePath)\n ?? panic(\"Could not borrow reference to TokenHolder\")\n }\n\n execute {\n let nodeOperatorRef = getAccount(address).getCapability\n <&StakingProxy.NodeStakerProxyHolder{StakingProxy.NodeStakerProxyHolderPublic}>\n (StakingProxy.NodeOperatorCapabilityPublicPath)!.borrow() \n ?? panic(\"Could not borrow node operator public capability\")\n\n let nodeInfo = nodeOperatorRef.getNodeInfo(nodeID: id)\n ?? panic(\"Couldn't get info for nodeID=\".concat(id))\n\n self.holderRef.createNodeStaker(nodeInfo: nodeInfo, amount: amount)\n\n let nodeStakerProxy = self.holderRef.borrowStaker()\n\n nodeOperatorRef.addStakingProxy(nodeID: nodeInfo.id, proxy: nodeStakerProxy)\n }\n}\n", - "arguments": [ - { - "type": "Address", - "value": "0xe467b9dd11fa00df" - }, - { - "type": "String", - "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" - }, - { - "type": "UFix64", - "value": "92233720368.54775808" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ] - }, - "envelopeMessage": { - "script": "import LockedTokens from 0x8d0e87b65159ae63\nimport StakingProxy from 0x62430cf28c26d095\n\ntransaction(address: Address, id: String, amount: UFix64) {\n\n let holderRef: &LockedTokens.TokenHolder\n\n prepare(account: AuthAccount) {\n self.holderRef = account.borrow<&LockedTokens.TokenHolder>(from: LockedTokens.TokenHolderStoragePath)\n ?? panic(\"Could not borrow reference to TokenHolder\")\n }\n\n execute {\n let nodeOperatorRef = getAccount(address).getCapability\n <&StakingProxy.NodeStakerProxyHolder{StakingProxy.NodeStakerProxyHolderPublic}>\n (StakingProxy.NodeOperatorCapabilityPublicPath)!.borrow() \n ?? panic(\"Could not borrow node operator public capability\")\n\n let nodeInfo = nodeOperatorRef.getNodeInfo(nodeID: id)\n ?? panic(\"Couldn't get info for nodeID=\".concat(id))\n\n self.holderRef.createNodeStaker(nodeInfo: nodeInfo, amount: amount)\n\n let nodeStakerProxy = self.holderRef.borrowStaker()\n\n nodeOperatorRef.addStakingProxy(nodeID: nodeInfo.id, proxy: nodeStakerProxy)\n }\n}\n", - "arguments": [ - { - "type": "Address", - "value": "0xe467b9dd11fa00df" - }, - { - "type": "String", - "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" - }, - { - "type": "UFix64", - "value": "92233720368.54775808" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f90546b90442696d706f7274204c6f636b6564546f6b656e732066726f6d203078386430653837623635313539616536330a696d706f7274205374616b696e6750726f78792066726f6d203078363234333063663238633236643039350a0a7472616e73616374696f6e28616464726573733a20416464726573732c2069643a20537472696e672c20616d6f756e743a2055466978363429207b0a0a202020206c657420686f6c6465725265663a20264c6f636b6564546f6b656e732e546f6b656e486f6c6465720a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e686f6c646572526566203d206163636f756e742e626f72726f773c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f20546f6b656e486f6c64657222290a202020207d0a0a2020202065786563757465207b0a20202020202020206c6574206e6f64654f70657261746f72526566203d206765744163636f756e742861646472657373292e6765744361706162696c6974790a2020202020202020202020203c265374616b696e6750726f78792e4e6f64655374616b657250726f7879486f6c6465727b5374616b696e6750726f78792e4e6f64655374616b657250726f7879486f6c6465725075626c69637d3e0a202020202020202020202020285374616b696e6750726f78792e4e6f64654f70657261746f724361706162696c6974795075626c69635061746829212e626f72726f772829200a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77206e6f6465206f70657261746f72207075626c6963206361706162696c69747922290a0a20202020202020206c6574206e6f6465496e666f203d206e6f64654f70657261746f725265662e6765744e6f6465496e666f286e6f646549443a206964290a2020202020202020202020203f3f2070616e69632822436f756c646e27742067657420696e666f20666f72206e6f646549443d222e636f6e63617428696429290a0a202020202020202073656c662e686f6c6465725265662e6372656174654e6f64655374616b6572286e6f6465496e666f3a206e6f6465496e666f2c20616d6f756e743a20616d6f756e74290a0a20202020202020206c6574206e6f64655374616b657250726f7879203d2073656c662e686f6c6465725265662e626f72726f775374616b657228290a0a20202020202020206e6f64654f70657261746f725265662e6164645374616b696e6750726f7879286e6f646549443a206e6f6465496e666f2e69642c2070726f78793a206e6f64655374616b657250726f7879290a202020207d0a7d0af8bfaf7b2274797065223a2241646472657373222c2276616c7565223a22307865343637623964643131666130306466227db85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f9054af90546b90442696d706f7274204c6f636b6564546f6b656e732066726f6d203078386430653837623635313539616536330a696d706f7274205374616b696e6750726f78792066726f6d203078363234333063663238633236643039350a0a7472616e73616374696f6e28616464726573733a20416464726573732c2069643a20537472696e672c20616d6f756e743a2055466978363429207b0a0a202020206c657420686f6c6465725265663a20264c6f636b6564546f6b656e732e546f6b656e486f6c6465720a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e686f6c646572526566203d206163636f756e742e626f72726f773c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f20546f6b656e486f6c64657222290a202020207d0a0a2020202065786563757465207b0a20202020202020206c6574206e6f64654f70657261746f72526566203d206765744163636f756e742861646472657373292e6765744361706162696c6974790a2020202020202020202020203c265374616b696e6750726f78792e4e6f64655374616b657250726f7879486f6c6465727b5374616b696e6750726f78792e4e6f64655374616b657250726f7879486f6c6465725075626c69637d3e0a202020202020202020202020285374616b696e6750726f78792e4e6f64654f70657261746f724361706162696c6974795075626c69635061746829212e626f72726f772829200a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77206e6f6465206f70657261746f72207075626c6963206361706162696c69747922290a0a20202020202020206c6574206e6f6465496e666f203d206e6f64654f70657261746f725265662e6765744e6f6465496e666f286e6f646549443a206964290a2020202020202020202020203f3f2070616e69632822436f756c646e27742067657420696e666f20666f72206e6f646549443d222e636f6e63617428696429290a0a202020202020202073656c662e686f6c6465725265662e6372656174654e6f64655374616b6572286e6f6465496e666f3a206e6f6465496e666f2c20616d6f756e743a20616d6f756e74290a0a20202020202020206c6574206e6f64655374616b657250726f7879203d2073656c662e686f6c6465725265662e626f72726f775374616b657228290a0a20202020202020206e6f64654f70657261746f725265662e6164645374616b696e6750726f7879286e6f646549443a206e6f6465496e666f2e69642c2070726f78793a206e6f64655374616b657250726f7879290a202020207d0a7d0af8bfaf7b2274797065223a2241646472657373222c2276616c7565223a22307865343637623964643131666130306466227db85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "02c29d4024aaeb71ab478182542499e0ba3d5d303ec027252e3b8333515ee3de4897b3436482c5aefc1baf8b850e92c829202e468c57241dec707b6c27bd89d15c5265676973746572204f70657261746f72204e6f64650003014f70657261746f7220416464726573730000416464726573730003014e6f64652049440001537472696e67000301416d6f756e7400025546697836340003", - "hash": "97b3436482c5aefc1baf8b850e92c829202e468c57241dec707b6c27bd89d15c" - }, - { - "title": "TH.17 - Register Delegator", - "valid": true, - "chainID": "Mainnet", - "payloadMessage": { - "script": "import FlowToken from 0x1654653399040a61\nimport LockedTokens from 0x8d0e87b65159ae63\n\ntransaction(id: String, amount: UFix64) {\n\n let holderRef: &LockedTokens.TokenHolder\n\n let vaultRef: &FlowToken.Vault\n\n prepare(account: AuthAccount) {\n self.holderRef = account.borrow<&LockedTokens.TokenHolder>(from: LockedTokens.TokenHolderStoragePath) \n ?? panic(\"TokenHolder is not saved at specified path\")\n\n self.vaultRef = account.borrow<&FlowToken.Vault>(from: /storage/flowTokenVault)\n ?? panic(\"Could not borrow flow token vault reference\")\n }\n\n execute {\n self.holderRef.createNodeDelegator(nodeID: id)\n\n let delegatorProxy = self.holderRef.borrowDelegator()\n\n let lockedBalance = self.holderRef.getLockedAccountBalance()\n\n if amount <= lockedBalance {\n\n delegatorProxy.delegateNewTokens(amount: amount)\n\n } else if ((amount - lockedBalance) <= self.vaultRef.balance) {\n\n self.holderRef.deposit(from: <-self.vaultRef.withdraw(amount: amount - lockedBalance))\n\n delegatorProxy.delegateNewTokens(amount: amount)\n\n } else {\n panic(\"Not enough tokens to stake!\")\n }\n }\n}\n", - "arguments": [ - { - "type": "String", - "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" - }, - { - "type": "UFix64", - "value": "92233720368.54775808" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ] - }, - "envelopeMessage": { - "script": "import FlowToken from 0x1654653399040a61\nimport LockedTokens from 0x8d0e87b65159ae63\n\ntransaction(id: String, amount: UFix64) {\n\n let holderRef: &LockedTokens.TokenHolder\n\n let vaultRef: &FlowToken.Vault\n\n prepare(account: AuthAccount) {\n self.holderRef = account.borrow<&LockedTokens.TokenHolder>(from: LockedTokens.TokenHolderStoragePath) \n ?? panic(\"TokenHolder is not saved at specified path\")\n\n self.vaultRef = account.borrow<&FlowToken.Vault>(from: /storage/flowTokenVault)\n ?? panic(\"Could not borrow flow token vault reference\")\n }\n\n execute {\n self.holderRef.createNodeDelegator(nodeID: id)\n\n let delegatorProxy = self.holderRef.borrowDelegator()\n\n let lockedBalance = self.holderRef.getLockedAccountBalance()\n\n if amount <= lockedBalance {\n\n delegatorProxy.delegateNewTokens(amount: amount)\n\n } else if ((amount - lockedBalance) <= self.vaultRef.balance) {\n\n self.holderRef.deposit(from: <-self.vaultRef.withdraw(amount: amount - lockedBalance))\n\n delegatorProxy.delegateNewTokens(amount: amount)\n\n } else {\n panic(\"Not enough tokens to stake!\")\n }\n }\n}\n", - "arguments": [ - { - "type": "String", - "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" - }, - { - "type": "UFix64", - "value": "92233720368.54775808" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f9058fb904bb696d706f727420466c6f77546f6b656e2066726f6d203078313635343635333339393034306136310a696d706f7274204c6f636b6564546f6b656e732066726f6d203078386430653837623635313539616536330a0a7472616e73616374696f6e2869643a20537472696e672c20616d6f756e743a2055466978363429207b0a0a202020206c657420686f6c6465725265663a20264c6f636b6564546f6b656e732e546f6b656e486f6c6465720a0a202020206c6574207661756c745265663a2026466c6f77546f6b656e2e5661756c740a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e686f6c646572526566203d206163636f756e742e626f72726f773c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f726167655061746829200a2020202020202020202020203f3f2070616e69632822546f6b656e486f6c646572206973206e6f7420736176656420617420737065636966696564207061746822290a0a202020202020202073656c662e7661756c74526566203d206163636f756e742e626f72726f773c26466c6f77546f6b656e2e5661756c743e2866726f6d3a202f73746f726167652f666c6f77546f6b656e5661756c74290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f7720666c6f7720746f6b656e207661756c74207265666572656e636522290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e686f6c6465725265662e6372656174654e6f646544656c656761746f72286e6f646549443a206964290a0a20202020202020206c65742064656c656761746f7250726f7879203d2073656c662e686f6c6465725265662e626f72726f7744656c656761746f7228290a0a20202020202020206c6574206c6f636b656442616c616e6365203d2073656c662e686f6c6465725265662e6765744c6f636b65644163636f756e7442616c616e636528290a0a2020202020202020696620616d6f756e74203c3d206c6f636b656442616c616e6365207b0a0a20202020202020202020202064656c656761746f7250726f78792e64656c65676174654e6577546f6b656e7328616d6f756e743a20616d6f756e74290a0a20202020202020207d20656c7365206966202828616d6f756e74202d206c6f636b656442616c616e636529203c3d2073656c662e7661756c745265662e62616c616e636529207b0a0a20202020202020202020202073656c662e686f6c6465725265662e6465706f7369742866726f6d3a203c2d73656c662e7661756c745265662e776974686472617728616d6f756e743a20616d6f756e74202d206c6f636b656442616c616e636529290a0a20202020202020202020202064656c656761746f7250726f78792e64656c65676174654e6577546f6b656e7328616d6f756e743a20616d6f756e74290a0a20202020202020207d20656c7365207b0a20202020202020202020202070616e696328224e6f7420656e6f75676820746f6b656e7320746f207374616b652122290a20202020202020207d0a202020207d0a7d0af88fb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f90593f9058fb904bb696d706f727420466c6f77546f6b656e2066726f6d203078313635343635333339393034306136310a696d706f7274204c6f636b6564546f6b656e732066726f6d203078386430653837623635313539616536330a0a7472616e73616374696f6e2869643a20537472696e672c20616d6f756e743a2055466978363429207b0a0a202020206c657420686f6c6465725265663a20264c6f636b6564546f6b656e732e546f6b656e486f6c6465720a0a202020206c6574207661756c745265663a2026466c6f77546f6b656e2e5661756c740a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e686f6c646572526566203d206163636f756e742e626f72726f773c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f726167655061746829200a2020202020202020202020203f3f2070616e69632822546f6b656e486f6c646572206973206e6f7420736176656420617420737065636966696564207061746822290a0a202020202020202073656c662e7661756c74526566203d206163636f756e742e626f72726f773c26466c6f77546f6b656e2e5661756c743e2866726f6d3a202f73746f726167652f666c6f77546f6b656e5661756c74290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f7720666c6f7720746f6b656e207661756c74207265666572656e636522290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e686f6c6465725265662e6372656174654e6f646544656c656761746f72286e6f646549443a206964290a0a20202020202020206c65742064656c656761746f7250726f7879203d2073656c662e686f6c6465725265662e626f72726f7744656c656761746f7228290a0a20202020202020206c6574206c6f636b656442616c616e6365203d2073656c662e686f6c6465725265662e6765744c6f636b65644163636f756e7442616c616e636528290a0a2020202020202020696620616d6f756e74203c3d206c6f636b656442616c616e6365207b0a0a20202020202020202020202064656c656761746f7250726f78792e64656c65676174654e6577546f6b656e7328616d6f756e743a20616d6f756e74290a0a20202020202020207d20656c7365206966202828616d6f756e74202d206c6f636b656442616c616e636529203c3d2073656c662e7661756c745265662e62616c616e636529207b0a0a20202020202020202020202073656c662e686f6c6465725265662e6465706f7369742866726f6d3a203c2d73656c662e7661756c745265662e776974686472617728616d6f756e743a20616d6f756e74202d206c6f636b656442616c616e636529290a0a20202020202020202020202064656c656761746f7250726f78792e64656c65676174654e6577546f6b656e7328616d6f756e743a20616d6f756e74290a0a20202020202020207d20656c7365207b0a20202020202020202020202070616e696328224e6f7420656e6f75676820746f6b656e7320746f207374616b652122290a20202020202020207d0a202020207d0a7d0af88fb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "021378405c85e0c966344b196c0fce602f39e79f3938ec7b689e0c96a8703b018a3cb357a97a57d9abbe5c68f0df342ee96ba97ade2013753fd2ddf47695a8c08a52656769737465722044656c656761746f720002014e6f64652049440000537472696e67000301416d6f756e7400015546697836340003", - "hash": "3cb357a97a57d9abbe5c68f0df342ee96ba97ade2013753fd2ddf47695a8c08a" - }, - { - "title": "TH.19 - Delegate New Locked FLOW", - "valid": true, - "chainID": "Mainnet", - "payloadMessage": { - "script": "import FlowToken from 0x1654653399040a61\nimport FungibleToken from 0xf233dcee88fe0abe\nimport LockedTokens from 0x8d0e87b65159ae63\n\ntransaction(amount: UFix64) {\n\n let holderRef: &LockedTokens.TokenHolder\n\n let vaultRef: &FlowToken.Vault\n\n prepare(account: AuthAccount) {\n self.holderRef = account.borrow<&LockedTokens.TokenHolder>(from: LockedTokens.TokenHolderStoragePath)\n ?? panic(\"Could not borrow reference to TokenHolder\")\n\n self.vaultRef = account.borrow<&FlowToken.Vault>(from: /storage/flowTokenVault)\n ?? panic(\"Could not borrow flow token vault reference\")\n }\n\n execute {\n let stakerProxy = self.holderRef.borrowDelegator()\n\n let lockedBalance = self.holderRef.getLockedAccountBalance()\n\n if amount <= lockedBalance {\n\n stakerProxy.delegateNewTokens(amount: amount)\n\n } else if ((amount - lockedBalance) <= self.vaultRef.balance) {\n\n self.holderRef.deposit(from: <-self.vaultRef.withdraw(amount: amount - lockedBalance))\n\n stakerProxy.delegateNewTokens(amount: amount)\n } else {\n panic(\"Not enough tokens to stake!\")\n }\n }\n}\n", - "arguments": [ - { - "type": "UFix64", - "value": "92233720368.54775808" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ] - }, - "envelopeMessage": { - "script": "import FlowToken from 0x1654653399040a61\nimport FungibleToken from 0xf233dcee88fe0abe\nimport LockedTokens from 0x8d0e87b65159ae63\n\ntransaction(amount: UFix64) {\n\n let holderRef: &LockedTokens.TokenHolder\n\n let vaultRef: &FlowToken.Vault\n\n prepare(account: AuthAccount) {\n self.holderRef = account.borrow<&LockedTokens.TokenHolder>(from: LockedTokens.TokenHolderStoragePath)\n ?? panic(\"Could not borrow reference to TokenHolder\")\n\n self.vaultRef = account.borrow<&FlowToken.Vault>(from: /storage/flowTokenVault)\n ?? panic(\"Could not borrow flow token vault reference\")\n }\n\n execute {\n let stakerProxy = self.holderRef.borrowDelegator()\n\n let lockedBalance = self.holderRef.getLockedAccountBalance()\n\n if amount <= lockedBalance {\n\n stakerProxy.delegateNewTokens(amount: amount)\n\n } else if ((amount - lockedBalance) <= self.vaultRef.balance) {\n\n self.holderRef.deposit(from: <-self.vaultRef.withdraw(amount: amount - lockedBalance))\n\n stakerProxy.delegateNewTokens(amount: amount)\n } else {\n panic(\"Not enough tokens to stake!\")\n }\n }\n}\n", - "arguments": [ - { - "type": "UFix64", - "value": "92233720368.54775808" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f9050db90498696d706f727420466c6f77546f6b656e2066726f6d203078313635343635333339393034306136310a696d706f72742046756e6769626c65546f6b656e2066726f6d203078663233336463656538386665306162650a696d706f7274204c6f636b6564546f6b656e732066726f6d203078386430653837623635313539616536330a0a7472616e73616374696f6e28616d6f756e743a2055466978363429207b0a0a202020206c657420686f6c6465725265663a20264c6f636b6564546f6b656e732e546f6b656e486f6c6465720a0a202020206c6574207661756c745265663a2026466c6f77546f6b656e2e5661756c740a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e686f6c646572526566203d206163636f756e742e626f72726f773c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f20546f6b656e486f6c64657222290a0a202020202020202073656c662e7661756c74526566203d206163636f756e742e626f72726f773c26466c6f77546f6b656e2e5661756c743e2866726f6d3a202f73746f726167652f666c6f77546f6b656e5661756c74290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f7720666c6f7720746f6b656e207661756c74207265666572656e636522290a202020207d0a0a2020202065786563757465207b0a20202020202020206c6574207374616b657250726f7879203d2073656c662e686f6c6465725265662e626f72726f7744656c656761746f7228290a0a20202020202020206c6574206c6f636b656442616c616e6365203d2073656c662e686f6c6465725265662e6765744c6f636b65644163636f756e7442616c616e636528290a0a2020202020202020696620616d6f756e74203c3d206c6f636b656442616c616e6365207b0a0a2020202020202020202020207374616b657250726f78792e64656c65676174654e6577546f6b656e7328616d6f756e743a20616d6f756e74290a0a20202020202020207d20656c7365206966202828616d6f756e74202d206c6f636b656442616c616e636529203c3d2073656c662e7661756c745265662e62616c616e636529207b0a0a20202020202020202020202073656c662e686f6c6465725265662e6465706f7369742866726f6d3a203c2d73656c662e7661756c745265662e776974686472617728616d6f756e743a20616d6f756e74202d206c6f636b656442616c616e636529290a0a2020202020202020202020207374616b657250726f78792e64656c65676174654e6577546f6b656e7328616d6f756e743a20616d6f756e74290a20202020202020207d20656c7365207b0a20202020202020202020202070616e696328224e6f7420656e6f75676820746f6b656e7320746f207374616b652122290a20202020202020207d0a202020207d0a7d0af1b07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f90511f9050db90498696d706f727420466c6f77546f6b656e2066726f6d203078313635343635333339393034306136310a696d706f72742046756e6769626c65546f6b656e2066726f6d203078663233336463656538386665306162650a696d706f7274204c6f636b6564546f6b656e732066726f6d203078386430653837623635313539616536330a0a7472616e73616374696f6e28616d6f756e743a2055466978363429207b0a0a202020206c657420686f6c6465725265663a20264c6f636b6564546f6b656e732e546f6b656e486f6c6465720a0a202020206c6574207661756c745265663a2026466c6f77546f6b656e2e5661756c740a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e686f6c646572526566203d206163636f756e742e626f72726f773c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f20546f6b656e486f6c64657222290a0a202020202020202073656c662e7661756c74526566203d206163636f756e742e626f72726f773c26466c6f77546f6b656e2e5661756c743e2866726f6d3a202f73746f726167652f666c6f77546f6b656e5661756c74290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f7720666c6f7720746f6b656e207661756c74207265666572656e636522290a202020207d0a0a2020202065786563757465207b0a20202020202020206c6574207374616b657250726f7879203d2073656c662e686f6c6465725265662e626f72726f7744656c656761746f7228290a0a20202020202020206c6574206c6f636b656442616c616e6365203d2073656c662e686f6c6465725265662e6765744c6f636b65644163636f756e7442616c616e636528290a0a2020202020202020696620616d6f756e74203c3d206c6f636b656442616c616e6365207b0a0a2020202020202020202020207374616b657250726f78792e64656c65676174654e6577546f6b656e7328616d6f756e743a20616d6f756e74290a0a20202020202020207d20656c7365206966202828616d6f756e74202d206c6f636b656442616c616e636529203c3d2073656c662e7661756c745265662e62616c616e636529207b0a0a20202020202020202020202073656c662e686f6c6465725265662e6465706f7369742866726f6d3a203c2d73656c662e7661756c745265662e776974686472617728616d6f756e743a20616d6f756e74202d206c6f636b656442616c616e636529290a0a2020202020202020202020207374616b657250726f78792e64656c65676174654e6577546f6b656e7328616d6f756e743a20616d6f756e74290a20202020202020207d20656c7365207b0a20202020202020202020202070616e696328224e6f7420656e6f75676820746f6b656e7320746f207374616b652122290a20202020202020207d0a202020207d0a7d0af1b07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "0218fad68368a4394b245db91217d7dc979e1316ab757388d416eaef831f565ab3802354d8b3e7908e584bcb5217637fb9f4ef045427c32d57d81ad4a390ed1a6044656c6567617465204e6577204c6f636b656420464c4f57000101416d6f756e7400005546697836340003", - "hash": "802354d8b3e7908e584bcb5217637fb9f4ef045427c32d57d81ad4a390ed1a60" - }, - { - "title": "TH.20 - Re-delegate Unstaked FLOW", - "valid": true, - "chainID": "Mainnet", - "payloadMessage": { - "script": "import LockedTokens from 0x8d0e87b65159ae63\n\ntransaction(amount: UFix64) {\n let nodeDelegatorProxy: LockedTokens.LockedNodeDelegatorProxy\n\n prepare(account: AuthAccount) {\n let holderRef = account.borrow<&LockedTokens.TokenHolder>(from: LockedTokens.TokenHolderStoragePath) \n ?? panic(\"TokenHolder is not saved at specified path\")\n\n self.nodeDelegatorProxy = holderRef.borrowDelegator()\n }\n\n execute {\n self.nodeDelegatorProxy.delegateUnstakedTokens(amount: amount)\n }\n}\n", - "arguments": [ - { - "type": "UFix64", - "value": "92233720368.54775808" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ] - }, - "envelopeMessage": { - "script": "import LockedTokens from 0x8d0e87b65159ae63\n\ntransaction(amount: UFix64) {\n let nodeDelegatorProxy: LockedTokens.LockedNodeDelegatorProxy\n\n prepare(account: AuthAccount) {\n let holderRef = account.borrow<&LockedTokens.TokenHolder>(from: LockedTokens.TokenHolderStoragePath) \n ?? panic(\"TokenHolder is not saved at specified path\")\n\n self.nodeDelegatorProxy = holderRef.borrowDelegator()\n }\n\n execute {\n self.nodeDelegatorProxy.delegateUnstakedTokens(amount: amount)\n }\n}\n", - "arguments": [ - { - "type": "UFix64", - "value": "92233720368.54775808" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f9027bb90206696d706f7274204c6f636b6564546f6b656e732066726f6d203078386430653837623635313539616536330a0a7472616e73616374696f6e28616d6f756e743a2055466978363429207b0a202020206c6574206e6f646544656c656761746f7250726f78793a204c6f636b6564546f6b656e732e4c6f636b65644e6f646544656c656761746f7250726f78790a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a20202020202020206c657420686f6c646572526566203d206163636f756e742e626f72726f773c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f726167655061746829200a2020202020202020202020203f3f2070616e69632822546f6b656e486f6c646572206973206e6f7420736176656420617420737065636966696564207061746822290a0a202020202020202073656c662e6e6f646544656c656761746f7250726f7879203d20686f6c6465725265662e626f72726f7744656c656761746f7228290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e6e6f646544656c656761746f7250726f78792e64656c6567617465556e7374616b6564546f6b656e7328616d6f756e743a20616d6f756e74290a202020207d0a7d0af1b07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f9027ff9027bb90206696d706f7274204c6f636b6564546f6b656e732066726f6d203078386430653837623635313539616536330a0a7472616e73616374696f6e28616d6f756e743a2055466978363429207b0a202020206c6574206e6f646544656c656761746f7250726f78793a204c6f636b6564546f6b656e732e4c6f636b65644e6f646544656c656761746f7250726f78790a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a20202020202020206c657420686f6c646572526566203d206163636f756e742e626f72726f773c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f726167655061746829200a2020202020202020202020203f3f2070616e69632822546f6b656e486f6c646572206973206e6f7420736176656420617420737065636966696564207061746822290a0a202020202020202073656c662e6e6f646544656c656761746f7250726f7879203d20686f6c6465725265662e626f72726f7744656c656761746f7228290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e6e6f646544656c656761746f7250726f78792e64656c6567617465556e7374616b6564546f6b656e7328616d6f756e743a20616d6f756e74290a202020207d0a7d0af1b07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "028776b1521b04395754734f8f40d4a0482863274f8d832973d9e011b3cbb48c852027331b72d8710a1a05feb6ecebadb5858d134bc8c95d6f261319cd9fa1bb9552652d64656c656761746520556e7374616b656420464c4f57000101416d6f756e7400005546697836340003", - "hash": "2027331b72d8710a1a05feb6ecebadb5858d134bc8c95d6f261319cd9fa1bb95" - }, - { - "title": "TH.21 - Re-delegate Rewarded FLOW", - "valid": true, - "chainID": "Mainnet", - "payloadMessage": { - "script": "import LockedTokens from 0x8d0e87b65159ae63\n\ntransaction(amount: UFix64) {\n let nodeDelegatorProxy: LockedTokens.LockedNodeDelegatorProxy\n\n prepare(account: AuthAccount) {\n let holderRef = account.borrow<&LockedTokens.TokenHolder>(from: LockedTokens.TokenHolderStoragePath) \n ?? panic(\"TokenHolder is not saved at specified path\")\n \n self.nodeDelegatorProxy = holderRef.borrowDelegator()\n }\n\n execute {\n self.nodeDelegatorProxy.delegateRewardedTokens(amount: amount)\n }\n}\n", - "arguments": [ - { - "type": "UFix64", - "value": "92233720368.54775808" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ] - }, - "envelopeMessage": { - "script": "import LockedTokens from 0x8d0e87b65159ae63\n\ntransaction(amount: UFix64) {\n let nodeDelegatorProxy: LockedTokens.LockedNodeDelegatorProxy\n\n prepare(account: AuthAccount) {\n let holderRef = account.borrow<&LockedTokens.TokenHolder>(from: LockedTokens.TokenHolderStoragePath) \n ?? panic(\"TokenHolder is not saved at specified path\")\n \n self.nodeDelegatorProxy = holderRef.borrowDelegator()\n }\n\n execute {\n self.nodeDelegatorProxy.delegateRewardedTokens(amount: amount)\n }\n}\n", - "arguments": [ - { - "type": "UFix64", - "value": "92233720368.54775808" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f90283b9020e696d706f7274204c6f636b6564546f6b656e732066726f6d203078386430653837623635313539616536330a0a7472616e73616374696f6e28616d6f756e743a2055466978363429207b0a202020206c6574206e6f646544656c656761746f7250726f78793a204c6f636b6564546f6b656e732e4c6f636b65644e6f646544656c656761746f7250726f78790a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a20202020202020206c657420686f6c646572526566203d206163636f756e742e626f72726f773c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f726167655061746829200a2020202020202020202020203f3f2070616e69632822546f6b656e486f6c646572206973206e6f7420736176656420617420737065636966696564207061746822290a20202020202020200a202020202020202073656c662e6e6f646544656c656761746f7250726f7879203d20686f6c6465725265662e626f72726f7744656c656761746f7228290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e6e6f646544656c656761746f7250726f78792e64656c65676174655265776172646564546f6b656e7328616d6f756e743a20616d6f756e74290a202020207d0a7d0af1b07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f90287f90283b9020e696d706f7274204c6f636b6564546f6b656e732066726f6d203078386430653837623635313539616536330a0a7472616e73616374696f6e28616d6f756e743a2055466978363429207b0a202020206c6574206e6f646544656c656761746f7250726f78793a204c6f636b6564546f6b656e732e4c6f636b65644e6f646544656c656761746f7250726f78790a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a20202020202020206c657420686f6c646572526566203d206163636f756e742e626f72726f773c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f726167655061746829200a2020202020202020202020203f3f2070616e69632822546f6b656e486f6c646572206973206e6f7420736176656420617420737065636966696564207061746822290a20202020202020200a202020202020202073656c662e6e6f646544656c656761746f7250726f7879203d20686f6c6465725265662e626f72726f7744656c656761746f7228290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e6e6f646544656c656761746f7250726f78792e64656c65676174655265776172646564546f6b656e7328616d6f756e743a20616d6f756e74290a202020207d0a7d0af1b07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "026b40ffc9169abd75107a45da5974c7e502d38773275abb231d747e4760b7ebee864edbff384335ef21c26b3bcf17d36b2b1d894afbe2b203f58099cc457971e452652d64656c656761746520526577617264656420464c4f57000101416d6f756e7400005546697836340003", - "hash": "864edbff384335ef21c26b3bcf17d36b2b1d894afbe2b203f58099cc457971e4" - }, - { - "title": "TH.22 - Unstake Delegated FLOW", - "valid": true, - "chainID": "Mainnet", - "payloadMessage": { - "script": "import LockedTokens from 0x8d0e87b65159ae63\n\ntransaction(amount: UFix64) {\n let nodeDelegatorProxy: LockedTokens.LockedNodeDelegatorProxy\n\n prepare(account: AuthAccount) {\n let holderRef = account.borrow<&LockedTokens.TokenHolder>(from: LockedTokens.TokenHolderStoragePath) \n ?? panic(\"TokenHolder is not saved at specified path\")\n \n self.nodeDelegatorProxy = holderRef.borrowDelegator()\n }\n\n execute {\n self.nodeDelegatorProxy.requestUnstaking(amount: amount)\n }\n}\n", - "arguments": [ - { - "type": "UFix64", - "value": "92233720368.54775808" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ] - }, - "envelopeMessage": { - "script": "import LockedTokens from 0x8d0e87b65159ae63\n\ntransaction(amount: UFix64) {\n let nodeDelegatorProxy: LockedTokens.LockedNodeDelegatorProxy\n\n prepare(account: AuthAccount) {\n let holderRef = account.borrow<&LockedTokens.TokenHolder>(from: LockedTokens.TokenHolderStoragePath) \n ?? panic(\"TokenHolder is not saved at specified path\")\n \n self.nodeDelegatorProxy = holderRef.borrowDelegator()\n }\n\n execute {\n self.nodeDelegatorProxy.requestUnstaking(amount: amount)\n }\n}\n", - "arguments": [ - { - "type": "UFix64", - "value": "92233720368.54775808" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f9027db90208696d706f7274204c6f636b6564546f6b656e732066726f6d203078386430653837623635313539616536330a0a7472616e73616374696f6e28616d6f756e743a2055466978363429207b0a202020206c6574206e6f646544656c656761746f7250726f78793a204c6f636b6564546f6b656e732e4c6f636b65644e6f646544656c656761746f7250726f78790a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a20202020202020206c657420686f6c646572526566203d206163636f756e742e626f72726f773c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f726167655061746829200a2020202020202020202020203f3f2070616e69632822546f6b656e486f6c646572206973206e6f7420736176656420617420737065636966696564207061746822290a20202020202020200a202020202020202073656c662e6e6f646544656c656761746f7250726f7879203d20686f6c6465725265662e626f72726f7744656c656761746f7228290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e6e6f646544656c656761746f7250726f78792e72657175657374556e7374616b696e6728616d6f756e743a20616d6f756e74290a202020207d0a7d0af1b07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f90281f9027db90208696d706f7274204c6f636b6564546f6b656e732066726f6d203078386430653837623635313539616536330a0a7472616e73616374696f6e28616d6f756e743a2055466978363429207b0a202020206c6574206e6f646544656c656761746f7250726f78793a204c6f636b6564546f6b656e732e4c6f636b65644e6f646544656c656761746f7250726f78790a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a20202020202020206c657420686f6c646572526566203d206163636f756e742e626f72726f773c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f726167655061746829200a2020202020202020202020203f3f2070616e69632822546f6b656e486f6c646572206973206e6f7420736176656420617420737065636966696564207061746822290a20202020202020200a202020202020202073656c662e6e6f646544656c656761746f7250726f7879203d20686f6c6465725265662e626f72726f7744656c656761746f7228290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e6e6f646544656c656761746f7250726f78792e72657175657374556e7374616b696e6728616d6f756e743a20616d6f756e74290a202020207d0a7d0af1b07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "0261cbcd1c31bbfc9ceb4a5ac726e2f8b3d845a4fdf59b0ab23cbbfa8f16d7a024262aeddd3f49fd6222d706c02696bd7d359ba962b6c30232cc93d7cf4166a23e556e7374616b652044656c65676174656420464c4f57000101416d6f756e7400005546697836340003", - "hash": "262aeddd3f49fd6222d706c02696bd7d359ba962b6c30232cc93d7cf4166a23e" - }, - { - "title": "TH.23 - Withdraw Unstaked FLOW", - "valid": true, - "chainID": "Mainnet", - "payloadMessage": { - "script": "import LockedTokens from 0x8d0e87b65159ae63\n\ntransaction(amount: UFix64) {\n let nodeDelegatorProxy: LockedTokens.LockedNodeDelegatorProxy\n\n prepare(account: AuthAccount) {\n let holderRef = account.borrow<&LockedTokens.TokenHolder>(from: LockedTokens.TokenHolderStoragePath) \n ?? panic(\"TokenHolder is not saved at specified path\")\n \n self.nodeDelegatorProxy = holderRef.borrowDelegator()\n }\n\n execute {\n self.nodeDelegatorProxy.withdrawUnstakedTokens(amount: amount)\n }\n}\n", - "arguments": [ - { - "type": "UFix64", - "value": "92233720368.54775808" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ] - }, - "envelopeMessage": { - "script": "import LockedTokens from 0x8d0e87b65159ae63\n\ntransaction(amount: UFix64) {\n let nodeDelegatorProxy: LockedTokens.LockedNodeDelegatorProxy\n\n prepare(account: AuthAccount) {\n let holderRef = account.borrow<&LockedTokens.TokenHolder>(from: LockedTokens.TokenHolderStoragePath) \n ?? panic(\"TokenHolder is not saved at specified path\")\n \n self.nodeDelegatorProxy = holderRef.borrowDelegator()\n }\n\n execute {\n self.nodeDelegatorProxy.withdrawUnstakedTokens(amount: amount)\n }\n}\n", - "arguments": [ - { - "type": "UFix64", - "value": "92233720368.54775808" + "value": "flow-node.test:3569", + "type": "String" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", "gasLimit": 42, "proposalKey": { - "address": "f19c161bc24cf4b4", + "address": "99a8ac2c71d4f6bd", "keyId": 4, "sequenceNum": 10 }, - "payer": "f19c161bc24cf4b4", + "payer": "99a8ac2c71d4f6bd", "authorizers": [ - "f19c161bc24cf4b4" + "99a8ac2c71d4f6bd" ], "payloadSigs": [] }, - "encodedTransactionPayloadHex": "f90283b9020e696d706f7274204c6f636b6564546f6b656e732066726f6d203078386430653837623635313539616536330a0a7472616e73616374696f6e28616d6f756e743a2055466978363429207b0a202020206c6574206e6f646544656c656761746f7250726f78793a204c6f636b6564546f6b656e732e4c6f636b65644e6f646544656c656761746f7250726f78790a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a20202020202020206c657420686f6c646572526566203d206163636f756e742e626f72726f773c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f726167655061746829200a2020202020202020202020203f3f2070616e69632822546f6b656e486f6c646572206973206e6f7420736176656420617420737065636966696564207061746822290a20202020202020200a202020202020202073656c662e6e6f646544656c656761746f7250726f7879203d20686f6c6465725265662e626f72726f7744656c656761746f7228290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e6e6f646544656c656761746f7250726f78792e7769746864726177556e7374616b6564546f6b656e7328616d6f756e743a20616d6f756e74290a202020207d0a7d0af1b07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f90287f90283b9020e696d706f7274204c6f636b6564546f6b656e732066726f6d203078386430653837623635313539616536330a0a7472616e73616374696f6e28616d6f756e743a2055466978363429207b0a202020206c6574206e6f646544656c656761746f7250726f78793a204c6f636b6564546f6b656e732e4c6f636b65644e6f646544656c656761746f7250726f78790a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a20202020202020206c657420686f6c646572526566203d206163636f756e742e626f72726f773c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f726167655061746829200a2020202020202020202020203f3f2070616e69632822546f6b656e486f6c646572206973206e6f7420736176656420617420737065636966696564207061746822290a20202020202020200a202020202020202073656c662e6e6f646544656c656761746f7250726f7879203d20686f6c6465725265662e626f72726f7744656c656761746f7228290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e6e6f646544656c656761746f7250726f78792e7769746864726177556e7374616b6564546f6b656e7328616d6f756e743a20616d6f756e74290a202020207d0a7d0af1b07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "022ae983f78e32b989fafa58ee7910b131fb51a2a74356f7916624695cb8bf596412675a013c064b6d0ef11dbf13f92210489bf2b3d299b2f14cd09be70b37577f576974686472617720556e7374616b656420464c4f57000101416d6f756e7400005546697836340003", - "hash": "12675a013c064b6d0ef11dbf13f92210489bf2b3d299b2f14cd09be70b37577f" + "encodedTransactionPayloadHex": "f903d6b90303696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f204368616e67657320746865206e6574776f726b696e67206164647265737320666f722074686520737065636966696564206e6f64650a0a7472616e73616374696f6e286e6f646549443a20537472696e672c206e6577416464726573733a20537472696e6729207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a206175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a206175746828426f72726f7756616c75652920264163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e73746f726167652e626f72726f773c6175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f2061205374616b696e67436f6c6c656374696f6e20696e20746865207072696d61727920757365722773206163636f756e7422290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e7570646174654e6574776f726b696e6741646472657373286e6f646549443a206e6f646549442c206e6577416464726573733a206e657741646472657373290a202020207d0a7d0af88eb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227daf7b2276616c7565223a22666c6f772d6e6f64652e746573743a33353639222c2274797065223a22537472696e67227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", + "encodedTransactionEnvelopeHex": "f903daf903d6b90303696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f204368616e67657320746865206e6574776f726b696e67206164647265737320666f722074686520737065636966696564206e6f64650a0a7472616e73616374696f6e286e6f646549443a20537472696e672c206e6577416464726573733a20537472696e6729207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a206175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a206175746828426f72726f7756616c75652920264163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e73746f726167652e626f72726f773c6175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f2061205374616b696e67436f6c6c656374696f6e20696e20746865207072696d61727920757365722773206163636f756e7422290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e7570646174654e6574776f726b696e6741646472657373286e6f646549443a206e6f646549442c206e6577416464726573733a206e657741646472657373290a202020207d0a7d0af88eb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227daf7b2276616c7565223a22666c6f772d6e6f64652e746573743a33353639222c2274797065223a22537472696e67227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", + "metadata": "023a68789d8cd56e6c7b064057045a56340746aac710db57700de2c33eb6610e5f68d24560d9e49318dca82ab0975f526a8663d934225f0cb715cd1ff188def16d557064617465204e6574776f726b696e6720416464726573730002014e6f64652049440000537472696e67000301416464726573730001537472696e670003", + "hash": "3a68789d8cd56e6c7b064057045a56340746aac710db57700de2c33eb6610e5f" }, { - "title": "TH.24 - Withdraw Rewarded FLOW", + "title": "FA.01 - Create Account", "valid": true, "chainID": "Mainnet", "payloadMessage": { - "script": "import LockedTokens from 0x8d0e87b65159ae63\nimport FlowToken from 0x1654653399040a61\n\ntransaction(amount: UFix64) {\n\n let holderRef: &LockedTokens.TokenHolder\n let vaultRef: &FlowToken.Vault\n\n prepare(account: AuthAccount) {\n self.holderRef = account.borrow<&LockedTokens.TokenHolder>(from: LockedTokens.TokenHolderStoragePath) \n ?? panic(\"Could not borrow reference to TokenHolder\")\n\n self.vaultRef = account.borrow<&FlowToken.Vault>(from: /storage/flowTokenVault)\n ?? panic(\"Could not borrow reference to FlowToken value\")\n }\n\n execute {\n let delegatorProxy = self.holderRef.borrowDelegator()\n\n delegatorProxy.withdrawRewardedTokens(amount: amount)\n self.vaultRef.deposit(from: <-self.holderRef.withdraw(amount: amount))\n }\n}\n", + "script": "import Crypto\n\ntransaction(key: String, signatureAlgorithm: UInt8, hashAlgorithm: UInt8, weight: UFix64) {\n\tprepare(signer: auth(BorrowValue, Storage) &Account) {\n\t\tpre {\n\t\t\tsignatureAlgorithm >= 1 && signatureAlgorithm <= 3: \"Must provide a signature algoritm raw value that is 1, 2, or 3\"\n\t\t\thashAlgorithm >= 1 && hashAlgorithm <= 6: \"Must provide a hash algoritm raw value that is between 1 and 6\"\n\t\t\tweight <= 1000.0: \"The key weight must be between 0 and 1000\"\n\t\t}\n\n\t\tlet publicKey = PublicKey(\n\t\t\tpublicKey: key.decodeHex(),\n\t\t\tsignatureAlgorithm: SignatureAlgorithm(rawValue: signatureAlgorithm)!\n\t\t)\n\n\t\tlet account = Account(payer: signer)\n\n\t\taccount.keys.add(publicKey: publicKey, hashAlgorithm: HashAlgorithm(rawValue: hashAlgorithm)!, weight: weight)\n\t}\n}", "arguments": [ { - "type": "UFix64", - "value": "92233720368.54775808" + "type": "String", + "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164" + }, + { + "value": "1", + "type": "UInt8" + }, + { + "value": "1", + "type": "UInt8" + }, + { + "value": "1000.00000000", + "type": "UFix64" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -3984,11 +2272,23 @@ ] }, "envelopeMessage": { - "script": "import LockedTokens from 0x8d0e87b65159ae63\nimport FlowToken from 0x1654653399040a61\n\ntransaction(amount: UFix64) {\n\n let holderRef: &LockedTokens.TokenHolder\n let vaultRef: &FlowToken.Vault\n\n prepare(account: AuthAccount) {\n self.holderRef = account.borrow<&LockedTokens.TokenHolder>(from: LockedTokens.TokenHolderStoragePath) \n ?? panic(\"Could not borrow reference to TokenHolder\")\n\n self.vaultRef = account.borrow<&FlowToken.Vault>(from: /storage/flowTokenVault)\n ?? panic(\"Could not borrow reference to FlowToken value\")\n }\n\n execute {\n let delegatorProxy = self.holderRef.borrowDelegator()\n\n delegatorProxy.withdrawRewardedTokens(amount: amount)\n self.vaultRef.deposit(from: <-self.holderRef.withdraw(amount: amount))\n }\n}\n", + "script": "import Crypto\n\ntransaction(key: String, signatureAlgorithm: UInt8, hashAlgorithm: UInt8, weight: UFix64) {\n\tprepare(signer: auth(BorrowValue, Storage) &Account) {\n\t\tpre {\n\t\t\tsignatureAlgorithm >= 1 && signatureAlgorithm <= 3: \"Must provide a signature algoritm raw value that is 1, 2, or 3\"\n\t\t\thashAlgorithm >= 1 && hashAlgorithm <= 6: \"Must provide a hash algoritm raw value that is between 1 and 6\"\n\t\t\tweight <= 1000.0: \"The key weight must be between 0 and 1000\"\n\t\t}\n\n\t\tlet publicKey = PublicKey(\n\t\t\tpublicKey: key.decodeHex(),\n\t\t\tsignatureAlgorithm: SignatureAlgorithm(rawValue: signatureAlgorithm)!\n\t\t)\n\n\t\tlet account = Account(payer: signer)\n\n\t\taccount.keys.add(publicKey: publicKey, hashAlgorithm: HashAlgorithm(rawValue: hashAlgorithm)!, weight: weight)\n\t}\n}", "arguments": [ { - "type": "UFix64", - "value": "92233720368.54775808" + "type": "String", + "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164" + }, + { + "value": "1", + "type": "UInt8" + }, + { + "value": "1", + "type": "UInt8" + }, + { + "value": "1000.00000000", + "type": "UFix64" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -4004,21 +2304,33 @@ ], "payloadSigs": [] }, - "encodedTransactionPayloadHex": "f90398b90323696d706f7274204c6f636b6564546f6b656e732066726f6d203078386430653837623635313539616536330a696d706f727420466c6f77546f6b656e2066726f6d203078313635343635333339393034306136310a0a7472616e73616374696f6e28616d6f756e743a2055466978363429207b0a0a202020206c657420686f6c6465725265663a20264c6f636b6564546f6b656e732e546f6b656e486f6c6465720a202020206c6574207661756c745265663a2026466c6f77546f6b656e2e5661756c740a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e686f6c646572526566203d206163636f756e742e626f72726f773c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f726167655061746829200a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f20546f6b656e486f6c64657222290a0a202020202020202073656c662e7661756c74526566203d206163636f756e742e626f72726f773c26466c6f77546f6b656e2e5661756c743e2866726f6d3a202f73746f726167652f666c6f77546f6b656e5661756c74290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f20466c6f77546f6b656e2076616c756522290a202020207d0a0a2020202065786563757465207b0a20202020202020206c65742064656c656761746f7250726f7879203d2073656c662e686f6c6465725265662e626f72726f7744656c656761746f7228290a0a202020202020202064656c656761746f7250726f78792e77697468647261775265776172646564546f6b656e7328616d6f756e743a20616d6f756e74290a202020202020202073656c662e7661756c745265662e6465706f7369742866726f6d3a203c2d73656c662e686f6c6465725265662e776974686472617728616d6f756e743a20616d6f756e7429290a202020207d0a7d0af1b07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f9039cf90398b90323696d706f7274204c6f636b6564546f6b656e732066726f6d203078386430653837623635313539616536330a696d706f727420466c6f77546f6b656e2066726f6d203078313635343635333339393034306136310a0a7472616e73616374696f6e28616d6f756e743a2055466978363429207b0a0a202020206c657420686f6c6465725265663a20264c6f636b6564546f6b656e732e546f6b656e486f6c6465720a202020206c6574207661756c745265663a2026466c6f77546f6b656e2e5661756c740a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e686f6c646572526566203d206163636f756e742e626f72726f773c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f726167655061746829200a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f20546f6b656e486f6c64657222290a0a202020202020202073656c662e7661756c74526566203d206163636f756e742e626f72726f773c26466c6f77546f6b656e2e5661756c743e2866726f6d3a202f73746f726167652f666c6f77546f6b656e5661756c74290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f20466c6f77546f6b656e2076616c756522290a202020207d0a0a2020202065786563757465207b0a20202020202020206c65742064656c656761746f7250726f7879203d2073656c662e686f6c6465725265662e626f72726f7744656c656761746f7228290a0a202020202020202064656c656761746f7250726f78792e77697468647261775265776172646564546f6b656e7328616d6f756e743a20616d6f756e74290a202020202020202073656c662e7661756c745265662e6465706f7369742866726f6d3a203c2d73656c662e686f6c6465725265662e776974686472617728616d6f756e743a20616d6f756e7429290a202020207d0a7d0af1b07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "02385042aa453566fcff0b2bd418b837d8f46fbc23b1b46e6651b25a395bc04be8239ffa449eae5560eec3e99633dcf9c63b1e9c99996d1c5636644dceef9ec44b576974686472617720526577617264656420464c4f57000101416d6f756e7400005546697836340003", - "hash": "239ffa449eae5560eec3e99633dcf9c63b1e9c99996d1c5636644dceef9ec44b" + "encodedTransactionPayloadHex": "f90454b902fe696d706f72742043727970746f0a0a7472616e73616374696f6e286b65793a20537472696e672c207369676e6174757265416c676f726974686d3a2055496e74382c2068617368416c676f726974686d3a2055496e74382c207765696768743a2055466978363429207b0a0970726570617265287369676e65723a206175746828426f72726f7756616c75652c2053746f726167652920264163636f756e7429207b0a0909707265207b0a0909097369676e6174757265416c676f726974686d203e3d2031202626207369676e6174757265416c676f726974686d203c3d20333a20224d7573742070726f766964652061207369676e617475726520616c676f7269746d207261772076616c7565207468617420697320312c20322c206f722033220a09090968617368416c676f726974686d203e3d20312026262068617368416c676f726974686d203c3d20363a20224d7573742070726f766964652061206861736820616c676f7269746d207261772076616c75652074686174206973206265747765656e203120616e642036220a090909776569676874203c3d20313030302e303a2022546865206b657920776569676874206d757374206265206265747765656e203020616e642031303030220a09097d0a0a09096c6574207075626c69634b6579203d205075626c69634b6579280a0909097075626c69634b65793a206b65792e6465636f646548657828292c0a0909097369676e6174757265416c676f726974686d3a205369676e6174757265416c676f726974686d2872617756616c75653a207369676e6174757265416c676f726974686d29210a0909290a0a09096c6574206163636f756e74203d204163636f756e742870617965723a207369676e6572290a0a09096163636f756e742e6b6579732e616464287075626c69634b65793a207075626c69634b65792c2068617368416c676f726974686d3a2048617368416c676f726974686d2872617756616c75653a2068617368416c676f726974686d29212c207765696768743a20776569676874290a097d0a7df90110b8aa7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634227d9c7b2276616c7565223a2231222c2274797065223a2255496e7438227d9c7b2276616c7565223a2231222c2274797065223a2255496e7438227da97b2276616c7565223a22313030302e3030303030303030222c2274797065223a22554669783634227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", + "encodedTransactionEnvelopeHex": "f90458f90454b902fe696d706f72742043727970746f0a0a7472616e73616374696f6e286b65793a20537472696e672c207369676e6174757265416c676f726974686d3a2055496e74382c2068617368416c676f726974686d3a2055496e74382c207765696768743a2055466978363429207b0a0970726570617265287369676e65723a206175746828426f72726f7756616c75652c2053746f726167652920264163636f756e7429207b0a0909707265207b0a0909097369676e6174757265416c676f726974686d203e3d2031202626207369676e6174757265416c676f726974686d203c3d20333a20224d7573742070726f766964652061207369676e617475726520616c676f7269746d207261772076616c7565207468617420697320312c20322c206f722033220a09090968617368416c676f726974686d203e3d20312026262068617368416c676f726974686d203c3d20363a20224d7573742070726f766964652061206861736820616c676f7269746d207261772076616c75652074686174206973206265747765656e203120616e642036220a090909776569676874203c3d20313030302e303a2022546865206b657920776569676874206d757374206265206265747765656e203020616e642031303030220a09097d0a0a09096c6574207075626c69634b6579203d205075626c69634b6579280a0909097075626c69634b65793a206b65792e6465636f646548657828292c0a0909097369676e6174757265416c676f726974686d3a205369676e6174757265416c676f726974686d2872617756616c75653a207369676e6174757265416c676f726974686d29210a0909290a0a09096c6574206163636f756e74203d204163636f756e742870617965723a207369676e6572290a0a09096163636f756e742e6b6579732e616464287075626c69634b65793a207075626c69634b65792c2068617368416c676f726974686d3a2048617368416c676f726974686d2872617756616c75653a2068617368416c676f726974686d29212c207765696768743a20776569676874290a097d0a7df90110b8aa7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634227d9c7b2276616c7565223a2231222c2274797065223a2255496e7438227d9c7b2276616c7565223a2231222c2274797065223a2255496e7438227da97b2276616c7565223a22313030302e3030303030303030222c2274797065223a22554669783634227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", + "metadata": "0263d8b6a045bf8e6196198184db685c2cf22932503ccb2dcb85c7d2dc04c882ba63d8b6a045bf8e6196198184db685c2cf22932503ccb2dcb85c7d2dc04c882ba437265617465204163636f756e740004015075626c6963204b65790000537472696e670003015261772056616c756520666f72205369676e617475726520416c676f726974686d20456e756d000155496e74380003015261772056616c756520666f72204861736820416c676f726974686d20456e756d000255496e74380003014b65792057656967687400035546697836340003", + "hash": "63d8b6a045bf8e6196198184db685c2cf22932503ccb2dcb85c7d2dc04c882ba" }, { - "title": "TH.25 - Update Networking Address", + "title": "FA.02 - Add Key", "valid": true, "chainID": "Mainnet", "payloadMessage": { - "script": "import FlowIDTableStaking from 0x8624b52f9ddcd04a\n\ntransaction(newAddress: String) {\n\n // Local variable for a reference to the node object\n let stakerRef: &FlowIDTableStaking.NodeStaker\n\n prepare(acct: AuthAccount) {\n // borrow a reference to the node object\n self.stakerRef = acct.borrow<&FlowIDTableStaking.NodeStaker>(from: FlowIDTableStaking.NodeStakerStoragePath)\n ?? panic(\"Could not borrow reference to staking admin\")\n }\n\n execute {\n\n self.stakerRef.updateNetworkingAddress(newAddress)\n\n }\n}", + "script": "import Crypto\n\ntransaction(key: String, signatureAlgorithm: UInt8, hashAlgorithm: UInt8, weight: UFix64) {\n\n\tprepare(signer: auth(AddKey) &Account) {\n\t\tpre {\n\t\t\tsignatureAlgorithm >= 1 && signatureAlgorithm <= 3: \"Must provide a signature algoritm raw value that is 1, 2, or 3\"\n\t\t\thashAlgorithm >= 1 && hashAlgorithm <= 6: \"Must provide a hash algoritm raw value that is between 1 and 6\"\n\t\t\tweight <= 1000.0: \"The key weight must be between 0 and 1000\"\n\t\t}\n\t\tlet publicKey = PublicKey(\n\t\t\tpublicKey: key.decodeHex(),\n\t\t\tsignatureAlgorithm: SignatureAlgorithm(rawValue: signatureAlgorithm)!\n\t\t)\n\n\t\tsigner.keys.add(publicKey: publicKey, hashAlgorithm: HashAlgorithm(rawValue: hashAlgorithm)!, weight: weight)\n\t}\n}", "arguments": [ { "type": "String", - "value": "flow-node.test:3569" + "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164" + }, + { + "value": "1", + "type": "UInt8" + }, + { + "value": "1", + "type": "UInt8" + }, + { + "value": "1000.00000000", + "type": "UFix64" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -4034,11 +2346,23 @@ ] }, "envelopeMessage": { - "script": "import FlowIDTableStaking from 0x8624b52f9ddcd04a\n\ntransaction(newAddress: String) {\n\n // Local variable for a reference to the node object\n let stakerRef: &FlowIDTableStaking.NodeStaker\n\n prepare(acct: AuthAccount) {\n // borrow a reference to the node object\n self.stakerRef = acct.borrow<&FlowIDTableStaking.NodeStaker>(from: FlowIDTableStaking.NodeStakerStoragePath)\n ?? panic(\"Could not borrow reference to staking admin\")\n }\n\n execute {\n\n self.stakerRef.updateNetworkingAddress(newAddress)\n\n }\n}", + "script": "import Crypto\n\ntransaction(key: String, signatureAlgorithm: UInt8, hashAlgorithm: UInt8, weight: UFix64) {\n\n\tprepare(signer: auth(AddKey) &Account) {\n\t\tpre {\n\t\t\tsignatureAlgorithm >= 1 && signatureAlgorithm <= 3: \"Must provide a signature algoritm raw value that is 1, 2, or 3\"\n\t\t\thashAlgorithm >= 1 && hashAlgorithm <= 6: \"Must provide a hash algoritm raw value that is between 1 and 6\"\n\t\t\tweight <= 1000.0: \"The key weight must be between 0 and 1000\"\n\t\t}\n\t\tlet publicKey = PublicKey(\n\t\t\tpublicKey: key.decodeHex(),\n\t\t\tsignatureAlgorithm: SignatureAlgorithm(rawValue: signatureAlgorithm)!\n\t\t)\n\n\t\tsigner.keys.add(publicKey: publicKey, hashAlgorithm: HashAlgorithm(rawValue: hashAlgorithm)!, weight: weight)\n\t}\n}", "arguments": [ { "type": "String", - "value": "flow-node.test:3569" + "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164" + }, + { + "value": "1", + "type": "UInt8" + }, + { + "value": "1", + "type": "UInt8" + }, + { + "value": "1000.00000000", + "type": "UFix64" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -4054,65 +2378,21 @@ ], "payloadSigs": [] }, - "encodedTransactionPayloadHex": "f9029ab90226696d706f727420466c6f7749445461626c655374616b696e672066726f6d203078383632346235326639646463643034610a0a7472616e73616374696f6e286e6577416464726573733a20537472696e6729207b0a0a202020202f2f204c6f63616c207661726961626c6520666f722061207265666572656e636520746f20746865206e6f6465206f626a6563740a202020206c6574207374616b65725265663a2026466c6f7749445461626c655374616b696e672e4e6f64655374616b65720a0a202020207072657061726528616363743a20417574684163636f756e7429207b0a20202020202020202f2f20626f72726f772061207265666572656e636520746f20746865206e6f6465206f626a6563740a202020202020202073656c662e7374616b6572526566203d20616363742e626f72726f773c26466c6f7749445461626c655374616b696e672e4e6f64655374616b65723e2866726f6d3a20466c6f7749445461626c655374616b696e672e4e6f64655374616b657253746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f207374616b696e672061646d696e22290a202020207d0a0a2020202065786563757465207b0a0a202020202020202073656c662e7374616b65725265662e7570646174654e6574776f726b696e6741646472657373286e657741646472657373290a0a202020207d0a7df0af7b2274797065223a22537472696e67222c2276616c7565223a22666c6f772d6e6f64652e746573743a33353639227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f9029ef9029ab90226696d706f727420466c6f7749445461626c655374616b696e672066726f6d203078383632346235326639646463643034610a0a7472616e73616374696f6e286e6577416464726573733a20537472696e6729207b0a0a202020202f2f204c6f63616c207661726961626c6520666f722061207265666572656e636520746f20746865206e6f6465206f626a6563740a202020206c6574207374616b65725265663a2026466c6f7749445461626c655374616b696e672e4e6f64655374616b65720a0a202020207072657061726528616363743a20417574684163636f756e7429207b0a20202020202020202f2f20626f72726f772061207265666572656e636520746f20746865206e6f6465206f626a6563740a202020202020202073656c662e7374616b6572526566203d20616363742e626f72726f773c26466c6f7749445461626c655374616b696e672e4e6f64655374616b65723e2866726f6d3a20466c6f7749445461626c655374616b696e672e4e6f64655374616b657253746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f207374616b696e672061646d696e22290a202020207d0a0a2020202065786563757465207b0a0a202020202020202073656c662e7374616b65725265662e7570646174654e6574776f726b696e6741646472657373286e657741646472657373290a0a202020207d0a7df0af7b2274797065223a22537472696e67222c2276616c7565223a22666c6f772d6e6f64652e746573743a33353639227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "026cbe81c71d2b04dc403ea0db89377f0abc5db14d3d2bd014397b2776aa29bc3ee79cb076f2f7da7a3039b5061916e081a823087f1560bdf3caea773992892873557064617465204e6574776f726b696e672041646472657373000101416464726573730000537472696e670003", - "hash": "e79cb076f2f7da7a3039b5061916e081a823087f1560bdf3caea773992892873" - }, - { - "title": "SCO.01 - Setup Staking Collection", - "valid": true, - "chainID": "Mainnet", - "payloadMessage": { - "script": "import FungibleToken from 0xf233dcee88fe0abe\nimport FlowToken from 0x1654653399040a61\nimport FlowIDTableStaking from 0x8624b52f9ddcd04a\nimport LockedTokens from 0x8d0e87b65159ae63\nimport FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// This transaction sets up an account to use a staking collection\n/// It will work regardless of whether they have a regular account, a two-account locked tokens setup,\n/// or staking objects stored in the unlocked account\n\ntransaction {\n prepare(signer: AuthAccount) {\n\n // If there isn't already a staking collection\n if signer.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath) == nil {\n\n // Create private capabilities for the token holder and unlocked vault\n let lockedHolder = signer.link<&LockedTokens.TokenHolder>(/private/flowTokenHolder, target: LockedTokens.TokenHolderStoragePath)!\n let flowToken = signer.link<&FlowToken.Vault>(/private/flowTokenVault, target: /storage/flowTokenVault)!\n \n // Create a new Staking Collection and put it in storage\n if lockedHolder.check() {\n signer.save(<-FlowStakingCollection.createStakingCollection(unlockedVault: flowToken, tokenHolder: lockedHolder), to: FlowStakingCollection.StakingCollectionStoragePath)\n } else {\n signer.save(<-FlowStakingCollection.createStakingCollection(unlockedVault: flowToken, tokenHolder: nil), to: FlowStakingCollection.StakingCollectionStoragePath)\n }\n\n // Create a public link to the staking collection\n signer.link<&FlowStakingCollection.StakingCollection{FlowStakingCollection.StakingCollectionPublic}>(\n FlowStakingCollection.StakingCollectionPublicPath,\n target: FlowStakingCollection.StakingCollectionStoragePath\n )\n }\n\n // borrow a reference to the staking collection\n let collectionRef = signer.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow staking collection reference\")\n\n // If there is a node staker object in the account, put it in the staking collection\n if signer.borrow<&FlowIDTableStaking.NodeStaker>(from: FlowIDTableStaking.NodeStakerStoragePath) != nil {\n let node <- signer.load<@FlowIDTableStaking.NodeStaker>(from: FlowIDTableStaking.NodeStakerStoragePath)!\n collectionRef.addNodeObject(<-node, machineAccountInfo: nil)\n }\n\n // If there is a delegator object in the account, put it in the staking collection\n if signer.borrow<&FlowIDTableStaking.NodeDelegator>(from: FlowIDTableStaking.DelegatorStoragePath) != nil {\n let delegator <- signer.load<@FlowIDTableStaking.NodeDelegator>(from: FlowIDTableStaking.DelegatorStoragePath)!\n collectionRef.addDelegatorObject(<-delegator)\n }\n }\n}\n", - "arguments": [], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ] - }, - "envelopeMessage": { - "script": "import FungibleToken from 0xf233dcee88fe0abe\nimport FlowToken from 0x1654653399040a61\nimport FlowIDTableStaking from 0x8624b52f9ddcd04a\nimport LockedTokens from 0x8d0e87b65159ae63\nimport FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// This transaction sets up an account to use a staking collection\n/// It will work regardless of whether they have a regular account, a two-account locked tokens setup,\n/// or staking objects stored in the unlocked account\n\ntransaction {\n prepare(signer: AuthAccount) {\n\n // If there isn't already a staking collection\n if signer.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath) == nil {\n\n // Create private capabilities for the token holder and unlocked vault\n let lockedHolder = signer.link<&LockedTokens.TokenHolder>(/private/flowTokenHolder, target: LockedTokens.TokenHolderStoragePath)!\n let flowToken = signer.link<&FlowToken.Vault>(/private/flowTokenVault, target: /storage/flowTokenVault)!\n \n // Create a new Staking Collection and put it in storage\n if lockedHolder.check() {\n signer.save(<-FlowStakingCollection.createStakingCollection(unlockedVault: flowToken, tokenHolder: lockedHolder), to: FlowStakingCollection.StakingCollectionStoragePath)\n } else {\n signer.save(<-FlowStakingCollection.createStakingCollection(unlockedVault: flowToken, tokenHolder: nil), to: FlowStakingCollection.StakingCollectionStoragePath)\n }\n\n // Create a public link to the staking collection\n signer.link<&FlowStakingCollection.StakingCollection{FlowStakingCollection.StakingCollectionPublic}>(\n FlowStakingCollection.StakingCollectionPublicPath,\n target: FlowStakingCollection.StakingCollectionStoragePath\n )\n }\n\n // borrow a reference to the staking collection\n let collectionRef = signer.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow staking collection reference\")\n\n // If there is a node staker object in the account, put it in the staking collection\n if signer.borrow<&FlowIDTableStaking.NodeStaker>(from: FlowIDTableStaking.NodeStakerStoragePath) != nil {\n let node <- signer.load<@FlowIDTableStaking.NodeStaker>(from: FlowIDTableStaking.NodeStakerStoragePath)!\n collectionRef.addNodeObject(<-node, machineAccountInfo: nil)\n }\n\n // If there is a delegator object in the account, put it in the staking collection\n if signer.borrow<&FlowIDTableStaking.NodeDelegator>(from: FlowIDTableStaking.DelegatorStoragePath) != nil {\n let delegator <- signer.load<@FlowIDTableStaking.NodeDelegator>(from: FlowIDTableStaking.DelegatorStoragePath)!\n collectionRef.addDelegatorObject(<-delegator)\n }\n }\n}\n", - "arguments": [], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f90bf0b90bac696d706f72742046756e6769626c65546f6b656e2066726f6d203078663233336463656538386665306162650a696d706f727420466c6f77546f6b656e2066726f6d203078313635343635333339393034306136310a696d706f727420466c6f7749445461626c655374616b696e672066726f6d203078383632346235326639646463643034610a696d706f7274204c6f636b6564546f6b656e732066726f6d203078386430653837623635313539616536330a696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f2054686973207472616e73616374696f6e207365747320757020616e206163636f756e7420746f207573652061207374616b696e6720636f6c6c656374696f6e0a2f2f2f2049742077696c6c20776f726b207265676172646c657373206f66207768657468657220746865792068617665206120726567756c6172206163636f756e742c20612074776f2d6163636f756e74206c6f636b656420746f6b656e732073657475702c0a2f2f2f206f72207374616b696e67206f626a656374732073746f72656420696e2074686520756e6c6f636b6564206163636f756e740a0a7472616e73616374696f6e207b0a2020202070726570617265287369676e65723a20417574684163636f756e7429207b0a0a20202020202020202f2f2049662074686572652069736e277420616c72656164792061207374616b696e6720636f6c6c656374696f6e0a20202020202020206966207369676e65722e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f726167655061746829203d3d206e696c207b0a0a2020202020202020202020202f2f204372656174652070726976617465206361706162696c697469657320666f722074686520746f6b656e20686f6c64657220616e6420756e6c6f636b6564207661756c740a2020202020202020202020206c6574206c6f636b6564486f6c646572203d207369676e65722e6c696e6b3c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e282f707269766174652f666c6f77546f6b656e486f6c6465722c207461726765743a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f726167655061746829210a2020202020202020202020206c657420666c6f77546f6b656e203d207369676e65722e6c696e6b3c26466c6f77546f6b656e2e5661756c743e282f707269766174652f666c6f77546f6b656e5661756c742c207461726765743a202f73746f726167652f666c6f77546f6b656e5661756c7429210a2020202020202020202020200a2020202020202020202020202f2f204372656174652061206e6577205374616b696e6720436f6c6c656374696f6e20616e642070757420697420696e2073746f726167650a2020202020202020202020206966206c6f636b6564486f6c6465722e636865636b2829207b0a202020202020202020202020202020207369676e65722e73617665283c2d466c6f775374616b696e67436f6c6c656374696f6e2e6372656174655374616b696e67436f6c6c656374696f6e28756e6c6f636b65645661756c743a20666c6f77546f6b656e2c20746f6b656e486f6c6465723a206c6f636b6564486f6c646572292c20746f3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020207d20656c7365207b0a202020202020202020202020202020207369676e65722e73617665283c2d466c6f775374616b696e67436f6c6c656374696f6e2e6372656174655374616b696e67436f6c6c656374696f6e28756e6c6f636b65645661756c743a20666c6f77546f6b656e2c20746f6b656e486f6c6465723a206e696c292c20746f3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020207d0a0a2020202020202020202020202f2f204372656174652061207075626c6963206c696e6b20746f20746865207374616b696e6720636f6c6c656374696f6e0a2020202020202020202020207369676e65722e6c696e6b3c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e7b466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e5075626c69637d3e280a20202020202020202020202020202020466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e5075626c6963506174682c0a202020202020202020202020202020207461726765743a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f72616765506174680a202020202020202020202020290a20202020202020207d0a0a20202020202020202f2f20626f72726f772061207265666572656e636520746f20746865207374616b696e6720636f6c6c656374696f6e0a20202020202020206c657420636f6c6c656374696f6e526566203d207369676e65722e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207374616b696e6720636f6c6c656374696f6e207265666572656e636522290a0a20202020202020202f2f2049662074686572652069732061206e6f6465207374616b6572206f626a65637420696e20746865206163636f756e742c2070757420697420696e20746865207374616b696e6720636f6c6c656374696f6e0a20202020202020206966207369676e65722e626f72726f773c26466c6f7749445461626c655374616b696e672e4e6f64655374616b65723e2866726f6d3a20466c6f7749445461626c655374616b696e672e4e6f64655374616b657253746f72616765506174682920213d206e696c207b0a2020202020202020202020206c6574206e6f6465203c2d207369676e65722e6c6f61643c40466c6f7749445461626c655374616b696e672e4e6f64655374616b65723e2866726f6d3a20466c6f7749445461626c655374616b696e672e4e6f64655374616b657253746f726167655061746829210a202020202020202020202020636f6c6c656374696f6e5265662e6164644e6f64654f626a656374283c2d6e6f64652c206d616368696e654163636f756e74496e666f3a206e696c290a20202020202020207d0a0a20202020202020202f2f20496620746865726520697320612064656c656761746f72206f626a65637420696e20746865206163636f756e742c2070757420697420696e20746865207374616b696e6720636f6c6c656374696f6e0a20202020202020206966207369676e65722e626f72726f773c26466c6f7749445461626c655374616b696e672e4e6f646544656c656761746f723e2866726f6d3a20466c6f7749445461626c655374616b696e672e44656c656761746f7253746f72616765506174682920213d206e696c207b0a2020202020202020202020206c65742064656c656761746f72203c2d207369676e65722e6c6f61643c40466c6f7749445461626c655374616b696e672e4e6f646544656c656761746f723e2866726f6d3a20466c6f7749445461626c655374616b696e672e44656c656761746f7253746f726167655061746829210a202020202020202020202020636f6c6c656374696f6e5265662e61646444656c656761746f724f626a656374283c2d64656c656761746f72290a20202020202020207d0a202020207d0a7d0ac0a0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f90bf4f90bf0b90bac696d706f72742046756e6769626c65546f6b656e2066726f6d203078663233336463656538386665306162650a696d706f727420466c6f77546f6b656e2066726f6d203078313635343635333339393034306136310a696d706f727420466c6f7749445461626c655374616b696e672066726f6d203078383632346235326639646463643034610a696d706f7274204c6f636b6564546f6b656e732066726f6d203078386430653837623635313539616536330a696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f2054686973207472616e73616374696f6e207365747320757020616e206163636f756e7420746f207573652061207374616b696e6720636f6c6c656374696f6e0a2f2f2f2049742077696c6c20776f726b207265676172646c657373206f66207768657468657220746865792068617665206120726567756c6172206163636f756e742c20612074776f2d6163636f756e74206c6f636b656420746f6b656e732073657475702c0a2f2f2f206f72207374616b696e67206f626a656374732073746f72656420696e2074686520756e6c6f636b6564206163636f756e740a0a7472616e73616374696f6e207b0a2020202070726570617265287369676e65723a20417574684163636f756e7429207b0a0a20202020202020202f2f2049662074686572652069736e277420616c72656164792061207374616b696e6720636f6c6c656374696f6e0a20202020202020206966207369676e65722e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f726167655061746829203d3d206e696c207b0a0a2020202020202020202020202f2f204372656174652070726976617465206361706162696c697469657320666f722074686520746f6b656e20686f6c64657220616e6420756e6c6f636b6564207661756c740a2020202020202020202020206c6574206c6f636b6564486f6c646572203d207369676e65722e6c696e6b3c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e282f707269766174652f666c6f77546f6b656e486f6c6465722c207461726765743a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f726167655061746829210a2020202020202020202020206c657420666c6f77546f6b656e203d207369676e65722e6c696e6b3c26466c6f77546f6b656e2e5661756c743e282f707269766174652f666c6f77546f6b656e5661756c742c207461726765743a202f73746f726167652f666c6f77546f6b656e5661756c7429210a2020202020202020202020200a2020202020202020202020202f2f204372656174652061206e6577205374616b696e6720436f6c6c656374696f6e20616e642070757420697420696e2073746f726167650a2020202020202020202020206966206c6f636b6564486f6c6465722e636865636b2829207b0a202020202020202020202020202020207369676e65722e73617665283c2d466c6f775374616b696e67436f6c6c656374696f6e2e6372656174655374616b696e67436f6c6c656374696f6e28756e6c6f636b65645661756c743a20666c6f77546f6b656e2c20746f6b656e486f6c6465723a206c6f636b6564486f6c646572292c20746f3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020207d20656c7365207b0a202020202020202020202020202020207369676e65722e73617665283c2d466c6f775374616b696e67436f6c6c656374696f6e2e6372656174655374616b696e67436f6c6c656374696f6e28756e6c6f636b65645661756c743a20666c6f77546f6b656e2c20746f6b656e486f6c6465723a206e696c292c20746f3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020207d0a0a2020202020202020202020202f2f204372656174652061207075626c6963206c696e6b20746f20746865207374616b696e6720636f6c6c656374696f6e0a2020202020202020202020207369676e65722e6c696e6b3c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e7b466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e5075626c69637d3e280a20202020202020202020202020202020466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e5075626c6963506174682c0a202020202020202020202020202020207461726765743a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f72616765506174680a202020202020202020202020290a20202020202020207d0a0a20202020202020202f2f20626f72726f772061207265666572656e636520746f20746865207374616b696e6720636f6c6c656374696f6e0a20202020202020206c657420636f6c6c656374696f6e526566203d207369676e65722e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207374616b696e6720636f6c6c656374696f6e207265666572656e636522290a0a20202020202020202f2f2049662074686572652069732061206e6f6465207374616b6572206f626a65637420696e20746865206163636f756e742c2070757420697420696e20746865207374616b696e6720636f6c6c656374696f6e0a20202020202020206966207369676e65722e626f72726f773c26466c6f7749445461626c655374616b696e672e4e6f64655374616b65723e2866726f6d3a20466c6f7749445461626c655374616b696e672e4e6f64655374616b657253746f72616765506174682920213d206e696c207b0a2020202020202020202020206c6574206e6f6465203c2d207369676e65722e6c6f61643c40466c6f7749445461626c655374616b696e672e4e6f64655374616b65723e2866726f6d3a20466c6f7749445461626c655374616b696e672e4e6f64655374616b657253746f726167655061746829210a202020202020202020202020636f6c6c656374696f6e5265662e6164644e6f64654f626a656374283c2d6e6f64652c206d616368696e654163636f756e74496e666f3a206e696c290a20202020202020207d0a0a20202020202020202f2f20496620746865726520697320612064656c656761746f72206f626a65637420696e20746865206163636f756e742c2070757420697420696e20746865207374616b696e6720636f6c6c656374696f6e0a20202020202020206966207369676e65722e626f72726f773c26466c6f7749445461626c655374616b696e672e4e6f646544656c656761746f723e2866726f6d3a20466c6f7749445461626c655374616b696e672e44656c656761746f7253746f72616765506174682920213d206e696c207b0a2020202020202020202020206c65742064656c656761746f72203c2d207369676e65722e6c6f61643c40466c6f7749445461626c655374616b696e672e4e6f646544656c656761746f723e2866726f6d3a20466c6f7749445461626c655374616b696e672e44656c656761746f7253746f726167655061746829210a202020202020202020202020636f6c6c656374696f6e5265662e61646444656c656761746f724f626a656374283c2d64656c656761746f72290a20202020202020207d0a202020207d0a7d0ac0a0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "02a524b4094fcaf1051dbf43ac33ff80bb2f553670c58eeeb719757972a25d6b500e5c2445c0b1016eed4f60c429f233aa0bb223a0d9ff2aedffce00a58037a2bf5365747570205374616b696e6720436f6c6c656374696f6e0000", - "hash": "0e5c2445c0b1016eed4f60c429f233aa0bb223a0d9ff2aedffce00a58037a2bf" + "encodedTransactionPayloadHex": "f9041db902c7696d706f72742043727970746f0a0a7472616e73616374696f6e286b65793a20537472696e672c207369676e6174757265416c676f726974686d3a2055496e74382c2068617368416c676f726974686d3a2055496e74382c207765696768743a2055466978363429207b0a0a0970726570617265287369676e65723a2061757468284164644b65792920264163636f756e7429207b0a0909707265207b0a0909097369676e6174757265416c676f726974686d203e3d2031202626207369676e6174757265416c676f726974686d203c3d20333a20224d7573742070726f766964652061207369676e617475726520616c676f7269746d207261772076616c7565207468617420697320312c20322c206f722033220a09090968617368416c676f726974686d203e3d20312026262068617368416c676f726974686d203c3d20363a20224d7573742070726f766964652061206861736820616c676f7269746d207261772076616c75652074686174206973206265747765656e203120616e642036220a090909776569676874203c3d20313030302e303a2022546865206b657920776569676874206d757374206265206265747765656e203020616e642031303030220a09097d0a09096c6574207075626c69634b6579203d205075626c69634b6579280a0909097075626c69634b65793a206b65792e6465636f646548657828292c0a0909097369676e6174757265416c676f726974686d3a205369676e6174757265416c676f726974686d2872617756616c75653a207369676e6174757265416c676f726974686d29210a0909290a0a09097369676e65722e6b6579732e616464287075626c69634b65793a207075626c69634b65792c2068617368416c676f726974686d3a2048617368416c676f726974686d2872617756616c75653a2068617368416c676f726974686d29212c207765696768743a20776569676874290a097d0a7df90110b8aa7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634227d9c7b2276616c7565223a2231222c2274797065223a2255496e7438227d9c7b2276616c7565223a2231222c2274797065223a2255496e7438227da97b2276616c7565223a22313030302e3030303030303030222c2274797065223a22554669783634227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", + "encodedTransactionEnvelopeHex": "f90421f9041db902c7696d706f72742043727970746f0a0a7472616e73616374696f6e286b65793a20537472696e672c207369676e6174757265416c676f726974686d3a2055496e74382c2068617368416c676f726974686d3a2055496e74382c207765696768743a2055466978363429207b0a0a0970726570617265287369676e65723a2061757468284164644b65792920264163636f756e7429207b0a0909707265207b0a0909097369676e6174757265416c676f726974686d203e3d2031202626207369676e6174757265416c676f726974686d203c3d20333a20224d7573742070726f766964652061207369676e617475726520616c676f7269746d207261772076616c7565207468617420697320312c20322c206f722033220a09090968617368416c676f726974686d203e3d20312026262068617368416c676f726974686d203c3d20363a20224d7573742070726f766964652061206861736820616c676f7269746d207261772076616c75652074686174206973206265747765656e203120616e642036220a090909776569676874203c3d20313030302e303a2022546865206b657920776569676874206d757374206265206265747765656e203020616e642031303030220a09097d0a09096c6574207075626c69634b6579203d205075626c69634b6579280a0909097075626c69634b65793a206b65792e6465636f646548657828292c0a0909097369676e6174757265416c676f726974686d3a205369676e6174757265416c676f726974686d2872617756616c75653a207369676e6174757265416c676f726974686d29210a0909290a0a09097369676e65722e6b6579732e616464287075626c69634b65793a207075626c69634b65792c2068617368416c676f726974686d3a2048617368416c676f726974686d2872617756616c75653a2068617368416c676f726974686d29212c207765696768743a20776569676874290a097d0a7df90110b8aa7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634227d9c7b2276616c7565223a2231222c2274797065223a2255496e7438227d9c7b2276616c7565223a2231222c2274797065223a2255496e7438227da97b2276616c7565223a22313030302e3030303030303030222c2274797065223a22554669783634227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", + "metadata": "0221d4e87df171ccbe015efe69dc2ffd24814c5fc0f2e364daf5c80515ce4a8bd921d4e87df171ccbe015efe69dc2ffd24814c5fc0f2e364daf5c80515ce4a8bd9416464204b65790004015075626c6963204b65790000537472696e670003015261772056616c756520666f72205369676e617475726520416c676f726974686d20456e756d000155496e74380003015261772056616c756520666f72204861736820416c676f726974686d20456e756d000255496e74380003014b65792057656967687400035546697836340003", + "hash": "21d4e87df171ccbe015efe69dc2ffd24814c5fc0f2e364daf5c80515ce4a8bd9" }, { - "title": "SCO.02 - Register Delegator", + "title": "FA.03 - Remove Key", "valid": true, "chainID": "Mainnet", "payloadMessage": { - "script": "import FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// Registers a delegator in the staking collection resource\n/// for the specified nodeID and the amount of tokens to commit\n\ntransaction(id: String, amount: UFix64) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n }\n\n execute {\n self.stakingCollectionRef.registerDelegator(nodeID: id, amount: amount) \n }\n}\n", + "script": "transaction(keyIndex: Int) {\n\tprepare(signer: auth(RevokeKey) &Account) {\n\t\tif let key = signer.keys.get(keyIndex: keyIndex) {\n\t\t\tsigner.keys.revoke(keyIndex: keyIndex)\n\t\t} else {\n\t\t\tpanic(\"No key with the given index exists on the authorizer's account\")\n\t\t}\n\t}\n}", "arguments": [ { - "type": "String", - "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" - }, - { - "type": "UFix64", - "value": "92233720368.54775808" + "type": "Int", + "value": "1" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -4128,15 +2408,11 @@ ] }, "envelopeMessage": { - "script": "import FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// Registers a delegator in the staking collection resource\n/// for the specified nodeID and the amount of tokens to commit\n\ntransaction(id: String, amount: UFix64) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n }\n\n execute {\n self.stakingCollectionRef.registerDelegator(nodeID: id, amount: amount) \n }\n}\n", + "script": "transaction(keyIndex: Int) {\n\tprepare(signer: auth(RevokeKey) &Account) {\n\t\tif let key = signer.keys.get(keyIndex: keyIndex) {\n\t\t\tsigner.keys.revoke(keyIndex: keyIndex)\n\t\t} else {\n\t\t\tpanic(\"No key with the given index exists on the authorizer's account\")\n\t\t}\n\t}\n}", "arguments": [ { - "type": "String", - "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" - }, - { - "type": "UFix64", - "value": "92233720368.54775808" + "type": "Int", + "value": "1" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -4152,25 +2428,25 @@ ], "payloadSigs": [] }, - "encodedTransactionPayloadHex": "f9036fb9029b696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f2052656769737465727320612064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e207265736f757263650a2f2f2f20666f722074686520737065636966696564206e6f6465494420616e642074686520616d6f756e74206f6620746f6b656e7320746f20636f6d6d69740a0a7472616e73616374696f6e2869643a20537472696e672c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e726567697374657244656c656761746f72286e6f646549443a2069642c20616d6f756e743a20616d6f756e74292020202020200a202020207d0a7d0af88fb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f90373f9036fb9029b696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f2052656769737465727320612064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e207265736f757263650a2f2f2f20666f722074686520737065636966696564206e6f6465494420616e642074686520616d6f756e74206f6620746f6b656e7320746f20636f6d6d69740a0a7472616e73616374696f6e2869643a20537472696e672c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e726567697374657244656c656761746f72286e6f646549443a2069642c20616d6f756e743a20616d6f756e74292020202020200a202020207d0a7d0af88fb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "02c26f69a33ead535e7d597cec4567c6c70170e86fd85ec708f5381e50d43871e2c5636d510872a16eb06996dacb43d6a28f8f72ff1b05b2eb03416cc711d9bb1f52656769737465722044656c656761746f720002014e6f64652049440000537472696e67000301416d6f756e7400015546697836340003", - "hash": "c5636d510872a16eb06996dacb43d6a28f8f72ff1b05b2eb03416cc711d9bb1f" + "encodedTransactionPayloadHex": "f90166b901077472616e73616374696f6e286b6579496e6465783a20496e7429207b0a0970726570617265287369676e65723a2061757468285265766f6b654b65792920264163636f756e7429207b0a09096966206c6574206b6579203d207369676e65722e6b6579732e676574286b6579496e6465783a206b6579496e64657829207b0a0909097369676e65722e6b6579732e7265766f6b65286b6579496e6465783a206b6579496e646578290a09097d20656c7365207b0a09090970616e696328224e6f206b657920776974682074686520676976656e20696e64657820657869737473206f6e2074686520617574686f72697a65722773206163636f756e7422290a09097d0a097d0a7ddb9a7b2274797065223a22496e74222c2276616c7565223a2231227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", + "encodedTransactionEnvelopeHex": "f9016af90166b901077472616e73616374696f6e286b6579496e6465783a20496e7429207b0a0970726570617265287369676e65723a2061757468285265766f6b654b65792920264163636f756e7429207b0a09096966206c6574206b6579203d207369676e65722e6b6579732e676574286b6579496e6465783a206b6579496e64657829207b0a0909097369676e65722e6b6579732e7265766f6b65286b6579496e6465783a206b6579496e646578290a09097d20656c7365207b0a09090970616e696328224e6f206b657920776974682074686520676976656e20696e64657820657869737473206f6e2074686520617574686f72697a65722773206163636f756e7422290a09097d0a097d0a7ddb9a7b2274797065223a22496e74222c2276616c7565223a2231227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", + "metadata": "026c7ab72837fdce77a910f6fc0c622c6c4d5b17f6fbf7295f345d50d3508dd5156c7ab72837fdce77a910f6fc0c622c6c4d5b17f6fbf7295f345d50d3508dd51552656d6f7665204b65790001014b657920496e6465780000496e740003", + "hash": "6c7ab72837fdce77a910f6fc0c622c6c4d5b17f6fbf7295f345d50d3508dd515" }, { - "title": "SCO.04 - Create Machine Account - 1", + "title": "FT.01 - Setup Fungible Token Vault", "valid": true, "chainID": "Mainnet", "payloadMessage": { - "script": "import FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// Creates a machine account for a node that is already in the staking collection\n/// and adds public keys to the new account\n\ntransaction(nodeID: String, publicKeys: [String]) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n\n if let machineAccount = self.stakingCollectionRef.createMachineAccountForExistingNode(nodeID: nodeID, payer: account) {\n if publicKeys == nil || publicKeys!.length == 0 {\n panic(\"Cannot provide zero keys for the machine account\")\n }\n for key in publicKeys! {\n machineAccount.addPublicKey(key.decodeHex())\n }\n } else {\n panic(\"Could not create a machine account for the node\")\n }\n }\n}\n", + "script": "import FungibleToken from 0xf233dcee88fe0abe\nimport FungibleTokenMetadataViews from 0xf233dcee88fe0abe\n\n/// This transaction is what an account would run\n/// to set itself up to manage fungible tokens. This function\n/// uses views to know where to set up the vault\n/// in storage and to create the empty vault.\n\ntransaction(contractAddress: Address, contractName: String) {\n\n prepare(signer: auth(SaveValue, Capabilities) &Account) {\n // Borrow a reference to the vault stored on the passed account at the passed publicPath\n let resolverRef = getAccount(contractAddress)\n .contracts.borrow<&{FungibleToken}>(name: contractName)\n ?? panic(\"Could not borrow a reference to the fungible token contract\")\n\n // Use that reference to retrieve the FTView \n let ftVaultData = resolverRef.resolveContractView(resourceType: nil, viewType: Type()) as! FungibleTokenMetadataViews.FTVaultData?\n ?? panic(\"Could not resolve the FTVaultData view for the given Fungible token contract\")\n\n // Create a new empty vault using the createEmptyVault function inside the FTVaultData\n let emptyVault <-ftVaultData.createEmptyVault()\n\n // Save it to the account\n signer.storage.save(<-emptyVault, to: ftVaultData.storagePath)\n \n // Create a public capability for the vault which includes the .Resolver interface\n let vaultCap = signer.capabilities.storage.issue<&{FungibleToken.Vault}>(ftVaultData.storagePath)\n signer.capabilities.publish(vaultCap, at: ftVaultData.metadataPath)\n\n // Create a public capability for the vault exposing the receiver interface\n let receiverCap = signer.capabilities.storage.issue<&{FungibleToken.Receiver}>(ftVaultData.storagePath)\n signer.capabilities.publish(receiverCap, at: ftVaultData.receiverPath)\n\n }\n}\n ", "arguments": [ { - "type": "String", - "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" + "type": "Address", + "value": "0xe467b9dd11fa00df" }, { - "type": "Array", - "value": [] + "value": "FiatToken", + "type": "String" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -4186,15 +2462,15 @@ ] }, "envelopeMessage": { - "script": "import FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// Creates a machine account for a node that is already in the staking collection\n/// and adds public keys to the new account\n\ntransaction(nodeID: String, publicKeys: [String]) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n\n if let machineAccount = self.stakingCollectionRef.createMachineAccountForExistingNode(nodeID: nodeID, payer: account) {\n if publicKeys == nil || publicKeys!.length == 0 {\n panic(\"Cannot provide zero keys for the machine account\")\n }\n for key in publicKeys! {\n machineAccount.addPublicKey(key.decodeHex())\n }\n } else {\n panic(\"Could not create a machine account for the node\")\n }\n }\n}\n", + "script": "import FungibleToken from 0xf233dcee88fe0abe\nimport FungibleTokenMetadataViews from 0xf233dcee88fe0abe\n\n/// This transaction is what an account would run\n/// to set itself up to manage fungible tokens. This function\n/// uses views to know where to set up the vault\n/// in storage and to create the empty vault.\n\ntransaction(contractAddress: Address, contractName: String) {\n\n prepare(signer: auth(SaveValue, Capabilities) &Account) {\n // Borrow a reference to the vault stored on the passed account at the passed publicPath\n let resolverRef = getAccount(contractAddress)\n .contracts.borrow<&{FungibleToken}>(name: contractName)\n ?? panic(\"Could not borrow a reference to the fungible token contract\")\n\n // Use that reference to retrieve the FTView \n let ftVaultData = resolverRef.resolveContractView(resourceType: nil, viewType: Type()) as! FungibleTokenMetadataViews.FTVaultData?\n ?? panic(\"Could not resolve the FTVaultData view for the given Fungible token contract\")\n\n // Create a new empty vault using the createEmptyVault function inside the FTVaultData\n let emptyVault <-ftVaultData.createEmptyVault()\n\n // Save it to the account\n signer.storage.save(<-emptyVault, to: ftVaultData.storagePath)\n \n // Create a public capability for the vault which includes the .Resolver interface\n let vaultCap = signer.capabilities.storage.issue<&{FungibleToken.Vault}>(ftVaultData.storagePath)\n signer.capabilities.publish(vaultCap, at: ftVaultData.metadataPath)\n\n // Create a public capability for the vault exposing the receiver interface\n let receiverCap = signer.capabilities.storage.issue<&{FungibleToken.Receiver}>(ftVaultData.storagePath)\n signer.capabilities.publish(receiverCap, at: ftVaultData.receiverPath)\n\n }\n}\n ", "arguments": [ { - "type": "String", - "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" + "type": "Address", + "value": "0xe467b9dd11fa00df" }, { - "type": "Array", - "value": [] + "value": "FiatToken", + "type": "String" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -4210,30 +2486,33 @@ ], "payloadSigs": [] }, - "encodedTransactionPayloadHex": "f904e2b90423696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f20437265617465732061206d616368696e65206163636f756e7420666f722061206e6f6465207468617420697320616c726561647920696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f20616e642061646473207075626c6963206b65797320746f20746865206e6577206163636f756e740a0a7472616e73616374696f6e286e6f646549443a20537472696e672c207075626c69634b6579733a205b537472696e675d29207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a0a20202020202020206966206c6574206d616368696e654163636f756e74203d2073656c662e7374616b696e67436f6c6c656374696f6e5265662e6372656174654d616368696e654163636f756e74466f724578697374696e674e6f6465286e6f646549443a206e6f646549442c2070617965723a206163636f756e7429207b0a2020202020202020202020206966207075626c69634b657973203d3d206e696c207c7c207075626c69634b657973212e6c656e677468203d3d2030207b0a2020202020202020202020202020202070616e6963282243616e6e6f742070726f76696465207a65726f206b65797320666f7220746865206d616368696e65206163636f756e7422290a2020202020202020202020207d0a202020202020202020202020666f72206b657920696e207075626c69634b65797321207b0a202020202020202020202020202020206d616368696e654163636f756e742e6164645075626c69634b6579286b65792e6465636f64654865782829290a2020202020202020202020207d0a20202020202020207d20656c7365207b0a20202020202020202020202070616e69632822436f756c64206e6f74206372656174652061206d616368696e65206163636f756e7420666f7220746865206e6f646522290a20202020202020207d0a202020207d0a7d0af87ab85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227d9b7b2274797065223a224172726179222c2276616c7565223a5b5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f904e6f904e2b90423696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f20437265617465732061206d616368696e65206163636f756e7420666f722061206e6f6465207468617420697320616c726561647920696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f20616e642061646473207075626c6963206b65797320746f20746865206e6577206163636f756e740a0a7472616e73616374696f6e286e6f646549443a20537472696e672c207075626c69634b6579733a205b537472696e675d29207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a0a20202020202020206966206c6574206d616368696e654163636f756e74203d2073656c662e7374616b696e67436f6c6c656374696f6e5265662e6372656174654d616368696e654163636f756e74466f724578697374696e674e6f6465286e6f646549443a206e6f646549442c2070617965723a206163636f756e7429207b0a2020202020202020202020206966207075626c69634b657973203d3d206e696c207c7c207075626c69634b657973212e6c656e677468203d3d2030207b0a2020202020202020202020202020202070616e6963282243616e6e6f742070726f76696465207a65726f206b65797320666f7220746865206d616368696e65206163636f756e7422290a2020202020202020202020207d0a202020202020202020202020666f72206b657920696e207075626c69634b65797321207b0a202020202020202020202020202020206d616368696e654163636f756e742e6164645075626c69634b6579286b65792e6465636f64654865782829290a2020202020202020202020207d0a20202020202020207d20656c7365207b0a20202020202020202020202070616e69632822436f756c64206e6f74206372656174652061206d616368696e65206163636f756e7420666f7220746865206e6f646522290a20202020202020207d0a202020207d0a7d0af87ab85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227d9b7b2274797065223a224172726179222c2276616c7565223a5b5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "02e79df145af42488e3da1d1b2e50a38a2084229896d670884f278a2119dc3bf9ec2442b498eea025099815ea613d6407407192dc12ad70e1a4f47936db804a841437265617465204d616368696e65204163636f756e740002014e6f64652049440000537472696e6700030300035075622e204b65790001537472696e670003", - "hash": "c2442b498eea025099815ea613d6407407192dc12ad70e1a4f47936db804a841" + "encodedTransactionPayloadHex": "f90808b9076d696d706f72742046756e6769626c65546f6b656e2066726f6d203078663233336463656538386665306162650a696d706f72742046756e6769626c65546f6b656e4d6574616461746156696577732066726f6d203078663233336463656538386665306162650a0a2f2f2f2054686973207472616e73616374696f6e206973207768617420616e206163636f756e7420776f756c642072756e0a2f2f2f20746f2073657420697473656c6620757020746f206d616e6167652066756e6769626c6520746f6b656e732e20546869732066756e6374696f6e0a2f2f2f207573657320766965777320746f206b6e6f7720776865726520746f2073657420757020746865207661756c740a2f2f2f20696e2073746f7261676520616e6420746f206372656174652074686520656d707479207661756c742e0a0a7472616e73616374696f6e28636f6e7472616374416464726573733a20416464726573732c20636f6e74726163744e616d653a20537472696e6729207b0a0a2020202070726570617265287369676e65723a2061757468285361766556616c75652c204361706162696c69746965732920264163636f756e7429207b0a20202020202020202f2f20426f72726f772061207265666572656e636520746f20746865207661756c742073746f726564206f6e2074686520706173736564206163636f756e742061742074686520706173736564207075626c6963506174680a20202020202020206c6574207265736f6c766572526566203d206765744163636f756e7428636f6e747261637441646472657373290a2020202020202020202020202e636f6e7472616374732e626f72726f773c267b46756e6769626c65546f6b656e7d3e286e616d653a20636f6e74726163744e616d65290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f207468652066756e6769626c6520746f6b656e20636f6e747261637422290a0a20202020202020202f2f205573652074686174207265666572656e636520746f2072657472696576652074686520465456696577200a20202020202020206c65742066745661756c7444617461203d207265736f6c7665725265662e7265736f6c7665436f6e747261637456696577287265736f75726365547970653a206e696c2c2076696577547970653a20547970653c46756e6769626c65546f6b656e4d6574616461746156696577732e46545661756c74446174613e282929206173212046756e6769626c65546f6b656e4d6574616461746156696577732e46545661756c74446174613f0a2020202020202020202020203f3f2070616e69632822436f756c64206e6f74207265736f6c7665207468652046545661756c7444617461207669657720666f722074686520676976656e2046756e6769626c6520746f6b656e20636f6e747261637422290a0a20202020202020202f2f204372656174652061206e657720656d707479207661756c74207573696e672074686520637265617465456d7074795661756c742066756e6374696f6e20696e73696465207468652046545661756c74446174610a20202020202020206c657420656d7074795661756c74203c2d66745661756c74446174612e637265617465456d7074795661756c7428290a0a20202020202020202f2f205361766520697420746f20746865206163636f756e740a20202020202020207369676e65722e73746f726167652e73617665283c2d656d7074795661756c742c20746f3a2066745661756c74446174612e73746f7261676550617468290a20202020202020200a20202020202020202f2f204372656174652061207075626c6963206361706162696c69747920666f7220746865207661756c7420776869636820696e636c7564657320746865202e5265736f6c76657220696e746572666163650a20202020202020206c6574207661756c74436170203d207369676e65722e6361706162696c69746965732e73746f726167652e69737375653c267b46756e6769626c65546f6b656e2e5661756c747d3e2866745661756c74446174612e73746f7261676550617468290a20202020202020207369676e65722e6361706162696c69746965732e7075626c697368287661756c744361702c2061743a2066745661756c74446174612e6d6574616461746150617468290a0a20202020202020202f2f204372656174652061207075626c6963206361706162696c69747920666f7220746865207661756c74206578706f73696e672074686520726563656976657220696e746572666163650a20202020202020206c6574207265636569766572436170203d207369676e65722e6361706162696c69746965732e73746f726167652e69737375653c267b46756e6769626c65546f6b656e2e52656365697665727d3e2866745661756c74446174612e73746f7261676550617468290a20202020202020207369676e65722e6361706162696c69746965732e7075626c6973682872656365697665724361702c2061743a2066745661756c74446174612e726563656976657250617468290a0a202020207d0a7d0a20f856af7b2274797065223a2241646472657373222c2276616c7565223a22307865343637623964643131666130306466227da57b2276616c7565223a2246696174546f6b656e222c2274797065223a22537472696e67227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", + "encodedTransactionEnvelopeHex": "f9080cf90808b9076d696d706f72742046756e6769626c65546f6b656e2066726f6d203078663233336463656538386665306162650a696d706f72742046756e6769626c65546f6b656e4d6574616461746156696577732066726f6d203078663233336463656538386665306162650a0a2f2f2f2054686973207472616e73616374696f6e206973207768617420616e206163636f756e7420776f756c642072756e0a2f2f2f20746f2073657420697473656c6620757020746f206d616e6167652066756e6769626c6520746f6b656e732e20546869732066756e6374696f6e0a2f2f2f207573657320766965777320746f206b6e6f7720776865726520746f2073657420757020746865207661756c740a2f2f2f20696e2073746f7261676520616e6420746f206372656174652074686520656d707479207661756c742e0a0a7472616e73616374696f6e28636f6e7472616374416464726573733a20416464726573732c20636f6e74726163744e616d653a20537472696e6729207b0a0a2020202070726570617265287369676e65723a2061757468285361766556616c75652c204361706162696c69746965732920264163636f756e7429207b0a20202020202020202f2f20426f72726f772061207265666572656e636520746f20746865207661756c742073746f726564206f6e2074686520706173736564206163636f756e742061742074686520706173736564207075626c6963506174680a20202020202020206c6574207265736f6c766572526566203d206765744163636f756e7428636f6e747261637441646472657373290a2020202020202020202020202e636f6e7472616374732e626f72726f773c267b46756e6769626c65546f6b656e7d3e286e616d653a20636f6e74726163744e616d65290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f207468652066756e6769626c6520746f6b656e20636f6e747261637422290a0a20202020202020202f2f205573652074686174207265666572656e636520746f2072657472696576652074686520465456696577200a20202020202020206c65742066745661756c7444617461203d207265736f6c7665725265662e7265736f6c7665436f6e747261637456696577287265736f75726365547970653a206e696c2c2076696577547970653a20547970653c46756e6769626c65546f6b656e4d6574616461746156696577732e46545661756c74446174613e282929206173212046756e6769626c65546f6b656e4d6574616461746156696577732e46545661756c74446174613f0a2020202020202020202020203f3f2070616e69632822436f756c64206e6f74207265736f6c7665207468652046545661756c7444617461207669657720666f722074686520676976656e2046756e6769626c6520746f6b656e20636f6e747261637422290a0a20202020202020202f2f204372656174652061206e657720656d707479207661756c74207573696e672074686520637265617465456d7074795661756c742066756e6374696f6e20696e73696465207468652046545661756c74446174610a20202020202020206c657420656d7074795661756c74203c2d66745661756c74446174612e637265617465456d7074795661756c7428290a0a20202020202020202f2f205361766520697420746f20746865206163636f756e740a20202020202020207369676e65722e73746f726167652e73617665283c2d656d7074795661756c742c20746f3a2066745661756c74446174612e73746f7261676550617468290a20202020202020200a20202020202020202f2f204372656174652061207075626c6963206361706162696c69747920666f7220746865207661756c7420776869636820696e636c7564657320746865202e5265736f6c76657220696e746572666163650a20202020202020206c6574207661756c74436170203d207369676e65722e6361706162696c69746965732e73746f726167652e69737375653c267b46756e6769626c65546f6b656e2e5661756c747d3e2866745661756c74446174612e73746f7261676550617468290a20202020202020207369676e65722e6361706162696c69746965732e7075626c697368287661756c744361702c2061743a2066745661756c74446174612e6d6574616461746150617468290a0a20202020202020202f2f204372656174652061207075626c6963206361706162696c69747920666f7220746865207661756c74206578706f73696e672074686520726563656976657220696e746572666163650a20202020202020206c6574207265636569766572436170203d207369676e65722e6361706162696c69746965732e73746f726167652e69737375653c267b46756e6769626c65546f6b656e2e52656365697665727d3e2866745661756c74446174612e73746f7261676550617468290a20202020202020207369676e65722e6361706162696c69746965732e7075626c6973682872656365697665724361702c2061743a2066745661756c74446174612e726563656976657250617468290a0a202020207d0a7d0a20f856af7b2274797065223a2241646472657373222c2276616c7565223a22307865343637623964643131666130306466227da57b2276616c7565223a2246696174546f6b656e222c2274797065223a22537472696e67227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", + "metadata": "023ccbbfebf10c47c49e4058a33fd9a29c4191c545de52c9afd27a29d38110aa280246076f1cf5d3160397766a9227b35f592f4d15c014848044c509818328b62b53657475702046756e6769626c6520546f6b656e205661756c74000201465420436f6e74726163742041646472657373000041646472657373000301465420436f6e7472616374204e616d650001537472696e670003", + "hash": "0246076f1cf5d3160397766a9227b35f592f4d15c014848044c509818328b62b" }, { - "title": "SCO.04 - Create Machine Account - 2", + "title": "FT.02 - Transfer Fungible Token with Paths", "valid": true, "chainID": "Mainnet", "payloadMessage": { - "script": "import FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// Creates a machine account for a node that is already in the staking collection\n/// and adds public keys to the new account\n\ntransaction(nodeID: String, publicKeys: [String]) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n\n if let machineAccount = self.stakingCollectionRef.createMachineAccountForExistingNode(nodeID: nodeID, payer: account) {\n if publicKeys == nil || publicKeys!.length == 0 {\n panic(\"Cannot provide zero keys for the machine account\")\n }\n for key in publicKeys! {\n machineAccount.addPublicKey(key.decodeHex())\n }\n } else {\n panic(\"Could not create a machine account for the node\")\n }\n }\n}\n", + "script": "import FungibleToken from 0xf233dcee88fe0abe\n\n/// Can pass in any storage path and receiver path identifier instead of just the default.\n/// This lets you choose the token you want to send as well the capability you want to send it to.\n///\n/// Any token path can be passed as an argument here, so wallets should\n/// should check argument values to make sure the intended token path is passed in\n///\ntransaction(amount: UFix64, to: Address, senderPathIdentifier: String, receiverPathIdentifier: String) {\n\n // The Vault resource that holds the tokens that are being transferred\n let tempVault: @{FungibleToken.Vault}\n\n prepare(signer: auth(BorrowValue) &Account) {\n\n let storagePath = StoragePath(identifier: senderPathIdentifier)\n ?? panic(\"Could not construct a storage path from the provided path identifier string\")\n\n // Get a reference to the signer's stored vault\n let vaultRef = signer.storage.borrow(from: storagePath)\n\t\t\t?? panic(\"Could not borrow reference to the owner's Vault!\")\n\n self.tempVault <- vaultRef.withdraw(amount: amount)\n }\n\n execute {\n let publicPath = PublicPath(identifier: receiverPathIdentifier)\n ?? panic(\"Could not construct a public path from the provided path identifier string\")\n\n let recipient = getAccount(to)\n let receiverRef = recipient.capabilities.borrow<&{FungibleToken.Receiver}>(publicPath)\n ?? panic(\"Could not borrow reference to the recipient's Receiver!\")\n\n // Transfer tokens from the signer's stored vault to the receiver capability\n receiverRef.deposit(from: <-self.tempVault)\n }\n}", "arguments": [ { - "type": "String", - "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" + "type": "UFix64", + "value": "92233720368.54775808" + }, + { + "value": "0xe467b9dd11fa00df", + "type": "Address" }, { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164" - } - ] + "value": "flowTokenVault", + "type": "String" + }, + { + "value": "flowTokenReceiver", + "type": "String" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -4249,20 +2528,23 @@ ] }, "envelopeMessage": { - "script": "import FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// Creates a machine account for a node that is already in the staking collection\n/// and adds public keys to the new account\n\ntransaction(nodeID: String, publicKeys: [String]) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n\n if let machineAccount = self.stakingCollectionRef.createMachineAccountForExistingNode(nodeID: nodeID, payer: account) {\n if publicKeys == nil || publicKeys!.length == 0 {\n panic(\"Cannot provide zero keys for the machine account\")\n }\n for key in publicKeys! {\n machineAccount.addPublicKey(key.decodeHex())\n }\n } else {\n panic(\"Could not create a machine account for the node\")\n }\n }\n}\n", + "script": "import FungibleToken from 0xf233dcee88fe0abe\n\n/// Can pass in any storage path and receiver path identifier instead of just the default.\n/// This lets you choose the token you want to send as well the capability you want to send it to.\n///\n/// Any token path can be passed as an argument here, so wallets should\n/// should check argument values to make sure the intended token path is passed in\n///\ntransaction(amount: UFix64, to: Address, senderPathIdentifier: String, receiverPathIdentifier: String) {\n\n // The Vault resource that holds the tokens that are being transferred\n let tempVault: @{FungibleToken.Vault}\n\n prepare(signer: auth(BorrowValue) &Account) {\n\n let storagePath = StoragePath(identifier: senderPathIdentifier)\n ?? panic(\"Could not construct a storage path from the provided path identifier string\")\n\n // Get a reference to the signer's stored vault\n let vaultRef = signer.storage.borrow(from: storagePath)\n\t\t\t?? panic(\"Could not borrow reference to the owner's Vault!\")\n\n self.tempVault <- vaultRef.withdraw(amount: amount)\n }\n\n execute {\n let publicPath = PublicPath(identifier: receiverPathIdentifier)\n ?? panic(\"Could not construct a public path from the provided path identifier string\")\n\n let recipient = getAccount(to)\n let receiverRef = recipient.capabilities.borrow<&{FungibleToken.Receiver}>(publicPath)\n ?? panic(\"Could not borrow reference to the recipient's Receiver!\")\n\n // Transfer tokens from the signer's stored vault to the receiver capability\n receiverRef.deposit(from: <-self.tempVault)\n }\n}", "arguments": [ { - "type": "String", - "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" + "type": "UFix64", + "value": "92233720368.54775808" + }, + { + "value": "0xe467b9dd11fa00df", + "type": "Address" }, { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164" - } - ] + "value": "flowTokenVault", + "type": "String" + }, + { + "value": "flowTokenReceiver", + "type": "String" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -4278,38 +2560,33 @@ ], "payloadSigs": [] }, - "encodedTransactionPayloadHex": "f9058eb90423696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f20437265617465732061206d616368696e65206163636f756e7420666f722061206e6f6465207468617420697320616c726561647920696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f20616e642061646473207075626c6963206b65797320746f20746865206e6577206163636f756e740a0a7472616e73616374696f6e286e6f646549443a20537472696e672c207075626c69634b6579733a205b537472696e675d29207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a0a20202020202020206966206c6574206d616368696e654163636f756e74203d2073656c662e7374616b696e67436f6c6c656374696f6e5265662e6372656174654d616368696e654163636f756e74466f724578697374696e674e6f6465286e6f646549443a206e6f646549442c2070617965723a206163636f756e7429207b0a2020202020202020202020206966207075626c69634b657973203d3d206e696c207c7c207075626c69634b657973212e6c656e677468203d3d2030207b0a2020202020202020202020202020202070616e6963282243616e6e6f742070726f76696465207a65726f206b65797320666f7220746865206d616368696e65206163636f756e7422290a2020202020202020202020207d0a202020202020202020202020666f72206b657920696e207075626c69634b65797321207b0a202020202020202020202020202020206d616368696e654163636f756e742e6164645075626c69634b6579286b65792e6465636f64654865782829290a2020202020202020202020207d0a20202020202020207d20656c7365207b0a20202020202020202020202070616e69632822436f756c64206e6f74206372656174652061206d616368696e65206163636f756e7420666f7220746865206e6f646522290a20202020202020207d0a202020207d0a7d0af90125b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db8c57b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634227d5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f90592f9058eb90423696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f20437265617465732061206d616368696e65206163636f756e7420666f722061206e6f6465207468617420697320616c726561647920696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f20616e642061646473207075626c6963206b65797320746f20746865206e6577206163636f756e740a0a7472616e73616374696f6e286e6f646549443a20537472696e672c207075626c69634b6579733a205b537472696e675d29207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a0a20202020202020206966206c6574206d616368696e654163636f756e74203d2073656c662e7374616b696e67436f6c6c656374696f6e5265662e6372656174654d616368696e654163636f756e74466f724578697374696e674e6f6465286e6f646549443a206e6f646549442c2070617965723a206163636f756e7429207b0a2020202020202020202020206966207075626c69634b657973203d3d206e696c207c7c207075626c69634b657973212e6c656e677468203d3d2030207b0a2020202020202020202020202020202070616e6963282243616e6e6f742070726f76696465207a65726f206b65797320666f7220746865206d616368696e65206163636f756e7422290a2020202020202020202020207d0a202020202020202020202020666f72206b657920696e207075626c69634b65797321207b0a202020202020202020202020202020206d616368696e654163636f756e742e6164645075626c69634b6579286b65792e6465636f64654865782829290a2020202020202020202020207d0a20202020202020207d20656c7365207b0a20202020202020202020202070616e69632822436f756c64206e6f74206372656174652061206d616368696e65206163636f756e7420666f7220746865206e6f646522290a20202020202020207d0a202020207d0a7d0af90125b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db8c57b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634227d5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "02e79df145af42488e3da1d1b2e50a38a2084229896d670884f278a2119dc3bf9ec2442b498eea025099815ea613d6407407192dc12ad70e1a4f47936db804a841437265617465204d616368696e65204163636f756e740002014e6f64652049440000537472696e6700030300035075622e204b65790001537472696e670003", - "hash": "c2442b498eea025099815ea613d6407407192dc12ad70e1a4f47936db804a841" + "encodedTransactionPayloadHex": "f907a3b906a4696d706f72742046756e6769626c65546f6b656e2066726f6d203078663233336463656538386665306162650a0a2f2f2f2043616e207061737320696e20616e792073746f72616765207061746820616e642072656365697665722070617468206964656e74696669657220696e7374656164206f66206a757374207468652064656661756c742e0a2f2f2f2054686973206c65747320796f752063686f6f73652074686520746f6b656e20796f752077616e7420746f2073656e642061732077656c6c20746865206361706162696c69747920796f752077616e7420746f2073656e6420697420746f2e0a2f2f2f0a2f2f2f20416e7920746f6b656e20706174682063616e2062652070617373656420617320616e20617267756d656e7420686572652c20736f2077616c6c6574732073686f756c640a2f2f2f2073686f756c6420636865636b20617267756d656e742076616c75657320746f206d616b6520737572652074686520696e74656e64656420746f6b656e20706174682069732070617373656420696e0a2f2f2f0a7472616e73616374696f6e28616d6f756e743a205546697836342c20746f3a20416464726573732c2073656e646572506174684964656e7469666965723a20537472696e672c207265636569766572506174684964656e7469666965723a20537472696e6729207b0a0a202020202f2f20546865205661756c74207265736f75726365207468617420686f6c64732074686520746f6b656e73207468617420617265206265696e67207472616e736665727265640a202020206c65742074656d705661756c743a20407b46756e6769626c65546f6b656e2e5661756c747d0a0a2020202070726570617265287369676e65723a206175746828426f72726f7756616c75652920264163636f756e7429207b0a0a20202020202020206c65742073746f7261676550617468203d2053746f7261676550617468286964656e7469666965723a2073656e646572506174684964656e746966696572290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420636f6e73747275637420612073746f7261676520706174682066726f6d207468652070726f76696465642070617468206964656e74696669657220737472696e6722290a0a20202020202020202f2f204765742061207265666572656e636520746f20746865207369676e657227732073746f726564207661756c740a20202020202020206c6574207661756c74526566203d207369676e65722e73746f726167652e626f72726f773c617574682846756e6769626c65546f6b656e2e57697468647261772920267b46756e6769626c65546f6b656e2e50726f76696465727d3e2866726f6d3a2073746f7261676550617468290a0909093f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f20746865206f776e65722773205661756c742122290a0a202020202020202073656c662e74656d705661756c74203c2d207661756c745265662e776974686472617728616d6f756e743a20616d6f756e74290a202020207d0a0a2020202065786563757465207b0a20202020202020206c6574207075626c696350617468203d205075626c696350617468286964656e7469666965723a207265636569766572506174684964656e746966696572290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420636f6e7374727563742061207075626c696320706174682066726f6d207468652070726f76696465642070617468206964656e74696669657220737472696e6722290a0a20202020202020206c657420726563697069656e74203d206765744163636f756e7428746f290a20202020202020206c6574207265636569766572526566203d20726563697069656e742e6361706162696c69746965732e626f72726f773c267b46756e6769626c65546f6b656e2e52656365697665727d3e287075626c696350617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f2074686520726563697069656e7427732052656365697665722122290a0a20202020202020202f2f205472616e7366657220746f6b656e732066726f6d20746865207369676e657227732073746f726564207661756c7420746f20746865207265636569766572206361706162696c6974790a202020202020202072656365697665725265662e6465706f7369742866726f6d3a203c2d73656c662e74656d705661756c74290a202020207d0a7df8bab07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227daf7b2276616c7565223a22307865343637623964643131666130306466222c2274797065223a2241646472657373227daa7b2276616c7565223a22666c6f77546f6b656e5661756c74222c2274797065223a22537472696e67227dad7b2276616c7565223a22666c6f77546f6b656e5265636569766572222c2274797065223a22537472696e67227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", + "encodedTransactionEnvelopeHex": "f907a7f907a3b906a4696d706f72742046756e6769626c65546f6b656e2066726f6d203078663233336463656538386665306162650a0a2f2f2f2043616e207061737320696e20616e792073746f72616765207061746820616e642072656365697665722070617468206964656e74696669657220696e7374656164206f66206a757374207468652064656661756c742e0a2f2f2f2054686973206c65747320796f752063686f6f73652074686520746f6b656e20796f752077616e7420746f2073656e642061732077656c6c20746865206361706162696c69747920796f752077616e7420746f2073656e6420697420746f2e0a2f2f2f0a2f2f2f20416e7920746f6b656e20706174682063616e2062652070617373656420617320616e20617267756d656e7420686572652c20736f2077616c6c6574732073686f756c640a2f2f2f2073686f756c6420636865636b20617267756d656e742076616c75657320746f206d616b6520737572652074686520696e74656e64656420746f6b656e20706174682069732070617373656420696e0a2f2f2f0a7472616e73616374696f6e28616d6f756e743a205546697836342c20746f3a20416464726573732c2073656e646572506174684964656e7469666965723a20537472696e672c207265636569766572506174684964656e7469666965723a20537472696e6729207b0a0a202020202f2f20546865205661756c74207265736f75726365207468617420686f6c64732074686520746f6b656e73207468617420617265206265696e67207472616e736665727265640a202020206c65742074656d705661756c743a20407b46756e6769626c65546f6b656e2e5661756c747d0a0a2020202070726570617265287369676e65723a206175746828426f72726f7756616c75652920264163636f756e7429207b0a0a20202020202020206c65742073746f7261676550617468203d2053746f7261676550617468286964656e7469666965723a2073656e646572506174684964656e746966696572290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420636f6e73747275637420612073746f7261676520706174682066726f6d207468652070726f76696465642070617468206964656e74696669657220737472696e6722290a0a20202020202020202f2f204765742061207265666572656e636520746f20746865207369676e657227732073746f726564207661756c740a20202020202020206c6574207661756c74526566203d207369676e65722e73746f726167652e626f72726f773c617574682846756e6769626c65546f6b656e2e57697468647261772920267b46756e6769626c65546f6b656e2e50726f76696465727d3e2866726f6d3a2073746f7261676550617468290a0909093f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f20746865206f776e65722773205661756c742122290a0a202020202020202073656c662e74656d705661756c74203c2d207661756c745265662e776974686472617728616d6f756e743a20616d6f756e74290a202020207d0a0a2020202065786563757465207b0a20202020202020206c6574207075626c696350617468203d205075626c696350617468286964656e7469666965723a207265636569766572506174684964656e746966696572290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420636f6e7374727563742061207075626c696320706174682066726f6d207468652070726f76696465642070617468206964656e74696669657220737472696e6722290a0a20202020202020206c657420726563697069656e74203d206765744163636f756e7428746f290a20202020202020206c6574207265636569766572526566203d20726563697069656e742e6361706162696c69746965732e626f72726f773c267b46756e6769626c65546f6b656e2e52656365697665727d3e287075626c696350617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f2074686520726563697069656e7427732052656365697665722122290a0a20202020202020202f2f205472616e7366657220746f6b656e732066726f6d20746865207369676e657227732073746f726564207661756c7420746f20746865207265636569766572206361706162696c6974790a202020202020202072656365697665725265662e6465706f7369742866726f6d3a203c2d73656c662e74656d705661756c74290a202020207d0a7df8bab07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227daf7b2276616c7565223a22307865343637623964643131666130306466222c2274797065223a2241646472657373227daa7b2276616c7565223a22666c6f77546f6b656e5661756c74222c2274797065223a22537472696e67227dad7b2276616c7565223a22666c6f77546f6b656e5265636569766572222c2274797065223a22537472696e67227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", + "metadata": "02c9b9a6156280812703c15dde74df95cd0d7d1034dd2d8bf0cccf72b6071429886e5b8c83a3e8445eaa4bed391978443f124d9aa457fabdbaa016e0f65b57591e5472616e736665722046756e6769626c6520546f6b656e2077697468205061746873000401416d6f756e740000554669783634000301526563697069656e7400014164647265737300030153656e646572277320436f6c6c656374696f6e2050617468204964656e7469666965720002537472696e67000301526563697069656e7427732052656365697665722050617468204964656e7469666965720003537472696e670003", + "hash": "6e5b8c83a3e8445eaa4bed391978443f124d9aa457fabdbaa016e0f65b57591e" }, { - "title": "SCO.04 - Create Machine Account - 3", + "title": "FT.03 - Transfer Fungible Token with Address", "valid": true, "chainID": "Mainnet", "payloadMessage": { - "script": "import FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// Creates a machine account for a node that is already in the staking collection\n/// and adds public keys to the new account\n\ntransaction(nodeID: String, publicKeys: [String]) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n\n if let machineAccount = self.stakingCollectionRef.createMachineAccountForExistingNode(nodeID: nodeID, payer: account) {\n if publicKeys == nil || publicKeys!.length == 0 {\n panic(\"Cannot provide zero keys for the machine account\")\n }\n for key in publicKeys! {\n machineAccount.addPublicKey(key.decodeHex())\n }\n } else {\n panic(\"Could not create a machine account for the node\")\n }\n }\n}\n", + "script": "import FungibleToken from 0xf233dcee88fe0abe\nimport FungibleTokenMetadataViews from 0xf233dcee88fe0abe\n\n/// Can pass in any contract address and name to transfer a token from that contract\n/// This lets you choose the token you want to send\n///\n/// Any contract can be chosen here, so wallets should check argument values\n/// to make sure the intended token path is passed in\n///\ntransaction(amount: UFix64, to: Address, contractAddress: Address, contractName: String) {\n\n // The Vault resource that holds the tokens that are being transferred\n let tempVault: @{FungibleToken.Vault}\n\n // FTVaultData struct to get paths from\n let vaultData: FungibleTokenMetadataViews.FTVaultData\n\n prepare(signer: auth(BorrowValue) &Account) {\n\n // Borrow a reference to the vault stored on the passed account at the passed publicPath\n let resolverRef = getAccount(contractAddress)\n .contracts.borrow<&{FungibleToken}>(name: contractName)\n ?? panic(\"Could not borrow a reference to the fungible token contract\")\n\n // Use that reference to retrieve the FTView \n self.vaultData = resolverRef.resolveContractView(resourceType: nil, viewType: Type()) as! FungibleTokenMetadataViews.FTVaultData?\n ?? panic(\"Could not resolve the FTVaultData view for the given Fungible token contract\")\n\n // Get a reference to the signer's stored vault\n let vaultRef = signer.storage.borrow(from: self.vaultData.storagePath)\n\t\t\t?? panic(\"Could not borrow reference to the owner's Vault!\")\n\n self.tempVault <- vaultRef.withdraw(amount: amount)\n }\n\n execute {\n let recipient = getAccount(to)\n let receiverRef = recipient.capabilities.borrow<&{FungibleToken.Receiver}>(self.vaultData.receiverPath)\n ?? panic(\"Could not borrow reference to the recipient's Receiver!\")\n\n // Transfer tokens from the signer's stored vault to the receiver capability\n receiverRef.deposit(from: <-self.tempVault)\n }\n}", "arguments": [ { - "type": "String", - "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" + "type": "UFix64", + "value": "92233720368.54775808" + }, + { + "value": "0xe467b9dd11fa00df", + "type": "Address" }, { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164" - }, - { - "type": "String", - "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164" - }, - { - "type": "String", - "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164" - } - ] + "value": "0xe467b9dd11fa00df", + "type": "Address" + }, + { + "value": "FiatToken", + "type": "String" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -4325,28 +2602,23 @@ ] }, "envelopeMessage": { - "script": "import FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// Creates a machine account for a node that is already in the staking collection\n/// and adds public keys to the new account\n\ntransaction(nodeID: String, publicKeys: [String]) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n\n if let machineAccount = self.stakingCollectionRef.createMachineAccountForExistingNode(nodeID: nodeID, payer: account) {\n if publicKeys == nil || publicKeys!.length == 0 {\n panic(\"Cannot provide zero keys for the machine account\")\n }\n for key in publicKeys! {\n machineAccount.addPublicKey(key.decodeHex())\n }\n } else {\n panic(\"Could not create a machine account for the node\")\n }\n }\n}\n", + "script": "import FungibleToken from 0xf233dcee88fe0abe\nimport FungibleTokenMetadataViews from 0xf233dcee88fe0abe\n\n/// Can pass in any contract address and name to transfer a token from that contract\n/// This lets you choose the token you want to send\n///\n/// Any contract can be chosen here, so wallets should check argument values\n/// to make sure the intended token path is passed in\n///\ntransaction(amount: UFix64, to: Address, contractAddress: Address, contractName: String) {\n\n // The Vault resource that holds the tokens that are being transferred\n let tempVault: @{FungibleToken.Vault}\n\n // FTVaultData struct to get paths from\n let vaultData: FungibleTokenMetadataViews.FTVaultData\n\n prepare(signer: auth(BorrowValue) &Account) {\n\n // Borrow a reference to the vault stored on the passed account at the passed publicPath\n let resolverRef = getAccount(contractAddress)\n .contracts.borrow<&{FungibleToken}>(name: contractName)\n ?? panic(\"Could not borrow a reference to the fungible token contract\")\n\n // Use that reference to retrieve the FTView \n self.vaultData = resolverRef.resolveContractView(resourceType: nil, viewType: Type()) as! FungibleTokenMetadataViews.FTVaultData?\n ?? panic(\"Could not resolve the FTVaultData view for the given Fungible token contract\")\n\n // Get a reference to the signer's stored vault\n let vaultRef = signer.storage.borrow(from: self.vaultData.storagePath)\n\t\t\t?? panic(\"Could not borrow reference to the owner's Vault!\")\n\n self.tempVault <- vaultRef.withdraw(amount: amount)\n }\n\n execute {\n let recipient = getAccount(to)\n let receiverRef = recipient.capabilities.borrow<&{FungibleToken.Receiver}>(self.vaultData.receiverPath)\n ?? panic(\"Could not borrow reference to the recipient's Receiver!\")\n\n // Transfer tokens from the signer's stored vault to the receiver capability\n receiverRef.deposit(from: <-self.tempVault)\n }\n}", "arguments": [ { - "type": "String", - "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" + "type": "UFix64", + "value": "92233720368.54775808" + }, + { + "value": "0xe467b9dd11fa00df", + "type": "Address" }, { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164" - }, - { - "type": "String", - "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164" - }, - { - "type": "String", - "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164" - } - ] + "value": "0xe467b9dd11fa00df", + "type": "Address" + }, + { + "value": "FiatToken", + "type": "String" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -4362,29 +2634,25 @@ ], "payloadSigs": [] }, - "encodedTransactionPayloadHex": "f906e5b90423696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f20437265617465732061206d616368696e65206163636f756e7420666f722061206e6f6465207468617420697320616c726561647920696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f20616e642061646473207075626c6963206b65797320746f20746865206e6577206163636f756e740a0a7472616e73616374696f6e286e6f646549443a20537472696e672c207075626c69634b6579733a205b537472696e675d29207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a0a20202020202020206966206c6574206d616368696e654163636f756e74203d2073656c662e7374616b696e67436f6c6c656374696f6e5265662e6372656174654d616368696e654163636f756e74466f724578697374696e674e6f6465286e6f646549443a206e6f646549442c2070617965723a206163636f756e7429207b0a2020202020202020202020206966207075626c69634b657973203d3d206e696c207c7c207075626c69634b657973212e6c656e677468203d3d2030207b0a2020202020202020202020202020202070616e6963282243616e6e6f742070726f76696465207a65726f206b65797320666f7220746865206d616368696e65206163636f756e7422290a2020202020202020202020207d0a202020202020202020202020666f72206b657920696e207075626c69634b65797321207b0a202020202020202020202020202020206d616368696e654163636f756e742e6164645075626c69634b6579286b65792e6465636f64654865782829290a2020202020202020202020207d0a20202020202020207d20656c7365207b0a20202020202020202020202070616e69632822436f756c64206e6f74206372656174652061206d616368696e65206163636f756e7420666f7220746865206e6f646522290a20202020202020207d0a202020207d0a7d0af9027cb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db9021b7b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634227d2c7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634227d2c7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634227d5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f906e9f906e5b90423696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f20437265617465732061206d616368696e65206163636f756e7420666f722061206e6f6465207468617420697320616c726561647920696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f20616e642061646473207075626c6963206b65797320746f20746865206e6577206163636f756e740a0a7472616e73616374696f6e286e6f646549443a20537472696e672c207075626c69634b6579733a205b537472696e675d29207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a0a20202020202020206966206c6574206d616368696e654163636f756e74203d2073656c662e7374616b696e67436f6c6c656374696f6e5265662e6372656174654d616368696e654163636f756e74466f724578697374696e674e6f6465286e6f646549443a206e6f646549442c2070617965723a206163636f756e7429207b0a2020202020202020202020206966207075626c69634b657973203d3d206e696c207c7c207075626c69634b657973212e6c656e677468203d3d2030207b0a2020202020202020202020202020202070616e6963282243616e6e6f742070726f76696465207a65726f206b65797320666f7220746865206d616368696e65206163636f756e7422290a2020202020202020202020207d0a202020202020202020202020666f72206b657920696e207075626c69634b65797321207b0a202020202020202020202020202020206d616368696e654163636f756e742e6164645075626c69634b6579286b65792e6465636f64654865782829290a2020202020202020202020207d0a20202020202020207d20656c7365207b0a20202020202020202020202070616e69632822436f756c64206e6f74206372656174652061206d616368696e65206163636f756e7420666f7220746865206e6f646522290a20202020202020207d0a202020207d0a7d0af9027cb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db9021b7b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634227d2c7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634227d2c7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634227d5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "02e79df145af42488e3da1d1b2e50a38a2084229896d670884f278a2119dc3bf9ec2442b498eea025099815ea613d6407407192dc12ad70e1a4f47936db804a841437265617465204d616368696e65204163636f756e740002014e6f64652049440000537472696e6700030300035075622e204b65790001537472696e670003", - "hash": "c2442b498eea025099815ea613d6407407192dc12ad70e1a4f47936db804a841" + "encodedTransactionPayloadHex": "f9092bb9082f696d706f72742046756e6769626c65546f6b656e2066726f6d203078663233336463656538386665306162650a696d706f72742046756e6769626c65546f6b656e4d6574616461746156696577732066726f6d203078663233336463656538386665306162650a0a2f2f2f2043616e207061737320696e20616e7920636f6e7472616374206164647265737320616e64206e616d6520746f207472616e73666572206120746f6b656e2066726f6d207468617420636f6e74726163740a2f2f2f2054686973206c65747320796f752063686f6f73652074686520746f6b656e20796f752077616e7420746f2073656e640a2f2f2f0a2f2f2f20416e7920636f6e74726163742063616e2062652063686f73656e20686572652c20736f2077616c6c6574732073686f756c6420636865636b20617267756d656e742076616c7565730a2f2f2f20746f206d616b6520737572652074686520696e74656e64656420746f6b656e20706174682069732070617373656420696e0a2f2f2f0a7472616e73616374696f6e28616d6f756e743a205546697836342c20746f3a20416464726573732c20636f6e7472616374416464726573733a20416464726573732c20636f6e74726163744e616d653a20537472696e6729207b0a0a202020202f2f20546865205661756c74207265736f75726365207468617420686f6c64732074686520746f6b656e73207468617420617265206265696e67207472616e736665727265640a202020206c65742074656d705661756c743a20407b46756e6769626c65546f6b656e2e5661756c747d0a0a202020202f2f2046545661756c74446174612073747275637420746f206765742070617468732066726f6d0a202020206c6574207661756c74446174613a2046756e6769626c65546f6b656e4d6574616461746156696577732e46545661756c74446174610a0a2020202070726570617265287369676e65723a206175746828426f72726f7756616c75652920264163636f756e7429207b0a0a20202020202020202f2f20426f72726f772061207265666572656e636520746f20746865207661756c742073746f726564206f6e2074686520706173736564206163636f756e742061742074686520706173736564207075626c6963506174680a20202020202020206c6574207265736f6c766572526566203d206765744163636f756e7428636f6e747261637441646472657373290a2020202020202020202020202e636f6e7472616374732e626f72726f773c267b46756e6769626c65546f6b656e7d3e286e616d653a20636f6e74726163744e616d65290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f207468652066756e6769626c6520746f6b656e20636f6e747261637422290a0a20202020202020202f2f205573652074686174207265666572656e636520746f2072657472696576652074686520465456696577200a202020202020202073656c662e7661756c7444617461203d207265736f6c7665725265662e7265736f6c7665436f6e747261637456696577287265736f75726365547970653a206e696c2c2076696577547970653a20547970653c46756e6769626c65546f6b656e4d6574616461746156696577732e46545661756c74446174613e282929206173212046756e6769626c65546f6b656e4d6574616461746156696577732e46545661756c74446174613f0a2020202020202020202020203f3f2070616e69632822436f756c64206e6f74207265736f6c7665207468652046545661756c7444617461207669657720666f722074686520676976656e2046756e6769626c6520746f6b656e20636f6e747261637422290a0a20202020202020202f2f204765742061207265666572656e636520746f20746865207369676e657227732073746f726564207661756c740a20202020202020206c6574207661756c74526566203d207369676e65722e73746f726167652e626f72726f773c617574682846756e6769626c65546f6b656e2e57697468647261772920267b46756e6769626c65546f6b656e2e50726f76696465727d3e2866726f6d3a2073656c662e7661756c74446174612e73746f7261676550617468290a0909093f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f20746865206f776e65722773205661756c742122290a0a202020202020202073656c662e74656d705661756c74203c2d207661756c745265662e776974686472617728616d6f756e743a20616d6f756e74290a202020207d0a0a2020202065786563757465207b0a20202020202020206c657420726563697069656e74203d206765744163636f756e7428746f290a20202020202020206c6574207265636569766572526566203d20726563697069656e742e6361706162696c69746965732e626f72726f773c267b46756e6769626c65546f6b656e2e52656365697665727d3e2873656c662e7661756c74446174612e726563656976657250617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f2074686520726563697069656e7427732052656365697665722122290a0a20202020202020202f2f205472616e7366657220746f6b656e732066726f6d20746865207369676e657227732073746f726564207661756c7420746f20746865207265636569766572206361706162696c6974790a202020202020202072656365697665725265662e6465706f7369742866726f6d3a203c2d73656c662e74656d705661756c74290a202020207d0a7df8b7b07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227daf7b2276616c7565223a22307865343637623964643131666130306466222c2274797065223a2241646472657373227daf7b2276616c7565223a22307865343637623964643131666130306466222c2274797065223a2241646472657373227da57b2276616c7565223a2246696174546f6b656e222c2274797065223a22537472696e67227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", + "encodedTransactionEnvelopeHex": "f9092ff9092bb9082f696d706f72742046756e6769626c65546f6b656e2066726f6d203078663233336463656538386665306162650a696d706f72742046756e6769626c65546f6b656e4d6574616461746156696577732066726f6d203078663233336463656538386665306162650a0a2f2f2f2043616e207061737320696e20616e7920636f6e7472616374206164647265737320616e64206e616d6520746f207472616e73666572206120746f6b656e2066726f6d207468617420636f6e74726163740a2f2f2f2054686973206c65747320796f752063686f6f73652074686520746f6b656e20796f752077616e7420746f2073656e640a2f2f2f0a2f2f2f20416e7920636f6e74726163742063616e2062652063686f73656e20686572652c20736f2077616c6c6574732073686f756c6420636865636b20617267756d656e742076616c7565730a2f2f2f20746f206d616b6520737572652074686520696e74656e64656420746f6b656e20706174682069732070617373656420696e0a2f2f2f0a7472616e73616374696f6e28616d6f756e743a205546697836342c20746f3a20416464726573732c20636f6e7472616374416464726573733a20416464726573732c20636f6e74726163744e616d653a20537472696e6729207b0a0a202020202f2f20546865205661756c74207265736f75726365207468617420686f6c64732074686520746f6b656e73207468617420617265206265696e67207472616e736665727265640a202020206c65742074656d705661756c743a20407b46756e6769626c65546f6b656e2e5661756c747d0a0a202020202f2f2046545661756c74446174612073747275637420746f206765742070617468732066726f6d0a202020206c6574207661756c74446174613a2046756e6769626c65546f6b656e4d6574616461746156696577732e46545661756c74446174610a0a2020202070726570617265287369676e65723a206175746828426f72726f7756616c75652920264163636f756e7429207b0a0a20202020202020202f2f20426f72726f772061207265666572656e636520746f20746865207661756c742073746f726564206f6e2074686520706173736564206163636f756e742061742074686520706173736564207075626c6963506174680a20202020202020206c6574207265736f6c766572526566203d206765744163636f756e7428636f6e747261637441646472657373290a2020202020202020202020202e636f6e7472616374732e626f72726f773c267b46756e6769626c65546f6b656e7d3e286e616d653a20636f6e74726163744e616d65290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f207468652066756e6769626c6520746f6b656e20636f6e747261637422290a0a20202020202020202f2f205573652074686174207265666572656e636520746f2072657472696576652074686520465456696577200a202020202020202073656c662e7661756c7444617461203d207265736f6c7665725265662e7265736f6c7665436f6e747261637456696577287265736f75726365547970653a206e696c2c2076696577547970653a20547970653c46756e6769626c65546f6b656e4d6574616461746156696577732e46545661756c74446174613e282929206173212046756e6769626c65546f6b656e4d6574616461746156696577732e46545661756c74446174613f0a2020202020202020202020203f3f2070616e69632822436f756c64206e6f74207265736f6c7665207468652046545661756c7444617461207669657720666f722074686520676976656e2046756e6769626c6520746f6b656e20636f6e747261637422290a0a20202020202020202f2f204765742061207265666572656e636520746f20746865207369676e657227732073746f726564207661756c740a20202020202020206c6574207661756c74526566203d207369676e65722e73746f726167652e626f72726f773c617574682846756e6769626c65546f6b656e2e57697468647261772920267b46756e6769626c65546f6b656e2e50726f76696465727d3e2866726f6d3a2073656c662e7661756c74446174612e73746f7261676550617468290a0909093f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f20746865206f776e65722773205661756c742122290a0a202020202020202073656c662e74656d705661756c74203c2d207661756c745265662e776974686472617728616d6f756e743a20616d6f756e74290a202020207d0a0a2020202065786563757465207b0a20202020202020206c657420726563697069656e74203d206765744163636f756e7428746f290a20202020202020206c6574207265636569766572526566203d20726563697069656e742e6361706162696c69746965732e626f72726f773c267b46756e6769626c65546f6b656e2e52656365697665727d3e2873656c662e7661756c74446174612e726563656976657250617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f2074686520726563697069656e7427732052656365697665722122290a0a20202020202020202f2f205472616e7366657220746f6b656e732066726f6d20746865207369676e657227732073746f726564207661756c7420746f20746865207265636569766572206361706162696c6974790a202020202020202072656365697665725265662e6465706f7369742866726f6d3a203c2d73656c662e74656d705661756c74290a202020207d0a7df8b7b07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227daf7b2276616c7565223a22307865343637623964643131666130306466222c2274797065223a2241646472657373227daf7b2276616c7565223a22307865343637623964643131666130306466222c2274797065223a2241646472657373227da57b2276616c7565223a2246696174546f6b656e222c2274797065223a22537472696e67227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", + "metadata": "02c1518742a95f9b49259abed8364b05d616ee8acebe123e9979f762b9e7522f93697ad2a90da93cbd02b7658f174c9c32e2016a574edb89cf24b57a8155c343e45472616e736665722046756e6769626c6520546f6b656e20776974682041646472657373000401416d6f756e740000554669783634000301526563697069656e74000141646472657373000301465420436f6e74726163742041646472657373000241646472657373000301465420436f6e7472616374204e616d650003537472696e670003", + "hash": "697ad2a90da93cbd02b7658f174c9c32e2016a574edb89cf24b57a8155c343e4" }, { - "title": "SCO.05 - Request Unstaking - 1", + "title": "NFT.01 - Setup NFT Collection", "valid": true, "chainID": "Mainnet", "payloadMessage": { - "script": "import FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// Requests unstaking for the specified node or delegator in the staking collection\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n }\n\n execute {\n self.stakingCollectionRef.requestUnstaking(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", + "script": "/// This transaction is what an account would run\n/// to set itself up to receive NFTs. This function\n/// uses views to know where to set up the collection\n/// in storage and to create the empty collection.\n\nimport 0x1d7e57aa55817448\nimport 0x1d7e57aa55817448\n\ntransaction(contractAddress: Address, contractName: String) {\n\n prepare(signer: auth(IssueStorageCapabilityController, PublishCapability, SaveValue) &Account) {\n // Borrow a reference to the nft contract deployed to the passed account\n let resolverRef = getAccount(contractAddress)\n .contracts.borrow<&{NonFungibleToken}>(name: contractName)\n ?? panic(\"Could not borrow a reference to the non-fungible token contract\")\n\n // Use that reference to retrieve the NFTCollectionData view \n let collectionData = resolverRef.resolveContractView(resourceType: nil, viewType: Type()) as! MetadataViews.NFTCollectionData?\n ?? panic(\"Could not resolve the NFTCollectionData view for the given non-fungible token contract\")\n\n // Create a new empty collections\n let emptyCollection <- collectionData.createEmptyCollection()\n\n // save it to the account\n signer.storage.save(<-emptyCollection, to: collectionData.storagePath)\n\n // create a public capability for the collection\n let collectionCap = signer.capabilities.storage.issue<&{NonFungibleToken.Collection}>(\n collectionData.storagePath\n )\n signer.capabilities.publish(collectionCap, at: collectionData.publicPath)\n }\n}\n", "arguments": [ { - "type": "String", - "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" - }, - { - "type": "Optional", - "value": null + "type": "Address", + "value": "0xe467b9dd11fa00df" }, { - "type": "UFix64", - "value": "92233720368.54775808" + "value": "TopShot", + "type": "String" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -4400,19 +2668,15 @@ ] }, "envelopeMessage": { - "script": "import FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// Requests unstaking for the specified node or delegator in the staking collection\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n }\n\n execute {\n self.stakingCollectionRef.requestUnstaking(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", + "script": "/// This transaction is what an account would run\n/// to set itself up to receive NFTs. This function\n/// uses views to know where to set up the collection\n/// in storage and to create the empty collection.\n\nimport 0x1d7e57aa55817448\nimport 0x1d7e57aa55817448\n\ntransaction(contractAddress: Address, contractName: String) {\n\n prepare(signer: auth(IssueStorageCapabilityController, PublishCapability, SaveValue) &Account) {\n // Borrow a reference to the nft contract deployed to the passed account\n let resolverRef = getAccount(contractAddress)\n .contracts.borrow<&{NonFungibleToken}>(name: contractName)\n ?? panic(\"Could not borrow a reference to the non-fungible token contract\")\n\n // Use that reference to retrieve the NFTCollectionData view \n let collectionData = resolverRef.resolveContractView(resourceType: nil, viewType: Type()) as! MetadataViews.NFTCollectionData?\n ?? panic(\"Could not resolve the NFTCollectionData view for the given non-fungible token contract\")\n\n // Create a new empty collections\n let emptyCollection <- collectionData.createEmptyCollection()\n\n // save it to the account\n signer.storage.save(<-emptyCollection, to: collectionData.storagePath)\n\n // create a public capability for the collection\n let collectionCap = signer.capabilities.storage.issue<&{NonFungibleToken.Collection}>(\n collectionData.storagePath\n )\n signer.capabilities.publish(collectionCap, at: collectionData.publicPath)\n }\n}\n", "arguments": [ { - "type": "String", - "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" - }, - { - "type": "Optional", - "value": null + "type": "Address", + "value": "0xe467b9dd11fa00df" }, { - "type": "UFix64", - "value": "92233720368.54775808" + "value": "TopShot", + "type": "String" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -4428,32 +2692,33 @@ ], "payloadSigs": [] }, - "encodedTransactionPayloadHex": "f90399b902a4696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f20526571756573747320756e7374616b696e6720666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e72657175657374556e7374616b696e67286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8b0b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227da07b2274797065223a224f7074696f6e616c222c2276616c7565223a6e756c6c7db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f9039df90399b902a4696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f20526571756573747320756e7374616b696e6720666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e72657175657374556e7374616b696e67286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8b0b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227da07b2274797065223a224f7074696f6e616c222c2276616c7565223a6e756c6c7db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "02b00f6b3b9d8d7d4a9a8ad14fce11ee0edb23c39c56a8c1351e6b597f53f2fb71a552951c5e6300a118610fbf2d36b3073ee266e1d26787d04717c141976ef78c5265717565737420556e7374616b696e670003014e6f64652049440000537472696e6700030244656c656761746f72204944000155496e743332000301416d6f756e7400025546697836340003", - "hash": "a552951c5e6300a118610fbf2d36b3073ee266e1d26787d04717c141976ef78c" + "encodedTransactionPayloadHex": "f906d5b9063c2f2f2f2054686973207472616e73616374696f6e206973207768617420616e206163636f756e7420776f756c642072756e0a2f2f2f20746f2073657420697473656c6620757020746f2072656365697665204e4654732e20546869732066756e6374696f6e0a2f2f2f207573657320766965777320746f206b6e6f7720776865726520746f207365742075702074686520636f6c6c656374696f6e0a2f2f2f20696e2073746f7261676520616e6420746f206372656174652074686520656d70747920636f6c6c656374696f6e2e0a0a696d706f7274203078316437653537616135353831373434380a696d706f7274203078316437653537616135353831373434380a0a7472616e73616374696f6e28636f6e7472616374416464726573733a20416464726573732c20636f6e74726163744e616d653a20537472696e6729207b0a0a2020202070726570617265287369676e65723a206175746828497373756553746f726167654361706162696c697479436f6e74726f6c6c65722c205075626c6973684361706162696c6974792c205361766556616c75652920264163636f756e7429207b0a20202020202020202f2f20426f72726f772061207265666572656e636520746f20746865206e667420636f6e7472616374206465706c6f79656420746f2074686520706173736564206163636f756e740a20202020202020206c6574207265736f6c766572526566203d206765744163636f756e7428636f6e747261637441646472657373290a2020202020202020202020202e636f6e7472616374732e626f72726f773c267b4e6f6e46756e6769626c65546f6b656e7d3e286e616d653a20636f6e74726163744e616d65290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f20746865206e6f6e2d66756e6769626c6520746f6b656e20636f6e747261637422290a0a20202020202020202f2f205573652074686174207265666572656e636520746f20726574726965766520746865204e4654436f6c6c656374696f6e446174612076696577200a20202020202020206c657420636f6c6c656374696f6e44617461203d207265736f6c7665725265662e7265736f6c7665436f6e747261637456696577287265736f75726365547970653a206e696c2c2076696577547970653a20547970653c4d6574616461746156696577732e4e4654436f6c6c656374696f6e446174613e28292920617321204d6574616461746156696577732e4e4654436f6c6c656374696f6e446174613f0a2020202020202020202020203f3f2070616e69632822436f756c64206e6f74207265736f6c766520746865204e4654436f6c6c656374696f6e44617461207669657720666f722074686520676976656e206e6f6e2d66756e6769626c6520746f6b656e20636f6e747261637422290a0a20202020202020202f2f204372656174652061206e657720656d70747920636f6c6c656374696f6e730a20202020202020206c657420656d707479436f6c6c656374696f6e203c2d20636f6c6c656374696f6e446174612e637265617465456d707479436f6c6c656374696f6e28290a0a20202020202020202f2f207361766520697420746f20746865206163636f756e740a20202020202020207369676e65722e73746f726167652e73617665283c2d656d707479436f6c6c656374696f6e2c20746f3a20636f6c6c656374696f6e446174612e73746f7261676550617468290a0a20202020202020202f2f206372656174652061207075626c6963206361706162696c69747920666f722074686520636f6c6c656374696f6e0a20202020202020206c657420636f6c6c656374696f6e436170203d207369676e65722e6361706162696c69746965732e73746f726167652e69737375653c267b4e6f6e46756e6769626c65546f6b656e2e436f6c6c656374696f6e7d3e280a20202020202020202020202020202020636f6c6c656374696f6e446174612e73746f72616765506174680a202020202020202020202020290a20202020202020207369676e65722e6361706162696c69746965732e7075626c69736828636f6c6c656374696f6e4361702c2061743a20636f6c6c656374696f6e446174612e7075626c696350617468290a202020207d0a7d0af854af7b2274797065223a2241646472657373222c2276616c7565223a22307865343637623964643131666130306466227da37b2276616c7565223a22546f7053686f74222c2274797065223a22537472696e67227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", + "encodedTransactionEnvelopeHex": "f906d9f906d5b9063c2f2f2f2054686973207472616e73616374696f6e206973207768617420616e206163636f756e7420776f756c642072756e0a2f2f2f20746f2073657420697473656c6620757020746f2072656365697665204e4654732e20546869732066756e6374696f6e0a2f2f2f207573657320766965777320746f206b6e6f7720776865726520746f207365742075702074686520636f6c6c656374696f6e0a2f2f2f20696e2073746f7261676520616e6420746f206372656174652074686520656d70747920636f6c6c656374696f6e2e0a0a696d706f7274203078316437653537616135353831373434380a696d706f7274203078316437653537616135353831373434380a0a7472616e73616374696f6e28636f6e7472616374416464726573733a20416464726573732c20636f6e74726163744e616d653a20537472696e6729207b0a0a2020202070726570617265287369676e65723a206175746828497373756553746f726167654361706162696c697479436f6e74726f6c6c65722c205075626c6973684361706162696c6974792c205361766556616c75652920264163636f756e7429207b0a20202020202020202f2f20426f72726f772061207265666572656e636520746f20746865206e667420636f6e7472616374206465706c6f79656420746f2074686520706173736564206163636f756e740a20202020202020206c6574207265736f6c766572526566203d206765744163636f756e7428636f6e747261637441646472657373290a2020202020202020202020202e636f6e7472616374732e626f72726f773c267b4e6f6e46756e6769626c65546f6b656e7d3e286e616d653a20636f6e74726163744e616d65290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f20746865206e6f6e2d66756e6769626c6520746f6b656e20636f6e747261637422290a0a20202020202020202f2f205573652074686174207265666572656e636520746f20726574726965766520746865204e4654436f6c6c656374696f6e446174612076696577200a20202020202020206c657420636f6c6c656374696f6e44617461203d207265736f6c7665725265662e7265736f6c7665436f6e747261637456696577287265736f75726365547970653a206e696c2c2076696577547970653a20547970653c4d6574616461746156696577732e4e4654436f6c6c656374696f6e446174613e28292920617321204d6574616461746156696577732e4e4654436f6c6c656374696f6e446174613f0a2020202020202020202020203f3f2070616e69632822436f756c64206e6f74207265736f6c766520746865204e4654436f6c6c656374696f6e44617461207669657720666f722074686520676976656e206e6f6e2d66756e6769626c6520746f6b656e20636f6e747261637422290a0a20202020202020202f2f204372656174652061206e657720656d70747920636f6c6c656374696f6e730a20202020202020206c657420656d707479436f6c6c656374696f6e203c2d20636f6c6c656374696f6e446174612e637265617465456d707479436f6c6c656374696f6e28290a0a20202020202020202f2f207361766520697420746f20746865206163636f756e740a20202020202020207369676e65722e73746f726167652e73617665283c2d656d707479436f6c6c656374696f6e2c20746f3a20636f6c6c656374696f6e446174612e73746f7261676550617468290a0a20202020202020202f2f206372656174652061207075626c6963206361706162696c69747920666f722074686520636f6c6c656374696f6e0a20202020202020206c657420636f6c6c656374696f6e436170203d207369676e65722e6361706162696c69746965732e73746f726167652e69737375653c267b4e6f6e46756e6769626c65546f6b656e2e436f6c6c656374696f6e7d3e280a20202020202020202020202020202020636f6c6c656374696f6e446174612e73746f72616765506174680a202020202020202020202020290a20202020202020207369676e65722e6361706162696c69746965732e7075626c69736828636f6c6c656374696f6e4361702c2061743a20636f6c6c656374696f6e446174612e7075626c696350617468290a202020207d0a7d0af854af7b2274797065223a2241646472657373222c2276616c7565223a22307865343637623964643131666130306466227da37b2276616c7565223a22546f7053686f74222c2274797065223a22537472696e67227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", + "metadata": "02d9ef3b05f8b06d43c3a0ef4066e88e6248323c5f235f9a5d1f8a85d6e2bc9bfa1d12c005fa7a08277204e5d54e29b725c52b9e8e3dd6ff6e01f8d47d7be1626c5365747570204e465420436f6c6c656374696f6e0002014e465420436f6e747261637420416464726573730000416464726573730003014e465420436f6e7472616374204e616d650001537472696e670003", + "hash": "1d12c005fa7a08277204e5d54e29b725c52b9e8e3dd6ff6e01f8d47d7be1626c" }, { - "title": "SCO.05 - Request Unstaking - 2", + "title": "NFT.02 - Transfer NFT with Paths", "valid": true, "chainID": "Mainnet", "payloadMessage": { - "script": "import FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// Requests unstaking for the specified node or delegator in the staking collection\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n }\n\n execute {\n self.stakingCollectionRef.requestUnstaking(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", + "script": "import 0x1d7e57aa55817448\n\n/// Can pass in any storage path and receiver path instead of just the default.\n/// This lets you choose the token you want to send as well the capability you want to send it to.\n///\n/// Any token path can be passed as an argument here, so wallets should\n/// should check argument values to make sure the intended token path is passed in\n///\ntransaction(to: Address, id: UInt64, senderPathIdentifier: String, receiverPathIdentifier: String) {\n\n // The NFT resource to be transferred\n let tempNFT: @{NonFungibleToken.NFT}\n\n prepare(signer: auth(BorrowValue) &Account) {\n\n let storagePath = StoragePath(identifier: senderPathIdentifier)\n ?? panic(\"Could not construct a storage path from the provided path identifier string\")\n\n // borrow a reference to the signer's NFT collection\n let withdrawRef = signer.storage.borrow(\n from: storagePath\n ) ?? panic(\"Account does not store a collection object at the specified path\")\n\n self.tempNFT <- withdrawRef.withdraw(withdrawID: id)\n }\n\n execute {\n let publicPath = PublicPath(identifier: receiverPathIdentifier)\n ?? panic(\"Could not construct a public path from the provided path identifier string\")\n\n // get the recipients public account object\n let recipient = getAccount(to)\n\n // borrow a public reference to the receivers collection\n let receiverCap = recipient.capabilities.get<&{NonFungibleToken.Receiver}>(publicPath)\n ?? panic(\"Could not get the recipient's Receiver Capability\")\n\n let receiverRef = receiverCap.borrow()\n ?? panic(\"Could not borrow reference to the recipient's receiver\")\n\n // Deposit the NFT to the receiver\n receiverRef.deposit(token: <-self.tempNFT)\n }\n}", "arguments": [ { - "type": "String", - "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" + "type": "Address", + "value": "0xe467b9dd11fa00df" }, { - "type": "Optional", - "value": { - "type": "UInt32", - "value": "42" - } + "value": "10", + "type": "UInt64" }, { - "type": "UFix64", - "value": "92233720368.54775808" + "value": "flowTokenVault", + "type": "String" + }, + { + "value": "flowTokenReceiver", + "type": "String" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -4469,22 +2734,23 @@ ] }, "envelopeMessage": { - "script": "import FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// Requests unstaking for the specified node or delegator in the staking collection\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n }\n\n execute {\n self.stakingCollectionRef.requestUnstaking(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", + "script": "import 0x1d7e57aa55817448\n\n/// Can pass in any storage path and receiver path instead of just the default.\n/// This lets you choose the token you want to send as well the capability you want to send it to.\n///\n/// Any token path can be passed as an argument here, so wallets should\n/// should check argument values to make sure the intended token path is passed in\n///\ntransaction(to: Address, id: UInt64, senderPathIdentifier: String, receiverPathIdentifier: String) {\n\n // The NFT resource to be transferred\n let tempNFT: @{NonFungibleToken.NFT}\n\n prepare(signer: auth(BorrowValue) &Account) {\n\n let storagePath = StoragePath(identifier: senderPathIdentifier)\n ?? panic(\"Could not construct a storage path from the provided path identifier string\")\n\n // borrow a reference to the signer's NFT collection\n let withdrawRef = signer.storage.borrow(\n from: storagePath\n ) ?? panic(\"Account does not store a collection object at the specified path\")\n\n self.tempNFT <- withdrawRef.withdraw(withdrawID: id)\n }\n\n execute {\n let publicPath = PublicPath(identifier: receiverPathIdentifier)\n ?? panic(\"Could not construct a public path from the provided path identifier string\")\n\n // get the recipients public account object\n let recipient = getAccount(to)\n\n // borrow a public reference to the receivers collection\n let receiverCap = recipient.capabilities.get<&{NonFungibleToken.Receiver}>(publicPath)\n ?? panic(\"Could not get the recipient's Receiver Capability\")\n\n let receiverRef = receiverCap.borrow()\n ?? panic(\"Could not borrow reference to the recipient's receiver\")\n\n // Deposit the NFT to the receiver\n receiverRef.deposit(token: <-self.tempNFT)\n }\n}", "arguments": [ { - "type": "String", - "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" + "type": "Address", + "value": "0xe467b9dd11fa00df" }, { - "type": "Optional", - "value": { - "type": "UInt32", - "value": "42" - } + "value": "10", + "type": "UInt64" }, { - "type": "UFix64", - "value": "92233720368.54775808" + "value": "flowTokenVault", + "type": "String" + }, + { + "value": "flowTokenReceiver", + "type": "String" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -4500,29 +2766,33 @@ ], "payloadSigs": [] }, - "encodedTransactionPayloadHex": "f903b4b902a4696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f20526571756573747320756e7374616b696e6720666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e72657175657374556e7374616b696e67286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8cbb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db83a7b2274797065223a224f7074696f6e616c222c2276616c7565223a7b2274797065223a2255496e743332222c2276616c7565223a223432227d7db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f903b8f903b4b902a4696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f20526571756573747320756e7374616b696e6720666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e72657175657374556e7374616b696e67286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8cbb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db83a7b2274797065223a224f7074696f6e616c222c2276616c7565223a7b2274797065223a2255496e743332222c2276616c7565223a223432227d7db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "02b00f6b3b9d8d7d4a9a8ad14fce11ee0edb23c39c56a8c1351e6b597f53f2fb71a552951c5e6300a118610fbf2d36b3073ee266e1d26787d04717c141976ef78c5265717565737420556e7374616b696e670003014e6f64652049440000537472696e6700030244656c656761746f72204944000155496e743332000301416d6f756e7400025546697836340003", - "hash": "a552951c5e6300a118610fbf2d36b3073ee266e1d26787d04717c141976ef78c" + "encodedTransactionPayloadHex": "f9084db90760696d706f7274203078316437653537616135353831373434380a0a2f2f2f2043616e207061737320696e20616e792073746f72616765207061746820616e64207265636569766572207061746820696e7374656164206f66206a757374207468652064656661756c742e0a2f2f2f2054686973206c65747320796f752063686f6f73652074686520746f6b656e20796f752077616e7420746f2073656e642061732077656c6c20746865206361706162696c69747920796f752077616e7420746f2073656e6420697420746f2e0a2f2f2f0a2f2f2f20416e7920746f6b656e20706174682063616e2062652070617373656420617320616e20617267756d656e7420686572652c20736f2077616c6c6574732073686f756c640a2f2f2f2073686f756c6420636865636b20617267756d656e742076616c75657320746f206d616b6520737572652074686520696e74656e64656420746f6b656e20706174682069732070617373656420696e0a2f2f2f0a7472616e73616374696f6e28746f3a20416464726573732c2069643a2055496e7436342c2073656e646572506174684964656e7469666965723a20537472696e672c207265636569766572506174684964656e7469666965723a20537472696e6729207b0a0a202020202f2f20546865204e4654207265736f7572636520746f206265207472616e736665727265640a202020206c65742074656d704e46543a20407b4e6f6e46756e6769626c65546f6b656e2e4e46547d0a0a2020202070726570617265287369676e65723a206175746828426f72726f7756616c75652920264163636f756e7429207b0a0a20202020202020206c65742073746f7261676550617468203d2053746f7261676550617468286964656e7469666965723a2073656e646572506174684964656e746966696572290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420636f6e73747275637420612073746f7261676520706174682066726f6d207468652070726f76696465642070617468206964656e74696669657220737472696e6722290a0a20202020202020202f2f20626f72726f772061207265666572656e636520746f20746865207369676e65722773204e465420636f6c6c656374696f6e0a20202020202020206c6574207769746864726177526566203d207369676e65722e73746f726167652e626f72726f773c61757468284e6f6e46756e6769626c65546f6b656e2e57697468647261772920267b4e6f6e46756e6769626c65546f6b656e2e436f6c6c656374696f6e7d3e280a2020202020202020202020202020202066726f6d3a2073746f72616765506174680a20202020202020202020202029203f3f2070616e696328224163636f756e7420646f6573206e6f742073746f7265206120636f6c6c656374696f6e206f626a6563742061742074686520737065636966696564207061746822290a0a202020202020202073656c662e74656d704e4654203c2d2077697468647261775265662e776974686472617728776974686472617749443a206964290a202020207d0a0a2020202065786563757465207b0a20202020202020206c6574207075626c696350617468203d205075626c696350617468286964656e7469666965723a207265636569766572506174684964656e746966696572290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420636f6e7374727563742061207075626c696320706174682066726f6d207468652070726f76696465642070617468206964656e74696669657220737472696e6722290a0a20202020202020202f2f206765742074686520726563697069656e7473207075626c6963206163636f756e74206f626a6563740a20202020202020206c657420726563697069656e74203d206765744163636f756e7428746f290a0a20202020202020202f2f20626f72726f772061207075626c6963207265666572656e636520746f207468652072656365697665727320636f6c6c656374696f6e0a20202020202020206c6574207265636569766572436170203d20726563697069656e742e6361706162696c69746965732e6765743c267b4e6f6e46756e6769626c65546f6b656e2e52656365697665727d3e287075626c696350617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f74206765742074686520726563697069656e742773205265636569766572204361706162696c69747922290a0a20202020202020206c6574207265636569766572526566203d2072656365697665724361702e626f72726f7728290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f2074686520726563697069656e74277320726563656976657222290a0a20202020202020202f2f204465706f73697420746865204e465420746f207468652072656365697665720a202020202020202072656365697665725265662e6465706f73697428746f6b656e3a203c2d73656c662e74656d704e4654290a202020207d0a7df8a8af7b2274797065223a2241646472657373222c2276616c7565223a22307865343637623964643131666130306466227d9e7b2276616c7565223a223130222c2274797065223a2255496e743634227daa7b2276616c7565223a22666c6f77546f6b656e5661756c74222c2274797065223a22537472696e67227dad7b2276616c7565223a22666c6f77546f6b656e5265636569766572222c2274797065223a22537472696e67227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", + "encodedTransactionEnvelopeHex": "f90851f9084db90760696d706f7274203078316437653537616135353831373434380a0a2f2f2f2043616e207061737320696e20616e792073746f72616765207061746820616e64207265636569766572207061746820696e7374656164206f66206a757374207468652064656661756c742e0a2f2f2f2054686973206c65747320796f752063686f6f73652074686520746f6b656e20796f752077616e7420746f2073656e642061732077656c6c20746865206361706162696c69747920796f752077616e7420746f2073656e6420697420746f2e0a2f2f2f0a2f2f2f20416e7920746f6b656e20706174682063616e2062652070617373656420617320616e20617267756d656e7420686572652c20736f2077616c6c6574732073686f756c640a2f2f2f2073686f756c6420636865636b20617267756d656e742076616c75657320746f206d616b6520737572652074686520696e74656e64656420746f6b656e20706174682069732070617373656420696e0a2f2f2f0a7472616e73616374696f6e28746f3a20416464726573732c2069643a2055496e7436342c2073656e646572506174684964656e7469666965723a20537472696e672c207265636569766572506174684964656e7469666965723a20537472696e6729207b0a0a202020202f2f20546865204e4654207265736f7572636520746f206265207472616e736665727265640a202020206c65742074656d704e46543a20407b4e6f6e46756e6769626c65546f6b656e2e4e46547d0a0a2020202070726570617265287369676e65723a206175746828426f72726f7756616c75652920264163636f756e7429207b0a0a20202020202020206c65742073746f7261676550617468203d2053746f7261676550617468286964656e7469666965723a2073656e646572506174684964656e746966696572290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420636f6e73747275637420612073746f7261676520706174682066726f6d207468652070726f76696465642070617468206964656e74696669657220737472696e6722290a0a20202020202020202f2f20626f72726f772061207265666572656e636520746f20746865207369676e65722773204e465420636f6c6c656374696f6e0a20202020202020206c6574207769746864726177526566203d207369676e65722e73746f726167652e626f72726f773c61757468284e6f6e46756e6769626c65546f6b656e2e57697468647261772920267b4e6f6e46756e6769626c65546f6b656e2e436f6c6c656374696f6e7d3e280a2020202020202020202020202020202066726f6d3a2073746f72616765506174680a20202020202020202020202029203f3f2070616e696328224163636f756e7420646f6573206e6f742073746f7265206120636f6c6c656374696f6e206f626a6563742061742074686520737065636966696564207061746822290a0a202020202020202073656c662e74656d704e4654203c2d2077697468647261775265662e776974686472617728776974686472617749443a206964290a202020207d0a0a2020202065786563757465207b0a20202020202020206c6574207075626c696350617468203d205075626c696350617468286964656e7469666965723a207265636569766572506174684964656e746966696572290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420636f6e7374727563742061207075626c696320706174682066726f6d207468652070726f76696465642070617468206964656e74696669657220737472696e6722290a0a20202020202020202f2f206765742074686520726563697069656e7473207075626c6963206163636f756e74206f626a6563740a20202020202020206c657420726563697069656e74203d206765744163636f756e7428746f290a0a20202020202020202f2f20626f72726f772061207075626c6963207265666572656e636520746f207468652072656365697665727320636f6c6c656374696f6e0a20202020202020206c6574207265636569766572436170203d20726563697069656e742e6361706162696c69746965732e6765743c267b4e6f6e46756e6769626c65546f6b656e2e52656365697665727d3e287075626c696350617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f74206765742074686520726563697069656e742773205265636569766572204361706162696c69747922290a0a20202020202020206c6574207265636569766572526566203d2072656365697665724361702e626f72726f7728290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f2074686520726563697069656e74277320726563656976657222290a0a20202020202020202f2f204465706f73697420746865204e465420746f207468652072656365697665720a202020202020202072656365697665725265662e6465706f73697428746f6b656e3a203c2d73656c662e74656d704e4654290a202020207d0a7df8a8af7b2274797065223a2241646472657373222c2276616c7565223a22307865343637623964643131666130306466227d9e7b2276616c7565223a223130222c2274797065223a2255496e743634227daa7b2276616c7565223a22666c6f77546f6b656e5661756c74222c2274797065223a22537472696e67227dad7b2276616c7565223a22666c6f77546f6b656e5265636569766572222c2274797065223a22537472696e67227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", + "metadata": "02f08815a2f535512a65e5c95c391dd6ff89662dad8fd68da836d11d0827a52bd4a56eb0c3e6c3456eee86d5cb62ddf700b0d1e5e65f12fe6926edd6d1816582855472616e73666572204e46542077697468205061746873000401526563697069656e740000416464726573730003014e465420494420746f205472616e73666572000155496e74363400030153656e646572277320436f6c6c656374696f6e2050617468204964656e7469666965720002537472696e67000301526563697069656e7427732052656365697665722050617468204964656e7469666965720003537472696e670003", + "hash": "a56eb0c3e6c3456eee86d5cb62ddf700b0d1e5e65f12fe6926edd6d181658285" }, { - "title": "SCO.06 - Stake New Tokens - 1", + "title": "NFT.03 - Transfer NFT with Address", "valid": true, "chainID": "Mainnet", "payloadMessage": { - "script": "import FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// Commits new tokens to stake for the specified node or delegator in the staking collection\n/// The tokens from the locked vault are used first, if it exists\n/// followed by the tokens from the unlocked vault\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n }\n\n execute {\n self.stakingCollectionRef.stakeNewTokens(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", + "script": "import 0x1d7e57aa55817448\nimport 0x1d7e57aa55817448\n\n/// Can pass in any contract address and name\n/// This lets you choose the token you want to send because\n/// the transaction gets the metadata from the provided contract.\n///\ntransaction(to: Address, id: UInt64, contractAddress: Address, contractName: String) {\n\n // The NFT resource to be transferred\n let tempNFT: @{NonFungibleToken.NFT}\n\n // NFTCollectionData struct to get paths from\n let collectionData: MetadataViews.NFTCollectionData\n\n prepare(signer: auth(BorrowValue) &Account) {\n\n // Borrow a reference to the nft contract deployed to the passed account\n let resolverRef = getAccount(contractAddress)\n .contracts.borrow<&{NonFungibleToken}>(name: contractName)\n ?? panic(\"Could not borrow a reference to the non-fungible token contract\")\n\n // Use that reference to retrieve the NFTCollectionData view \n self.collectionData = resolverRef.resolveContractView(resourceType: nil, viewType: Type()) as! MetadataViews.NFTCollectionData?\n ?? panic(\"Could not resolve the NFTCollectionData view for the given non-fungible token contract\")\n\n\n // borrow a reference to the signer's NFT collection\n let withdrawRef = signer.storage.borrow(\n from: self.collectionData.storagePath\n ) ?? panic(\"Account does not store a collection object at the specified path\")\n\n self.tempNFT <- withdrawRef.withdraw(withdrawID: id)\n }\n\n execute {\n // get the recipients public account object\n let recipient = getAccount(to)\n\n // borrow a public reference to the receivers collection\n let receiverCap = recipient.capabilities.get<&{NonFungibleToken.Receiver}>(self.collectionData.publicPath)\n ?? panic(\"Could not get the recipient's Receiver Capability\")\n\n let receiverRef = receiverCap.borrow()\n ?? panic(\"Could not borrow reference to the recipient's receiver\")\n\n // Deposit the NFT to the receiver\n receiverRef.deposit(token: <-self.tempNFT)\n }\n}", "arguments": [ { - "type": "String", - "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" + "type": "Address", + "value": "0xe467b9dd11fa00df" }, { - "type": "Optional", - "value": null + "value": "10", + "type": "UInt64" }, { - "type": "UFix64", - "value": "92233720368.54775808" + "value": "0xe467b9dd11fa00df", + "type": "Address" + }, + { + "value": "TopShot", + "type": "String" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -4538,19 +2808,23 @@ ] }, "envelopeMessage": { - "script": "import FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// Commits new tokens to stake for the specified node or delegator in the staking collection\n/// The tokens from the locked vault are used first, if it exists\n/// followed by the tokens from the unlocked vault\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n }\n\n execute {\n self.stakingCollectionRef.stakeNewTokens(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", + "script": "import 0x1d7e57aa55817448\nimport 0x1d7e57aa55817448\n\n/// Can pass in any contract address and name\n/// This lets you choose the token you want to send because\n/// the transaction gets the metadata from the provided contract.\n///\ntransaction(to: Address, id: UInt64, contractAddress: Address, contractName: String) {\n\n // The NFT resource to be transferred\n let tempNFT: @{NonFungibleToken.NFT}\n\n // NFTCollectionData struct to get paths from\n let collectionData: MetadataViews.NFTCollectionData\n\n prepare(signer: auth(BorrowValue) &Account) {\n\n // Borrow a reference to the nft contract deployed to the passed account\n let resolverRef = getAccount(contractAddress)\n .contracts.borrow<&{NonFungibleToken}>(name: contractName)\n ?? panic(\"Could not borrow a reference to the non-fungible token contract\")\n\n // Use that reference to retrieve the NFTCollectionData view \n self.collectionData = resolverRef.resolveContractView(resourceType: nil, viewType: Type()) as! MetadataViews.NFTCollectionData?\n ?? panic(\"Could not resolve the NFTCollectionData view for the given non-fungible token contract\")\n\n\n // borrow a reference to the signer's NFT collection\n let withdrawRef = signer.storage.borrow(\n from: self.collectionData.storagePath\n ) ?? panic(\"Account does not store a collection object at the specified path\")\n\n self.tempNFT <- withdrawRef.withdraw(withdrawID: id)\n }\n\n execute {\n // get the recipients public account object\n let recipient = getAccount(to)\n\n // borrow a public reference to the receivers collection\n let receiverCap = recipient.capabilities.get<&{NonFungibleToken.Receiver}>(self.collectionData.publicPath)\n ?? panic(\"Could not get the recipient's Receiver Capability\")\n\n let receiverRef = receiverCap.borrow()\n ?? panic(\"Could not borrow reference to the recipient's receiver\")\n\n // Deposit the NFT to the receiver\n receiverRef.deposit(token: <-self.tempNFT)\n }\n}", "arguments": [ { - "type": "String", - "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" + "type": "Address", + "value": "0xe467b9dd11fa00df" }, { - "type": "Optional", - "value": null + "value": "10", + "type": "UInt64" }, { - "type": "UFix64", - "value": "92233720368.54775808" + "value": "0xe467b9dd11fa00df", + "type": "Address" + }, + { + "value": "TopShot", + "type": "String" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -4566,29 +2840,18 @@ ], "payloadSigs": [] }, - "encodedTransactionPayloadHex": "f90415b90320696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f20436f6d6d697473206e657720746f6b656e7320746f207374616b6520666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f2054686520746f6b656e732066726f6d20746865206c6f636b6564207661756c742061726520757365642066697273742c206966206974206578697374730a2f2f2f20666f6c6c6f7765642062792074686520746f6b656e732066726f6d2074686520756e6c6f636b6564207661756c740a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e7374616b654e6577546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8b0b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227da07b2274797065223a224f7074696f6e616c222c2276616c7565223a6e756c6c7db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f90419f90415b90320696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f20436f6d6d697473206e657720746f6b656e7320746f207374616b6520666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f2054686520746f6b656e732066726f6d20746865206c6f636b6564207661756c742061726520757365642066697273742c206966206974206578697374730a2f2f2f20666f6c6c6f7765642062792074686520746f6b656e732066726f6d2074686520756e6c6f636b6564207661756c740a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e7374616b654e6577546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8b0b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227da07b2274797065223a224f7074696f6e616c222c2276616c7565223a6e756c6c7db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "021307928440cee4289235793d6ff860a24315f7b6a5d5907a145dcc5f83702a2c8e10ac56db8ec5d5e0051d3c9608fabc8edd6abed983f6d3a254e7668a54b32b5374616b65204e657720546f6b656e730003014e6f64652049440000537472696e6700030244656c656761746f72204944000155496e743332000301416d6f756e7400025546697836340003", - "hash": "8e10ac56db8ec5d5e0051d3c9608fabc8edd6abed983f6d3a254e7668a54b32b" + "encodedTransactionPayloadHex": "f9096fb90887696d706f7274203078316437653537616135353831373434380a696d706f7274203078316437653537616135353831373434380a0a2f2f2f2043616e207061737320696e20616e7920636f6e7472616374206164647265737320616e64206e616d650a2f2f2f2054686973206c65747320796f752063686f6f73652074686520746f6b656e20796f752077616e7420746f2073656e6420626563617573650a2f2f2f20746865207472616e73616374696f6e206765747320746865206d657461646174612066726f6d207468652070726f766964656420636f6e74726163742e0a2f2f2f0a7472616e73616374696f6e28746f3a20416464726573732c2069643a2055496e7436342c20636f6e7472616374416464726573733a20416464726573732c20636f6e74726163744e616d653a20537472696e6729207b0a0a202020202f2f20546865204e4654207265736f7572636520746f206265207472616e736665727265640a202020206c65742074656d704e46543a20407b4e6f6e46756e6769626c65546f6b656e2e4e46547d0a0a202020202f2f204e4654436f6c6c656374696f6e446174612073747275637420746f206765742070617468732066726f6d0a202020206c657420636f6c6c656374696f6e446174613a204d6574616461746156696577732e4e4654436f6c6c656374696f6e446174610a0a2020202070726570617265287369676e65723a206175746828426f72726f7756616c75652920264163636f756e7429207b0a0a20202020202020202f2f20426f72726f772061207265666572656e636520746f20746865206e667420636f6e7472616374206465706c6f79656420746f2074686520706173736564206163636f756e740a20202020202020206c6574207265736f6c766572526566203d206765744163636f756e7428636f6e747261637441646472657373290a2020202020202020202020202e636f6e7472616374732e626f72726f773c267b4e6f6e46756e6769626c65546f6b656e7d3e286e616d653a20636f6e74726163744e616d65290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f20746865206e6f6e2d66756e6769626c6520746f6b656e20636f6e747261637422290a0a20202020202020202f2f205573652074686174207265666572656e636520746f20726574726965766520746865204e4654436f6c6c656374696f6e446174612076696577200a202020202020202073656c662e636f6c6c656374696f6e44617461203d207265736f6c7665725265662e7265736f6c7665436f6e747261637456696577287265736f75726365547970653a206e696c2c2076696577547970653a20547970653c4d6574616461746156696577732e4e4654436f6c6c656374696f6e446174613e28292920617321204d6574616461746156696577732e4e4654436f6c6c656374696f6e446174613f0a2020202020202020202020203f3f2070616e69632822436f756c64206e6f74207265736f6c766520746865204e4654436f6c6c656374696f6e44617461207669657720666f722074686520676976656e206e6f6e2d66756e6769626c6520746f6b656e20636f6e747261637422290a0a0a20202020202020202f2f20626f72726f772061207265666572656e636520746f20746865207369676e65722773204e465420636f6c6c656374696f6e0a20202020202020206c6574207769746864726177526566203d207369676e65722e73746f726167652e626f72726f773c61757468284e6f6e46756e6769626c65546f6b656e2e57697468647261772920267b4e6f6e46756e6769626c65546f6b656e2e436f6c6c656374696f6e7d3e280a2020202020202020202020202020202066726f6d3a2073656c662e636f6c6c656374696f6e446174612e73746f72616765506174680a20202020202020202020202029203f3f2070616e696328224163636f756e7420646f6573206e6f742073746f7265206120636f6c6c656374696f6e206f626a6563742061742074686520737065636966696564207061746822290a0a202020202020202073656c662e74656d704e4654203c2d2077697468647261775265662e776974686472617728776974686472617749443a206964290a202020207d0a0a2020202065786563757465207b0a20202020202020202f2f206765742074686520726563697069656e7473207075626c6963206163636f756e74206f626a6563740a20202020202020206c657420726563697069656e74203d206765744163636f756e7428746f290a0a20202020202020202f2f20626f72726f772061207075626c6963207265666572656e636520746f207468652072656365697665727320636f6c6c656374696f6e0a20202020202020206c6574207265636569766572436170203d20726563697069656e742e6361706162696c69746965732e6765743c267b4e6f6e46756e6769626c65546f6b656e2e52656365697665727d3e2873656c662e636f6c6c656374696f6e446174612e7075626c696350617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f74206765742074686520726563697069656e742773205265636569766572204361706162696c69747922290a0a20202020202020206c6574207265636569766572526566203d2072656365697665724361702e626f72726f7728290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f2074686520726563697069656e74277320726563656976657222290a0a20202020202020202f2f204465706f73697420746865204e465420746f207468652072656365697665720a202020202020202072656365697665725265662e6465706f73697428746f6b656e3a203c2d73656c662e74656d704e4654290a202020207d0a7df8a3af7b2274797065223a2241646472657373222c2276616c7565223a22307865343637623964643131666130306466227d9e7b2276616c7565223a223130222c2274797065223a2255496e743634227daf7b2276616c7565223a22307865343637623964643131666130306466222c2274797065223a2241646472657373227da37b2276616c7565223a22546f7053686f74222c2274797065223a22537472696e67227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", + "encodedTransactionEnvelopeHex": "f90973f9096fb90887696d706f7274203078316437653537616135353831373434380a696d706f7274203078316437653537616135353831373434380a0a2f2f2f2043616e207061737320696e20616e7920636f6e7472616374206164647265737320616e64206e616d650a2f2f2f2054686973206c65747320796f752063686f6f73652074686520746f6b656e20796f752077616e7420746f2073656e6420626563617573650a2f2f2f20746865207472616e73616374696f6e206765747320746865206d657461646174612066726f6d207468652070726f766964656420636f6e74726163742e0a2f2f2f0a7472616e73616374696f6e28746f3a20416464726573732c2069643a2055496e7436342c20636f6e7472616374416464726573733a20416464726573732c20636f6e74726163744e616d653a20537472696e6729207b0a0a202020202f2f20546865204e4654207265736f7572636520746f206265207472616e736665727265640a202020206c65742074656d704e46543a20407b4e6f6e46756e6769626c65546f6b656e2e4e46547d0a0a202020202f2f204e4654436f6c6c656374696f6e446174612073747275637420746f206765742070617468732066726f6d0a202020206c657420636f6c6c656374696f6e446174613a204d6574616461746156696577732e4e4654436f6c6c656374696f6e446174610a0a2020202070726570617265287369676e65723a206175746828426f72726f7756616c75652920264163636f756e7429207b0a0a20202020202020202f2f20426f72726f772061207265666572656e636520746f20746865206e667420636f6e7472616374206465706c6f79656420746f2074686520706173736564206163636f756e740a20202020202020206c6574207265736f6c766572526566203d206765744163636f756e7428636f6e747261637441646472657373290a2020202020202020202020202e636f6e7472616374732e626f72726f773c267b4e6f6e46756e6769626c65546f6b656e7d3e286e616d653a20636f6e74726163744e616d65290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f20746865206e6f6e2d66756e6769626c6520746f6b656e20636f6e747261637422290a0a20202020202020202f2f205573652074686174207265666572656e636520746f20726574726965766520746865204e4654436f6c6c656374696f6e446174612076696577200a202020202020202073656c662e636f6c6c656374696f6e44617461203d207265736f6c7665725265662e7265736f6c7665436f6e747261637456696577287265736f75726365547970653a206e696c2c2076696577547970653a20547970653c4d6574616461746156696577732e4e4654436f6c6c656374696f6e446174613e28292920617321204d6574616461746156696577732e4e4654436f6c6c656374696f6e446174613f0a2020202020202020202020203f3f2070616e69632822436f756c64206e6f74207265736f6c766520746865204e4654436f6c6c656374696f6e44617461207669657720666f722074686520676976656e206e6f6e2d66756e6769626c6520746f6b656e20636f6e747261637422290a0a0a20202020202020202f2f20626f72726f772061207265666572656e636520746f20746865207369676e65722773204e465420636f6c6c656374696f6e0a20202020202020206c6574207769746864726177526566203d207369676e65722e73746f726167652e626f72726f773c61757468284e6f6e46756e6769626c65546f6b656e2e57697468647261772920267b4e6f6e46756e6769626c65546f6b656e2e436f6c6c656374696f6e7d3e280a2020202020202020202020202020202066726f6d3a2073656c662e636f6c6c656374696f6e446174612e73746f72616765506174680a20202020202020202020202029203f3f2070616e696328224163636f756e7420646f6573206e6f742073746f7265206120636f6c6c656374696f6e206f626a6563742061742074686520737065636966696564207061746822290a0a202020202020202073656c662e74656d704e4654203c2d2077697468647261775265662e776974686472617728776974686472617749443a206964290a202020207d0a0a2020202065786563757465207b0a20202020202020202f2f206765742074686520726563697069656e7473207075626c6963206163636f756e74206f626a6563740a20202020202020206c657420726563697069656e74203d206765744163636f756e7428746f290a0a20202020202020202f2f20626f72726f772061207075626c6963207265666572656e636520746f207468652072656365697665727320636f6c6c656374696f6e0a20202020202020206c6574207265636569766572436170203d20726563697069656e742e6361706162696c69746965732e6765743c267b4e6f6e46756e6769626c65546f6b656e2e52656365697665727d3e2873656c662e636f6c6c656374696f6e446174612e7075626c696350617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f74206765742074686520726563697069656e742773205265636569766572204361706162696c69747922290a0a20202020202020206c6574207265636569766572526566203d2072656365697665724361702e626f72726f7728290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f2074686520726563697069656e74277320726563656976657222290a0a20202020202020202f2f204465706f73697420746865204e465420746f207468652072656365697665720a202020202020202072656365697665725265662e6465706f73697428746f6b656e3a203c2d73656c662e74656d704e4654290a202020207d0a7df8a3af7b2274797065223a2241646472657373222c2276616c7565223a22307865343637623964643131666130306466227d9e7b2276616c7565223a223130222c2274797065223a2255496e743634227daf7b2276616c7565223a22307865343637623964643131666130306466222c2274797065223a2241646472657373227da37b2276616c7565223a22546f7053686f74222c2274797065223a22537472696e67227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", + "metadata": "02b7892b30d7a68531db8af3aa73eec7bf899bd039bc9883c4d0270e44c78cec30111142945f27d91bf3be630737805eba25d586b0c292bb3818e5d4cf4287e31c5472616e73666572204e465420776974682041646472657373000401526563697069656e740000416464726573730003014e465420494420746f205472616e73666572000155496e7436340003014e465420436f6e747261637420416464726573730002416464726573730003014e465420436f6e7472616374204e616d650003537472696e670003", + "hash": "111142945f27d91bf3be630737805eba25d586b0c292bb3818e5d4cf4287e31c" }, { - "title": "SCO.06 - Stake New Tokens - 2", + "title": "TH.01 - Withdraw Unlocked FLOW", "valid": true, "chainID": "Mainnet", "payloadMessage": { - "script": "import FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// Commits new tokens to stake for the specified node or delegator in the staking collection\n/// The tokens from the locked vault are used first, if it exists\n/// followed by the tokens from the unlocked vault\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n }\n\n execute {\n self.stakingCollectionRef.stakeNewTokens(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", + "script": "import FungibleToken from 0xf233dcee88fe0abe\nimport FlowToken from 0x1654653399040a61\nimport LockedTokens from 0x8d0e87b65159ae63\n\ntransaction(amount: UFix64) {\n\n let holderRef: auth(LockedTokens.TokenOperations, FungibleToken.Withdraw) &LockedTokens.TokenHolder\n let vaultRef: auth(FungibleToken.Withdraw) &FlowToken.Vault\n\n prepare(acct: auth(BorrowValue) &Account) {\n self.holderRef = acct.storage.borrow(from: LockedTokens.TokenHolderStoragePath)\n ?? panic(\"The primary user account does not have an associated locked account\")\n\n self.vaultRef = acct.storage.borrow(from: /storage/flowTokenVault)\n ?? panic(\"Could not borrow flow token vault ref\")\n }\n\n execute {\n self.vaultRef.deposit(from: <-self.holderRef.withdraw(amount: amount))\n }\n}\n", "arguments": [ - { - "type": "String", - "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" - }, - { - "type": "Optional", - "value": { - "type": "UInt32", - "value": "42" - } - }, { "type": "UFix64", "value": "92233720368.54775808" @@ -4607,19 +2870,8 @@ ] }, "envelopeMessage": { - "script": "import FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// Commits new tokens to stake for the specified node or delegator in the staking collection\n/// The tokens from the locked vault are used first, if it exists\n/// followed by the tokens from the unlocked vault\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n }\n\n execute {\n self.stakingCollectionRef.stakeNewTokens(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", + "script": "import FungibleToken from 0xf233dcee88fe0abe\nimport FlowToken from 0x1654653399040a61\nimport LockedTokens from 0x8d0e87b65159ae63\n\ntransaction(amount: UFix64) {\n\n let holderRef: auth(LockedTokens.TokenOperations, FungibleToken.Withdraw) &LockedTokens.TokenHolder\n let vaultRef: auth(FungibleToken.Withdraw) &FlowToken.Vault\n\n prepare(acct: auth(BorrowValue) &Account) {\n self.holderRef = acct.storage.borrow(from: LockedTokens.TokenHolderStoragePath)\n ?? panic(\"The primary user account does not have an associated locked account\")\n\n self.vaultRef = acct.storage.borrow(from: /storage/flowTokenVault)\n ?? panic(\"Could not borrow flow token vault ref\")\n }\n\n execute {\n self.vaultRef.deposit(from: <-self.holderRef.withdraw(amount: amount))\n }\n}\n", "arguments": [ - { - "type": "String", - "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" - }, - { - "type": "Optional", - "value": { - "type": "UInt32", - "value": "42" - } - }, { "type": "UFix64", "value": "92233720368.54775808" @@ -4638,26 +2890,18 @@ ], "payloadSigs": [] }, - "encodedTransactionPayloadHex": "f90430b90320696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f20436f6d6d697473206e657720746f6b656e7320746f207374616b6520666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f2054686520746f6b656e732066726f6d20746865206c6f636b6564207661756c742061726520757365642066697273742c206966206974206578697374730a2f2f2f20666f6c6c6f7765642062792074686520746f6b656e732066726f6d2074686520756e6c6f636b6564207661756c740a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e7374616b654e6577546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8cbb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db83a7b2274797065223a224f7074696f6e616c222c2276616c7565223a7b2274797065223a2255496e743332222c2276616c7565223a223432227d7db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f90434f90430b90320696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f20436f6d6d697473206e657720746f6b656e7320746f207374616b6520666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f2054686520746f6b656e732066726f6d20746865206c6f636b6564207661756c742061726520757365642066697273742c206966206974206578697374730a2f2f2f20666f6c6c6f7765642062792074686520746f6b656e732066726f6d2074686520756e6c6f636b6564207661756c740a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e7374616b654e6577546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8cbb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db83a7b2274797065223a224f7074696f6e616c222c2276616c7565223a7b2274797065223a2255496e743332222c2276616c7565223a223432227d7db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "021307928440cee4289235793d6ff860a24315f7b6a5d5907a145dcc5f83702a2c8e10ac56db8ec5d5e0051d3c9608fabc8edd6abed983f6d3a254e7668a54b32b5374616b65204e657720546f6b656e730003014e6f64652049440000537472696e6700030244656c656761746f72204944000155496e743332000301416d6f756e7400025546697836340003", - "hash": "8e10ac56db8ec5d5e0051d3c9608fabc8edd6abed983f6d3a254e7668a54b32b" + "encodedTransactionPayloadHex": "f9041fb903aa696d706f72742046756e6769626c65546f6b656e2066726f6d203078663233336463656538386665306162650a696d706f727420466c6f77546f6b656e2066726f6d203078313635343635333339393034306136310a696d706f7274204c6f636b6564546f6b656e732066726f6d203078386430653837623635313539616536330a0a7472616e73616374696f6e28616d6f756e743a2055466978363429207b0a0a202020206c657420686f6c6465725265663a2061757468284c6f636b6564546f6b656e732e546f6b656e4f7065726174696f6e732c2046756e6769626c65546f6b656e2e57697468647261772920264c6f636b6564546f6b656e732e546f6b656e486f6c6465720a202020206c6574207661756c745265663a20617574682846756e6769626c65546f6b656e2e5769746864726177292026466c6f77546f6b656e2e5661756c740a0a202020207072657061726528616363743a206175746828426f72726f7756616c75652920264163636f756e7429207b0a202020202020202073656c662e686f6c646572526566203d20616363742e73746f726167652e626f72726f773c61757468284c6f636b6564546f6b656e732e546f6b656e4f7065726174696f6e732c2046756e6769626c65546f6b656e2e57697468647261772920264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f7261676550617468290a2020202020202020202020203f3f2070616e69632822546865207072696d6172792075736572206163636f756e7420646f6573206e6f74206861766520616e206173736f636961746564206c6f636b6564206163636f756e7422290a0a202020202020202073656c662e7661756c74526566203d20616363742e73746f726167652e626f72726f773c617574682846756e6769626c65546f6b656e2e5769746864726177292026466c6f77546f6b656e2e5661756c743e2866726f6d3a202f73746f726167652f666c6f77546f6b656e5661756c74290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f7720666c6f7720746f6b656e207661756c742072656622290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7661756c745265662e6465706f7369742866726f6d3a203c2d73656c662e686f6c6465725265662e776974686472617728616d6f756e743a20616d6f756e7429290a202020207d0a7d0af1b07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", + "encodedTransactionEnvelopeHex": "f90423f9041fb903aa696d706f72742046756e6769626c65546f6b656e2066726f6d203078663233336463656538386665306162650a696d706f727420466c6f77546f6b656e2066726f6d203078313635343635333339393034306136310a696d706f7274204c6f636b6564546f6b656e732066726f6d203078386430653837623635313539616536330a0a7472616e73616374696f6e28616d6f756e743a2055466978363429207b0a0a202020206c657420686f6c6465725265663a2061757468284c6f636b6564546f6b656e732e546f6b656e4f7065726174696f6e732c2046756e6769626c65546f6b656e2e57697468647261772920264c6f636b6564546f6b656e732e546f6b656e486f6c6465720a202020206c6574207661756c745265663a20617574682846756e6769626c65546f6b656e2e5769746864726177292026466c6f77546f6b656e2e5661756c740a0a202020207072657061726528616363743a206175746828426f72726f7756616c75652920264163636f756e7429207b0a202020202020202073656c662e686f6c646572526566203d20616363742e73746f726167652e626f72726f773c61757468284c6f636b6564546f6b656e732e546f6b656e4f7065726174696f6e732c2046756e6769626c65546f6b656e2e57697468647261772920264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f7261676550617468290a2020202020202020202020203f3f2070616e69632822546865207072696d6172792075736572206163636f756e7420646f6573206e6f74206861766520616e206173736f636961746564206c6f636b6564206163636f756e7422290a0a202020202020202073656c662e7661756c74526566203d20616363742e73746f726167652e626f72726f773c617574682846756e6769626c65546f6b656e2e5769746864726177292026466c6f77546f6b656e2e5661756c743e2866726f6d3a202f73746f726167652f666c6f77546f6b656e5661756c74290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f7720666c6f7720746f6b656e207661756c742072656622290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7661756c745265662e6465706f7369742866726f6d3a203c2d73656c662e686f6c6465725265662e776974686472617728616d6f756e743a20616d6f756e7429290a202020207d0a7d0af1b07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", + "metadata": "02094798e93daeacaa9ff262486a3683ec5a5e2204407e7d00bc3416fbf3efa3b14a830e6f93f74179a99e17c7ae762980c7fdc428bc949767529be2f071ac52b9576974686472617720556e6c6f636b656420464c4f57000101416d6f756e7400005546697836340003", + "hash": "4a830e6f93f74179a99e17c7ae762980c7fdc428bc949767529be2f071ac52b9" }, { - "title": "SCO.07 - Stake Rewarded Tokens - 1", + "title": "TH.02 - Deposit Unlocked FLOW", "valid": true, "chainID": "Mainnet", "payloadMessage": { - "script": "import FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// Commits rewarded tokens to stake for the specified node or delegator in the staking collection\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n }\n\n execute {\n self.stakingCollectionRef.stakeRewardedTokens(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", + "script": "import FungibleToken from 0xf233dcee88fe0abe\nimport FlowToken from 0x1654653399040a61\nimport LockedTokens from 0x8d0e87b65159ae63\n\ntransaction(amount: UFix64) {\n\n let holderRef: &LockedTokens.TokenHolder\n let vaultRef: auth(FungibleToken.Withdraw) &FlowToken.Vault\n\n prepare(acct: auth(BorrowValue) &Account) {\n self.holderRef = acct.storage.borrow<&LockedTokens.TokenHolder>(from: LockedTokens.TokenHolderStoragePath)\n ?? panic(\"The primary user account does not have an associated locked account\")\n\n self.vaultRef = acct.storage.borrow(from: /storage/flowTokenVault)\n ?? panic(\"Could not borrow flow token vault ref\")\n }\n\n execute {\n self.holderRef.deposit(from: <-self.vaultRef.withdraw(amount: amount))\n }\n}\n", "arguments": [ - { - "type": "String", - "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" - }, - { - "type": "Optional", - "value": null - }, { "type": "UFix64", "value": "92233720368.54775808" @@ -4676,16 +2920,8 @@ ] }, "envelopeMessage": { - "script": "import FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// Commits rewarded tokens to stake for the specified node or delegator in the staking collection\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n }\n\n execute {\n self.stakingCollectionRef.stakeRewardedTokens(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", + "script": "import FungibleToken from 0xf233dcee88fe0abe\nimport FlowToken from 0x1654653399040a61\nimport LockedTokens from 0x8d0e87b65159ae63\n\ntransaction(amount: UFix64) {\n\n let holderRef: &LockedTokens.TokenHolder\n let vaultRef: auth(FungibleToken.Withdraw) &FlowToken.Vault\n\n prepare(acct: auth(BorrowValue) &Account) {\n self.holderRef = acct.storage.borrow<&LockedTokens.TokenHolder>(from: LockedTokens.TokenHolderStoragePath)\n ?? panic(\"The primary user account does not have an associated locked account\")\n\n self.vaultRef = acct.storage.borrow(from: /storage/flowTokenVault)\n ?? panic(\"Could not borrow flow token vault ref\")\n }\n\n execute {\n self.holderRef.deposit(from: <-self.vaultRef.withdraw(amount: amount))\n }\n}\n", "arguments": [ - { - "type": "String", - "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" - }, - { - "type": "Optional", - "value": null - }, { "type": "UFix64", "value": "92233720368.54775808" @@ -4704,34 +2940,18 @@ ], "payloadSigs": [] }, - "encodedTransactionPayloadHex": "f903aab902b5696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f20436f6d6d69747320726577617264656420746f6b656e7320746f207374616b6520666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e7374616b655265776172646564546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8b0b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227da07b2274797065223a224f7074696f6e616c222c2276616c7565223a6e756c6c7db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f903aef903aab902b5696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f20436f6d6d69747320726577617264656420746f6b656e7320746f207374616b6520666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e7374616b655265776172646564546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8b0b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227da07b2274797065223a224f7074696f6e616c222c2276616c7565223a6e756c6c7db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "02d7aca7113a7aa03e0afd20ee36f4873779708a02ac4c6985017740c2ecea3d62907c4cfd67a98a8003393c64dc74eb7a957b229352a266139a542bb105ac4c405374616b6520526577617264656420546f6b656e730003014e6f64652049440000537472696e6700030244656c656761746f72204944000155496e743332000301416d6f756e7400025546697836340003", - "hash": "907c4cfd67a98a8003393c64dc74eb7a957b229352a266139a542bb105ac4c40" + "encodedTransactionPayloadHex": "f903a9b90334696d706f72742046756e6769626c65546f6b656e2066726f6d203078663233336463656538386665306162650a696d706f727420466c6f77546f6b656e2066726f6d203078313635343635333339393034306136310a696d706f7274204c6f636b6564546f6b656e732066726f6d203078386430653837623635313539616536330a0a7472616e73616374696f6e28616d6f756e743a2055466978363429207b0a0a202020206c657420686f6c6465725265663a20264c6f636b6564546f6b656e732e546f6b656e486f6c6465720a202020206c6574207661756c745265663a20617574682846756e6769626c65546f6b656e2e5769746864726177292026466c6f77546f6b656e2e5661756c740a0a202020207072657061726528616363743a206175746828426f72726f7756616c75652920264163636f756e7429207b0a202020202020202073656c662e686f6c646572526566203d20616363742e73746f726167652e626f72726f773c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f7261676550617468290a2020202020202020202020203f3f2070616e69632822546865207072696d6172792075736572206163636f756e7420646f6573206e6f74206861766520616e206173736f636961746564206c6f636b6564206163636f756e7422290a0a202020202020202073656c662e7661756c74526566203d20616363742e73746f726167652e626f72726f773c617574682846756e6769626c65546f6b656e2e5769746864726177292026466c6f77546f6b656e2e5661756c743e2866726f6d3a202f73746f726167652f666c6f77546f6b656e5661756c74290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f7720666c6f7720746f6b656e207661756c742072656622290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e686f6c6465725265662e6465706f7369742866726f6d3a203c2d73656c662e7661756c745265662e776974686472617728616d6f756e743a20616d6f756e7429290a202020207d0a7d0af1b07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", + "encodedTransactionEnvelopeHex": "f903adf903a9b90334696d706f72742046756e6769626c65546f6b656e2066726f6d203078663233336463656538386665306162650a696d706f727420466c6f77546f6b656e2066726f6d203078313635343635333339393034306136310a696d706f7274204c6f636b6564546f6b656e732066726f6d203078386430653837623635313539616536330a0a7472616e73616374696f6e28616d6f756e743a2055466978363429207b0a0a202020206c657420686f6c6465725265663a20264c6f636b6564546f6b656e732e546f6b656e486f6c6465720a202020206c6574207661756c745265663a20617574682846756e6769626c65546f6b656e2e5769746864726177292026466c6f77546f6b656e2e5661756c740a0a202020207072657061726528616363743a206175746828426f72726f7756616c75652920264163636f756e7429207b0a202020202020202073656c662e686f6c646572526566203d20616363742e73746f726167652e626f72726f773c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f7261676550617468290a2020202020202020202020203f3f2070616e69632822546865207072696d6172792075736572206163636f756e7420646f6573206e6f74206861766520616e206173736f636961746564206c6f636b6564206163636f756e7422290a0a202020202020202073656c662e7661756c74526566203d20616363742e73746f726167652e626f72726f773c617574682846756e6769626c65546f6b656e2e5769746864726177292026466c6f77546f6b656e2e5661756c743e2866726f6d3a202f73746f726167652f666c6f77546f6b656e5661756c74290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f7720666c6f7720746f6b656e207661756c742072656622290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e686f6c6465725265662e6465706f7369742866726f6d3a203c2d73656c662e7661756c745265662e776974686472617728616d6f756e743a20616d6f756e7429290a202020207d0a7d0af1b07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", + "metadata": "0217ffcd60667893674d8d4044bdd8232959dc8b694df1dd88d1b9c5443352f253038382a947fa96bf2f4dfe5aa9b4b2abee1ef0975955175e80cf911c3edf4b614465706f73697420556e6c6f636b656420464c4f57000101416d6f756e7400005546697836340003", + "hash": "038382a947fa96bf2f4dfe5aa9b4b2abee1ef0975955175e80cf911c3edf4b61" }, { - "title": "SCO.07 - Stake Rewarded Tokens - 2", + "title": "SCO.01 - Setup Staking Collection", "valid": true, "chainID": "Mainnet", "payloadMessage": { - "script": "import FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// Commits rewarded tokens to stake for the specified node or delegator in the staking collection\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n }\n\n execute {\n self.stakingCollectionRef.stakeRewardedTokens(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", - "arguments": [ - { - "type": "String", - "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" - }, - { - "type": "Optional", - "value": { - "type": "UInt32", - "value": "42" - } - }, - { - "type": "UFix64", - "value": "92233720368.54775808" - } - ], + "script": "import FungibleToken from 0xf233dcee88fe0abe\nimport FlowToken from 0x1654653399040a61\nimport FlowIDTableStaking from 0x8624b52f9ddcd04a\nimport LockedTokens from 0x8d0e87b65159ae63\nimport FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// This transaction sets up an account to use a staking collection\n/// It will work regardless of whether they have a regular account, a two-account locked tokens setup,\n/// or staking objects stored in the unlocked account\n\ntransaction {\n prepare(signer: auth(BorrowValue, Storage, Capabilities) &Account) {\n\n // If there isn't already a staking collection\n if signer.storage.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath) == nil {\n\n // Create private capabilities for the token holder and unlocked vault\n let lockedHolder = signer.capabilities.storage.issue(LockedTokens.TokenHolderStoragePath)!\n let flowToken = signer.capabilities.storage.issue(/storage/flowTokenVault)!\n\n // Create a new Staking Collection and put it in storage\n if lockedHolder.check() {\n signer.storage.save(\n <- FlowStakingCollection.createStakingCollection(\n unlockedVault: flowToken,\n tokenHolder: lockedHolder\n ),\n to: FlowStakingCollection.StakingCollectionStoragePath\n )\n } else {\n signer.storage.save(\n <- FlowStakingCollection.createStakingCollection(\n unlockedVault: flowToken,\n tokenHolder: nil\n ),\n to: FlowStakingCollection.StakingCollectionStoragePath\n )\n }\n\n // Publish a capability to the created staking collection.\n let stakingCollectionCap = signer.capabilities.storage.issue<&FlowStakingCollection.StakingCollection>(\n FlowStakingCollection.StakingCollectionStoragePath\n )\n\n signer.capabilities.publish(\n stakingCollectionCap,\n at: FlowStakingCollection.StakingCollectionPublicPath\n )\n }\n\n // borrow a reference to the staking collection\n let collectionRef = signer.storage.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow staking collection reference\")\n\n // If there is a node staker object in the account, put it in the staking collection\n if signer.storage.borrow<&FlowIDTableStaking.NodeStaker>(from: FlowIDTableStaking.NodeStakerStoragePath) != nil {\n let node <- signer.storage.load<@FlowIDTableStaking.NodeStaker>(from: FlowIDTableStaking.NodeStakerStoragePath)!\n collectionRef.addNodeObject(<-node, machineAccountInfo: nil)\n }\n\n // If there is a delegator object in the account, put it in the staking collection\n if signer.storage.borrow<&FlowIDTableStaking.NodeDelegator>(from: FlowIDTableStaking.DelegatorStoragePath) != nil {\n let delegator <- signer.storage.load<@FlowIDTableStaking.NodeDelegator>(from: FlowIDTableStaking.DelegatorStoragePath)!\n collectionRef.addDelegatorObject(<-delegator)\n }\n }\n}\n", + "arguments": [], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", "gasLimit": 42, "proposalKey": { @@ -4739,30 +2959,14 @@ "keyId": 4, "sequenceNum": 10 }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ] - }, - "envelopeMessage": { - "script": "import FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// Commits rewarded tokens to stake for the specified node or delegator in the staking collection\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n }\n\n execute {\n self.stakingCollectionRef.stakeRewardedTokens(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", - "arguments": [ - { - "type": "String", - "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" - }, - { - "type": "Optional", - "value": { - "type": "UInt32", - "value": "42" - } - }, - { - "type": "UFix64", - "value": "92233720368.54775808" - } - ], + "payer": "f19c161bc24cf4b4", + "authorizers": [ + "f19c161bc24cf4b4" + ] + }, + "envelopeMessage": { + "script": "import FungibleToken from 0xf233dcee88fe0abe\nimport FlowToken from 0x1654653399040a61\nimport FlowIDTableStaking from 0x8624b52f9ddcd04a\nimport LockedTokens from 0x8d0e87b65159ae63\nimport FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// This transaction sets up an account to use a staking collection\n/// It will work regardless of whether they have a regular account, a two-account locked tokens setup,\n/// or staking objects stored in the unlocked account\n\ntransaction {\n prepare(signer: auth(BorrowValue, Storage, Capabilities) &Account) {\n\n // If there isn't already a staking collection\n if signer.storage.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath) == nil {\n\n // Create private capabilities for the token holder and unlocked vault\n let lockedHolder = signer.capabilities.storage.issue(LockedTokens.TokenHolderStoragePath)!\n let flowToken = signer.capabilities.storage.issue(/storage/flowTokenVault)!\n\n // Create a new Staking Collection and put it in storage\n if lockedHolder.check() {\n signer.storage.save(\n <- FlowStakingCollection.createStakingCollection(\n unlockedVault: flowToken,\n tokenHolder: lockedHolder\n ),\n to: FlowStakingCollection.StakingCollectionStoragePath\n )\n } else {\n signer.storage.save(\n <- FlowStakingCollection.createStakingCollection(\n unlockedVault: flowToken,\n tokenHolder: nil\n ),\n to: FlowStakingCollection.StakingCollectionStoragePath\n )\n }\n\n // Publish a capability to the created staking collection.\n let stakingCollectionCap = signer.capabilities.storage.issue<&FlowStakingCollection.StakingCollection>(\n FlowStakingCollection.StakingCollectionStoragePath\n )\n\n signer.capabilities.publish(\n stakingCollectionCap,\n at: FlowStakingCollection.StakingCollectionPublicPath\n )\n }\n\n // borrow a reference to the staking collection\n let collectionRef = signer.storage.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow staking collection reference\")\n\n // If there is a node staker object in the account, put it in the staking collection\n if signer.storage.borrow<&FlowIDTableStaking.NodeStaker>(from: FlowIDTableStaking.NodeStakerStoragePath) != nil {\n let node <- signer.storage.load<@FlowIDTableStaking.NodeStaker>(from: FlowIDTableStaking.NodeStakerStoragePath)!\n collectionRef.addNodeObject(<-node, machineAccountInfo: nil)\n }\n\n // If there is a delegator object in the account, put it in the staking collection\n if signer.storage.borrow<&FlowIDTableStaking.NodeDelegator>(from: FlowIDTableStaking.DelegatorStoragePath) != nil {\n let delegator <- signer.storage.load<@FlowIDTableStaking.NodeDelegator>(from: FlowIDTableStaking.DelegatorStoragePath)!\n collectionRef.addDelegatorObject(<-delegator)\n }\n }\n}\n", + "arguments": [], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", "gasLimit": 42, "proposalKey": { @@ -4776,29 +2980,25 @@ ], "payloadSigs": [] }, - "encodedTransactionPayloadHex": "f903c5b902b5696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f20436f6d6d69747320726577617264656420746f6b656e7320746f207374616b6520666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e7374616b655265776172646564546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8cbb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db83a7b2274797065223a224f7074696f6e616c222c2276616c7565223a7b2274797065223a2255496e743332222c2276616c7565223a223432227d7db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f903c9f903c5b902b5696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f20436f6d6d69747320726577617264656420746f6b656e7320746f207374616b6520666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e7374616b655265776172646564546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8cbb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db83a7b2274797065223a224f7074696f6e616c222c2276616c7565223a7b2274797065223a2255496e743332222c2276616c7565223a223432227d7db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "02d7aca7113a7aa03e0afd20ee36f4873779708a02ac4c6985017740c2ecea3d62907c4cfd67a98a8003393c64dc74eb7a957b229352a266139a542bb105ac4c405374616b6520526577617264656420546f6b656e730003014e6f64652049440000537472696e6700030244656c656761746f72204944000155496e743332000301416d6f756e7400025546697836340003", - "hash": "907c4cfd67a98a8003393c64dc74eb7a957b229352a266139a542bb105ac4c40" + "encodedTransactionPayloadHex": "f90df1b90dad696d706f72742046756e6769626c65546f6b656e2066726f6d203078663233336463656538386665306162650a696d706f727420466c6f77546f6b656e2066726f6d203078313635343635333339393034306136310a696d706f727420466c6f7749445461626c655374616b696e672066726f6d203078383632346235326639646463643034610a696d706f7274204c6f636b6564546f6b656e732066726f6d203078386430653837623635313539616536330a696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f2054686973207472616e73616374696f6e207365747320757020616e206163636f756e7420746f207573652061207374616b696e6720636f6c6c656374696f6e0a2f2f2f2049742077696c6c20776f726b207265676172646c657373206f66207768657468657220746865792068617665206120726567756c6172206163636f756e742c20612074776f2d6163636f756e74206c6f636b656420746f6b656e732073657475702c0a2f2f2f206f72207374616b696e67206f626a656374732073746f72656420696e2074686520756e6c6f636b6564206163636f756e740a0a7472616e73616374696f6e207b0a2020202070726570617265287369676e65723a206175746828426f72726f7756616c75652c2053746f726167652c204361706162696c69746965732920264163636f756e7429207b0a0a20202020202020202f2f2049662074686572652069736e277420616c72656164792061207374616b696e6720636f6c6c656374696f6e0a20202020202020206966207369676e65722e73746f726167652e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f726167655061746829203d3d206e696c207b0a0a2020202020202020202020202f2f204372656174652070726976617465206361706162696c697469657320666f722074686520746f6b656e20686f6c64657220616e6420756e6c6f636b6564207661756c740a2020202020202020202020206c6574206c6f636b6564486f6c646572203d207369676e65722e6361706162696c69746965732e73746f726167652e69737375653c617574682846756e6769626c65546f6b656e2e57697468647261772c204c6f636b6564546f6b656e732e546f6b656e4f7065726174696f6e732920264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e284c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f726167655061746829210a2020202020202020202020206c657420666c6f77546f6b656e203d207369676e65722e6361706162696c69746965732e73746f726167652e69737375653c617574682846756e6769626c65546f6b656e2e5769746864726177292026466c6f77546f6b656e2e5661756c743e282f73746f726167652f666c6f77546f6b656e5661756c7429210a0a2020202020202020202020202f2f204372656174652061206e6577205374616b696e6720436f6c6c656374696f6e20616e642070757420697420696e2073746f726167650a2020202020202020202020206966206c6f636b6564486f6c6465722e636865636b2829207b0a202020202020202020202020202020207369676e65722e73746f726167652e73617665280a20202020202020202020202020202020202020203c2d20466c6f775374616b696e67436f6c6c656374696f6e2e6372656174655374616b696e67436f6c6c656374696f6e280a202020202020202020202020202020202020202020202020756e6c6f636b65645661756c743a20666c6f77546f6b656e2c0a202020202020202020202020202020202020202020202020746f6b656e486f6c6465723a206c6f636b6564486f6c6465720a2020202020202020202020202020202020202020292c0a2020202020202020202020202020202020202020746f3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f72616765506174680a20202020202020202020202020202020290a2020202020202020202020207d20656c7365207b0a202020202020202020202020202020207369676e65722e73746f726167652e73617665280a20202020202020202020202020202020202020203c2d20466c6f775374616b696e67436f6c6c656374696f6e2e6372656174655374616b696e67436f6c6c656374696f6e280a202020202020202020202020202020202020202020202020756e6c6f636b65645661756c743a20666c6f77546f6b656e2c0a202020202020202020202020202020202020202020202020746f6b656e486f6c6465723a206e696c0a2020202020202020202020202020202020202020292c0a2020202020202020202020202020202020202020746f3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f72616765506174680a20202020202020202020202020202020290a2020202020202020202020207d0a0a2020202020202020202020202f2f205075626c6973682061206361706162696c69747920746f207468652063726561746564207374616b696e6720636f6c6c656374696f6e2e0a2020202020202020202020206c6574207374616b696e67436f6c6c656374696f6e436170203d207369676e65722e6361706162696c69746965732e73746f726167652e69737375653c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e280a20202020202020202020202020202020466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f72616765506174680a202020202020202020202020290a0a2020202020202020202020207369676e65722e6361706162696c69746965732e7075626c697368280a202020202020202020202020202020207374616b696e67436f6c6c656374696f6e4361702c0a2020202020202020202020202020202061743a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e5075626c6963506174680a202020202020202020202020290a20202020202020207d0a0a20202020202020202f2f20626f72726f772061207265666572656e636520746f20746865207374616b696e6720636f6c6c656374696f6e0a20202020202020206c657420636f6c6c656374696f6e526566203d207369676e65722e73746f726167652e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207374616b696e6720636f6c6c656374696f6e207265666572656e636522290a0a20202020202020202f2f2049662074686572652069732061206e6f6465207374616b6572206f626a65637420696e20746865206163636f756e742c2070757420697420696e20746865207374616b696e6720636f6c6c656374696f6e0a20202020202020206966207369676e65722e73746f726167652e626f72726f773c26466c6f7749445461626c655374616b696e672e4e6f64655374616b65723e2866726f6d3a20466c6f7749445461626c655374616b696e672e4e6f64655374616b657253746f72616765506174682920213d206e696c207b0a2020202020202020202020206c6574206e6f6465203c2d207369676e65722e73746f726167652e6c6f61643c40466c6f7749445461626c655374616b696e672e4e6f64655374616b65723e2866726f6d3a20466c6f7749445461626c655374616b696e672e4e6f64655374616b657253746f726167655061746829210a202020202020202020202020636f6c6c656374696f6e5265662e6164644e6f64654f626a656374283c2d6e6f64652c206d616368696e654163636f756e74496e666f3a206e696c290a20202020202020207d0a0a20202020202020202f2f20496620746865726520697320612064656c656761746f72206f626a65637420696e20746865206163636f756e742c2070757420697420696e20746865207374616b696e6720636f6c6c656374696f6e0a20202020202020206966207369676e65722e73746f726167652e626f72726f773c26466c6f7749445461626c655374616b696e672e4e6f646544656c656761746f723e2866726f6d3a20466c6f7749445461626c655374616b696e672e44656c656761746f7253746f72616765506174682920213d206e696c207b0a2020202020202020202020206c65742064656c656761746f72203c2d207369676e65722e73746f726167652e6c6f61643c40466c6f7749445461626c655374616b696e672e4e6f646544656c656761746f723e2866726f6d3a20466c6f7749445461626c655374616b696e672e44656c656761746f7253746f726167655061746829210a202020202020202020202020636f6c6c656374696f6e5265662e61646444656c656761746f724f626a656374283c2d64656c656761746f72290a20202020202020207d0a202020207d0a7d0ac0a0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", + "encodedTransactionEnvelopeHex": "f90df5f90df1b90dad696d706f72742046756e6769626c65546f6b656e2066726f6d203078663233336463656538386665306162650a696d706f727420466c6f77546f6b656e2066726f6d203078313635343635333339393034306136310a696d706f727420466c6f7749445461626c655374616b696e672066726f6d203078383632346235326639646463643034610a696d706f7274204c6f636b6564546f6b656e732066726f6d203078386430653837623635313539616536330a696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f2054686973207472616e73616374696f6e207365747320757020616e206163636f756e7420746f207573652061207374616b696e6720636f6c6c656374696f6e0a2f2f2f2049742077696c6c20776f726b207265676172646c657373206f66207768657468657220746865792068617665206120726567756c6172206163636f756e742c20612074776f2d6163636f756e74206c6f636b656420746f6b656e732073657475702c0a2f2f2f206f72207374616b696e67206f626a656374732073746f72656420696e2074686520756e6c6f636b6564206163636f756e740a0a7472616e73616374696f6e207b0a2020202070726570617265287369676e65723a206175746828426f72726f7756616c75652c2053746f726167652c204361706162696c69746965732920264163636f756e7429207b0a0a20202020202020202f2f2049662074686572652069736e277420616c72656164792061207374616b696e6720636f6c6c656374696f6e0a20202020202020206966207369676e65722e73746f726167652e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f726167655061746829203d3d206e696c207b0a0a2020202020202020202020202f2f204372656174652070726976617465206361706162696c697469657320666f722074686520746f6b656e20686f6c64657220616e6420756e6c6f636b6564207661756c740a2020202020202020202020206c6574206c6f636b6564486f6c646572203d207369676e65722e6361706162696c69746965732e73746f726167652e69737375653c617574682846756e6769626c65546f6b656e2e57697468647261772c204c6f636b6564546f6b656e732e546f6b656e4f7065726174696f6e732920264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e284c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f726167655061746829210a2020202020202020202020206c657420666c6f77546f6b656e203d207369676e65722e6361706162696c69746965732e73746f726167652e69737375653c617574682846756e6769626c65546f6b656e2e5769746864726177292026466c6f77546f6b656e2e5661756c743e282f73746f726167652f666c6f77546f6b656e5661756c7429210a0a2020202020202020202020202f2f204372656174652061206e6577205374616b696e6720436f6c6c656374696f6e20616e642070757420697420696e2073746f726167650a2020202020202020202020206966206c6f636b6564486f6c6465722e636865636b2829207b0a202020202020202020202020202020207369676e65722e73746f726167652e73617665280a20202020202020202020202020202020202020203c2d20466c6f775374616b696e67436f6c6c656374696f6e2e6372656174655374616b696e67436f6c6c656374696f6e280a202020202020202020202020202020202020202020202020756e6c6f636b65645661756c743a20666c6f77546f6b656e2c0a202020202020202020202020202020202020202020202020746f6b656e486f6c6465723a206c6f636b6564486f6c6465720a2020202020202020202020202020202020202020292c0a2020202020202020202020202020202020202020746f3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f72616765506174680a20202020202020202020202020202020290a2020202020202020202020207d20656c7365207b0a202020202020202020202020202020207369676e65722e73746f726167652e73617665280a20202020202020202020202020202020202020203c2d20466c6f775374616b696e67436f6c6c656374696f6e2e6372656174655374616b696e67436f6c6c656374696f6e280a202020202020202020202020202020202020202020202020756e6c6f636b65645661756c743a20666c6f77546f6b656e2c0a202020202020202020202020202020202020202020202020746f6b656e486f6c6465723a206e696c0a2020202020202020202020202020202020202020292c0a2020202020202020202020202020202020202020746f3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f72616765506174680a20202020202020202020202020202020290a2020202020202020202020207d0a0a2020202020202020202020202f2f205075626c6973682061206361706162696c69747920746f207468652063726561746564207374616b696e6720636f6c6c656374696f6e2e0a2020202020202020202020206c6574207374616b696e67436f6c6c656374696f6e436170203d207369676e65722e6361706162696c69746965732e73746f726167652e69737375653c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e280a20202020202020202020202020202020466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f72616765506174680a202020202020202020202020290a0a2020202020202020202020207369676e65722e6361706162696c69746965732e7075626c697368280a202020202020202020202020202020207374616b696e67436f6c6c656374696f6e4361702c0a2020202020202020202020202020202061743a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e5075626c6963506174680a202020202020202020202020290a20202020202020207d0a0a20202020202020202f2f20626f72726f772061207265666572656e636520746f20746865207374616b696e6720636f6c6c656374696f6e0a20202020202020206c657420636f6c6c656374696f6e526566203d207369676e65722e73746f726167652e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207374616b696e6720636f6c6c656374696f6e207265666572656e636522290a0a20202020202020202f2f2049662074686572652069732061206e6f6465207374616b6572206f626a65637420696e20746865206163636f756e742c2070757420697420696e20746865207374616b696e6720636f6c6c656374696f6e0a20202020202020206966207369676e65722e73746f726167652e626f72726f773c26466c6f7749445461626c655374616b696e672e4e6f64655374616b65723e2866726f6d3a20466c6f7749445461626c655374616b696e672e4e6f64655374616b657253746f72616765506174682920213d206e696c207b0a2020202020202020202020206c6574206e6f6465203c2d207369676e65722e73746f726167652e6c6f61643c40466c6f7749445461626c655374616b696e672e4e6f64655374616b65723e2866726f6d3a20466c6f7749445461626c655374616b696e672e4e6f64655374616b657253746f726167655061746829210a202020202020202020202020636f6c6c656374696f6e5265662e6164644e6f64654f626a656374283c2d6e6f64652c206d616368696e654163636f756e74496e666f3a206e696c290a20202020202020207d0a0a20202020202020202f2f20496620746865726520697320612064656c656761746f72206f626a65637420696e20746865206163636f756e742c2070757420697420696e20746865207374616b696e6720636f6c6c656374696f6e0a20202020202020206966207369676e65722e73746f726167652e626f72726f773c26466c6f7749445461626c655374616b696e672e4e6f646544656c656761746f723e2866726f6d3a20466c6f7749445461626c655374616b696e672e44656c656761746f7253746f72616765506174682920213d206e696c207b0a2020202020202020202020206c65742064656c656761746f72203c2d207369676e65722e73746f726167652e6c6f61643c40466c6f7749445461626c655374616b696e672e4e6f646544656c656761746f723e2866726f6d3a20466c6f7749445461626c655374616b696e672e44656c656761746f7253746f726167655061746829210a202020202020202020202020636f6c6c656374696f6e5265662e61646444656c656761746f724f626a656374283c2d64656c656761746f72290a20202020202020207d0a202020207d0a7d0ac0a0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", + "metadata": "02861784e7ac135a9cfec90decdff2e53971a4d63135db77bcef3b273b710b181469f30decc15bd78107c631e200963398e8ddbc58bb61e577d223725f348fc2d95365747570205374616b696e6720436f6c6c656374696f6e0000", + "hash": "69f30decc15bd78107c631e200963398e8ddbc58bb61e577d223725f348fc2d9" }, { - "title": "SCO.08 - Stake Unstaked Tokens - 1", + "title": "SCO.02 - Register Delegator", "valid": true, "chainID": "Mainnet", "payloadMessage": { - "script": "import FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// Commits unstaked tokens to stake for the specified node or delegator in the staking collection\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n }\n\n execute {\n self.stakingCollectionRef.stakeUnstakedTokens(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", + "script": "import FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// Registers a delegator in the staking collection resource\n/// for the specified nodeID and the amount of tokens to commit\n\ntransaction(id: String, amount: UFix64) {\n \n let stakingCollectionRef: auth(FlowStakingCollection.CollectionOwner) &FlowStakingCollection.StakingCollection\n\n prepare(account: auth(BorrowValue) &Account) {\n self.stakingCollectionRef = account.storage.borrow(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow a reference to a StakingCollection in the primary user's account\")\n }\n\n execute {\n self.stakingCollectionRef.registerDelegator(nodeID: id, amount: amount) \n }\n}\n", "arguments": [ { "type": "String", "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" }, { - "type": "Optional", - "value": null - }, - { - "type": "UFix64", - "value": "92233720368.54775808" + "value": "92233720368.54775808", + "type": "UFix64" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -4814,19 +3014,15 @@ ] }, "envelopeMessage": { - "script": "import FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// Commits unstaked tokens to stake for the specified node or delegator in the staking collection\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n }\n\n execute {\n self.stakingCollectionRef.stakeUnstakedTokens(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", + "script": "import FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// Registers a delegator in the staking collection resource\n/// for the specified nodeID and the amount of tokens to commit\n\ntransaction(id: String, amount: UFix64) {\n \n let stakingCollectionRef: auth(FlowStakingCollection.CollectionOwner) &FlowStakingCollection.StakingCollection\n\n prepare(account: auth(BorrowValue) &Account) {\n self.stakingCollectionRef = account.storage.borrow(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow a reference to a StakingCollection in the primary user's account\")\n }\n\n execute {\n self.stakingCollectionRef.registerDelegator(nodeID: id, amount: amount) \n }\n}\n", "arguments": [ { "type": "String", "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" }, { - "type": "Optional", - "value": null - }, - { - "type": "UFix64", - "value": "92233720368.54775808" + "value": "92233720368.54775808", + "type": "UFix64" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -4842,32 +3038,53 @@ ], "payloadSigs": [] }, - "encodedTransactionPayloadHex": "f903aab902b5696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f20436f6d6d69747320756e7374616b656420746f6b656e7320746f207374616b6520666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e7374616b65556e7374616b6564546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8b0b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227da07b2274797065223a224f7074696f6e616c222c2276616c7565223a6e756c6c7db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f903aef903aab902b5696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f20436f6d6d69747320756e7374616b656420746f6b656e7320746f207374616b6520666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e7374616b65556e7374616b6564546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8b0b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227da07b2274797065223a224f7074696f6e616c222c2276616c7565223a6e756c6c7db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "023595fcd68cff445c65ad99f8d4d726b5e28807b061800769c41cbe3adb98aeec082e690b9647182cf6969db1a0fa8e0f1728da6db01fe0d462e9f0841c268cbb5374616b6520556e7374616b656420546f6b656e730003014e6f64652049440000537472696e6700030244656c656761746f72204944000155496e743332000301416d6f756e7400025546697836340003", - "hash": "082e690b9647182cf6969db1a0fa8e0f1728da6db01fe0d462e9f0841c268cbb" + "encodedTransactionPayloadHex": "f90406b90332696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f2052656769737465727320612064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e207265736f757263650a2f2f2f20666f722074686520737065636966696564206e6f6465494420616e642074686520616d6f756e74206f6620746f6b656e7320746f20636f6d6d69740a0a7472616e73616374696f6e2869643a20537472696e672c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a206175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a206175746828426f72726f7756616c75652920264163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e73746f726167652e626f72726f773c6175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f2061205374616b696e67436f6c6c656374696f6e20696e20746865207072696d61727920757365722773206163636f756e7422290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e726567697374657244656c656761746f72286e6f646549443a2069642c20616d6f756e743a20616d6f756e74292020202020200a202020207d0a7d0af88fb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db07b2276616c7565223a2239323233333732303336382e3534373735383038222c2274797065223a22554669783634227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", + "encodedTransactionEnvelopeHex": "f9040af90406b90332696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f2052656769737465727320612064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e207265736f757263650a2f2f2f20666f722074686520737065636966696564206e6f6465494420616e642074686520616d6f756e74206f6620746f6b656e7320746f20636f6d6d69740a0a7472616e73616374696f6e2869643a20537472696e672c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a206175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a206175746828426f72726f7756616c75652920264163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e73746f726167652e626f72726f773c6175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f2061205374616b696e67436f6c6c656374696f6e20696e20746865207072696d61727920757365722773206163636f756e7422290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e726567697374657244656c656761746f72286e6f646549443a2069642c20616d6f756e743a20616d6f756e74292020202020200a202020207d0a7d0af88fb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db07b2276616c7565223a2239323233333732303336382e3534373735383038222c2274797065223a22554669783634227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", + "metadata": "02e093df9c425be9cdbee44bdbbd721f6aff523e41802a50cf0ff353873e9f94830a41e53ad3c9c1c16c8732dd8331b8ca66063617d433b01d4d09c4730044874452656769737465722044656c656761746f720002014e6f64652049440000537472696e67000301416d6f756e7400015546697836340003", + "hash": "0a41e53ad3c9c1c16c8732dd8331b8ca66063617d433b01d4d09c47300448744" }, { - "title": "SCO.08 - Stake Unstaked Tokens - 2", + "title": "SCO.03 - Register Node", "valid": true, "chainID": "Mainnet", "payloadMessage": { - "script": "import FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// Commits unstaked tokens to stake for the specified node or delegator in the staking collection\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n }\n\n execute {\n self.stakingCollectionRef.stakeUnstakedTokens(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", + "script": "import Crypto\nimport FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// Registers a delegator in the staking collection resource\n/// for the specified node information and the amount of tokens to commit\n\ntransaction(id: String,\n role: UInt8,\n networkingAddress: String,\n networkingKey: String,\n stakingKey: String,\n amount: UFix64,\n machineAccountKey: String, \n machineAccountKeySignatureAlgorithm: UInt8, \n machineAccountKeyHashAlgorithm: UInt8) {\n\n let stakingCollectionRef: auth(FlowStakingCollection.CollectionOwner) &FlowStakingCollection.StakingCollection\n\n prepare(account: auth(BorrowValue) &Account) {\n self.stakingCollectionRef = account.storage.borrow(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow a reference to a StakingCollection in the primary user's account\")\n\n if let machineAccount = self.stakingCollectionRef.registerNode(\n id: id,\n role: role,\n networkingAddress: networkingAddress,\n networkingKey: networkingKey,\n stakingKey: stakingKey,\n amount: amount,\n payer: account\n ) {\n let sigAlgo = SignatureAlgorithm(rawValue: machineAccountKeySignatureAlgorithm)\n ?? panic(\"Could not get a signature algorithm from the raw enum value provided\")\n\n let hashAlgo = HashAlgorithm(rawValue: machineAccountKeyHashAlgorithm)\n ?? panic(\"Could not get a hash algorithm from the raw enum value provided\")\n \n let publicKey = PublicKey(\n\t\t\t publicKey: machineAccountKey.decodeHex(),\n\t\t\t signatureAlgorithm: sigAlgo\n\t\t )\n machineAccount.keys.add(publicKey: publicKey, hashAlgorithm: hashAlgo, weight: 1000.0)\n }\n }\n}\n", "arguments": [ { "type": "String", "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" }, { - "type": "Optional", - "value": { - "type": "UInt32", - "value": "42" - } + "value": "1", + "type": "UInt8" }, { - "type": "UFix64", - "value": "92233720368.54775808" + "value": "flow-node.test:3569", + "type": "String" + }, + { + "value": "1348307bc77c688e80049de9d081aa09755da33e6997605fa059db2144fc85e560cbe6f7da8d74b453f5916618cb8fd392c2db856f3e78221dc68db1b1d914e4", + "type": "String" + }, + { + "value": "9e9ae0d645fd5fd9050792e0b0daa82cc1686d9133afa0f81a784b375c42ae48567d1545e7a9e1965f2c1a32f73cf8575ebb7a967f6e4d104d2df78eb8be409135d12da0499b8a00771f642c1b9c49397f22b440439f036c3bdee82f5309dab3", + "type": "String" + }, + { + "value": "92233720368.54775808", + "type": "UFix64" + }, + { + "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164", + "type": "String" + }, + { + "value": "1", + "type": "UInt8" + }, + { + "value": "1", + "type": "UInt8" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -4883,22 +3100,43 @@ ] }, "envelopeMessage": { - "script": "import FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// Commits unstaked tokens to stake for the specified node or delegator in the staking collection\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n }\n\n execute {\n self.stakingCollectionRef.stakeUnstakedTokens(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", + "script": "import Crypto\nimport FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// Registers a delegator in the staking collection resource\n/// for the specified node information and the amount of tokens to commit\n\ntransaction(id: String,\n role: UInt8,\n networkingAddress: String,\n networkingKey: String,\n stakingKey: String,\n amount: UFix64,\n machineAccountKey: String, \n machineAccountKeySignatureAlgorithm: UInt8, \n machineAccountKeyHashAlgorithm: UInt8) {\n\n let stakingCollectionRef: auth(FlowStakingCollection.CollectionOwner) &FlowStakingCollection.StakingCollection\n\n prepare(account: auth(BorrowValue) &Account) {\n self.stakingCollectionRef = account.storage.borrow(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow a reference to a StakingCollection in the primary user's account\")\n\n if let machineAccount = self.stakingCollectionRef.registerNode(\n id: id,\n role: role,\n networkingAddress: networkingAddress,\n networkingKey: networkingKey,\n stakingKey: stakingKey,\n amount: amount,\n payer: account\n ) {\n let sigAlgo = SignatureAlgorithm(rawValue: machineAccountKeySignatureAlgorithm)\n ?? panic(\"Could not get a signature algorithm from the raw enum value provided\")\n\n let hashAlgo = HashAlgorithm(rawValue: machineAccountKeyHashAlgorithm)\n ?? panic(\"Could not get a hash algorithm from the raw enum value provided\")\n \n let publicKey = PublicKey(\n\t\t\t publicKey: machineAccountKey.decodeHex(),\n\t\t\t signatureAlgorithm: sigAlgo\n\t\t )\n machineAccount.keys.add(publicKey: publicKey, hashAlgorithm: hashAlgo, weight: 1000.0)\n }\n }\n}\n", "arguments": [ { "type": "String", "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" }, { - "type": "Optional", - "value": { - "type": "UInt32", - "value": "42" - } + "value": "1", + "type": "UInt8" }, { - "type": "UFix64", - "value": "92233720368.54775808" + "value": "flow-node.test:3569", + "type": "String" + }, + { + "value": "1348307bc77c688e80049de9d081aa09755da33e6997605fa059db2144fc85e560cbe6f7da8d74b453f5916618cb8fd392c2db856f3e78221dc68db1b1d914e4", + "type": "String" + }, + { + "value": "9e9ae0d645fd5fd9050792e0b0daa82cc1686d9133afa0f81a784b375c42ae48567d1545e7a9e1965f2c1a32f73cf8575ebb7a967f6e4d104d2df78eb8be409135d12da0499b8a00771f642c1b9c49397f22b440439f036c3bdee82f5309dab3", + "type": "String" + }, + { + "value": "92233720368.54775808", + "type": "UFix64" + }, + { + "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164", + "type": "String" + }, + { + "value": "1", + "type": "UInt8" + }, + { + "value": "1", + "type": "UInt8" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -4914,21 +3152,33 @@ ], "payloadSigs": [] }, - "encodedTransactionPayloadHex": "f903c5b902b5696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f20436f6d6d69747320756e7374616b656420746f6b656e7320746f207374616b6520666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e7374616b65556e7374616b6564546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8cbb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db83a7b2274797065223a224f7074696f6e616c222c2276616c7565223a7b2274797065223a2255496e743332222c2276616c7565223a223432227d7db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f903c9f903c5b902b5696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f20436f6d6d69747320756e7374616b656420746f6b656e7320746f207374616b6520666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e7374616b65556e7374616b6564546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8cbb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db83a7b2274797065223a224f7074696f6e616c222c2276616c7565223a7b2274797065223a2255496e743332222c2276616c7565223a223432227d7db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "023595fcd68cff445c65ad99f8d4d726b5e28807b061800769c41cbe3adb98aeec082e690b9647182cf6969db1a0fa8e0f1728da6db01fe0d462e9f0841c268cbb5374616b6520556e7374616b656420546f6b656e730003014e6f64652049440000537472696e6700030244656c656761746f72204944000155496e743332000301416d6f756e7400025546697836340003", - "hash": "082e690b9647182cf6969db1a0fa8e0f1728da6db01fe0d462e9f0841c268cbb" + "encodedTransactionPayloadHex": "f90b24b907a0696d706f72742043727970746f0a696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f2052656769737465727320612064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e207265736f757263650a2f2f2f20666f722074686520737065636966696564206e6f646520696e666f726d6174696f6e20616e642074686520616d6f756e74206f6620746f6b656e7320746f20636f6d6d69740a0a7472616e73616374696f6e2869643a20537472696e672c0a202020202020202020202020726f6c653a2055496e74382c0a2020202020202020202020206e6574776f726b696e67416464726573733a20537472696e672c0a2020202020202020202020206e6574776f726b696e674b65793a20537472696e672c0a2020202020202020202020207374616b696e674b65793a20537472696e672c0a202020202020202020202020616d6f756e743a205546697836342c0a2020202020202020202020206d616368696e654163636f756e744b65793a20537472696e672c200a2020202020202020202020206d616368696e654163636f756e744b65795369676e6174757265416c676f726974686d3a2055496e74382c200a2020202020202020202020206d616368696e654163636f756e744b657948617368416c676f726974686d3a2055496e743829207b0a0a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a206175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a206175746828426f72726f7756616c75652920264163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e73746f726167652e626f72726f773c6175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f2061205374616b696e67436f6c6c656374696f6e20696e20746865207072696d61727920757365722773206163636f756e7422290a0a20202020202020206966206c6574206d616368696e654163636f756e74203d2073656c662e7374616b696e67436f6c6c656374696f6e5265662e72656769737465724e6f6465280a20202020202020202020202069643a2069642c0a202020202020202020202020726f6c653a20726f6c652c0a2020202020202020202020206e6574776f726b696e67416464726573733a206e6574776f726b696e67416464726573732c0a2020202020202020202020206e6574776f726b696e674b65793a206e6574776f726b696e674b65792c0a2020202020202020202020207374616b696e674b65793a207374616b696e674b65792c0a202020202020202020202020616d6f756e743a20616d6f756e742c0a20202020202020202020202070617965723a206163636f756e740a202020202020202029207b0a2020202020202020202020206c657420736967416c676f203d205369676e6174757265416c676f726974686d2872617756616c75653a206d616368696e654163636f756e744b65795369676e6174757265416c676f726974686d290a202020202020202020202020202020203f3f2070616e69632822436f756c64206e6f74206765742061207369676e617475726520616c676f726974686d2066726f6d207468652072617720656e756d2076616c75652070726f766964656422290a0a2020202020202020202020206c65742068617368416c676f203d2048617368416c676f726974686d2872617756616c75653a206d616368696e654163636f756e744b657948617368416c676f726974686d290a202020202020202020202020202020203f3f2070616e69632822436f756c64206e6f74206765742061206861736820616c676f726974686d2066726f6d207468652072617720656e756d2076616c75652070726f766964656422290a2020202020202020202020200a2020202020202020202020206c6574207075626c69634b6579203d205075626c69634b6579280a090909202020207075626c69634b65793a206d616368696e654163636f756e744b65792e6465636f646548657828292c0a090909202020207369676e6174757265416c676f726974686d3a20736967416c676f0a090920202020290a2020202020202020202020206d616368696e654163636f756e742e6b6579732e616464287075626c69634b65793a207075626c69634b65792c2068617368416c676f726974686d3a2068617368416c676f2c207765696768743a20313030302e30290a20202020202020207d0a202020207d0a7d0af9033eb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227d9c7b2276616c7565223a2231222c2274797065223a2255496e7438227daf7b2276616c7565223a22666c6f772d6e6f64652e746573743a33353639222c2274797065223a22537472696e67227db89c7b2276616c7565223a223133343833303762633737633638386538303034396465396430383161613039373535646133336536393937363035666130353964623231343466633835653536306362653666376461386437346234353366353931363631386362386664333932633264623835366633653738323231646336386462316231643931346534222c2274797065223a22537472696e67227db8dc7b2276616c7565223a22396539616530643634356664356664393035303739326530623064616138326363313638366439313333616661306638316137383462333735633432616534383536376431353435653761396531393635663263316133326637336366383537356562623761393637663665346431303464326466373865623862653430393133356431326461303439396238613030373731663634326331623963343933393766323262343430343339663033366333626465653832663533303964616233222c2274797065223a22537472696e67227db07b2276616c7565223a2239323233333732303336382e3534373735383038222c2274797065223a22554669783634227db8aa7b2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634222c2274797065223a22537472696e67227d9c7b2276616c7565223a2231222c2274797065223a2255496e7438227d9c7b2276616c7565223a2231222c2274797065223a2255496e7438227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", + "encodedTransactionEnvelopeHex": "f90b28f90b24b907a0696d706f72742043727970746f0a696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f2052656769737465727320612064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e207265736f757263650a2f2f2f20666f722074686520737065636966696564206e6f646520696e666f726d6174696f6e20616e642074686520616d6f756e74206f6620746f6b656e7320746f20636f6d6d69740a0a7472616e73616374696f6e2869643a20537472696e672c0a202020202020202020202020726f6c653a2055496e74382c0a2020202020202020202020206e6574776f726b696e67416464726573733a20537472696e672c0a2020202020202020202020206e6574776f726b696e674b65793a20537472696e672c0a2020202020202020202020207374616b696e674b65793a20537472696e672c0a202020202020202020202020616d6f756e743a205546697836342c0a2020202020202020202020206d616368696e654163636f756e744b65793a20537472696e672c200a2020202020202020202020206d616368696e654163636f756e744b65795369676e6174757265416c676f726974686d3a2055496e74382c200a2020202020202020202020206d616368696e654163636f756e744b657948617368416c676f726974686d3a2055496e743829207b0a0a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a206175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a206175746828426f72726f7756616c75652920264163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e73746f726167652e626f72726f773c6175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f2061205374616b696e67436f6c6c656374696f6e20696e20746865207072696d61727920757365722773206163636f756e7422290a0a20202020202020206966206c6574206d616368696e654163636f756e74203d2073656c662e7374616b696e67436f6c6c656374696f6e5265662e72656769737465724e6f6465280a20202020202020202020202069643a2069642c0a202020202020202020202020726f6c653a20726f6c652c0a2020202020202020202020206e6574776f726b696e67416464726573733a206e6574776f726b696e67416464726573732c0a2020202020202020202020206e6574776f726b696e674b65793a206e6574776f726b696e674b65792c0a2020202020202020202020207374616b696e674b65793a207374616b696e674b65792c0a202020202020202020202020616d6f756e743a20616d6f756e742c0a20202020202020202020202070617965723a206163636f756e740a202020202020202029207b0a2020202020202020202020206c657420736967416c676f203d205369676e6174757265416c676f726974686d2872617756616c75653a206d616368696e654163636f756e744b65795369676e6174757265416c676f726974686d290a202020202020202020202020202020203f3f2070616e69632822436f756c64206e6f74206765742061207369676e617475726520616c676f726974686d2066726f6d207468652072617720656e756d2076616c75652070726f766964656422290a0a2020202020202020202020206c65742068617368416c676f203d2048617368416c676f726974686d2872617756616c75653a206d616368696e654163636f756e744b657948617368416c676f726974686d290a202020202020202020202020202020203f3f2070616e69632822436f756c64206e6f74206765742061206861736820616c676f726974686d2066726f6d207468652072617720656e756d2076616c75652070726f766964656422290a2020202020202020202020200a2020202020202020202020206c6574207075626c69634b6579203d205075626c69634b6579280a090909202020207075626c69634b65793a206d616368696e654163636f756e744b65792e6465636f646548657828292c0a090909202020207369676e6174757265416c676f726974686d3a20736967416c676f0a090920202020290a2020202020202020202020206d616368696e654163636f756e742e6b6579732e616464287075626c69634b65793a207075626c69634b65792c2068617368416c676f726974686d3a2068617368416c676f2c207765696768743a20313030302e30290a20202020202020207d0a202020207d0a7d0af9033eb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227d9c7b2276616c7565223a2231222c2274797065223a2255496e7438227daf7b2276616c7565223a22666c6f772d6e6f64652e746573743a33353639222c2274797065223a22537472696e67227db89c7b2276616c7565223a223133343833303762633737633638386538303034396465396430383161613039373535646133336536393937363035666130353964623231343466633835653536306362653666376461386437346234353366353931363631386362386664333932633264623835366633653738323231646336386462316231643931346534222c2274797065223a22537472696e67227db8dc7b2276616c7565223a22396539616530643634356664356664393035303739326530623064616138326363313638366439313333616661306638316137383462333735633432616534383536376431353435653761396531393635663263316133326637336366383537356562623761393637663665346431303464326466373865623862653430393133356431326461303439396238613030373731663634326331623963343933393766323262343430343339663033366333626465653832663533303964616233222c2274797065223a22537472696e67227db07b2276616c7565223a2239323233333732303336382e3534373735383038222c2274797065223a22554669783634227db8aa7b2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634222c2274797065223a22537472696e67227d9c7b2276616c7565223a2231222c2274797065223a2255496e7438227d9c7b2276616c7565223a2231222c2274797065223a2255496e7438227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", + "metadata": "02deb5f758f3eb3b125cd9b14a6528f18d535377709fcef41e743751eb828009213b0b2bbc3a2ad674122c182112f7008a8d3d1b60b107033c0ebe7bbe50df52675265676973746572204e6f64650009014e6f64652049440000537472696e670003014e6f646520526f6c65000155496e74380003014e6574772e20416464726573730002537472696e670003014e6574772e204b65790003537472696e670003015374616b696e67204b65790004537472696e67000301416d6f756e7400055546697836340003014d41205075624b65790006537472696e670003014d412053416c67000755496e74380003014d412048416c67000855496e74380003", + "hash": "3b0b2bbc3a2ad674122c182112f7008a8d3d1b60b107033c0ebe7bbe50df5267" }, { - "title": "SCO.09 - Unstake All", + "title": "SCO.04 - Create Machine Account", "valid": true, "chainID": "Mainnet", "payloadMessage": { - "script": "import FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// Requests to unstake ALL tokens for the specified node or delegator in the staking collection\n\ntransaction(nodeID: String) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n }\n\n execute {\n self.stakingCollectionRef.unstakeAll(nodeID: nodeID)\n }\n}\n", + "script": "import Crypto\nimport FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// Creates a machine account for a node that is already in the staking collection\n/// and adds public keys to the new account\n\ntransaction(nodeID: String, \n machineAccountKey: String, \n machineAccountKeySignatureAlgorithm: UInt8, \n machineAccountKeyHashAlgorithm: UInt8) {\n \n let stakingCollectionRef: auth(FlowStakingCollection.CollectionOwner) &FlowStakingCollection.StakingCollection\n\n prepare(account: auth(BorrowValue) &Account) {\n self.stakingCollectionRef = account.storage.borrow(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow a reference to a StakingCollection in the primary user's account\")\n\n if let machineAccount = self.stakingCollectionRef.createMachineAccountForExistingNode(nodeID: nodeID, payer: account) {\n let sigAlgo = SignatureAlgorithm(rawValue: machineAccountKeySignatureAlgorithm)\n ?? panic(\"Could not get a signature algorithm from the raw enum value provided\")\n\n let hashAlgo = HashAlgorithm(rawValue: machineAccountKeyHashAlgorithm)\n ?? panic(\"Could not get a hash algorithm from the raw enum value provided\")\n \n let publicKey = PublicKey(\n\t\t\t publicKey: machineAccountKey.decodeHex(),\n\t\t\t signatureAlgorithm: sigAlgo\n\t\t )\n machineAccount.keys.add(publicKey: publicKey, hashAlgorithm: hashAlgo, weight: 1000.0)\n } else {\n panic(\"Could not create a machine account for the node\")\n }\n }\n}\n", "arguments": [ { "type": "String", "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" + }, + { + "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164", + "type": "String" + }, + { + "value": "1", + "type": "UInt8" + }, + { + "value": "1", + "type": "UInt8" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -4944,11 +3194,23 @@ ] }, "envelopeMessage": { - "script": "import FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// Requests to unstake ALL tokens for the specified node or delegator in the staking collection\n\ntransaction(nodeID: String) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n }\n\n execute {\n self.stakingCollectionRef.unstakeAll(nodeID: nodeID)\n }\n}\n", + "script": "import Crypto\nimport FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// Creates a machine account for a node that is already in the staking collection\n/// and adds public keys to the new account\n\ntransaction(nodeID: String, \n machineAccountKey: String, \n machineAccountKeySignatureAlgorithm: UInt8, \n machineAccountKeyHashAlgorithm: UInt8) {\n \n let stakingCollectionRef: auth(FlowStakingCollection.CollectionOwner) &FlowStakingCollection.StakingCollection\n\n prepare(account: auth(BorrowValue) &Account) {\n self.stakingCollectionRef = account.storage.borrow(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow a reference to a StakingCollection in the primary user's account\")\n\n if let machineAccount = self.stakingCollectionRef.createMachineAccountForExistingNode(nodeID: nodeID, payer: account) {\n let sigAlgo = SignatureAlgorithm(rawValue: machineAccountKeySignatureAlgorithm)\n ?? panic(\"Could not get a signature algorithm from the raw enum value provided\")\n\n let hashAlgo = HashAlgorithm(rawValue: machineAccountKeyHashAlgorithm)\n ?? panic(\"Could not get a hash algorithm from the raw enum value provided\")\n \n let publicKey = PublicKey(\n\t\t\t publicKey: machineAccountKey.decodeHex(),\n\t\t\t signatureAlgorithm: sigAlgo\n\t\t )\n machineAccount.keys.add(publicKey: publicKey, hashAlgorithm: hashAlgo, weight: 1000.0)\n } else {\n panic(\"Could not create a machine account for the node\")\n }\n }\n}\n", "arguments": [ { "type": "String", "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" + }, + { + "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164", + "type": "String" + }, + { + "value": "1", + "type": "UInt8" + }, + { + "value": "1", + "type": "UInt8" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -4964,32 +3226,29 @@ ], "payloadSigs": [] }, - "encodedTransactionPayloadHex": "f902fdb9025a696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f20526571756573747320746f20756e7374616b6520414c4c20746f6b656e7320666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a0a7472616e73616374696f6e286e6f646549443a20537472696e6729207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e756e7374616b65416c6c286e6f646549443a206e6f64654944290a202020207d0a7d0af85eb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f90301f902fdb9025a696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f20526571756573747320746f20756e7374616b6520414c4c20746f6b656e7320666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a0a7472616e73616374696f6e286e6f646549443a20537472696e6729207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e756e7374616b65416c6c286e6f646549443a206e6f64654944290a202020207d0a7d0af85eb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "020bde358f3965ba2f4c18fb45b6536857c3f53d7d3b740fe66fe93a4ebf7524c1df9c6486baa6f8f685368ea216659239cb81fa8ebd9062a9723edb54ca0d7525556e7374616b6520416c6c0001014e6f64652049440000537472696e670003", - "hash": "df9c6486baa6f8f685368ea216659239cb81fa8ebd9062a9723edb54ca0d7525" + "encodedTransactionPayloadHex": "f9082bb906a1696d706f72742043727970746f0a696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f20437265617465732061206d616368696e65206163636f756e7420666f722061206e6f6465207468617420697320616c726561647920696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f20616e642061646473207075626c6963206b65797320746f20746865206e6577206163636f756e740a0a7472616e73616374696f6e286e6f646549443a20537472696e672c200a2020202020202020202020206d616368696e654163636f756e744b65793a20537472696e672c200a2020202020202020202020206d616368696e654163636f756e744b65795369676e6174757265416c676f726974686d3a2055496e74382c200a2020202020202020202020206d616368696e654163636f756e744b657948617368416c676f726974686d3a2055496e743829207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a206175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a206175746828426f72726f7756616c75652920264163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e73746f726167652e626f72726f773c6175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f2061205374616b696e67436f6c6c656374696f6e20696e20746865207072696d61727920757365722773206163636f756e7422290a0a20202020202020206966206c6574206d616368696e654163636f756e74203d2073656c662e7374616b696e67436f6c6c656374696f6e5265662e6372656174654d616368696e654163636f756e74466f724578697374696e674e6f6465286e6f646549443a206e6f646549442c2070617965723a206163636f756e7429207b0a2020202020202020202020206c657420736967416c676f203d205369676e6174757265416c676f726974686d2872617756616c75653a206d616368696e654163636f756e744b65795369676e6174757265416c676f726974686d290a202020202020202020202020202020203f3f2070616e69632822436f756c64206e6f74206765742061207369676e617475726520616c676f726974686d2066726f6d207468652072617720656e756d2076616c75652070726f766964656422290a0a2020202020202020202020206c65742068617368416c676f203d2048617368416c676f726974686d2872617756616c75653a206d616368696e654163636f756e744b657948617368416c676f726974686d290a202020202020202020202020202020203f3f2070616e69632822436f756c64206e6f74206765742061206861736820616c676f726974686d2066726f6d207468652072617720656e756d2076616c75652070726f766964656422290a2020202020202020202020200a2020202020202020202020206c6574207075626c69634b6579203d205075626c69634b6579280a090909202020207075626c69634b65793a206d616368696e654163636f756e744b65792e6465636f646548657828292c0a090909202020207369676e6174757265416c676f726974686d3a20736967416c676f0a090920202020290a2020202020202020202020206d616368696e654163636f756e742e6b6579732e616464287075626c69634b65793a207075626c69634b65792c2068617368416c676f726974686d3a2068617368416c676f2c207765696768743a20313030302e30290a20202020202020207d20656c7365207b0a20202020202020202020202070616e69632822436f756c64206e6f74206372656174652061206d616368696e65206163636f756e7420666f7220746865206e6f646522290a20202020202020207d0a202020207d0a7d0af90144b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db8aa7b2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634222c2274797065223a22537472696e67227d9c7b2276616c7565223a2231222c2274797065223a2255496e7438227d9c7b2276616c7565223a2231222c2274797065223a2255496e7438227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", + "encodedTransactionEnvelopeHex": "f9082ff9082bb906a1696d706f72742043727970746f0a696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f20437265617465732061206d616368696e65206163636f756e7420666f722061206e6f6465207468617420697320616c726561647920696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f20616e642061646473207075626c6963206b65797320746f20746865206e6577206163636f756e740a0a7472616e73616374696f6e286e6f646549443a20537472696e672c200a2020202020202020202020206d616368696e654163636f756e744b65793a20537472696e672c200a2020202020202020202020206d616368696e654163636f756e744b65795369676e6174757265416c676f726974686d3a2055496e74382c200a2020202020202020202020206d616368696e654163636f756e744b657948617368416c676f726974686d3a2055496e743829207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a206175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a206175746828426f72726f7756616c75652920264163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e73746f726167652e626f72726f773c6175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f2061205374616b696e67436f6c6c656374696f6e20696e20746865207072696d61727920757365722773206163636f756e7422290a0a20202020202020206966206c6574206d616368696e654163636f756e74203d2073656c662e7374616b696e67436f6c6c656374696f6e5265662e6372656174654d616368696e654163636f756e74466f724578697374696e674e6f6465286e6f646549443a206e6f646549442c2070617965723a206163636f756e7429207b0a2020202020202020202020206c657420736967416c676f203d205369676e6174757265416c676f726974686d2872617756616c75653a206d616368696e654163636f756e744b65795369676e6174757265416c676f726974686d290a202020202020202020202020202020203f3f2070616e69632822436f756c64206e6f74206765742061207369676e617475726520616c676f726974686d2066726f6d207468652072617720656e756d2076616c75652070726f766964656422290a0a2020202020202020202020206c65742068617368416c676f203d2048617368416c676f726974686d2872617756616c75653a206d616368696e654163636f756e744b657948617368416c676f726974686d290a202020202020202020202020202020203f3f2070616e69632822436f756c64206e6f74206765742061206861736820616c676f726974686d2066726f6d207468652072617720656e756d2076616c75652070726f766964656422290a2020202020202020202020200a2020202020202020202020206c6574207075626c69634b6579203d205075626c69634b6579280a090909202020207075626c69634b65793a206d616368696e654163636f756e744b65792e6465636f646548657828292c0a090909202020207369676e6174757265416c676f726974686d3a20736967416c676f0a090920202020290a2020202020202020202020206d616368696e654163636f756e742e6b6579732e616464287075626c69634b65793a207075626c69634b65792c2068617368416c676f726974686d3a2068617368416c676f2c207765696768743a20313030302e30290a20202020202020207d20656c7365207b0a20202020202020202020202070616e69632822436f756c64206e6f74206372656174652061206d616368696e65206163636f756e7420666f7220746865206e6f646522290a20202020202020207d0a202020207d0a7d0af90144b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db8aa7b2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634222c2274797065223a22537472696e67227d9c7b2276616c7565223a2231222c2274797065223a2255496e7438227d9c7b2276616c7565223a2231222c2274797065223a2255496e7438227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", + "metadata": "024c1ad61500bcd0d32d7aa7eb84ca9b7417219ed6d524e05de8c55fb7d50940e4f0a6cedb6703cd4ce4cc3b735e5edb5a7e5b17a87a725343d745e5d53b7c0a01437265617465204d616368696e65204163636f756e740004014e6f64652049440000537472696e670003014d41205075624b65790001537472696e670003014d412053416c67000255496e74380003014d412048416c67000355496e74380003", + "hash": "f0a6cedb6703cd4ce4cc3b735e5edb5a7e5b17a87a725343d745e5d53b7c0a01" }, { - "title": "SCO.10 - Withdraw Rewarded Tokens - 1", + "title": "SCO.05 - Request Unstaking - 1", "valid": true, "chainID": "Mainnet", "payloadMessage": { - "script": "import FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// Request to withdraw rewarded tokens for the specified node or delegator in the staking collection\n/// The tokens are automatically deposited to the unlocked account vault first,\n/// And then any locked tokens are deposited into the locked account vault\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n }\n\n execute {\n self.stakingCollectionRef.withdrawRewardedTokens(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", + "script": "import FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// Requests unstaking for the specified node or delegator in the staking collection\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: auth(FlowStakingCollection.CollectionOwner) &FlowStakingCollection.StakingCollection\n\n prepare(account: auth(BorrowValue) &Account) {\n self.stakingCollectionRef = account.storage.borrow(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow a reference to a StakingCollection in the primary user's account\")\n }\n\n execute {\n self.stakingCollectionRef.requestUnstaking(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", "arguments": [ { "type": "String", "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" }, { - "type": "Optional", - "value": { - "type": "UInt32", - "value": "42" - } + "value": null, + "type": "Optional" }, { - "type": "UFix64", - "value": "92233720368.54775808" + "value": "92233720368.54775808", + "type": "UFix64" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -5005,22 +3264,19 @@ ] }, "envelopeMessage": { - "script": "import FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// Request to withdraw rewarded tokens for the specified node or delegator in the staking collection\n/// The tokens are automatically deposited to the unlocked account vault first,\n/// And then any locked tokens are deposited into the locked account vault\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n }\n\n execute {\n self.stakingCollectionRef.withdrawRewardedTokens(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", + "script": "import FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// Requests unstaking for the specified node or delegator in the staking collection\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: auth(FlowStakingCollection.CollectionOwner) &FlowStakingCollection.StakingCollection\n\n prepare(account: auth(BorrowValue) &Account) {\n self.stakingCollectionRef = account.storage.borrow(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow a reference to a StakingCollection in the primary user's account\")\n }\n\n execute {\n self.stakingCollectionRef.requestUnstaking(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", "arguments": [ { "type": "String", "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" }, { - "type": "Optional", - "value": { - "type": "UInt32", - "value": "42" - } + "value": null, + "type": "Optional" }, { - "type": "UFix64", - "value": "92233720368.54775808" + "value": "92233720368.54775808", + "type": "UFix64" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -5036,29 +3292,32 @@ ], "payloadSigs": [] }, - "encodedTransactionPayloadHex": "f90466b90356696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f205265717565737420746f20776974686472617720726577617264656420746f6b656e7320666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f2054686520746f6b656e7320617265206175746f6d61746963616c6c79206465706f736974656420746f2074686520756e6c6f636b6564206163636f756e74207661756c742066697273742c0a2f2f2f20416e64207468656e20616e79206c6f636b656420746f6b656e7320617265206465706f736974656420696e746f20746865206c6f636b6564206163636f756e74207661756c740a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e77697468647261775265776172646564546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8cbb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db83a7b2274797065223a224f7074696f6e616c222c2276616c7565223a7b2274797065223a2255496e743332222c2276616c7565223a223432227d7db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f9046af90466b90356696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f205265717565737420746f20776974686472617720726577617264656420746f6b656e7320666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f2054686520746f6b656e7320617265206175746f6d61746963616c6c79206465706f736974656420746f2074686520756e6c6f636b6564206163636f756e74207661756c742066697273742c0a2f2f2f20416e64207468656e20616e79206c6f636b656420746f6b656e7320617265206465706f736974656420696e746f20746865206c6f636b6564206163636f756e74207661756c740a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e77697468647261775265776172646564546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8cbb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db83a7b2274797065223a224f7074696f6e616c222c2276616c7565223a7b2274797065223a2255496e743332222c2276616c7565223a223432227d7db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "023af182f568b37a8067d3fb524afcfe96991c85a928bf7651e730be0e15fdb72d27a2b60d538b8bb883b602ea83d1697986a29dd69a44a9209dc75affb9e63299576974686472617720526577617264656420546f6b656e730003014e6f64652049440000537472696e6700030244656c656761746f72204944000155496e743332000301416d6f756e7400025546697836340003", - "hash": "27a2b60d538b8bb883b602ea83d1697986a29dd69a44a9209dc75affb9e63299" + "encodedTransactionPayloadHex": "f90430b9033b696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f20526571756573747320756e7374616b696e6720666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a206175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a206175746828426f72726f7756616c75652920264163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e73746f726167652e626f72726f773c6175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f2061205374616b696e67436f6c6c656374696f6e20696e20746865207072696d61727920757365722773206163636f756e7422290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e72657175657374556e7374616b696e67286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8b0b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227da07b2276616c7565223a6e756c6c2c2274797065223a224f7074696f6e616c227db07b2276616c7565223a2239323233333732303336382e3534373735383038222c2274797065223a22554669783634227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", + "encodedTransactionEnvelopeHex": "f90434f90430b9033b696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f20526571756573747320756e7374616b696e6720666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a206175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a206175746828426f72726f7756616c75652920264163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e73746f726167652e626f72726f773c6175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f2061205374616b696e67436f6c6c656374696f6e20696e20746865207072696d61727920757365722773206163636f756e7422290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e72657175657374556e7374616b696e67286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8b0b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227da07b2276616c7565223a6e756c6c2c2274797065223a224f7074696f6e616c227db07b2276616c7565223a2239323233333732303336382e3534373735383038222c2274797065223a22554669783634227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", + "metadata": "022d59f2c2c402f919c8dba30009e31480d54e2b250d2e10456e1ff029bd7cce99f26c058a127500fcd8445ba9fcf55149fe8f1a1a7cd212688d13fcd6ee2765295265717565737420556e7374616b696e670003014e6f64652049440000537472696e6700030244656c656761746f72204944000155496e743332000301416d6f756e7400025546697836340003", + "hash": "f26c058a127500fcd8445ba9fcf55149fe8f1a1a7cd212688d13fcd6ee276529" }, { - "title": "SCO.10 - Withdraw Rewarded Tokens - 2", + "title": "SCO.05 - Request Unstaking - 2", "valid": true, "chainID": "Mainnet", "payloadMessage": { - "script": "import FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// Request to withdraw rewarded tokens for the specified node or delegator in the staking collection\n/// The tokens are automatically deposited to the unlocked account vault first,\n/// And then any locked tokens are deposited into the locked account vault\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n }\n\n execute {\n self.stakingCollectionRef.withdrawRewardedTokens(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", + "script": "import FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// Requests unstaking for the specified node or delegator in the staking collection\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: auth(FlowStakingCollection.CollectionOwner) &FlowStakingCollection.StakingCollection\n\n prepare(account: auth(BorrowValue) &Account) {\n self.stakingCollectionRef = account.storage.borrow(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow a reference to a StakingCollection in the primary user's account\")\n }\n\n execute {\n self.stakingCollectionRef.requestUnstaking(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", "arguments": [ { "type": "String", "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" }, { - "type": "Optional", - "value": null + "value": { + "value": "42", + "type": "UInt32" + }, + "type": "Optional" }, { - "type": "UFix64", - "value": "92233720368.54775808" + "value": "92233720368.54775808", + "type": "UFix64" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -5074,19 +3333,22 @@ ] }, "envelopeMessage": { - "script": "import FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// Request to withdraw rewarded tokens for the specified node or delegator in the staking collection\n/// The tokens are automatically deposited to the unlocked account vault first,\n/// And then any locked tokens are deposited into the locked account vault\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n }\n\n execute {\n self.stakingCollectionRef.withdrawRewardedTokens(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", + "script": "import FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// Requests unstaking for the specified node or delegator in the staking collection\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: auth(FlowStakingCollection.CollectionOwner) &FlowStakingCollection.StakingCollection\n\n prepare(account: auth(BorrowValue) &Account) {\n self.stakingCollectionRef = account.storage.borrow(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow a reference to a StakingCollection in the primary user's account\")\n }\n\n execute {\n self.stakingCollectionRef.requestUnstaking(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", "arguments": [ { "type": "String", "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" }, { - "type": "Optional", - "value": null + "value": { + "value": "42", + "type": "UInt32" + }, + "type": "Optional" }, { - "type": "UFix64", - "value": "92233720368.54775808" + "value": "92233720368.54775808", + "type": "UFix64" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -5102,29 +3364,29 @@ ], "payloadSigs": [] }, - "encodedTransactionPayloadHex": "f9044bb90356696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f205265717565737420746f20776974686472617720726577617264656420746f6b656e7320666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f2054686520746f6b656e7320617265206175746f6d61746963616c6c79206465706f736974656420746f2074686520756e6c6f636b6564206163636f756e74207661756c742066697273742c0a2f2f2f20416e64207468656e20616e79206c6f636b656420746f6b656e7320617265206465706f736974656420696e746f20746865206c6f636b6564206163636f756e74207661756c740a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e77697468647261775265776172646564546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8b0b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227da07b2274797065223a224f7074696f6e616c222c2276616c7565223a6e756c6c7db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f9044ff9044bb90356696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f205265717565737420746f20776974686472617720726577617264656420746f6b656e7320666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f2054686520746f6b656e7320617265206175746f6d61746963616c6c79206465706f736974656420746f2074686520756e6c6f636b6564206163636f756e74207661756c742066697273742c0a2f2f2f20416e64207468656e20616e79206c6f636b656420746f6b656e7320617265206465706f736974656420696e746f20746865206c6f636b6564206163636f756e74207661756c740a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e77697468647261775265776172646564546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8b0b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227da07b2274797065223a224f7074696f6e616c222c2276616c7565223a6e756c6c7db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "023af182f568b37a8067d3fb524afcfe96991c85a928bf7651e730be0e15fdb72d27a2b60d538b8bb883b602ea83d1697986a29dd69a44a9209dc75affb9e63299576974686472617720526577617264656420546f6b656e730003014e6f64652049440000537472696e6700030244656c656761746f72204944000155496e743332000301416d6f756e7400025546697836340003", - "hash": "27a2b60d538b8bb883b602ea83d1697986a29dd69a44a9209dc75affb9e63299" + "encodedTransactionPayloadHex": "f9044bb9033b696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f20526571756573747320756e7374616b696e6720666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a206175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a206175746828426f72726f7756616c75652920264163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e73746f726167652e626f72726f773c6175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f2061205374616b696e67436f6c6c656374696f6e20696e20746865207072696d61727920757365722773206163636f756e7422290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e72657175657374556e7374616b696e67286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8cbb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db83a7b2276616c7565223a7b2276616c7565223a223432222c2274797065223a2255496e743332227d2c2274797065223a224f7074696f6e616c227db07b2276616c7565223a2239323233333732303336382e3534373735383038222c2274797065223a22554669783634227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", + "encodedTransactionEnvelopeHex": "f9044ff9044bb9033b696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f20526571756573747320756e7374616b696e6720666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a206175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a206175746828426f72726f7756616c75652920264163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e73746f726167652e626f72726f773c6175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f2061205374616b696e67436f6c6c656374696f6e20696e20746865207072696d61727920757365722773206163636f756e7422290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e72657175657374556e7374616b696e67286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8cbb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db83a7b2276616c7565223a7b2276616c7565223a223432222c2274797065223a2255496e743332227d2c2274797065223a224f7074696f6e616c227db07b2276616c7565223a2239323233333732303336382e3534373735383038222c2274797065223a22554669783634227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", + "metadata": "022d59f2c2c402f919c8dba30009e31480d54e2b250d2e10456e1ff029bd7cce99f26c058a127500fcd8445ba9fcf55149fe8f1a1a7cd212688d13fcd6ee2765295265717565737420556e7374616b696e670003014e6f64652049440000537472696e6700030244656c656761746f72204944000155496e743332000301416d6f756e7400025546697836340003", + "hash": "f26c058a127500fcd8445ba9fcf55149fe8f1a1a7cd212688d13fcd6ee276529" }, { - "title": "SCO.11 - Withdraw Unstaked Tokens - 1", + "title": "SCO.06 - Stake New Tokens - 1", "valid": true, "chainID": "Mainnet", "payloadMessage": { - "script": "import FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// Request to withdraw unstaked tokens for the specified node or delegator in the staking collection\n/// The tokens are automatically deposited to the unlocked account vault first,\n/// And then any locked tokens are deposited into the locked account vault if it is there\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n }\n\n execute {\n self.stakingCollectionRef.withdrawUnstakedTokens(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", + "script": "import FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// Commits new tokens to stake for the specified node or delegator in the staking collection\n/// The tokens from the locked vault are used first, if it exists\n/// followed by the tokens from the unlocked vault\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: auth(FlowStakingCollection.CollectionOwner) &FlowStakingCollection.StakingCollection\n\n prepare(account: auth(BorrowValue) &Account) {\n self.stakingCollectionRef = account.storage.borrow(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow a reference to a StakingCollection in the primary user's account\")\n }\n\n execute {\n self.stakingCollectionRef.stakeNewTokens(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", "arguments": [ { "type": "String", "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" }, { - "type": "Optional", - "value": null + "value": null, + "type": "Optional" }, { - "type": "UFix64", - "value": "92233720368.54775808" + "value": "92233720368.54775808", + "type": "UFix64" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -5140,19 +3402,19 @@ ] }, "envelopeMessage": { - "script": "import FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// Request to withdraw unstaked tokens for the specified node or delegator in the staking collection\n/// The tokens are automatically deposited to the unlocked account vault first,\n/// And then any locked tokens are deposited into the locked account vault if it is there\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n }\n\n execute {\n self.stakingCollectionRef.withdrawUnstakedTokens(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", + "script": "import FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// Commits new tokens to stake for the specified node or delegator in the staking collection\n/// The tokens from the locked vault are used first, if it exists\n/// followed by the tokens from the unlocked vault\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: auth(FlowStakingCollection.CollectionOwner) &FlowStakingCollection.StakingCollection\n\n prepare(account: auth(BorrowValue) &Account) {\n self.stakingCollectionRef = account.storage.borrow(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow a reference to a StakingCollection in the primary user's account\")\n }\n\n execute {\n self.stakingCollectionRef.stakeNewTokens(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", "arguments": [ { "type": "String", "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" }, { - "type": "Optional", - "value": null + "value": null, + "type": "Optional" }, { - "type": "UFix64", - "value": "92233720368.54775808" + "value": "92233720368.54775808", + "type": "UFix64" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -5168,32 +3430,32 @@ ], "payloadSigs": [] }, - "encodedTransactionPayloadHex": "f9045ab90365696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f205265717565737420746f20776974686472617720756e7374616b656420746f6b656e7320666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f2054686520746f6b656e7320617265206175746f6d61746963616c6c79206465706f736974656420746f2074686520756e6c6f636b6564206163636f756e74207661756c742066697273742c0a2f2f2f20416e64207468656e20616e79206c6f636b656420746f6b656e7320617265206465706f736974656420696e746f20746865206c6f636b6564206163636f756e74207661756c742069662069742069732074686572650a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e7769746864726177556e7374616b6564546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8b0b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227da07b2274797065223a224f7074696f6e616c222c2276616c7565223a6e756c6c7db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f9045ef9045ab90365696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f205265717565737420746f20776974686472617720756e7374616b656420746f6b656e7320666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f2054686520746f6b656e7320617265206175746f6d61746963616c6c79206465706f736974656420746f2074686520756e6c6f636b6564206163636f756e74207661756c742066697273742c0a2f2f2f20416e64207468656e20616e79206c6f636b656420746f6b656e7320617265206465706f736974656420696e746f20746865206c6f636b6564206163636f756e74207661756c742069662069742069732074686572650a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e7769746864726177556e7374616b6564546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8b0b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227da07b2274797065223a224f7074696f6e616c222c2276616c7565223a6e756c6c7db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "0268879197d961bb104a56e1e7d35660436fe4c52ed78f79d97fa50aa9e96fabf06d50ab1ef3d74203081c38306da74f5ad8fdd489e49fba732f8ba194d0c781c8576974686472617720556e7374616b656420546f6b656e730003014e6f64652049440000537472696e6700030244656c656761746f72204944000155496e743332000301416d6f756e7400025546697836340003", - "hash": "6d50ab1ef3d74203081c38306da74f5ad8fdd489e49fba732f8ba194d0c781c8" + "encodedTransactionPayloadHex": "f904acb903b7696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f20436f6d6d697473206e657720746f6b656e7320746f207374616b6520666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f2054686520746f6b656e732066726f6d20746865206c6f636b6564207661756c742061726520757365642066697273742c206966206974206578697374730a2f2f2f20666f6c6c6f7765642062792074686520746f6b656e732066726f6d2074686520756e6c6f636b6564207661756c740a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a206175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a206175746828426f72726f7756616c75652920264163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e73746f726167652e626f72726f773c6175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f2061205374616b696e67436f6c6c656374696f6e20696e20746865207072696d61727920757365722773206163636f756e7422290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e7374616b654e6577546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8b0b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227da07b2276616c7565223a6e756c6c2c2274797065223a224f7074696f6e616c227db07b2276616c7565223a2239323233333732303336382e3534373735383038222c2274797065223a22554669783634227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", + "encodedTransactionEnvelopeHex": "f904b0f904acb903b7696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f20436f6d6d697473206e657720746f6b656e7320746f207374616b6520666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f2054686520746f6b656e732066726f6d20746865206c6f636b6564207661756c742061726520757365642066697273742c206966206974206578697374730a2f2f2f20666f6c6c6f7765642062792074686520746f6b656e732066726f6d2074686520756e6c6f636b6564207661756c740a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a206175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a206175746828426f72726f7756616c75652920264163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e73746f726167652e626f72726f773c6175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f2061205374616b696e67436f6c6c656374696f6e20696e20746865207072696d61727920757365722773206163636f756e7422290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e7374616b654e6577546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8b0b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227da07b2276616c7565223a6e756c6c2c2274797065223a224f7074696f6e616c227db07b2276616c7565223a2239323233333732303336382e3534373735383038222c2274797065223a22554669783634227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", + "metadata": "02cf2b03950077352487e6344ab65edc3e1856731ab9cf68aa2ebbe279ae496d4b4c0658934352486097cc89fa06b98bac21e514770fc6a4d70a7adc4bec6d711d5374616b65204e657720546f6b656e730003014e6f64652049440000537472696e6700030244656c656761746f72204944000155496e743332000301416d6f756e7400025546697836340003", + "hash": "4c0658934352486097cc89fa06b98bac21e514770fc6a4d70a7adc4bec6d711d" }, { - "title": "SCO.11 - Withdraw Unstaked Tokens - 2", + "title": "SCO.06 - Stake New Tokens - 2", "valid": true, "chainID": "Mainnet", "payloadMessage": { - "script": "import FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// Request to withdraw unstaked tokens for the specified node or delegator in the staking collection\n/// The tokens are automatically deposited to the unlocked account vault first,\n/// And then any locked tokens are deposited into the locked account vault if it is there\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n }\n\n execute {\n self.stakingCollectionRef.withdrawUnstakedTokens(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", + "script": "import FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// Commits new tokens to stake for the specified node or delegator in the staking collection\n/// The tokens from the locked vault are used first, if it exists\n/// followed by the tokens from the unlocked vault\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: auth(FlowStakingCollection.CollectionOwner) &FlowStakingCollection.StakingCollection\n\n prepare(account: auth(BorrowValue) &Account) {\n self.stakingCollectionRef = account.storage.borrow(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow a reference to a StakingCollection in the primary user's account\")\n }\n\n execute {\n self.stakingCollectionRef.stakeNewTokens(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", "arguments": [ { "type": "String", "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" }, { - "type": "Optional", "value": { - "type": "UInt32", - "value": "42" - } + "value": "42", + "type": "UInt32" + }, + "type": "Optional" }, { - "type": "UFix64", - "value": "92233720368.54775808" + "value": "92233720368.54775808", + "type": "UFix64" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -5209,22 +3471,22 @@ ] }, "envelopeMessage": { - "script": "import FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// Request to withdraw unstaked tokens for the specified node or delegator in the staking collection\n/// The tokens are automatically deposited to the unlocked account vault first,\n/// And then any locked tokens are deposited into the locked account vault if it is there\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n }\n\n execute {\n self.stakingCollectionRef.withdrawUnstakedTokens(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", + "script": "import FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// Commits new tokens to stake for the specified node or delegator in the staking collection\n/// The tokens from the locked vault are used first, if it exists\n/// followed by the tokens from the unlocked vault\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: auth(FlowStakingCollection.CollectionOwner) &FlowStakingCollection.StakingCollection\n\n prepare(account: auth(BorrowValue) &Account) {\n self.stakingCollectionRef = account.storage.borrow(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow a reference to a StakingCollection in the primary user's account\")\n }\n\n execute {\n self.stakingCollectionRef.stakeNewTokens(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", "arguments": [ { "type": "String", "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" }, { - "type": "Optional", "value": { - "type": "UInt32", - "value": "42" - } + "value": "42", + "type": "UInt32" + }, + "type": "Optional" }, { - "type": "UFix64", - "value": "92233720368.54775808" + "value": "92233720368.54775808", + "type": "UFix64" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -5240,28 +3502,29 @@ ], "payloadSigs": [] }, - "encodedTransactionPayloadHex": "f90475b90365696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f205265717565737420746f20776974686472617720756e7374616b656420746f6b656e7320666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f2054686520746f6b656e7320617265206175746f6d61746963616c6c79206465706f736974656420746f2074686520756e6c6f636b6564206163636f756e74207661756c742066697273742c0a2f2f2f20416e64207468656e20616e79206c6f636b656420746f6b656e7320617265206465706f736974656420696e746f20746865206c6f636b6564206163636f756e74207661756c742069662069742069732074686572650a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e7769746864726177556e7374616b6564546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8cbb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db83a7b2274797065223a224f7074696f6e616c222c2276616c7565223a7b2274797065223a2255496e743332222c2276616c7565223a223432227d7db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f90479f90475b90365696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f205265717565737420746f20776974686472617720756e7374616b656420746f6b656e7320666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f2054686520746f6b656e7320617265206175746f6d61746963616c6c79206465706f736974656420746f2074686520756e6c6f636b6564206163636f756e74207661756c742066697273742c0a2f2f2f20416e64207468656e20616e79206c6f636b656420746f6b656e7320617265206465706f736974656420696e746f20746865206c6f636b6564206163636f756e74207661756c742069662069742069732074686572650a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e7769746864726177556e7374616b6564546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8cbb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db83a7b2274797065223a224f7074696f6e616c222c2276616c7565223a7b2274797065223a2255496e743332222c2276616c7565223a223432227d7db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "0268879197d961bb104a56e1e7d35660436fe4c52ed78f79d97fa50aa9e96fabf06d50ab1ef3d74203081c38306da74f5ad8fdd489e49fba732f8ba194d0c781c8576974686472617720556e7374616b656420546f6b656e730003014e6f64652049440000537472696e6700030244656c656761746f72204944000155496e743332000301416d6f756e7400025546697836340003", - "hash": "6d50ab1ef3d74203081c38306da74f5ad8fdd489e49fba732f8ba194d0c781c8" + "encodedTransactionPayloadHex": "f904c7b903b7696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f20436f6d6d697473206e657720746f6b656e7320746f207374616b6520666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f2054686520746f6b656e732066726f6d20746865206c6f636b6564207661756c742061726520757365642066697273742c206966206974206578697374730a2f2f2f20666f6c6c6f7765642062792074686520746f6b656e732066726f6d2074686520756e6c6f636b6564207661756c740a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a206175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a206175746828426f72726f7756616c75652920264163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e73746f726167652e626f72726f773c6175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f2061205374616b696e67436f6c6c656374696f6e20696e20746865207072696d61727920757365722773206163636f756e7422290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e7374616b654e6577546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8cbb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db83a7b2276616c7565223a7b2276616c7565223a223432222c2274797065223a2255496e743332227d2c2274797065223a224f7074696f6e616c227db07b2276616c7565223a2239323233333732303336382e3534373735383038222c2274797065223a22554669783634227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", + "encodedTransactionEnvelopeHex": "f904cbf904c7b903b7696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f20436f6d6d697473206e657720746f6b656e7320746f207374616b6520666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f2054686520746f6b656e732066726f6d20746865206c6f636b6564207661756c742061726520757365642066697273742c206966206974206578697374730a2f2f2f20666f6c6c6f7765642062792074686520746f6b656e732066726f6d2074686520756e6c6f636b6564207661756c740a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a206175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a206175746828426f72726f7756616c75652920264163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e73746f726167652e626f72726f773c6175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f2061205374616b696e67436f6c6c656374696f6e20696e20746865207072696d61727920757365722773206163636f756e7422290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e7374616b654e6577546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8cbb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db83a7b2276616c7565223a7b2276616c7565223a223432222c2274797065223a2255496e743332227d2c2274797065223a224f7074696f6e616c227db07b2276616c7565223a2239323233333732303336382e3534373735383038222c2274797065223a22554669783634227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", + "metadata": "02cf2b03950077352487e6344ab65edc3e1856731ab9cf68aa2ebbe279ae496d4b4c0658934352486097cc89fa06b98bac21e514770fc6a4d70a7adc4bec6d711d5374616b65204e657720546f6b656e730003014e6f64652049440000537472696e6700030244656c656761746f72204944000155496e743332000301416d6f756e7400025546697836340003", + "hash": "4c0658934352486097cc89fa06b98bac21e514770fc6a4d70a7adc4bec6d711d" }, { - "title": "SCO.12 - Close Stake - 1", + "title": "SCO.07 - Stake Rewarded Tokens - 1", "valid": true, "chainID": "Mainnet", "payloadMessage": { - "script": "import FlowStakingCollection from 0x8d0e87b65159ae63\n\n// Closes out a staking object in the staking collection\n// This does not remove the record from the identity table,\n// but it does mean that the account that closes it cannot ever access it again\n\ntransaction(nodeID: String, delegatorID: UInt32?) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n }\n\n execute {\n self.stakingCollectionRef.closeStake(nodeID: nodeID, delegatorID: delegatorID)\n }\n}\n", + "script": "import FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// Commits rewarded tokens to stake for the specified node or delegator in the staking collection\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: auth(FlowStakingCollection.CollectionOwner) &FlowStakingCollection.StakingCollection\n\n prepare(account: auth(BorrowValue) &Account) {\n self.stakingCollectionRef = account.storage.borrow(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow a reference to a StakingCollection in the primary user's account\")\n }\n\n execute {\n self.stakingCollectionRef.stakeRewardedTokens(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", "arguments": [ { "type": "String", "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" }, { - "type": "Optional", - "value": { - "type": "UInt32", - "value": "42" - } + "value": null, + "type": "Optional" + }, + { + "value": "92233720368.54775808", + "type": "UFix64" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -5277,18 +3540,19 @@ ] }, "envelopeMessage": { - "script": "import FlowStakingCollection from 0x8d0e87b65159ae63\n\n// Closes out a staking object in the staking collection\n// This does not remove the record from the identity table,\n// but it does mean that the account that closes it cannot ever access it again\n\ntransaction(nodeID: String, delegatorID: UInt32?) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n }\n\n execute {\n self.stakingCollectionRef.closeStake(nodeID: nodeID, delegatorID: delegatorID)\n }\n}\n", + "script": "import FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// Commits rewarded tokens to stake for the specified node or delegator in the staking collection\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: auth(FlowStakingCollection.CollectionOwner) &FlowStakingCollection.StakingCollection\n\n prepare(account: auth(BorrowValue) &Account) {\n self.stakingCollectionRef = account.storage.borrow(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow a reference to a StakingCollection in the primary user's account\")\n }\n\n execute {\n self.stakingCollectionRef.stakeRewardedTokens(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", "arguments": [ { "type": "String", "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" }, { - "type": "Optional", - "value": { - "type": "UInt32", - "value": "42" - } + "value": null, + "type": "Optional" + }, + { + "value": "92233720368.54775808", + "type": "UFix64" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -5304,25 +3568,32 @@ ], "payloadSigs": [] }, - "encodedTransactionPayloadHex": "f903cdb902ee696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f20436c6f736573206f75742061207374616b696e67206f626a65637420696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f205468697320646f6573206e6f742072656d6f766520746865207265636f72642066726f6d20746865206964656e74697479207461626c652c0a2f2f2062757420697420646f6573206d65616e207468617420746865206163636f756e74207468617420636c6f7365732069742063616e6e6f7420657665722061636365737320697420616761696e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f29207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e636c6f73655374616b65286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f724944290a202020207d0a7d0af89ab85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db83a7b2274797065223a224f7074696f6e616c222c2276616c7565223a7b2274797065223a2255496e743332222c2276616c7565223a223432227d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f903d1f903cdb902ee696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f20436c6f736573206f75742061207374616b696e67206f626a65637420696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f205468697320646f6573206e6f742072656d6f766520746865207265636f72642066726f6d20746865206964656e74697479207461626c652c0a2f2f2062757420697420646f6573206d65616e207468617420746865206163636f756e74207468617420636c6f7365732069742063616e6e6f7420657665722061636365737320697420616761696e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f29207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e636c6f73655374616b65286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f724944290a202020207d0a7d0af89ab85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db83a7b2274797065223a224f7074696f6e616c222c2276616c7565223a7b2274797065223a2255496e743332222c2276616c7565223a223432227d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "02079aaa9cfb22138415056b43d5d91e8d73bd8bd5f37ebff4f4023d33ea6d2f25ecdffc1ae67479bc20c06eba6c776ff37b9523660ff1cd3129a3924d92484884436c6f7365205374616b650002014e6f64652049440000537472696e6700030244656c656761746f72204944000155496e7433320003", - "hash": "ecdffc1ae67479bc20c06eba6c776ff37b9523660ff1cd3129a3924d92484884" + "encodedTransactionPayloadHex": "f90441b9034c696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f20436f6d6d69747320726577617264656420746f6b656e7320746f207374616b6520666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a206175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a206175746828426f72726f7756616c75652920264163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e73746f726167652e626f72726f773c6175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f2061205374616b696e67436f6c6c656374696f6e20696e20746865207072696d61727920757365722773206163636f756e7422290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e7374616b655265776172646564546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8b0b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227da07b2276616c7565223a6e756c6c2c2274797065223a224f7074696f6e616c227db07b2276616c7565223a2239323233333732303336382e3534373735383038222c2274797065223a22554669783634227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", + "encodedTransactionEnvelopeHex": "f90445f90441b9034c696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f20436f6d6d69747320726577617264656420746f6b656e7320746f207374616b6520666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a206175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a206175746828426f72726f7756616c75652920264163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e73746f726167652e626f72726f773c6175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f2061205374616b696e67436f6c6c656374696f6e20696e20746865207072696d61727920757365722773206163636f756e7422290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e7374616b655265776172646564546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8b0b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227da07b2276616c7565223a6e756c6c2c2274797065223a224f7074696f6e616c227db07b2276616c7565223a2239323233333732303336382e3534373735383038222c2274797065223a22554669783634227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", + "metadata": "024395faf2e515eea4d40f82416ad387575f0d5a580612223c361130e53e72f00bc989e8b3beb9c2eb5af2ee1e11d592c9f1131e76e7ef105a0d40cf1610d1e3485374616b6520526577617264656420546f6b656e730003014e6f64652049440000537472696e6700030244656c656761746f72204944000155496e743332000301416d6f756e7400025546697836340003", + "hash": "c989e8b3beb9c2eb5af2ee1e11d592c9f1131e76e7ef105a0d40cf1610d1e348" }, { - "title": "SCO.12 - Close Stake - 2", + "title": "SCO.07 - Stake Rewarded Tokens - 2", "valid": true, "chainID": "Mainnet", "payloadMessage": { - "script": "import FlowStakingCollection from 0x8d0e87b65159ae63\n\n// Closes out a staking object in the staking collection\n// This does not remove the record from the identity table,\n// but it does mean that the account that closes it cannot ever access it again\n\ntransaction(nodeID: String, delegatorID: UInt32?) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n }\n\n execute {\n self.stakingCollectionRef.closeStake(nodeID: nodeID, delegatorID: delegatorID)\n }\n}\n", + "script": "import FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// Commits rewarded tokens to stake for the specified node or delegator in the staking collection\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: auth(FlowStakingCollection.CollectionOwner) &FlowStakingCollection.StakingCollection\n\n prepare(account: auth(BorrowValue) &Account) {\n self.stakingCollectionRef = account.storage.borrow(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow a reference to a StakingCollection in the primary user's account\")\n }\n\n execute {\n self.stakingCollectionRef.stakeRewardedTokens(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", "arguments": [ { "type": "String", "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" }, { - "type": "Optional", - "value": null + "value": { + "value": "42", + "type": "UInt32" + }, + "type": "Optional" + }, + { + "value": "92233720368.54775808", + "type": "UFix64" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -5338,15 +3609,22 @@ ] }, "envelopeMessage": { - "script": "import FlowStakingCollection from 0x8d0e87b65159ae63\n\n// Closes out a staking object in the staking collection\n// This does not remove the record from the identity table,\n// but it does mean that the account that closes it cannot ever access it again\n\ntransaction(nodeID: String, delegatorID: UInt32?) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n }\n\n execute {\n self.stakingCollectionRef.closeStake(nodeID: nodeID, delegatorID: delegatorID)\n }\n}\n", + "script": "import FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// Commits rewarded tokens to stake for the specified node or delegator in the staking collection\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: auth(FlowStakingCollection.CollectionOwner) &FlowStakingCollection.StakingCollection\n\n prepare(account: auth(BorrowValue) &Account) {\n self.stakingCollectionRef = account.storage.borrow(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow a reference to a StakingCollection in the primary user's account\")\n }\n\n execute {\n self.stakingCollectionRef.stakeRewardedTokens(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", "arguments": [ { "type": "String", "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" }, { - "type": "Optional", - "value": null + "value": { + "value": "42", + "type": "UInt32" + }, + "type": "Optional" + }, + { + "value": "92233720368.54775808", + "type": "UFix64" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -5362,25 +3640,29 @@ ], "payloadSigs": [] }, - "encodedTransactionPayloadHex": "f903b2b902ee696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f20436c6f736573206f75742061207374616b696e67206f626a65637420696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f205468697320646f6573206e6f742072656d6f766520746865207265636f72642066726f6d20746865206964656e74697479207461626c652c0a2f2f2062757420697420646f6573206d65616e207468617420746865206163636f756e74207468617420636c6f7365732069742063616e6e6f7420657665722061636365737320697420616761696e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f29207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e636c6f73655374616b65286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f724944290a202020207d0a7d0af87fb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227da07b2274797065223a224f7074696f6e616c222c2276616c7565223a6e756c6c7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f903b6f903b2b902ee696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f20436c6f736573206f75742061207374616b696e67206f626a65637420696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f205468697320646f6573206e6f742072656d6f766520746865207265636f72642066726f6d20746865206964656e74697479207461626c652c0a2f2f2062757420697420646f6573206d65616e207468617420746865206163636f756e74207468617420636c6f7365732069742063616e6e6f7420657665722061636365737320697420616761696e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f29207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e636c6f73655374616b65286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f724944290a202020207d0a7d0af87fb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227da07b2274797065223a224f7074696f6e616c222c2276616c7565223a6e756c6c7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "02079aaa9cfb22138415056b43d5d91e8d73bd8bd5f37ebff4f4023d33ea6d2f25ecdffc1ae67479bc20c06eba6c776ff37b9523660ff1cd3129a3924d92484884436c6f7365205374616b650002014e6f64652049440000537472696e6700030244656c656761746f72204944000155496e7433320003", - "hash": "ecdffc1ae67479bc20c06eba6c776ff37b9523660ff1cd3129a3924d92484884" + "encodedTransactionPayloadHex": "f9045cb9034c696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f20436f6d6d69747320726577617264656420746f6b656e7320746f207374616b6520666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a206175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a206175746828426f72726f7756616c75652920264163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e73746f726167652e626f72726f773c6175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f2061205374616b696e67436f6c6c656374696f6e20696e20746865207072696d61727920757365722773206163636f756e7422290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e7374616b655265776172646564546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8cbb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db83a7b2276616c7565223a7b2276616c7565223a223432222c2274797065223a2255496e743332227d2c2274797065223a224f7074696f6e616c227db07b2276616c7565223a2239323233333732303336382e3534373735383038222c2274797065223a22554669783634227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", + "encodedTransactionEnvelopeHex": "f90460f9045cb9034c696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f20436f6d6d69747320726577617264656420746f6b656e7320746f207374616b6520666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a206175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a206175746828426f72726f7756616c75652920264163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e73746f726167652e626f72726f773c6175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f2061205374616b696e67436f6c6c656374696f6e20696e20746865207072696d61727920757365722773206163636f756e7422290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e7374616b655265776172646564546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8cbb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db83a7b2276616c7565223a7b2276616c7565223a223432222c2274797065223a2255496e743332227d2c2274797065223a224f7074696f6e616c227db07b2276616c7565223a2239323233333732303336382e3534373735383038222c2274797065223a22554669783634227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", + "metadata": "024395faf2e515eea4d40f82416ad387575f0d5a580612223c361130e53e72f00bc989e8b3beb9c2eb5af2ee1e11d592c9f1131e76e7ef105a0d40cf1610d1e3485374616b6520526577617264656420546f6b656e730003014e6f64652049440000537472696e6700030244656c656761746f72204944000155496e743332000301416d6f756e7400025546697836340003", + "hash": "c989e8b3beb9c2eb5af2ee1e11d592c9f1131e76e7ef105a0d40cf1610d1e348" }, { - "title": "SCO.13 - Transfer Node", + "title": "SCO.08 - Stake Unstaked Tokens - 1", "valid": true, "chainID": "Mainnet", "payloadMessage": { - "script": "import FlowStakingCollection from 0x8d0e87b65159ae63\n\n// Transfers a NodeStaker object from an authorizers accoount\n// and adds the NodeStaker to another accounts Staking Collection\n// identified by the to Address.\n\ntransaction(nodeID: String, to: Address) {\n let fromStakingCollectionRef: &FlowStakingCollection.StakingCollection\n let toStakingCollectionCap: &FlowStakingCollection.StakingCollection{FlowStakingCollection.StakingCollectionPublic}\n\n prepare(account: AuthAccount) {\n // The account to transfer the NodeStaker object to must have a valid Staking Collection in order to receive the NodeStaker.\n if (!FlowStakingCollection.doesAccountHaveStakingCollection(address: to)) {\n panic(\"Destination account must have a Staking Collection set up.\")\n }\n\n // Get a reference to the authorizers StakingCollection\n self.fromStakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n\n // Get the PublicAccount of the account to transfer the NodeStaker to. \n let toAccount = getAccount(to)\n\n // Borrow a capability to the public methods available on the receivers StakingCollection.\n self.toStakingCollectionCap = toAccount.getCapability<&FlowStakingCollection.StakingCollection{FlowStakingCollection.StakingCollectionPublic}>(FlowStakingCollection.StakingCollectionPublicPath).borrow()\n ?? panic(\"Could not borrow ref to StakingCollection\")\n\n let machineAccountInfo = self.fromStakingCollectionRef.getMachineAccounts()[nodeID]\n ?? panic(\"Could not get machine account info for the specified node ID\")\n\n // Remove the NodeStaker from the authorizers StakingCollection.\n let nodeStaker <- self.fromStakingCollectionRef.removeNode(nodeID: nodeID)\n\n // Deposit the NodeStaker to the receivers StakingCollection.\n self.toStakingCollectionCap.addNodeObject(<- nodeStaker!, machineAccountInfo: machineAccountInfo)\n }\n}", + "script": "import FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// Commits unstaked tokens to stake for the specified node or delegator in the staking collection\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: auth(FlowStakingCollection.CollectionOwner) &FlowStakingCollection.StakingCollection\n\n prepare(account: auth(BorrowValue) &Account) {\n self.stakingCollectionRef = account.storage.borrow(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow a reference to a StakingCollection in the primary user's account\")\n }\n\n execute {\n self.stakingCollectionRef.stakeUnstakedTokens(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", "arguments": [ { "type": "String", "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" }, { - "type": "Address", - "value": "0xe467b9dd11fa00df" + "value": null, + "type": "Optional" + }, + { + "value": "92233720368.54775808", + "type": "UFix64" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -5396,15 +3678,19 @@ ] }, "envelopeMessage": { - "script": "import FlowStakingCollection from 0x8d0e87b65159ae63\n\n// Transfers a NodeStaker object from an authorizers accoount\n// and adds the NodeStaker to another accounts Staking Collection\n// identified by the to Address.\n\ntransaction(nodeID: String, to: Address) {\n let fromStakingCollectionRef: &FlowStakingCollection.StakingCollection\n let toStakingCollectionCap: &FlowStakingCollection.StakingCollection{FlowStakingCollection.StakingCollectionPublic}\n\n prepare(account: AuthAccount) {\n // The account to transfer the NodeStaker object to must have a valid Staking Collection in order to receive the NodeStaker.\n if (!FlowStakingCollection.doesAccountHaveStakingCollection(address: to)) {\n panic(\"Destination account must have a Staking Collection set up.\")\n }\n\n // Get a reference to the authorizers StakingCollection\n self.fromStakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n\n // Get the PublicAccount of the account to transfer the NodeStaker to. \n let toAccount = getAccount(to)\n\n // Borrow a capability to the public methods available on the receivers StakingCollection.\n self.toStakingCollectionCap = toAccount.getCapability<&FlowStakingCollection.StakingCollection{FlowStakingCollection.StakingCollectionPublic}>(FlowStakingCollection.StakingCollectionPublicPath).borrow()\n ?? panic(\"Could not borrow ref to StakingCollection\")\n\n let machineAccountInfo = self.fromStakingCollectionRef.getMachineAccounts()[nodeID]\n ?? panic(\"Could not get machine account info for the specified node ID\")\n\n // Remove the NodeStaker from the authorizers StakingCollection.\n let nodeStaker <- self.fromStakingCollectionRef.removeNode(nodeID: nodeID)\n\n // Deposit the NodeStaker to the receivers StakingCollection.\n self.toStakingCollectionCap.addNodeObject(<- nodeStaker!, machineAccountInfo: machineAccountInfo)\n }\n}", + "script": "import FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// Commits unstaked tokens to stake for the specified node or delegator in the staking collection\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: auth(FlowStakingCollection.CollectionOwner) &FlowStakingCollection.StakingCollection\n\n prepare(account: auth(BorrowValue) &Account) {\n self.stakingCollectionRef = account.storage.borrow(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow a reference to a StakingCollection in the primary user's account\")\n }\n\n execute {\n self.stakingCollectionRef.stakeUnstakedTokens(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", "arguments": [ { "type": "String", "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" }, { - "type": "Address", - "value": "0xe467b9dd11fa00df" + "value": null, + "type": "Optional" + }, + { + "value": "92233720368.54775808", + "type": "UFix64" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -5420,29 +3706,32 @@ ], "payloadSigs": [] }, - "encodedTransactionPayloadHex": "f90907b90834696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f205472616e73666572732061204e6f64655374616b6572206f626a6563742066726f6d20616e20617574686f72697a657273206163636f6f756e740a2f2f20616e64206164647320746865204e6f64655374616b657220746f20616e6f74686572206163636f756e7473205374616b696e6720436f6c6c656374696f6e0a2f2f206964656e7469666965642062792074686520746f20416464726573732e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c20746f3a204164647265737329207b0a202020206c65742066726f6d5374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a202020206c657420746f5374616b696e67436f6c6c656374696f6e4361703a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e7b466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e5075626c69637d0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a20202020202020202f2f20546865206163636f756e7420746f207472616e7366657220746865204e6f64655374616b6572206f626a65637420746f206d757374206861766520612076616c6964205374616b696e6720436f6c6c656374696f6e20696e206f7264657220746f207265636569766520746865204e6f64655374616b65722e0a20202020202020206966202821466c6f775374616b696e67436f6c6c656374696f6e2e646f65734163636f756e74486176655374616b696e67436f6c6c656374696f6e28616464726573733a20746f2929207b0a20202020202020202020202070616e6963282244657374696e6174696f6e206163636f756e74206d75737420686176652061205374616b696e6720436f6c6c656374696f6e207365742075702e22290a20202020202020207d0a0a20202020202020202f2f204765742061207265666572656e636520746f2074686520617574686f72697a657273205374616b696e67436f6c6c656374696f6e0a202020202020202073656c662e66726f6d5374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a0a20202020202020202f2f2047657420746865205075626c69634163636f756e74206f6620746865206163636f756e7420746f207472616e7366657220746865204e6f64655374616b657220746f2e200a20202020202020206c657420746f4163636f756e74203d206765744163636f756e7428746f290a0a20202020202020202f2f20426f72726f772061206361706162696c69747920746f20746865207075626c6963206d6574686f647320617661696c61626c65206f6e2074686520726563656976657273205374616b696e67436f6c6c656374696f6e2e0a202020202020202073656c662e746f5374616b696e67436f6c6c656374696f6e436170203d20746f4163636f756e742e6765744361706162696c6974793c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e7b466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e5075626c69637d3e28466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e5075626c696350617468292e626f72726f7728290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a0a20202020202020206c6574206d616368696e654163636f756e74496e666f203d2073656c662e66726f6d5374616b696e67436f6c6c656374696f6e5265662e6765744d616368696e654163636f756e747328295b6e6f646549445d0a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420676574206d616368696e65206163636f756e7420696e666f20666f722074686520737065636966696564206e6f646520494422290a0a20202020202020202f2f2052656d6f766520746865204e6f64655374616b65722066726f6d2074686520617574686f72697a657273205374616b696e67436f6c6c656374696f6e2e0a20202020202020206c6574206e6f64655374616b6572203c2d2073656c662e66726f6d5374616b696e67436f6c6c656374696f6e5265662e72656d6f76654e6f6465286e6f646549443a206e6f64654944290a0a20202020202020202f2f204465706f73697420746865204e6f64655374616b657220746f2074686520726563656976657273205374616b696e67436f6c6c656374696f6e2e0a202020202020202073656c662e746f5374616b696e67436f6c6c656374696f6e4361702e6164644e6f64654f626a656374283c2d206e6f64655374616b6572212c206d616368696e654163636f756e74496e666f3a206d616368696e654163636f756e74496e666f290a202020207d0a7df88eb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227daf7b2274797065223a2241646472657373222c2276616c7565223a22307865343637623964643131666130306466227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f9090bf90907b90834696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f205472616e73666572732061204e6f64655374616b6572206f626a6563742066726f6d20616e20617574686f72697a657273206163636f6f756e740a2f2f20616e64206164647320746865204e6f64655374616b657220746f20616e6f74686572206163636f756e7473205374616b696e6720436f6c6c656374696f6e0a2f2f206964656e7469666965642062792074686520746f20416464726573732e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c20746f3a204164647265737329207b0a202020206c65742066726f6d5374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a202020206c657420746f5374616b696e67436f6c6c656374696f6e4361703a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e7b466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e5075626c69637d0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a20202020202020202f2f20546865206163636f756e7420746f207472616e7366657220746865204e6f64655374616b6572206f626a65637420746f206d757374206861766520612076616c6964205374616b696e6720436f6c6c656374696f6e20696e206f7264657220746f207265636569766520746865204e6f64655374616b65722e0a20202020202020206966202821466c6f775374616b696e67436f6c6c656374696f6e2e646f65734163636f756e74486176655374616b696e67436f6c6c656374696f6e28616464726573733a20746f2929207b0a20202020202020202020202070616e6963282244657374696e6174696f6e206163636f756e74206d75737420686176652061205374616b696e6720436f6c6c656374696f6e207365742075702e22290a20202020202020207d0a0a20202020202020202f2f204765742061207265666572656e636520746f2074686520617574686f72697a657273205374616b696e67436f6c6c656374696f6e0a202020202020202073656c662e66726f6d5374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a0a20202020202020202f2f2047657420746865205075626c69634163636f756e74206f6620746865206163636f756e7420746f207472616e7366657220746865204e6f64655374616b657220746f2e200a20202020202020206c657420746f4163636f756e74203d206765744163636f756e7428746f290a0a20202020202020202f2f20426f72726f772061206361706162696c69747920746f20746865207075626c6963206d6574686f647320617661696c61626c65206f6e2074686520726563656976657273205374616b696e67436f6c6c656374696f6e2e0a202020202020202073656c662e746f5374616b696e67436f6c6c656374696f6e436170203d20746f4163636f756e742e6765744361706162696c6974793c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e7b466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e5075626c69637d3e28466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e5075626c696350617468292e626f72726f7728290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a0a20202020202020206c6574206d616368696e654163636f756e74496e666f203d2073656c662e66726f6d5374616b696e67436f6c6c656374696f6e5265662e6765744d616368696e654163636f756e747328295b6e6f646549445d0a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420676574206d616368696e65206163636f756e7420696e666f20666f722074686520737065636966696564206e6f646520494422290a0a20202020202020202f2f2052656d6f766520746865204e6f64655374616b65722066726f6d2074686520617574686f72697a657273205374616b696e67436f6c6c656374696f6e2e0a20202020202020206c6574206e6f64655374616b6572203c2d2073656c662e66726f6d5374616b696e67436f6c6c656374696f6e5265662e72656d6f76654e6f6465286e6f646549443a206e6f64654944290a0a20202020202020202f2f204465706f73697420746865204e6f64655374616b657220746f2074686520726563656976657273205374616b696e67436f6c6c656374696f6e2e0a202020202020202073656c662e746f5374616b696e67436f6c6c656374696f6e4361702e6164644e6f64654f626a656374283c2d206e6f64655374616b6572212c206d616368696e654163636f756e74496e666f3a206d616368696e654163636f756e74496e666f290a202020207d0a7df88eb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227daf7b2274797065223a2241646472657373222c2276616c7565223a22307865343637623964643131666130306466227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "022386d7ae1a5b936e3914729ee34e01d53a8fbd2e403512ec1beccb4062c231ebcdc3a63d0c75ea95b414becb6fbb8f5a8004236d48661cd3c3d4f540ee4d422e5472616e73666572204e6f64650002014e6f64652049440000537472696e67000301416464726573730001416464726573730003", - "hash": "cdc3a63d0c75ea95b414becb6fbb8f5a8004236d48661cd3c3d4f540ee4d422e" + "encodedTransactionPayloadHex": "f90441b9034c696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f20436f6d6d69747320756e7374616b656420746f6b656e7320746f207374616b6520666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a206175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a206175746828426f72726f7756616c75652920264163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e73746f726167652e626f72726f773c6175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f2061205374616b696e67436f6c6c656374696f6e20696e20746865207072696d61727920757365722773206163636f756e7422290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e7374616b65556e7374616b6564546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8b0b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227da07b2276616c7565223a6e756c6c2c2274797065223a224f7074696f6e616c227db07b2276616c7565223a2239323233333732303336382e3534373735383038222c2274797065223a22554669783634227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", + "encodedTransactionEnvelopeHex": "f90445f90441b9034c696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f20436f6d6d69747320756e7374616b656420746f6b656e7320746f207374616b6520666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a206175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a206175746828426f72726f7756616c75652920264163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e73746f726167652e626f72726f773c6175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f2061205374616b696e67436f6c6c656374696f6e20696e20746865207072696d61727920757365722773206163636f756e7422290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e7374616b65556e7374616b6564546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8b0b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227da07b2276616c7565223a6e756c6c2c2274797065223a224f7074696f6e616c227db07b2276616c7565223a2239323233333732303336382e3534373735383038222c2274797065223a22554669783634227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", + "metadata": "020b1721f2a8ef6c0c4121ef83c7b38f2141eebcd65c72dab9ebaafe1b4d66fea8fe6adb75bf22b2033800e916fa7e3a7810417e9a36d35320de7f4b5f7ec4f1b85374616b6520556e7374616b656420546f6b656e730003014e6f64652049440000537472696e6700030244656c656761746f72204944000155496e743332000301416d6f756e7400025546697836340003", + "hash": "fe6adb75bf22b2033800e916fa7e3a7810417e9a36d35320de7f4b5f7ec4f1b8" }, { - "title": "SCO.14 - Transfer Delegator", + "title": "SCO.08 - Stake Unstaked Tokens - 2", "valid": true, "chainID": "Mainnet", "payloadMessage": { - "script": "import FlowStakingCollection from 0x8d0e87b65159ae63\n\n// Transfers a NodeDelegator object from an authorizers accoount\n// and adds the NodeDelegator to another accounts Staking Collection\n// identified by the to Address.\n\ntransaction(nodeID: String, delegatorID: UInt32, to: Address) {\n let fromStakingCollectionRef: &FlowStakingCollection.StakingCollection\n let toStakingCollectionCap: &FlowStakingCollection.StakingCollection{FlowStakingCollection.StakingCollectionPublic}\n\n prepare(account: AuthAccount) {\n // The account to transfer the NodeDelegator object to must have a valid Staking Collection in order to receive the NodeDelegator.\n if (!FlowStakingCollection.doesAccountHaveStakingCollection(address: to)) {\n panic(\"Destination account must have a Staking Collection set up.\")\n }\n\n // Get a reference to the authorizers StakingCollection\n self.fromStakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n\n // Get the PublicAccount of the account to transfer the NodeDelegator to. \n let toAccount = getAccount(to)\n\n // Borrow a capability to the public methods available on the receivers StakingCollection.\n self.toStakingCollectionCap = toAccount.getCapability<&FlowStakingCollection.StakingCollection{FlowStakingCollection.StakingCollectionPublic}>(FlowStakingCollection.StakingCollectionPublicPath).borrow()\n ?? panic(\"Could not borrow ref to StakingCollection\")\n }\n\n execute {\n // Remove the NodeDelegator from the authorizers StakingCollection.\n let nodeDelegator <- self.fromStakingCollectionRef.removeDelegator(nodeID: nodeID, delegatorID: delegatorID)\n\n // Deposit the NodeDelegator to the receivers StakingCollection.\n self.toStakingCollectionCap.addDelegatorObject(<- nodeDelegator!)\n }\n}", + "script": "import FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// Commits unstaked tokens to stake for the specified node or delegator in the staking collection\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: auth(FlowStakingCollection.CollectionOwner) &FlowStakingCollection.StakingCollection\n\n prepare(account: auth(BorrowValue) &Account) {\n self.stakingCollectionRef = account.storage.borrow(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow a reference to a StakingCollection in the primary user's account\")\n }\n\n execute {\n self.stakingCollectionRef.stakeUnstakedTokens(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", "arguments": [ { "type": "String", "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" }, { - "type": "UInt32", - "value": "42" + "value": { + "value": "42", + "type": "UInt32" + }, + "type": "Optional" }, { - "type": "Address", - "value": "0xe467b9dd11fa00df" + "value": "92233720368.54775808", + "type": "UFix64" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -5458,19 +3747,22 @@ ] }, "envelopeMessage": { - "script": "import FlowStakingCollection from 0x8d0e87b65159ae63\n\n// Transfers a NodeDelegator object from an authorizers accoount\n// and adds the NodeDelegator to another accounts Staking Collection\n// identified by the to Address.\n\ntransaction(nodeID: String, delegatorID: UInt32, to: Address) {\n let fromStakingCollectionRef: &FlowStakingCollection.StakingCollection\n let toStakingCollectionCap: &FlowStakingCollection.StakingCollection{FlowStakingCollection.StakingCollectionPublic}\n\n prepare(account: AuthAccount) {\n // The account to transfer the NodeDelegator object to must have a valid Staking Collection in order to receive the NodeDelegator.\n if (!FlowStakingCollection.doesAccountHaveStakingCollection(address: to)) {\n panic(\"Destination account must have a Staking Collection set up.\")\n }\n\n // Get a reference to the authorizers StakingCollection\n self.fromStakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n\n // Get the PublicAccount of the account to transfer the NodeDelegator to. \n let toAccount = getAccount(to)\n\n // Borrow a capability to the public methods available on the receivers StakingCollection.\n self.toStakingCollectionCap = toAccount.getCapability<&FlowStakingCollection.StakingCollection{FlowStakingCollection.StakingCollectionPublic}>(FlowStakingCollection.StakingCollectionPublicPath).borrow()\n ?? panic(\"Could not borrow ref to StakingCollection\")\n }\n\n execute {\n // Remove the NodeDelegator from the authorizers StakingCollection.\n let nodeDelegator <- self.fromStakingCollectionRef.removeDelegator(nodeID: nodeID, delegatorID: delegatorID)\n\n // Deposit the NodeDelegator to the receivers StakingCollection.\n self.toStakingCollectionCap.addDelegatorObject(<- nodeDelegator!)\n }\n}", + "script": "import FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// Commits unstaked tokens to stake for the specified node or delegator in the staking collection\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: auth(FlowStakingCollection.CollectionOwner) &FlowStakingCollection.StakingCollection\n\n prepare(account: auth(BorrowValue) &Account) {\n self.stakingCollectionRef = account.storage.borrow(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow a reference to a StakingCollection in the primary user's account\")\n }\n\n execute {\n self.stakingCollectionRef.stakeUnstakedTokens(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", "arguments": [ { "type": "String", "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" }, { - "type": "UInt32", - "value": "42" + "value": { + "value": "42", + "type": "UInt32" + }, + "type": "Optional" }, { - "type": "Address", - "value": "0xe467b9dd11fa00df" + "value": "92233720368.54775808", + "type": "UFix64" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -5486,25 +3778,21 @@ ], "payloadSigs": [] }, - "encodedTransactionPayloadHex": "f908b4b907c2696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f205472616e73666572732061204e6f646544656c656761746f72206f626a6563742066726f6d20616e20617574686f72697a657273206163636f6f756e740a2f2f20616e64206164647320746865204e6f646544656c656761746f7220746f20616e6f74686572206163636f756e7473205374616b696e6720436f6c6c656374696f6e0a2f2f206964656e7469666965642062792074686520746f20416464726573732e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433322c20746f3a204164647265737329207b0a202020206c65742066726f6d5374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a202020206c657420746f5374616b696e67436f6c6c656374696f6e4361703a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e7b466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e5075626c69637d0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a20202020202020202f2f20546865206163636f756e7420746f207472616e7366657220746865204e6f646544656c656761746f72206f626a65637420746f206d757374206861766520612076616c6964205374616b696e6720436f6c6c656374696f6e20696e206f7264657220746f207265636569766520746865204e6f646544656c656761746f722e0a20202020202020206966202821466c6f775374616b696e67436f6c6c656374696f6e2e646f65734163636f756e74486176655374616b696e67436f6c6c656374696f6e28616464726573733a20746f2929207b0a20202020202020202020202070616e6963282244657374696e6174696f6e206163636f756e74206d75737420686176652061205374616b696e6720436f6c6c656374696f6e207365742075702e22290a20202020202020207d0a0a20202020202020202f2f204765742061207265666572656e636520746f2074686520617574686f72697a657273205374616b696e67436f6c6c656374696f6e0a202020202020202073656c662e66726f6d5374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a0a20202020202020202f2f2047657420746865205075626c69634163636f756e74206f6620746865206163636f756e7420746f207472616e7366657220746865204e6f646544656c656761746f7220746f2e200a20202020202020206c657420746f4163636f756e74203d206765744163636f756e7428746f290a0a20202020202020202f2f20426f72726f772061206361706162696c69747920746f20746865207075626c6963206d6574686f647320617661696c61626c65206f6e2074686520726563656976657273205374616b696e67436f6c6c656374696f6e2e0a202020202020202073656c662e746f5374616b696e67436f6c6c656374696f6e436170203d20746f4163636f756e742e6765744361706162696c6974793c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e7b466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e5075626c69637d3e28466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e5075626c696350617468292e626f72726f7728290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a20202020202020202f2f2052656d6f766520746865204e6f646544656c656761746f722066726f6d2074686520617574686f72697a657273205374616b696e67436f6c6c656374696f6e2e0a20202020202020206c6574206e6f646544656c656761746f72203c2d2073656c662e66726f6d5374616b696e67436f6c6c656374696f6e5265662e72656d6f766544656c656761746f72286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f724944290a0a20202020202020202f2f204465706f73697420746865204e6f646544656c656761746f7220746f2074686520726563656976657273205374616b696e67436f6c6c656374696f6e2e0a202020202020202073656c662e746f5374616b696e67436f6c6c656374696f6e4361702e61646444656c656761746f724f626a656374283c2d206e6f646544656c656761746f7221290a202020207d0a7df8adb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227d9e7b2274797065223a2255496e743332222c2276616c7565223a223432227daf7b2274797065223a2241646472657373222c2276616c7565223a22307865343637623964643131666130306466227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f908b8f908b4b907c2696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f205472616e73666572732061204e6f646544656c656761746f72206f626a6563742066726f6d20616e20617574686f72697a657273206163636f6f756e740a2f2f20616e64206164647320746865204e6f646544656c656761746f7220746f20616e6f74686572206163636f756e7473205374616b696e6720436f6c6c656374696f6e0a2f2f206964656e7469666965642062792074686520746f20416464726573732e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433322c20746f3a204164647265737329207b0a202020206c65742066726f6d5374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a202020206c657420746f5374616b696e67436f6c6c656374696f6e4361703a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e7b466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e5075626c69637d0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a20202020202020202f2f20546865206163636f756e7420746f207472616e7366657220746865204e6f646544656c656761746f72206f626a65637420746f206d757374206861766520612076616c6964205374616b696e6720436f6c6c656374696f6e20696e206f7264657220746f207265636569766520746865204e6f646544656c656761746f722e0a20202020202020206966202821466c6f775374616b696e67436f6c6c656374696f6e2e646f65734163636f756e74486176655374616b696e67436f6c6c656374696f6e28616464726573733a20746f2929207b0a20202020202020202020202070616e6963282244657374696e6174696f6e206163636f756e74206d75737420686176652061205374616b696e6720436f6c6c656374696f6e207365742075702e22290a20202020202020207d0a0a20202020202020202f2f204765742061207265666572656e636520746f2074686520617574686f72697a657273205374616b696e67436f6c6c656374696f6e0a202020202020202073656c662e66726f6d5374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a0a20202020202020202f2f2047657420746865205075626c69634163636f756e74206f6620746865206163636f756e7420746f207472616e7366657220746865204e6f646544656c656761746f7220746f2e200a20202020202020206c657420746f4163636f756e74203d206765744163636f756e7428746f290a0a20202020202020202f2f20426f72726f772061206361706162696c69747920746f20746865207075626c6963206d6574686f647320617661696c61626c65206f6e2074686520726563656976657273205374616b696e67436f6c6c656374696f6e2e0a202020202020202073656c662e746f5374616b696e67436f6c6c656374696f6e436170203d20746f4163636f756e742e6765744361706162696c6974793c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e7b466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e5075626c69637d3e28466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e5075626c696350617468292e626f72726f7728290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a20202020202020202f2f2052656d6f766520746865204e6f646544656c656761746f722066726f6d2074686520617574686f72697a657273205374616b696e67436f6c6c656374696f6e2e0a20202020202020206c6574206e6f646544656c656761746f72203c2d2073656c662e66726f6d5374616b696e67436f6c6c656374696f6e5265662e72656d6f766544656c656761746f72286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f724944290a0a20202020202020202f2f204465706f73697420746865204e6f646544656c656761746f7220746f2074686520726563656976657273205374616b696e67436f6c6c656374696f6e2e0a202020202020202073656c662e746f5374616b696e67436f6c6c656374696f6e4361702e61646444656c656761746f724f626a656374283c2d206e6f646544656c656761746f7221290a202020207d0a7df8adb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227d9e7b2274797065223a2255496e743332222c2276616c7565223a223432227daf7b2274797065223a2241646472657373222c2276616c7565223a22307865343637623964643131666130306466227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "0253b096b4850a30894e7b272ec5c39e2b2f4a23f8c40e76a3c64cfc63dc2999b6b34d6fafcc5a4d0ed9cf92e168a08d0674c93341e2393ee72dde6664918ec2405472616e736665722044656c656761746f720003014e6f64652049440000537472696e6700030144656c656761746f72204944000155496e743332000301416464726573730002416464726573730003", - "hash": "b34d6fafcc5a4d0ed9cf92e168a08d0674c93341e2393ee72dde6664918ec240" + "encodedTransactionPayloadHex": "f9045cb9034c696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f20436f6d6d69747320756e7374616b656420746f6b656e7320746f207374616b6520666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a206175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a206175746828426f72726f7756616c75652920264163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e73746f726167652e626f72726f773c6175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f2061205374616b696e67436f6c6c656374696f6e20696e20746865207072696d61727920757365722773206163636f756e7422290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e7374616b65556e7374616b6564546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8cbb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db83a7b2276616c7565223a7b2276616c7565223a223432222c2274797065223a2255496e743332227d2c2274797065223a224f7074696f6e616c227db07b2276616c7565223a2239323233333732303336382e3534373735383038222c2274797065223a22554669783634227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", + "encodedTransactionEnvelopeHex": "f90460f9045cb9034c696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f20436f6d6d69747320756e7374616b656420746f6b656e7320746f207374616b6520666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a206175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a206175746828426f72726f7756616c75652920264163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e73746f726167652e626f72726f773c6175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f2061205374616b696e67436f6c6c656374696f6e20696e20746865207072696d61727920757365722773206163636f756e7422290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e7374616b65556e7374616b6564546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8cbb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db83a7b2276616c7565223a7b2276616c7565223a223432222c2274797065223a2255496e743332227d2c2274797065223a224f7074696f6e616c227db07b2276616c7565223a2239323233333732303336382e3534373735383038222c2274797065223a22554669783634227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", + "metadata": "020b1721f2a8ef6c0c4121ef83c7b38f2141eebcd65c72dab9ebaafe1b4d66fea8fe6adb75bf22b2033800e916fa7e3a7810417e9a36d35320de7f4b5f7ec4f1b85374616b6520556e7374616b656420546f6b656e730003014e6f64652049440000537472696e6700030244656c656761746f72204944000155496e743332000301416d6f756e7400025546697836340003", + "hash": "fe6adb75bf22b2033800e916fa7e3a7810417e9a36d35320de7f4b5f7ec4f1b8" }, { - "title": "SCO.15 - Withdraw From Machine Account", + "title": "SCO.09 - Unstake All", "valid": true, "chainID": "Mainnet", "payloadMessage": { - "script": "import FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// Request to withdraw tokens from the machine account\n/// The tokens are automatically deposited to the unlocked account vault\n\ntransaction(nodeID: String, amount: UFix64) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n }\n\n execute {\n self.stakingCollectionRef.withdrawFromMachineAccount(nodeID: nodeID, amount: amount)\n }\n}\n", + "script": "import FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// Requests to unstake ALL tokens for the specified node or delegator in the staking collection\n\ntransaction(nodeID: String) {\n \n let stakingCollectionRef: auth(FlowStakingCollection.CollectionOwner) &FlowStakingCollection.StakingCollection\n\n prepare(account: auth(BorrowValue) &Account) {\n self.stakingCollectionRef = account.storage.borrow(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow a reference to a StakingCollection in the primary user's account\")\n }\n\n execute {\n self.stakingCollectionRef.unstakeAll(nodeID: nodeID)\n }\n}\n", "arguments": [ { "type": "String", "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" - }, - { - "type": "UFix64", - "value": "92233720368.54775808" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -5520,15 +3808,11 @@ ] }, "envelopeMessage": { - "script": "import FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// Request to withdraw tokens from the machine account\n/// The tokens are automatically deposited to the unlocked account vault\n\ntransaction(nodeID: String, amount: UFix64) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n }\n\n execute {\n self.stakingCollectionRef.withdrawFromMachineAccount(nodeID: nodeID, amount: amount)\n }\n}\n", + "script": "import FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// Requests to unstake ALL tokens for the specified node or delegator in the staking collection\n\ntransaction(nodeID: String) {\n \n let stakingCollectionRef: auth(FlowStakingCollection.CollectionOwner) &FlowStakingCollection.StakingCollection\n\n prepare(account: auth(BorrowValue) &Account) {\n self.stakingCollectionRef = account.storage.borrow(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow a reference to a StakingCollection in the primary user's account\")\n }\n\n execute {\n self.stakingCollectionRef.unstakeAll(nodeID: nodeID)\n }\n}\n", "arguments": [ { "type": "String", "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" - }, - { - "type": "UFix64", - "value": "92233720368.54775808" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -5544,25 +3828,32 @@ ], "payloadSigs": [] }, - "encodedTransactionPayloadHex": "f9037eb902aa696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f205265717565737420746f20776974686472617720746f6b656e732066726f6d20746865206d616368696e65206163636f756e740a2f2f2f2054686520746f6b656e7320617265206175746f6d61746963616c6c79206465706f736974656420746f2074686520756e6c6f636b6564206163636f756e74207661756c740a0a7472616e73616374696f6e286e6f646549443a20537472696e672c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e776974686472617746726f6d4d616368696e654163636f756e74286e6f646549443a206e6f646549442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af88fb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f90382f9037eb902aa696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f205265717565737420746f20776974686472617720746f6b656e732066726f6d20746865206d616368696e65206163636f756e740a2f2f2f2054686520746f6b656e7320617265206175746f6d61746963616c6c79206465706f736974656420746f2074686520756e6c6f636b6564206163636f756e74207661756c740a0a7472616e73616374696f6e286e6f646549443a20537472696e672c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e776974686472617746726f6d4d616368696e654163636f756e74286e6f646549443a206e6f646549442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af88fb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "0239a126038522c6c964d53aaf78dde55bfe80929091510792fe49678bb22cbd96f9c48e18bda7f113e82711a4c95dfd151c6600ed9fbf46ceb22566d6c5728c6f57697468647261772046726f6d204d616368696e65204163636f756e740002014e6f64652049440000537472696e67000301416d6f756e7400015546697836340003", - "hash": "f9c48e18bda7f113e82711a4c95dfd151c6600ed9fbf46ceb22566d6c5728c6f" + "encodedTransactionPayloadHex": "f90394b902f1696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f20526571756573747320746f20756e7374616b6520414c4c20746f6b656e7320666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a0a7472616e73616374696f6e286e6f646549443a20537472696e6729207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a206175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a206175746828426f72726f7756616c75652920264163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e73746f726167652e626f72726f773c6175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f2061205374616b696e67436f6c6c656374696f6e20696e20746865207072696d61727920757365722773206163636f756e7422290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e756e7374616b65416c6c286e6f646549443a206e6f64654944290a202020207d0a7d0af85eb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", + "encodedTransactionEnvelopeHex": "f90398f90394b902f1696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f20526571756573747320746f20756e7374616b6520414c4c20746f6b656e7320666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a0a7472616e73616374696f6e286e6f646549443a20537472696e6729207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a206175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a206175746828426f72726f7756616c75652920264163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e73746f726167652e626f72726f773c6175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f2061205374616b696e67436f6c6c656374696f6e20696e20746865207072696d61727920757365722773206163636f756e7422290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e756e7374616b65416c6c286e6f646549443a206e6f64654944290a202020207d0a7d0af85eb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", + "metadata": "02c84843e3399be2ce95ea00e7c17d72db3c5c3363ec008c7a1c1cfa5b6afe70ae1c8256fb857f6c6fd929511ecac8624d0159877cf72c884f7128297dfb069510556e7374616b6520416c6c0001014e6f64652049440000537472696e670003", + "hash": "1c8256fb857f6c6fd929511ecac8624d0159877cf72c884f7128297dfb069510" }, { - "title": "SCO.16 - Update Networking Address", + "title": "SCO.10 - Withdraw Rewarded Tokens - 1", "valid": true, "chainID": "Mainnet", "payloadMessage": { - "script": "import FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// Changes the networking address for the specified node\n\ntransaction(nodeID: String, newAddress: String) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n }\n\n execute {\n self.stakingCollectionRef.updateNetworkingAddress(nodeID: nodeID, newAddress: newAddress)\n }\n}\n", + "script": "import FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// Request to withdraw rewarded tokens for the specified node or delegator in the staking collection\n/// The tokens are automatically deposited to the unlocked account vault first,\n/// And then any locked tokens are deposited into the locked account vault\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: auth(FlowStakingCollection.CollectionOwner) &FlowStakingCollection.StakingCollection\n\n prepare(account: auth(BorrowValue) &Account) {\n self.stakingCollectionRef = account.storage.borrow(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow a reference to a StakingCollection in the primary user's account\")\n }\n\n execute {\n self.stakingCollectionRef.withdrawRewardedTokens(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", "arguments": [ { "type": "String", "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" }, { - "type": "String", - "value": "flow-node.test:3569" + "value": { + "value": "42", + "type": "UInt32" + }, + "type": "Optional" + }, + { + "value": "92233720368.54775808", + "type": "UFix64" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -5578,15 +3869,22 @@ ] }, "envelopeMessage": { - "script": "import FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// Changes the networking address for the specified node\n\ntransaction(nodeID: String, newAddress: String) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n }\n\n execute {\n self.stakingCollectionRef.updateNetworkingAddress(nodeID: nodeID, newAddress: newAddress)\n }\n}\n", + "script": "import FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// Request to withdraw rewarded tokens for the specified node or delegator in the staking collection\n/// The tokens are automatically deposited to the unlocked account vault first,\n/// And then any locked tokens are deposited into the locked account vault\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: auth(FlowStakingCollection.CollectionOwner) &FlowStakingCollection.StakingCollection\n\n prepare(account: auth(BorrowValue) &Account) {\n self.stakingCollectionRef = account.storage.borrow(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow a reference to a StakingCollection in the primary user's account\")\n }\n\n execute {\n self.stakingCollectionRef.withdrawRewardedTokens(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", "arguments": [ { "type": "String", "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" }, { - "type": "String", - "value": "flow-node.test:3569" + "value": { + "value": "42", + "type": "UInt32" + }, + "type": "Optional" + }, + { + "value": "92233720368.54775808", + "type": "UFix64" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -5602,18 +3900,31 @@ ], "payloadSigs": [] }, - "encodedTransactionPayloadHex": "f9033fb9026c696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f204368616e67657320746865206e6574776f726b696e67206164647265737320666f722074686520737065636966696564206e6f64650a0a7472616e73616374696f6e286e6f646549443a20537472696e672c206e6577416464726573733a20537472696e6729207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e7570646174654e6574776f726b696e6741646472657373286e6f646549443a206e6f646549442c206e6577416464726573733a206e657741646472657373290a202020207d0a7d0af88eb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227daf7b2274797065223a22537472696e67222c2276616c7565223a22666c6f772d6e6f64652e746573743a33353639227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f90343f9033fb9026c696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f204368616e67657320746865206e6574776f726b696e67206164647265737320666f722074686520737065636966696564206e6f64650a0a7472616e73616374696f6e286e6f646549443a20537472696e672c206e6577416464726573733a20537472696e6729207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e7570646174654e6574776f726b696e6741646472657373286e6f646549443a206e6f646549442c206e6577416464726573733a206e657741646472657373290a202020207d0a7d0af88eb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227daf7b2274797065223a22537472696e67222c2276616c7565223a22666c6f772d6e6f64652e746573743a33353639227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "0260f2cf219d56b19dc7fd223caed42dda9143c87b1b0d2c21a9652e12a3714133ff067b40ac67020ef864cd14842f62023254da34dd2ded56affa1364305bf1c5557064617465204e6574776f726b696e6720416464726573730002014e6f64652049440000537472696e67000301416464726573730001537472696e670003", - "hash": "ff067b40ac67020ef864cd14842f62023254da34dd2ded56affa1364305bf1c5" + "encodedTransactionPayloadHex": "f904fdb903ed696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f205265717565737420746f20776974686472617720726577617264656420746f6b656e7320666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f2054686520746f6b656e7320617265206175746f6d61746963616c6c79206465706f736974656420746f2074686520756e6c6f636b6564206163636f756e74207661756c742066697273742c0a2f2f2f20416e64207468656e20616e79206c6f636b656420746f6b656e7320617265206465706f736974656420696e746f20746865206c6f636b6564206163636f756e74207661756c740a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a206175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a206175746828426f72726f7756616c75652920264163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e73746f726167652e626f72726f773c6175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f2061205374616b696e67436f6c6c656374696f6e20696e20746865207072696d61727920757365722773206163636f756e7422290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e77697468647261775265776172646564546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8cbb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db83a7b2276616c7565223a7b2276616c7565223a223432222c2274797065223a2255496e743332227d2c2274797065223a224f7074696f6e616c227db07b2276616c7565223a2239323233333732303336382e3534373735383038222c2274797065223a22554669783634227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", + "encodedTransactionEnvelopeHex": "f90501f904fdb903ed696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f205265717565737420746f20776974686472617720726577617264656420746f6b656e7320666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f2054686520746f6b656e7320617265206175746f6d61746963616c6c79206465706f736974656420746f2074686520756e6c6f636b6564206163636f756e74207661756c742066697273742c0a2f2f2f20416e64207468656e20616e79206c6f636b656420746f6b656e7320617265206465706f736974656420696e746f20746865206c6f636b6564206163636f756e74207661756c740a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a206175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a206175746828426f72726f7756616c75652920264163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e73746f726167652e626f72726f773c6175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f2061205374616b696e67436f6c6c656374696f6e20696e20746865207072696d61727920757365722773206163636f756e7422290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e77697468647261775265776172646564546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8cbb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db83a7b2276616c7565223a7b2276616c7565223a223432222c2274797065223a2255496e743332227d2c2274797065223a224f7074696f6e616c227db07b2276616c7565223a2239323233333732303336382e3534373735383038222c2274797065223a22554669783634227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", + "metadata": "025a07ca4c016973bdeb168590e111b2c2855833b5ece11ffb28b08b8668f258a8fbd8ebbfff7a88b6b667ff4e3f9f904eaaba71cbf02a140f3b7007c61fbd8f34576974686472617720526577617264656420546f6b656e730003014e6f64652049440000537472696e6700030244656c656761746f72204944000155496e743332000301416d6f756e7400025546697836340003", + "hash": "fbd8ebbfff7a88b6b667ff4e3f9f904eaaba71cbf02a140f3b7007c61fbd8f34" }, { - "title": "FUSD.01 - Setup FUSD Vault", + "title": "SCO.10 - Withdraw Rewarded Tokens - 2", "valid": true, "chainID": "Mainnet", "payloadMessage": { - "script": "// This transaction configures the signer's account with an empty FUSD vault.\n//\n// It also links the following capabilities:\n//\n// - FungibleToken.Receiver: this capability allows this account to accept FUSD deposits.\n// - FungibleToken.Balance: this capability allows anybody to inspect the FUSD balance of this account.\n\nimport FungibleToken from 0xf233dcee88fe0abe\nimport FUSD from 0x3c5959b568896393\n\ntransaction {\n\n prepare(signer: AuthAccount) {\n\n // It's OK if the account already has a Vault, but we don't want to replace it\n if(signer.borrow<&FUSD.Vault>(from: /storage/fusdVault) != nil) {\n return\n }\n \n // Create a new FUSD Vault and put it in storage\n signer.save(<-FUSD.createEmptyVault(), to: /storage/fusdVault)\n\n // Create a public capability to the Vault that only exposes\n // the deposit function through the Receiver interface\n signer.link<&FUSD.Vault{FungibleToken.Receiver}>(\n /public/fusdReceiver,\n target: /storage/fusdVault\n )\n\n // Create a public capability to the Vault that only exposes\n // the balance field through the Balance interface\n signer.link<&FUSD.Vault{FungibleToken.Balance}>(\n /public/fusdBalance,\n target: /storage/fusdVault\n )\n }\n}\n", - "arguments": [], + "script": "import FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// Request to withdraw rewarded tokens for the specified node or delegator in the staking collection\n/// The tokens are automatically deposited to the unlocked account vault first,\n/// And then any locked tokens are deposited into the locked account vault\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: auth(FlowStakingCollection.CollectionOwner) &FlowStakingCollection.StakingCollection\n\n prepare(account: auth(BorrowValue) &Account) {\n self.stakingCollectionRef = account.storage.borrow(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow a reference to a StakingCollection in the primary user's account\")\n }\n\n execute {\n self.stakingCollectionRef.withdrawRewardedTokens(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", + "arguments": [ + { + "type": "String", + "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" + }, + { + "value": null, + "type": "Optional" + }, + { + "value": "92233720368.54775808", + "type": "UFix64" + } + ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", "gasLimit": 42, "proposalKey": { @@ -5627,8 +3938,21 @@ ] }, "envelopeMessage": { - "script": "// This transaction configures the signer's account with an empty FUSD vault.\n//\n// It also links the following capabilities:\n//\n// - FungibleToken.Receiver: this capability allows this account to accept FUSD deposits.\n// - FungibleToken.Balance: this capability allows anybody to inspect the FUSD balance of this account.\n\nimport FungibleToken from 0xf233dcee88fe0abe\nimport FUSD from 0x3c5959b568896393\n\ntransaction {\n\n prepare(signer: AuthAccount) {\n\n // It's OK if the account already has a Vault, but we don't want to replace it\n if(signer.borrow<&FUSD.Vault>(from: /storage/fusdVault) != nil) {\n return\n }\n \n // Create a new FUSD Vault and put it in storage\n signer.save(<-FUSD.createEmptyVault(), to: /storage/fusdVault)\n\n // Create a public capability to the Vault that only exposes\n // the deposit function through the Receiver interface\n signer.link<&FUSD.Vault{FungibleToken.Receiver}>(\n /public/fusdReceiver,\n target: /storage/fusdVault\n )\n\n // Create a public capability to the Vault that only exposes\n // the balance field through the Balance interface\n signer.link<&FUSD.Vault{FungibleToken.Balance}>(\n /public/fusdBalance,\n target: /storage/fusdVault\n )\n }\n}\n", - "arguments": [], + "script": "import FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// Request to withdraw rewarded tokens for the specified node or delegator in the staking collection\n/// The tokens are automatically deposited to the unlocked account vault first,\n/// And then any locked tokens are deposited into the locked account vault\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: auth(FlowStakingCollection.CollectionOwner) &FlowStakingCollection.StakingCollection\n\n prepare(account: auth(BorrowValue) &Account) {\n self.stakingCollectionRef = account.storage.borrow(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow a reference to a StakingCollection in the primary user's account\")\n }\n\n execute {\n self.stakingCollectionRef.withdrawRewardedTokens(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", + "arguments": [ + { + "type": "String", + "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" + }, + { + "value": null, + "type": "Optional" + }, + { + "value": "92233720368.54775808", + "type": "UFix64" + } + ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", "gasLimit": 42, "proposalKey": { @@ -5642,25 +3966,29 @@ ], "payloadSigs": [] }, - "encodedTransactionPayloadHex": "f9057ab905362f2f2054686973207472616e73616374696f6e20636f6e6669677572657320746865207369676e65722773206163636f756e74207769746820616e20656d7074792046555344207661756c742e0a2f2f0a2f2f20497420616c736f206c696e6b732074686520666f6c6c6f77696e67206361706162696c69746965733a0a2f2f0a2f2f202d2046756e6769626c65546f6b656e2e52656365697665723a2074686973206361706162696c69747920616c6c6f77732074686973206163636f756e7420746f206163636570742046555344206465706f736974732e0a2f2f202d2046756e6769626c65546f6b656e2e42616c616e63653a2074686973206361706162696c69747920616c6c6f777320616e79626f647920746f20696e73706563742074686520465553442062616c616e6365206f662074686973206163636f756e742e0a0a696d706f72742046756e6769626c65546f6b656e2066726f6d203078663233336463656538386665306162650a696d706f727420465553442066726f6d203078336335393539623536383839363339330a0a7472616e73616374696f6e207b0a0a2020202070726570617265287369676e65723a20417574684163636f756e7429207b0a0a20202020202020202f2f2049742773204f4b20696620746865206163636f756e7420616c7265616479206861732061205661756c742c2062757420776520646f6e27742077616e7420746f207265706c6163652069740a20202020202020206966287369676e65722e626f72726f773c26465553442e5661756c743e2866726f6d3a202f73746f726167652f667573645661756c742920213d206e696c29207b0a20202020202020202020202072657475726e0a20202020202020207d0a20202020202020200a20202020202020202f2f204372656174652061206e65772046555344205661756c7420616e642070757420697420696e2073746f726167650a20202020202020207369676e65722e73617665283c2d465553442e637265617465456d7074795661756c7428292c20746f3a202f73746f726167652f667573645661756c74290a0a20202020202020202f2f204372656174652061207075626c6963206361706162696c69747920746f20746865205661756c742074686174206f6e6c79206578706f7365730a20202020202020202f2f20746865206465706f7369742066756e6374696f6e207468726f7567682074686520526563656976657220696e746572666163650a20202020202020207369676e65722e6c696e6b3c26465553442e5661756c747b46756e6769626c65546f6b656e2e52656365697665727d3e280a2020202020202020202020202f7075626c69632f6675736452656365697665722c0a2020202020202020202020207461726765743a202f73746f726167652f667573645661756c740a2020202020202020290a0a20202020202020202f2f204372656174652061207075626c6963206361706162696c69747920746f20746865205661756c742074686174206f6e6c79206578706f7365730a20202020202020202f2f207468652062616c616e6365206669656c64207468726f756768207468652042616c616e636520696e746572666163650a20202020202020207369676e65722e6c696e6b3c26465553442e5661756c747b46756e6769626c65546f6b656e2e42616c616e63657d3e280a2020202020202020202020202f7075626c69632f6675736442616c616e63652c0a2020202020202020202020207461726765743a202f73746f726167652f667573645661756c740a2020202020202020290a202020207d0a7d0ac0a0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f9057ef9057ab905362f2f2054686973207472616e73616374696f6e20636f6e6669677572657320746865207369676e65722773206163636f756e74207769746820616e20656d7074792046555344207661756c742e0a2f2f0a2f2f20497420616c736f206c696e6b732074686520666f6c6c6f77696e67206361706162696c69746965733a0a2f2f0a2f2f202d2046756e6769626c65546f6b656e2e52656365697665723a2074686973206361706162696c69747920616c6c6f77732074686973206163636f756e7420746f206163636570742046555344206465706f736974732e0a2f2f202d2046756e6769626c65546f6b656e2e42616c616e63653a2074686973206361706162696c69747920616c6c6f777320616e79626f647920746f20696e73706563742074686520465553442062616c616e6365206f662074686973206163636f756e742e0a0a696d706f72742046756e6769626c65546f6b656e2066726f6d203078663233336463656538386665306162650a696d706f727420465553442066726f6d203078336335393539623536383839363339330a0a7472616e73616374696f6e207b0a0a2020202070726570617265287369676e65723a20417574684163636f756e7429207b0a0a20202020202020202f2f2049742773204f4b20696620746865206163636f756e7420616c7265616479206861732061205661756c742c2062757420776520646f6e27742077616e7420746f207265706c6163652069740a20202020202020206966287369676e65722e626f72726f773c26465553442e5661756c743e2866726f6d3a202f73746f726167652f667573645661756c742920213d206e696c29207b0a20202020202020202020202072657475726e0a20202020202020207d0a20202020202020200a20202020202020202f2f204372656174652061206e65772046555344205661756c7420616e642070757420697420696e2073746f726167650a20202020202020207369676e65722e73617665283c2d465553442e637265617465456d7074795661756c7428292c20746f3a202f73746f726167652f667573645661756c74290a0a20202020202020202f2f204372656174652061207075626c6963206361706162696c69747920746f20746865205661756c742074686174206f6e6c79206578706f7365730a20202020202020202f2f20746865206465706f7369742066756e6374696f6e207468726f7567682074686520526563656976657220696e746572666163650a20202020202020207369676e65722e6c696e6b3c26465553442e5661756c747b46756e6769626c65546f6b656e2e52656365697665727d3e280a2020202020202020202020202f7075626c69632f6675736452656365697665722c0a2020202020202020202020207461726765743a202f73746f726167652f667573645661756c740a2020202020202020290a0a20202020202020202f2f204372656174652061207075626c6963206361706162696c69747920746f20746865205661756c742074686174206f6e6c79206578706f7365730a20202020202020202f2f207468652062616c616e6365206669656c64207468726f756768207468652042616c616e636520696e746572666163650a20202020202020207369676e65722e6c696e6b3c26465553442e5661756c747b46756e6769626c65546f6b656e2e42616c616e63657d3e280a2020202020202020202020202f7075626c69632f6675736442616c616e63652c0a2020202020202020202020207461726765743a202f73746f726167652f667573645661756c740a2020202020202020290a202020207d0a7d0ac0a0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "020ffaf77ab320ce4cc9602d39b89c85f094ebcea571ed324537e703bc07b0fdc4aa7fecdf159e71bd0b029e40b22643fb443161e67796f42bac68e9bab4630e2953657475702046555344205661756c740000", - "hash": "aa7fecdf159e71bd0b029e40b22643fb443161e67796f42bac68e9bab4630e29" + "encodedTransactionPayloadHex": "f904e2b903ed696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f205265717565737420746f20776974686472617720726577617264656420746f6b656e7320666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f2054686520746f6b656e7320617265206175746f6d61746963616c6c79206465706f736974656420746f2074686520756e6c6f636b6564206163636f756e74207661756c742066697273742c0a2f2f2f20416e64207468656e20616e79206c6f636b656420746f6b656e7320617265206465706f736974656420696e746f20746865206c6f636b6564206163636f756e74207661756c740a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a206175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a206175746828426f72726f7756616c75652920264163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e73746f726167652e626f72726f773c6175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f2061205374616b696e67436f6c6c656374696f6e20696e20746865207072696d61727920757365722773206163636f756e7422290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e77697468647261775265776172646564546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8b0b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227da07b2276616c7565223a6e756c6c2c2274797065223a224f7074696f6e616c227db07b2276616c7565223a2239323233333732303336382e3534373735383038222c2274797065223a22554669783634227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", + "encodedTransactionEnvelopeHex": "f904e6f904e2b903ed696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f205265717565737420746f20776974686472617720726577617264656420746f6b656e7320666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f2054686520746f6b656e7320617265206175746f6d61746963616c6c79206465706f736974656420746f2074686520756e6c6f636b6564206163636f756e74207661756c742066697273742c0a2f2f2f20416e64207468656e20616e79206c6f636b656420746f6b656e7320617265206465706f736974656420696e746f20746865206c6f636b6564206163636f756e74207661756c740a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a206175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a206175746828426f72726f7756616c75652920264163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e73746f726167652e626f72726f773c6175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f2061205374616b696e67436f6c6c656374696f6e20696e20746865207072696d61727920757365722773206163636f756e7422290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e77697468647261775265776172646564546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8b0b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227da07b2276616c7565223a6e756c6c2c2274797065223a224f7074696f6e616c227db07b2276616c7565223a2239323233333732303336382e3534373735383038222c2274797065223a22554669783634227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", + "metadata": "025a07ca4c016973bdeb168590e111b2c2855833b5ece11ffb28b08b8668f258a8fbd8ebbfff7a88b6b667ff4e3f9f904eaaba71cbf02a140f3b7007c61fbd8f34576974686472617720526577617264656420546f6b656e730003014e6f64652049440000537472696e6700030244656c656761746f72204944000155496e743332000301416d6f756e7400025546697836340003", + "hash": "fbd8ebbfff7a88b6b667ff4e3f9f904eaaba71cbf02a140f3b7007c61fbd8f34" }, { - "title": "FUSD.02 - Transfer FUSD", + "title": "SCO.11 - Withdraw Unstaked Tokens - 1", "valid": true, "chainID": "Mainnet", "payloadMessage": { - "script": "// This transaction withdraws FUSD from the signer's account and deposits it into a recipient account. \n// This transaction will fail if the recipient does not have an FUSD receiver. \n// No funds are transferred or lost if the transaction fails.\n//\n// Parameters:\n// - amount: The amount of FUSD to transfer (e.g. 10.0)\n// - to: The recipient account address.\n//\n// This transaction will fail if either the sender or recipient does not have\n// an FUSD vault stored in their account. To check if an account has a vault\n// or initialize a new vault, use check_fusd_vault_setup.cdc and setup_fusd_vault.cdc\n// respectively.\n\nimport FungibleToken from 0xf233dcee88fe0abe\nimport FUSD from 0x3c5959b568896393\n\ntransaction(amount: UFix64, to: Address) {\n\n // The Vault resource that holds the tokens that are being transferred\n let sentVault: @FungibleToken.Vault\n\n prepare(signer: AuthAccount) {\n // Get a reference to the signer's stored vault\n let vaultRef = signer.borrow<&FUSD.Vault>(from: /storage/fusdVault)\n ?? panic(\"Could not borrow reference to the owner's Vault!\")\n\n // Withdraw tokens from the signer's stored vault\n self.sentVault <- vaultRef.withdraw(amount: amount)\n }\n\n execute {\n // Get the recipient's public account object\n let recipient = getAccount(to)\n\n // Get a reference to the recipient's Receiver\n let receiverRef = recipient.getCapability(/public/fusdReceiver)!.borrow<&{FungibleToken.Receiver}>()\n ?? panic(\"Could not borrow receiver reference to the recipient's Vault\")\n\n // Deposit the withdrawn tokens in the recipient's receiver\n receiverRef.deposit(from: <-self.sentVault)\n }\n}\n", + "script": "import FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// Request to withdraw unstaked tokens for the specified node or delegator in the staking collection\n/// The tokens are automatically deposited to the unlocked account vault first,\n/// And then any locked tokens are deposited into the locked account vault if it is there\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: auth(FlowStakingCollection.CollectionOwner) &FlowStakingCollection.StakingCollection\n\n prepare(account: auth(BorrowValue) &Account) {\n self.stakingCollectionRef = account.storage.borrow(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow a reference to a StakingCollection in the primary user's account\")\n }\n\n execute {\n self.stakingCollectionRef.withdrawUnstakedTokens(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", "arguments": [ { - "type": "UFix64", - "value": "92233720368.54775808" + "type": "String", + "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" }, { - "type": "Address", - "value": "0xe467b9dd11fa00df" + "value": null, + "type": "Optional" + }, + { + "value": "92233720368.54775808", + "type": "UFix64" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -5676,15 +4004,19 @@ ] }, "envelopeMessage": { - "script": "// This transaction withdraws FUSD from the signer's account and deposits it into a recipient account. \n// This transaction will fail if the recipient does not have an FUSD receiver. \n// No funds are transferred or lost if the transaction fails.\n//\n// Parameters:\n// - amount: The amount of FUSD to transfer (e.g. 10.0)\n// - to: The recipient account address.\n//\n// This transaction will fail if either the sender or recipient does not have\n// an FUSD vault stored in their account. To check if an account has a vault\n// or initialize a new vault, use check_fusd_vault_setup.cdc and setup_fusd_vault.cdc\n// respectively.\n\nimport FungibleToken from 0xf233dcee88fe0abe\nimport FUSD from 0x3c5959b568896393\n\ntransaction(amount: UFix64, to: Address) {\n\n // The Vault resource that holds the tokens that are being transferred\n let sentVault: @FungibleToken.Vault\n\n prepare(signer: AuthAccount) {\n // Get a reference to the signer's stored vault\n let vaultRef = signer.borrow<&FUSD.Vault>(from: /storage/fusdVault)\n ?? panic(\"Could not borrow reference to the owner's Vault!\")\n\n // Withdraw tokens from the signer's stored vault\n self.sentVault <- vaultRef.withdraw(amount: amount)\n }\n\n execute {\n // Get the recipient's public account object\n let recipient = getAccount(to)\n\n // Get a reference to the recipient's Receiver\n let receiverRef = recipient.getCapability(/public/fusdReceiver)!.borrow<&{FungibleToken.Receiver}>()\n ?? panic(\"Could not borrow receiver reference to the recipient's Vault\")\n\n // Deposit the withdrawn tokens in the recipient's receiver\n receiverRef.deposit(from: <-self.sentVault)\n }\n}\n", + "script": "import FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// Request to withdraw unstaked tokens for the specified node or delegator in the staking collection\n/// The tokens are automatically deposited to the unlocked account vault first,\n/// And then any locked tokens are deposited into the locked account vault if it is there\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: auth(FlowStakingCollection.CollectionOwner) &FlowStakingCollection.StakingCollection\n\n prepare(account: auth(BorrowValue) &Account) {\n self.stakingCollectionRef = account.storage.borrow(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow a reference to a StakingCollection in the primary user's account\")\n }\n\n execute {\n self.stakingCollectionRef.withdrawUnstakedTokens(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", "arguments": [ { - "type": "UFix64", - "value": "92233720368.54775808" + "type": "String", + "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" }, { - "type": "Address", - "value": "0xe467b9dd11fa00df" + "value": null, + "type": "Optional" + }, + { + "value": "92233720368.54775808", + "type": "UFix64" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -5700,18 +4032,34 @@ ], "payloadSigs": [] }, - "encodedTransactionPayloadHex": "f90759b906b32f2f2054686973207472616e73616374696f6e2077697468647261777320465553442066726f6d20746865207369676e65722773206163636f756e7420616e64206465706f7369747320697420696e746f206120726563697069656e74206163636f756e742e200a2f2f2054686973207472616e73616374696f6e2077696c6c206661696c2069662074686520726563697069656e7420646f6573206e6f74206861766520616e20465553442072656365697665722e200a2f2f204e6f2066756e647320617265207472616e73666572726564206f72206c6f737420696620746865207472616e73616374696f6e206661696c732e0a2f2f0a2f2f20506172616d65746572733a0a2f2f202d20616d6f756e743a2054686520616d6f756e74206f66204655534420746f207472616e736665722028652e672e2031302e30290a2f2f202d20746f3a2054686520726563697069656e74206163636f756e7420616464726573732e0a2f2f0a2f2f2054686973207472616e73616374696f6e2077696c6c206661696c20696620656974686572207468652073656e646572206f7220726563697069656e7420646f6573206e6f7420686176650a2f2f20616e2046555344207661756c742073746f72656420696e207468656972206163636f756e742e20546f20636865636b20696620616e206163636f756e74206861732061207661756c740a2f2f206f7220696e697469616c697a652061206e6577207661756c742c2075736520636865636b5f667573645f7661756c745f73657475702e63646320616e642073657475705f667573645f7661756c742e6364630a2f2f20726573706563746976656c792e0a0a696d706f72742046756e6769626c65546f6b656e2066726f6d203078663233336463656538386665306162650a696d706f727420465553442066726f6d203078336335393539623536383839363339330a0a7472616e73616374696f6e28616d6f756e743a205546697836342c20746f3a204164647265737329207b0a0a202020202f2f20546865205661756c74207265736f75726365207468617420686f6c64732074686520746f6b656e73207468617420617265206265696e67207472616e736665727265640a202020206c65742073656e745661756c743a204046756e6769626c65546f6b656e2e5661756c740a0a2020202070726570617265287369676e65723a20417574684163636f756e7429207b0a20202020202020202f2f204765742061207265666572656e636520746f20746865207369676e657227732073746f726564207661756c740a20202020202020206c6574207661756c74526566203d207369676e65722e626f72726f773c26465553442e5661756c743e2866726f6d3a202f73746f726167652f667573645661756c74290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f20746865206f776e65722773205661756c742122290a0a20202020202020202f2f20576974686472617720746f6b656e732066726f6d20746865207369676e657227732073746f726564207661756c740a202020202020202073656c662e73656e745661756c74203c2d207661756c745265662e776974686472617728616d6f756e743a20616d6f756e74290a202020207d0a0a2020202065786563757465207b0a20202020202020202f2f204765742074686520726563697069656e742773207075626c6963206163636f756e74206f626a6563740a20202020202020206c657420726563697069656e74203d206765744163636f756e7428746f290a0a20202020202020202f2f204765742061207265666572656e636520746f2074686520726563697069656e7427732052656365697665720a20202020202020206c6574207265636569766572526566203d20726563697069656e742e6765744361706162696c697479282f7075626c69632f66757364526563656976657229212e626f72726f773c267b46756e6769626c65546f6b656e2e52656365697665727d3e28290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265636569766572207265666572656e636520746f2074686520726563697069656e742773205661756c7422290a0a20202020202020202f2f204465706f736974207468652077697468647261776e20746f6b656e7320696e2074686520726563697069656e7427732072656365697665720a202020202020202072656365697665725265662e6465706f7369742866726f6d3a203c2d73656c662e73656e745661756c74290a202020207d0a7d0af861b07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227daf7b2274797065223a2241646472657373222c2276616c7565223a22307865343637623964643131666130306466227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f9075df90759b906b32f2f2054686973207472616e73616374696f6e2077697468647261777320465553442066726f6d20746865207369676e65722773206163636f756e7420616e64206465706f7369747320697420696e746f206120726563697069656e74206163636f756e742e200a2f2f2054686973207472616e73616374696f6e2077696c6c206661696c2069662074686520726563697069656e7420646f6573206e6f74206861766520616e20465553442072656365697665722e200a2f2f204e6f2066756e647320617265207472616e73666572726564206f72206c6f737420696620746865207472616e73616374696f6e206661696c732e0a2f2f0a2f2f20506172616d65746572733a0a2f2f202d20616d6f756e743a2054686520616d6f756e74206f66204655534420746f207472616e736665722028652e672e2031302e30290a2f2f202d20746f3a2054686520726563697069656e74206163636f756e7420616464726573732e0a2f2f0a2f2f2054686973207472616e73616374696f6e2077696c6c206661696c20696620656974686572207468652073656e646572206f7220726563697069656e7420646f6573206e6f7420686176650a2f2f20616e2046555344207661756c742073746f72656420696e207468656972206163636f756e742e20546f20636865636b20696620616e206163636f756e74206861732061207661756c740a2f2f206f7220696e697469616c697a652061206e6577207661756c742c2075736520636865636b5f667573645f7661756c745f73657475702e63646320616e642073657475705f667573645f7661756c742e6364630a2f2f20726573706563746976656c792e0a0a696d706f72742046756e6769626c65546f6b656e2066726f6d203078663233336463656538386665306162650a696d706f727420465553442066726f6d203078336335393539623536383839363339330a0a7472616e73616374696f6e28616d6f756e743a205546697836342c20746f3a204164647265737329207b0a0a202020202f2f20546865205661756c74207265736f75726365207468617420686f6c64732074686520746f6b656e73207468617420617265206265696e67207472616e736665727265640a202020206c65742073656e745661756c743a204046756e6769626c65546f6b656e2e5661756c740a0a2020202070726570617265287369676e65723a20417574684163636f756e7429207b0a20202020202020202f2f204765742061207265666572656e636520746f20746865207369676e657227732073746f726564207661756c740a20202020202020206c6574207661756c74526566203d207369676e65722e626f72726f773c26465553442e5661756c743e2866726f6d3a202f73746f726167652f667573645661756c74290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f20746865206f776e65722773205661756c742122290a0a20202020202020202f2f20576974686472617720746f6b656e732066726f6d20746865207369676e657227732073746f726564207661756c740a202020202020202073656c662e73656e745661756c74203c2d207661756c745265662e776974686472617728616d6f756e743a20616d6f756e74290a202020207d0a0a2020202065786563757465207b0a20202020202020202f2f204765742074686520726563697069656e742773207075626c6963206163636f756e74206f626a6563740a20202020202020206c657420726563697069656e74203d206765744163636f756e7428746f290a0a20202020202020202f2f204765742061207265666572656e636520746f2074686520726563697069656e7427732052656365697665720a20202020202020206c6574207265636569766572526566203d20726563697069656e742e6765744361706162696c697479282f7075626c69632f66757364526563656976657229212e626f72726f773c267b46756e6769626c65546f6b656e2e52656365697665727d3e28290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265636569766572207265666572656e636520746f2074686520726563697069656e742773205661756c7422290a0a20202020202020202f2f204465706f736974207468652077697468647261776e20746f6b656e7320696e2074686520726563697069656e7427732072656365697665720a202020202020202072656365697665725265662e6465706f7369742866726f6d3a203c2d73656c662e73656e745661756c74290a202020207d0a7d0af861b07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227daf7b2274797065223a2241646472657373222c2276616c7565223a22307865343637623964643131666130306466227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "02f22ca4b350a79c724f6471d5a6a7a0efa7ba9aeebb7fed2843a3ddd6e42c2e1c180cef7053a5f0ae66e19e3a96cc3b9eb7da29767fb5d6938239bf1f8e1dc2845472616e736665722046555344000201416d6f756e740000554669783634000301526563697069656e740001416464726573730003", - "hash": "180cef7053a5f0ae66e19e3a96cc3b9eb7da29767fb5d6938239bf1f8e1dc284" + "encodedTransactionPayloadHex": "f904f1b903fc696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f205265717565737420746f20776974686472617720756e7374616b656420746f6b656e7320666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f2054686520746f6b656e7320617265206175746f6d61746963616c6c79206465706f736974656420746f2074686520756e6c6f636b6564206163636f756e74207661756c742066697273742c0a2f2f2f20416e64207468656e20616e79206c6f636b656420746f6b656e7320617265206465706f736974656420696e746f20746865206c6f636b6564206163636f756e74207661756c742069662069742069732074686572650a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a206175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a206175746828426f72726f7756616c75652920264163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e73746f726167652e626f72726f773c6175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f2061205374616b696e67436f6c6c656374696f6e20696e20746865207072696d61727920757365722773206163636f756e7422290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e7769746864726177556e7374616b6564546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8b0b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227da07b2276616c7565223a6e756c6c2c2274797065223a224f7074696f6e616c227db07b2276616c7565223a2239323233333732303336382e3534373735383038222c2274797065223a22554669783634227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", + "encodedTransactionEnvelopeHex": "f904f5f904f1b903fc696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f205265717565737420746f20776974686472617720756e7374616b656420746f6b656e7320666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f2054686520746f6b656e7320617265206175746f6d61746963616c6c79206465706f736974656420746f2074686520756e6c6f636b6564206163636f756e74207661756c742066697273742c0a2f2f2f20416e64207468656e20616e79206c6f636b656420746f6b656e7320617265206465706f736974656420696e746f20746865206c6f636b6564206163636f756e74207661756c742069662069742069732074686572650a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a206175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a206175746828426f72726f7756616c75652920264163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e73746f726167652e626f72726f773c6175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f2061205374616b696e67436f6c6c656374696f6e20696e20746865207072696d61727920757365722773206163636f756e7422290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e7769746864726177556e7374616b6564546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8b0b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227da07b2276616c7565223a6e756c6c2c2274797065223a224f7074696f6e616c227db07b2276616c7565223a2239323233333732303336382e3534373735383038222c2274797065223a22554669783634227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", + "metadata": "0201fd4ea83d20510d24ed9f245873a7ee2715aefb774495c80bce7e3e34d6442ec2484f17e640e285769c3edaa6f2d090dcef1f2f57983f82b7179c3c047290ca576974686472617720556e7374616b656420546f6b656e730003014e6f64652049440000537472696e6700030244656c656761746f72204944000155496e743332000301416d6f756e7400025546697836340003", + "hash": "c2484f17e640e285769c3edaa6f2d090dcef1f2f57983f82b7179c3c047290ca" }, { - "title": "TS.01 - Set up Top Shot Collection", + "title": "SCO.11 - Withdraw Unstaked Tokens - 2", "valid": true, "chainID": "Mainnet", "payloadMessage": { - "script": "import TopShot from 0x0b2a3299cc857e29\n\n// This transaction sets up an account to use Top Shot\n// by storing an empty moment collection and creating\n// a public capability for it\n\ntransaction {\n\n prepare(acct: AuthAccount) {\n\n // First, check to see if a moment collection already exists\n if acct.borrow<&TopShot.Collection>(from: /storage/MomentCollection) == nil {\n\n // create a new TopShot Collection\n let collection <- TopShot.createEmptyCollection() as! @TopShot.Collection\n\n // Put the new Collection in storage\n acct.save(<-collection, to: /storage/MomentCollection)\n\n // create a public capability for the collection\n acct.link<&{TopShot.MomentCollectionPublic}>(/public/MomentCollection, target: /storage/MomentCollection)\n }\n }\n}", - "arguments": [], + "script": "import FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// Request to withdraw unstaked tokens for the specified node or delegator in the staking collection\n/// The tokens are automatically deposited to the unlocked account vault first,\n/// And then any locked tokens are deposited into the locked account vault if it is there\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: auth(FlowStakingCollection.CollectionOwner) &FlowStakingCollection.StakingCollection\n\n prepare(account: auth(BorrowValue) &Account) {\n self.stakingCollectionRef = account.storage.borrow(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow a reference to a StakingCollection in the primary user's account\")\n }\n\n execute {\n self.stakingCollectionRef.withdrawUnstakedTokens(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", + "arguments": [ + { + "type": "String", + "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" + }, + { + "value": { + "value": "42", + "type": "UInt32" + }, + "type": "Optional" + }, + { + "value": "92233720368.54775808", + "type": "UFix64" + } + ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", "gasLimit": 42, "proposalKey": { @@ -5725,8 +4073,24 @@ ] }, "envelopeMessage": { - "script": "import TopShot from 0x0b2a3299cc857e29\n\n// This transaction sets up an account to use Top Shot\n// by storing an empty moment collection and creating\n// a public capability for it\n\ntransaction {\n\n prepare(acct: AuthAccount) {\n\n // First, check to see if a moment collection already exists\n if acct.borrow<&TopShot.Collection>(from: /storage/MomentCollection) == nil {\n\n // create a new TopShot Collection\n let collection <- TopShot.createEmptyCollection() as! @TopShot.Collection\n\n // Put the new Collection in storage\n acct.save(<-collection, to: /storage/MomentCollection)\n\n // create a public capability for the collection\n acct.link<&{TopShot.MomentCollectionPublic}>(/public/MomentCollection, target: /storage/MomentCollection)\n }\n }\n}", - "arguments": [], + "script": "import FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// Request to withdraw unstaked tokens for the specified node or delegator in the staking collection\n/// The tokens are automatically deposited to the unlocked account vault first,\n/// And then any locked tokens are deposited into the locked account vault if it is there\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: auth(FlowStakingCollection.CollectionOwner) &FlowStakingCollection.StakingCollection\n\n prepare(account: auth(BorrowValue) &Account) {\n self.stakingCollectionRef = account.storage.borrow(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow a reference to a StakingCollection in the primary user's account\")\n }\n\n execute {\n self.stakingCollectionRef.withdrawUnstakedTokens(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", + "arguments": [ + { + "type": "String", + "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" + }, + { + "value": { + "value": "42", + "type": "UInt32" + }, + "type": "Optional" + }, + { + "value": "92233720368.54775808", + "type": "UFix64" + } + ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", "gasLimit": 42, "proposalKey": { @@ -5740,25 +4104,28 @@ ], "payloadSigs": [] }, - "encodedTransactionPayloadHex": "f90384b90340696d706f727420546f7053686f742066726f6d203078306232613332393963633835376532390a0a2f2f2054686973207472616e73616374696f6e207365747320757020616e206163636f756e7420746f2075736520546f702053686f740a2f2f2062792073746f72696e6720616e20656d707479206d6f6d656e7420636f6c6c656374696f6e20616e64206372656174696e670a2f2f2061207075626c6963206361706162696c69747920666f722069740a0a7472616e73616374696f6e207b0a0a202020207072657061726528616363743a20417574684163636f756e7429207b0a0a20202020202020202f2f2046697273742c20636865636b20746f207365652069662061206d6f6d656e7420636f6c6c656374696f6e20616c7265616479206578697374730a2020202020202020696620616363742e626f72726f773c26546f7053686f742e436f6c6c656374696f6e3e2866726f6d3a202f73746f726167652f4d6f6d656e74436f6c6c656374696f6e29203d3d206e696c207b0a0a2020202020202020202020202f2f206372656174652061206e657720546f7053686f7420436f6c6c656374696f6e0a2020202020202020202020206c657420636f6c6c656374696f6e203c2d20546f7053686f742e637265617465456d707479436f6c6c656374696f6e2829206173212040546f7053686f742e436f6c6c656374696f6e0a0a2020202020202020202020202f2f2050757420746865206e657720436f6c6c656374696f6e20696e2073746f726167650a202020202020202020202020616363742e73617665283c2d636f6c6c656374696f6e2c20746f3a202f73746f726167652f4d6f6d656e74436f6c6c656374696f6e290a0a2020202020202020202020202f2f206372656174652061207075626c6963206361706162696c69747920666f722074686520636f6c6c656374696f6e0a202020202020202020202020616363742e6c696e6b3c267b546f7053686f742e4d6f6d656e74436f6c6c656374696f6e5075626c69637d3e282f7075626c69632f4d6f6d656e74436f6c6c656374696f6e2c207461726765743a202f73746f726167652f4d6f6d656e74436f6c6c656374696f6e290a20202020202020207d0a202020207d0a7dc0a0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f90388f90384b90340696d706f727420546f7053686f742066726f6d203078306232613332393963633835376532390a0a2f2f2054686973207472616e73616374696f6e207365747320757020616e206163636f756e7420746f2075736520546f702053686f740a2f2f2062792073746f72696e6720616e20656d707479206d6f6d656e7420636f6c6c656374696f6e20616e64206372656174696e670a2f2f2061207075626c6963206361706162696c69747920666f722069740a0a7472616e73616374696f6e207b0a0a202020207072657061726528616363743a20417574684163636f756e7429207b0a0a20202020202020202f2f2046697273742c20636865636b20746f207365652069662061206d6f6d656e7420636f6c6c656374696f6e20616c7265616479206578697374730a2020202020202020696620616363742e626f72726f773c26546f7053686f742e436f6c6c656374696f6e3e2866726f6d3a202f73746f726167652f4d6f6d656e74436f6c6c656374696f6e29203d3d206e696c207b0a0a2020202020202020202020202f2f206372656174652061206e657720546f7053686f7420436f6c6c656374696f6e0a2020202020202020202020206c657420636f6c6c656374696f6e203c2d20546f7053686f742e637265617465456d707479436f6c6c656374696f6e2829206173212040546f7053686f742e436f6c6c656374696f6e0a0a2020202020202020202020202f2f2050757420746865206e657720436f6c6c656374696f6e20696e2073746f726167650a202020202020202020202020616363742e73617665283c2d636f6c6c656374696f6e2c20746f3a202f73746f726167652f4d6f6d656e74436f6c6c656374696f6e290a0a2020202020202020202020202f2f206372656174652061207075626c6963206361706162696c69747920666f722074686520636f6c6c656374696f6e0a202020202020202020202020616363742e6c696e6b3c267b546f7053686f742e4d6f6d656e74436f6c6c656374696f6e5075626c69637d3e282f7075626c69632f4d6f6d656e74436f6c6c656374696f6e2c207461726765743a202f73746f726167652f4d6f6d656e74436f6c6c656374696f6e290a20202020202020207d0a202020207d0a7dc0a0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "020f0baeef9353ceee607c5be3b7c0f86792dadf20b9e9c89e831adb0199e758827511848f1c27a173d966f4b868fd7efead7eeb1bbf04fc3f3e60dabc6c7f759353657420757020546f702053686f7420436f6c6c656374696f6e0000", - "hash": "7511848f1c27a173d966f4b868fd7efead7eeb1bbf04fc3f3e60dabc6c7f7593" + "encodedTransactionPayloadHex": "f9050cb903fc696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f205265717565737420746f20776974686472617720756e7374616b656420746f6b656e7320666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f2054686520746f6b656e7320617265206175746f6d61746963616c6c79206465706f736974656420746f2074686520756e6c6f636b6564206163636f756e74207661756c742066697273742c0a2f2f2f20416e64207468656e20616e79206c6f636b656420746f6b656e7320617265206465706f736974656420696e746f20746865206c6f636b6564206163636f756e74207661756c742069662069742069732074686572650a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a206175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a206175746828426f72726f7756616c75652920264163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e73746f726167652e626f72726f773c6175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f2061205374616b696e67436f6c6c656374696f6e20696e20746865207072696d61727920757365722773206163636f756e7422290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e7769746864726177556e7374616b6564546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8cbb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db83a7b2276616c7565223a7b2276616c7565223a223432222c2274797065223a2255496e743332227d2c2274797065223a224f7074696f6e616c227db07b2276616c7565223a2239323233333732303336382e3534373735383038222c2274797065223a22554669783634227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", + "encodedTransactionEnvelopeHex": "f90510f9050cb903fc696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f205265717565737420746f20776974686472617720756e7374616b656420746f6b656e7320666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f2054686520746f6b656e7320617265206175746f6d61746963616c6c79206465706f736974656420746f2074686520756e6c6f636b6564206163636f756e74207661756c742066697273742c0a2f2f2f20416e64207468656e20616e79206c6f636b656420746f6b656e7320617265206465706f736974656420696e746f20746865206c6f636b6564206163636f756e74207661756c742069662069742069732074686572650a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a206175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a206175746828426f72726f7756616c75652920264163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e73746f726167652e626f72726f773c6175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f2061205374616b696e67436f6c6c656374696f6e20696e20746865207072696d61727920757365722773206163636f756e7422290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e7769746864726177556e7374616b6564546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8cbb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db83a7b2276616c7565223a7b2276616c7565223a223432222c2274797065223a2255496e743332227d2c2274797065223a224f7074696f6e616c227db07b2276616c7565223a2239323233333732303336382e3534373735383038222c2274797065223a22554669783634227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", + "metadata": "0201fd4ea83d20510d24ed9f245873a7ee2715aefb774495c80bce7e3e34d6442ec2484f17e640e285769c3edaa6f2d090dcef1f2f57983f82b7179c3c047290ca576974686472617720556e7374616b656420546f6b656e730003014e6f64652049440000537472696e6700030244656c656761746f72204944000155496e743332000301416d6f756e7400025546697836340003", + "hash": "c2484f17e640e285769c3edaa6f2d090dcef1f2f57983f82b7179c3c047290ca" }, { - "title": "TS.02 - Transfer Top Shot Moment", + "title": "SCO.12 - Close Stake - 1", "valid": true, "chainID": "Mainnet", "payloadMessage": { - "script": "import NonFungibleToken from 0x1d7e57aa55817448\nimport TopShot from 0x0b2a3299cc857e29\n\n// This transaction transfers a moment to a recipient\n\n// This transaction is how a topshot user would transfer a moment\n// from their account to another account\n// The recipient must have a TopShot Collection object stored\n// and a public MomentCollectionPublic capability stored at\n// `/public/MomentCollection`\n\n// Parameters:\n//\n// recipient: The Flow address of the account to receive the moment.\n// withdrawID: The id of the moment to be transferred\n\ntransaction(recipient: Address, withdrawID: UInt64) {\n\n // local variable for storing the transferred token\n let transferToken: @NonFungibleToken.NFT\n \n prepare(acct: AuthAccount) {\n\n // borrow a reference to the owner's collection\n let collectionRef = acct.borrow<&TopShot.Collection>(from: /storage/MomentCollection)\n ?? panic(\"Could not borrow a reference to the stored Moment collection\")\n \n // withdraw the NFT\n self.transferToken <- collectionRef.withdraw(withdrawID: withdrawID)\n }\n\n execute {\n \n // get the recipient's public account object\n let recipient = getAccount(recipient)\n\n // get the Collection reference for the receiver\n let receiverRef = recipient.getCapability(/public/MomentCollection).borrow<&{TopShot.MomentCollectionPublic}>()!\n\n // deposit the NFT in the receivers collection\n receiverRef.deposit(token: <-self.transferToken)\n }\n}", + "script": "import FlowStakingCollection from 0x8d0e87b65159ae63\n\n// Closes out a staking object in the staking collection\n// This does not remove the record from the identity table,\n// but it does mean that the account that closes it cannot ever access it again\n\ntransaction(nodeID: String, delegatorID: UInt32?) {\n \n let stakingCollectionRef: auth(FlowStakingCollection.CollectionOwner) &FlowStakingCollection.StakingCollection\n\n prepare(account: auth(BorrowValue) &Account) {\n self.stakingCollectionRef = account.storage.borrow(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow a reference to a StakingCollection in the primary user's account\")\n }\n\n execute {\n self.stakingCollectionRef.closeStake(nodeID: nodeID, delegatorID: delegatorID)\n }\n}\n", "arguments": [ { - "type": "Address", - "value": "0xe467b9dd11fa00df" + "type": "String", + "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" }, { - "type": "UInt64", - "value": "42" + "value": { + "value": "42", + "type": "UInt32" + }, + "type": "Optional" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -5774,15 +4141,18 @@ ] }, "envelopeMessage": { - "script": "import NonFungibleToken from 0x1d7e57aa55817448\nimport TopShot from 0x0b2a3299cc857e29\n\n// This transaction transfers a moment to a recipient\n\n// This transaction is how a topshot user would transfer a moment\n// from their account to another account\n// The recipient must have a TopShot Collection object stored\n// and a public MomentCollectionPublic capability stored at\n// `/public/MomentCollection`\n\n// Parameters:\n//\n// recipient: The Flow address of the account to receive the moment.\n// withdrawID: The id of the moment to be transferred\n\ntransaction(recipient: Address, withdrawID: UInt64) {\n\n // local variable for storing the transferred token\n let transferToken: @NonFungibleToken.NFT\n \n prepare(acct: AuthAccount) {\n\n // borrow a reference to the owner's collection\n let collectionRef = acct.borrow<&TopShot.Collection>(from: /storage/MomentCollection)\n ?? panic(\"Could not borrow a reference to the stored Moment collection\")\n \n // withdraw the NFT\n self.transferToken <- collectionRef.withdraw(withdrawID: withdrawID)\n }\n\n execute {\n \n // get the recipient's public account object\n let recipient = getAccount(recipient)\n\n // get the Collection reference for the receiver\n let receiverRef = recipient.getCapability(/public/MomentCollection).borrow<&{TopShot.MomentCollectionPublic}>()!\n\n // deposit the NFT in the receivers collection\n receiverRef.deposit(token: <-self.transferToken)\n }\n}", + "script": "import FlowStakingCollection from 0x8d0e87b65159ae63\n\n// Closes out a staking object in the staking collection\n// This does not remove the record from the identity table,\n// but it does mean that the account that closes it cannot ever access it again\n\ntransaction(nodeID: String, delegatorID: UInt32?) {\n \n let stakingCollectionRef: auth(FlowStakingCollection.CollectionOwner) &FlowStakingCollection.StakingCollection\n\n prepare(account: auth(BorrowValue) &Account) {\n self.stakingCollectionRef = account.storage.borrow(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow a reference to a StakingCollection in the primary user's account\")\n }\n\n execute {\n self.stakingCollectionRef.closeStake(nodeID: nodeID, delegatorID: delegatorID)\n }\n}\n", "arguments": [ { - "type": "Address", - "value": "0xe467b9dd11fa00df" + "type": "String", + "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" }, { - "type": "UInt64", - "value": "42" + "value": { + "value": "42", + "type": "UInt32" + }, + "type": "Optional" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -5798,18 +4168,27 @@ ], "payloadSigs": [] }, - "encodedTransactionPayloadHex": "f90681b905ed696d706f7274204e6f6e46756e6769626c65546f6b656e2066726f6d203078316437653537616135353831373434380a696d706f727420546f7053686f742066726f6d203078306232613332393963633835376532390a0a2f2f2054686973207472616e73616374696f6e207472616e73666572732061206d6f6d656e7420746f206120726563697069656e740a0a2f2f2054686973207472616e73616374696f6e20697320686f77206120746f7073686f74207573657220776f756c64207472616e736665722061206d6f6d656e740a2f2f2066726f6d207468656972206163636f756e7420746f20616e6f74686572206163636f756e740a2f2f2054686520726563697069656e74206d7573742068617665206120546f7053686f7420436f6c6c656374696f6e206f626a6563742073746f7265640a2f2f20616e642061207075626c6963204d6f6d656e74436f6c6c656374696f6e5075626c6963206361706162696c6974792073746f7265642061740a2f2f20602f7075626c69632f4d6f6d656e74436f6c6c656374696f6e600a0a2f2f20506172616d65746572733a0a2f2f0a2f2f20726563697069656e743a2054686520466c6f772061646472657373206f6620746865206163636f756e7420746f207265636569766520746865206d6f6d656e742e0a2f2f20776974686472617749443a20546865206964206f6620746865206d6f6d656e7420746f206265207472616e736665727265640a0a7472616e73616374696f6e28726563697069656e743a20416464726573732c20776974686472617749443a2055496e74363429207b0a0a202020202f2f206c6f63616c207661726961626c6520666f722073746f72696e6720746865207472616e7366657272656420746f6b656e0a202020206c6574207472616e73666572546f6b656e3a20404e6f6e46756e6769626c65546f6b656e2e4e46540a202020200a202020207072657061726528616363743a20417574684163636f756e7429207b0a0a20202020202020202f2f20626f72726f772061207265666572656e636520746f20746865206f776e6572277320636f6c6c656374696f6e0a20202020202020206c657420636f6c6c656374696f6e526566203d20616363742e626f72726f773c26546f7053686f742e436f6c6c656374696f6e3e2866726f6d3a202f73746f726167652f4d6f6d656e74436f6c6c656374696f6e290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f207468652073746f726564204d6f6d656e7420636f6c6c656374696f6e22290a20202020202020200a20202020202020202f2f20776974686472617720746865204e46540a202020202020202073656c662e7472616e73666572546f6b656e203c2d20636f6c6c656374696f6e5265662e776974686472617728776974686472617749443a2077697468647261774944290a202020207d0a0a2020202065786563757465207b0a20202020202020200a20202020202020202f2f206765742074686520726563697069656e742773207075626c6963206163636f756e74206f626a6563740a20202020202020206c657420726563697069656e74203d206765744163636f756e7428726563697069656e74290a0a20202020202020202f2f206765742074686520436f6c6c656374696f6e207265666572656e636520666f72207468652072656365697665720a20202020202020206c6574207265636569766572526566203d20726563697069656e742e6765744361706162696c697479282f7075626c69632f4d6f6d656e74436f6c6c656374696f6e292e626f72726f773c267b546f7053686f742e4d6f6d656e74436f6c6c656374696f6e5075626c69637d3e2829210a0a20202020202020202f2f206465706f73697420746865204e465420696e207468652072656365697665727320636f6c6c656374696f6e0a202020202020202072656365697665725265662e6465706f73697428746f6b656e3a203c2d73656c662e7472616e73666572546f6b656e290a202020207d0a7df84faf7b2274797065223a2241646472657373222c2276616c7565223a22307865343637623964643131666130306466227d9e7b2274797065223a2255496e743634222c2276616c7565223a223432227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f90685f90681b905ed696d706f7274204e6f6e46756e6769626c65546f6b656e2066726f6d203078316437653537616135353831373434380a696d706f727420546f7053686f742066726f6d203078306232613332393963633835376532390a0a2f2f2054686973207472616e73616374696f6e207472616e73666572732061206d6f6d656e7420746f206120726563697069656e740a0a2f2f2054686973207472616e73616374696f6e20697320686f77206120746f7073686f74207573657220776f756c64207472616e736665722061206d6f6d656e740a2f2f2066726f6d207468656972206163636f756e7420746f20616e6f74686572206163636f756e740a2f2f2054686520726563697069656e74206d7573742068617665206120546f7053686f7420436f6c6c656374696f6e206f626a6563742073746f7265640a2f2f20616e642061207075626c6963204d6f6d656e74436f6c6c656374696f6e5075626c6963206361706162696c6974792073746f7265642061740a2f2f20602f7075626c69632f4d6f6d656e74436f6c6c656374696f6e600a0a2f2f20506172616d65746572733a0a2f2f0a2f2f20726563697069656e743a2054686520466c6f772061646472657373206f6620746865206163636f756e7420746f207265636569766520746865206d6f6d656e742e0a2f2f20776974686472617749443a20546865206964206f6620746865206d6f6d656e7420746f206265207472616e736665727265640a0a7472616e73616374696f6e28726563697069656e743a20416464726573732c20776974686472617749443a2055496e74363429207b0a0a202020202f2f206c6f63616c207661726961626c6520666f722073746f72696e6720746865207472616e7366657272656420746f6b656e0a202020206c6574207472616e73666572546f6b656e3a20404e6f6e46756e6769626c65546f6b656e2e4e46540a202020200a202020207072657061726528616363743a20417574684163636f756e7429207b0a0a20202020202020202f2f20626f72726f772061207265666572656e636520746f20746865206f776e6572277320636f6c6c656374696f6e0a20202020202020206c657420636f6c6c656374696f6e526566203d20616363742e626f72726f773c26546f7053686f742e436f6c6c656374696f6e3e2866726f6d3a202f73746f726167652f4d6f6d656e74436f6c6c656374696f6e290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f207468652073746f726564204d6f6d656e7420636f6c6c656374696f6e22290a20202020202020200a20202020202020202f2f20776974686472617720746865204e46540a202020202020202073656c662e7472616e73666572546f6b656e203c2d20636f6c6c656374696f6e5265662e776974686472617728776974686472617749443a2077697468647261774944290a202020207d0a0a2020202065786563757465207b0a20202020202020200a20202020202020202f2f206765742074686520726563697069656e742773207075626c6963206163636f756e74206f626a6563740a20202020202020206c657420726563697069656e74203d206765744163636f756e7428726563697069656e74290a0a20202020202020202f2f206765742074686520436f6c6c656374696f6e207265666572656e636520666f72207468652072656365697665720a20202020202020206c6574207265636569766572526566203d20726563697069656e742e6765744361706162696c697479282f7075626c69632f4d6f6d656e74436f6c6c656374696f6e292e626f72726f773c267b546f7053686f742e4d6f6d656e74436f6c6c656374696f6e5075626c69637d3e2829210a0a20202020202020202f2f206465706f73697420746865204e465420696e207468652072656365697665727320636f6c6c656374696f6e0a202020202020202072656365697665725265662e6465706f73697428746f6b656e3a203c2d73656c662e7472616e73666572546f6b656e290a202020207d0a7df84faf7b2274797065223a2241646472657373222c2276616c7565223a22307865343637623964643131666130306466227d9e7b2274797065223a2255496e743634222c2276616c7565223a223432227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "021ec9aea0b51409610f882f5ae4278567da675542bb378eb999f05b7c4f12f7d809d5ad21bf70dfe4f8d800db9e61a77f2f64837ae0e818c3cd67e9cea837a1cf5472616e7366657220546f702053686f74204d6f6d656e74000201526563697069656e740000416464726573730003014d6f6d656e74204944000155496e7436340003", - "hash": "09d5ad21bf70dfe4f8d800db9e61a77f2f64837ae0e818c3cd67e9cea837a1cf" + "encodedTransactionPayloadHex": "f90464b90385696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f20436c6f736573206f75742061207374616b696e67206f626a65637420696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f205468697320646f6573206e6f742072656d6f766520746865207265636f72642066726f6d20746865206964656e74697479207461626c652c0a2f2f2062757420697420646f6573206d65616e207468617420746865206163636f756e74207468617420636c6f7365732069742063616e6e6f7420657665722061636365737320697420616761696e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f29207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a206175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a206175746828426f72726f7756616c75652920264163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e73746f726167652e626f72726f773c6175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f2061205374616b696e67436f6c6c656374696f6e20696e20746865207072696d61727920757365722773206163636f756e7422290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e636c6f73655374616b65286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f724944290a202020207d0a7d0af89ab85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db83a7b2276616c7565223a7b2276616c7565223a223432222c2274797065223a2255496e743332227d2c2274797065223a224f7074696f6e616c227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", + "encodedTransactionEnvelopeHex": "f90468f90464b90385696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f20436c6f736573206f75742061207374616b696e67206f626a65637420696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f205468697320646f6573206e6f742072656d6f766520746865207265636f72642066726f6d20746865206964656e74697479207461626c652c0a2f2f2062757420697420646f6573206d65616e207468617420746865206163636f756e74207468617420636c6f7365732069742063616e6e6f7420657665722061636365737320697420616761696e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f29207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a206175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a206175746828426f72726f7756616c75652920264163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e73746f726167652e626f72726f773c6175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f2061205374616b696e67436f6c6c656374696f6e20696e20746865207072696d61727920757365722773206163636f756e7422290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e636c6f73655374616b65286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f724944290a202020207d0a7d0af89ab85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db83a7b2276616c7565223a7b2276616c7565223a223432222c2274797065223a2255496e743332227d2c2274797065223a224f7074696f6e616c227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", + "metadata": "027e216d96d75414b27c2301a3b0a7816804d43014337a14731d1493531116d185a0fad319bf8aede66212257ad0d21532858381e2c9d7c4cec179b28180f5be93436c6f7365205374616b650002014e6f64652049440000537472696e6700030244656c656761746f72204944000155496e7433320003", + "hash": "a0fad319bf8aede66212257ad0d21532858381e2c9d7c4cec179b28180f5be93" }, { - "title": "USDC.01 - Setup USDC Vault", + "title": "SCO.12 - Close Stake - 2", "valid": true, "chainID": "Mainnet", "payloadMessage": { - "script": "import FungibleToken from 0xf233dcee88fe0abe\nimport FiatToken from 0xb19436aae4d94622\n\ntransaction {\n\n prepare(signer: AuthAccount) {\n\n // Return early if the account already stores a FiatToken Vault\n if signer.borrow<&FiatToken.Vault>(from: FiatToken.VaultStoragePath) != nil {\n return\n }\n\n // Create a new ExampleToken Vault and put it in storage\n signer.save(\n <-FiatToken.createEmptyVault(),\n to: FiatToken.VaultStoragePath\n )\n\n // Create a public capability to the Vault that only exposes\n // the deposit function through the Receiver interface\n signer.link<&FiatToken.Vault{FungibleToken.Receiver}>(\n FiatToken.VaultReceiverPubPath,\n target: FiatToken.VaultStoragePath\n )\n\n // Create a public capability to the Vault that only exposes\n // the UUID() function through the VaultUUID interface\n signer.link<&FiatToken.Vault{FiatToken.ResourceId}>(\n FiatToken.VaultUUIDPubPath,\n target: FiatToken.VaultStoragePath\n )\n\n // Create a public capability to the Vault that only exposes\n // the balance field through the Balance interface\n signer.link<&FiatToken.Vault{FungibleToken.Balance}>(\n FiatToken.VaultBalancePubPath,\n target: FiatToken.VaultStoragePath\n )\n\n }\n}\n", - "arguments": [], + "script": "import FlowStakingCollection from 0x8d0e87b65159ae63\n\n// Closes out a staking object in the staking collection\n// This does not remove the record from the identity table,\n// but it does mean that the account that closes it cannot ever access it again\n\ntransaction(nodeID: String, delegatorID: UInt32?) {\n \n let stakingCollectionRef: auth(FlowStakingCollection.CollectionOwner) &FlowStakingCollection.StakingCollection\n\n prepare(account: auth(BorrowValue) &Account) {\n self.stakingCollectionRef = account.storage.borrow(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow a reference to a StakingCollection in the primary user's account\")\n }\n\n execute {\n self.stakingCollectionRef.closeStake(nodeID: nodeID, delegatorID: delegatorID)\n }\n}\n", + "arguments": [ + { + "type": "String", + "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" + }, + { + "value": null, + "type": "Optional" + } + ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", "gasLimit": 42, "proposalKey": { @@ -5823,8 +4202,17 @@ ] }, "envelopeMessage": { - "script": "import FungibleToken from 0xf233dcee88fe0abe\nimport FiatToken from 0xb19436aae4d94622\n\ntransaction {\n\n prepare(signer: AuthAccount) {\n\n // Return early if the account already stores a FiatToken Vault\n if signer.borrow<&FiatToken.Vault>(from: FiatToken.VaultStoragePath) != nil {\n return\n }\n\n // Create a new ExampleToken Vault and put it in storage\n signer.save(\n <-FiatToken.createEmptyVault(),\n to: FiatToken.VaultStoragePath\n )\n\n // Create a public capability to the Vault that only exposes\n // the deposit function through the Receiver interface\n signer.link<&FiatToken.Vault{FungibleToken.Receiver}>(\n FiatToken.VaultReceiverPubPath,\n target: FiatToken.VaultStoragePath\n )\n\n // Create a public capability to the Vault that only exposes\n // the UUID() function through the VaultUUID interface\n signer.link<&FiatToken.Vault{FiatToken.ResourceId}>(\n FiatToken.VaultUUIDPubPath,\n target: FiatToken.VaultStoragePath\n )\n\n // Create a public capability to the Vault that only exposes\n // the balance field through the Balance interface\n signer.link<&FiatToken.Vault{FungibleToken.Balance}>(\n FiatToken.VaultBalancePubPath,\n target: FiatToken.VaultStoragePath\n )\n\n }\n}\n", - "arguments": [], + "script": "import FlowStakingCollection from 0x8d0e87b65159ae63\n\n// Closes out a staking object in the staking collection\n// This does not remove the record from the identity table,\n// but it does mean that the account that closes it cannot ever access it again\n\ntransaction(nodeID: String, delegatorID: UInt32?) {\n \n let stakingCollectionRef: auth(FlowStakingCollection.CollectionOwner) &FlowStakingCollection.StakingCollection\n\n prepare(account: auth(BorrowValue) &Account) {\n self.stakingCollectionRef = account.storage.borrow(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow a reference to a StakingCollection in the primary user's account\")\n }\n\n execute {\n self.stakingCollectionRef.closeStake(nodeID: nodeID, delegatorID: delegatorID)\n }\n}\n", + "arguments": [ + { + "type": "String", + "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" + }, + { + "value": null, + "type": "Optional" + } + ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", "gasLimit": 42, "proposalKey": { @@ -5838,25 +4226,25 @@ ], "payloadSigs": [] }, - "encodedTransactionPayloadHex": "f905b9b90575696d706f72742046756e6769626c65546f6b656e2066726f6d203078663233336463656538386665306162650a696d706f72742046696174546f6b656e2066726f6d203078623139343336616165346439343632320a0a7472616e73616374696f6e207b0a0a2020202070726570617265287369676e65723a20417574684163636f756e7429207b0a0a20202020202020202f2f2052657475726e206561726c7920696620746865206163636f756e7420616c72656164792073746f72657320612046696174546f6b656e205661756c740a20202020202020206966207369676e65722e626f72726f773c2646696174546f6b656e2e5661756c743e2866726f6d3a2046696174546f6b656e2e5661756c7453746f72616765506174682920213d206e696c207b0a20202020202020202020202072657475726e0a20202020202020207d0a0a20202020202020202f2f204372656174652061206e6577204578616d706c65546f6b656e205661756c7420616e642070757420697420696e2073746f726167650a20202020202020207369676e65722e73617665280a2020202020202020202020203c2d46696174546f6b656e2e637265617465456d7074795661756c7428292c0a202020202020202020202020746f3a2046696174546f6b656e2e5661756c7453746f72616765506174680a2020202020202020290a0a20202020202020202f2f204372656174652061207075626c6963206361706162696c69747920746f20746865205661756c742074686174206f6e6c79206578706f7365730a20202020202020202f2f20746865206465706f7369742066756e6374696f6e207468726f7567682074686520526563656976657220696e746572666163650a20202020202020207369676e65722e6c696e6b3c2646696174546f6b656e2e5661756c747b46756e6769626c65546f6b656e2e52656365697665727d3e280a20202020202020202020202046696174546f6b656e2e5661756c745265636569766572507562506174682c0a2020202020202020202020207461726765743a2046696174546f6b656e2e5661756c7453746f72616765506174680a2020202020202020290a0a20202020202020202f2f204372656174652061207075626c6963206361706162696c69747920746f20746865205661756c742074686174206f6e6c79206578706f7365730a20202020202020202f2f20746865205555494428292066756e6374696f6e207468726f75676820746865205661756c745555494420696e746572666163650a20202020202020207369676e65722e6c696e6b3c2646696174546f6b656e2e5661756c747b46696174546f6b656e2e5265736f7572636549647d3e280a20202020202020202020202046696174546f6b656e2e5661756c7455554944507562506174682c0a2020202020202020202020207461726765743a2046696174546f6b656e2e5661756c7453746f72616765506174680a2020202020202020290a0a20202020202020202f2f204372656174652061207075626c6963206361706162696c69747920746f20746865205661756c742074686174206f6e6c79206578706f7365730a20202020202020202f2f207468652062616c616e6365206669656c64207468726f756768207468652042616c616e636520696e746572666163650a20202020202020207369676e65722e6c696e6b3c2646696174546f6b656e2e5661756c747b46756e6769626c65546f6b656e2e42616c616e63657d3e280a20202020202020202020202046696174546f6b656e2e5661756c7442616c616e6365507562506174682c0a2020202020202020202020207461726765743a2046696174546f6b656e2e5661756c7453746f72616765506174680a2020202020202020290a0a202020207d0a7d0ac0a0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f905bdf905b9b90575696d706f72742046756e6769626c65546f6b656e2066726f6d203078663233336463656538386665306162650a696d706f72742046696174546f6b656e2066726f6d203078623139343336616165346439343632320a0a7472616e73616374696f6e207b0a0a2020202070726570617265287369676e65723a20417574684163636f756e7429207b0a0a20202020202020202f2f2052657475726e206561726c7920696620746865206163636f756e7420616c72656164792073746f72657320612046696174546f6b656e205661756c740a20202020202020206966207369676e65722e626f72726f773c2646696174546f6b656e2e5661756c743e2866726f6d3a2046696174546f6b656e2e5661756c7453746f72616765506174682920213d206e696c207b0a20202020202020202020202072657475726e0a20202020202020207d0a0a20202020202020202f2f204372656174652061206e6577204578616d706c65546f6b656e205661756c7420616e642070757420697420696e2073746f726167650a20202020202020207369676e65722e73617665280a2020202020202020202020203c2d46696174546f6b656e2e637265617465456d7074795661756c7428292c0a202020202020202020202020746f3a2046696174546f6b656e2e5661756c7453746f72616765506174680a2020202020202020290a0a20202020202020202f2f204372656174652061207075626c6963206361706162696c69747920746f20746865205661756c742074686174206f6e6c79206578706f7365730a20202020202020202f2f20746865206465706f7369742066756e6374696f6e207468726f7567682074686520526563656976657220696e746572666163650a20202020202020207369676e65722e6c696e6b3c2646696174546f6b656e2e5661756c747b46756e6769626c65546f6b656e2e52656365697665727d3e280a20202020202020202020202046696174546f6b656e2e5661756c745265636569766572507562506174682c0a2020202020202020202020207461726765743a2046696174546f6b656e2e5661756c7453746f72616765506174680a2020202020202020290a0a20202020202020202f2f204372656174652061207075626c6963206361706162696c69747920746f20746865205661756c742074686174206f6e6c79206578706f7365730a20202020202020202f2f20746865205555494428292066756e6374696f6e207468726f75676820746865205661756c745555494420696e746572666163650a20202020202020207369676e65722e6c696e6b3c2646696174546f6b656e2e5661756c747b46696174546f6b656e2e5265736f7572636549647d3e280a20202020202020202020202046696174546f6b656e2e5661756c7455554944507562506174682c0a2020202020202020202020207461726765743a2046696174546f6b656e2e5661756c7453746f72616765506174680a2020202020202020290a0a20202020202020202f2f204372656174652061207075626c6963206361706162696c69747920746f20746865205661756c742074686174206f6e6c79206578706f7365730a20202020202020202f2f207468652062616c616e6365206669656c64207468726f756768207468652042616c616e636520696e746572666163650a20202020202020207369676e65722e6c696e6b3c2646696174546f6b656e2e5661756c747b46756e6769626c65546f6b656e2e42616c616e63657d3e280a20202020202020202020202046696174546f6b656e2e5661756c7442616c616e6365507562506174682c0a2020202020202020202020207461726765743a2046696174546f6b656e2e5661756c7453746f72616765506174680a2020202020202020290a0a202020207d0a7d0ac0a0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "022defee818c0c003ca519f83517f4c7bcf9dd8664a562ec80959cb6146428f971887673892a2e2c12337394570dfa30c5669e93f537ae426690f402799514a9a153657475702055534443205661756c740000", - "hash": "887673892a2e2c12337394570dfa30c5669e93f537ae426690f402799514a9a1" + "encodedTransactionPayloadHex": "f90449b90385696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f20436c6f736573206f75742061207374616b696e67206f626a65637420696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f205468697320646f6573206e6f742072656d6f766520746865207265636f72642066726f6d20746865206964656e74697479207461626c652c0a2f2f2062757420697420646f6573206d65616e207468617420746865206163636f756e74207468617420636c6f7365732069742063616e6e6f7420657665722061636365737320697420616761696e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f29207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a206175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a206175746828426f72726f7756616c75652920264163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e73746f726167652e626f72726f773c6175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f2061205374616b696e67436f6c6c656374696f6e20696e20746865207072696d61727920757365722773206163636f756e7422290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e636c6f73655374616b65286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f724944290a202020207d0a7d0af87fb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227da07b2276616c7565223a6e756c6c2c2274797065223a224f7074696f6e616c227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", + "encodedTransactionEnvelopeHex": "f9044df90449b90385696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f20436c6f736573206f75742061207374616b696e67206f626a65637420696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f205468697320646f6573206e6f742072656d6f766520746865207265636f72642066726f6d20746865206964656e74697479207461626c652c0a2f2f2062757420697420646f6573206d65616e207468617420746865206163636f756e74207468617420636c6f7365732069742063616e6e6f7420657665722061636365737320697420616761696e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f29207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a206175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a206175746828426f72726f7756616c75652920264163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e73746f726167652e626f72726f773c6175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f2061205374616b696e67436f6c6c656374696f6e20696e20746865207072696d61727920757365722773206163636f756e7422290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e636c6f73655374616b65286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f724944290a202020207d0a7d0af87fb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227da07b2276616c7565223a6e756c6c2c2274797065223a224f7074696f6e616c227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", + "metadata": "027e216d96d75414b27c2301a3b0a7816804d43014337a14731d1493531116d185a0fad319bf8aede66212257ad0d21532858381e2c9d7c4cec179b28180f5be93436c6f7365205374616b650002014e6f64652049440000537472696e6700030244656c656761746f72204944000155496e7433320003", + "hash": "a0fad319bf8aede66212257ad0d21532858381e2c9d7c4cec179b28180f5be93" }, { - "title": "USDC.02 - Transfer USDC", + "title": "SCO.13 - Transfer Node", "valid": true, "chainID": "Mainnet", "payloadMessage": { - "script": "import FungibleToken from 0xf233dcee88fe0abe\nimport FiatToken from 0xb19436aae4d94622\n\ntransaction(amount: UFix64, to: Address) {\n\n // The Vault resource that holds the tokens that are being transferred\n let sentVault: @FungibleToken.Vault\n\n prepare(signer: AuthAccount) {\n\n // Get a reference to the signer's stored vault\n let vaultRef = signer.borrow<&FiatToken.Vault>(from: FiatToken.VaultStoragePath)\n ?? panic(\"Could not borrow reference to the owner's Vault!\")\n\n // Withdraw tokens from the signer's stored vault\n self.sentVault <- vaultRef.withdraw(amount: amount)\n }\n\n execute {\n\n // Get the recipient's public account object\n let recipient = getAccount(to)\n\n // Get a reference to the recipient's Receiver\n let receiverRef = recipient.getCapability(FiatToken.VaultReceiverPubPath)\n .borrow<&{FungibleToken.Receiver}>()\n ?? panic(\"Could not borrow receiver reference to the recipient's Vault\")\n\n // Deposit the withdrawn tokens in the recipient's receiver\n receiverRef.deposit(from: <-self.sentVault)\n }\n}\n", + "script": "import FlowStakingCollection from 0x8d0e87b65159ae63\n\n// Transfers a NodeStaker object from an authorizers accoount\n// and adds the NodeStaker to another accounts Staking Collection\n// identified by the to Address.\n\ntransaction(nodeID: String, to: Address) {\n let fromStakingCollectionRef: auth(FlowStakingCollection.CollectionOwner) &FlowStakingCollection.StakingCollection\n let toStakingCollectionCap: &FlowStakingCollection.StakingCollection\n\n prepare(account: auth(BorrowValue) &Account) {\n // The account to transfer the NodeStaker object to must have a valid Staking Collection in order to receive the NodeStaker.\n if (!FlowStakingCollection.doesAccountHaveStakingCollection(address: to)) {\n panic(\"Destination account must have a Staking Collection set up.\")\n }\n\n // Get a reference to the authorizers StakingCollection\n self.fromStakingCollectionRef = account.storage.borrow(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow a reference to a StakingCollection in the primary user's account\")\n\n // Get the PublicAccount of the account to transfer the NodeStaker to. \n let toAccount = getAccount(to)\n\n // Borrow a capability to the public methods available on the receivers StakingCollection.\n self.toStakingCollectionCap = toAccount.capabilities\n .borrow<&FlowStakingCollection.StakingCollection>(FlowStakingCollection.StakingCollectionPublicPath)\n ?? panic(\"Could not borrow a reference to a StakingCollection in the receiver's account\")\n\n let machineAccountInfo = self.fromStakingCollectionRef.getMachineAccounts()[nodeID]\n ?? panic(\"Could not get machine account info for the specified node ID\")\n\n // Remove the NodeStaker from the authorizers StakingCollection.\n let nodeStaker <- self.fromStakingCollectionRef.removeNode(nodeID: nodeID)\n\n // Deposit the NodeStaker to the receivers StakingCollection.\n self.toStakingCollectionCap.addNodeObject(<- nodeStaker!, machineAccountInfo: machineAccountInfo)\n }\n}", "arguments": [ { - "type": "UFix64", - "value": "42" + "type": "String", + "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" }, { - "type": "Address", - "value": "0xe467b9dd11fa00df" + "value": "0xe467b9dd11fa00df", + "type": "Address" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -5872,15 +4260,15 @@ ] }, "envelopeMessage": { - "script": "import FungibleToken from 0xf233dcee88fe0abe\nimport FiatToken from 0xb19436aae4d94622\n\ntransaction(amount: UFix64, to: Address) {\n\n // The Vault resource that holds the tokens that are being transferred\n let sentVault: @FungibleToken.Vault\n\n prepare(signer: AuthAccount) {\n\n // Get a reference to the signer's stored vault\n let vaultRef = signer.borrow<&FiatToken.Vault>(from: FiatToken.VaultStoragePath)\n ?? panic(\"Could not borrow reference to the owner's Vault!\")\n\n // Withdraw tokens from the signer's stored vault\n self.sentVault <- vaultRef.withdraw(amount: amount)\n }\n\n execute {\n\n // Get the recipient's public account object\n let recipient = getAccount(to)\n\n // Get a reference to the recipient's Receiver\n let receiverRef = recipient.getCapability(FiatToken.VaultReceiverPubPath)\n .borrow<&{FungibleToken.Receiver}>()\n ?? panic(\"Could not borrow receiver reference to the recipient's Vault\")\n\n // Deposit the withdrawn tokens in the recipient's receiver\n receiverRef.deposit(from: <-self.sentVault)\n }\n}\n", + "script": "import FlowStakingCollection from 0x8d0e87b65159ae63\n\n// Transfers a NodeStaker object from an authorizers accoount\n// and adds the NodeStaker to another accounts Staking Collection\n// identified by the to Address.\n\ntransaction(nodeID: String, to: Address) {\n let fromStakingCollectionRef: auth(FlowStakingCollection.CollectionOwner) &FlowStakingCollection.StakingCollection\n let toStakingCollectionCap: &FlowStakingCollection.StakingCollection\n\n prepare(account: auth(BorrowValue) &Account) {\n // The account to transfer the NodeStaker object to must have a valid Staking Collection in order to receive the NodeStaker.\n if (!FlowStakingCollection.doesAccountHaveStakingCollection(address: to)) {\n panic(\"Destination account must have a Staking Collection set up.\")\n }\n\n // Get a reference to the authorizers StakingCollection\n self.fromStakingCollectionRef = account.storage.borrow(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow a reference to a StakingCollection in the primary user's account\")\n\n // Get the PublicAccount of the account to transfer the NodeStaker to. \n let toAccount = getAccount(to)\n\n // Borrow a capability to the public methods available on the receivers StakingCollection.\n self.toStakingCollectionCap = toAccount.capabilities\n .borrow<&FlowStakingCollection.StakingCollection>(FlowStakingCollection.StakingCollectionPublicPath)\n ?? panic(\"Could not borrow a reference to a StakingCollection in the receiver's account\")\n\n let machineAccountInfo = self.fromStakingCollectionRef.getMachineAccounts()[nodeID]\n ?? panic(\"Could not get machine account info for the specified node ID\")\n\n // Remove the NodeStaker from the authorizers StakingCollection.\n let nodeStaker <- self.fromStakingCollectionRef.removeNode(nodeID: nodeID)\n\n // Deposit the NodeStaker to the receivers StakingCollection.\n self.toStakingCollectionCap.addNodeObject(<- nodeStaker!, machineAccountInfo: machineAccountInfo)\n }\n}", "arguments": [ { - "type": "UFix64", - "value": "42" + "type": "String", + "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" }, { - "type": "Address", - "value": "0xe467b9dd11fa00df" + "value": "0xe467b9dd11fa00df", + "type": "Address" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -5896,25 +4284,29 @@ ], "payloadSigs": [] }, - "encodedTransactionPayloadHex": "f90503b9046f696d706f72742046756e6769626c65546f6b656e2066726f6d203078663233336463656538386665306162650a696d706f72742046696174546f6b656e2066726f6d203078623139343336616165346439343632320a0a7472616e73616374696f6e28616d6f756e743a205546697836342c20746f3a204164647265737329207b0a0a202020202f2f20546865205661756c74207265736f75726365207468617420686f6c64732074686520746f6b656e73207468617420617265206265696e67207472616e736665727265640a202020206c65742073656e745661756c743a204046756e6769626c65546f6b656e2e5661756c740a0a2020202070726570617265287369676e65723a20417574684163636f756e7429207b0a0a20202020202020202f2f204765742061207265666572656e636520746f20746865207369676e657227732073746f726564207661756c740a20202020202020206c6574207661756c74526566203d207369676e65722e626f72726f773c2646696174546f6b656e2e5661756c743e2866726f6d3a2046696174546f6b656e2e5661756c7453746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f20746865206f776e65722773205661756c742122290a0a20202020202020202f2f20576974686472617720746f6b656e732066726f6d20746865207369676e657227732073746f726564207661756c740a202020202020202073656c662e73656e745661756c74203c2d207661756c745265662e776974686472617728616d6f756e743a20616d6f756e74290a202020207d0a0a2020202065786563757465207b0a0a20202020202020202f2f204765742074686520726563697069656e742773207075626c6963206163636f756e74206f626a6563740a20202020202020206c657420726563697069656e74203d206765744163636f756e7428746f290a0a20202020202020202f2f204765742061207265666572656e636520746f2074686520726563697069656e7427732052656365697665720a20202020202020206c6574207265636569766572526566203d20726563697069656e742e6765744361706162696c6974792846696174546f6b656e2e5661756c74526563656976657250756250617468290a2020202020202020202020202e626f72726f773c267b46756e6769626c65546f6b656e2e52656365697665727d3e28290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265636569766572207265666572656e636520746f2074686520726563697069656e742773205661756c7422290a0a20202020202020202f2f204465706f736974207468652077697468647261776e20746f6b656e7320696e2074686520726563697069656e7427732072656365697665720a202020202020202072656365697665725265662e6465706f7369742866726f6d3a203c2d73656c662e73656e745661756c74290a202020207d0a7d0af84f9e7b2274797065223a22554669783634222c2276616c7565223a223432227daf7b2274797065223a2241646472657373222c2276616c7565223a22307865343637623964643131666130306466227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f90507f90503b9046f696d706f72742046756e6769626c65546f6b656e2066726f6d203078663233336463656538386665306162650a696d706f72742046696174546f6b656e2066726f6d203078623139343336616165346439343632320a0a7472616e73616374696f6e28616d6f756e743a205546697836342c20746f3a204164647265737329207b0a0a202020202f2f20546865205661756c74207265736f75726365207468617420686f6c64732074686520746f6b656e73207468617420617265206265696e67207472616e736665727265640a202020206c65742073656e745661756c743a204046756e6769626c65546f6b656e2e5661756c740a0a2020202070726570617265287369676e65723a20417574684163636f756e7429207b0a0a20202020202020202f2f204765742061207265666572656e636520746f20746865207369676e657227732073746f726564207661756c740a20202020202020206c6574207661756c74526566203d207369676e65722e626f72726f773c2646696174546f6b656e2e5661756c743e2866726f6d3a2046696174546f6b656e2e5661756c7453746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f20746865206f776e65722773205661756c742122290a0a20202020202020202f2f20576974686472617720746f6b656e732066726f6d20746865207369676e657227732073746f726564207661756c740a202020202020202073656c662e73656e745661756c74203c2d207661756c745265662e776974686472617728616d6f756e743a20616d6f756e74290a202020207d0a0a2020202065786563757465207b0a0a20202020202020202f2f204765742074686520726563697069656e742773207075626c6963206163636f756e74206f626a6563740a20202020202020206c657420726563697069656e74203d206765744163636f756e7428746f290a0a20202020202020202f2f204765742061207265666572656e636520746f2074686520726563697069656e7427732052656365697665720a20202020202020206c6574207265636569766572526566203d20726563697069656e742e6765744361706162696c6974792846696174546f6b656e2e5661756c74526563656976657250756250617468290a2020202020202020202020202e626f72726f773c267b46756e6769626c65546f6b656e2e52656365697665727d3e28290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265636569766572207265666572656e636520746f2074686520726563697069656e742773205661756c7422290a0a20202020202020202f2f204465706f736974207468652077697468647261776e20746f6b656e7320696e2074686520726563697069656e7427732072656365697665720a202020202020202072656365697665725265662e6465706f7369742866726f6d3a203c2d73656c662e73656e745661756c74290a202020207d0a7d0af84f9e7b2274797065223a22554669783634222c2276616c7565223a223432227daf7b2274797065223a2241646472657373222c2276616c7565223a22307865343637623964643131666130306466227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "02512485ec3f8e007853b0ea2a22fb2b9f7e2fa55fd9819171c5d013282efee60a7ff4d9f53ba5eebda556d0ead0ca13911bc8996e2c91c5147f8787d10a3244835472616e736665722055534443000201416d6f756e740000554669783634000301526563697069656e740001416464726573730003", - "hash": "7ff4d9f53ba5eebda556d0ead0ca13911bc8996e2c91c5147f8787d10a324483" + "encodedTransactionPayloadHex": "f9096eb9089b696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f205472616e73666572732061204e6f64655374616b6572206f626a6563742066726f6d20616e20617574686f72697a657273206163636f6f756e740a2f2f20616e64206164647320746865204e6f64655374616b657220746f20616e6f74686572206163636f756e7473205374616b696e6720436f6c6c656374696f6e0a2f2f206964656e7469666965642062792074686520746f20416464726573732e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c20746f3a204164647265737329207b0a202020206c65742066726f6d5374616b696e67436f6c6c656374696f6e5265663a206175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a202020206c657420746f5374616b696e67436f6c6c656374696f6e4361703a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a206175746828426f72726f7756616c75652920264163636f756e7429207b0a20202020202020202f2f20546865206163636f756e7420746f207472616e7366657220746865204e6f64655374616b6572206f626a65637420746f206d757374206861766520612076616c6964205374616b696e6720436f6c6c656374696f6e20696e206f7264657220746f207265636569766520746865204e6f64655374616b65722e0a20202020202020206966202821466c6f775374616b696e67436f6c6c656374696f6e2e646f65734163636f756e74486176655374616b696e67436f6c6c656374696f6e28616464726573733a20746f2929207b0a20202020202020202020202070616e6963282244657374696e6174696f6e206163636f756e74206d75737420686176652061205374616b696e6720436f6c6c656374696f6e207365742075702e22290a20202020202020207d0a0a20202020202020202f2f204765742061207265666572656e636520746f2074686520617574686f72697a657273205374616b696e67436f6c6c656374696f6e0a202020202020202073656c662e66726f6d5374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e73746f726167652e626f72726f773c6175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f2061205374616b696e67436f6c6c656374696f6e20696e20746865207072696d61727920757365722773206163636f756e7422290a0a20202020202020202f2f2047657420746865205075626c69634163636f756e74206f6620746865206163636f756e7420746f207472616e7366657220746865204e6f64655374616b657220746f2e200a20202020202020206c657420746f4163636f756e74203d206765744163636f756e7428746f290a0a20202020202020202f2f20426f72726f772061206361706162696c69747920746f20746865207075626c6963206d6574686f647320617661696c61626c65206f6e2074686520726563656976657273205374616b696e67436f6c6c656374696f6e2e0a202020202020202073656c662e746f5374616b696e67436f6c6c656374696f6e436170203d20746f4163636f756e742e6361706162696c69746965730a2020202020202020202020202e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e28466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e5075626c696350617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f2061205374616b696e67436f6c6c656374696f6e20696e207468652072656365697665722773206163636f756e7422290a0a20202020202020206c6574206d616368696e654163636f756e74496e666f203d2073656c662e66726f6d5374616b696e67436f6c6c656374696f6e5265662e6765744d616368696e654163636f756e747328295b6e6f646549445d0a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420676574206d616368696e65206163636f756e7420696e666f20666f722074686520737065636966696564206e6f646520494422290a0a20202020202020202f2f2052656d6f766520746865204e6f64655374616b65722066726f6d2074686520617574686f72697a657273205374616b696e67436f6c6c656374696f6e2e0a20202020202020206c6574206e6f64655374616b6572203c2d2073656c662e66726f6d5374616b696e67436f6c6c656374696f6e5265662e72656d6f76654e6f6465286e6f646549443a206e6f64654944290a0a20202020202020202f2f204465706f73697420746865204e6f64655374616b657220746f2074686520726563656976657273205374616b696e67436f6c6c656374696f6e2e0a202020202020202073656c662e746f5374616b696e67436f6c6c656374696f6e4361702e6164644e6f64654f626a656374283c2d206e6f64655374616b6572212c206d616368696e654163636f756e74496e666f3a206d616368696e654163636f756e74496e666f290a202020207d0a7df88eb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227daf7b2276616c7565223a22307865343637623964643131666130306466222c2274797065223a2241646472657373227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", + "encodedTransactionEnvelopeHex": "f90972f9096eb9089b696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f205472616e73666572732061204e6f64655374616b6572206f626a6563742066726f6d20616e20617574686f72697a657273206163636f6f756e740a2f2f20616e64206164647320746865204e6f64655374616b657220746f20616e6f74686572206163636f756e7473205374616b696e6720436f6c6c656374696f6e0a2f2f206964656e7469666965642062792074686520746f20416464726573732e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c20746f3a204164647265737329207b0a202020206c65742066726f6d5374616b696e67436f6c6c656374696f6e5265663a206175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a202020206c657420746f5374616b696e67436f6c6c656374696f6e4361703a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a206175746828426f72726f7756616c75652920264163636f756e7429207b0a20202020202020202f2f20546865206163636f756e7420746f207472616e7366657220746865204e6f64655374616b6572206f626a65637420746f206d757374206861766520612076616c6964205374616b696e6720436f6c6c656374696f6e20696e206f7264657220746f207265636569766520746865204e6f64655374616b65722e0a20202020202020206966202821466c6f775374616b696e67436f6c6c656374696f6e2e646f65734163636f756e74486176655374616b696e67436f6c6c656374696f6e28616464726573733a20746f2929207b0a20202020202020202020202070616e6963282244657374696e6174696f6e206163636f756e74206d75737420686176652061205374616b696e6720436f6c6c656374696f6e207365742075702e22290a20202020202020207d0a0a20202020202020202f2f204765742061207265666572656e636520746f2074686520617574686f72697a657273205374616b696e67436f6c6c656374696f6e0a202020202020202073656c662e66726f6d5374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e73746f726167652e626f72726f773c6175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f2061205374616b696e67436f6c6c656374696f6e20696e20746865207072696d61727920757365722773206163636f756e7422290a0a20202020202020202f2f2047657420746865205075626c69634163636f756e74206f6620746865206163636f756e7420746f207472616e7366657220746865204e6f64655374616b657220746f2e200a20202020202020206c657420746f4163636f756e74203d206765744163636f756e7428746f290a0a20202020202020202f2f20426f72726f772061206361706162696c69747920746f20746865207075626c6963206d6574686f647320617661696c61626c65206f6e2074686520726563656976657273205374616b696e67436f6c6c656374696f6e2e0a202020202020202073656c662e746f5374616b696e67436f6c6c656374696f6e436170203d20746f4163636f756e742e6361706162696c69746965730a2020202020202020202020202e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e28466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e5075626c696350617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f2061205374616b696e67436f6c6c656374696f6e20696e207468652072656365697665722773206163636f756e7422290a0a20202020202020206c6574206d616368696e654163636f756e74496e666f203d2073656c662e66726f6d5374616b696e67436f6c6c656374696f6e5265662e6765744d616368696e654163636f756e747328295b6e6f646549445d0a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420676574206d616368696e65206163636f756e7420696e666f20666f722074686520737065636966696564206e6f646520494422290a0a20202020202020202f2f2052656d6f766520746865204e6f64655374616b65722066726f6d2074686520617574686f72697a657273205374616b696e67436f6c6c656374696f6e2e0a20202020202020206c6574206e6f64655374616b6572203c2d2073656c662e66726f6d5374616b696e67436f6c6c656374696f6e5265662e72656d6f76654e6f6465286e6f646549443a206e6f64654944290a0a20202020202020202f2f204465706f73697420746865204e6f64655374616b657220746f2074686520726563656976657273205374616b696e67436f6c6c656374696f6e2e0a202020202020202073656c662e746f5374616b696e67436f6c6c656374696f6e4361702e6164644e6f64654f626a656374283c2d206e6f64655374616b6572212c206d616368696e654163636f756e74496e666f3a206d616368696e654163636f756e74496e666f290a202020207d0a7df88eb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227daf7b2276616c7565223a22307865343637623964643131666130306466222c2274797065223a2241646472657373227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", + "metadata": "02311f4071dda8b17ac6cbc6f0a27e98bd426026825d3c68308903fead884e616e38bfd23b200ecef4d13fa3c2ea998b51e6a24f3a8ceb260d2affab7c918a97d05472616e73666572204e6f64650002014e6f64652049440000537472696e67000301416464726573730001416464726573730003", + "hash": "38bfd23b200ecef4d13fa3c2ea998b51e6a24f3a8ceb260d2affab7c918a97d0" }, { - "title": "SCO.04 - Create Machine Account - 1", + "title": "SCO.14 - Transfer Delegator", "valid": true, "chainID": "Mainnet", "payloadMessage": { - "script": "import Crypto\nimport FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// Creates a machine account for a node that is already in the staking collection\n/// and adds public keys to the new account\n\ntransaction(nodeID: String, publicKeys: [Crypto.KeyListEntry]) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n\n if let machineAccount = self.stakingCollectionRef.createMachineAccountForExistingNode(nodeID: nodeID, payer: account) {\n if publicKeys == nil || publicKeys!.length == 0 {\n panic(\"Cannot provide zero keys for the machine account\")\n }\n for key in publicKeys {\n machineAccount.keys.add(publicKey: key.publicKey, hashAlgorithm: key.hashAlgorithm, weight: key.weight)\n }\n } else {\n panic(\"Could not create a machine account for the node\")\n }\n }\n}\n", + "script": "import FlowStakingCollection from 0x8d0e87b65159ae63\n\n// Transfers a NodeDelegator object from an authorizers accoount\n// and adds the NodeDelegator to another accounts Staking Collection\n// identified by the to Address.\n\ntransaction(nodeID: String, delegatorID: UInt32, to: Address) {\n let fromStakingCollectionRef: auth(FlowStakingCollection.CollectionOwner) &FlowStakingCollection.StakingCollection\n let toStakingCollectionCap: &FlowStakingCollection.StakingCollection\n\n prepare(account: auth(BorrowValue) &Account) {\n // The account to transfer the NodeDelegator object to must have a valid Staking Collection in order to receive the NodeDelegator.\n if (!FlowStakingCollection.doesAccountHaveStakingCollection(address: to)) {\n panic(\"Destination account must have a Staking Collection set up.\")\n }\n\n // Get a reference to the authorizers StakingCollection\n self.fromStakingCollectionRef = account.storage.borrow(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow a reference to a StakingCollection in the primary user's account\")\n\n // Get the PublicAccount of the account to transfer the NodeDelegator to. \n let toAccount = getAccount(to)\n\n // Borrow a capability to the public methods available on the receivers StakingCollection.\n self.toStakingCollectionCap = toAccount.capabilities\n .borrow<&FlowStakingCollection.StakingCollection>(FlowStakingCollection.StakingCollectionPublicPath)\n ?? panic(\"Could not borrow a referamce to a StakingCollection in the receiver's account\")\n }\n\n execute {\n // Remove the NodeDelegator from the authorizers StakingCollection.\n let nodeDelegator <- self.fromStakingCollectionRef.removeDelegator(nodeID: nodeID, delegatorID: delegatorID)\n\n // Deposit the NodeDelegator to the receivers StakingCollection.\n self.toStakingCollectionCap.addDelegatorObject(<- nodeDelegator!)\n }\n}", "arguments": [ { "type": "String", "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" }, { - "type": "Array", - "value": [] + "value": "42", + "type": "UInt32" + }, + { + "value": "0xe467b9dd11fa00df", + "type": "Address" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -5930,15 +4322,19 @@ ] }, "envelopeMessage": { - "script": "import Crypto\nimport FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// Creates a machine account for a node that is already in the staking collection\n/// and adds public keys to the new account\n\ntransaction(nodeID: String, publicKeys: [Crypto.KeyListEntry]) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n\n if let machineAccount = self.stakingCollectionRef.createMachineAccountForExistingNode(nodeID: nodeID, payer: account) {\n if publicKeys == nil || publicKeys!.length == 0 {\n panic(\"Cannot provide zero keys for the machine account\")\n }\n for key in publicKeys {\n machineAccount.keys.add(publicKey: key.publicKey, hashAlgorithm: key.hashAlgorithm, weight: key.weight)\n }\n } else {\n panic(\"Could not create a machine account for the node\")\n }\n }\n}\n", + "script": "import FlowStakingCollection from 0x8d0e87b65159ae63\n\n// Transfers a NodeDelegator object from an authorizers accoount\n// and adds the NodeDelegator to another accounts Staking Collection\n// identified by the to Address.\n\ntransaction(nodeID: String, delegatorID: UInt32, to: Address) {\n let fromStakingCollectionRef: auth(FlowStakingCollection.CollectionOwner) &FlowStakingCollection.StakingCollection\n let toStakingCollectionCap: &FlowStakingCollection.StakingCollection\n\n prepare(account: auth(BorrowValue) &Account) {\n // The account to transfer the NodeDelegator object to must have a valid Staking Collection in order to receive the NodeDelegator.\n if (!FlowStakingCollection.doesAccountHaveStakingCollection(address: to)) {\n panic(\"Destination account must have a Staking Collection set up.\")\n }\n\n // Get a reference to the authorizers StakingCollection\n self.fromStakingCollectionRef = account.storage.borrow(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow a reference to a StakingCollection in the primary user's account\")\n\n // Get the PublicAccount of the account to transfer the NodeDelegator to. \n let toAccount = getAccount(to)\n\n // Borrow a capability to the public methods available on the receivers StakingCollection.\n self.toStakingCollectionCap = toAccount.capabilities\n .borrow<&FlowStakingCollection.StakingCollection>(FlowStakingCollection.StakingCollectionPublicPath)\n ?? panic(\"Could not borrow a referamce to a StakingCollection in the receiver's account\")\n }\n\n execute {\n // Remove the NodeDelegator from the authorizers StakingCollection.\n let nodeDelegator <- self.fromStakingCollectionRef.removeDelegator(nodeID: nodeID, delegatorID: delegatorID)\n\n // Deposit the NodeDelegator to the receivers StakingCollection.\n self.toStakingCollectionCap.addDelegatorObject(<- nodeDelegator!)\n }\n}", "arguments": [ { "type": "String", "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" }, { - "type": "Array", - "value": [] + "value": "42", + "type": "UInt32" + }, + { + "value": "0xe467b9dd11fa00df", + "type": "Address" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -5954,30 +4350,25 @@ ], "payloadSigs": [] }, - "encodedTransactionPayloadHex": "f90537b90478696d706f72742043727970746f0a696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f20437265617465732061206d616368696e65206163636f756e7420666f722061206e6f6465207468617420697320616c726561647920696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f20616e642061646473207075626c6963206b65797320746f20746865206e6577206163636f756e740a0a7472616e73616374696f6e286e6f646549443a20537472696e672c207075626c69634b6579733a205b43727970746f2e4b65794c697374456e7472795d29207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a0a20202020202020206966206c6574206d616368696e654163636f756e74203d2073656c662e7374616b696e67436f6c6c656374696f6e5265662e6372656174654d616368696e654163636f756e74466f724578697374696e674e6f6465286e6f646549443a206e6f646549442c2070617965723a206163636f756e7429207b0a2020202020202020202020206966207075626c69634b657973203d3d206e696c207c7c207075626c69634b657973212e6c656e677468203d3d2030207b0a2020202020202020202020202020202070616e6963282243616e6e6f742070726f76696465207a65726f206b65797320666f7220746865206d616368696e65206163636f756e7422290a2020202020202020202020207d0a202020202020202020202020666f72206b657920696e207075626c69634b657973207b0a202020202020202020202020202020206d616368696e654163636f756e742e6b6579732e616464287075626c69634b65793a206b65792e7075626c69634b65792c2068617368416c676f726974686d3a206b65792e68617368416c676f726974686d2c207765696768743a206b65792e776569676874290a2020202020202020202020207d0a20202020202020207d20656c7365207b0a20202020202020202020202070616e69632822436f756c64206e6f74206372656174652061206d616368696e65206163636f756e7420666f7220746865206e6f646522290a20202020202020207d0a202020207d0a7d0af87ab85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227d9b7b2274797065223a224172726179222c2276616c7565223a5b5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f9053bf90537b90478696d706f72742043727970746f0a696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f20437265617465732061206d616368696e65206163636f756e7420666f722061206e6f6465207468617420697320616c726561647920696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f20616e642061646473207075626c6963206b65797320746f20746865206e6577206163636f756e740a0a7472616e73616374696f6e286e6f646549443a20537472696e672c207075626c69634b6579733a205b43727970746f2e4b65794c697374456e7472795d29207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a0a20202020202020206966206c6574206d616368696e654163636f756e74203d2073656c662e7374616b696e67436f6c6c656374696f6e5265662e6372656174654d616368696e654163636f756e74466f724578697374696e674e6f6465286e6f646549443a206e6f646549442c2070617965723a206163636f756e7429207b0a2020202020202020202020206966207075626c69634b657973203d3d206e696c207c7c207075626c69634b657973212e6c656e677468203d3d2030207b0a2020202020202020202020202020202070616e6963282243616e6e6f742070726f76696465207a65726f206b65797320666f7220746865206d616368696e65206163636f756e7422290a2020202020202020202020207d0a202020202020202020202020666f72206b657920696e207075626c69634b657973207b0a202020202020202020202020202020206d616368696e654163636f756e742e6b6579732e616464287075626c69634b65793a206b65792e7075626c69634b65792c2068617368416c676f726974686d3a206b65792e68617368416c676f726974686d2c207765696768743a206b65792e776569676874290a2020202020202020202020207d0a20202020202020207d20656c7365207b0a20202020202020202020202070616e69632822436f756c64206e6f74206372656174652061206d616368696e65206163636f756e7420666f7220746865206e6f646522290a20202020202020207d0a202020207d0a7d0af87ab85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227d9b7b2274797065223a224172726179222c2276616c7565223a5b5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "0286c69d731560f3bff549c5f180eb4219bfe650ae4efec8e0c5b5ad3ebed54a92dd3b327b09087ea7f8e92a22a6b04a3c6ca33b868b430c4f15f251658c38c1b7437265617465204d616368696e65204163636f756e740002014e6f64652049440000537472696e6700030300035075622e204b65790001537472696e670003", - "hash": "dd3b327b09087ea7f8e92a22a6b04a3c6ca33b868b430c4f15f251658c38c1b7" + "encodedTransactionPayloadHex": "f9091bb90829696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f205472616e73666572732061204e6f646544656c656761746f72206f626a6563742066726f6d20616e20617574686f72697a657273206163636f6f756e740a2f2f20616e64206164647320746865204e6f646544656c656761746f7220746f20616e6f74686572206163636f756e7473205374616b696e6720436f6c6c656374696f6e0a2f2f206964656e7469666965642062792074686520746f20416464726573732e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433322c20746f3a204164647265737329207b0a202020206c65742066726f6d5374616b696e67436f6c6c656374696f6e5265663a206175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a202020206c657420746f5374616b696e67436f6c6c656374696f6e4361703a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a206175746828426f72726f7756616c75652920264163636f756e7429207b0a20202020202020202f2f20546865206163636f756e7420746f207472616e7366657220746865204e6f646544656c656761746f72206f626a65637420746f206d757374206861766520612076616c6964205374616b696e6720436f6c6c656374696f6e20696e206f7264657220746f207265636569766520746865204e6f646544656c656761746f722e0a20202020202020206966202821466c6f775374616b696e67436f6c6c656374696f6e2e646f65734163636f756e74486176655374616b696e67436f6c6c656374696f6e28616464726573733a20746f2929207b0a20202020202020202020202070616e6963282244657374696e6174696f6e206163636f756e74206d75737420686176652061205374616b696e6720436f6c6c656374696f6e207365742075702e22290a20202020202020207d0a0a20202020202020202f2f204765742061207265666572656e636520746f2074686520617574686f72697a657273205374616b696e67436f6c6c656374696f6e0a202020202020202073656c662e66726f6d5374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e73746f726167652e626f72726f773c6175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f2061205374616b696e67436f6c6c656374696f6e20696e20746865207072696d61727920757365722773206163636f756e7422290a0a20202020202020202f2f2047657420746865205075626c69634163636f756e74206f6620746865206163636f756e7420746f207472616e7366657220746865204e6f646544656c656761746f7220746f2e200a20202020202020206c657420746f4163636f756e74203d206765744163636f756e7428746f290a0a20202020202020202f2f20426f72726f772061206361706162696c69747920746f20746865207075626c6963206d6574686f647320617661696c61626c65206f6e2074686520726563656976657273205374616b696e67436f6c6c656374696f6e2e0a202020202020202073656c662e746f5374616b696e67436f6c6c656374696f6e436170203d20746f4163636f756e742e6361706162696c69746965730a2020202020202020202020202e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e28466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e5075626c696350617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572616d636520746f2061205374616b696e67436f6c6c656374696f6e20696e207468652072656365697665722773206163636f756e7422290a202020207d0a0a2020202065786563757465207b0a20202020202020202f2f2052656d6f766520746865204e6f646544656c656761746f722066726f6d2074686520617574686f72697a657273205374616b696e67436f6c6c656374696f6e2e0a20202020202020206c6574206e6f646544656c656761746f72203c2d2073656c662e66726f6d5374616b696e67436f6c6c656374696f6e5265662e72656d6f766544656c656761746f72286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f724944290a0a20202020202020202f2f204465706f73697420746865204e6f646544656c656761746f7220746f2074686520726563656976657273205374616b696e67436f6c6c656374696f6e2e0a202020202020202073656c662e746f5374616b696e67436f6c6c656374696f6e4361702e61646444656c656761746f724f626a656374283c2d206e6f646544656c656761746f7221290a202020207d0a7df8adb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227d9e7b2276616c7565223a223432222c2274797065223a2255496e743332227daf7b2276616c7565223a22307865343637623964643131666130306466222c2274797065223a2241646472657373227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", + "encodedTransactionEnvelopeHex": "f9091ff9091bb90829696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f205472616e73666572732061204e6f646544656c656761746f72206f626a6563742066726f6d20616e20617574686f72697a657273206163636f6f756e740a2f2f20616e64206164647320746865204e6f646544656c656761746f7220746f20616e6f74686572206163636f756e7473205374616b696e6720436f6c6c656374696f6e0a2f2f206964656e7469666965642062792074686520746f20416464726573732e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433322c20746f3a204164647265737329207b0a202020206c65742066726f6d5374616b696e67436f6c6c656374696f6e5265663a206175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a202020206c657420746f5374616b696e67436f6c6c656374696f6e4361703a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a206175746828426f72726f7756616c75652920264163636f756e7429207b0a20202020202020202f2f20546865206163636f756e7420746f207472616e7366657220746865204e6f646544656c656761746f72206f626a65637420746f206d757374206861766520612076616c6964205374616b696e6720436f6c6c656374696f6e20696e206f7264657220746f207265636569766520746865204e6f646544656c656761746f722e0a20202020202020206966202821466c6f775374616b696e67436f6c6c656374696f6e2e646f65734163636f756e74486176655374616b696e67436f6c6c656374696f6e28616464726573733a20746f2929207b0a20202020202020202020202070616e6963282244657374696e6174696f6e206163636f756e74206d75737420686176652061205374616b696e6720436f6c6c656374696f6e207365742075702e22290a20202020202020207d0a0a20202020202020202f2f204765742061207265666572656e636520746f2074686520617574686f72697a657273205374616b696e67436f6c6c656374696f6e0a202020202020202073656c662e66726f6d5374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e73746f726167652e626f72726f773c6175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f2061205374616b696e67436f6c6c656374696f6e20696e20746865207072696d61727920757365722773206163636f756e7422290a0a20202020202020202f2f2047657420746865205075626c69634163636f756e74206f6620746865206163636f756e7420746f207472616e7366657220746865204e6f646544656c656761746f7220746f2e200a20202020202020206c657420746f4163636f756e74203d206765744163636f756e7428746f290a0a20202020202020202f2f20426f72726f772061206361706162696c69747920746f20746865207075626c6963206d6574686f647320617661696c61626c65206f6e2074686520726563656976657273205374616b696e67436f6c6c656374696f6e2e0a202020202020202073656c662e746f5374616b696e67436f6c6c656374696f6e436170203d20746f4163636f756e742e6361706162696c69746965730a2020202020202020202020202e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e28466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e5075626c696350617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572616d636520746f2061205374616b696e67436f6c6c656374696f6e20696e207468652072656365697665722773206163636f756e7422290a202020207d0a0a2020202065786563757465207b0a20202020202020202f2f2052656d6f766520746865204e6f646544656c656761746f722066726f6d2074686520617574686f72697a657273205374616b696e67436f6c6c656374696f6e2e0a20202020202020206c6574206e6f646544656c656761746f72203c2d2073656c662e66726f6d5374616b696e67436f6c6c656374696f6e5265662e72656d6f766544656c656761746f72286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f724944290a0a20202020202020202f2f204465706f73697420746865204e6f646544656c656761746f7220746f2074686520726563656976657273205374616b696e67436f6c6c656374696f6e2e0a202020202020202073656c662e746f5374616b696e67436f6c6c656374696f6e4361702e61646444656c656761746f724f626a656374283c2d206e6f646544656c656761746f7221290a202020207d0a7df8adb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227d9e7b2276616c7565223a223432222c2274797065223a2255496e743332227daf7b2276616c7565223a22307865343637623964643131666130306466222c2274797065223a2241646472657373227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", + "metadata": "02f9fa239cb78b3e07b8f8d56e173e2673b4b53aeb07d507a769c8d96eaf400b8d11e2107d2ccd96cb6b3fa3a704491dcd9e1736215137304e0494243c21befc765472616e736665722044656c656761746f720003014e6f64652049440000537472696e6700030144656c656761746f72204944000155496e743332000301416464726573730002416464726573730003", + "hash": "11e2107d2ccd96cb6b3fa3a704491dcd9e1736215137304e0494243c21befc76" }, { - "title": "SCO.04 - Create Machine Account - 2", + "title": "SCO.15 - Withdraw From Machine Account", "valid": true, "chainID": "Mainnet", "payloadMessage": { - "script": "import Crypto\nimport FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// Creates a machine account for a node that is already in the staking collection\n/// and adds public keys to the new account\n\ntransaction(nodeID: String, publicKeys: [Crypto.KeyListEntry]) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n\n if let machineAccount = self.stakingCollectionRef.createMachineAccountForExistingNode(nodeID: nodeID, payer: account) {\n if publicKeys == nil || publicKeys!.length == 0 {\n panic(\"Cannot provide zero keys for the machine account\")\n }\n for key in publicKeys {\n machineAccount.keys.add(publicKey: key.publicKey, hashAlgorithm: key.hashAlgorithm, weight: key.weight)\n }\n } else {\n panic(\"Could not create a machine account for the node\")\n }\n }\n}\n", + "script": "import FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// Request to withdraw tokens from the machine account\n/// The tokens are automatically deposited to the unlocked account vault\n\ntransaction(nodeID: String, amount: UFix64) {\n \n let stakingCollectionRef: auth(FlowStakingCollection.CollectionOwner) &FlowStakingCollection.StakingCollection\n\n prepare(account: auth(BorrowValue) &Account) {\n self.stakingCollectionRef = account.storage.borrow(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow a reference to a StakingCollection in the primary user's account\")\n }\n\n execute {\n self.stakingCollectionRef.withdrawFromMachineAccount(nodeID: nodeID, amount: amount)\n }\n}\n", "arguments": [ { "type": "String", "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" }, { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164" - } - ] + "value": "92233720368.54775808", + "type": "UFix64" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -5993,20 +4384,15 @@ ] }, "envelopeMessage": { - "script": "import Crypto\nimport FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// Creates a machine account for a node that is already in the staking collection\n/// and adds public keys to the new account\n\ntransaction(nodeID: String, publicKeys: [Crypto.KeyListEntry]) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n\n if let machineAccount = self.stakingCollectionRef.createMachineAccountForExistingNode(nodeID: nodeID, payer: account) {\n if publicKeys == nil || publicKeys!.length == 0 {\n panic(\"Cannot provide zero keys for the machine account\")\n }\n for key in publicKeys {\n machineAccount.keys.add(publicKey: key.publicKey, hashAlgorithm: key.hashAlgorithm, weight: key.weight)\n }\n } else {\n panic(\"Could not create a machine account for the node\")\n }\n }\n}\n", + "script": "import FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// Request to withdraw tokens from the machine account\n/// The tokens are automatically deposited to the unlocked account vault\n\ntransaction(nodeID: String, amount: UFix64) {\n \n let stakingCollectionRef: auth(FlowStakingCollection.CollectionOwner) &FlowStakingCollection.StakingCollection\n\n prepare(account: auth(BorrowValue) &Account) {\n self.stakingCollectionRef = account.storage.borrow(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow a reference to a StakingCollection in the primary user's account\")\n }\n\n execute {\n self.stakingCollectionRef.withdrawFromMachineAccount(nodeID: nodeID, amount: amount)\n }\n}\n", "arguments": [ { "type": "String", "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" }, { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164" - } - ] + "value": "92233720368.54775808", + "type": "UFix64" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -6022,38 +4408,25 @@ ], "payloadSigs": [] }, - "encodedTransactionPayloadHex": "f905e3b90478696d706f72742043727970746f0a696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f20437265617465732061206d616368696e65206163636f756e7420666f722061206e6f6465207468617420697320616c726561647920696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f20616e642061646473207075626c6963206b65797320746f20746865206e6577206163636f756e740a0a7472616e73616374696f6e286e6f646549443a20537472696e672c207075626c69634b6579733a205b43727970746f2e4b65794c697374456e7472795d29207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a0a20202020202020206966206c6574206d616368696e654163636f756e74203d2073656c662e7374616b696e67436f6c6c656374696f6e5265662e6372656174654d616368696e654163636f756e74466f724578697374696e674e6f6465286e6f646549443a206e6f646549442c2070617965723a206163636f756e7429207b0a2020202020202020202020206966207075626c69634b657973203d3d206e696c207c7c207075626c69634b657973212e6c656e677468203d3d2030207b0a2020202020202020202020202020202070616e6963282243616e6e6f742070726f76696465207a65726f206b65797320666f7220746865206d616368696e65206163636f756e7422290a2020202020202020202020207d0a202020202020202020202020666f72206b657920696e207075626c69634b657973207b0a202020202020202020202020202020206d616368696e654163636f756e742e6b6579732e616464287075626c69634b65793a206b65792e7075626c69634b65792c2068617368416c676f726974686d3a206b65792e68617368416c676f726974686d2c207765696768743a206b65792e776569676874290a2020202020202020202020207d0a20202020202020207d20656c7365207b0a20202020202020202020202070616e69632822436f756c64206e6f74206372656174652061206d616368696e65206163636f756e7420666f7220746865206e6f646522290a20202020202020207d0a202020207d0a7d0af90125b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db8c57b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634227d5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f905e7f905e3b90478696d706f72742043727970746f0a696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f20437265617465732061206d616368696e65206163636f756e7420666f722061206e6f6465207468617420697320616c726561647920696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f20616e642061646473207075626c6963206b65797320746f20746865206e6577206163636f756e740a0a7472616e73616374696f6e286e6f646549443a20537472696e672c207075626c69634b6579733a205b43727970746f2e4b65794c697374456e7472795d29207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a0a20202020202020206966206c6574206d616368696e654163636f756e74203d2073656c662e7374616b696e67436f6c6c656374696f6e5265662e6372656174654d616368696e654163636f756e74466f724578697374696e674e6f6465286e6f646549443a206e6f646549442c2070617965723a206163636f756e7429207b0a2020202020202020202020206966207075626c69634b657973203d3d206e696c207c7c207075626c69634b657973212e6c656e677468203d3d2030207b0a2020202020202020202020202020202070616e6963282243616e6e6f742070726f76696465207a65726f206b65797320666f7220746865206d616368696e65206163636f756e7422290a2020202020202020202020207d0a202020202020202020202020666f72206b657920696e207075626c69634b657973207b0a202020202020202020202020202020206d616368696e654163636f756e742e6b6579732e616464287075626c69634b65793a206b65792e7075626c69634b65792c2068617368416c676f726974686d3a206b65792e68617368416c676f726974686d2c207765696768743a206b65792e776569676874290a2020202020202020202020207d0a20202020202020207d20656c7365207b0a20202020202020202020202070616e69632822436f756c64206e6f74206372656174652061206d616368696e65206163636f756e7420666f7220746865206e6f646522290a20202020202020207d0a202020207d0a7d0af90125b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db8c57b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634227d5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "0286c69d731560f3bff549c5f180eb4219bfe650ae4efec8e0c5b5ad3ebed54a92dd3b327b09087ea7f8e92a22a6b04a3c6ca33b868b430c4f15f251658c38c1b7437265617465204d616368696e65204163636f756e740002014e6f64652049440000537472696e6700030300035075622e204b65790001537472696e670003", - "hash": "dd3b327b09087ea7f8e92a22a6b04a3c6ca33b868b430c4f15f251658c38c1b7" + "encodedTransactionPayloadHex": "f90415b90341696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f205265717565737420746f20776974686472617720746f6b656e732066726f6d20746865206d616368696e65206163636f756e740a2f2f2f2054686520746f6b656e7320617265206175746f6d61746963616c6c79206465706f736974656420746f2074686520756e6c6f636b6564206163636f756e74207661756c740a0a7472616e73616374696f6e286e6f646549443a20537472696e672c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a206175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a206175746828426f72726f7756616c75652920264163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e73746f726167652e626f72726f773c6175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f2061205374616b696e67436f6c6c656374696f6e20696e20746865207072696d61727920757365722773206163636f756e7422290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e776974686472617746726f6d4d616368696e654163636f756e74286e6f646549443a206e6f646549442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af88fb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db07b2276616c7565223a2239323233333732303336382e3534373735383038222c2274797065223a22554669783634227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", + "encodedTransactionEnvelopeHex": "f90419f90415b90341696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f205265717565737420746f20776974686472617720746f6b656e732066726f6d20746865206d616368696e65206163636f756e740a2f2f2f2054686520746f6b656e7320617265206175746f6d61746963616c6c79206465706f736974656420746f2074686520756e6c6f636b6564206163636f756e74207661756c740a0a7472616e73616374696f6e286e6f646549443a20537472696e672c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a206175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a206175746828426f72726f7756616c75652920264163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e73746f726167652e626f72726f773c6175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f2061205374616b696e67436f6c6c656374696f6e20696e20746865207072696d61727920757365722773206163636f756e7422290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e776974686472617746726f6d4d616368696e654163636f756e74286e6f646549443a206e6f646549442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af88fb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db07b2276616c7565223a2239323233333732303336382e3534373735383038222c2274797065223a22554669783634227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", + "metadata": "02fdd40862af04dc36dd0e9e727966c6f81dd6be8246b9c70afd18297aac9e86a8e12b16ef4218b8ce52189ae5814b381272bf473436978fae94d01c10c036903457697468647261772046726f6d204d616368696e65204163636f756e740002014e6f64652049440000537472696e67000301416d6f756e7400015546697836340003", + "hash": "e12b16ef4218b8ce52189ae5814b381272bf473436978fae94d01c10c0369034" }, { - "title": "SCO.04 - Create Machine Account - 3", + "title": "SCO.16 - Update Networking Address", "valid": true, "chainID": "Mainnet", "payloadMessage": { - "script": "import Crypto\nimport FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// Creates a machine account for a node that is already in the staking collection\n/// and adds public keys to the new account\n\ntransaction(nodeID: String, publicKeys: [Crypto.KeyListEntry]) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n\n if let machineAccount = self.stakingCollectionRef.createMachineAccountForExistingNode(nodeID: nodeID, payer: account) {\n if publicKeys == nil || publicKeys!.length == 0 {\n panic(\"Cannot provide zero keys for the machine account\")\n }\n for key in publicKeys {\n machineAccount.keys.add(publicKey: key.publicKey, hashAlgorithm: key.hashAlgorithm, weight: key.weight)\n }\n } else {\n panic(\"Could not create a machine account for the node\")\n }\n }\n}\n", + "script": "import FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// Changes the networking address for the specified node\n\ntransaction(nodeID: String, newAddress: String) {\n \n let stakingCollectionRef: auth(FlowStakingCollection.CollectionOwner) &FlowStakingCollection.StakingCollection\n\n prepare(account: auth(BorrowValue) &Account) {\n self.stakingCollectionRef = account.storage.borrow(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow a reference to a StakingCollection in the primary user's account\")\n }\n\n execute {\n self.stakingCollectionRef.updateNetworkingAddress(nodeID: nodeID, newAddress: newAddress)\n }\n}\n", "arguments": [ { "type": "String", "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" }, { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164" - }, - { - "type": "String", - "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164" - }, - { - "type": "String", - "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164" - } - ] + "value": "flow-node.test:3569", + "type": "String" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -6069,28 +4442,15 @@ ] }, "envelopeMessage": { - "script": "import Crypto\nimport FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// Creates a machine account for a node that is already in the staking collection\n/// and adds public keys to the new account\n\ntransaction(nodeID: String, publicKeys: [Crypto.KeyListEntry]) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n\n if let machineAccount = self.stakingCollectionRef.createMachineAccountForExistingNode(nodeID: nodeID, payer: account) {\n if publicKeys == nil || publicKeys!.length == 0 {\n panic(\"Cannot provide zero keys for the machine account\")\n }\n for key in publicKeys {\n machineAccount.keys.add(publicKey: key.publicKey, hashAlgorithm: key.hashAlgorithm, weight: key.weight)\n }\n } else {\n panic(\"Could not create a machine account for the node\")\n }\n }\n}\n", + "script": "import FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// Changes the networking address for the specified node\n\ntransaction(nodeID: String, newAddress: String) {\n \n let stakingCollectionRef: auth(FlowStakingCollection.CollectionOwner) &FlowStakingCollection.StakingCollection\n\n prepare(account: auth(BorrowValue) &Account) {\n self.stakingCollectionRef = account.storage.borrow(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow a reference to a StakingCollection in the primary user's account\")\n }\n\n execute {\n self.stakingCollectionRef.updateNetworkingAddress(nodeID: nodeID, newAddress: newAddress)\n }\n}\n", "arguments": [ { "type": "String", "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" }, { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164" - }, - { - "type": "String", - "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164" - }, - { - "type": "String", - "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164" - } - ] + "value": "flow-node.test:3569", + "type": "String" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -6106,9 +4466,9 @@ ], "payloadSigs": [] }, - "encodedTransactionPayloadHex": "f9073ab90478696d706f72742043727970746f0a696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f20437265617465732061206d616368696e65206163636f756e7420666f722061206e6f6465207468617420697320616c726561647920696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f20616e642061646473207075626c6963206b65797320746f20746865206e6577206163636f756e740a0a7472616e73616374696f6e286e6f646549443a20537472696e672c207075626c69634b6579733a205b43727970746f2e4b65794c697374456e7472795d29207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a0a20202020202020206966206c6574206d616368696e654163636f756e74203d2073656c662e7374616b696e67436f6c6c656374696f6e5265662e6372656174654d616368696e654163636f756e74466f724578697374696e674e6f6465286e6f646549443a206e6f646549442c2070617965723a206163636f756e7429207b0a2020202020202020202020206966207075626c69634b657973203d3d206e696c207c7c207075626c69634b657973212e6c656e677468203d3d2030207b0a2020202020202020202020202020202070616e6963282243616e6e6f742070726f76696465207a65726f206b65797320666f7220746865206d616368696e65206163636f756e7422290a2020202020202020202020207d0a202020202020202020202020666f72206b657920696e207075626c69634b657973207b0a202020202020202020202020202020206d616368696e654163636f756e742e6b6579732e616464287075626c69634b65793a206b65792e7075626c69634b65792c2068617368416c676f726974686d3a206b65792e68617368416c676f726974686d2c207765696768743a206b65792e776569676874290a2020202020202020202020207d0a20202020202020207d20656c7365207b0a20202020202020202020202070616e69632822436f756c64206e6f74206372656174652061206d616368696e65206163636f756e7420666f7220746865206e6f646522290a20202020202020207d0a202020207d0a7d0af9027cb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db9021b7b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634227d2c7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634227d2c7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634227d5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f9073ef9073ab90478696d706f72742043727970746f0a696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f20437265617465732061206d616368696e65206163636f756e7420666f722061206e6f6465207468617420697320616c726561647920696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f20616e642061646473207075626c6963206b65797320746f20746865206e6577206163636f756e740a0a7472616e73616374696f6e286e6f646549443a20537472696e672c207075626c69634b6579733a205b43727970746f2e4b65794c697374456e7472795d29207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a0a20202020202020206966206c6574206d616368696e654163636f756e74203d2073656c662e7374616b696e67436f6c6c656374696f6e5265662e6372656174654d616368696e654163636f756e74466f724578697374696e674e6f6465286e6f646549443a206e6f646549442c2070617965723a206163636f756e7429207b0a2020202020202020202020206966207075626c69634b657973203d3d206e696c207c7c207075626c69634b657973212e6c656e677468203d3d2030207b0a2020202020202020202020202020202070616e6963282243616e6e6f742070726f76696465207a65726f206b65797320666f7220746865206d616368696e65206163636f756e7422290a2020202020202020202020207d0a202020202020202020202020666f72206b657920696e207075626c69634b657973207b0a202020202020202020202020202020206d616368696e654163636f756e742e6b6579732e616464287075626c69634b65793a206b65792e7075626c69634b65792c2068617368416c676f726974686d3a206b65792e68617368416c676f726974686d2c207765696768743a206b65792e776569676874290a2020202020202020202020207d0a20202020202020207d20656c7365207b0a20202020202020202020202070616e69632822436f756c64206e6f74206372656174652061206d616368696e65206163636f756e7420666f7220746865206e6f646522290a20202020202020207d0a202020207d0a7d0af9027cb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db9021b7b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634227d2c7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634227d2c7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634227d5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "0286c69d731560f3bff549c5f180eb4219bfe650ae4efec8e0c5b5ad3ebed54a92dd3b327b09087ea7f8e92a22a6b04a3c6ca33b868b430c4f15f251658c38c1b7437265617465204d616368696e65204163636f756e740002014e6f64652049440000537472696e6700030300035075622e204b65790001537472696e670003", - "hash": "dd3b327b09087ea7f8e92a22a6b04a3c6ca33b868b430c4f15f251658c38c1b7" + "encodedTransactionPayloadHex": "f903d6b90303696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f204368616e67657320746865206e6574776f726b696e67206164647265737320666f722074686520737065636966696564206e6f64650a0a7472616e73616374696f6e286e6f646549443a20537472696e672c206e6577416464726573733a20537472696e6729207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a206175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a206175746828426f72726f7756616c75652920264163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e73746f726167652e626f72726f773c6175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f2061205374616b696e67436f6c6c656374696f6e20696e20746865207072696d61727920757365722773206163636f756e7422290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e7570646174654e6574776f726b696e6741646472657373286e6f646549443a206e6f646549442c206e6577416464726573733a206e657741646472657373290a202020207d0a7d0af88eb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227daf7b2276616c7565223a22666c6f772d6e6f64652e746573743a33353639222c2274797065223a22537472696e67227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", + "encodedTransactionEnvelopeHex": "f903daf903d6b90303696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f204368616e67657320746865206e6574776f726b696e67206164647265737320666f722074686520737065636966696564206e6f64650a0a7472616e73616374696f6e286e6f646549443a20537472696e672c206e6577416464726573733a20537472696e6729207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a206175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a206175746828426f72726f7756616c75652920264163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e73746f726167652e626f72726f773c6175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f2061205374616b696e67436f6c6c656374696f6e20696e20746865207072696d61727920757365722773206163636f756e7422290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e7570646174654e6574776f726b696e6741646472657373286e6f646549443a206e6f646549442c206e6577416464726573733a206e657741646472657373290a202020207d0a7d0af88eb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227daf7b2276616c7565223a22666c6f772d6e6f64652e746573743a33353639222c2274797065223a22537472696e67227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", + "metadata": "023a68789d8cd56e6c7b064057045a56340746aac710db57700de2c33eb6610e5f68d24560d9e49318dca82ab0975f526a8663d934225f0cb715cd1ff188def16d557064617465204e6574776f726b696e6720416464726573730002014e6f64652049440000537472696e67000301416464726573730001537472696e670003", + "hash": "68d24560d9e49318dca82ab0975f526a8663d934225f0cb715cd1ff188def16d" } -] +] \ No newline at end of file diff --git a/tests/snapshots/nanos/test_transaction_expert/part1/00000.png b/tests/snapshots/nanos/test_transaction_expert/part1/00000.png index b338763e..f3548e94 100644 Binary files a/tests/snapshots/nanos/test_transaction_expert/part1/00000.png and b/tests/snapshots/nanos/test_transaction_expert/part1/00000.png differ diff --git a/tests/snapshots/nanos/test_transaction_expert/part1/00001.png b/tests/snapshots/nanos/test_transaction_expert/part1/00001.png index 4ffe73a4..2ab14840 100644 Binary files a/tests/snapshots/nanos/test_transaction_expert/part1/00001.png and b/tests/snapshots/nanos/test_transaction_expert/part1/00001.png differ diff --git a/tests/snapshots/nanos/test_transaction_expert/part1/00002.png b/tests/snapshots/nanos/test_transaction_expert/part1/00002.png index 1556d048..279ad0e8 100644 Binary files a/tests/snapshots/nanos/test_transaction_expert/part1/00002.png and b/tests/snapshots/nanos/test_transaction_expert/part1/00002.png differ diff --git a/tests/snapshots/nanos/test_transaction_expert/part1/00003.png b/tests/snapshots/nanos/test_transaction_expert/part1/00003.png index 6e60758e..05f27c3a 100644 Binary files a/tests/snapshots/nanos/test_transaction_expert/part1/00003.png and b/tests/snapshots/nanos/test_transaction_expert/part1/00003.png differ diff --git a/tests/snapshots/nanos/test_transaction_expert/part1/00004.png b/tests/snapshots/nanos/test_transaction_expert/part1/00004.png index 05f27c3a..5ebc5665 100644 Binary files a/tests/snapshots/nanos/test_transaction_expert/part1/00004.png and b/tests/snapshots/nanos/test_transaction_expert/part1/00004.png differ diff --git a/tests/snapshots/nanos/test_transaction_expert/part1/00005.png b/tests/snapshots/nanos/test_transaction_expert/part1/00005.png index 5ebc5665..f39812e8 100644 Binary files a/tests/snapshots/nanos/test_transaction_expert/part1/00005.png and b/tests/snapshots/nanos/test_transaction_expert/part1/00005.png differ diff --git a/tests/snapshots/nanos/test_transaction_expert/part1/00006.png b/tests/snapshots/nanos/test_transaction_expert/part1/00006.png index f39812e8..41b0ce2b 100644 Binary files a/tests/snapshots/nanos/test_transaction_expert/part1/00006.png and b/tests/snapshots/nanos/test_transaction_expert/part1/00006.png differ diff --git a/tests/snapshots/nanos/test_transaction_expert/part1/00007.png b/tests/snapshots/nanos/test_transaction_expert/part1/00007.png index 59aa8dce..44e7069e 100644 Binary files a/tests/snapshots/nanos/test_transaction_expert/part1/00007.png and b/tests/snapshots/nanos/test_transaction_expert/part1/00007.png differ diff --git a/tests/snapshots/nanos/test_transaction_expert/part1/00008.png b/tests/snapshots/nanos/test_transaction_expert/part1/00008.png index 44e7069e..7a5610fa 100644 Binary files a/tests/snapshots/nanos/test_transaction_expert/part1/00008.png and b/tests/snapshots/nanos/test_transaction_expert/part1/00008.png differ diff --git a/tests/snapshots/nanos/test_transaction_expert/part1/00009.png b/tests/snapshots/nanos/test_transaction_expert/part1/00009.png index 7a5610fa..55ce7183 100644 Binary files a/tests/snapshots/nanos/test_transaction_expert/part1/00009.png and b/tests/snapshots/nanos/test_transaction_expert/part1/00009.png differ diff --git a/tests/snapshots/nanos/test_transaction_expert/part1/00010.png b/tests/snapshots/nanos/test_transaction_expert/part1/00010.png index 6bcaeb70..c4016375 100644 Binary files a/tests/snapshots/nanos/test_transaction_expert/part1/00010.png and b/tests/snapshots/nanos/test_transaction_expert/part1/00010.png differ diff --git a/tests/snapshots/nanos/test_transaction_expert/part1/00011.png b/tests/snapshots/nanos/test_transaction_expert/part1/00011.png index b131bbe9..697c001b 100644 Binary files a/tests/snapshots/nanos/test_transaction_expert/part1/00011.png and b/tests/snapshots/nanos/test_transaction_expert/part1/00011.png differ diff --git a/tests/snapshots/nanos/test_transaction_expert/part1/00012.png b/tests/snapshots/nanos/test_transaction_expert/part1/00012.png index 697c001b..52b06db9 100644 Binary files a/tests/snapshots/nanos/test_transaction_expert/part1/00012.png and b/tests/snapshots/nanos/test_transaction_expert/part1/00012.png differ diff --git a/tests/snapshots/nanos/test_transaction_expert/part1/00013.png b/tests/snapshots/nanos/test_transaction_expert/part1/00013.png index 52b06db9..006c26ab 100644 Binary files a/tests/snapshots/nanos/test_transaction_expert/part1/00013.png and b/tests/snapshots/nanos/test_transaction_expert/part1/00013.png differ diff --git a/tests/snapshots/nanos/test_transaction_expert/part1/00014.png b/tests/snapshots/nanos/test_transaction_expert/part1/00014.png index 006c26ab..7f6ab5e6 100644 Binary files a/tests/snapshots/nanos/test_transaction_expert/part1/00014.png and b/tests/snapshots/nanos/test_transaction_expert/part1/00014.png differ diff --git a/tests/snapshots/nanos/test_transaction_expert/part2/00000.png b/tests/snapshots/nanos/test_transaction_expert/part2/00000.png index b338763e..f3548e94 100644 Binary files a/tests/snapshots/nanos/test_transaction_expert/part2/00000.png and b/tests/snapshots/nanos/test_transaction_expert/part2/00000.png differ diff --git a/tests/snapshots/nanos/test_transaction_expert/part2/00001.png b/tests/snapshots/nanos/test_transaction_expert/part2/00001.png index 4ffe73a4..2ab14840 100644 Binary files a/tests/snapshots/nanos/test_transaction_expert/part2/00001.png and b/tests/snapshots/nanos/test_transaction_expert/part2/00001.png differ diff --git a/tests/snapshots/nanos/test_transaction_expert/part2/00002.png b/tests/snapshots/nanos/test_transaction_expert/part2/00002.png index 1556d048..279ad0e8 100644 Binary files a/tests/snapshots/nanos/test_transaction_expert/part2/00002.png and b/tests/snapshots/nanos/test_transaction_expert/part2/00002.png differ diff --git a/tests/snapshots/nanos/test_transaction_expert/part2/00003.png b/tests/snapshots/nanos/test_transaction_expert/part2/00003.png index 6e60758e..05f27c3a 100644 Binary files a/tests/snapshots/nanos/test_transaction_expert/part2/00003.png and b/tests/snapshots/nanos/test_transaction_expert/part2/00003.png differ diff --git a/tests/snapshots/nanos/test_transaction_expert/part2/00004.png b/tests/snapshots/nanos/test_transaction_expert/part2/00004.png index 05f27c3a..5ebc5665 100644 Binary files a/tests/snapshots/nanos/test_transaction_expert/part2/00004.png and b/tests/snapshots/nanos/test_transaction_expert/part2/00004.png differ diff --git a/tests/snapshots/nanos/test_transaction_expert/part2/00005.png b/tests/snapshots/nanos/test_transaction_expert/part2/00005.png index 5ebc5665..f39812e8 100644 Binary files a/tests/snapshots/nanos/test_transaction_expert/part2/00005.png and b/tests/snapshots/nanos/test_transaction_expert/part2/00005.png differ diff --git a/tests/snapshots/nanos/test_transaction_expert/part2/00006.png b/tests/snapshots/nanos/test_transaction_expert/part2/00006.png index f39812e8..41b0ce2b 100644 Binary files a/tests/snapshots/nanos/test_transaction_expert/part2/00006.png and b/tests/snapshots/nanos/test_transaction_expert/part2/00006.png differ diff --git a/tests/snapshots/nanos/test_transaction_expert/part2/00007.png b/tests/snapshots/nanos/test_transaction_expert/part2/00007.png index 59aa8dce..44e7069e 100644 Binary files a/tests/snapshots/nanos/test_transaction_expert/part2/00007.png and b/tests/snapshots/nanos/test_transaction_expert/part2/00007.png differ diff --git a/tests/snapshots/nanos/test_transaction_expert/part2/00008.png b/tests/snapshots/nanos/test_transaction_expert/part2/00008.png index 44e7069e..7a5610fa 100644 Binary files a/tests/snapshots/nanos/test_transaction_expert/part2/00008.png and b/tests/snapshots/nanos/test_transaction_expert/part2/00008.png differ diff --git a/tests/snapshots/nanos/test_transaction_expert/part2/00009.png b/tests/snapshots/nanos/test_transaction_expert/part2/00009.png index 7a5610fa..55ce7183 100644 Binary files a/tests/snapshots/nanos/test_transaction_expert/part2/00009.png and b/tests/snapshots/nanos/test_transaction_expert/part2/00009.png differ diff --git a/tests/snapshots/nanos/test_transaction_expert/part2/00010.png b/tests/snapshots/nanos/test_transaction_expert/part2/00010.png index 6bcaeb70..c4016375 100644 Binary files a/tests/snapshots/nanos/test_transaction_expert/part2/00010.png and b/tests/snapshots/nanos/test_transaction_expert/part2/00010.png differ diff --git a/tests/snapshots/nanos/test_transaction_expert/part2/00011.png b/tests/snapshots/nanos/test_transaction_expert/part2/00011.png index b131bbe9..d4fe3ec9 100644 Binary files a/tests/snapshots/nanos/test_transaction_expert/part2/00011.png and b/tests/snapshots/nanos/test_transaction_expert/part2/00011.png differ diff --git a/tests/snapshots/nanos/test_transaction_expert/part2/00012.png b/tests/snapshots/nanos/test_transaction_expert/part2/00012.png index d4fe3ec9..52b06db9 100644 Binary files a/tests/snapshots/nanos/test_transaction_expert/part2/00012.png and b/tests/snapshots/nanos/test_transaction_expert/part2/00012.png differ diff --git a/tests/snapshots/nanos/test_transaction_expert/part2/00013.png b/tests/snapshots/nanos/test_transaction_expert/part2/00013.png index 52b06db9..006c26ab 100644 Binary files a/tests/snapshots/nanos/test_transaction_expert/part2/00013.png and b/tests/snapshots/nanos/test_transaction_expert/part2/00013.png differ diff --git a/tests/snapshots/nanos/test_transaction_expert/part2/00014.png b/tests/snapshots/nanos/test_transaction_expert/part2/00014.png index 006c26ab..7f6ab5e6 100644 Binary files a/tests/snapshots/nanos/test_transaction_expert/part2/00014.png and b/tests/snapshots/nanos/test_transaction_expert/part2/00014.png differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/FA.01-Mainnet/00000.png b/tests/snapshots/nanos/test_transaction_manifest/FA.01-Mainnet/00000.png new file mode 100644 index 00000000..a91c2dbb Binary files /dev/null and b/tests/snapshots/nanos/test_transaction_manifest/FA.01-Mainnet/00000.png differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/FUSD.01-Mainnet/00001.png b/tests/snapshots/nanos/test_transaction_manifest/FA.01-Mainnet/00001.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/FUSD.01-Mainnet/00001.png rename to tests/snapshots/nanos/test_transaction_manifest/FA.01-Mainnet/00001.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/FA.01-Mainnet/00002.png b/tests/snapshots/nanos/test_transaction_manifest/FA.01-Mainnet/00002.png new file mode 100644 index 00000000..b37540ce Binary files /dev/null and b/tests/snapshots/nanos/test_transaction_manifest/FA.01-Mainnet/00002.png differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/FA.01-Mainnet/00003.png b/tests/snapshots/nanos/test_transaction_manifest/FA.01-Mainnet/00003.png new file mode 100644 index 00000000..db6a7d25 Binary files /dev/null and b/tests/snapshots/nanos/test_transaction_manifest/FA.01-Mainnet/00003.png differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/FA.01-Mainnet/00004.png b/tests/snapshots/nanos/test_transaction_manifest/FA.01-Mainnet/00004.png new file mode 100644 index 00000000..83d83228 Binary files /dev/null and b/tests/snapshots/nanos/test_transaction_manifest/FA.01-Mainnet/00004.png differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/FA.01-Mainnet/00005.png b/tests/snapshots/nanos/test_transaction_manifest/FA.01-Mainnet/00005.png new file mode 100644 index 00000000..5a8a3fe7 Binary files /dev/null and b/tests/snapshots/nanos/test_transaction_manifest/FA.01-Mainnet/00005.png differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/FA.01-Mainnet/00006.png b/tests/snapshots/nanos/test_transaction_manifest/FA.01-Mainnet/00006.png new file mode 100644 index 00000000..2fcbfd21 Binary files /dev/null and b/tests/snapshots/nanos/test_transaction_manifest/FA.01-Mainnet/00006.png differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/FA.01-Mainnet/00007.png b/tests/snapshots/nanos/test_transaction_manifest/FA.01-Mainnet/00007.png new file mode 100644 index 00000000..f63e345b Binary files /dev/null and b/tests/snapshots/nanos/test_transaction_manifest/FA.01-Mainnet/00007.png differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/FA.01-Mainnet/00008.png b/tests/snapshots/nanos/test_transaction_manifest/FA.01-Mainnet/00008.png new file mode 100644 index 00000000..bce4568b Binary files /dev/null and b/tests/snapshots/nanos/test_transaction_manifest/FA.01-Mainnet/00008.png differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/FA.01-Mainnet/00009.png b/tests/snapshots/nanos/test_transaction_manifest/FA.01-Mainnet/00009.png new file mode 100644 index 00000000..aca36545 Binary files /dev/null and b/tests/snapshots/nanos/test_transaction_manifest/FA.01-Mainnet/00009.png differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/FUSD.01-Mainnet/00002.png b/tests/snapshots/nanos/test_transaction_manifest/FA.01-Mainnet/00010.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/FUSD.01-Mainnet/00002.png rename to tests/snapshots/nanos/test_transaction_manifest/FA.01-Mainnet/00010.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/FUSD.01-Mainnet/00003.png b/tests/snapshots/nanos/test_transaction_manifest/FA.01-Mainnet/00011.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/FUSD.01-Mainnet/00003.png rename to tests/snapshots/nanos/test_transaction_manifest/FA.01-Mainnet/00011.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/FUSD.01-Mainnet/00004.png b/tests/snapshots/nanos/test_transaction_manifest/FA.01-Mainnet/00012.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/FUSD.01-Mainnet/00004.png rename to tests/snapshots/nanos/test_transaction_manifest/FA.01-Mainnet/00012.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/FUSD.01-Mainnet/00005.png b/tests/snapshots/nanos/test_transaction_manifest/FA.01-Mainnet/00013.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/FUSD.01-Mainnet/00005.png rename to tests/snapshots/nanos/test_transaction_manifest/FA.01-Mainnet/00013.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/FUSD.01-Mainnet/00006.png b/tests/snapshots/nanos/test_transaction_manifest/FA.01-Mainnet/00014.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/FUSD.01-Mainnet/00006.png rename to tests/snapshots/nanos/test_transaction_manifest/FA.01-Mainnet/00014.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/FUSD.01-Mainnet/00007.png b/tests/snapshots/nanos/test_transaction_manifest/FA.01-Mainnet/00015.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/FUSD.01-Mainnet/00007.png rename to tests/snapshots/nanos/test_transaction_manifest/FA.01-Mainnet/00015.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/FUSD.01-Mainnet/00008.png b/tests/snapshots/nanos/test_transaction_manifest/FA.01-Mainnet/00016.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/FUSD.01-Mainnet/00008.png rename to tests/snapshots/nanos/test_transaction_manifest/FA.01-Mainnet/00016.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/FUSD.01-Mainnet/00009.png b/tests/snapshots/nanos/test_transaction_manifest/FA.01-Mainnet/00017.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/FUSD.01-Mainnet/00009.png rename to tests/snapshots/nanos/test_transaction_manifest/FA.01-Mainnet/00017.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/FUSD.01-Mainnet/00010.png b/tests/snapshots/nanos/test_transaction_manifest/FA.01-Mainnet/00018.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/FUSD.01-Mainnet/00010.png rename to tests/snapshots/nanos/test_transaction_manifest/FA.01-Mainnet/00018.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/FUSD.01-Mainnet/00011.png b/tests/snapshots/nanos/test_transaction_manifest/FA.01-Mainnet/00019.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/FUSD.01-Mainnet/00011.png rename to tests/snapshots/nanos/test_transaction_manifest/FA.01-Mainnet/00019.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/FUSD.01-Mainnet/00012.png b/tests/snapshots/nanos/test_transaction_manifest/FA.01-Mainnet/00020.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/FUSD.01-Mainnet/00012.png rename to tests/snapshots/nanos/test_transaction_manifest/FA.01-Mainnet/00020.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/FA.01-Testnet/00000.png b/tests/snapshots/nanos/test_transaction_manifest/FA.01-Testnet/00000.png new file mode 100644 index 00000000..a91c2dbb Binary files /dev/null and b/tests/snapshots/nanos/test_transaction_manifest/FA.01-Testnet/00000.png differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/FUSD.01-Testnet/00001.png b/tests/snapshots/nanos/test_transaction_manifest/FA.01-Testnet/00001.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/FUSD.01-Testnet/00001.png rename to tests/snapshots/nanos/test_transaction_manifest/FA.01-Testnet/00001.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/FA.01-Testnet/00002.png b/tests/snapshots/nanos/test_transaction_manifest/FA.01-Testnet/00002.png new file mode 100644 index 00000000..b37540ce Binary files /dev/null and b/tests/snapshots/nanos/test_transaction_manifest/FA.01-Testnet/00002.png differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/FA.01-Testnet/00003.png b/tests/snapshots/nanos/test_transaction_manifest/FA.01-Testnet/00003.png new file mode 100644 index 00000000..db6a7d25 Binary files /dev/null and b/tests/snapshots/nanos/test_transaction_manifest/FA.01-Testnet/00003.png differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/FA.01-Testnet/00004.png b/tests/snapshots/nanos/test_transaction_manifest/FA.01-Testnet/00004.png new file mode 100644 index 00000000..83d83228 Binary files /dev/null and b/tests/snapshots/nanos/test_transaction_manifest/FA.01-Testnet/00004.png differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/FA.01-Testnet/00005.png b/tests/snapshots/nanos/test_transaction_manifest/FA.01-Testnet/00005.png new file mode 100644 index 00000000..5a8a3fe7 Binary files /dev/null and b/tests/snapshots/nanos/test_transaction_manifest/FA.01-Testnet/00005.png differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/FA.01-Testnet/00006.png b/tests/snapshots/nanos/test_transaction_manifest/FA.01-Testnet/00006.png new file mode 100644 index 00000000..2fcbfd21 Binary files /dev/null and b/tests/snapshots/nanos/test_transaction_manifest/FA.01-Testnet/00006.png differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/FA.01-Testnet/00007.png b/tests/snapshots/nanos/test_transaction_manifest/FA.01-Testnet/00007.png new file mode 100644 index 00000000..f63e345b Binary files /dev/null and b/tests/snapshots/nanos/test_transaction_manifest/FA.01-Testnet/00007.png differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/FA.01-Testnet/00008.png b/tests/snapshots/nanos/test_transaction_manifest/FA.01-Testnet/00008.png new file mode 100644 index 00000000..bce4568b Binary files /dev/null and b/tests/snapshots/nanos/test_transaction_manifest/FA.01-Testnet/00008.png differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/FA.01-Testnet/00009.png b/tests/snapshots/nanos/test_transaction_manifest/FA.01-Testnet/00009.png new file mode 100644 index 00000000..aca36545 Binary files /dev/null and b/tests/snapshots/nanos/test_transaction_manifest/FA.01-Testnet/00009.png differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/FUSD.01-Testnet/00002.png b/tests/snapshots/nanos/test_transaction_manifest/FA.01-Testnet/00010.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/FUSD.01-Testnet/00002.png rename to tests/snapshots/nanos/test_transaction_manifest/FA.01-Testnet/00010.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/FUSD.01-Testnet/00003.png b/tests/snapshots/nanos/test_transaction_manifest/FA.01-Testnet/00011.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/FUSD.01-Testnet/00003.png rename to tests/snapshots/nanos/test_transaction_manifest/FA.01-Testnet/00011.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/FUSD.01-Testnet/00004.png b/tests/snapshots/nanos/test_transaction_manifest/FA.01-Testnet/00012.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/FUSD.01-Testnet/00004.png rename to tests/snapshots/nanos/test_transaction_manifest/FA.01-Testnet/00012.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/FUSD.01-Testnet/00005.png b/tests/snapshots/nanos/test_transaction_manifest/FA.01-Testnet/00013.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/FUSD.01-Testnet/00005.png rename to tests/snapshots/nanos/test_transaction_manifest/FA.01-Testnet/00013.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/FUSD.01-Testnet/00006.png b/tests/snapshots/nanos/test_transaction_manifest/FA.01-Testnet/00014.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/FUSD.01-Testnet/00006.png rename to tests/snapshots/nanos/test_transaction_manifest/FA.01-Testnet/00014.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/FUSD.01-Testnet/00007.png b/tests/snapshots/nanos/test_transaction_manifest/FA.01-Testnet/00015.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/FUSD.01-Testnet/00007.png rename to tests/snapshots/nanos/test_transaction_manifest/FA.01-Testnet/00015.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/FUSD.01-Testnet/00008.png b/tests/snapshots/nanos/test_transaction_manifest/FA.01-Testnet/00016.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/FUSD.01-Testnet/00008.png rename to tests/snapshots/nanos/test_transaction_manifest/FA.01-Testnet/00016.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/FUSD.01-Testnet/00009.png b/tests/snapshots/nanos/test_transaction_manifest/FA.01-Testnet/00017.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/FUSD.01-Testnet/00009.png rename to tests/snapshots/nanos/test_transaction_manifest/FA.01-Testnet/00017.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/FUSD.01-Testnet/00010.png b/tests/snapshots/nanos/test_transaction_manifest/FA.01-Testnet/00018.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/FUSD.01-Testnet/00010.png rename to tests/snapshots/nanos/test_transaction_manifest/FA.01-Testnet/00018.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/FUSD.01-Testnet/00011.png b/tests/snapshots/nanos/test_transaction_manifest/FA.01-Testnet/00019.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/FUSD.01-Testnet/00011.png rename to tests/snapshots/nanos/test_transaction_manifest/FA.01-Testnet/00019.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/FUSD.01-Testnet/00012.png b/tests/snapshots/nanos/test_transaction_manifest/FA.01-Testnet/00020.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/FUSD.01-Testnet/00012.png rename to tests/snapshots/nanos/test_transaction_manifest/FA.01-Testnet/00020.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/FA.02-Mainnet/00000.png b/tests/snapshots/nanos/test_transaction_manifest/FA.02-Mainnet/00000.png new file mode 100644 index 00000000..3b57cb27 Binary files /dev/null and b/tests/snapshots/nanos/test_transaction_manifest/FA.02-Mainnet/00000.png differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/FUSD.02-Mainnet/00001.png b/tests/snapshots/nanos/test_transaction_manifest/FA.02-Mainnet/00001.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/FUSD.02-Mainnet/00001.png rename to tests/snapshots/nanos/test_transaction_manifest/FA.02-Mainnet/00001.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/FA.02-Mainnet/00002.png b/tests/snapshots/nanos/test_transaction_manifest/FA.02-Mainnet/00002.png new file mode 100644 index 00000000..b37540ce Binary files /dev/null and b/tests/snapshots/nanos/test_transaction_manifest/FA.02-Mainnet/00002.png differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/FA.02-Mainnet/00003.png b/tests/snapshots/nanos/test_transaction_manifest/FA.02-Mainnet/00003.png new file mode 100644 index 00000000..db6a7d25 Binary files /dev/null and b/tests/snapshots/nanos/test_transaction_manifest/FA.02-Mainnet/00003.png differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/FA.02-Mainnet/00004.png b/tests/snapshots/nanos/test_transaction_manifest/FA.02-Mainnet/00004.png new file mode 100644 index 00000000..83d83228 Binary files /dev/null and b/tests/snapshots/nanos/test_transaction_manifest/FA.02-Mainnet/00004.png differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/FA.02-Mainnet/00005.png b/tests/snapshots/nanos/test_transaction_manifest/FA.02-Mainnet/00005.png new file mode 100644 index 00000000..5a8a3fe7 Binary files /dev/null and b/tests/snapshots/nanos/test_transaction_manifest/FA.02-Mainnet/00005.png differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/FA.02-Mainnet/00006.png b/tests/snapshots/nanos/test_transaction_manifest/FA.02-Mainnet/00006.png new file mode 100644 index 00000000..2fcbfd21 Binary files /dev/null and b/tests/snapshots/nanos/test_transaction_manifest/FA.02-Mainnet/00006.png differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/FA.02-Mainnet/00007.png b/tests/snapshots/nanos/test_transaction_manifest/FA.02-Mainnet/00007.png new file mode 100644 index 00000000..f63e345b Binary files /dev/null and b/tests/snapshots/nanos/test_transaction_manifest/FA.02-Mainnet/00007.png differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/FA.02-Mainnet/00008.png b/tests/snapshots/nanos/test_transaction_manifest/FA.02-Mainnet/00008.png new file mode 100644 index 00000000..bce4568b Binary files /dev/null and b/tests/snapshots/nanos/test_transaction_manifest/FA.02-Mainnet/00008.png differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/FA.02-Mainnet/00009.png b/tests/snapshots/nanos/test_transaction_manifest/FA.02-Mainnet/00009.png new file mode 100644 index 00000000..aca36545 Binary files /dev/null and b/tests/snapshots/nanos/test_transaction_manifest/FA.02-Mainnet/00009.png differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/FUSD.02-Mainnet/00004.png b/tests/snapshots/nanos/test_transaction_manifest/FA.02-Mainnet/00010.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/FUSD.02-Mainnet/00004.png rename to tests/snapshots/nanos/test_transaction_manifest/FA.02-Mainnet/00010.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/FUSD.02-Mainnet/00005.png b/tests/snapshots/nanos/test_transaction_manifest/FA.02-Mainnet/00011.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/FUSD.02-Mainnet/00005.png rename to tests/snapshots/nanos/test_transaction_manifest/FA.02-Mainnet/00011.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/FUSD.02-Mainnet/00006.png b/tests/snapshots/nanos/test_transaction_manifest/FA.02-Mainnet/00012.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/FUSD.02-Mainnet/00006.png rename to tests/snapshots/nanos/test_transaction_manifest/FA.02-Mainnet/00012.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/FUSD.02-Mainnet/00007.png b/tests/snapshots/nanos/test_transaction_manifest/FA.02-Mainnet/00013.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/FUSD.02-Mainnet/00007.png rename to tests/snapshots/nanos/test_transaction_manifest/FA.02-Mainnet/00013.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/FUSD.02-Mainnet/00008.png b/tests/snapshots/nanos/test_transaction_manifest/FA.02-Mainnet/00014.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/FUSD.02-Mainnet/00008.png rename to tests/snapshots/nanos/test_transaction_manifest/FA.02-Mainnet/00014.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/FUSD.02-Mainnet/00009.png b/tests/snapshots/nanos/test_transaction_manifest/FA.02-Mainnet/00015.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/FUSD.02-Mainnet/00009.png rename to tests/snapshots/nanos/test_transaction_manifest/FA.02-Mainnet/00015.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/FUSD.02-Mainnet/00010.png b/tests/snapshots/nanos/test_transaction_manifest/FA.02-Mainnet/00016.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/FUSD.02-Mainnet/00010.png rename to tests/snapshots/nanos/test_transaction_manifest/FA.02-Mainnet/00016.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/FUSD.02-Mainnet/00011.png b/tests/snapshots/nanos/test_transaction_manifest/FA.02-Mainnet/00017.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/FUSD.02-Mainnet/00011.png rename to tests/snapshots/nanos/test_transaction_manifest/FA.02-Mainnet/00017.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/FUSD.02-Mainnet/00012.png b/tests/snapshots/nanos/test_transaction_manifest/FA.02-Mainnet/00018.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/FUSD.02-Mainnet/00012.png rename to tests/snapshots/nanos/test_transaction_manifest/FA.02-Mainnet/00018.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/FUSD.02-Mainnet/00013.png b/tests/snapshots/nanos/test_transaction_manifest/FA.02-Mainnet/00019.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/FUSD.02-Mainnet/00013.png rename to tests/snapshots/nanos/test_transaction_manifest/FA.02-Mainnet/00019.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/FUSD.02-Mainnet/00014.png b/tests/snapshots/nanos/test_transaction_manifest/FA.02-Mainnet/00020.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/FUSD.02-Mainnet/00014.png rename to tests/snapshots/nanos/test_transaction_manifest/FA.02-Mainnet/00020.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/FA.02-Testnet/00000.png b/tests/snapshots/nanos/test_transaction_manifest/FA.02-Testnet/00000.png new file mode 100644 index 00000000..3b57cb27 Binary files /dev/null and b/tests/snapshots/nanos/test_transaction_manifest/FA.02-Testnet/00000.png differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/FUSD.02-Testnet/00001.png b/tests/snapshots/nanos/test_transaction_manifest/FA.02-Testnet/00001.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/FUSD.02-Testnet/00001.png rename to tests/snapshots/nanos/test_transaction_manifest/FA.02-Testnet/00001.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/FA.02-Testnet/00002.png b/tests/snapshots/nanos/test_transaction_manifest/FA.02-Testnet/00002.png new file mode 100644 index 00000000..b37540ce Binary files /dev/null and b/tests/snapshots/nanos/test_transaction_manifest/FA.02-Testnet/00002.png differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/FA.02-Testnet/00003.png b/tests/snapshots/nanos/test_transaction_manifest/FA.02-Testnet/00003.png new file mode 100644 index 00000000..db6a7d25 Binary files /dev/null and b/tests/snapshots/nanos/test_transaction_manifest/FA.02-Testnet/00003.png differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/FA.02-Testnet/00004.png b/tests/snapshots/nanos/test_transaction_manifest/FA.02-Testnet/00004.png new file mode 100644 index 00000000..83d83228 Binary files /dev/null and b/tests/snapshots/nanos/test_transaction_manifest/FA.02-Testnet/00004.png differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/FA.02-Testnet/00005.png b/tests/snapshots/nanos/test_transaction_manifest/FA.02-Testnet/00005.png new file mode 100644 index 00000000..5a8a3fe7 Binary files /dev/null and b/tests/snapshots/nanos/test_transaction_manifest/FA.02-Testnet/00005.png differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/FA.02-Testnet/00006.png b/tests/snapshots/nanos/test_transaction_manifest/FA.02-Testnet/00006.png new file mode 100644 index 00000000..2fcbfd21 Binary files /dev/null and b/tests/snapshots/nanos/test_transaction_manifest/FA.02-Testnet/00006.png differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/FA.02-Testnet/00007.png b/tests/snapshots/nanos/test_transaction_manifest/FA.02-Testnet/00007.png new file mode 100644 index 00000000..f63e345b Binary files /dev/null and b/tests/snapshots/nanos/test_transaction_manifest/FA.02-Testnet/00007.png differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/FA.02-Testnet/00008.png b/tests/snapshots/nanos/test_transaction_manifest/FA.02-Testnet/00008.png new file mode 100644 index 00000000..bce4568b Binary files /dev/null and b/tests/snapshots/nanos/test_transaction_manifest/FA.02-Testnet/00008.png differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/FA.02-Testnet/00009.png b/tests/snapshots/nanos/test_transaction_manifest/FA.02-Testnet/00009.png new file mode 100644 index 00000000..aca36545 Binary files /dev/null and b/tests/snapshots/nanos/test_transaction_manifest/FA.02-Testnet/00009.png differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/FUSD.02-Testnet/00004.png b/tests/snapshots/nanos/test_transaction_manifest/FA.02-Testnet/00010.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/FUSD.02-Testnet/00004.png rename to tests/snapshots/nanos/test_transaction_manifest/FA.02-Testnet/00010.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/FUSD.02-Testnet/00005.png b/tests/snapshots/nanos/test_transaction_manifest/FA.02-Testnet/00011.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/FUSD.02-Testnet/00005.png rename to tests/snapshots/nanos/test_transaction_manifest/FA.02-Testnet/00011.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/FUSD.02-Testnet/00006.png b/tests/snapshots/nanos/test_transaction_manifest/FA.02-Testnet/00012.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/FUSD.02-Testnet/00006.png rename to tests/snapshots/nanos/test_transaction_manifest/FA.02-Testnet/00012.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/FUSD.02-Testnet/00007.png b/tests/snapshots/nanos/test_transaction_manifest/FA.02-Testnet/00013.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/FUSD.02-Testnet/00007.png rename to tests/snapshots/nanos/test_transaction_manifest/FA.02-Testnet/00013.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/FUSD.02-Testnet/00008.png b/tests/snapshots/nanos/test_transaction_manifest/FA.02-Testnet/00014.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/FUSD.02-Testnet/00008.png rename to tests/snapshots/nanos/test_transaction_manifest/FA.02-Testnet/00014.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/FUSD.02-Testnet/00009.png b/tests/snapshots/nanos/test_transaction_manifest/FA.02-Testnet/00015.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/FUSD.02-Testnet/00009.png rename to tests/snapshots/nanos/test_transaction_manifest/FA.02-Testnet/00015.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/FUSD.02-Testnet/00010.png b/tests/snapshots/nanos/test_transaction_manifest/FA.02-Testnet/00016.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/FUSD.02-Testnet/00010.png rename to tests/snapshots/nanos/test_transaction_manifest/FA.02-Testnet/00016.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/FUSD.02-Testnet/00011.png b/tests/snapshots/nanos/test_transaction_manifest/FA.02-Testnet/00017.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/FUSD.02-Testnet/00011.png rename to tests/snapshots/nanos/test_transaction_manifest/FA.02-Testnet/00017.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/FUSD.02-Testnet/00012.png b/tests/snapshots/nanos/test_transaction_manifest/FA.02-Testnet/00018.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/FUSD.02-Testnet/00012.png rename to tests/snapshots/nanos/test_transaction_manifest/FA.02-Testnet/00018.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/FUSD.02-Testnet/00013.png b/tests/snapshots/nanos/test_transaction_manifest/FA.02-Testnet/00019.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/FUSD.02-Testnet/00013.png rename to tests/snapshots/nanos/test_transaction_manifest/FA.02-Testnet/00019.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/FUSD.02-Testnet/00014.png b/tests/snapshots/nanos/test_transaction_manifest/FA.02-Testnet/00020.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/FUSD.02-Testnet/00014.png rename to tests/snapshots/nanos/test_transaction_manifest/FA.02-Testnet/00020.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/FA.03-Mainnet/00000.png b/tests/snapshots/nanos/test_transaction_manifest/FA.03-Mainnet/00000.png new file mode 100644 index 00000000..f3548e94 Binary files /dev/null and b/tests/snapshots/nanos/test_transaction_manifest/FA.03-Mainnet/00000.png differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/SCO.04-1-Mainnet/00001.png b/tests/snapshots/nanos/test_transaction_manifest/FA.03-Mainnet/00001.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/SCO.04-1-Mainnet/00001.png rename to tests/snapshots/nanos/test_transaction_manifest/FA.03-Mainnet/00001.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/FA.03-Mainnet/00002.png b/tests/snapshots/nanos/test_transaction_manifest/FA.03-Mainnet/00002.png new file mode 100644 index 00000000..279ad0e8 Binary files /dev/null and b/tests/snapshots/nanos/test_transaction_manifest/FA.03-Mainnet/00002.png differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.08-Mainnet/00003.png b/tests/snapshots/nanos/test_transaction_manifest/FA.03-Mainnet/00003.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/TH.08-Mainnet/00003.png rename to tests/snapshots/nanos/test_transaction_manifest/FA.03-Mainnet/00003.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.08-Mainnet/00004.png b/tests/snapshots/nanos/test_transaction_manifest/FA.03-Mainnet/00004.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/TH.08-Mainnet/00004.png rename to tests/snapshots/nanos/test_transaction_manifest/FA.03-Mainnet/00004.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.08-Mainnet/00005.png b/tests/snapshots/nanos/test_transaction_manifest/FA.03-Mainnet/00005.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/TH.08-Mainnet/00005.png rename to tests/snapshots/nanos/test_transaction_manifest/FA.03-Mainnet/00005.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.08-Mainnet/00006.png b/tests/snapshots/nanos/test_transaction_manifest/FA.03-Mainnet/00006.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/TH.08-Mainnet/00006.png rename to tests/snapshots/nanos/test_transaction_manifest/FA.03-Mainnet/00006.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.08-Mainnet/00007.png b/tests/snapshots/nanos/test_transaction_manifest/FA.03-Mainnet/00007.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/TH.08-Mainnet/00007.png rename to tests/snapshots/nanos/test_transaction_manifest/FA.03-Mainnet/00007.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.08-Mainnet/00008.png b/tests/snapshots/nanos/test_transaction_manifest/FA.03-Mainnet/00008.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/TH.08-Mainnet/00008.png rename to tests/snapshots/nanos/test_transaction_manifest/FA.03-Mainnet/00008.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.08-Mainnet/00009.png b/tests/snapshots/nanos/test_transaction_manifest/FA.03-Mainnet/00009.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/TH.08-Mainnet/00009.png rename to tests/snapshots/nanos/test_transaction_manifest/FA.03-Mainnet/00009.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.08-Mainnet/00010.png b/tests/snapshots/nanos/test_transaction_manifest/FA.03-Mainnet/00010.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/TH.08-Mainnet/00010.png rename to tests/snapshots/nanos/test_transaction_manifest/FA.03-Mainnet/00010.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.08-Mainnet/00011.png b/tests/snapshots/nanos/test_transaction_manifest/FA.03-Mainnet/00011.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/TH.08-Mainnet/00011.png rename to tests/snapshots/nanos/test_transaction_manifest/FA.03-Mainnet/00011.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.08-Mainnet/00012.png b/tests/snapshots/nanos/test_transaction_manifest/FA.03-Mainnet/00012.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/TH.08-Mainnet/00012.png rename to tests/snapshots/nanos/test_transaction_manifest/FA.03-Mainnet/00012.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.08-Mainnet/00013.png b/tests/snapshots/nanos/test_transaction_manifest/FA.03-Mainnet/00013.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/TH.08-Mainnet/00013.png rename to tests/snapshots/nanos/test_transaction_manifest/FA.03-Mainnet/00013.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/FA.03-Testnet/00000.png b/tests/snapshots/nanos/test_transaction_manifest/FA.03-Testnet/00000.png new file mode 100644 index 00000000..f3548e94 Binary files /dev/null and b/tests/snapshots/nanos/test_transaction_manifest/FA.03-Testnet/00000.png differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/SCO.04-1-Testnet/00001.png b/tests/snapshots/nanos/test_transaction_manifest/FA.03-Testnet/00001.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/SCO.04-1-Testnet/00001.png rename to tests/snapshots/nanos/test_transaction_manifest/FA.03-Testnet/00001.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/FA.03-Testnet/00002.png b/tests/snapshots/nanos/test_transaction_manifest/FA.03-Testnet/00002.png new file mode 100644 index 00000000..279ad0e8 Binary files /dev/null and b/tests/snapshots/nanos/test_transaction_manifest/FA.03-Testnet/00002.png differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.08-Testnet/00003.png b/tests/snapshots/nanos/test_transaction_manifest/FA.03-Testnet/00003.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/TH.08-Testnet/00003.png rename to tests/snapshots/nanos/test_transaction_manifest/FA.03-Testnet/00003.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.08-Testnet/00004.png b/tests/snapshots/nanos/test_transaction_manifest/FA.03-Testnet/00004.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/TH.08-Testnet/00004.png rename to tests/snapshots/nanos/test_transaction_manifest/FA.03-Testnet/00004.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.08-Testnet/00005.png b/tests/snapshots/nanos/test_transaction_manifest/FA.03-Testnet/00005.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/TH.08-Testnet/00005.png rename to tests/snapshots/nanos/test_transaction_manifest/FA.03-Testnet/00005.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.08-Testnet/00006.png b/tests/snapshots/nanos/test_transaction_manifest/FA.03-Testnet/00006.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/TH.08-Testnet/00006.png rename to tests/snapshots/nanos/test_transaction_manifest/FA.03-Testnet/00006.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.08-Testnet/00007.png b/tests/snapshots/nanos/test_transaction_manifest/FA.03-Testnet/00007.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/TH.08-Testnet/00007.png rename to tests/snapshots/nanos/test_transaction_manifest/FA.03-Testnet/00007.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.08-Testnet/00008.png b/tests/snapshots/nanos/test_transaction_manifest/FA.03-Testnet/00008.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/TH.08-Testnet/00008.png rename to tests/snapshots/nanos/test_transaction_manifest/FA.03-Testnet/00008.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.08-Testnet/00009.png b/tests/snapshots/nanos/test_transaction_manifest/FA.03-Testnet/00009.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/TH.08-Testnet/00009.png rename to tests/snapshots/nanos/test_transaction_manifest/FA.03-Testnet/00009.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.08-Testnet/00010.png b/tests/snapshots/nanos/test_transaction_manifest/FA.03-Testnet/00010.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/TH.08-Testnet/00010.png rename to tests/snapshots/nanos/test_transaction_manifest/FA.03-Testnet/00010.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.08-Testnet/00011.png b/tests/snapshots/nanos/test_transaction_manifest/FA.03-Testnet/00011.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/TH.08-Testnet/00011.png rename to tests/snapshots/nanos/test_transaction_manifest/FA.03-Testnet/00011.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.08-Testnet/00012.png b/tests/snapshots/nanos/test_transaction_manifest/FA.03-Testnet/00012.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/TH.08-Testnet/00012.png rename to tests/snapshots/nanos/test_transaction_manifest/FA.03-Testnet/00012.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.08-Testnet/00013.png b/tests/snapshots/nanos/test_transaction_manifest/FA.03-Testnet/00013.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/TH.08-Testnet/00013.png rename to tests/snapshots/nanos/test_transaction_manifest/FA.03-Testnet/00013.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/FT.01-Mainnet/00000.png b/tests/snapshots/nanos/test_transaction_manifest/FT.01-Mainnet/00000.png new file mode 100644 index 00000000..0bebe0b2 Binary files /dev/null and b/tests/snapshots/nanos/test_transaction_manifest/FT.01-Mainnet/00000.png differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/SCO.04-2-Mainnet/00001.png b/tests/snapshots/nanos/test_transaction_manifest/FT.01-Mainnet/00001.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/SCO.04-2-Mainnet/00001.png rename to tests/snapshots/nanos/test_transaction_manifest/FT.01-Mainnet/00001.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/FT.01-Mainnet/00002.png b/tests/snapshots/nanos/test_transaction_manifest/FT.01-Mainnet/00002.png new file mode 100644 index 00000000..4a41e048 Binary files /dev/null and b/tests/snapshots/nanos/test_transaction_manifest/FT.01-Mainnet/00002.png differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/FT.01-Mainnet/00003.png b/tests/snapshots/nanos/test_transaction_manifest/FT.01-Mainnet/00003.png new file mode 100644 index 00000000..c36b99b7 Binary files /dev/null and b/tests/snapshots/nanos/test_transaction_manifest/FT.01-Mainnet/00003.png differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/SCO.04-1-Mainnet/00004.png b/tests/snapshots/nanos/test_transaction_manifest/FT.01-Mainnet/00004.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/SCO.04-1-Mainnet/00004.png rename to tests/snapshots/nanos/test_transaction_manifest/FT.01-Mainnet/00004.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/SCO.04-1-Mainnet/00005.png b/tests/snapshots/nanos/test_transaction_manifest/FT.01-Mainnet/00005.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/SCO.04-1-Mainnet/00005.png rename to tests/snapshots/nanos/test_transaction_manifest/FT.01-Mainnet/00005.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/SCO.04-1-Mainnet/00006.png b/tests/snapshots/nanos/test_transaction_manifest/FT.01-Mainnet/00006.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/SCO.04-1-Mainnet/00006.png rename to tests/snapshots/nanos/test_transaction_manifest/FT.01-Mainnet/00006.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/SCO.04-1-Mainnet/00007.png b/tests/snapshots/nanos/test_transaction_manifest/FT.01-Mainnet/00007.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/SCO.04-1-Mainnet/00007.png rename to tests/snapshots/nanos/test_transaction_manifest/FT.01-Mainnet/00007.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/SCO.04-1-Mainnet/00008.png b/tests/snapshots/nanos/test_transaction_manifest/FT.01-Mainnet/00008.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/SCO.04-1-Mainnet/00008.png rename to tests/snapshots/nanos/test_transaction_manifest/FT.01-Mainnet/00008.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/SCO.04-1-Mainnet/00009.png b/tests/snapshots/nanos/test_transaction_manifest/FT.01-Mainnet/00009.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/SCO.04-1-Mainnet/00009.png rename to tests/snapshots/nanos/test_transaction_manifest/FT.01-Mainnet/00009.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/SCO.04-1-Mainnet/00010.png b/tests/snapshots/nanos/test_transaction_manifest/FT.01-Mainnet/00010.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/SCO.04-1-Mainnet/00010.png rename to tests/snapshots/nanos/test_transaction_manifest/FT.01-Mainnet/00010.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/SCO.04-1-Mainnet/00011.png b/tests/snapshots/nanos/test_transaction_manifest/FT.01-Mainnet/00011.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/SCO.04-1-Mainnet/00011.png rename to tests/snapshots/nanos/test_transaction_manifest/FT.01-Mainnet/00011.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/SCO.04-1-Mainnet/00012.png b/tests/snapshots/nanos/test_transaction_manifest/FT.01-Mainnet/00012.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/SCO.04-1-Mainnet/00012.png rename to tests/snapshots/nanos/test_transaction_manifest/FT.01-Mainnet/00012.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/SCO.04-1-Mainnet/00013.png b/tests/snapshots/nanos/test_transaction_manifest/FT.01-Mainnet/00013.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/SCO.04-1-Mainnet/00013.png rename to tests/snapshots/nanos/test_transaction_manifest/FT.01-Mainnet/00013.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/SCO.04-1-Mainnet/00014.png b/tests/snapshots/nanos/test_transaction_manifest/FT.01-Mainnet/00014.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/SCO.04-1-Mainnet/00014.png rename to tests/snapshots/nanos/test_transaction_manifest/FT.01-Mainnet/00014.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/FT.01-Testnet/00000.png b/tests/snapshots/nanos/test_transaction_manifest/FT.01-Testnet/00000.png new file mode 100644 index 00000000..0bebe0b2 Binary files /dev/null and b/tests/snapshots/nanos/test_transaction_manifest/FT.01-Testnet/00000.png differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/SCO.04-2-Testnet/00001.png b/tests/snapshots/nanos/test_transaction_manifest/FT.01-Testnet/00001.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/SCO.04-2-Testnet/00001.png rename to tests/snapshots/nanos/test_transaction_manifest/FT.01-Testnet/00001.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/FT.01-Testnet/00002.png b/tests/snapshots/nanos/test_transaction_manifest/FT.01-Testnet/00002.png new file mode 100644 index 00000000..b6a65194 Binary files /dev/null and b/tests/snapshots/nanos/test_transaction_manifest/FT.01-Testnet/00002.png differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/FT.01-Testnet/00003.png b/tests/snapshots/nanos/test_transaction_manifest/FT.01-Testnet/00003.png new file mode 100644 index 00000000..c36b99b7 Binary files /dev/null and b/tests/snapshots/nanos/test_transaction_manifest/FT.01-Testnet/00003.png differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/SCO.04-1-Testnet/00004.png b/tests/snapshots/nanos/test_transaction_manifest/FT.01-Testnet/00004.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/SCO.04-1-Testnet/00004.png rename to tests/snapshots/nanos/test_transaction_manifest/FT.01-Testnet/00004.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/SCO.04-1-Testnet/00005.png b/tests/snapshots/nanos/test_transaction_manifest/FT.01-Testnet/00005.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/SCO.04-1-Testnet/00005.png rename to tests/snapshots/nanos/test_transaction_manifest/FT.01-Testnet/00005.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/SCO.04-1-Testnet/00006.png b/tests/snapshots/nanos/test_transaction_manifest/FT.01-Testnet/00006.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/SCO.04-1-Testnet/00006.png rename to tests/snapshots/nanos/test_transaction_manifest/FT.01-Testnet/00006.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/SCO.04-1-Testnet/00007.png b/tests/snapshots/nanos/test_transaction_manifest/FT.01-Testnet/00007.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/SCO.04-1-Testnet/00007.png rename to tests/snapshots/nanos/test_transaction_manifest/FT.01-Testnet/00007.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/SCO.04-1-Testnet/00008.png b/tests/snapshots/nanos/test_transaction_manifest/FT.01-Testnet/00008.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/SCO.04-1-Testnet/00008.png rename to tests/snapshots/nanos/test_transaction_manifest/FT.01-Testnet/00008.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/SCO.04-1-Testnet/00009.png b/tests/snapshots/nanos/test_transaction_manifest/FT.01-Testnet/00009.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/SCO.04-1-Testnet/00009.png rename to tests/snapshots/nanos/test_transaction_manifest/FT.01-Testnet/00009.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/SCO.04-1-Testnet/00010.png b/tests/snapshots/nanos/test_transaction_manifest/FT.01-Testnet/00010.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/SCO.04-1-Testnet/00010.png rename to tests/snapshots/nanos/test_transaction_manifest/FT.01-Testnet/00010.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/SCO.04-1-Testnet/00011.png b/tests/snapshots/nanos/test_transaction_manifest/FT.01-Testnet/00011.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/SCO.04-1-Testnet/00011.png rename to tests/snapshots/nanos/test_transaction_manifest/FT.01-Testnet/00011.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/SCO.04-1-Testnet/00012.png b/tests/snapshots/nanos/test_transaction_manifest/FT.01-Testnet/00012.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/SCO.04-1-Testnet/00012.png rename to tests/snapshots/nanos/test_transaction_manifest/FT.01-Testnet/00012.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/SCO.04-1-Testnet/00013.png b/tests/snapshots/nanos/test_transaction_manifest/FT.01-Testnet/00013.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/SCO.04-1-Testnet/00013.png rename to tests/snapshots/nanos/test_transaction_manifest/FT.01-Testnet/00013.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/SCO.04-1-Testnet/00014.png b/tests/snapshots/nanos/test_transaction_manifest/FT.01-Testnet/00014.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/SCO.04-1-Testnet/00014.png rename to tests/snapshots/nanos/test_transaction_manifest/FT.01-Testnet/00014.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/FT.02-Mainnet/00000.png b/tests/snapshots/nanos/test_transaction_manifest/FT.02-Mainnet/00000.png new file mode 100644 index 00000000..0f75684b Binary files /dev/null and b/tests/snapshots/nanos/test_transaction_manifest/FT.02-Mainnet/00000.png differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/SCO.04-3-Mainnet/00001.png b/tests/snapshots/nanos/test_transaction_manifest/FT.02-Mainnet/00001.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/SCO.04-3-Mainnet/00001.png rename to tests/snapshots/nanos/test_transaction_manifest/FT.02-Mainnet/00001.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/FUSD.02-Mainnet/00002.png b/tests/snapshots/nanos/test_transaction_manifest/FT.02-Mainnet/00002.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/FUSD.02-Mainnet/00002.png rename to tests/snapshots/nanos/test_transaction_manifest/FT.02-Mainnet/00002.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/FUSD.02-Mainnet/00003.png b/tests/snapshots/nanos/test_transaction_manifest/FT.02-Mainnet/00003.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/FUSD.02-Mainnet/00003.png rename to tests/snapshots/nanos/test_transaction_manifest/FT.02-Mainnet/00003.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/FT.02-Mainnet/00004.png b/tests/snapshots/nanos/test_transaction_manifest/FT.02-Mainnet/00004.png new file mode 100644 index 00000000..ef50b47b Binary files /dev/null and b/tests/snapshots/nanos/test_transaction_manifest/FT.02-Mainnet/00004.png differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/FT.02-Mainnet/00005.png b/tests/snapshots/nanos/test_transaction_manifest/FT.02-Mainnet/00005.png new file mode 100644 index 00000000..4495d327 Binary files /dev/null and b/tests/snapshots/nanos/test_transaction_manifest/FT.02-Mainnet/00005.png differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.16-Mainnet/00006.png b/tests/snapshots/nanos/test_transaction_manifest/FT.02-Mainnet/00006.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/TH.16-Mainnet/00006.png rename to tests/snapshots/nanos/test_transaction_manifest/FT.02-Mainnet/00006.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.16-Mainnet/00007.png b/tests/snapshots/nanos/test_transaction_manifest/FT.02-Mainnet/00007.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/TH.16-Mainnet/00007.png rename to tests/snapshots/nanos/test_transaction_manifest/FT.02-Mainnet/00007.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.16-Mainnet/00008.png b/tests/snapshots/nanos/test_transaction_manifest/FT.02-Mainnet/00008.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/TH.16-Mainnet/00008.png rename to tests/snapshots/nanos/test_transaction_manifest/FT.02-Mainnet/00008.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.16-Mainnet/00009.png b/tests/snapshots/nanos/test_transaction_manifest/FT.02-Mainnet/00009.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/TH.16-Mainnet/00009.png rename to tests/snapshots/nanos/test_transaction_manifest/FT.02-Mainnet/00009.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.16-Mainnet/00010.png b/tests/snapshots/nanos/test_transaction_manifest/FT.02-Mainnet/00010.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/TH.16-Mainnet/00010.png rename to tests/snapshots/nanos/test_transaction_manifest/FT.02-Mainnet/00010.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.16-Mainnet/00011.png b/tests/snapshots/nanos/test_transaction_manifest/FT.02-Mainnet/00011.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/TH.16-Mainnet/00011.png rename to tests/snapshots/nanos/test_transaction_manifest/FT.02-Mainnet/00011.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.16-Mainnet/00012.png b/tests/snapshots/nanos/test_transaction_manifest/FT.02-Mainnet/00012.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/TH.16-Mainnet/00012.png rename to tests/snapshots/nanos/test_transaction_manifest/FT.02-Mainnet/00012.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.16-Mainnet/00013.png b/tests/snapshots/nanos/test_transaction_manifest/FT.02-Mainnet/00013.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/TH.16-Mainnet/00013.png rename to tests/snapshots/nanos/test_transaction_manifest/FT.02-Mainnet/00013.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.16-Mainnet/00014.png b/tests/snapshots/nanos/test_transaction_manifest/FT.02-Mainnet/00014.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/TH.16-Mainnet/00014.png rename to tests/snapshots/nanos/test_transaction_manifest/FT.02-Mainnet/00014.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.16-Mainnet/00015.png b/tests/snapshots/nanos/test_transaction_manifest/FT.02-Mainnet/00015.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/TH.16-Mainnet/00015.png rename to tests/snapshots/nanos/test_transaction_manifest/FT.02-Mainnet/00015.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.16-Mainnet/00016.png b/tests/snapshots/nanos/test_transaction_manifest/FT.02-Mainnet/00016.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/TH.16-Mainnet/00016.png rename to tests/snapshots/nanos/test_transaction_manifest/FT.02-Mainnet/00016.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/FT.02-Testnet/00000.png b/tests/snapshots/nanos/test_transaction_manifest/FT.02-Testnet/00000.png new file mode 100644 index 00000000..0f75684b Binary files /dev/null and b/tests/snapshots/nanos/test_transaction_manifest/FT.02-Testnet/00000.png differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/SCO.04-3-Testnet/00001.png b/tests/snapshots/nanos/test_transaction_manifest/FT.02-Testnet/00001.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/SCO.04-3-Testnet/00001.png rename to tests/snapshots/nanos/test_transaction_manifest/FT.02-Testnet/00001.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/FUSD.02-Testnet/00002.png b/tests/snapshots/nanos/test_transaction_manifest/FT.02-Testnet/00002.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/FUSD.02-Testnet/00002.png rename to tests/snapshots/nanos/test_transaction_manifest/FT.02-Testnet/00002.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/USDC.02-Testnet/00003.png b/tests/snapshots/nanos/test_transaction_manifest/FT.02-Testnet/00003.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/USDC.02-Testnet/00003.png rename to tests/snapshots/nanos/test_transaction_manifest/FT.02-Testnet/00003.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/FT.02-Testnet/00004.png b/tests/snapshots/nanos/test_transaction_manifest/FT.02-Testnet/00004.png new file mode 100644 index 00000000..ef50b47b Binary files /dev/null and b/tests/snapshots/nanos/test_transaction_manifest/FT.02-Testnet/00004.png differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/FT.02-Testnet/00005.png b/tests/snapshots/nanos/test_transaction_manifest/FT.02-Testnet/00005.png new file mode 100644 index 00000000..4495d327 Binary files /dev/null and b/tests/snapshots/nanos/test_transaction_manifest/FT.02-Testnet/00005.png differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.16-Testnet/00006.png b/tests/snapshots/nanos/test_transaction_manifest/FT.02-Testnet/00006.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/TH.16-Testnet/00006.png rename to tests/snapshots/nanos/test_transaction_manifest/FT.02-Testnet/00006.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.16-Testnet/00007.png b/tests/snapshots/nanos/test_transaction_manifest/FT.02-Testnet/00007.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/TH.16-Testnet/00007.png rename to tests/snapshots/nanos/test_transaction_manifest/FT.02-Testnet/00007.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.16-Testnet/00008.png b/tests/snapshots/nanos/test_transaction_manifest/FT.02-Testnet/00008.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/TH.16-Testnet/00008.png rename to tests/snapshots/nanos/test_transaction_manifest/FT.02-Testnet/00008.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.16-Testnet/00009.png b/tests/snapshots/nanos/test_transaction_manifest/FT.02-Testnet/00009.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/TH.16-Testnet/00009.png rename to tests/snapshots/nanos/test_transaction_manifest/FT.02-Testnet/00009.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.16-Testnet/00010.png b/tests/snapshots/nanos/test_transaction_manifest/FT.02-Testnet/00010.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/TH.16-Testnet/00010.png rename to tests/snapshots/nanos/test_transaction_manifest/FT.02-Testnet/00010.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.16-Testnet/00011.png b/tests/snapshots/nanos/test_transaction_manifest/FT.02-Testnet/00011.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/TH.16-Testnet/00011.png rename to tests/snapshots/nanos/test_transaction_manifest/FT.02-Testnet/00011.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.16-Testnet/00012.png b/tests/snapshots/nanos/test_transaction_manifest/FT.02-Testnet/00012.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/TH.16-Testnet/00012.png rename to tests/snapshots/nanos/test_transaction_manifest/FT.02-Testnet/00012.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.16-Testnet/00013.png b/tests/snapshots/nanos/test_transaction_manifest/FT.02-Testnet/00013.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/TH.16-Testnet/00013.png rename to tests/snapshots/nanos/test_transaction_manifest/FT.02-Testnet/00013.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.16-Testnet/00014.png b/tests/snapshots/nanos/test_transaction_manifest/FT.02-Testnet/00014.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/TH.16-Testnet/00014.png rename to tests/snapshots/nanos/test_transaction_manifest/FT.02-Testnet/00014.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.16-Testnet/00015.png b/tests/snapshots/nanos/test_transaction_manifest/FT.02-Testnet/00015.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/TH.16-Testnet/00015.png rename to tests/snapshots/nanos/test_transaction_manifest/FT.02-Testnet/00015.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.16-Testnet/00016.png b/tests/snapshots/nanos/test_transaction_manifest/FT.02-Testnet/00016.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/TH.16-Testnet/00016.png rename to tests/snapshots/nanos/test_transaction_manifest/FT.02-Testnet/00016.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/FT.03-Mainnet/00000.png b/tests/snapshots/nanos/test_transaction_manifest/FT.03-Mainnet/00000.png new file mode 100644 index 00000000..c6013df5 Binary files /dev/null and b/tests/snapshots/nanos/test_transaction_manifest/FT.03-Mainnet/00000.png differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.06-Mainnet/00001.png b/tests/snapshots/nanos/test_transaction_manifest/FT.03-Mainnet/00001.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/TH.06-Mainnet/00001.png rename to tests/snapshots/nanos/test_transaction_manifest/FT.03-Mainnet/00001.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.08-Mainnet/00002.png b/tests/snapshots/nanos/test_transaction_manifest/FT.03-Mainnet/00002.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/TH.08-Mainnet/00002.png rename to tests/snapshots/nanos/test_transaction_manifest/FT.03-Mainnet/00002.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/FUSD.02-Testnet/00003.png b/tests/snapshots/nanos/test_transaction_manifest/FT.03-Mainnet/00003.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/FUSD.02-Testnet/00003.png rename to tests/snapshots/nanos/test_transaction_manifest/FT.03-Mainnet/00003.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/FT.03-Mainnet/00004.png b/tests/snapshots/nanos/test_transaction_manifest/FT.03-Mainnet/00004.png new file mode 100644 index 00000000..4a41e048 Binary files /dev/null and b/tests/snapshots/nanos/test_transaction_manifest/FT.03-Mainnet/00004.png differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/FT.03-Mainnet/00005.png b/tests/snapshots/nanos/test_transaction_manifest/FT.03-Mainnet/00005.png new file mode 100644 index 00000000..c36b99b7 Binary files /dev/null and b/tests/snapshots/nanos/test_transaction_manifest/FT.03-Mainnet/00005.png differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/SCO.04-2-Mainnet/00009.png b/tests/snapshots/nanos/test_transaction_manifest/FT.03-Mainnet/00006.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/SCO.04-2-Mainnet/00009.png rename to tests/snapshots/nanos/test_transaction_manifest/FT.03-Mainnet/00006.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/SCO.04-2-Mainnet/00010.png b/tests/snapshots/nanos/test_transaction_manifest/FT.03-Mainnet/00007.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/SCO.04-2-Mainnet/00010.png rename to tests/snapshots/nanos/test_transaction_manifest/FT.03-Mainnet/00007.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/SCO.04-2-Mainnet/00011.png b/tests/snapshots/nanos/test_transaction_manifest/FT.03-Mainnet/00008.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/SCO.04-2-Mainnet/00011.png rename to tests/snapshots/nanos/test_transaction_manifest/FT.03-Mainnet/00008.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/SCO.04-2-Mainnet/00012.png b/tests/snapshots/nanos/test_transaction_manifest/FT.03-Mainnet/00009.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/SCO.04-2-Mainnet/00012.png rename to tests/snapshots/nanos/test_transaction_manifest/FT.03-Mainnet/00009.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/SCO.04-2-Mainnet/00013.png b/tests/snapshots/nanos/test_transaction_manifest/FT.03-Mainnet/00010.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/SCO.04-2-Mainnet/00013.png rename to tests/snapshots/nanos/test_transaction_manifest/FT.03-Mainnet/00010.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/SCO.04-2-Mainnet/00014.png b/tests/snapshots/nanos/test_transaction_manifest/FT.03-Mainnet/00011.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/SCO.04-2-Mainnet/00014.png rename to tests/snapshots/nanos/test_transaction_manifest/FT.03-Mainnet/00011.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/SCO.04-2-Mainnet/00015.png b/tests/snapshots/nanos/test_transaction_manifest/FT.03-Mainnet/00012.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/SCO.04-2-Mainnet/00015.png rename to tests/snapshots/nanos/test_transaction_manifest/FT.03-Mainnet/00012.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/SCO.04-2-Mainnet/00016.png b/tests/snapshots/nanos/test_transaction_manifest/FT.03-Mainnet/00013.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/SCO.04-2-Mainnet/00016.png rename to tests/snapshots/nanos/test_transaction_manifest/FT.03-Mainnet/00013.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/SCO.04-2-Mainnet/00017.png b/tests/snapshots/nanos/test_transaction_manifest/FT.03-Mainnet/00014.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/SCO.04-2-Mainnet/00017.png rename to tests/snapshots/nanos/test_transaction_manifest/FT.03-Mainnet/00014.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/SCO.04-2-Mainnet/00018.png b/tests/snapshots/nanos/test_transaction_manifest/FT.03-Mainnet/00015.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/SCO.04-2-Mainnet/00018.png rename to tests/snapshots/nanos/test_transaction_manifest/FT.03-Mainnet/00015.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/SCO.04-2-Mainnet/00019.png b/tests/snapshots/nanos/test_transaction_manifest/FT.03-Mainnet/00016.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/SCO.04-2-Mainnet/00019.png rename to tests/snapshots/nanos/test_transaction_manifest/FT.03-Mainnet/00016.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/FT.03-Testnet/00000.png b/tests/snapshots/nanos/test_transaction_manifest/FT.03-Testnet/00000.png new file mode 100644 index 00000000..c6013df5 Binary files /dev/null and b/tests/snapshots/nanos/test_transaction_manifest/FT.03-Testnet/00000.png differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.06-Testnet/00001.png b/tests/snapshots/nanos/test_transaction_manifest/FT.03-Testnet/00001.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/TH.06-Testnet/00001.png rename to tests/snapshots/nanos/test_transaction_manifest/FT.03-Testnet/00001.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.08-Testnet/00002.png b/tests/snapshots/nanos/test_transaction_manifest/FT.03-Testnet/00002.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/TH.08-Testnet/00002.png rename to tests/snapshots/nanos/test_transaction_manifest/FT.03-Testnet/00002.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/TS.02-Testnet/00002.png b/tests/snapshots/nanos/test_transaction_manifest/FT.03-Testnet/00003.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/TS.02-Testnet/00002.png rename to tests/snapshots/nanos/test_transaction_manifest/FT.03-Testnet/00003.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/FT.03-Testnet/00004.png b/tests/snapshots/nanos/test_transaction_manifest/FT.03-Testnet/00004.png new file mode 100644 index 00000000..b6a65194 Binary files /dev/null and b/tests/snapshots/nanos/test_transaction_manifest/FT.03-Testnet/00004.png differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/FT.03-Testnet/00005.png b/tests/snapshots/nanos/test_transaction_manifest/FT.03-Testnet/00005.png new file mode 100644 index 00000000..c36b99b7 Binary files /dev/null and b/tests/snapshots/nanos/test_transaction_manifest/FT.03-Testnet/00005.png differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/SCO.04-2-Testnet/00009.png b/tests/snapshots/nanos/test_transaction_manifest/FT.03-Testnet/00006.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/SCO.04-2-Testnet/00009.png rename to tests/snapshots/nanos/test_transaction_manifest/FT.03-Testnet/00006.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/SCO.04-2-Testnet/00010.png b/tests/snapshots/nanos/test_transaction_manifest/FT.03-Testnet/00007.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/SCO.04-2-Testnet/00010.png rename to tests/snapshots/nanos/test_transaction_manifest/FT.03-Testnet/00007.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/SCO.04-2-Testnet/00011.png b/tests/snapshots/nanos/test_transaction_manifest/FT.03-Testnet/00008.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/SCO.04-2-Testnet/00011.png rename to tests/snapshots/nanos/test_transaction_manifest/FT.03-Testnet/00008.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/SCO.04-2-Testnet/00012.png b/tests/snapshots/nanos/test_transaction_manifest/FT.03-Testnet/00009.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/SCO.04-2-Testnet/00012.png rename to tests/snapshots/nanos/test_transaction_manifest/FT.03-Testnet/00009.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/SCO.04-2-Testnet/00013.png b/tests/snapshots/nanos/test_transaction_manifest/FT.03-Testnet/00010.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/SCO.04-2-Testnet/00013.png rename to tests/snapshots/nanos/test_transaction_manifest/FT.03-Testnet/00010.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/SCO.04-2-Testnet/00014.png b/tests/snapshots/nanos/test_transaction_manifest/FT.03-Testnet/00011.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/SCO.04-2-Testnet/00014.png rename to tests/snapshots/nanos/test_transaction_manifest/FT.03-Testnet/00011.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/SCO.04-2-Testnet/00015.png b/tests/snapshots/nanos/test_transaction_manifest/FT.03-Testnet/00012.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/SCO.04-2-Testnet/00015.png rename to tests/snapshots/nanos/test_transaction_manifest/FT.03-Testnet/00012.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/SCO.04-2-Testnet/00016.png b/tests/snapshots/nanos/test_transaction_manifest/FT.03-Testnet/00013.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/SCO.04-2-Testnet/00016.png rename to tests/snapshots/nanos/test_transaction_manifest/FT.03-Testnet/00013.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/SCO.04-2-Testnet/00017.png b/tests/snapshots/nanos/test_transaction_manifest/FT.03-Testnet/00014.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/SCO.04-2-Testnet/00017.png rename to tests/snapshots/nanos/test_transaction_manifest/FT.03-Testnet/00014.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/SCO.04-2-Testnet/00018.png b/tests/snapshots/nanos/test_transaction_manifest/FT.03-Testnet/00015.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/SCO.04-2-Testnet/00018.png rename to tests/snapshots/nanos/test_transaction_manifest/FT.03-Testnet/00015.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/SCO.04-2-Testnet/00019.png b/tests/snapshots/nanos/test_transaction_manifest/FT.03-Testnet/00016.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/SCO.04-2-Testnet/00019.png rename to tests/snapshots/nanos/test_transaction_manifest/FT.03-Testnet/00016.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/FUSD.01-Mainnet/00000.png b/tests/snapshots/nanos/test_transaction_manifest/FUSD.01-Mainnet/00000.png deleted file mode 100644 index 234726cb..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/FUSD.01-Mainnet/00000.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/FUSD.01-Testnet/00000.png b/tests/snapshots/nanos/test_transaction_manifest/FUSD.01-Testnet/00000.png deleted file mode 100644 index 234726cb..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/FUSD.01-Testnet/00000.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/FUSD.02-Mainnet/00000.png b/tests/snapshots/nanos/test_transaction_manifest/FUSD.02-Mainnet/00000.png deleted file mode 100644 index 237ebf49..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/FUSD.02-Mainnet/00000.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/FUSD.02-Testnet/00000.png b/tests/snapshots/nanos/test_transaction_manifest/FUSD.02-Testnet/00000.png deleted file mode 100644 index 237ebf49..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/FUSD.02-Testnet/00000.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/NFT.01-Mainnet/00000.png b/tests/snapshots/nanos/test_transaction_manifest/NFT.01-Mainnet/00000.png new file mode 100644 index 00000000..cf4a9ea2 Binary files /dev/null and b/tests/snapshots/nanos/test_transaction_manifest/NFT.01-Mainnet/00000.png differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.08-Mainnet/00001.png b/tests/snapshots/nanos/test_transaction_manifest/NFT.01-Mainnet/00001.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/TH.08-Mainnet/00001.png rename to tests/snapshots/nanos/test_transaction_manifest/NFT.01-Mainnet/00001.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/NFT.01-Mainnet/00002.png b/tests/snapshots/nanos/test_transaction_manifest/NFT.01-Mainnet/00002.png new file mode 100644 index 00000000..d9b0b8ae Binary files /dev/null and b/tests/snapshots/nanos/test_transaction_manifest/NFT.01-Mainnet/00002.png differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/NFT.01-Mainnet/00003.png b/tests/snapshots/nanos/test_transaction_manifest/NFT.01-Mainnet/00003.png new file mode 100644 index 00000000..1f8c322f Binary files /dev/null and b/tests/snapshots/nanos/test_transaction_manifest/NFT.01-Mainnet/00003.png differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TS.02-Mainnet/00004.png b/tests/snapshots/nanos/test_transaction_manifest/NFT.01-Mainnet/00004.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/TS.02-Mainnet/00004.png rename to tests/snapshots/nanos/test_transaction_manifest/NFT.01-Mainnet/00004.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/TS.02-Mainnet/00005.png b/tests/snapshots/nanos/test_transaction_manifest/NFT.01-Mainnet/00005.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/TS.02-Mainnet/00005.png rename to tests/snapshots/nanos/test_transaction_manifest/NFT.01-Mainnet/00005.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/TS.02-Mainnet/00006.png b/tests/snapshots/nanos/test_transaction_manifest/NFT.01-Mainnet/00006.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/TS.02-Mainnet/00006.png rename to tests/snapshots/nanos/test_transaction_manifest/NFT.01-Mainnet/00006.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/TS.02-Mainnet/00007.png b/tests/snapshots/nanos/test_transaction_manifest/NFT.01-Mainnet/00007.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/TS.02-Mainnet/00007.png rename to tests/snapshots/nanos/test_transaction_manifest/NFT.01-Mainnet/00007.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/TS.02-Mainnet/00008.png b/tests/snapshots/nanos/test_transaction_manifest/NFT.01-Mainnet/00008.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/TS.02-Mainnet/00008.png rename to tests/snapshots/nanos/test_transaction_manifest/NFT.01-Mainnet/00008.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/TS.02-Mainnet/00009.png b/tests/snapshots/nanos/test_transaction_manifest/NFT.01-Mainnet/00009.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/TS.02-Mainnet/00009.png rename to tests/snapshots/nanos/test_transaction_manifest/NFT.01-Mainnet/00009.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/TS.02-Mainnet/00010.png b/tests/snapshots/nanos/test_transaction_manifest/NFT.01-Mainnet/00010.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/TS.02-Mainnet/00010.png rename to tests/snapshots/nanos/test_transaction_manifest/NFT.01-Mainnet/00010.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/TS.02-Mainnet/00011.png b/tests/snapshots/nanos/test_transaction_manifest/NFT.01-Mainnet/00011.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/TS.02-Mainnet/00011.png rename to tests/snapshots/nanos/test_transaction_manifest/NFT.01-Mainnet/00011.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/TS.02-Mainnet/00012.png b/tests/snapshots/nanos/test_transaction_manifest/NFT.01-Mainnet/00012.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/TS.02-Mainnet/00012.png rename to tests/snapshots/nanos/test_transaction_manifest/NFT.01-Mainnet/00012.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/TS.02-Mainnet/00013.png b/tests/snapshots/nanos/test_transaction_manifest/NFT.01-Mainnet/00013.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/TS.02-Mainnet/00013.png rename to tests/snapshots/nanos/test_transaction_manifest/NFT.01-Mainnet/00013.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/TS.02-Mainnet/00014.png b/tests/snapshots/nanos/test_transaction_manifest/NFT.01-Mainnet/00014.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/TS.02-Mainnet/00014.png rename to tests/snapshots/nanos/test_transaction_manifest/NFT.01-Mainnet/00014.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/NFT.01-Testnet/00000.png b/tests/snapshots/nanos/test_transaction_manifest/NFT.01-Testnet/00000.png new file mode 100644 index 00000000..cf4a9ea2 Binary files /dev/null and b/tests/snapshots/nanos/test_transaction_manifest/NFT.01-Testnet/00000.png differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.08-Testnet/00001.png b/tests/snapshots/nanos/test_transaction_manifest/NFT.01-Testnet/00001.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/TH.08-Testnet/00001.png rename to tests/snapshots/nanos/test_transaction_manifest/NFT.01-Testnet/00001.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/NFT.01-Testnet/00002.png b/tests/snapshots/nanos/test_transaction_manifest/NFT.01-Testnet/00002.png new file mode 100644 index 00000000..cf42400d Binary files /dev/null and b/tests/snapshots/nanos/test_transaction_manifest/NFT.01-Testnet/00002.png differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/NFT.01-Testnet/00003.png b/tests/snapshots/nanos/test_transaction_manifest/NFT.01-Testnet/00003.png new file mode 100644 index 00000000..1f8c322f Binary files /dev/null and b/tests/snapshots/nanos/test_transaction_manifest/NFT.01-Testnet/00003.png differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TS.02-Testnet/00004.png b/tests/snapshots/nanos/test_transaction_manifest/NFT.01-Testnet/00004.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/TS.02-Testnet/00004.png rename to tests/snapshots/nanos/test_transaction_manifest/NFT.01-Testnet/00004.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/TS.02-Testnet/00005.png b/tests/snapshots/nanos/test_transaction_manifest/NFT.01-Testnet/00005.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/TS.02-Testnet/00005.png rename to tests/snapshots/nanos/test_transaction_manifest/NFT.01-Testnet/00005.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/TS.02-Testnet/00006.png b/tests/snapshots/nanos/test_transaction_manifest/NFT.01-Testnet/00006.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/TS.02-Testnet/00006.png rename to tests/snapshots/nanos/test_transaction_manifest/NFT.01-Testnet/00006.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/TS.02-Testnet/00007.png b/tests/snapshots/nanos/test_transaction_manifest/NFT.01-Testnet/00007.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/TS.02-Testnet/00007.png rename to tests/snapshots/nanos/test_transaction_manifest/NFT.01-Testnet/00007.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/TS.02-Testnet/00008.png b/tests/snapshots/nanos/test_transaction_manifest/NFT.01-Testnet/00008.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/TS.02-Testnet/00008.png rename to tests/snapshots/nanos/test_transaction_manifest/NFT.01-Testnet/00008.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/TS.02-Testnet/00009.png b/tests/snapshots/nanos/test_transaction_manifest/NFT.01-Testnet/00009.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/TS.02-Testnet/00009.png rename to tests/snapshots/nanos/test_transaction_manifest/NFT.01-Testnet/00009.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/TS.02-Testnet/00010.png b/tests/snapshots/nanos/test_transaction_manifest/NFT.01-Testnet/00010.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/TS.02-Testnet/00010.png rename to tests/snapshots/nanos/test_transaction_manifest/NFT.01-Testnet/00010.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/TS.02-Testnet/00011.png b/tests/snapshots/nanos/test_transaction_manifest/NFT.01-Testnet/00011.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/TS.02-Testnet/00011.png rename to tests/snapshots/nanos/test_transaction_manifest/NFT.01-Testnet/00011.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/TS.02-Testnet/00012.png b/tests/snapshots/nanos/test_transaction_manifest/NFT.01-Testnet/00012.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/TS.02-Testnet/00012.png rename to tests/snapshots/nanos/test_transaction_manifest/NFT.01-Testnet/00012.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/TS.02-Testnet/00013.png b/tests/snapshots/nanos/test_transaction_manifest/NFT.01-Testnet/00013.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/TS.02-Testnet/00013.png rename to tests/snapshots/nanos/test_transaction_manifest/NFT.01-Testnet/00013.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/TS.02-Testnet/00014.png b/tests/snapshots/nanos/test_transaction_manifest/NFT.01-Testnet/00014.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/TS.02-Testnet/00014.png rename to tests/snapshots/nanos/test_transaction_manifest/NFT.01-Testnet/00014.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/NFT.02-Mainnet/00000.png b/tests/snapshots/nanos/test_transaction_manifest/NFT.02-Mainnet/00000.png new file mode 100644 index 00000000..fb6fff2d Binary files /dev/null and b/tests/snapshots/nanos/test_transaction_manifest/NFT.02-Mainnet/00000.png differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.09-Mainnet/00001.png b/tests/snapshots/nanos/test_transaction_manifest/NFT.02-Mainnet/00001.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/TH.09-Mainnet/00001.png rename to tests/snapshots/nanos/test_transaction_manifest/NFT.02-Mainnet/00001.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/TS.02-Mainnet/00002.png b/tests/snapshots/nanos/test_transaction_manifest/NFT.02-Mainnet/00002.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/TS.02-Mainnet/00002.png rename to tests/snapshots/nanos/test_transaction_manifest/NFT.02-Mainnet/00002.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/NFT.02-Mainnet/00003.png b/tests/snapshots/nanos/test_transaction_manifest/NFT.02-Mainnet/00003.png new file mode 100644 index 00000000..c674fcba Binary files /dev/null and b/tests/snapshots/nanos/test_transaction_manifest/NFT.02-Mainnet/00003.png differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/NFT.02-Mainnet/00004.png b/tests/snapshots/nanos/test_transaction_manifest/NFT.02-Mainnet/00004.png new file mode 100644 index 00000000..ef50b47b Binary files /dev/null and b/tests/snapshots/nanos/test_transaction_manifest/NFT.02-Mainnet/00004.png differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/NFT.02-Mainnet/00005.png b/tests/snapshots/nanos/test_transaction_manifest/NFT.02-Mainnet/00005.png new file mode 100644 index 00000000..4495d327 Binary files /dev/null and b/tests/snapshots/nanos/test_transaction_manifest/NFT.02-Mainnet/00005.png differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/SCO.04-3-Mainnet/00019.png b/tests/snapshots/nanos/test_transaction_manifest/NFT.02-Mainnet/00006.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/SCO.04-3-Mainnet/00019.png rename to tests/snapshots/nanos/test_transaction_manifest/NFT.02-Mainnet/00006.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/SCO.04-3-Mainnet/00020.png b/tests/snapshots/nanos/test_transaction_manifest/NFT.02-Mainnet/00007.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/SCO.04-3-Mainnet/00020.png rename to tests/snapshots/nanos/test_transaction_manifest/NFT.02-Mainnet/00007.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/SCO.04-3-Mainnet/00021.png b/tests/snapshots/nanos/test_transaction_manifest/NFT.02-Mainnet/00008.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/SCO.04-3-Mainnet/00021.png rename to tests/snapshots/nanos/test_transaction_manifest/NFT.02-Mainnet/00008.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/SCO.04-3-Mainnet/00022.png b/tests/snapshots/nanos/test_transaction_manifest/NFT.02-Mainnet/00009.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/SCO.04-3-Mainnet/00022.png rename to tests/snapshots/nanos/test_transaction_manifest/NFT.02-Mainnet/00009.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/SCO.04-3-Mainnet/00023.png b/tests/snapshots/nanos/test_transaction_manifest/NFT.02-Mainnet/00010.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/SCO.04-3-Mainnet/00023.png rename to tests/snapshots/nanos/test_transaction_manifest/NFT.02-Mainnet/00010.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/SCO.04-3-Mainnet/00024.png b/tests/snapshots/nanos/test_transaction_manifest/NFT.02-Mainnet/00011.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/SCO.04-3-Mainnet/00024.png rename to tests/snapshots/nanos/test_transaction_manifest/NFT.02-Mainnet/00011.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/SCO.04-3-Mainnet/00025.png b/tests/snapshots/nanos/test_transaction_manifest/NFT.02-Mainnet/00012.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/SCO.04-3-Mainnet/00025.png rename to tests/snapshots/nanos/test_transaction_manifest/NFT.02-Mainnet/00012.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/SCO.04-3-Mainnet/00026.png b/tests/snapshots/nanos/test_transaction_manifest/NFT.02-Mainnet/00013.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/SCO.04-3-Mainnet/00026.png rename to tests/snapshots/nanos/test_transaction_manifest/NFT.02-Mainnet/00013.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/SCO.04-3-Mainnet/00027.png b/tests/snapshots/nanos/test_transaction_manifest/NFT.02-Mainnet/00014.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/SCO.04-3-Mainnet/00027.png rename to tests/snapshots/nanos/test_transaction_manifest/NFT.02-Mainnet/00014.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/SCO.04-3-Mainnet/00028.png b/tests/snapshots/nanos/test_transaction_manifest/NFT.02-Mainnet/00015.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/SCO.04-3-Mainnet/00028.png rename to tests/snapshots/nanos/test_transaction_manifest/NFT.02-Mainnet/00015.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/SCO.04-3-Mainnet/00029.png b/tests/snapshots/nanos/test_transaction_manifest/NFT.02-Mainnet/00016.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/SCO.04-3-Mainnet/00029.png rename to tests/snapshots/nanos/test_transaction_manifest/NFT.02-Mainnet/00016.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/NFT.02-Testnet/00000.png b/tests/snapshots/nanos/test_transaction_manifest/NFT.02-Testnet/00000.png new file mode 100644 index 00000000..fb6fff2d Binary files /dev/null and b/tests/snapshots/nanos/test_transaction_manifest/NFT.02-Testnet/00000.png differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.09-Testnet/00001.png b/tests/snapshots/nanos/test_transaction_manifest/NFT.02-Testnet/00001.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/TH.09-Testnet/00001.png rename to tests/snapshots/nanos/test_transaction_manifest/NFT.02-Testnet/00001.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/NFT.02-Testnet/00002.png b/tests/snapshots/nanos/test_transaction_manifest/NFT.02-Testnet/00002.png new file mode 100644 index 00000000..6ae7f856 Binary files /dev/null and b/tests/snapshots/nanos/test_transaction_manifest/NFT.02-Testnet/00002.png differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/NFT.02-Testnet/00003.png b/tests/snapshots/nanos/test_transaction_manifest/NFT.02-Testnet/00003.png new file mode 100644 index 00000000..c674fcba Binary files /dev/null and b/tests/snapshots/nanos/test_transaction_manifest/NFT.02-Testnet/00003.png differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/NFT.02-Testnet/00004.png b/tests/snapshots/nanos/test_transaction_manifest/NFT.02-Testnet/00004.png new file mode 100644 index 00000000..ef50b47b Binary files /dev/null and b/tests/snapshots/nanos/test_transaction_manifest/NFT.02-Testnet/00004.png differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/NFT.02-Testnet/00005.png b/tests/snapshots/nanos/test_transaction_manifest/NFT.02-Testnet/00005.png new file mode 100644 index 00000000..4495d327 Binary files /dev/null and b/tests/snapshots/nanos/test_transaction_manifest/NFT.02-Testnet/00005.png differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/SCO.04-3-Testnet/00019.png b/tests/snapshots/nanos/test_transaction_manifest/NFT.02-Testnet/00006.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/SCO.04-3-Testnet/00019.png rename to tests/snapshots/nanos/test_transaction_manifest/NFT.02-Testnet/00006.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/SCO.04-3-Testnet/00020.png b/tests/snapshots/nanos/test_transaction_manifest/NFT.02-Testnet/00007.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/SCO.04-3-Testnet/00020.png rename to tests/snapshots/nanos/test_transaction_manifest/NFT.02-Testnet/00007.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/SCO.04-3-Testnet/00021.png b/tests/snapshots/nanos/test_transaction_manifest/NFT.02-Testnet/00008.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/SCO.04-3-Testnet/00021.png rename to tests/snapshots/nanos/test_transaction_manifest/NFT.02-Testnet/00008.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/SCO.04-3-Testnet/00022.png b/tests/snapshots/nanos/test_transaction_manifest/NFT.02-Testnet/00009.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/SCO.04-3-Testnet/00022.png rename to tests/snapshots/nanos/test_transaction_manifest/NFT.02-Testnet/00009.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/SCO.04-3-Testnet/00023.png b/tests/snapshots/nanos/test_transaction_manifest/NFT.02-Testnet/00010.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/SCO.04-3-Testnet/00023.png rename to tests/snapshots/nanos/test_transaction_manifest/NFT.02-Testnet/00010.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/SCO.04-3-Testnet/00024.png b/tests/snapshots/nanos/test_transaction_manifest/NFT.02-Testnet/00011.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/SCO.04-3-Testnet/00024.png rename to tests/snapshots/nanos/test_transaction_manifest/NFT.02-Testnet/00011.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/SCO.04-3-Testnet/00025.png b/tests/snapshots/nanos/test_transaction_manifest/NFT.02-Testnet/00012.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/SCO.04-3-Testnet/00025.png rename to tests/snapshots/nanos/test_transaction_manifest/NFT.02-Testnet/00012.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/SCO.04-3-Testnet/00026.png b/tests/snapshots/nanos/test_transaction_manifest/NFT.02-Testnet/00013.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/SCO.04-3-Testnet/00026.png rename to tests/snapshots/nanos/test_transaction_manifest/NFT.02-Testnet/00013.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/SCO.04-3-Testnet/00027.png b/tests/snapshots/nanos/test_transaction_manifest/NFT.02-Testnet/00014.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/SCO.04-3-Testnet/00027.png rename to tests/snapshots/nanos/test_transaction_manifest/NFT.02-Testnet/00014.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/SCO.04-3-Testnet/00028.png b/tests/snapshots/nanos/test_transaction_manifest/NFT.02-Testnet/00015.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/SCO.04-3-Testnet/00028.png rename to tests/snapshots/nanos/test_transaction_manifest/NFT.02-Testnet/00015.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/SCO.04-3-Testnet/00029.png b/tests/snapshots/nanos/test_transaction_manifest/NFT.02-Testnet/00016.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/SCO.04-3-Testnet/00029.png rename to tests/snapshots/nanos/test_transaction_manifest/NFT.02-Testnet/00016.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/NFT.03-Mainnet/00000.png b/tests/snapshots/nanos/test_transaction_manifest/NFT.03-Mainnet/00000.png new file mode 100644 index 00000000..eeebe87e Binary files /dev/null and b/tests/snapshots/nanos/test_transaction_manifest/NFT.03-Mainnet/00000.png differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.10-Mainnet/00001.png b/tests/snapshots/nanos/test_transaction_manifest/NFT.03-Mainnet/00001.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/TH.10-Mainnet/00001.png rename to tests/snapshots/nanos/test_transaction_manifest/NFT.03-Mainnet/00001.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/USDC.02-Mainnet/00003.png b/tests/snapshots/nanos/test_transaction_manifest/NFT.03-Mainnet/00002.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/USDC.02-Mainnet/00003.png rename to tests/snapshots/nanos/test_transaction_manifest/NFT.03-Mainnet/00002.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/NFT.03-Mainnet/00003.png b/tests/snapshots/nanos/test_transaction_manifest/NFT.03-Mainnet/00003.png new file mode 100644 index 00000000..c674fcba Binary files /dev/null and b/tests/snapshots/nanos/test_transaction_manifest/NFT.03-Mainnet/00003.png differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/NFT.03-Mainnet/00004.png b/tests/snapshots/nanos/test_transaction_manifest/NFT.03-Mainnet/00004.png new file mode 100644 index 00000000..d9b0b8ae Binary files /dev/null and b/tests/snapshots/nanos/test_transaction_manifest/NFT.03-Mainnet/00004.png differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/NFT.03-Mainnet/00005.png b/tests/snapshots/nanos/test_transaction_manifest/NFT.03-Mainnet/00005.png new file mode 100644 index 00000000..1f8c322f Binary files /dev/null and b/tests/snapshots/nanos/test_transaction_manifest/NFT.03-Mainnet/00005.png differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.06-Mainnet/00017.png b/tests/snapshots/nanos/test_transaction_manifest/NFT.03-Mainnet/00006.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/TH.06-Mainnet/00017.png rename to tests/snapshots/nanos/test_transaction_manifest/NFT.03-Mainnet/00006.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.06-Mainnet/00018.png b/tests/snapshots/nanos/test_transaction_manifest/NFT.03-Mainnet/00007.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/TH.06-Mainnet/00018.png rename to tests/snapshots/nanos/test_transaction_manifest/NFT.03-Mainnet/00007.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.06-Mainnet/00019.png b/tests/snapshots/nanos/test_transaction_manifest/NFT.03-Mainnet/00008.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/TH.06-Mainnet/00019.png rename to tests/snapshots/nanos/test_transaction_manifest/NFT.03-Mainnet/00008.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.06-Mainnet/00020.png b/tests/snapshots/nanos/test_transaction_manifest/NFT.03-Mainnet/00009.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/TH.06-Mainnet/00020.png rename to tests/snapshots/nanos/test_transaction_manifest/NFT.03-Mainnet/00009.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.06-Mainnet/00021.png b/tests/snapshots/nanos/test_transaction_manifest/NFT.03-Mainnet/00010.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/TH.06-Mainnet/00021.png rename to tests/snapshots/nanos/test_transaction_manifest/NFT.03-Mainnet/00010.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.06-Mainnet/00022.png b/tests/snapshots/nanos/test_transaction_manifest/NFT.03-Mainnet/00011.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/TH.06-Mainnet/00022.png rename to tests/snapshots/nanos/test_transaction_manifest/NFT.03-Mainnet/00011.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.06-Mainnet/00023.png b/tests/snapshots/nanos/test_transaction_manifest/NFT.03-Mainnet/00012.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/TH.06-Mainnet/00023.png rename to tests/snapshots/nanos/test_transaction_manifest/NFT.03-Mainnet/00012.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.06-Mainnet/00024.png b/tests/snapshots/nanos/test_transaction_manifest/NFT.03-Mainnet/00013.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/TH.06-Mainnet/00024.png rename to tests/snapshots/nanos/test_transaction_manifest/NFT.03-Mainnet/00013.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.06-Mainnet/00025.png b/tests/snapshots/nanos/test_transaction_manifest/NFT.03-Mainnet/00014.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/TH.06-Mainnet/00025.png rename to tests/snapshots/nanos/test_transaction_manifest/NFT.03-Mainnet/00014.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.06-Mainnet/00026.png b/tests/snapshots/nanos/test_transaction_manifest/NFT.03-Mainnet/00015.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/TH.06-Mainnet/00026.png rename to tests/snapshots/nanos/test_transaction_manifest/NFT.03-Mainnet/00015.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.06-Mainnet/00027.png b/tests/snapshots/nanos/test_transaction_manifest/NFT.03-Mainnet/00016.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/TH.06-Mainnet/00027.png rename to tests/snapshots/nanos/test_transaction_manifest/NFT.03-Mainnet/00016.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/NFT.03-Testnet/00000.png b/tests/snapshots/nanos/test_transaction_manifest/NFT.03-Testnet/00000.png new file mode 100644 index 00000000..eeebe87e Binary files /dev/null and b/tests/snapshots/nanos/test_transaction_manifest/NFT.03-Testnet/00000.png differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.10-Testnet/00001.png b/tests/snapshots/nanos/test_transaction_manifest/NFT.03-Testnet/00001.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/TH.10-Testnet/00001.png rename to tests/snapshots/nanos/test_transaction_manifest/NFT.03-Testnet/00001.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/NFT.03-Testnet/00002.png b/tests/snapshots/nanos/test_transaction_manifest/NFT.03-Testnet/00002.png new file mode 100644 index 00000000..6ae7f856 Binary files /dev/null and b/tests/snapshots/nanos/test_transaction_manifest/NFT.03-Testnet/00002.png differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/NFT.03-Testnet/00003.png b/tests/snapshots/nanos/test_transaction_manifest/NFT.03-Testnet/00003.png new file mode 100644 index 00000000..c674fcba Binary files /dev/null and b/tests/snapshots/nanos/test_transaction_manifest/NFT.03-Testnet/00003.png differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/NFT.03-Testnet/00004.png b/tests/snapshots/nanos/test_transaction_manifest/NFT.03-Testnet/00004.png new file mode 100644 index 00000000..cf42400d Binary files /dev/null and b/tests/snapshots/nanos/test_transaction_manifest/NFT.03-Testnet/00004.png differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/NFT.03-Testnet/00005.png b/tests/snapshots/nanos/test_transaction_manifest/NFT.03-Testnet/00005.png new file mode 100644 index 00000000..1f8c322f Binary files /dev/null and b/tests/snapshots/nanos/test_transaction_manifest/NFT.03-Testnet/00005.png differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.06-Testnet/00017.png b/tests/snapshots/nanos/test_transaction_manifest/NFT.03-Testnet/00006.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/TH.06-Testnet/00017.png rename to tests/snapshots/nanos/test_transaction_manifest/NFT.03-Testnet/00006.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.06-Testnet/00018.png b/tests/snapshots/nanos/test_transaction_manifest/NFT.03-Testnet/00007.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/TH.06-Testnet/00018.png rename to tests/snapshots/nanos/test_transaction_manifest/NFT.03-Testnet/00007.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.06-Testnet/00019.png b/tests/snapshots/nanos/test_transaction_manifest/NFT.03-Testnet/00008.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/TH.06-Testnet/00019.png rename to tests/snapshots/nanos/test_transaction_manifest/NFT.03-Testnet/00008.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.06-Testnet/00020.png b/tests/snapshots/nanos/test_transaction_manifest/NFT.03-Testnet/00009.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/TH.06-Testnet/00020.png rename to tests/snapshots/nanos/test_transaction_manifest/NFT.03-Testnet/00009.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.06-Testnet/00021.png b/tests/snapshots/nanos/test_transaction_manifest/NFT.03-Testnet/00010.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/TH.06-Testnet/00021.png rename to tests/snapshots/nanos/test_transaction_manifest/NFT.03-Testnet/00010.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.06-Testnet/00022.png b/tests/snapshots/nanos/test_transaction_manifest/NFT.03-Testnet/00011.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/TH.06-Testnet/00022.png rename to tests/snapshots/nanos/test_transaction_manifest/NFT.03-Testnet/00011.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.06-Testnet/00023.png b/tests/snapshots/nanos/test_transaction_manifest/NFT.03-Testnet/00012.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/TH.06-Testnet/00023.png rename to tests/snapshots/nanos/test_transaction_manifest/NFT.03-Testnet/00012.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.06-Testnet/00024.png b/tests/snapshots/nanos/test_transaction_manifest/NFT.03-Testnet/00013.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/TH.06-Testnet/00024.png rename to tests/snapshots/nanos/test_transaction_manifest/NFT.03-Testnet/00013.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.06-Testnet/00025.png b/tests/snapshots/nanos/test_transaction_manifest/NFT.03-Testnet/00014.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/TH.06-Testnet/00025.png rename to tests/snapshots/nanos/test_transaction_manifest/NFT.03-Testnet/00014.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.06-Testnet/00026.png b/tests/snapshots/nanos/test_transaction_manifest/NFT.03-Testnet/00015.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/TH.06-Testnet/00026.png rename to tests/snapshots/nanos/test_transaction_manifest/NFT.03-Testnet/00015.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.06-Testnet/00027.png b/tests/snapshots/nanos/test_transaction_manifest/NFT.03-Testnet/00016.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/TH.06-Testnet/00027.png rename to tests/snapshots/nanos/test_transaction_manifest/NFT.03-Testnet/00016.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.06-Mainnet/00000.png b/tests/snapshots/nanos/test_transaction_manifest/SCO.03-Mainnet/00000.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/TH.06-Mainnet/00000.png rename to tests/snapshots/nanos/test_transaction_manifest/SCO.03-Mainnet/00000.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.11-Mainnet/00001.png b/tests/snapshots/nanos/test_transaction_manifest/SCO.03-Mainnet/00001.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/TH.11-Mainnet/00001.png rename to tests/snapshots/nanos/test_transaction_manifest/SCO.03-Mainnet/00001.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/SCO.04-1-Mainnet/00002.png b/tests/snapshots/nanos/test_transaction_manifest/SCO.03-Mainnet/00002.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/SCO.04-1-Mainnet/00002.png rename to tests/snapshots/nanos/test_transaction_manifest/SCO.03-Mainnet/00002.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/SCO.04-1-Mainnet/00003.png b/tests/snapshots/nanos/test_transaction_manifest/SCO.03-Mainnet/00003.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/SCO.04-1-Mainnet/00003.png rename to tests/snapshots/nanos/test_transaction_manifest/SCO.03-Mainnet/00003.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.06-Mainnet/00004.png b/tests/snapshots/nanos/test_transaction_manifest/SCO.03-Mainnet/00004.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/TH.06-Mainnet/00004.png rename to tests/snapshots/nanos/test_transaction_manifest/SCO.03-Mainnet/00004.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.06-Mainnet/00005.png b/tests/snapshots/nanos/test_transaction_manifest/SCO.03-Mainnet/00005.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/TH.06-Mainnet/00005.png rename to tests/snapshots/nanos/test_transaction_manifest/SCO.03-Mainnet/00005.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.06-Mainnet/00006.png b/tests/snapshots/nanos/test_transaction_manifest/SCO.03-Mainnet/00006.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/TH.06-Mainnet/00006.png rename to tests/snapshots/nanos/test_transaction_manifest/SCO.03-Mainnet/00006.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.06-Mainnet/00007.png b/tests/snapshots/nanos/test_transaction_manifest/SCO.03-Mainnet/00007.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/TH.06-Mainnet/00007.png rename to tests/snapshots/nanos/test_transaction_manifest/SCO.03-Mainnet/00007.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.06-Mainnet/00008.png b/tests/snapshots/nanos/test_transaction_manifest/SCO.03-Mainnet/00008.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/TH.06-Mainnet/00008.png rename to tests/snapshots/nanos/test_transaction_manifest/SCO.03-Mainnet/00008.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.06-Mainnet/00009.png b/tests/snapshots/nanos/test_transaction_manifest/SCO.03-Mainnet/00009.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/TH.06-Mainnet/00009.png rename to tests/snapshots/nanos/test_transaction_manifest/SCO.03-Mainnet/00009.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.06-Mainnet/00010.png b/tests/snapshots/nanos/test_transaction_manifest/SCO.03-Mainnet/00010.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/TH.06-Mainnet/00010.png rename to tests/snapshots/nanos/test_transaction_manifest/SCO.03-Mainnet/00010.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.06-Mainnet/00011.png b/tests/snapshots/nanos/test_transaction_manifest/SCO.03-Mainnet/00011.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/TH.06-Mainnet/00011.png rename to tests/snapshots/nanos/test_transaction_manifest/SCO.03-Mainnet/00011.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.06-Mainnet/00012.png b/tests/snapshots/nanos/test_transaction_manifest/SCO.03-Mainnet/00012.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/TH.06-Mainnet/00012.png rename to tests/snapshots/nanos/test_transaction_manifest/SCO.03-Mainnet/00012.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.06-Mainnet/00013.png b/tests/snapshots/nanos/test_transaction_manifest/SCO.03-Mainnet/00013.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/TH.06-Mainnet/00013.png rename to tests/snapshots/nanos/test_transaction_manifest/SCO.03-Mainnet/00013.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.06-Mainnet/00014.png b/tests/snapshots/nanos/test_transaction_manifest/SCO.03-Mainnet/00014.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/TH.06-Mainnet/00014.png rename to tests/snapshots/nanos/test_transaction_manifest/SCO.03-Mainnet/00014.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.06-Mainnet/00015.png b/tests/snapshots/nanos/test_transaction_manifest/SCO.03-Mainnet/00015.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/TH.06-Mainnet/00015.png rename to tests/snapshots/nanos/test_transaction_manifest/SCO.03-Mainnet/00015.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.06-Mainnet/00016.png b/tests/snapshots/nanos/test_transaction_manifest/SCO.03-Mainnet/00016.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/TH.06-Mainnet/00016.png rename to tests/snapshots/nanos/test_transaction_manifest/SCO.03-Mainnet/00016.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/SCO.03-Mainnet/00017.png b/tests/snapshots/nanos/test_transaction_manifest/SCO.03-Mainnet/00017.png new file mode 100644 index 00000000..ee01ee46 Binary files /dev/null and b/tests/snapshots/nanos/test_transaction_manifest/SCO.03-Mainnet/00017.png differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/SCO.03-Mainnet/00018.png b/tests/snapshots/nanos/test_transaction_manifest/SCO.03-Mainnet/00018.png new file mode 100644 index 00000000..32c3696e Binary files /dev/null and b/tests/snapshots/nanos/test_transaction_manifest/SCO.03-Mainnet/00018.png differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/SCO.03-Mainnet/00019.png b/tests/snapshots/nanos/test_transaction_manifest/SCO.03-Mainnet/00019.png new file mode 100644 index 00000000..60cf1327 Binary files /dev/null and b/tests/snapshots/nanos/test_transaction_manifest/SCO.03-Mainnet/00019.png differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/SCO.03-Mainnet/00020.png b/tests/snapshots/nanos/test_transaction_manifest/SCO.03-Mainnet/00020.png new file mode 100644 index 00000000..56f5fc02 Binary files /dev/null and b/tests/snapshots/nanos/test_transaction_manifest/SCO.03-Mainnet/00020.png differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/SCO.03-Mainnet/00021.png b/tests/snapshots/nanos/test_transaction_manifest/SCO.03-Mainnet/00021.png new file mode 100644 index 00000000..0acf5d55 Binary files /dev/null and b/tests/snapshots/nanos/test_transaction_manifest/SCO.03-Mainnet/00021.png differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/SCO.03-Mainnet/00022.png b/tests/snapshots/nanos/test_transaction_manifest/SCO.03-Mainnet/00022.png new file mode 100644 index 00000000..3e04ea56 Binary files /dev/null and b/tests/snapshots/nanos/test_transaction_manifest/SCO.03-Mainnet/00022.png differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/SCO.03-Mainnet/00023.png b/tests/snapshots/nanos/test_transaction_manifest/SCO.03-Mainnet/00023.png new file mode 100644 index 00000000..5f607f71 Binary files /dev/null and b/tests/snapshots/nanos/test_transaction_manifest/SCO.03-Mainnet/00023.png differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.09-Mainnet/00003.png b/tests/snapshots/nanos/test_transaction_manifest/SCO.03-Mainnet/00024.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/TH.09-Mainnet/00003.png rename to tests/snapshots/nanos/test_transaction_manifest/SCO.03-Mainnet/00024.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.09-Mainnet/00004.png b/tests/snapshots/nanos/test_transaction_manifest/SCO.03-Mainnet/00025.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/TH.09-Mainnet/00004.png rename to tests/snapshots/nanos/test_transaction_manifest/SCO.03-Mainnet/00025.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.09-Mainnet/00005.png b/tests/snapshots/nanos/test_transaction_manifest/SCO.03-Mainnet/00026.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/TH.09-Mainnet/00005.png rename to tests/snapshots/nanos/test_transaction_manifest/SCO.03-Mainnet/00026.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.09-Mainnet/00006.png b/tests/snapshots/nanos/test_transaction_manifest/SCO.03-Mainnet/00027.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/TH.09-Mainnet/00006.png rename to tests/snapshots/nanos/test_transaction_manifest/SCO.03-Mainnet/00027.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.09-Mainnet/00007.png b/tests/snapshots/nanos/test_transaction_manifest/SCO.03-Mainnet/00028.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/TH.09-Mainnet/00007.png rename to tests/snapshots/nanos/test_transaction_manifest/SCO.03-Mainnet/00028.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.09-Mainnet/00008.png b/tests/snapshots/nanos/test_transaction_manifest/SCO.03-Mainnet/00029.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/TH.09-Mainnet/00008.png rename to tests/snapshots/nanos/test_transaction_manifest/SCO.03-Mainnet/00029.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.09-Mainnet/00009.png b/tests/snapshots/nanos/test_transaction_manifest/SCO.03-Mainnet/00030.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/TH.09-Mainnet/00009.png rename to tests/snapshots/nanos/test_transaction_manifest/SCO.03-Mainnet/00030.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.09-Mainnet/00010.png b/tests/snapshots/nanos/test_transaction_manifest/SCO.03-Mainnet/00031.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/TH.09-Mainnet/00010.png rename to tests/snapshots/nanos/test_transaction_manifest/SCO.03-Mainnet/00031.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.09-Mainnet/00011.png b/tests/snapshots/nanos/test_transaction_manifest/SCO.03-Mainnet/00032.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/TH.09-Mainnet/00011.png rename to tests/snapshots/nanos/test_transaction_manifest/SCO.03-Mainnet/00032.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.09-Mainnet/00012.png b/tests/snapshots/nanos/test_transaction_manifest/SCO.03-Mainnet/00033.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/TH.09-Mainnet/00012.png rename to tests/snapshots/nanos/test_transaction_manifest/SCO.03-Mainnet/00033.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.09-Mainnet/00013.png b/tests/snapshots/nanos/test_transaction_manifest/SCO.03-Mainnet/00034.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/TH.09-Mainnet/00013.png rename to tests/snapshots/nanos/test_transaction_manifest/SCO.03-Mainnet/00034.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.06-Testnet/00000.png b/tests/snapshots/nanos/test_transaction_manifest/SCO.03-Testnet/00000.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/TH.06-Testnet/00000.png rename to tests/snapshots/nanos/test_transaction_manifest/SCO.03-Testnet/00000.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.11-Testnet/00001.png b/tests/snapshots/nanos/test_transaction_manifest/SCO.03-Testnet/00001.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/TH.11-Testnet/00001.png rename to tests/snapshots/nanos/test_transaction_manifest/SCO.03-Testnet/00001.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/SCO.04-1-Testnet/00002.png b/tests/snapshots/nanos/test_transaction_manifest/SCO.03-Testnet/00002.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/SCO.04-1-Testnet/00002.png rename to tests/snapshots/nanos/test_transaction_manifest/SCO.03-Testnet/00002.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/SCO.04-1-Testnet/00003.png b/tests/snapshots/nanos/test_transaction_manifest/SCO.03-Testnet/00003.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/SCO.04-1-Testnet/00003.png rename to tests/snapshots/nanos/test_transaction_manifest/SCO.03-Testnet/00003.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.06-Testnet/00004.png b/tests/snapshots/nanos/test_transaction_manifest/SCO.03-Testnet/00004.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/TH.06-Testnet/00004.png rename to tests/snapshots/nanos/test_transaction_manifest/SCO.03-Testnet/00004.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.06-Testnet/00005.png b/tests/snapshots/nanos/test_transaction_manifest/SCO.03-Testnet/00005.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/TH.06-Testnet/00005.png rename to tests/snapshots/nanos/test_transaction_manifest/SCO.03-Testnet/00005.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.06-Testnet/00006.png b/tests/snapshots/nanos/test_transaction_manifest/SCO.03-Testnet/00006.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/TH.06-Testnet/00006.png rename to tests/snapshots/nanos/test_transaction_manifest/SCO.03-Testnet/00006.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.06-Testnet/00007.png b/tests/snapshots/nanos/test_transaction_manifest/SCO.03-Testnet/00007.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/TH.06-Testnet/00007.png rename to tests/snapshots/nanos/test_transaction_manifest/SCO.03-Testnet/00007.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.06-Testnet/00008.png b/tests/snapshots/nanos/test_transaction_manifest/SCO.03-Testnet/00008.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/TH.06-Testnet/00008.png rename to tests/snapshots/nanos/test_transaction_manifest/SCO.03-Testnet/00008.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.06-Testnet/00009.png b/tests/snapshots/nanos/test_transaction_manifest/SCO.03-Testnet/00009.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/TH.06-Testnet/00009.png rename to tests/snapshots/nanos/test_transaction_manifest/SCO.03-Testnet/00009.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.06-Testnet/00010.png b/tests/snapshots/nanos/test_transaction_manifest/SCO.03-Testnet/00010.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/TH.06-Testnet/00010.png rename to tests/snapshots/nanos/test_transaction_manifest/SCO.03-Testnet/00010.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.06-Testnet/00011.png b/tests/snapshots/nanos/test_transaction_manifest/SCO.03-Testnet/00011.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/TH.06-Testnet/00011.png rename to tests/snapshots/nanos/test_transaction_manifest/SCO.03-Testnet/00011.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.06-Testnet/00012.png b/tests/snapshots/nanos/test_transaction_manifest/SCO.03-Testnet/00012.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/TH.06-Testnet/00012.png rename to tests/snapshots/nanos/test_transaction_manifest/SCO.03-Testnet/00012.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.06-Testnet/00013.png b/tests/snapshots/nanos/test_transaction_manifest/SCO.03-Testnet/00013.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/TH.06-Testnet/00013.png rename to tests/snapshots/nanos/test_transaction_manifest/SCO.03-Testnet/00013.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.06-Testnet/00014.png b/tests/snapshots/nanos/test_transaction_manifest/SCO.03-Testnet/00014.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/TH.06-Testnet/00014.png rename to tests/snapshots/nanos/test_transaction_manifest/SCO.03-Testnet/00014.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.06-Testnet/00015.png b/tests/snapshots/nanos/test_transaction_manifest/SCO.03-Testnet/00015.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/TH.06-Testnet/00015.png rename to tests/snapshots/nanos/test_transaction_manifest/SCO.03-Testnet/00015.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.06-Testnet/00016.png b/tests/snapshots/nanos/test_transaction_manifest/SCO.03-Testnet/00016.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/TH.06-Testnet/00016.png rename to tests/snapshots/nanos/test_transaction_manifest/SCO.03-Testnet/00016.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/SCO.03-Testnet/00017.png b/tests/snapshots/nanos/test_transaction_manifest/SCO.03-Testnet/00017.png new file mode 100644 index 00000000..ee01ee46 Binary files /dev/null and b/tests/snapshots/nanos/test_transaction_manifest/SCO.03-Testnet/00017.png differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/SCO.03-Testnet/00018.png b/tests/snapshots/nanos/test_transaction_manifest/SCO.03-Testnet/00018.png new file mode 100644 index 00000000..32c3696e Binary files /dev/null and b/tests/snapshots/nanos/test_transaction_manifest/SCO.03-Testnet/00018.png differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/SCO.03-Testnet/00019.png b/tests/snapshots/nanos/test_transaction_manifest/SCO.03-Testnet/00019.png new file mode 100644 index 00000000..60cf1327 Binary files /dev/null and b/tests/snapshots/nanos/test_transaction_manifest/SCO.03-Testnet/00019.png differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/SCO.03-Testnet/00020.png b/tests/snapshots/nanos/test_transaction_manifest/SCO.03-Testnet/00020.png new file mode 100644 index 00000000..56f5fc02 Binary files /dev/null and b/tests/snapshots/nanos/test_transaction_manifest/SCO.03-Testnet/00020.png differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/SCO.03-Testnet/00021.png b/tests/snapshots/nanos/test_transaction_manifest/SCO.03-Testnet/00021.png new file mode 100644 index 00000000..0acf5d55 Binary files /dev/null and b/tests/snapshots/nanos/test_transaction_manifest/SCO.03-Testnet/00021.png differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/SCO.03-Testnet/00022.png b/tests/snapshots/nanos/test_transaction_manifest/SCO.03-Testnet/00022.png new file mode 100644 index 00000000..3e04ea56 Binary files /dev/null and b/tests/snapshots/nanos/test_transaction_manifest/SCO.03-Testnet/00022.png differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/SCO.03-Testnet/00023.png b/tests/snapshots/nanos/test_transaction_manifest/SCO.03-Testnet/00023.png new file mode 100644 index 00000000..5f607f71 Binary files /dev/null and b/tests/snapshots/nanos/test_transaction_manifest/SCO.03-Testnet/00023.png differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.09-Testnet/00003.png b/tests/snapshots/nanos/test_transaction_manifest/SCO.03-Testnet/00024.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/TH.09-Testnet/00003.png rename to tests/snapshots/nanos/test_transaction_manifest/SCO.03-Testnet/00024.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.09-Testnet/00004.png b/tests/snapshots/nanos/test_transaction_manifest/SCO.03-Testnet/00025.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/TH.09-Testnet/00004.png rename to tests/snapshots/nanos/test_transaction_manifest/SCO.03-Testnet/00025.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.09-Testnet/00005.png b/tests/snapshots/nanos/test_transaction_manifest/SCO.03-Testnet/00026.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/TH.09-Testnet/00005.png rename to tests/snapshots/nanos/test_transaction_manifest/SCO.03-Testnet/00026.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.09-Testnet/00006.png b/tests/snapshots/nanos/test_transaction_manifest/SCO.03-Testnet/00027.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/TH.09-Testnet/00006.png rename to tests/snapshots/nanos/test_transaction_manifest/SCO.03-Testnet/00027.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.09-Testnet/00007.png b/tests/snapshots/nanos/test_transaction_manifest/SCO.03-Testnet/00028.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/TH.09-Testnet/00007.png rename to tests/snapshots/nanos/test_transaction_manifest/SCO.03-Testnet/00028.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.09-Testnet/00008.png b/tests/snapshots/nanos/test_transaction_manifest/SCO.03-Testnet/00029.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/TH.09-Testnet/00008.png rename to tests/snapshots/nanos/test_transaction_manifest/SCO.03-Testnet/00029.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.09-Testnet/00009.png b/tests/snapshots/nanos/test_transaction_manifest/SCO.03-Testnet/00030.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/TH.09-Testnet/00009.png rename to tests/snapshots/nanos/test_transaction_manifest/SCO.03-Testnet/00030.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.09-Testnet/00010.png b/tests/snapshots/nanos/test_transaction_manifest/SCO.03-Testnet/00031.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/TH.09-Testnet/00010.png rename to tests/snapshots/nanos/test_transaction_manifest/SCO.03-Testnet/00031.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.09-Testnet/00011.png b/tests/snapshots/nanos/test_transaction_manifest/SCO.03-Testnet/00032.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/TH.09-Testnet/00011.png rename to tests/snapshots/nanos/test_transaction_manifest/SCO.03-Testnet/00032.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.09-Testnet/00012.png b/tests/snapshots/nanos/test_transaction_manifest/SCO.03-Testnet/00033.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/TH.09-Testnet/00012.png rename to tests/snapshots/nanos/test_transaction_manifest/SCO.03-Testnet/00033.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.09-Testnet/00013.png b/tests/snapshots/nanos/test_transaction_manifest/SCO.03-Testnet/00034.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/TH.09-Testnet/00013.png rename to tests/snapshots/nanos/test_transaction_manifest/SCO.03-Testnet/00034.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/SCO.04-2-Mainnet/00000.png b/tests/snapshots/nanos/test_transaction_manifest/SCO.04-2-Mainnet/00000.png deleted file mode 100644 index 3cfd0dba..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/SCO.04-2-Mainnet/00000.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/SCO.04-2-Mainnet/00004.png b/tests/snapshots/nanos/test_transaction_manifest/SCO.04-2-Mainnet/00004.png deleted file mode 100644 index 12f1ce59..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/SCO.04-2-Mainnet/00004.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/SCO.04-2-Mainnet/00005.png b/tests/snapshots/nanos/test_transaction_manifest/SCO.04-2-Mainnet/00005.png deleted file mode 100644 index 798f9d17..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/SCO.04-2-Mainnet/00005.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/SCO.04-2-Mainnet/00006.png b/tests/snapshots/nanos/test_transaction_manifest/SCO.04-2-Mainnet/00006.png deleted file mode 100644 index f57787e6..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/SCO.04-2-Mainnet/00006.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/SCO.04-2-Mainnet/00007.png b/tests/snapshots/nanos/test_transaction_manifest/SCO.04-2-Mainnet/00007.png deleted file mode 100644 index 5ad37755..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/SCO.04-2-Mainnet/00007.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/SCO.04-2-Mainnet/00008.png b/tests/snapshots/nanos/test_transaction_manifest/SCO.04-2-Mainnet/00008.png deleted file mode 100644 index e70cb31f..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/SCO.04-2-Mainnet/00008.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/SCO.04-2-Testnet/00000.png b/tests/snapshots/nanos/test_transaction_manifest/SCO.04-2-Testnet/00000.png deleted file mode 100644 index 3cfd0dba..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/SCO.04-2-Testnet/00000.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/SCO.04-2-Testnet/00004.png b/tests/snapshots/nanos/test_transaction_manifest/SCO.04-2-Testnet/00004.png deleted file mode 100644 index 12f1ce59..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/SCO.04-2-Testnet/00004.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/SCO.04-2-Testnet/00005.png b/tests/snapshots/nanos/test_transaction_manifest/SCO.04-2-Testnet/00005.png deleted file mode 100644 index 798f9d17..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/SCO.04-2-Testnet/00005.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/SCO.04-2-Testnet/00006.png b/tests/snapshots/nanos/test_transaction_manifest/SCO.04-2-Testnet/00006.png deleted file mode 100644 index f57787e6..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/SCO.04-2-Testnet/00006.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/SCO.04-2-Testnet/00007.png b/tests/snapshots/nanos/test_transaction_manifest/SCO.04-2-Testnet/00007.png deleted file mode 100644 index 5ad37755..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/SCO.04-2-Testnet/00007.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/SCO.04-2-Testnet/00008.png b/tests/snapshots/nanos/test_transaction_manifest/SCO.04-2-Testnet/00008.png deleted file mode 100644 index e70cb31f..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/SCO.04-2-Testnet/00008.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/SCO.04-3-Mainnet/00000.png b/tests/snapshots/nanos/test_transaction_manifest/SCO.04-3-Mainnet/00000.png deleted file mode 100644 index 3cfd0dba..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/SCO.04-3-Mainnet/00000.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/SCO.04-3-Mainnet/00002.png b/tests/snapshots/nanos/test_transaction_manifest/SCO.04-3-Mainnet/00002.png deleted file mode 100644 index d9d217d6..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/SCO.04-3-Mainnet/00002.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/SCO.04-3-Mainnet/00003.png b/tests/snapshots/nanos/test_transaction_manifest/SCO.04-3-Mainnet/00003.png deleted file mode 100644 index dab7d1f7..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/SCO.04-3-Mainnet/00003.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/SCO.04-3-Mainnet/00004.png b/tests/snapshots/nanos/test_transaction_manifest/SCO.04-3-Mainnet/00004.png deleted file mode 100644 index 12f1ce59..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/SCO.04-3-Mainnet/00004.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/SCO.04-3-Mainnet/00005.png b/tests/snapshots/nanos/test_transaction_manifest/SCO.04-3-Mainnet/00005.png deleted file mode 100644 index 798f9d17..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/SCO.04-3-Mainnet/00005.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/SCO.04-3-Mainnet/00006.png b/tests/snapshots/nanos/test_transaction_manifest/SCO.04-3-Mainnet/00006.png deleted file mode 100644 index f57787e6..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/SCO.04-3-Mainnet/00006.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/SCO.04-3-Mainnet/00007.png b/tests/snapshots/nanos/test_transaction_manifest/SCO.04-3-Mainnet/00007.png deleted file mode 100644 index 5ad37755..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/SCO.04-3-Mainnet/00007.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/SCO.04-3-Mainnet/00008.png b/tests/snapshots/nanos/test_transaction_manifest/SCO.04-3-Mainnet/00008.png deleted file mode 100644 index e70cb31f..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/SCO.04-3-Mainnet/00008.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/SCO.04-3-Mainnet/00009.png b/tests/snapshots/nanos/test_transaction_manifest/SCO.04-3-Mainnet/00009.png deleted file mode 100644 index 038b4981..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/SCO.04-3-Mainnet/00009.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/SCO.04-3-Mainnet/00010.png b/tests/snapshots/nanos/test_transaction_manifest/SCO.04-3-Mainnet/00010.png deleted file mode 100644 index 24d3677e..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/SCO.04-3-Mainnet/00010.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/SCO.04-3-Mainnet/00011.png b/tests/snapshots/nanos/test_transaction_manifest/SCO.04-3-Mainnet/00011.png deleted file mode 100644 index 2a277309..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/SCO.04-3-Mainnet/00011.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/SCO.04-3-Mainnet/00012.png b/tests/snapshots/nanos/test_transaction_manifest/SCO.04-3-Mainnet/00012.png deleted file mode 100644 index 077d5311..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/SCO.04-3-Mainnet/00012.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/SCO.04-3-Mainnet/00013.png b/tests/snapshots/nanos/test_transaction_manifest/SCO.04-3-Mainnet/00013.png deleted file mode 100644 index aeb52474..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/SCO.04-3-Mainnet/00013.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/SCO.04-3-Mainnet/00014.png b/tests/snapshots/nanos/test_transaction_manifest/SCO.04-3-Mainnet/00014.png deleted file mode 100644 index 80c594a8..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/SCO.04-3-Mainnet/00014.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/SCO.04-3-Mainnet/00015.png b/tests/snapshots/nanos/test_transaction_manifest/SCO.04-3-Mainnet/00015.png deleted file mode 100644 index e2128ac9..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/SCO.04-3-Mainnet/00015.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/SCO.04-3-Mainnet/00016.png b/tests/snapshots/nanos/test_transaction_manifest/SCO.04-3-Mainnet/00016.png deleted file mode 100644 index f171a5d4..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/SCO.04-3-Mainnet/00016.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/SCO.04-3-Mainnet/00017.png b/tests/snapshots/nanos/test_transaction_manifest/SCO.04-3-Mainnet/00017.png deleted file mode 100644 index bf3f115b..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/SCO.04-3-Mainnet/00017.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/SCO.04-3-Mainnet/00018.png b/tests/snapshots/nanos/test_transaction_manifest/SCO.04-3-Mainnet/00018.png deleted file mode 100644 index 68df9e18..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/SCO.04-3-Mainnet/00018.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/SCO.04-3-Testnet/00000.png b/tests/snapshots/nanos/test_transaction_manifest/SCO.04-3-Testnet/00000.png deleted file mode 100644 index 3cfd0dba..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/SCO.04-3-Testnet/00000.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/SCO.04-3-Testnet/00002.png b/tests/snapshots/nanos/test_transaction_manifest/SCO.04-3-Testnet/00002.png deleted file mode 100644 index d9d217d6..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/SCO.04-3-Testnet/00002.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/SCO.04-3-Testnet/00003.png b/tests/snapshots/nanos/test_transaction_manifest/SCO.04-3-Testnet/00003.png deleted file mode 100644 index dab7d1f7..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/SCO.04-3-Testnet/00003.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/SCO.04-3-Testnet/00004.png b/tests/snapshots/nanos/test_transaction_manifest/SCO.04-3-Testnet/00004.png deleted file mode 100644 index 12f1ce59..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/SCO.04-3-Testnet/00004.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/SCO.04-3-Testnet/00005.png b/tests/snapshots/nanos/test_transaction_manifest/SCO.04-3-Testnet/00005.png deleted file mode 100644 index 798f9d17..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/SCO.04-3-Testnet/00005.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/SCO.04-3-Testnet/00006.png b/tests/snapshots/nanos/test_transaction_manifest/SCO.04-3-Testnet/00006.png deleted file mode 100644 index f57787e6..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/SCO.04-3-Testnet/00006.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/SCO.04-3-Testnet/00007.png b/tests/snapshots/nanos/test_transaction_manifest/SCO.04-3-Testnet/00007.png deleted file mode 100644 index 5ad37755..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/SCO.04-3-Testnet/00007.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/SCO.04-3-Testnet/00008.png b/tests/snapshots/nanos/test_transaction_manifest/SCO.04-3-Testnet/00008.png deleted file mode 100644 index e70cb31f..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/SCO.04-3-Testnet/00008.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/SCO.04-3-Testnet/00009.png b/tests/snapshots/nanos/test_transaction_manifest/SCO.04-3-Testnet/00009.png deleted file mode 100644 index 038b4981..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/SCO.04-3-Testnet/00009.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/SCO.04-3-Testnet/00010.png b/tests/snapshots/nanos/test_transaction_manifest/SCO.04-3-Testnet/00010.png deleted file mode 100644 index 24d3677e..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/SCO.04-3-Testnet/00010.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/SCO.04-3-Testnet/00011.png b/tests/snapshots/nanos/test_transaction_manifest/SCO.04-3-Testnet/00011.png deleted file mode 100644 index 2a277309..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/SCO.04-3-Testnet/00011.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/SCO.04-3-Testnet/00012.png b/tests/snapshots/nanos/test_transaction_manifest/SCO.04-3-Testnet/00012.png deleted file mode 100644 index 077d5311..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/SCO.04-3-Testnet/00012.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/SCO.04-3-Testnet/00013.png b/tests/snapshots/nanos/test_transaction_manifest/SCO.04-3-Testnet/00013.png deleted file mode 100644 index aeb52474..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/SCO.04-3-Testnet/00013.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/SCO.04-3-Testnet/00014.png b/tests/snapshots/nanos/test_transaction_manifest/SCO.04-3-Testnet/00014.png deleted file mode 100644 index 80c594a8..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/SCO.04-3-Testnet/00014.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/SCO.04-3-Testnet/00015.png b/tests/snapshots/nanos/test_transaction_manifest/SCO.04-3-Testnet/00015.png deleted file mode 100644 index e2128ac9..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/SCO.04-3-Testnet/00015.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/SCO.04-3-Testnet/00016.png b/tests/snapshots/nanos/test_transaction_manifest/SCO.04-3-Testnet/00016.png deleted file mode 100644 index f171a5d4..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/SCO.04-3-Testnet/00016.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/SCO.04-3-Testnet/00017.png b/tests/snapshots/nanos/test_transaction_manifest/SCO.04-3-Testnet/00017.png deleted file mode 100644 index bf3f115b..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/SCO.04-3-Testnet/00017.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/SCO.04-3-Testnet/00018.png b/tests/snapshots/nanos/test_transaction_manifest/SCO.04-3-Testnet/00018.png deleted file mode 100644 index 68df9e18..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/SCO.04-3-Testnet/00018.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/SCO.04-1-Mainnet/00000.png b/tests/snapshots/nanos/test_transaction_manifest/SCO.04-Mainnet/00000.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/SCO.04-1-Mainnet/00000.png rename to tests/snapshots/nanos/test_transaction_manifest/SCO.04-Mainnet/00000.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.12-Mainnet/00001.png b/tests/snapshots/nanos/test_transaction_manifest/SCO.04-Mainnet/00001.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/TH.12-Mainnet/00001.png rename to tests/snapshots/nanos/test_transaction_manifest/SCO.04-Mainnet/00001.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/SCO.04-2-Mainnet/00002.png b/tests/snapshots/nanos/test_transaction_manifest/SCO.04-Mainnet/00002.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/SCO.04-2-Mainnet/00002.png rename to tests/snapshots/nanos/test_transaction_manifest/SCO.04-Mainnet/00002.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/SCO.04-2-Mainnet/00003.png b/tests/snapshots/nanos/test_transaction_manifest/SCO.04-Mainnet/00003.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/SCO.04-2-Mainnet/00003.png rename to tests/snapshots/nanos/test_transaction_manifest/SCO.04-Mainnet/00003.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/SCO.04-Mainnet/00004.png b/tests/snapshots/nanos/test_transaction_manifest/SCO.04-Mainnet/00004.png new file mode 100644 index 00000000..ee01ee46 Binary files /dev/null and b/tests/snapshots/nanos/test_transaction_manifest/SCO.04-Mainnet/00004.png differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/SCO.04-Mainnet/00005.png b/tests/snapshots/nanos/test_transaction_manifest/SCO.04-Mainnet/00005.png new file mode 100644 index 00000000..32c3696e Binary files /dev/null and b/tests/snapshots/nanos/test_transaction_manifest/SCO.04-Mainnet/00005.png differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/SCO.04-Mainnet/00006.png b/tests/snapshots/nanos/test_transaction_manifest/SCO.04-Mainnet/00006.png new file mode 100644 index 00000000..60cf1327 Binary files /dev/null and b/tests/snapshots/nanos/test_transaction_manifest/SCO.04-Mainnet/00006.png differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/SCO.04-Mainnet/00007.png b/tests/snapshots/nanos/test_transaction_manifest/SCO.04-Mainnet/00007.png new file mode 100644 index 00000000..56f5fc02 Binary files /dev/null and b/tests/snapshots/nanos/test_transaction_manifest/SCO.04-Mainnet/00007.png differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/SCO.04-Mainnet/00008.png b/tests/snapshots/nanos/test_transaction_manifest/SCO.04-Mainnet/00008.png new file mode 100644 index 00000000..0acf5d55 Binary files /dev/null and b/tests/snapshots/nanos/test_transaction_manifest/SCO.04-Mainnet/00008.png differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/SCO.04-Mainnet/00009.png b/tests/snapshots/nanos/test_transaction_manifest/SCO.04-Mainnet/00009.png new file mode 100644 index 00000000..3e04ea56 Binary files /dev/null and b/tests/snapshots/nanos/test_transaction_manifest/SCO.04-Mainnet/00009.png differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/SCO.04-Mainnet/00010.png b/tests/snapshots/nanos/test_transaction_manifest/SCO.04-Mainnet/00010.png new file mode 100644 index 00000000..5f607f71 Binary files /dev/null and b/tests/snapshots/nanos/test_transaction_manifest/SCO.04-Mainnet/00010.png differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.10-Mainnet/00003.png b/tests/snapshots/nanos/test_transaction_manifest/SCO.04-Mainnet/00011.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/TH.10-Mainnet/00003.png rename to tests/snapshots/nanos/test_transaction_manifest/SCO.04-Mainnet/00011.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.10-Mainnet/00004.png b/tests/snapshots/nanos/test_transaction_manifest/SCO.04-Mainnet/00012.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/TH.10-Mainnet/00004.png rename to tests/snapshots/nanos/test_transaction_manifest/SCO.04-Mainnet/00012.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.10-Mainnet/00005.png b/tests/snapshots/nanos/test_transaction_manifest/SCO.04-Mainnet/00013.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/TH.10-Mainnet/00005.png rename to tests/snapshots/nanos/test_transaction_manifest/SCO.04-Mainnet/00013.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.10-Mainnet/00006.png b/tests/snapshots/nanos/test_transaction_manifest/SCO.04-Mainnet/00014.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/TH.10-Mainnet/00006.png rename to tests/snapshots/nanos/test_transaction_manifest/SCO.04-Mainnet/00014.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.10-Mainnet/00007.png b/tests/snapshots/nanos/test_transaction_manifest/SCO.04-Mainnet/00015.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/TH.10-Mainnet/00007.png rename to tests/snapshots/nanos/test_transaction_manifest/SCO.04-Mainnet/00015.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.10-Mainnet/00008.png b/tests/snapshots/nanos/test_transaction_manifest/SCO.04-Mainnet/00016.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/TH.10-Mainnet/00008.png rename to tests/snapshots/nanos/test_transaction_manifest/SCO.04-Mainnet/00016.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.10-Mainnet/00009.png b/tests/snapshots/nanos/test_transaction_manifest/SCO.04-Mainnet/00017.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/TH.10-Mainnet/00009.png rename to tests/snapshots/nanos/test_transaction_manifest/SCO.04-Mainnet/00017.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.10-Mainnet/00010.png b/tests/snapshots/nanos/test_transaction_manifest/SCO.04-Mainnet/00018.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/TH.10-Mainnet/00010.png rename to tests/snapshots/nanos/test_transaction_manifest/SCO.04-Mainnet/00018.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.10-Mainnet/00011.png b/tests/snapshots/nanos/test_transaction_manifest/SCO.04-Mainnet/00019.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/TH.10-Mainnet/00011.png rename to tests/snapshots/nanos/test_transaction_manifest/SCO.04-Mainnet/00019.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.10-Mainnet/00012.png b/tests/snapshots/nanos/test_transaction_manifest/SCO.04-Mainnet/00020.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/TH.10-Mainnet/00012.png rename to tests/snapshots/nanos/test_transaction_manifest/SCO.04-Mainnet/00020.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.10-Mainnet/00013.png b/tests/snapshots/nanos/test_transaction_manifest/SCO.04-Mainnet/00021.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/TH.10-Mainnet/00013.png rename to tests/snapshots/nanos/test_transaction_manifest/SCO.04-Mainnet/00021.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/SCO.04-1-Testnet/00000.png b/tests/snapshots/nanos/test_transaction_manifest/SCO.04-Testnet/00000.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/SCO.04-1-Testnet/00000.png rename to tests/snapshots/nanos/test_transaction_manifest/SCO.04-Testnet/00000.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.12-Testnet/00001.png b/tests/snapshots/nanos/test_transaction_manifest/SCO.04-Testnet/00001.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/TH.12-Testnet/00001.png rename to tests/snapshots/nanos/test_transaction_manifest/SCO.04-Testnet/00001.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/SCO.04-2-Testnet/00002.png b/tests/snapshots/nanos/test_transaction_manifest/SCO.04-Testnet/00002.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/SCO.04-2-Testnet/00002.png rename to tests/snapshots/nanos/test_transaction_manifest/SCO.04-Testnet/00002.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/SCO.04-2-Testnet/00003.png b/tests/snapshots/nanos/test_transaction_manifest/SCO.04-Testnet/00003.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/SCO.04-2-Testnet/00003.png rename to tests/snapshots/nanos/test_transaction_manifest/SCO.04-Testnet/00003.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/SCO.04-Testnet/00004.png b/tests/snapshots/nanos/test_transaction_manifest/SCO.04-Testnet/00004.png new file mode 100644 index 00000000..ee01ee46 Binary files /dev/null and b/tests/snapshots/nanos/test_transaction_manifest/SCO.04-Testnet/00004.png differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/SCO.04-Testnet/00005.png b/tests/snapshots/nanos/test_transaction_manifest/SCO.04-Testnet/00005.png new file mode 100644 index 00000000..32c3696e Binary files /dev/null and b/tests/snapshots/nanos/test_transaction_manifest/SCO.04-Testnet/00005.png differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/SCO.04-Testnet/00006.png b/tests/snapshots/nanos/test_transaction_manifest/SCO.04-Testnet/00006.png new file mode 100644 index 00000000..60cf1327 Binary files /dev/null and b/tests/snapshots/nanos/test_transaction_manifest/SCO.04-Testnet/00006.png differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/SCO.04-Testnet/00007.png b/tests/snapshots/nanos/test_transaction_manifest/SCO.04-Testnet/00007.png new file mode 100644 index 00000000..56f5fc02 Binary files /dev/null and b/tests/snapshots/nanos/test_transaction_manifest/SCO.04-Testnet/00007.png differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/SCO.04-Testnet/00008.png b/tests/snapshots/nanos/test_transaction_manifest/SCO.04-Testnet/00008.png new file mode 100644 index 00000000..0acf5d55 Binary files /dev/null and b/tests/snapshots/nanos/test_transaction_manifest/SCO.04-Testnet/00008.png differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/SCO.04-Testnet/00009.png b/tests/snapshots/nanos/test_transaction_manifest/SCO.04-Testnet/00009.png new file mode 100644 index 00000000..3e04ea56 Binary files /dev/null and b/tests/snapshots/nanos/test_transaction_manifest/SCO.04-Testnet/00009.png differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/SCO.04-Testnet/00010.png b/tests/snapshots/nanos/test_transaction_manifest/SCO.04-Testnet/00010.png new file mode 100644 index 00000000..5f607f71 Binary files /dev/null and b/tests/snapshots/nanos/test_transaction_manifest/SCO.04-Testnet/00010.png differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.10-Testnet/00003.png b/tests/snapshots/nanos/test_transaction_manifest/SCO.04-Testnet/00011.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/TH.10-Testnet/00003.png rename to tests/snapshots/nanos/test_transaction_manifest/SCO.04-Testnet/00011.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.10-Testnet/00004.png b/tests/snapshots/nanos/test_transaction_manifest/SCO.04-Testnet/00012.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/TH.10-Testnet/00004.png rename to tests/snapshots/nanos/test_transaction_manifest/SCO.04-Testnet/00012.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.10-Testnet/00005.png b/tests/snapshots/nanos/test_transaction_manifest/SCO.04-Testnet/00013.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/TH.10-Testnet/00005.png rename to tests/snapshots/nanos/test_transaction_manifest/SCO.04-Testnet/00013.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.10-Testnet/00006.png b/tests/snapshots/nanos/test_transaction_manifest/SCO.04-Testnet/00014.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/TH.10-Testnet/00006.png rename to tests/snapshots/nanos/test_transaction_manifest/SCO.04-Testnet/00014.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.10-Testnet/00007.png b/tests/snapshots/nanos/test_transaction_manifest/SCO.04-Testnet/00015.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/TH.10-Testnet/00007.png rename to tests/snapshots/nanos/test_transaction_manifest/SCO.04-Testnet/00015.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.10-Testnet/00008.png b/tests/snapshots/nanos/test_transaction_manifest/SCO.04-Testnet/00016.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/TH.10-Testnet/00008.png rename to tests/snapshots/nanos/test_transaction_manifest/SCO.04-Testnet/00016.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.10-Testnet/00009.png b/tests/snapshots/nanos/test_transaction_manifest/SCO.04-Testnet/00017.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/TH.10-Testnet/00009.png rename to tests/snapshots/nanos/test_transaction_manifest/SCO.04-Testnet/00017.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.10-Testnet/00010.png b/tests/snapshots/nanos/test_transaction_manifest/SCO.04-Testnet/00018.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/TH.10-Testnet/00010.png rename to tests/snapshots/nanos/test_transaction_manifest/SCO.04-Testnet/00018.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.10-Testnet/00011.png b/tests/snapshots/nanos/test_transaction_manifest/SCO.04-Testnet/00019.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/TH.10-Testnet/00011.png rename to tests/snapshots/nanos/test_transaction_manifest/SCO.04-Testnet/00019.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.10-Testnet/00012.png b/tests/snapshots/nanos/test_transaction_manifest/SCO.04-Testnet/00020.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/TH.10-Testnet/00012.png rename to tests/snapshots/nanos/test_transaction_manifest/SCO.04-Testnet/00020.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.10-Testnet/00013.png b/tests/snapshots/nanos/test_transaction_manifest/SCO.04-Testnet/00021.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/TH.10-Testnet/00013.png rename to tests/snapshots/nanos/test_transaction_manifest/SCO.04-Testnet/00021.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.06-Mainnet/00002.png b/tests/snapshots/nanos/test_transaction_manifest/TH.06-Mainnet/00002.png deleted file mode 100644 index d9d217d6..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TH.06-Mainnet/00002.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.06-Mainnet/00003.png b/tests/snapshots/nanos/test_transaction_manifest/TH.06-Mainnet/00003.png deleted file mode 100644 index dab7d1f7..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TH.06-Mainnet/00003.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.06-Testnet/00002.png b/tests/snapshots/nanos/test_transaction_manifest/TH.06-Testnet/00002.png deleted file mode 100644 index d9d217d6..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TH.06-Testnet/00002.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.06-Testnet/00003.png b/tests/snapshots/nanos/test_transaction_manifest/TH.06-Testnet/00003.png deleted file mode 100644 index dab7d1f7..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TH.06-Testnet/00003.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.08-Mainnet/00000.png b/tests/snapshots/nanos/test_transaction_manifest/TH.08-Mainnet/00000.png deleted file mode 100644 index a02b7c7e..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TH.08-Mainnet/00000.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.08-Testnet/00000.png b/tests/snapshots/nanos/test_transaction_manifest/TH.08-Testnet/00000.png deleted file mode 100644 index a02b7c7e..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TH.08-Testnet/00000.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.09-Mainnet/00000.png b/tests/snapshots/nanos/test_transaction_manifest/TH.09-Mainnet/00000.png deleted file mode 100644 index 18f40db5..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TH.09-Mainnet/00000.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.09-Mainnet/00002.png b/tests/snapshots/nanos/test_transaction_manifest/TH.09-Mainnet/00002.png deleted file mode 100644 index c4c85af7..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TH.09-Mainnet/00002.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.09-Testnet/00000.png b/tests/snapshots/nanos/test_transaction_manifest/TH.09-Testnet/00000.png deleted file mode 100644 index 18f40db5..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TH.09-Testnet/00000.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.09-Testnet/00002.png b/tests/snapshots/nanos/test_transaction_manifest/TH.09-Testnet/00002.png deleted file mode 100644 index c4c85af7..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TH.09-Testnet/00002.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.10-Mainnet/00000.png b/tests/snapshots/nanos/test_transaction_manifest/TH.10-Mainnet/00000.png deleted file mode 100644 index c16db59b..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TH.10-Mainnet/00000.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.10-Mainnet/00002.png b/tests/snapshots/nanos/test_transaction_manifest/TH.10-Mainnet/00002.png deleted file mode 100644 index c4c85af7..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TH.10-Mainnet/00002.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.10-Testnet/00000.png b/tests/snapshots/nanos/test_transaction_manifest/TH.10-Testnet/00000.png deleted file mode 100644 index c16db59b..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TH.10-Testnet/00000.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.10-Testnet/00002.png b/tests/snapshots/nanos/test_transaction_manifest/TH.10-Testnet/00002.png deleted file mode 100644 index c4c85af7..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TH.10-Testnet/00002.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.11-Mainnet/00000.png b/tests/snapshots/nanos/test_transaction_manifest/TH.11-Mainnet/00000.png deleted file mode 100644 index dec071e7..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TH.11-Mainnet/00000.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.11-Mainnet/00002.png b/tests/snapshots/nanos/test_transaction_manifest/TH.11-Mainnet/00002.png deleted file mode 100644 index c4c85af7..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TH.11-Mainnet/00002.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.11-Mainnet/00003.png b/tests/snapshots/nanos/test_transaction_manifest/TH.11-Mainnet/00003.png deleted file mode 100644 index 05f27c3a..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TH.11-Mainnet/00003.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.11-Mainnet/00004.png b/tests/snapshots/nanos/test_transaction_manifest/TH.11-Mainnet/00004.png deleted file mode 100644 index 5ebc5665..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TH.11-Mainnet/00004.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.11-Mainnet/00005.png b/tests/snapshots/nanos/test_transaction_manifest/TH.11-Mainnet/00005.png deleted file mode 100644 index f39812e8..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TH.11-Mainnet/00005.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.11-Mainnet/00006.png b/tests/snapshots/nanos/test_transaction_manifest/TH.11-Mainnet/00006.png deleted file mode 100644 index 41b0ce2b..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TH.11-Mainnet/00006.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.11-Testnet/00000.png b/tests/snapshots/nanos/test_transaction_manifest/TH.11-Testnet/00000.png deleted file mode 100644 index dec071e7..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TH.11-Testnet/00000.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.11-Testnet/00002.png b/tests/snapshots/nanos/test_transaction_manifest/TH.11-Testnet/00002.png deleted file mode 100644 index c4c85af7..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TH.11-Testnet/00002.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.11-Testnet/00003.png b/tests/snapshots/nanos/test_transaction_manifest/TH.11-Testnet/00003.png deleted file mode 100644 index 05f27c3a..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TH.11-Testnet/00003.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.11-Testnet/00004.png b/tests/snapshots/nanos/test_transaction_manifest/TH.11-Testnet/00004.png deleted file mode 100644 index 5ebc5665..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TH.11-Testnet/00004.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.11-Testnet/00005.png b/tests/snapshots/nanos/test_transaction_manifest/TH.11-Testnet/00005.png deleted file mode 100644 index f39812e8..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TH.11-Testnet/00005.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.11-Testnet/00006.png b/tests/snapshots/nanos/test_transaction_manifest/TH.11-Testnet/00006.png deleted file mode 100644 index 7a7c2869..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TH.11-Testnet/00006.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.11-Testnet/00009.png b/tests/snapshots/nanos/test_transaction_manifest/TH.11-Testnet/00009.png deleted file mode 100644 index 61e19bd5..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TH.11-Testnet/00009.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.11-Testnet/00010.png b/tests/snapshots/nanos/test_transaction_manifest/TH.11-Testnet/00010.png deleted file mode 100644 index 0a500512..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TH.11-Testnet/00010.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.12-Mainnet/00000.png b/tests/snapshots/nanos/test_transaction_manifest/TH.12-Mainnet/00000.png deleted file mode 100644 index c602c383..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TH.12-Mainnet/00000.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.12-Mainnet/00002.png b/tests/snapshots/nanos/test_transaction_manifest/TH.12-Mainnet/00002.png deleted file mode 100644 index 05f27c3a..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TH.12-Mainnet/00002.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.12-Mainnet/00003.png b/tests/snapshots/nanos/test_transaction_manifest/TH.12-Mainnet/00003.png deleted file mode 100644 index 5ebc5665..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TH.12-Mainnet/00003.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.12-Mainnet/00004.png b/tests/snapshots/nanos/test_transaction_manifest/TH.12-Mainnet/00004.png deleted file mode 100644 index f39812e8..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TH.12-Mainnet/00004.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.12-Mainnet/00005.png b/tests/snapshots/nanos/test_transaction_manifest/TH.12-Mainnet/00005.png deleted file mode 100644 index 41b0ce2b..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TH.12-Mainnet/00005.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.12-Testnet/00000.png b/tests/snapshots/nanos/test_transaction_manifest/TH.12-Testnet/00000.png deleted file mode 100644 index c602c383..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TH.12-Testnet/00000.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.12-Testnet/00002.png b/tests/snapshots/nanos/test_transaction_manifest/TH.12-Testnet/00002.png deleted file mode 100644 index 05f27c3a..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TH.12-Testnet/00002.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.12-Testnet/00003.png b/tests/snapshots/nanos/test_transaction_manifest/TH.12-Testnet/00003.png deleted file mode 100644 index 5ebc5665..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TH.12-Testnet/00003.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.12-Testnet/00004.png b/tests/snapshots/nanos/test_transaction_manifest/TH.12-Testnet/00004.png deleted file mode 100644 index f39812e8..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TH.12-Testnet/00004.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.12-Testnet/00005.png b/tests/snapshots/nanos/test_transaction_manifest/TH.12-Testnet/00005.png deleted file mode 100644 index 7a7c2869..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TH.12-Testnet/00005.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.12-Testnet/00008.png b/tests/snapshots/nanos/test_transaction_manifest/TH.12-Testnet/00008.png deleted file mode 100644 index 61e19bd5..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TH.12-Testnet/00008.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.12-Testnet/00009.png b/tests/snapshots/nanos/test_transaction_manifest/TH.12-Testnet/00009.png deleted file mode 100644 index 0a500512..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TH.12-Testnet/00009.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.13-Mainnet/00000.png b/tests/snapshots/nanos/test_transaction_manifest/TH.13-Mainnet/00000.png deleted file mode 100644 index 66257354..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TH.13-Mainnet/00000.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.13-Mainnet/00001.png b/tests/snapshots/nanos/test_transaction_manifest/TH.13-Mainnet/00001.png deleted file mode 100644 index 2ab14840..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TH.13-Mainnet/00001.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.13-Mainnet/00002.png b/tests/snapshots/nanos/test_transaction_manifest/TH.13-Mainnet/00002.png deleted file mode 100644 index c4c85af7..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TH.13-Mainnet/00002.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.13-Mainnet/00003.png b/tests/snapshots/nanos/test_transaction_manifest/TH.13-Mainnet/00003.png deleted file mode 100644 index 05f27c3a..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TH.13-Mainnet/00003.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.13-Mainnet/00004.png b/tests/snapshots/nanos/test_transaction_manifest/TH.13-Mainnet/00004.png deleted file mode 100644 index 5ebc5665..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TH.13-Mainnet/00004.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.13-Mainnet/00005.png b/tests/snapshots/nanos/test_transaction_manifest/TH.13-Mainnet/00005.png deleted file mode 100644 index f39812e8..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TH.13-Mainnet/00005.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.13-Mainnet/00006.png b/tests/snapshots/nanos/test_transaction_manifest/TH.13-Mainnet/00006.png deleted file mode 100644 index 41b0ce2b..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TH.13-Mainnet/00006.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.13-Mainnet/00007.png b/tests/snapshots/nanos/test_transaction_manifest/TH.13-Mainnet/00007.png deleted file mode 100644 index 44e7069e..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TH.13-Mainnet/00007.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.13-Testnet/00000.png b/tests/snapshots/nanos/test_transaction_manifest/TH.13-Testnet/00000.png deleted file mode 100644 index 66257354..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TH.13-Testnet/00000.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.13-Testnet/00001.png b/tests/snapshots/nanos/test_transaction_manifest/TH.13-Testnet/00001.png deleted file mode 100644 index f2422205..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TH.13-Testnet/00001.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.13-Testnet/00002.png b/tests/snapshots/nanos/test_transaction_manifest/TH.13-Testnet/00002.png deleted file mode 100644 index c4c85af7..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TH.13-Testnet/00002.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.13-Testnet/00003.png b/tests/snapshots/nanos/test_transaction_manifest/TH.13-Testnet/00003.png deleted file mode 100644 index 05f27c3a..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TH.13-Testnet/00003.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.13-Testnet/00004.png b/tests/snapshots/nanos/test_transaction_manifest/TH.13-Testnet/00004.png deleted file mode 100644 index 5ebc5665..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TH.13-Testnet/00004.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.13-Testnet/00005.png b/tests/snapshots/nanos/test_transaction_manifest/TH.13-Testnet/00005.png deleted file mode 100644 index f39812e8..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TH.13-Testnet/00005.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.13-Testnet/00006.png b/tests/snapshots/nanos/test_transaction_manifest/TH.13-Testnet/00006.png deleted file mode 100644 index 7a7c2869..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TH.13-Testnet/00006.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.13-Testnet/00007.png b/tests/snapshots/nanos/test_transaction_manifest/TH.13-Testnet/00007.png deleted file mode 100644 index 44e7069e..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TH.13-Testnet/00007.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.13-Testnet/00009.png b/tests/snapshots/nanos/test_transaction_manifest/TH.13-Testnet/00009.png deleted file mode 100644 index 61e19bd5..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TH.13-Testnet/00009.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.13-Testnet/00010.png b/tests/snapshots/nanos/test_transaction_manifest/TH.13-Testnet/00010.png deleted file mode 100644 index 0a500512..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TH.13-Testnet/00010.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.14-Mainnet/00000.png b/tests/snapshots/nanos/test_transaction_manifest/TH.14-Mainnet/00000.png deleted file mode 100644 index 8621b49e..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TH.14-Mainnet/00000.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.14-Mainnet/00001.png b/tests/snapshots/nanos/test_transaction_manifest/TH.14-Mainnet/00001.png deleted file mode 100644 index 2ab14840..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TH.14-Mainnet/00001.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.14-Mainnet/00002.png b/tests/snapshots/nanos/test_transaction_manifest/TH.14-Mainnet/00002.png deleted file mode 100644 index c4c85af7..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TH.14-Mainnet/00002.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.14-Mainnet/00003.png b/tests/snapshots/nanos/test_transaction_manifest/TH.14-Mainnet/00003.png deleted file mode 100644 index 05f27c3a..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TH.14-Mainnet/00003.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.14-Mainnet/00004.png b/tests/snapshots/nanos/test_transaction_manifest/TH.14-Mainnet/00004.png deleted file mode 100644 index 5ebc5665..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TH.14-Mainnet/00004.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.14-Mainnet/00005.png b/tests/snapshots/nanos/test_transaction_manifest/TH.14-Mainnet/00005.png deleted file mode 100644 index f39812e8..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TH.14-Mainnet/00005.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.14-Mainnet/00006.png b/tests/snapshots/nanos/test_transaction_manifest/TH.14-Mainnet/00006.png deleted file mode 100644 index 41b0ce2b..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TH.14-Mainnet/00006.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.14-Mainnet/00007.png b/tests/snapshots/nanos/test_transaction_manifest/TH.14-Mainnet/00007.png deleted file mode 100644 index 44e7069e..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TH.14-Mainnet/00007.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.14-Mainnet/00011.png b/tests/snapshots/nanos/test_transaction_manifest/TH.14-Mainnet/00011.png deleted file mode 100644 index 52b06db9..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TH.14-Mainnet/00011.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.14-Testnet/00000.png b/tests/snapshots/nanos/test_transaction_manifest/TH.14-Testnet/00000.png deleted file mode 100644 index 8621b49e..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TH.14-Testnet/00000.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.14-Testnet/00001.png b/tests/snapshots/nanos/test_transaction_manifest/TH.14-Testnet/00001.png deleted file mode 100644 index f2422205..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TH.14-Testnet/00001.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.14-Testnet/00002.png b/tests/snapshots/nanos/test_transaction_manifest/TH.14-Testnet/00002.png deleted file mode 100644 index c4c85af7..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TH.14-Testnet/00002.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.14-Testnet/00003.png b/tests/snapshots/nanos/test_transaction_manifest/TH.14-Testnet/00003.png deleted file mode 100644 index 05f27c3a..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TH.14-Testnet/00003.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.14-Testnet/00004.png b/tests/snapshots/nanos/test_transaction_manifest/TH.14-Testnet/00004.png deleted file mode 100644 index 5ebc5665..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TH.14-Testnet/00004.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.14-Testnet/00005.png b/tests/snapshots/nanos/test_transaction_manifest/TH.14-Testnet/00005.png deleted file mode 100644 index f39812e8..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TH.14-Testnet/00005.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.14-Testnet/00006.png b/tests/snapshots/nanos/test_transaction_manifest/TH.14-Testnet/00006.png deleted file mode 100644 index 7a7c2869..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TH.14-Testnet/00006.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.14-Testnet/00007.png b/tests/snapshots/nanos/test_transaction_manifest/TH.14-Testnet/00007.png deleted file mode 100644 index 44e7069e..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TH.14-Testnet/00007.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.14-Testnet/00009.png b/tests/snapshots/nanos/test_transaction_manifest/TH.14-Testnet/00009.png deleted file mode 100644 index 61e19bd5..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TH.14-Testnet/00009.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.14-Testnet/00010.png b/tests/snapshots/nanos/test_transaction_manifest/TH.14-Testnet/00010.png deleted file mode 100644 index 0a500512..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TH.14-Testnet/00010.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.14-Testnet/00011.png b/tests/snapshots/nanos/test_transaction_manifest/TH.14-Testnet/00011.png deleted file mode 100644 index 52b06db9..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TH.14-Testnet/00011.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.16-Mainnet/00000.png b/tests/snapshots/nanos/test_transaction_manifest/TH.16-Mainnet/00000.png deleted file mode 100644 index 6466ac31..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TH.16-Mainnet/00000.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.16-Mainnet/00001.png b/tests/snapshots/nanos/test_transaction_manifest/TH.16-Mainnet/00001.png deleted file mode 100644 index 2ab14840..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TH.16-Mainnet/00001.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.16-Mainnet/00002.png b/tests/snapshots/nanos/test_transaction_manifest/TH.16-Mainnet/00002.png deleted file mode 100644 index 549343eb..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TH.16-Mainnet/00002.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.16-Mainnet/00003.png b/tests/snapshots/nanos/test_transaction_manifest/TH.16-Mainnet/00003.png deleted file mode 100644 index d9d217d6..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TH.16-Mainnet/00003.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.16-Mainnet/00004.png b/tests/snapshots/nanos/test_transaction_manifest/TH.16-Mainnet/00004.png deleted file mode 100644 index dab7d1f7..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TH.16-Mainnet/00004.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.16-Mainnet/00005.png b/tests/snapshots/nanos/test_transaction_manifest/TH.16-Mainnet/00005.png deleted file mode 100644 index c4c85af7..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TH.16-Mainnet/00005.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.16-Testnet/00000.png b/tests/snapshots/nanos/test_transaction_manifest/TH.16-Testnet/00000.png deleted file mode 100644 index 6466ac31..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TH.16-Testnet/00000.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.16-Testnet/00001.png b/tests/snapshots/nanos/test_transaction_manifest/TH.16-Testnet/00001.png deleted file mode 100644 index f2422205..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TH.16-Testnet/00001.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.16-Testnet/00002.png b/tests/snapshots/nanos/test_transaction_manifest/TH.16-Testnet/00002.png deleted file mode 100644 index fde7adf1..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TH.16-Testnet/00002.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.16-Testnet/00003.png b/tests/snapshots/nanos/test_transaction_manifest/TH.16-Testnet/00003.png deleted file mode 100644 index d9d217d6..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TH.16-Testnet/00003.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.16-Testnet/00004.png b/tests/snapshots/nanos/test_transaction_manifest/TH.16-Testnet/00004.png deleted file mode 100644 index dab7d1f7..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TH.16-Testnet/00004.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.16-Testnet/00005.png b/tests/snapshots/nanos/test_transaction_manifest/TH.16-Testnet/00005.png deleted file mode 100644 index c4c85af7..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TH.16-Testnet/00005.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.17-Mainnet/00000.png b/tests/snapshots/nanos/test_transaction_manifest/TH.17-Mainnet/00000.png deleted file mode 100644 index 0ee418af..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TH.17-Mainnet/00000.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.17-Mainnet/00001.png b/tests/snapshots/nanos/test_transaction_manifest/TH.17-Mainnet/00001.png deleted file mode 100644 index 2ab14840..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TH.17-Mainnet/00001.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.17-Mainnet/00002.png b/tests/snapshots/nanos/test_transaction_manifest/TH.17-Mainnet/00002.png deleted file mode 100644 index d9d217d6..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TH.17-Mainnet/00002.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.17-Mainnet/00003.png b/tests/snapshots/nanos/test_transaction_manifest/TH.17-Mainnet/00003.png deleted file mode 100644 index dab7d1f7..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TH.17-Mainnet/00003.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.17-Mainnet/00004.png b/tests/snapshots/nanos/test_transaction_manifest/TH.17-Mainnet/00004.png deleted file mode 100644 index c4c85af7..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TH.17-Mainnet/00004.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.17-Mainnet/00005.png b/tests/snapshots/nanos/test_transaction_manifest/TH.17-Mainnet/00005.png deleted file mode 100644 index 05f27c3a..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TH.17-Mainnet/00005.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.17-Mainnet/00006.png b/tests/snapshots/nanos/test_transaction_manifest/TH.17-Mainnet/00006.png deleted file mode 100644 index 5ebc5665..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TH.17-Mainnet/00006.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.17-Mainnet/00007.png b/tests/snapshots/nanos/test_transaction_manifest/TH.17-Mainnet/00007.png deleted file mode 100644 index f39812e8..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TH.17-Mainnet/00007.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.17-Mainnet/00008.png b/tests/snapshots/nanos/test_transaction_manifest/TH.17-Mainnet/00008.png deleted file mode 100644 index 41b0ce2b..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TH.17-Mainnet/00008.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.17-Mainnet/00009.png b/tests/snapshots/nanos/test_transaction_manifest/TH.17-Mainnet/00009.png deleted file mode 100644 index 44e7069e..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TH.17-Mainnet/00009.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.17-Mainnet/00013.png b/tests/snapshots/nanos/test_transaction_manifest/TH.17-Mainnet/00013.png deleted file mode 100644 index 52b06db9..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TH.17-Mainnet/00013.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.17-Testnet/00000.png b/tests/snapshots/nanos/test_transaction_manifest/TH.17-Testnet/00000.png deleted file mode 100644 index 0ee418af..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TH.17-Testnet/00000.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.17-Testnet/00001.png b/tests/snapshots/nanos/test_transaction_manifest/TH.17-Testnet/00001.png deleted file mode 100644 index f2422205..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TH.17-Testnet/00001.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.17-Testnet/00002.png b/tests/snapshots/nanos/test_transaction_manifest/TH.17-Testnet/00002.png deleted file mode 100644 index d9d217d6..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TH.17-Testnet/00002.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.17-Testnet/00003.png b/tests/snapshots/nanos/test_transaction_manifest/TH.17-Testnet/00003.png deleted file mode 100644 index dab7d1f7..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TH.17-Testnet/00003.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.17-Testnet/00004.png b/tests/snapshots/nanos/test_transaction_manifest/TH.17-Testnet/00004.png deleted file mode 100644 index c4c85af7..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TH.17-Testnet/00004.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.17-Testnet/00005.png b/tests/snapshots/nanos/test_transaction_manifest/TH.17-Testnet/00005.png deleted file mode 100644 index 05f27c3a..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TH.17-Testnet/00005.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.17-Testnet/00006.png b/tests/snapshots/nanos/test_transaction_manifest/TH.17-Testnet/00006.png deleted file mode 100644 index 5ebc5665..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TH.17-Testnet/00006.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.17-Testnet/00007.png b/tests/snapshots/nanos/test_transaction_manifest/TH.17-Testnet/00007.png deleted file mode 100644 index f39812e8..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TH.17-Testnet/00007.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.17-Testnet/00008.png b/tests/snapshots/nanos/test_transaction_manifest/TH.17-Testnet/00008.png deleted file mode 100644 index 7a7c2869..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TH.17-Testnet/00008.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.17-Testnet/00009.png b/tests/snapshots/nanos/test_transaction_manifest/TH.17-Testnet/00009.png deleted file mode 100644 index 44e7069e..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TH.17-Testnet/00009.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.17-Testnet/00011.png b/tests/snapshots/nanos/test_transaction_manifest/TH.17-Testnet/00011.png deleted file mode 100644 index 61e19bd5..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TH.17-Testnet/00011.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.17-Testnet/00012.png b/tests/snapshots/nanos/test_transaction_manifest/TH.17-Testnet/00012.png deleted file mode 100644 index 0a500512..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TH.17-Testnet/00012.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.17-Testnet/00013.png b/tests/snapshots/nanos/test_transaction_manifest/TH.17-Testnet/00013.png deleted file mode 100644 index 52b06db9..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TH.17-Testnet/00013.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.19-Mainnet/00000.png b/tests/snapshots/nanos/test_transaction_manifest/TH.19-Mainnet/00000.png deleted file mode 100644 index 0ff092f9..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TH.19-Mainnet/00000.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.19-Mainnet/00001.png b/tests/snapshots/nanos/test_transaction_manifest/TH.19-Mainnet/00001.png deleted file mode 100644 index 2ab14840..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TH.19-Mainnet/00001.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.19-Mainnet/00002.png b/tests/snapshots/nanos/test_transaction_manifest/TH.19-Mainnet/00002.png deleted file mode 100644 index c4c85af7..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TH.19-Mainnet/00002.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.19-Mainnet/00003.png b/tests/snapshots/nanos/test_transaction_manifest/TH.19-Mainnet/00003.png deleted file mode 100644 index 05f27c3a..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TH.19-Mainnet/00003.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.19-Mainnet/00004.png b/tests/snapshots/nanos/test_transaction_manifest/TH.19-Mainnet/00004.png deleted file mode 100644 index 5ebc5665..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TH.19-Mainnet/00004.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.19-Mainnet/00005.png b/tests/snapshots/nanos/test_transaction_manifest/TH.19-Mainnet/00005.png deleted file mode 100644 index f39812e8..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TH.19-Mainnet/00005.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.19-Mainnet/00006.png b/tests/snapshots/nanos/test_transaction_manifest/TH.19-Mainnet/00006.png deleted file mode 100644 index 41b0ce2b..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TH.19-Mainnet/00006.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.19-Mainnet/00007.png b/tests/snapshots/nanos/test_transaction_manifest/TH.19-Mainnet/00007.png deleted file mode 100644 index 44e7069e..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TH.19-Mainnet/00007.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.19-Mainnet/00011.png b/tests/snapshots/nanos/test_transaction_manifest/TH.19-Mainnet/00011.png deleted file mode 100644 index 52b06db9..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TH.19-Mainnet/00011.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.19-Testnet/00000.png b/tests/snapshots/nanos/test_transaction_manifest/TH.19-Testnet/00000.png deleted file mode 100644 index 0ff092f9..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TH.19-Testnet/00000.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.19-Testnet/00001.png b/tests/snapshots/nanos/test_transaction_manifest/TH.19-Testnet/00001.png deleted file mode 100644 index f2422205..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TH.19-Testnet/00001.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.19-Testnet/00002.png b/tests/snapshots/nanos/test_transaction_manifest/TH.19-Testnet/00002.png deleted file mode 100644 index c4c85af7..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TH.19-Testnet/00002.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.19-Testnet/00003.png b/tests/snapshots/nanos/test_transaction_manifest/TH.19-Testnet/00003.png deleted file mode 100644 index 05f27c3a..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TH.19-Testnet/00003.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.19-Testnet/00004.png b/tests/snapshots/nanos/test_transaction_manifest/TH.19-Testnet/00004.png deleted file mode 100644 index 5ebc5665..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TH.19-Testnet/00004.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.19-Testnet/00005.png b/tests/snapshots/nanos/test_transaction_manifest/TH.19-Testnet/00005.png deleted file mode 100644 index f39812e8..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TH.19-Testnet/00005.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.19-Testnet/00006.png b/tests/snapshots/nanos/test_transaction_manifest/TH.19-Testnet/00006.png deleted file mode 100644 index 7a7c2869..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TH.19-Testnet/00006.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.19-Testnet/00007.png b/tests/snapshots/nanos/test_transaction_manifest/TH.19-Testnet/00007.png deleted file mode 100644 index 44e7069e..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TH.19-Testnet/00007.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.19-Testnet/00008.png b/tests/snapshots/nanos/test_transaction_manifest/TH.19-Testnet/00008.png deleted file mode 100644 index 7a5610fa..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TH.19-Testnet/00008.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.19-Testnet/00009.png b/tests/snapshots/nanos/test_transaction_manifest/TH.19-Testnet/00009.png deleted file mode 100644 index 61e19bd5..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TH.19-Testnet/00009.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.19-Testnet/00010.png b/tests/snapshots/nanos/test_transaction_manifest/TH.19-Testnet/00010.png deleted file mode 100644 index 0a500512..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TH.19-Testnet/00010.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.19-Testnet/00011.png b/tests/snapshots/nanos/test_transaction_manifest/TH.19-Testnet/00011.png deleted file mode 100644 index 52b06db9..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TH.19-Testnet/00011.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.20-Mainnet/00000.png b/tests/snapshots/nanos/test_transaction_manifest/TH.20-Mainnet/00000.png deleted file mode 100644 index 9f559904..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TH.20-Mainnet/00000.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.20-Mainnet/00001.png b/tests/snapshots/nanos/test_transaction_manifest/TH.20-Mainnet/00001.png deleted file mode 100644 index 2ab14840..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TH.20-Mainnet/00001.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.20-Mainnet/00002.png b/tests/snapshots/nanos/test_transaction_manifest/TH.20-Mainnet/00002.png deleted file mode 100644 index c4c85af7..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TH.20-Mainnet/00002.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.20-Mainnet/00003.png b/tests/snapshots/nanos/test_transaction_manifest/TH.20-Mainnet/00003.png deleted file mode 100644 index 05f27c3a..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TH.20-Mainnet/00003.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.20-Mainnet/00004.png b/tests/snapshots/nanos/test_transaction_manifest/TH.20-Mainnet/00004.png deleted file mode 100644 index 5ebc5665..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TH.20-Mainnet/00004.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.20-Mainnet/00005.png b/tests/snapshots/nanos/test_transaction_manifest/TH.20-Mainnet/00005.png deleted file mode 100644 index f39812e8..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TH.20-Mainnet/00005.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.20-Mainnet/00006.png b/tests/snapshots/nanos/test_transaction_manifest/TH.20-Mainnet/00006.png deleted file mode 100644 index 41b0ce2b..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TH.20-Mainnet/00006.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.20-Mainnet/00007.png b/tests/snapshots/nanos/test_transaction_manifest/TH.20-Mainnet/00007.png deleted file mode 100644 index 44e7069e..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TH.20-Mainnet/00007.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.20-Mainnet/00008.png b/tests/snapshots/nanos/test_transaction_manifest/TH.20-Mainnet/00008.png deleted file mode 100644 index 7a5610fa..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TH.20-Mainnet/00008.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.20-Mainnet/00011.png b/tests/snapshots/nanos/test_transaction_manifest/TH.20-Mainnet/00011.png deleted file mode 100644 index 52b06db9..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TH.20-Mainnet/00011.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.20-Testnet/00000.png b/tests/snapshots/nanos/test_transaction_manifest/TH.20-Testnet/00000.png deleted file mode 100644 index 9f559904..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TH.20-Testnet/00000.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.20-Testnet/00001.png b/tests/snapshots/nanos/test_transaction_manifest/TH.20-Testnet/00001.png deleted file mode 100644 index f2422205..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TH.20-Testnet/00001.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.20-Testnet/00002.png b/tests/snapshots/nanos/test_transaction_manifest/TH.20-Testnet/00002.png deleted file mode 100644 index c4c85af7..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TH.20-Testnet/00002.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.20-Testnet/00003.png b/tests/snapshots/nanos/test_transaction_manifest/TH.20-Testnet/00003.png deleted file mode 100644 index 05f27c3a..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TH.20-Testnet/00003.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.20-Testnet/00004.png b/tests/snapshots/nanos/test_transaction_manifest/TH.20-Testnet/00004.png deleted file mode 100644 index 5ebc5665..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TH.20-Testnet/00004.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.20-Testnet/00005.png b/tests/snapshots/nanos/test_transaction_manifest/TH.20-Testnet/00005.png deleted file mode 100644 index f39812e8..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TH.20-Testnet/00005.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.20-Testnet/00006.png b/tests/snapshots/nanos/test_transaction_manifest/TH.20-Testnet/00006.png deleted file mode 100644 index 7a7c2869..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TH.20-Testnet/00006.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.20-Testnet/00007.png b/tests/snapshots/nanos/test_transaction_manifest/TH.20-Testnet/00007.png deleted file mode 100644 index 44e7069e..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TH.20-Testnet/00007.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.20-Testnet/00008.png b/tests/snapshots/nanos/test_transaction_manifest/TH.20-Testnet/00008.png deleted file mode 100644 index 7a5610fa..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TH.20-Testnet/00008.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.20-Testnet/00009.png b/tests/snapshots/nanos/test_transaction_manifest/TH.20-Testnet/00009.png deleted file mode 100644 index 61e19bd5..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TH.20-Testnet/00009.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.20-Testnet/00010.png b/tests/snapshots/nanos/test_transaction_manifest/TH.20-Testnet/00010.png deleted file mode 100644 index 0a500512..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TH.20-Testnet/00010.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.20-Testnet/00011.png b/tests/snapshots/nanos/test_transaction_manifest/TH.20-Testnet/00011.png deleted file mode 100644 index 52b06db9..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TH.20-Testnet/00011.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.21-Mainnet/00000.png b/tests/snapshots/nanos/test_transaction_manifest/TH.21-Mainnet/00000.png deleted file mode 100644 index b11129cf..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TH.21-Mainnet/00000.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.21-Mainnet/00001.png b/tests/snapshots/nanos/test_transaction_manifest/TH.21-Mainnet/00001.png deleted file mode 100644 index 2ab14840..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TH.21-Mainnet/00001.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.21-Mainnet/00002.png b/tests/snapshots/nanos/test_transaction_manifest/TH.21-Mainnet/00002.png deleted file mode 100644 index c4c85af7..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TH.21-Mainnet/00002.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.21-Mainnet/00003.png b/tests/snapshots/nanos/test_transaction_manifest/TH.21-Mainnet/00003.png deleted file mode 100644 index 05f27c3a..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TH.21-Mainnet/00003.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.21-Mainnet/00004.png b/tests/snapshots/nanos/test_transaction_manifest/TH.21-Mainnet/00004.png deleted file mode 100644 index 5ebc5665..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TH.21-Mainnet/00004.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.21-Mainnet/00005.png b/tests/snapshots/nanos/test_transaction_manifest/TH.21-Mainnet/00005.png deleted file mode 100644 index f39812e8..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TH.21-Mainnet/00005.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.21-Mainnet/00006.png b/tests/snapshots/nanos/test_transaction_manifest/TH.21-Mainnet/00006.png deleted file mode 100644 index 41b0ce2b..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TH.21-Mainnet/00006.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.21-Mainnet/00007.png b/tests/snapshots/nanos/test_transaction_manifest/TH.21-Mainnet/00007.png deleted file mode 100644 index 44e7069e..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TH.21-Mainnet/00007.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.21-Mainnet/00008.png b/tests/snapshots/nanos/test_transaction_manifest/TH.21-Mainnet/00008.png deleted file mode 100644 index 7a5610fa..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TH.21-Mainnet/00008.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.21-Mainnet/00011.png b/tests/snapshots/nanos/test_transaction_manifest/TH.21-Mainnet/00011.png deleted file mode 100644 index 52b06db9..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TH.21-Mainnet/00011.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.21-Testnet/00000.png b/tests/snapshots/nanos/test_transaction_manifest/TH.21-Testnet/00000.png deleted file mode 100644 index b11129cf..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TH.21-Testnet/00000.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.21-Testnet/00001.png b/tests/snapshots/nanos/test_transaction_manifest/TH.21-Testnet/00001.png deleted file mode 100644 index f2422205..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TH.21-Testnet/00001.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.21-Testnet/00002.png b/tests/snapshots/nanos/test_transaction_manifest/TH.21-Testnet/00002.png deleted file mode 100644 index c4c85af7..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TH.21-Testnet/00002.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.21-Testnet/00003.png b/tests/snapshots/nanos/test_transaction_manifest/TH.21-Testnet/00003.png deleted file mode 100644 index 05f27c3a..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TH.21-Testnet/00003.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.21-Testnet/00004.png b/tests/snapshots/nanos/test_transaction_manifest/TH.21-Testnet/00004.png deleted file mode 100644 index 5ebc5665..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TH.21-Testnet/00004.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.21-Testnet/00005.png b/tests/snapshots/nanos/test_transaction_manifest/TH.21-Testnet/00005.png deleted file mode 100644 index f39812e8..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TH.21-Testnet/00005.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.21-Testnet/00006.png b/tests/snapshots/nanos/test_transaction_manifest/TH.21-Testnet/00006.png deleted file mode 100644 index 7a7c2869..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TH.21-Testnet/00006.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.21-Testnet/00007.png b/tests/snapshots/nanos/test_transaction_manifest/TH.21-Testnet/00007.png deleted file mode 100644 index 44e7069e..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TH.21-Testnet/00007.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.21-Testnet/00008.png b/tests/snapshots/nanos/test_transaction_manifest/TH.21-Testnet/00008.png deleted file mode 100644 index 7a5610fa..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TH.21-Testnet/00008.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.21-Testnet/00009.png b/tests/snapshots/nanos/test_transaction_manifest/TH.21-Testnet/00009.png deleted file mode 100644 index 61e19bd5..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TH.21-Testnet/00009.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.21-Testnet/00010.png b/tests/snapshots/nanos/test_transaction_manifest/TH.21-Testnet/00010.png deleted file mode 100644 index 0a500512..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TH.21-Testnet/00010.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.21-Testnet/00011.png b/tests/snapshots/nanos/test_transaction_manifest/TH.21-Testnet/00011.png deleted file mode 100644 index 52b06db9..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TH.21-Testnet/00011.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.21-Testnet/00012.png b/tests/snapshots/nanos/test_transaction_manifest/TH.21-Testnet/00012.png deleted file mode 100644 index 006c26ab..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TH.21-Testnet/00012.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.21-Testnet/00013.png b/tests/snapshots/nanos/test_transaction_manifest/TH.21-Testnet/00013.png deleted file mode 100644 index 7f6ab5e6..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TH.21-Testnet/00013.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.22-Mainnet/00000.png b/tests/snapshots/nanos/test_transaction_manifest/TH.22-Mainnet/00000.png deleted file mode 100644 index 44994967..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TH.22-Mainnet/00000.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.22-Mainnet/00001.png b/tests/snapshots/nanos/test_transaction_manifest/TH.22-Mainnet/00001.png deleted file mode 100644 index 2ab14840..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TH.22-Mainnet/00001.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.22-Mainnet/00002.png b/tests/snapshots/nanos/test_transaction_manifest/TH.22-Mainnet/00002.png deleted file mode 100644 index c4c85af7..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TH.22-Mainnet/00002.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.22-Mainnet/00003.png b/tests/snapshots/nanos/test_transaction_manifest/TH.22-Mainnet/00003.png deleted file mode 100644 index 05f27c3a..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TH.22-Mainnet/00003.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.22-Mainnet/00004.png b/tests/snapshots/nanos/test_transaction_manifest/TH.22-Mainnet/00004.png deleted file mode 100644 index 5ebc5665..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TH.22-Mainnet/00004.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.22-Mainnet/00005.png b/tests/snapshots/nanos/test_transaction_manifest/TH.22-Mainnet/00005.png deleted file mode 100644 index f39812e8..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TH.22-Mainnet/00005.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.22-Mainnet/00006.png b/tests/snapshots/nanos/test_transaction_manifest/TH.22-Mainnet/00006.png deleted file mode 100644 index 41b0ce2b..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TH.22-Mainnet/00006.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.22-Mainnet/00007.png b/tests/snapshots/nanos/test_transaction_manifest/TH.22-Mainnet/00007.png deleted file mode 100644 index 44e7069e..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TH.22-Mainnet/00007.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.22-Mainnet/00008.png b/tests/snapshots/nanos/test_transaction_manifest/TH.22-Mainnet/00008.png deleted file mode 100644 index 7a5610fa..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TH.22-Mainnet/00008.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.22-Mainnet/00011.png b/tests/snapshots/nanos/test_transaction_manifest/TH.22-Mainnet/00011.png deleted file mode 100644 index 52b06db9..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TH.22-Mainnet/00011.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.22-Mainnet/00012.png b/tests/snapshots/nanos/test_transaction_manifest/TH.22-Mainnet/00012.png deleted file mode 100644 index 006c26ab..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TH.22-Mainnet/00012.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.22-Mainnet/00013.png b/tests/snapshots/nanos/test_transaction_manifest/TH.22-Mainnet/00013.png deleted file mode 100644 index 7f6ab5e6..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TH.22-Mainnet/00013.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.22-Testnet/00000.png b/tests/snapshots/nanos/test_transaction_manifest/TH.22-Testnet/00000.png deleted file mode 100644 index 44994967..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TH.22-Testnet/00000.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.22-Testnet/00001.png b/tests/snapshots/nanos/test_transaction_manifest/TH.22-Testnet/00001.png deleted file mode 100644 index f2422205..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TH.22-Testnet/00001.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.22-Testnet/00002.png b/tests/snapshots/nanos/test_transaction_manifest/TH.22-Testnet/00002.png deleted file mode 100644 index c4c85af7..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TH.22-Testnet/00002.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.22-Testnet/00003.png b/tests/snapshots/nanos/test_transaction_manifest/TH.22-Testnet/00003.png deleted file mode 100644 index 05f27c3a..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TH.22-Testnet/00003.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.22-Testnet/00004.png b/tests/snapshots/nanos/test_transaction_manifest/TH.22-Testnet/00004.png deleted file mode 100644 index 5ebc5665..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TH.22-Testnet/00004.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.22-Testnet/00005.png b/tests/snapshots/nanos/test_transaction_manifest/TH.22-Testnet/00005.png deleted file mode 100644 index f39812e8..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TH.22-Testnet/00005.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.22-Testnet/00006.png b/tests/snapshots/nanos/test_transaction_manifest/TH.22-Testnet/00006.png deleted file mode 100644 index 7a7c2869..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TH.22-Testnet/00006.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.22-Testnet/00007.png b/tests/snapshots/nanos/test_transaction_manifest/TH.22-Testnet/00007.png deleted file mode 100644 index 44e7069e..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TH.22-Testnet/00007.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.22-Testnet/00008.png b/tests/snapshots/nanos/test_transaction_manifest/TH.22-Testnet/00008.png deleted file mode 100644 index 7a5610fa..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TH.22-Testnet/00008.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.22-Testnet/00009.png b/tests/snapshots/nanos/test_transaction_manifest/TH.22-Testnet/00009.png deleted file mode 100644 index 61e19bd5..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TH.22-Testnet/00009.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.22-Testnet/00010.png b/tests/snapshots/nanos/test_transaction_manifest/TH.22-Testnet/00010.png deleted file mode 100644 index 0a500512..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TH.22-Testnet/00010.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.22-Testnet/00011.png b/tests/snapshots/nanos/test_transaction_manifest/TH.22-Testnet/00011.png deleted file mode 100644 index 52b06db9..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TH.22-Testnet/00011.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.22-Testnet/00012.png b/tests/snapshots/nanos/test_transaction_manifest/TH.22-Testnet/00012.png deleted file mode 100644 index 006c26ab..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TH.22-Testnet/00012.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.22-Testnet/00013.png b/tests/snapshots/nanos/test_transaction_manifest/TH.22-Testnet/00013.png deleted file mode 100644 index 7f6ab5e6..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TH.22-Testnet/00013.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.23-Mainnet/00000.png b/tests/snapshots/nanos/test_transaction_manifest/TH.23-Mainnet/00000.png deleted file mode 100644 index 66257354..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TH.23-Mainnet/00000.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.23-Mainnet/00001.png b/tests/snapshots/nanos/test_transaction_manifest/TH.23-Mainnet/00001.png deleted file mode 100644 index 2ab14840..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TH.23-Mainnet/00001.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.23-Mainnet/00002.png b/tests/snapshots/nanos/test_transaction_manifest/TH.23-Mainnet/00002.png deleted file mode 100644 index c4c85af7..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TH.23-Mainnet/00002.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.23-Mainnet/00003.png b/tests/snapshots/nanos/test_transaction_manifest/TH.23-Mainnet/00003.png deleted file mode 100644 index 05f27c3a..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TH.23-Mainnet/00003.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.23-Mainnet/00004.png b/tests/snapshots/nanos/test_transaction_manifest/TH.23-Mainnet/00004.png deleted file mode 100644 index 5ebc5665..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TH.23-Mainnet/00004.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.23-Mainnet/00005.png b/tests/snapshots/nanos/test_transaction_manifest/TH.23-Mainnet/00005.png deleted file mode 100644 index f39812e8..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TH.23-Mainnet/00005.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.23-Mainnet/00006.png b/tests/snapshots/nanos/test_transaction_manifest/TH.23-Mainnet/00006.png deleted file mode 100644 index 41b0ce2b..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TH.23-Mainnet/00006.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.23-Mainnet/00007.png b/tests/snapshots/nanos/test_transaction_manifest/TH.23-Mainnet/00007.png deleted file mode 100644 index 44e7069e..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TH.23-Mainnet/00007.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.23-Mainnet/00008.png b/tests/snapshots/nanos/test_transaction_manifest/TH.23-Mainnet/00008.png deleted file mode 100644 index 7a5610fa..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TH.23-Mainnet/00008.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.23-Mainnet/00011.png b/tests/snapshots/nanos/test_transaction_manifest/TH.23-Mainnet/00011.png deleted file mode 100644 index 52b06db9..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TH.23-Mainnet/00011.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.23-Mainnet/00012.png b/tests/snapshots/nanos/test_transaction_manifest/TH.23-Mainnet/00012.png deleted file mode 100644 index 006c26ab..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TH.23-Mainnet/00012.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.23-Mainnet/00013.png b/tests/snapshots/nanos/test_transaction_manifest/TH.23-Mainnet/00013.png deleted file mode 100644 index 7f6ab5e6..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TH.23-Mainnet/00013.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.23-Testnet/00000.png b/tests/snapshots/nanos/test_transaction_manifest/TH.23-Testnet/00000.png deleted file mode 100644 index 66257354..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TH.23-Testnet/00000.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.23-Testnet/00001.png b/tests/snapshots/nanos/test_transaction_manifest/TH.23-Testnet/00001.png deleted file mode 100644 index f2422205..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TH.23-Testnet/00001.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.23-Testnet/00002.png b/tests/snapshots/nanos/test_transaction_manifest/TH.23-Testnet/00002.png deleted file mode 100644 index c4c85af7..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TH.23-Testnet/00002.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.23-Testnet/00003.png b/tests/snapshots/nanos/test_transaction_manifest/TH.23-Testnet/00003.png deleted file mode 100644 index 05f27c3a..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TH.23-Testnet/00003.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.23-Testnet/00004.png b/tests/snapshots/nanos/test_transaction_manifest/TH.23-Testnet/00004.png deleted file mode 100644 index 5ebc5665..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TH.23-Testnet/00004.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.23-Testnet/00005.png b/tests/snapshots/nanos/test_transaction_manifest/TH.23-Testnet/00005.png deleted file mode 100644 index f39812e8..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TH.23-Testnet/00005.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.23-Testnet/00006.png b/tests/snapshots/nanos/test_transaction_manifest/TH.23-Testnet/00006.png deleted file mode 100644 index 7a7c2869..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TH.23-Testnet/00006.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.23-Testnet/00007.png b/tests/snapshots/nanos/test_transaction_manifest/TH.23-Testnet/00007.png deleted file mode 100644 index 44e7069e..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TH.23-Testnet/00007.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.23-Testnet/00008.png b/tests/snapshots/nanos/test_transaction_manifest/TH.23-Testnet/00008.png deleted file mode 100644 index 7a5610fa..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TH.23-Testnet/00008.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.23-Testnet/00009.png b/tests/snapshots/nanos/test_transaction_manifest/TH.23-Testnet/00009.png deleted file mode 100644 index 61e19bd5..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TH.23-Testnet/00009.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.23-Testnet/00010.png b/tests/snapshots/nanos/test_transaction_manifest/TH.23-Testnet/00010.png deleted file mode 100644 index 0a500512..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TH.23-Testnet/00010.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.23-Testnet/00011.png b/tests/snapshots/nanos/test_transaction_manifest/TH.23-Testnet/00011.png deleted file mode 100644 index 52b06db9..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TH.23-Testnet/00011.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.23-Testnet/00012.png b/tests/snapshots/nanos/test_transaction_manifest/TH.23-Testnet/00012.png deleted file mode 100644 index 006c26ab..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TH.23-Testnet/00012.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.23-Testnet/00013.png b/tests/snapshots/nanos/test_transaction_manifest/TH.23-Testnet/00013.png deleted file mode 100644 index 7f6ab5e6..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TH.23-Testnet/00013.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.24-Mainnet/00000.png b/tests/snapshots/nanos/test_transaction_manifest/TH.24-Mainnet/00000.png deleted file mode 100644 index 8621b49e..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TH.24-Mainnet/00000.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.24-Mainnet/00001.png b/tests/snapshots/nanos/test_transaction_manifest/TH.24-Mainnet/00001.png deleted file mode 100644 index 2ab14840..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TH.24-Mainnet/00001.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.24-Mainnet/00002.png b/tests/snapshots/nanos/test_transaction_manifest/TH.24-Mainnet/00002.png deleted file mode 100644 index c4c85af7..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TH.24-Mainnet/00002.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.24-Mainnet/00003.png b/tests/snapshots/nanos/test_transaction_manifest/TH.24-Mainnet/00003.png deleted file mode 100644 index 05f27c3a..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TH.24-Mainnet/00003.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.24-Mainnet/00004.png b/tests/snapshots/nanos/test_transaction_manifest/TH.24-Mainnet/00004.png deleted file mode 100644 index 5ebc5665..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TH.24-Mainnet/00004.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.24-Mainnet/00005.png b/tests/snapshots/nanos/test_transaction_manifest/TH.24-Mainnet/00005.png deleted file mode 100644 index f39812e8..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TH.24-Mainnet/00005.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.24-Mainnet/00006.png b/tests/snapshots/nanos/test_transaction_manifest/TH.24-Mainnet/00006.png deleted file mode 100644 index 41b0ce2b..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TH.24-Mainnet/00006.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.24-Mainnet/00007.png b/tests/snapshots/nanos/test_transaction_manifest/TH.24-Mainnet/00007.png deleted file mode 100644 index 44e7069e..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TH.24-Mainnet/00007.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.24-Mainnet/00008.png b/tests/snapshots/nanos/test_transaction_manifest/TH.24-Mainnet/00008.png deleted file mode 100644 index 7a5610fa..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TH.24-Mainnet/00008.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.24-Mainnet/00011.png b/tests/snapshots/nanos/test_transaction_manifest/TH.24-Mainnet/00011.png deleted file mode 100644 index 52b06db9..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TH.24-Mainnet/00011.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.24-Mainnet/00012.png b/tests/snapshots/nanos/test_transaction_manifest/TH.24-Mainnet/00012.png deleted file mode 100644 index 006c26ab..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TH.24-Mainnet/00012.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.24-Mainnet/00013.png b/tests/snapshots/nanos/test_transaction_manifest/TH.24-Mainnet/00013.png deleted file mode 100644 index 7f6ab5e6..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TH.24-Mainnet/00013.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.24-Testnet/00000.png b/tests/snapshots/nanos/test_transaction_manifest/TH.24-Testnet/00000.png deleted file mode 100644 index 8621b49e..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TH.24-Testnet/00000.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.24-Testnet/00001.png b/tests/snapshots/nanos/test_transaction_manifest/TH.24-Testnet/00001.png deleted file mode 100644 index f2422205..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TH.24-Testnet/00001.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.24-Testnet/00002.png b/tests/snapshots/nanos/test_transaction_manifest/TH.24-Testnet/00002.png deleted file mode 100644 index c4c85af7..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TH.24-Testnet/00002.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.24-Testnet/00003.png b/tests/snapshots/nanos/test_transaction_manifest/TH.24-Testnet/00003.png deleted file mode 100644 index 05f27c3a..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TH.24-Testnet/00003.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.24-Testnet/00004.png b/tests/snapshots/nanos/test_transaction_manifest/TH.24-Testnet/00004.png deleted file mode 100644 index 5ebc5665..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TH.24-Testnet/00004.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.24-Testnet/00005.png b/tests/snapshots/nanos/test_transaction_manifest/TH.24-Testnet/00005.png deleted file mode 100644 index f39812e8..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TH.24-Testnet/00005.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.24-Testnet/00006.png b/tests/snapshots/nanos/test_transaction_manifest/TH.24-Testnet/00006.png deleted file mode 100644 index 7a7c2869..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TH.24-Testnet/00006.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.24-Testnet/00007.png b/tests/snapshots/nanos/test_transaction_manifest/TH.24-Testnet/00007.png deleted file mode 100644 index 44e7069e..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TH.24-Testnet/00007.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.24-Testnet/00008.png b/tests/snapshots/nanos/test_transaction_manifest/TH.24-Testnet/00008.png deleted file mode 100644 index 7a5610fa..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TH.24-Testnet/00008.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.24-Testnet/00009.png b/tests/snapshots/nanos/test_transaction_manifest/TH.24-Testnet/00009.png deleted file mode 100644 index 61e19bd5..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TH.24-Testnet/00009.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.24-Testnet/00010.png b/tests/snapshots/nanos/test_transaction_manifest/TH.24-Testnet/00010.png deleted file mode 100644 index 0a500512..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TH.24-Testnet/00010.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.24-Testnet/00011.png b/tests/snapshots/nanos/test_transaction_manifest/TH.24-Testnet/00011.png deleted file mode 100644 index 52b06db9..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TH.24-Testnet/00011.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.24-Testnet/00012.png b/tests/snapshots/nanos/test_transaction_manifest/TH.24-Testnet/00012.png deleted file mode 100644 index 006c26ab..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TH.24-Testnet/00012.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.24-Testnet/00013.png b/tests/snapshots/nanos/test_transaction_manifest/TH.24-Testnet/00013.png deleted file mode 100644 index 7f6ab5e6..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TH.24-Testnet/00013.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.25-Mainnet/00000.png b/tests/snapshots/nanos/test_transaction_manifest/TH.25-Mainnet/00000.png deleted file mode 100644 index c6db761f..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TH.25-Mainnet/00000.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.25-Mainnet/00001.png b/tests/snapshots/nanos/test_transaction_manifest/TH.25-Mainnet/00001.png deleted file mode 100644 index 2ab14840..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TH.25-Mainnet/00001.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.25-Mainnet/00002.png b/tests/snapshots/nanos/test_transaction_manifest/TH.25-Mainnet/00002.png deleted file mode 100644 index 2fbfe842..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TH.25-Mainnet/00002.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.25-Mainnet/00003.png b/tests/snapshots/nanos/test_transaction_manifest/TH.25-Mainnet/00003.png deleted file mode 100644 index 05f27c3a..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TH.25-Mainnet/00003.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.25-Mainnet/00004.png b/tests/snapshots/nanos/test_transaction_manifest/TH.25-Mainnet/00004.png deleted file mode 100644 index 5ebc5665..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TH.25-Mainnet/00004.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.25-Mainnet/00005.png b/tests/snapshots/nanos/test_transaction_manifest/TH.25-Mainnet/00005.png deleted file mode 100644 index f39812e8..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TH.25-Mainnet/00005.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.25-Mainnet/00006.png b/tests/snapshots/nanos/test_transaction_manifest/TH.25-Mainnet/00006.png deleted file mode 100644 index 41b0ce2b..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TH.25-Mainnet/00006.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.25-Mainnet/00007.png b/tests/snapshots/nanos/test_transaction_manifest/TH.25-Mainnet/00007.png deleted file mode 100644 index 44e7069e..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TH.25-Mainnet/00007.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.25-Mainnet/00008.png b/tests/snapshots/nanos/test_transaction_manifest/TH.25-Mainnet/00008.png deleted file mode 100644 index 7a5610fa..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TH.25-Mainnet/00008.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.25-Mainnet/00011.png b/tests/snapshots/nanos/test_transaction_manifest/TH.25-Mainnet/00011.png deleted file mode 100644 index 52b06db9..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TH.25-Mainnet/00011.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.25-Mainnet/00012.png b/tests/snapshots/nanos/test_transaction_manifest/TH.25-Mainnet/00012.png deleted file mode 100644 index 006c26ab..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TH.25-Mainnet/00012.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.25-Mainnet/00013.png b/tests/snapshots/nanos/test_transaction_manifest/TH.25-Mainnet/00013.png deleted file mode 100644 index 7f6ab5e6..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TH.25-Mainnet/00013.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.25-Testnet/00000.png b/tests/snapshots/nanos/test_transaction_manifest/TH.25-Testnet/00000.png deleted file mode 100644 index c6db761f..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TH.25-Testnet/00000.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.25-Testnet/00001.png b/tests/snapshots/nanos/test_transaction_manifest/TH.25-Testnet/00001.png deleted file mode 100644 index f2422205..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TH.25-Testnet/00001.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.25-Testnet/00002.png b/tests/snapshots/nanos/test_transaction_manifest/TH.25-Testnet/00002.png deleted file mode 100644 index 2fbfe842..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TH.25-Testnet/00002.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.25-Testnet/00003.png b/tests/snapshots/nanos/test_transaction_manifest/TH.25-Testnet/00003.png deleted file mode 100644 index 05f27c3a..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TH.25-Testnet/00003.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.25-Testnet/00004.png b/tests/snapshots/nanos/test_transaction_manifest/TH.25-Testnet/00004.png deleted file mode 100644 index 5ebc5665..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TH.25-Testnet/00004.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.25-Testnet/00005.png b/tests/snapshots/nanos/test_transaction_manifest/TH.25-Testnet/00005.png deleted file mode 100644 index f39812e8..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TH.25-Testnet/00005.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.25-Testnet/00006.png b/tests/snapshots/nanos/test_transaction_manifest/TH.25-Testnet/00006.png deleted file mode 100644 index 7a7c2869..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TH.25-Testnet/00006.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.25-Testnet/00007.png b/tests/snapshots/nanos/test_transaction_manifest/TH.25-Testnet/00007.png deleted file mode 100644 index 44e7069e..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TH.25-Testnet/00007.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.25-Testnet/00008.png b/tests/snapshots/nanos/test_transaction_manifest/TH.25-Testnet/00008.png deleted file mode 100644 index 7a5610fa..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TH.25-Testnet/00008.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.25-Testnet/00009.png b/tests/snapshots/nanos/test_transaction_manifest/TH.25-Testnet/00009.png deleted file mode 100644 index 61e19bd5..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TH.25-Testnet/00009.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.25-Testnet/00010.png b/tests/snapshots/nanos/test_transaction_manifest/TH.25-Testnet/00010.png deleted file mode 100644 index 0a500512..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TH.25-Testnet/00010.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.25-Testnet/00011.png b/tests/snapshots/nanos/test_transaction_manifest/TH.25-Testnet/00011.png deleted file mode 100644 index 52b06db9..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TH.25-Testnet/00011.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.25-Testnet/00012.png b/tests/snapshots/nanos/test_transaction_manifest/TH.25-Testnet/00012.png deleted file mode 100644 index 006c26ab..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TH.25-Testnet/00012.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.25-Testnet/00013.png b/tests/snapshots/nanos/test_transaction_manifest/TH.25-Testnet/00013.png deleted file mode 100644 index 7f6ab5e6..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TH.25-Testnet/00013.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TS.01-Mainnet/00000.png b/tests/snapshots/nanos/test_transaction_manifest/TS.01-Mainnet/00000.png deleted file mode 100644 index 50b9157a..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TS.01-Mainnet/00000.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TS.01-Mainnet/00001.png b/tests/snapshots/nanos/test_transaction_manifest/TS.01-Mainnet/00001.png deleted file mode 100644 index 2ab14840..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TS.01-Mainnet/00001.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TS.01-Mainnet/00002.png b/tests/snapshots/nanos/test_transaction_manifest/TS.01-Mainnet/00002.png deleted file mode 100644 index 05f27c3a..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TS.01-Mainnet/00002.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TS.01-Mainnet/00003.png b/tests/snapshots/nanos/test_transaction_manifest/TS.01-Mainnet/00003.png deleted file mode 100644 index 5ebc5665..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TS.01-Mainnet/00003.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TS.01-Mainnet/00004.png b/tests/snapshots/nanos/test_transaction_manifest/TS.01-Mainnet/00004.png deleted file mode 100644 index f39812e8..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TS.01-Mainnet/00004.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TS.01-Mainnet/00005.png b/tests/snapshots/nanos/test_transaction_manifest/TS.01-Mainnet/00005.png deleted file mode 100644 index 41b0ce2b..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TS.01-Mainnet/00005.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TS.01-Mainnet/00006.png b/tests/snapshots/nanos/test_transaction_manifest/TS.01-Mainnet/00006.png deleted file mode 100644 index 44e7069e..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TS.01-Mainnet/00006.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TS.01-Mainnet/00007.png b/tests/snapshots/nanos/test_transaction_manifest/TS.01-Mainnet/00007.png deleted file mode 100644 index 7a5610fa..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TS.01-Mainnet/00007.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TS.01-Mainnet/00010.png b/tests/snapshots/nanos/test_transaction_manifest/TS.01-Mainnet/00010.png deleted file mode 100644 index 52b06db9..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TS.01-Mainnet/00010.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TS.01-Mainnet/00011.png b/tests/snapshots/nanos/test_transaction_manifest/TS.01-Mainnet/00011.png deleted file mode 100644 index 006c26ab..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TS.01-Mainnet/00011.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TS.01-Mainnet/00012.png b/tests/snapshots/nanos/test_transaction_manifest/TS.01-Mainnet/00012.png deleted file mode 100644 index 7f6ab5e6..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TS.01-Mainnet/00012.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TS.01-Testnet/00000.png b/tests/snapshots/nanos/test_transaction_manifest/TS.01-Testnet/00000.png deleted file mode 100644 index 50b9157a..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TS.01-Testnet/00000.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TS.01-Testnet/00001.png b/tests/snapshots/nanos/test_transaction_manifest/TS.01-Testnet/00001.png deleted file mode 100644 index f2422205..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TS.01-Testnet/00001.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TS.01-Testnet/00002.png b/tests/snapshots/nanos/test_transaction_manifest/TS.01-Testnet/00002.png deleted file mode 100644 index 05f27c3a..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TS.01-Testnet/00002.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TS.01-Testnet/00003.png b/tests/snapshots/nanos/test_transaction_manifest/TS.01-Testnet/00003.png deleted file mode 100644 index 5ebc5665..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TS.01-Testnet/00003.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TS.01-Testnet/00004.png b/tests/snapshots/nanos/test_transaction_manifest/TS.01-Testnet/00004.png deleted file mode 100644 index f39812e8..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TS.01-Testnet/00004.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TS.01-Testnet/00005.png b/tests/snapshots/nanos/test_transaction_manifest/TS.01-Testnet/00005.png deleted file mode 100644 index 7a7c2869..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TS.01-Testnet/00005.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TS.01-Testnet/00006.png b/tests/snapshots/nanos/test_transaction_manifest/TS.01-Testnet/00006.png deleted file mode 100644 index 44e7069e..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TS.01-Testnet/00006.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TS.01-Testnet/00007.png b/tests/snapshots/nanos/test_transaction_manifest/TS.01-Testnet/00007.png deleted file mode 100644 index 7a5610fa..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TS.01-Testnet/00007.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TS.01-Testnet/00008.png b/tests/snapshots/nanos/test_transaction_manifest/TS.01-Testnet/00008.png deleted file mode 100644 index 61e19bd5..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TS.01-Testnet/00008.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TS.01-Testnet/00009.png b/tests/snapshots/nanos/test_transaction_manifest/TS.01-Testnet/00009.png deleted file mode 100644 index 0a500512..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TS.01-Testnet/00009.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TS.01-Testnet/00010.png b/tests/snapshots/nanos/test_transaction_manifest/TS.01-Testnet/00010.png deleted file mode 100644 index 52b06db9..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TS.01-Testnet/00010.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TS.01-Testnet/00011.png b/tests/snapshots/nanos/test_transaction_manifest/TS.01-Testnet/00011.png deleted file mode 100644 index 006c26ab..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TS.01-Testnet/00011.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TS.01-Testnet/00012.png b/tests/snapshots/nanos/test_transaction_manifest/TS.01-Testnet/00012.png deleted file mode 100644 index 7f6ab5e6..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TS.01-Testnet/00012.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TS.02-Mainnet/00000.png b/tests/snapshots/nanos/test_transaction_manifest/TS.02-Mainnet/00000.png deleted file mode 100644 index ef96a14f..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TS.02-Mainnet/00000.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TS.02-Mainnet/00001.png b/tests/snapshots/nanos/test_transaction_manifest/TS.02-Mainnet/00001.png deleted file mode 100644 index 2ab14840..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TS.02-Mainnet/00001.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TS.02-Mainnet/00003.png b/tests/snapshots/nanos/test_transaction_manifest/TS.02-Mainnet/00003.png deleted file mode 100644 index a19038a2..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TS.02-Mainnet/00003.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TS.02-Testnet/00000.png b/tests/snapshots/nanos/test_transaction_manifest/TS.02-Testnet/00000.png deleted file mode 100644 index ef96a14f..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TS.02-Testnet/00000.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TS.02-Testnet/00001.png b/tests/snapshots/nanos/test_transaction_manifest/TS.02-Testnet/00001.png deleted file mode 100644 index f2422205..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TS.02-Testnet/00001.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TS.02-Testnet/00003.png b/tests/snapshots/nanos/test_transaction_manifest/TS.02-Testnet/00003.png deleted file mode 100644 index a19038a2..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/TS.02-Testnet/00003.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/USDC.01-Mainnet/00000.png b/tests/snapshots/nanos/test_transaction_manifest/USDC.01-Mainnet/00000.png deleted file mode 100644 index df13ffdc..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/USDC.01-Mainnet/00000.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/USDC.01-Mainnet/00001.png b/tests/snapshots/nanos/test_transaction_manifest/USDC.01-Mainnet/00001.png deleted file mode 100644 index 2ab14840..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/USDC.01-Mainnet/00001.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/USDC.01-Mainnet/00002.png b/tests/snapshots/nanos/test_transaction_manifest/USDC.01-Mainnet/00002.png deleted file mode 100644 index 05f27c3a..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/USDC.01-Mainnet/00002.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/USDC.01-Mainnet/00003.png b/tests/snapshots/nanos/test_transaction_manifest/USDC.01-Mainnet/00003.png deleted file mode 100644 index 5ebc5665..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/USDC.01-Mainnet/00003.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/USDC.01-Mainnet/00004.png b/tests/snapshots/nanos/test_transaction_manifest/USDC.01-Mainnet/00004.png deleted file mode 100644 index f39812e8..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/USDC.01-Mainnet/00004.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/USDC.01-Mainnet/00005.png b/tests/snapshots/nanos/test_transaction_manifest/USDC.01-Mainnet/00005.png deleted file mode 100644 index 41b0ce2b..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/USDC.01-Mainnet/00005.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/USDC.01-Mainnet/00006.png b/tests/snapshots/nanos/test_transaction_manifest/USDC.01-Mainnet/00006.png deleted file mode 100644 index 44e7069e..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/USDC.01-Mainnet/00006.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/USDC.01-Mainnet/00007.png b/tests/snapshots/nanos/test_transaction_manifest/USDC.01-Mainnet/00007.png deleted file mode 100644 index 7a5610fa..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/USDC.01-Mainnet/00007.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/USDC.01-Mainnet/00008.png b/tests/snapshots/nanos/test_transaction_manifest/USDC.01-Mainnet/00008.png deleted file mode 100644 index 55ce7183..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/USDC.01-Mainnet/00008.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/USDC.01-Mainnet/00010.png b/tests/snapshots/nanos/test_transaction_manifest/USDC.01-Mainnet/00010.png deleted file mode 100644 index 52b06db9..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/USDC.01-Mainnet/00010.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/USDC.01-Mainnet/00011.png b/tests/snapshots/nanos/test_transaction_manifest/USDC.01-Mainnet/00011.png deleted file mode 100644 index 006c26ab..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/USDC.01-Mainnet/00011.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/USDC.01-Mainnet/00012.png b/tests/snapshots/nanos/test_transaction_manifest/USDC.01-Mainnet/00012.png deleted file mode 100644 index 7f6ab5e6..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/USDC.01-Mainnet/00012.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/USDC.01-Testnet/00000.png b/tests/snapshots/nanos/test_transaction_manifest/USDC.01-Testnet/00000.png deleted file mode 100644 index df13ffdc..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/USDC.01-Testnet/00000.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/USDC.01-Testnet/00001.png b/tests/snapshots/nanos/test_transaction_manifest/USDC.01-Testnet/00001.png deleted file mode 100644 index f2422205..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/USDC.01-Testnet/00001.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/USDC.01-Testnet/00002.png b/tests/snapshots/nanos/test_transaction_manifest/USDC.01-Testnet/00002.png deleted file mode 100644 index 05f27c3a..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/USDC.01-Testnet/00002.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/USDC.01-Testnet/00003.png b/tests/snapshots/nanos/test_transaction_manifest/USDC.01-Testnet/00003.png deleted file mode 100644 index 5ebc5665..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/USDC.01-Testnet/00003.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/USDC.01-Testnet/00004.png b/tests/snapshots/nanos/test_transaction_manifest/USDC.01-Testnet/00004.png deleted file mode 100644 index f39812e8..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/USDC.01-Testnet/00004.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/USDC.01-Testnet/00005.png b/tests/snapshots/nanos/test_transaction_manifest/USDC.01-Testnet/00005.png deleted file mode 100644 index 7a7c2869..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/USDC.01-Testnet/00005.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/USDC.01-Testnet/00006.png b/tests/snapshots/nanos/test_transaction_manifest/USDC.01-Testnet/00006.png deleted file mode 100644 index 44e7069e..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/USDC.01-Testnet/00006.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/USDC.01-Testnet/00007.png b/tests/snapshots/nanos/test_transaction_manifest/USDC.01-Testnet/00007.png deleted file mode 100644 index 7a5610fa..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/USDC.01-Testnet/00007.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/USDC.01-Testnet/00008.png b/tests/snapshots/nanos/test_transaction_manifest/USDC.01-Testnet/00008.png deleted file mode 100644 index 61e19bd5..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/USDC.01-Testnet/00008.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/USDC.01-Testnet/00009.png b/tests/snapshots/nanos/test_transaction_manifest/USDC.01-Testnet/00009.png deleted file mode 100644 index 0a500512..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/USDC.01-Testnet/00009.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/USDC.01-Testnet/00010.png b/tests/snapshots/nanos/test_transaction_manifest/USDC.01-Testnet/00010.png deleted file mode 100644 index 52b06db9..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/USDC.01-Testnet/00010.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/USDC.01-Testnet/00011.png b/tests/snapshots/nanos/test_transaction_manifest/USDC.01-Testnet/00011.png deleted file mode 100644 index 006c26ab..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/USDC.01-Testnet/00011.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/USDC.01-Testnet/00012.png b/tests/snapshots/nanos/test_transaction_manifest/USDC.01-Testnet/00012.png deleted file mode 100644 index 7f6ab5e6..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/USDC.01-Testnet/00012.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/USDC.02-Mainnet/00000.png b/tests/snapshots/nanos/test_transaction_manifest/USDC.02-Mainnet/00000.png deleted file mode 100644 index c1fa3a9c..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/USDC.02-Mainnet/00000.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/USDC.02-Mainnet/00001.png b/tests/snapshots/nanos/test_transaction_manifest/USDC.02-Mainnet/00001.png deleted file mode 100644 index 2ab14840..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/USDC.02-Mainnet/00001.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/USDC.02-Mainnet/00002.png b/tests/snapshots/nanos/test_transaction_manifest/USDC.02-Mainnet/00002.png deleted file mode 100644 index a044fb95..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/USDC.02-Mainnet/00002.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/USDC.02-Mainnet/00004.png b/tests/snapshots/nanos/test_transaction_manifest/USDC.02-Mainnet/00004.png deleted file mode 100644 index 05f27c3a..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/USDC.02-Mainnet/00004.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/USDC.02-Mainnet/00005.png b/tests/snapshots/nanos/test_transaction_manifest/USDC.02-Mainnet/00005.png deleted file mode 100644 index 5ebc5665..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/USDC.02-Mainnet/00005.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/USDC.02-Mainnet/00006.png b/tests/snapshots/nanos/test_transaction_manifest/USDC.02-Mainnet/00006.png deleted file mode 100644 index f39812e8..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/USDC.02-Mainnet/00006.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/USDC.02-Mainnet/00007.png b/tests/snapshots/nanos/test_transaction_manifest/USDC.02-Mainnet/00007.png deleted file mode 100644 index 41b0ce2b..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/USDC.02-Mainnet/00007.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/USDC.02-Mainnet/00008.png b/tests/snapshots/nanos/test_transaction_manifest/USDC.02-Mainnet/00008.png deleted file mode 100644 index 44e7069e..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/USDC.02-Mainnet/00008.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/USDC.02-Mainnet/00009.png b/tests/snapshots/nanos/test_transaction_manifest/USDC.02-Mainnet/00009.png deleted file mode 100644 index 7a5610fa..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/USDC.02-Mainnet/00009.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/USDC.02-Mainnet/00010.png b/tests/snapshots/nanos/test_transaction_manifest/USDC.02-Mainnet/00010.png deleted file mode 100644 index 55ce7183..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/USDC.02-Mainnet/00010.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/USDC.02-Mainnet/00011.png b/tests/snapshots/nanos/test_transaction_manifest/USDC.02-Mainnet/00011.png deleted file mode 100644 index c4016375..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/USDC.02-Mainnet/00011.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/USDC.02-Mainnet/00012.png b/tests/snapshots/nanos/test_transaction_manifest/USDC.02-Mainnet/00012.png deleted file mode 100644 index 52b06db9..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/USDC.02-Mainnet/00012.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/USDC.02-Mainnet/00013.png b/tests/snapshots/nanos/test_transaction_manifest/USDC.02-Mainnet/00013.png deleted file mode 100644 index 006c26ab..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/USDC.02-Mainnet/00013.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/USDC.02-Mainnet/00014.png b/tests/snapshots/nanos/test_transaction_manifest/USDC.02-Mainnet/00014.png deleted file mode 100644 index 7f6ab5e6..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/USDC.02-Mainnet/00014.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/USDC.02-Testnet/00000.png b/tests/snapshots/nanos/test_transaction_manifest/USDC.02-Testnet/00000.png deleted file mode 100644 index c1fa3a9c..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/USDC.02-Testnet/00000.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/USDC.02-Testnet/00001.png b/tests/snapshots/nanos/test_transaction_manifest/USDC.02-Testnet/00001.png deleted file mode 100644 index f2422205..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/USDC.02-Testnet/00001.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/USDC.02-Testnet/00002.png b/tests/snapshots/nanos/test_transaction_manifest/USDC.02-Testnet/00002.png deleted file mode 100644 index a044fb95..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/USDC.02-Testnet/00002.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/USDC.02-Testnet/00004.png b/tests/snapshots/nanos/test_transaction_manifest/USDC.02-Testnet/00004.png deleted file mode 100644 index 05f27c3a..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/USDC.02-Testnet/00004.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/USDC.02-Testnet/00005.png b/tests/snapshots/nanos/test_transaction_manifest/USDC.02-Testnet/00005.png deleted file mode 100644 index 5ebc5665..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/USDC.02-Testnet/00005.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/USDC.02-Testnet/00006.png b/tests/snapshots/nanos/test_transaction_manifest/USDC.02-Testnet/00006.png deleted file mode 100644 index f39812e8..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/USDC.02-Testnet/00006.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/USDC.02-Testnet/00007.png b/tests/snapshots/nanos/test_transaction_manifest/USDC.02-Testnet/00007.png deleted file mode 100644 index 7a7c2869..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/USDC.02-Testnet/00007.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/USDC.02-Testnet/00008.png b/tests/snapshots/nanos/test_transaction_manifest/USDC.02-Testnet/00008.png deleted file mode 100644 index 44e7069e..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/USDC.02-Testnet/00008.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/USDC.02-Testnet/00009.png b/tests/snapshots/nanos/test_transaction_manifest/USDC.02-Testnet/00009.png deleted file mode 100644 index 7a5610fa..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/USDC.02-Testnet/00009.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/USDC.02-Testnet/00010.png b/tests/snapshots/nanos/test_transaction_manifest/USDC.02-Testnet/00010.png deleted file mode 100644 index 61e19bd5..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/USDC.02-Testnet/00010.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/USDC.02-Testnet/00011.png b/tests/snapshots/nanos/test_transaction_manifest/USDC.02-Testnet/00011.png deleted file mode 100644 index 0a500512..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/USDC.02-Testnet/00011.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/USDC.02-Testnet/00012.png b/tests/snapshots/nanos/test_transaction_manifest/USDC.02-Testnet/00012.png deleted file mode 100644 index 52b06db9..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/USDC.02-Testnet/00012.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/USDC.02-Testnet/00013.png b/tests/snapshots/nanos/test_transaction_manifest/USDC.02-Testnet/00013.png deleted file mode 100644 index 006c26ab..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/USDC.02-Testnet/00013.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/USDC.02-Testnet/00014.png b/tests/snapshots/nanos/test_transaction_manifest/USDC.02-Testnet/00014.png deleted file mode 100644 index 7f6ab5e6..00000000 Binary files a/tests/snapshots/nanos/test_transaction_manifest/USDC.02-Testnet/00014.png and /dev/null differ diff --git a/tests/snapshots/nanos/test_transaction_params/part1/00000.png b/tests/snapshots/nanos/test_transaction_params/part1/00000.png index b338763e..a91c2dbb 100644 Binary files a/tests/snapshots/nanos/test_transaction_params/part1/00000.png and b/tests/snapshots/nanos/test_transaction_params/part1/00000.png differ diff --git a/tests/snapshots/nanos/test_transaction_params/part1/00001.png b/tests/snapshots/nanos/test_transaction_params/part1/00001.png index 4ffe73a4..2ab14840 100644 Binary files a/tests/snapshots/nanos/test_transaction_params/part1/00001.png and b/tests/snapshots/nanos/test_transaction_params/part1/00001.png differ diff --git a/tests/snapshots/nanos/test_transaction_params/part1/00002.png b/tests/snapshots/nanos/test_transaction_params/part1/00002.png index 1556d048..b37540ce 100644 Binary files a/tests/snapshots/nanos/test_transaction_params/part1/00002.png and b/tests/snapshots/nanos/test_transaction_params/part1/00002.png differ diff --git a/tests/snapshots/nanos/test_transaction_params/part1/00003.png b/tests/snapshots/nanos/test_transaction_params/part1/00003.png index 6e60758e..db6a7d25 100644 Binary files a/tests/snapshots/nanos/test_transaction_params/part1/00003.png and b/tests/snapshots/nanos/test_transaction_params/part1/00003.png differ diff --git a/tests/snapshots/nanos/test_transaction_params/part1/00004.png b/tests/snapshots/nanos/test_transaction_params/part1/00004.png index 05f27c3a..83d83228 100644 Binary files a/tests/snapshots/nanos/test_transaction_params/part1/00004.png and b/tests/snapshots/nanos/test_transaction_params/part1/00004.png differ diff --git a/tests/snapshots/nanos/test_transaction_params/part1/00005.png b/tests/snapshots/nanos/test_transaction_params/part1/00005.png index 5ebc5665..5a8a3fe7 100644 Binary files a/tests/snapshots/nanos/test_transaction_params/part1/00005.png and b/tests/snapshots/nanos/test_transaction_params/part1/00005.png differ diff --git a/tests/snapshots/nanos/test_transaction_params/part1/00006.png b/tests/snapshots/nanos/test_transaction_params/part1/00006.png index f39812e8..2fcbfd21 100644 Binary files a/tests/snapshots/nanos/test_transaction_params/part1/00006.png and b/tests/snapshots/nanos/test_transaction_params/part1/00006.png differ diff --git a/tests/snapshots/nanos/test_transaction_params/part1/00007.png b/tests/snapshots/nanos/test_transaction_params/part1/00007.png index 59aa8dce..f63e345b 100644 Binary files a/tests/snapshots/nanos/test_transaction_params/part1/00007.png and b/tests/snapshots/nanos/test_transaction_params/part1/00007.png differ diff --git a/tests/snapshots/nanos/test_transaction_params/part1/00008.png b/tests/snapshots/nanos/test_transaction_params/part1/00008.png index 44e7069e..bce4568b 100644 Binary files a/tests/snapshots/nanos/test_transaction_params/part1/00008.png and b/tests/snapshots/nanos/test_transaction_params/part1/00008.png differ diff --git a/tests/snapshots/nanos/test_transaction_params/part1/00009.png b/tests/snapshots/nanos/test_transaction_params/part1/00009.png index 7a5610fa..aca36545 100644 Binary files a/tests/snapshots/nanos/test_transaction_params/part1/00009.png and b/tests/snapshots/nanos/test_transaction_params/part1/00009.png differ diff --git a/tests/snapshots/nanos/test_transaction_params/part1/00010.png b/tests/snapshots/nanos/test_transaction_params/part1/00010.png index 6bcaeb70..05f27c3a 100644 Binary files a/tests/snapshots/nanos/test_transaction_params/part1/00010.png and b/tests/snapshots/nanos/test_transaction_params/part1/00010.png differ diff --git a/tests/snapshots/nanos/test_transaction_params/part1/00011.png b/tests/snapshots/nanos/test_transaction_params/part1/00011.png index b131bbe9..5ebc5665 100644 Binary files a/tests/snapshots/nanos/test_transaction_params/part1/00011.png and b/tests/snapshots/nanos/test_transaction_params/part1/00011.png differ diff --git a/tests/snapshots/nanos/test_transaction_params/part1/00012.png b/tests/snapshots/nanos/test_transaction_params/part1/00012.png index 52b06db9..f39812e8 100644 Binary files a/tests/snapshots/nanos/test_transaction_params/part1/00012.png and b/tests/snapshots/nanos/test_transaction_params/part1/00012.png differ diff --git a/tests/snapshots/nanos/test_transaction_params/part1/00013.png b/tests/snapshots/nanos/test_transaction_params/part1/00013.png index 006c26ab..41b0ce2b 100644 Binary files a/tests/snapshots/nanos/test_transaction_params/part1/00013.png and b/tests/snapshots/nanos/test_transaction_params/part1/00013.png differ diff --git a/tests/snapshots/nanos/test_transaction_params/part1/00014.png b/tests/snapshots/nanos/test_transaction_params/part1/00014.png index 7f6ab5e6..44e7069e 100644 Binary files a/tests/snapshots/nanos/test_transaction_params/part1/00014.png and b/tests/snapshots/nanos/test_transaction_params/part1/00014.png differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.11-Mainnet/00008.png b/tests/snapshots/nanos/test_transaction_params/part1/00015.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/TH.11-Mainnet/00008.png rename to tests/snapshots/nanos/test_transaction_params/part1/00015.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.11-Mainnet/00009.png b/tests/snapshots/nanos/test_transaction_params/part1/00016.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/TH.11-Mainnet/00009.png rename to tests/snapshots/nanos/test_transaction_params/part1/00016.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.11-Mainnet/00010.png b/tests/snapshots/nanos/test_transaction_params/part1/00017.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/TH.11-Mainnet/00010.png rename to tests/snapshots/nanos/test_transaction_params/part1/00017.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.11-Mainnet/00011.png b/tests/snapshots/nanos/test_transaction_params/part1/00018.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/TH.11-Mainnet/00011.png rename to tests/snapshots/nanos/test_transaction_params/part1/00018.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.11-Mainnet/00012.png b/tests/snapshots/nanos/test_transaction_params/part1/00019.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/TH.11-Mainnet/00012.png rename to tests/snapshots/nanos/test_transaction_params/part1/00019.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.11-Mainnet/00013.png b/tests/snapshots/nanos/test_transaction_params/part1/00020.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/TH.11-Mainnet/00013.png rename to tests/snapshots/nanos/test_transaction_params/part1/00020.png diff --git a/tests/snapshots/nanos/test_transaction_params/part10/00000.png b/tests/snapshots/nanos/test_transaction_params/part10/00000.png index c74a291c..f3548e94 100644 Binary files a/tests/snapshots/nanos/test_transaction_params/part10/00000.png and b/tests/snapshots/nanos/test_transaction_params/part10/00000.png differ diff --git a/tests/snapshots/nanos/test_transaction_params/part10/00001.png b/tests/snapshots/nanos/test_transaction_params/part10/00001.png index 4ffe73a4..2ab14840 100644 Binary files a/tests/snapshots/nanos/test_transaction_params/part10/00001.png and b/tests/snapshots/nanos/test_transaction_params/part10/00001.png differ diff --git a/tests/snapshots/nanos/test_transaction_params/part10/00002.png b/tests/snapshots/nanos/test_transaction_params/part10/00002.png index a81e22c9..279ad0e8 100644 Binary files a/tests/snapshots/nanos/test_transaction_params/part10/00002.png and b/tests/snapshots/nanos/test_transaction_params/part10/00002.png differ diff --git a/tests/snapshots/nanos/test_transaction_params/part10/00003.png b/tests/snapshots/nanos/test_transaction_params/part10/00003.png index ef5b5adf..05f27c3a 100644 Binary files a/tests/snapshots/nanos/test_transaction_params/part10/00003.png and b/tests/snapshots/nanos/test_transaction_params/part10/00003.png differ diff --git a/tests/snapshots/nanos/test_transaction_params/part10/00004.png b/tests/snapshots/nanos/test_transaction_params/part10/00004.png index efd68843..5ebc5665 100644 Binary files a/tests/snapshots/nanos/test_transaction_params/part10/00004.png and b/tests/snapshots/nanos/test_transaction_params/part10/00004.png differ diff --git a/tests/snapshots/nanos/test_transaction_params/part10/00005.png b/tests/snapshots/nanos/test_transaction_params/part10/00005.png index 4e9626ae..f39812e8 100644 Binary files a/tests/snapshots/nanos/test_transaction_params/part10/00005.png and b/tests/snapshots/nanos/test_transaction_params/part10/00005.png differ diff --git a/tests/snapshots/nanos/test_transaction_params/part10/00006.png b/tests/snapshots/nanos/test_transaction_params/part10/00006.png index 307a8ec4..41b0ce2b 100644 Binary files a/tests/snapshots/nanos/test_transaction_params/part10/00006.png and b/tests/snapshots/nanos/test_transaction_params/part10/00006.png differ diff --git a/tests/snapshots/nanos/test_transaction_params/part10/00007.png b/tests/snapshots/nanos/test_transaction_params/part10/00007.png index 05f27c3a..44e7069e 100644 Binary files a/tests/snapshots/nanos/test_transaction_params/part10/00007.png and b/tests/snapshots/nanos/test_transaction_params/part10/00007.png differ diff --git a/tests/snapshots/nanos/test_transaction_params/part10/00008.png b/tests/snapshots/nanos/test_transaction_params/part10/00008.png index 5ebc5665..7a5610fa 100644 Binary files a/tests/snapshots/nanos/test_transaction_params/part10/00008.png and b/tests/snapshots/nanos/test_transaction_params/part10/00008.png differ diff --git a/tests/snapshots/nanos/test_transaction_params/part10/00009.png b/tests/snapshots/nanos/test_transaction_params/part10/00009.png index f39812e8..55ce7183 100644 Binary files a/tests/snapshots/nanos/test_transaction_params/part10/00009.png and b/tests/snapshots/nanos/test_transaction_params/part10/00009.png differ diff --git a/tests/snapshots/nanos/test_transaction_params/part10/00010.png b/tests/snapshots/nanos/test_transaction_params/part10/00010.png index 59aa8dce..c4016375 100644 Binary files a/tests/snapshots/nanos/test_transaction_params/part10/00010.png and b/tests/snapshots/nanos/test_transaction_params/part10/00010.png differ diff --git a/tests/snapshots/nanos/test_transaction_params/part10/00011.png b/tests/snapshots/nanos/test_transaction_params/part10/00011.png index 44e7069e..52b06db9 100644 Binary files a/tests/snapshots/nanos/test_transaction_params/part10/00011.png and b/tests/snapshots/nanos/test_transaction_params/part10/00011.png differ diff --git a/tests/snapshots/nanos/test_transaction_params/part10/00012.png b/tests/snapshots/nanos/test_transaction_params/part10/00012.png index 7a5610fa..006c26ab 100644 Binary files a/tests/snapshots/nanos/test_transaction_params/part10/00012.png and b/tests/snapshots/nanos/test_transaction_params/part10/00012.png differ diff --git a/tests/snapshots/nanos/test_transaction_params/part10/00013.png b/tests/snapshots/nanos/test_transaction_params/part10/00013.png index 6bcaeb70..7f6ab5e6 100644 Binary files a/tests/snapshots/nanos/test_transaction_params/part10/00013.png and b/tests/snapshots/nanos/test_transaction_params/part10/00013.png differ diff --git a/tests/snapshots/nanos/test_transaction_params/part11/00000.png b/tests/snapshots/nanos/test_transaction_params/part11/00000.png index c74a291c..f3548e94 100644 Binary files a/tests/snapshots/nanos/test_transaction_params/part11/00000.png and b/tests/snapshots/nanos/test_transaction_params/part11/00000.png differ diff --git a/tests/snapshots/nanos/test_transaction_params/part11/00001.png b/tests/snapshots/nanos/test_transaction_params/part11/00001.png index 4ffe73a4..2ab14840 100644 Binary files a/tests/snapshots/nanos/test_transaction_params/part11/00001.png and b/tests/snapshots/nanos/test_transaction_params/part11/00001.png differ diff --git a/tests/snapshots/nanos/test_transaction_params/part11/00002.png b/tests/snapshots/nanos/test_transaction_params/part11/00002.png index a81e22c9..279ad0e8 100644 Binary files a/tests/snapshots/nanos/test_transaction_params/part11/00002.png and b/tests/snapshots/nanos/test_transaction_params/part11/00002.png differ diff --git a/tests/snapshots/nanos/test_transaction_params/part11/00003.png b/tests/snapshots/nanos/test_transaction_params/part11/00003.png index ef5b5adf..05f27c3a 100644 Binary files a/tests/snapshots/nanos/test_transaction_params/part11/00003.png and b/tests/snapshots/nanos/test_transaction_params/part11/00003.png differ diff --git a/tests/snapshots/nanos/test_transaction_params/part11/00004.png b/tests/snapshots/nanos/test_transaction_params/part11/00004.png index efd68843..5ebc5665 100644 Binary files a/tests/snapshots/nanos/test_transaction_params/part11/00004.png and b/tests/snapshots/nanos/test_transaction_params/part11/00004.png differ diff --git a/tests/snapshots/nanos/test_transaction_params/part11/00005.png b/tests/snapshots/nanos/test_transaction_params/part11/00005.png index 4e9626ae..f39812e8 100644 Binary files a/tests/snapshots/nanos/test_transaction_params/part11/00005.png and b/tests/snapshots/nanos/test_transaction_params/part11/00005.png differ diff --git a/tests/snapshots/nanos/test_transaction_params/part11/00006.png b/tests/snapshots/nanos/test_transaction_params/part11/00006.png index 307a8ec4..41b0ce2b 100644 Binary files a/tests/snapshots/nanos/test_transaction_params/part11/00006.png and b/tests/snapshots/nanos/test_transaction_params/part11/00006.png differ diff --git a/tests/snapshots/nanos/test_transaction_params/part11/00007.png b/tests/snapshots/nanos/test_transaction_params/part11/00007.png index 05f27c3a..44e7069e 100644 Binary files a/tests/snapshots/nanos/test_transaction_params/part11/00007.png and b/tests/snapshots/nanos/test_transaction_params/part11/00007.png differ diff --git a/tests/snapshots/nanos/test_transaction_params/part11/00008.png b/tests/snapshots/nanos/test_transaction_params/part11/00008.png index 5ebc5665..7a5610fa 100644 Binary files a/tests/snapshots/nanos/test_transaction_params/part11/00008.png and b/tests/snapshots/nanos/test_transaction_params/part11/00008.png differ diff --git a/tests/snapshots/nanos/test_transaction_params/part11/00009.png b/tests/snapshots/nanos/test_transaction_params/part11/00009.png index f39812e8..55ce7183 100644 Binary files a/tests/snapshots/nanos/test_transaction_params/part11/00009.png and b/tests/snapshots/nanos/test_transaction_params/part11/00009.png differ diff --git a/tests/snapshots/nanos/test_transaction_params/part11/00010.png b/tests/snapshots/nanos/test_transaction_params/part11/00010.png index 59aa8dce..c4016375 100644 Binary files a/tests/snapshots/nanos/test_transaction_params/part11/00010.png and b/tests/snapshots/nanos/test_transaction_params/part11/00010.png differ diff --git a/tests/snapshots/nanos/test_transaction_params/part11/00011.png b/tests/snapshots/nanos/test_transaction_params/part11/00011.png index 44e7069e..52b06db9 100644 Binary files a/tests/snapshots/nanos/test_transaction_params/part11/00011.png and b/tests/snapshots/nanos/test_transaction_params/part11/00011.png differ diff --git a/tests/snapshots/nanos/test_transaction_params/part11/00012.png b/tests/snapshots/nanos/test_transaction_params/part11/00012.png index 7a5610fa..006c26ab 100644 Binary files a/tests/snapshots/nanos/test_transaction_params/part11/00012.png and b/tests/snapshots/nanos/test_transaction_params/part11/00012.png differ diff --git a/tests/snapshots/nanos/test_transaction_params/part11/00013.png b/tests/snapshots/nanos/test_transaction_params/part11/00013.png index 6bcaeb70..7f6ab5e6 100644 Binary files a/tests/snapshots/nanos/test_transaction_params/part11/00013.png and b/tests/snapshots/nanos/test_transaction_params/part11/00013.png differ diff --git a/tests/snapshots/nanos/test_transaction_params/part12/00000.png b/tests/snapshots/nanos/test_transaction_params/part12/00000.png index c74a291c..f3548e94 100644 Binary files a/tests/snapshots/nanos/test_transaction_params/part12/00000.png and b/tests/snapshots/nanos/test_transaction_params/part12/00000.png differ diff --git a/tests/snapshots/nanos/test_transaction_params/part12/00001.png b/tests/snapshots/nanos/test_transaction_params/part12/00001.png index 4ffe73a4..2ab14840 100644 Binary files a/tests/snapshots/nanos/test_transaction_params/part12/00001.png and b/tests/snapshots/nanos/test_transaction_params/part12/00001.png differ diff --git a/tests/snapshots/nanos/test_transaction_params/part12/00002.png b/tests/snapshots/nanos/test_transaction_params/part12/00002.png index a81e22c9..279ad0e8 100644 Binary files a/tests/snapshots/nanos/test_transaction_params/part12/00002.png and b/tests/snapshots/nanos/test_transaction_params/part12/00002.png differ diff --git a/tests/snapshots/nanos/test_transaction_params/part12/00003.png b/tests/snapshots/nanos/test_transaction_params/part12/00003.png index ef5b5adf..05f27c3a 100644 Binary files a/tests/snapshots/nanos/test_transaction_params/part12/00003.png and b/tests/snapshots/nanos/test_transaction_params/part12/00003.png differ diff --git a/tests/snapshots/nanos/test_transaction_params/part12/00004.png b/tests/snapshots/nanos/test_transaction_params/part12/00004.png index efd68843..5ebc5665 100644 Binary files a/tests/snapshots/nanos/test_transaction_params/part12/00004.png and b/tests/snapshots/nanos/test_transaction_params/part12/00004.png differ diff --git a/tests/snapshots/nanos/test_transaction_params/part12/00005.png b/tests/snapshots/nanos/test_transaction_params/part12/00005.png index 4e9626ae..f39812e8 100644 Binary files a/tests/snapshots/nanos/test_transaction_params/part12/00005.png and b/tests/snapshots/nanos/test_transaction_params/part12/00005.png differ diff --git a/tests/snapshots/nanos/test_transaction_params/part12/00006.png b/tests/snapshots/nanos/test_transaction_params/part12/00006.png index 307a8ec4..41b0ce2b 100644 Binary files a/tests/snapshots/nanos/test_transaction_params/part12/00006.png and b/tests/snapshots/nanos/test_transaction_params/part12/00006.png differ diff --git a/tests/snapshots/nanos/test_transaction_params/part12/00007.png b/tests/snapshots/nanos/test_transaction_params/part12/00007.png index 05f27c3a..44e7069e 100644 Binary files a/tests/snapshots/nanos/test_transaction_params/part12/00007.png and b/tests/snapshots/nanos/test_transaction_params/part12/00007.png differ diff --git a/tests/snapshots/nanos/test_transaction_params/part12/00008.png b/tests/snapshots/nanos/test_transaction_params/part12/00008.png index 5ebc5665..7a5610fa 100644 Binary files a/tests/snapshots/nanos/test_transaction_params/part12/00008.png and b/tests/snapshots/nanos/test_transaction_params/part12/00008.png differ diff --git a/tests/snapshots/nanos/test_transaction_params/part12/00009.png b/tests/snapshots/nanos/test_transaction_params/part12/00009.png index f39812e8..55ce7183 100644 Binary files a/tests/snapshots/nanos/test_transaction_params/part12/00009.png and b/tests/snapshots/nanos/test_transaction_params/part12/00009.png differ diff --git a/tests/snapshots/nanos/test_transaction_params/part12/00010.png b/tests/snapshots/nanos/test_transaction_params/part12/00010.png index 59aa8dce..c4016375 100644 Binary files a/tests/snapshots/nanos/test_transaction_params/part12/00010.png and b/tests/snapshots/nanos/test_transaction_params/part12/00010.png differ diff --git a/tests/snapshots/nanos/test_transaction_params/part12/00011.png b/tests/snapshots/nanos/test_transaction_params/part12/00011.png index 44e7069e..52b06db9 100644 Binary files a/tests/snapshots/nanos/test_transaction_params/part12/00011.png and b/tests/snapshots/nanos/test_transaction_params/part12/00011.png differ diff --git a/tests/snapshots/nanos/test_transaction_params/part12/00012.png b/tests/snapshots/nanos/test_transaction_params/part12/00012.png index 7a5610fa..006c26ab 100644 Binary files a/tests/snapshots/nanos/test_transaction_params/part12/00012.png and b/tests/snapshots/nanos/test_transaction_params/part12/00012.png differ diff --git a/tests/snapshots/nanos/test_transaction_params/part12/00013.png b/tests/snapshots/nanos/test_transaction_params/part12/00013.png index 6bcaeb70..7f6ab5e6 100644 Binary files a/tests/snapshots/nanos/test_transaction_params/part12/00013.png and b/tests/snapshots/nanos/test_transaction_params/part12/00013.png differ diff --git a/tests/snapshots/nanos/test_transaction_params/part2/00000.png b/tests/snapshots/nanos/test_transaction_params/part2/00000.png index b338763e..a91c2dbb 100644 Binary files a/tests/snapshots/nanos/test_transaction_params/part2/00000.png and b/tests/snapshots/nanos/test_transaction_params/part2/00000.png differ diff --git a/tests/snapshots/nanos/test_transaction_params/part2/00001.png b/tests/snapshots/nanos/test_transaction_params/part2/00001.png index 4ffe73a4..2ab14840 100644 Binary files a/tests/snapshots/nanos/test_transaction_params/part2/00001.png and b/tests/snapshots/nanos/test_transaction_params/part2/00001.png differ diff --git a/tests/snapshots/nanos/test_transaction_params/part2/00002.png b/tests/snapshots/nanos/test_transaction_params/part2/00002.png index 1556d048..b37540ce 100644 Binary files a/tests/snapshots/nanos/test_transaction_params/part2/00002.png and b/tests/snapshots/nanos/test_transaction_params/part2/00002.png differ diff --git a/tests/snapshots/nanos/test_transaction_params/part2/00003.png b/tests/snapshots/nanos/test_transaction_params/part2/00003.png index 6e60758e..db6a7d25 100644 Binary files a/tests/snapshots/nanos/test_transaction_params/part2/00003.png and b/tests/snapshots/nanos/test_transaction_params/part2/00003.png differ diff --git a/tests/snapshots/nanos/test_transaction_params/part2/00004.png b/tests/snapshots/nanos/test_transaction_params/part2/00004.png index 05f27c3a..83d83228 100644 Binary files a/tests/snapshots/nanos/test_transaction_params/part2/00004.png and b/tests/snapshots/nanos/test_transaction_params/part2/00004.png differ diff --git a/tests/snapshots/nanos/test_transaction_params/part2/00005.png b/tests/snapshots/nanos/test_transaction_params/part2/00005.png index 5ebc5665..5a8a3fe7 100644 Binary files a/tests/snapshots/nanos/test_transaction_params/part2/00005.png and b/tests/snapshots/nanos/test_transaction_params/part2/00005.png differ diff --git a/tests/snapshots/nanos/test_transaction_params/part2/00006.png b/tests/snapshots/nanos/test_transaction_params/part2/00006.png index f39812e8..2fcbfd21 100644 Binary files a/tests/snapshots/nanos/test_transaction_params/part2/00006.png and b/tests/snapshots/nanos/test_transaction_params/part2/00006.png differ diff --git a/tests/snapshots/nanos/test_transaction_params/part2/00007.png b/tests/snapshots/nanos/test_transaction_params/part2/00007.png index 59aa8dce..f63e345b 100644 Binary files a/tests/snapshots/nanos/test_transaction_params/part2/00007.png and b/tests/snapshots/nanos/test_transaction_params/part2/00007.png differ diff --git a/tests/snapshots/nanos/test_transaction_params/part2/00008.png b/tests/snapshots/nanos/test_transaction_params/part2/00008.png index 44e7069e..bce4568b 100644 Binary files a/tests/snapshots/nanos/test_transaction_params/part2/00008.png and b/tests/snapshots/nanos/test_transaction_params/part2/00008.png differ diff --git a/tests/snapshots/nanos/test_transaction_params/part2/00009.png b/tests/snapshots/nanos/test_transaction_params/part2/00009.png index 7a5610fa..aca36545 100644 Binary files a/tests/snapshots/nanos/test_transaction_params/part2/00009.png and b/tests/snapshots/nanos/test_transaction_params/part2/00009.png differ diff --git a/tests/snapshots/nanos/test_transaction_params/part2/00010.png b/tests/snapshots/nanos/test_transaction_params/part2/00010.png index 6bcaeb70..05f27c3a 100644 Binary files a/tests/snapshots/nanos/test_transaction_params/part2/00010.png and b/tests/snapshots/nanos/test_transaction_params/part2/00010.png differ diff --git a/tests/snapshots/nanos/test_transaction_params/part2/00011.png b/tests/snapshots/nanos/test_transaction_params/part2/00011.png index b131bbe9..5ebc5665 100644 Binary files a/tests/snapshots/nanos/test_transaction_params/part2/00011.png and b/tests/snapshots/nanos/test_transaction_params/part2/00011.png differ diff --git a/tests/snapshots/nanos/test_transaction_params/part2/00012.png b/tests/snapshots/nanos/test_transaction_params/part2/00012.png index 52b06db9..f39812e8 100644 Binary files a/tests/snapshots/nanos/test_transaction_params/part2/00012.png and b/tests/snapshots/nanos/test_transaction_params/part2/00012.png differ diff --git a/tests/snapshots/nanos/test_transaction_params/part2/00013.png b/tests/snapshots/nanos/test_transaction_params/part2/00013.png index 006c26ab..41b0ce2b 100644 Binary files a/tests/snapshots/nanos/test_transaction_params/part2/00013.png and b/tests/snapshots/nanos/test_transaction_params/part2/00013.png differ diff --git a/tests/snapshots/nanos/test_transaction_params/part2/00014.png b/tests/snapshots/nanos/test_transaction_params/part2/00014.png index 7f6ab5e6..44e7069e 100644 Binary files a/tests/snapshots/nanos/test_transaction_params/part2/00014.png and b/tests/snapshots/nanos/test_transaction_params/part2/00014.png differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.11-Testnet/00008.png b/tests/snapshots/nanos/test_transaction_params/part2/00015.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/TH.11-Testnet/00008.png rename to tests/snapshots/nanos/test_transaction_params/part2/00015.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.12-Mainnet/00008.png b/tests/snapshots/nanos/test_transaction_params/part2/00016.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/TH.12-Mainnet/00008.png rename to tests/snapshots/nanos/test_transaction_params/part2/00016.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.12-Mainnet/00009.png b/tests/snapshots/nanos/test_transaction_params/part2/00017.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/TH.12-Mainnet/00009.png rename to tests/snapshots/nanos/test_transaction_params/part2/00017.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.11-Testnet/00011.png b/tests/snapshots/nanos/test_transaction_params/part2/00018.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/TH.11-Testnet/00011.png rename to tests/snapshots/nanos/test_transaction_params/part2/00018.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.11-Testnet/00012.png b/tests/snapshots/nanos/test_transaction_params/part2/00019.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/TH.11-Testnet/00012.png rename to tests/snapshots/nanos/test_transaction_params/part2/00019.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.11-Testnet/00013.png b/tests/snapshots/nanos/test_transaction_params/part2/00020.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/TH.11-Testnet/00013.png rename to tests/snapshots/nanos/test_transaction_params/part2/00020.png diff --git a/tests/snapshots/nanos/test_transaction_params/part3/00000.png b/tests/snapshots/nanos/test_transaction_params/part3/00000.png index b338763e..a91c2dbb 100644 Binary files a/tests/snapshots/nanos/test_transaction_params/part3/00000.png and b/tests/snapshots/nanos/test_transaction_params/part3/00000.png differ diff --git a/tests/snapshots/nanos/test_transaction_params/part3/00001.png b/tests/snapshots/nanos/test_transaction_params/part3/00001.png index 4ffe73a4..2ab14840 100644 Binary files a/tests/snapshots/nanos/test_transaction_params/part3/00001.png and b/tests/snapshots/nanos/test_transaction_params/part3/00001.png differ diff --git a/tests/snapshots/nanos/test_transaction_params/part3/00002.png b/tests/snapshots/nanos/test_transaction_params/part3/00002.png index 1556d048..b37540ce 100644 Binary files a/tests/snapshots/nanos/test_transaction_params/part3/00002.png and b/tests/snapshots/nanos/test_transaction_params/part3/00002.png differ diff --git a/tests/snapshots/nanos/test_transaction_params/part3/00003.png b/tests/snapshots/nanos/test_transaction_params/part3/00003.png index 6e60758e..db6a7d25 100644 Binary files a/tests/snapshots/nanos/test_transaction_params/part3/00003.png and b/tests/snapshots/nanos/test_transaction_params/part3/00003.png differ diff --git a/tests/snapshots/nanos/test_transaction_params/part3/00004.png b/tests/snapshots/nanos/test_transaction_params/part3/00004.png index 05f27c3a..83d83228 100644 Binary files a/tests/snapshots/nanos/test_transaction_params/part3/00004.png and b/tests/snapshots/nanos/test_transaction_params/part3/00004.png differ diff --git a/tests/snapshots/nanos/test_transaction_params/part3/00005.png b/tests/snapshots/nanos/test_transaction_params/part3/00005.png index 5ebc5665..5a8a3fe7 100644 Binary files a/tests/snapshots/nanos/test_transaction_params/part3/00005.png and b/tests/snapshots/nanos/test_transaction_params/part3/00005.png differ diff --git a/tests/snapshots/nanos/test_transaction_params/part3/00006.png b/tests/snapshots/nanos/test_transaction_params/part3/00006.png index f39812e8..2fcbfd21 100644 Binary files a/tests/snapshots/nanos/test_transaction_params/part3/00006.png and b/tests/snapshots/nanos/test_transaction_params/part3/00006.png differ diff --git a/tests/snapshots/nanos/test_transaction_params/part3/00007.png b/tests/snapshots/nanos/test_transaction_params/part3/00007.png index 59aa8dce..f63e345b 100644 Binary files a/tests/snapshots/nanos/test_transaction_params/part3/00007.png and b/tests/snapshots/nanos/test_transaction_params/part3/00007.png differ diff --git a/tests/snapshots/nanos/test_transaction_params/part3/00008.png b/tests/snapshots/nanos/test_transaction_params/part3/00008.png index 44e7069e..bce4568b 100644 Binary files a/tests/snapshots/nanos/test_transaction_params/part3/00008.png and b/tests/snapshots/nanos/test_transaction_params/part3/00008.png differ diff --git a/tests/snapshots/nanos/test_transaction_params/part3/00009.png b/tests/snapshots/nanos/test_transaction_params/part3/00009.png index 7a5610fa..aca36545 100644 Binary files a/tests/snapshots/nanos/test_transaction_params/part3/00009.png and b/tests/snapshots/nanos/test_transaction_params/part3/00009.png differ diff --git a/tests/snapshots/nanos/test_transaction_params/part3/00010.png b/tests/snapshots/nanos/test_transaction_params/part3/00010.png index 6bcaeb70..05f27c3a 100644 Binary files a/tests/snapshots/nanos/test_transaction_params/part3/00010.png and b/tests/snapshots/nanos/test_transaction_params/part3/00010.png differ diff --git a/tests/snapshots/nanos/test_transaction_params/part3/00011.png b/tests/snapshots/nanos/test_transaction_params/part3/00011.png index b131bbe9..5ebc5665 100644 Binary files a/tests/snapshots/nanos/test_transaction_params/part3/00011.png and b/tests/snapshots/nanos/test_transaction_params/part3/00011.png differ diff --git a/tests/snapshots/nanos/test_transaction_params/part3/00012.png b/tests/snapshots/nanos/test_transaction_params/part3/00012.png index 52b06db9..f39812e8 100644 Binary files a/tests/snapshots/nanos/test_transaction_params/part3/00012.png and b/tests/snapshots/nanos/test_transaction_params/part3/00012.png differ diff --git a/tests/snapshots/nanos/test_transaction_params/part3/00013.png b/tests/snapshots/nanos/test_transaction_params/part3/00013.png index 006c26ab..41b0ce2b 100644 Binary files a/tests/snapshots/nanos/test_transaction_params/part3/00013.png and b/tests/snapshots/nanos/test_transaction_params/part3/00013.png differ diff --git a/tests/snapshots/nanos/test_transaction_params/part3/00014.png b/tests/snapshots/nanos/test_transaction_params/part3/00014.png index 7f6ab5e6..44e7069e 100644 Binary files a/tests/snapshots/nanos/test_transaction_params/part3/00014.png and b/tests/snapshots/nanos/test_transaction_params/part3/00014.png differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.12-Mainnet/00007.png b/tests/snapshots/nanos/test_transaction_params/part3/00015.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/TH.12-Mainnet/00007.png rename to tests/snapshots/nanos/test_transaction_params/part3/00015.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.13-Mainnet/00009.png b/tests/snapshots/nanos/test_transaction_params/part3/00016.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/TH.13-Mainnet/00009.png rename to tests/snapshots/nanos/test_transaction_params/part3/00016.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.13-Mainnet/00010.png b/tests/snapshots/nanos/test_transaction_params/part3/00017.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/TH.13-Mainnet/00010.png rename to tests/snapshots/nanos/test_transaction_params/part3/00017.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.12-Mainnet/00010.png b/tests/snapshots/nanos/test_transaction_params/part3/00018.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/TH.12-Mainnet/00010.png rename to tests/snapshots/nanos/test_transaction_params/part3/00018.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.12-Mainnet/00011.png b/tests/snapshots/nanos/test_transaction_params/part3/00019.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/TH.12-Mainnet/00011.png rename to tests/snapshots/nanos/test_transaction_params/part3/00019.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.12-Mainnet/00012.png b/tests/snapshots/nanos/test_transaction_params/part3/00020.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/TH.12-Mainnet/00012.png rename to tests/snapshots/nanos/test_transaction_params/part3/00020.png diff --git a/tests/snapshots/nanos/test_transaction_params/part4/00000.png b/tests/snapshots/nanos/test_transaction_params/part4/00000.png index b338763e..a91c2dbb 100644 Binary files a/tests/snapshots/nanos/test_transaction_params/part4/00000.png and b/tests/snapshots/nanos/test_transaction_params/part4/00000.png differ diff --git a/tests/snapshots/nanos/test_transaction_params/part4/00001.png b/tests/snapshots/nanos/test_transaction_params/part4/00001.png index 4ffe73a4..2ab14840 100644 Binary files a/tests/snapshots/nanos/test_transaction_params/part4/00001.png and b/tests/snapshots/nanos/test_transaction_params/part4/00001.png differ diff --git a/tests/snapshots/nanos/test_transaction_params/part4/00002.png b/tests/snapshots/nanos/test_transaction_params/part4/00002.png index 1556d048..b37540ce 100644 Binary files a/tests/snapshots/nanos/test_transaction_params/part4/00002.png and b/tests/snapshots/nanos/test_transaction_params/part4/00002.png differ diff --git a/tests/snapshots/nanos/test_transaction_params/part4/00003.png b/tests/snapshots/nanos/test_transaction_params/part4/00003.png index 6e60758e..db6a7d25 100644 Binary files a/tests/snapshots/nanos/test_transaction_params/part4/00003.png and b/tests/snapshots/nanos/test_transaction_params/part4/00003.png differ diff --git a/tests/snapshots/nanos/test_transaction_params/part4/00004.png b/tests/snapshots/nanos/test_transaction_params/part4/00004.png index 05f27c3a..83d83228 100644 Binary files a/tests/snapshots/nanos/test_transaction_params/part4/00004.png and b/tests/snapshots/nanos/test_transaction_params/part4/00004.png differ diff --git a/tests/snapshots/nanos/test_transaction_params/part4/00005.png b/tests/snapshots/nanos/test_transaction_params/part4/00005.png index 5ebc5665..5a8a3fe7 100644 Binary files a/tests/snapshots/nanos/test_transaction_params/part4/00005.png and b/tests/snapshots/nanos/test_transaction_params/part4/00005.png differ diff --git a/tests/snapshots/nanos/test_transaction_params/part4/00006.png b/tests/snapshots/nanos/test_transaction_params/part4/00006.png index f39812e8..2fcbfd21 100644 Binary files a/tests/snapshots/nanos/test_transaction_params/part4/00006.png and b/tests/snapshots/nanos/test_transaction_params/part4/00006.png differ diff --git a/tests/snapshots/nanos/test_transaction_params/part4/00007.png b/tests/snapshots/nanos/test_transaction_params/part4/00007.png index 59aa8dce..f63e345b 100644 Binary files a/tests/snapshots/nanos/test_transaction_params/part4/00007.png and b/tests/snapshots/nanos/test_transaction_params/part4/00007.png differ diff --git a/tests/snapshots/nanos/test_transaction_params/part4/00008.png b/tests/snapshots/nanos/test_transaction_params/part4/00008.png index 44e7069e..bce4568b 100644 Binary files a/tests/snapshots/nanos/test_transaction_params/part4/00008.png and b/tests/snapshots/nanos/test_transaction_params/part4/00008.png differ diff --git a/tests/snapshots/nanos/test_transaction_params/part4/00009.png b/tests/snapshots/nanos/test_transaction_params/part4/00009.png index 7a5610fa..aca36545 100644 Binary files a/tests/snapshots/nanos/test_transaction_params/part4/00009.png and b/tests/snapshots/nanos/test_transaction_params/part4/00009.png differ diff --git a/tests/snapshots/nanos/test_transaction_params/part4/00010.png b/tests/snapshots/nanos/test_transaction_params/part4/00010.png index 6bcaeb70..05f27c3a 100644 Binary files a/tests/snapshots/nanos/test_transaction_params/part4/00010.png and b/tests/snapshots/nanos/test_transaction_params/part4/00010.png differ diff --git a/tests/snapshots/nanos/test_transaction_params/part4/00011.png b/tests/snapshots/nanos/test_transaction_params/part4/00011.png index b131bbe9..5ebc5665 100644 Binary files a/tests/snapshots/nanos/test_transaction_params/part4/00011.png and b/tests/snapshots/nanos/test_transaction_params/part4/00011.png differ diff --git a/tests/snapshots/nanos/test_transaction_params/part4/00012.png b/tests/snapshots/nanos/test_transaction_params/part4/00012.png index 52b06db9..f39812e8 100644 Binary files a/tests/snapshots/nanos/test_transaction_params/part4/00012.png and b/tests/snapshots/nanos/test_transaction_params/part4/00012.png differ diff --git a/tests/snapshots/nanos/test_transaction_params/part4/00013.png b/tests/snapshots/nanos/test_transaction_params/part4/00013.png index 006c26ab..41b0ce2b 100644 Binary files a/tests/snapshots/nanos/test_transaction_params/part4/00013.png and b/tests/snapshots/nanos/test_transaction_params/part4/00013.png differ diff --git a/tests/snapshots/nanos/test_transaction_params/part4/00014.png b/tests/snapshots/nanos/test_transaction_params/part4/00014.png index 7f6ab5e6..44e7069e 100644 Binary files a/tests/snapshots/nanos/test_transaction_params/part4/00014.png and b/tests/snapshots/nanos/test_transaction_params/part4/00014.png differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.12-Testnet/00007.png b/tests/snapshots/nanos/test_transaction_params/part4/00015.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/TH.12-Testnet/00007.png rename to tests/snapshots/nanos/test_transaction_params/part4/00015.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.14-Mainnet/00009.png b/tests/snapshots/nanos/test_transaction_params/part4/00016.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/TH.14-Mainnet/00009.png rename to tests/snapshots/nanos/test_transaction_params/part4/00016.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.14-Mainnet/00010.png b/tests/snapshots/nanos/test_transaction_params/part4/00017.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/TH.14-Mainnet/00010.png rename to tests/snapshots/nanos/test_transaction_params/part4/00017.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.12-Testnet/00010.png b/tests/snapshots/nanos/test_transaction_params/part4/00018.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/TH.12-Testnet/00010.png rename to tests/snapshots/nanos/test_transaction_params/part4/00018.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.12-Testnet/00011.png b/tests/snapshots/nanos/test_transaction_params/part4/00019.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/TH.12-Testnet/00011.png rename to tests/snapshots/nanos/test_transaction_params/part4/00019.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.12-Testnet/00012.png b/tests/snapshots/nanos/test_transaction_params/part4/00020.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/TH.12-Testnet/00012.png rename to tests/snapshots/nanos/test_transaction_params/part4/00020.png diff --git a/tests/snapshots/nanos/test_transaction_params/part5/00000.png b/tests/snapshots/nanos/test_transaction_params/part5/00000.png index a91c2dbb..3b57cb27 100644 Binary files a/tests/snapshots/nanos/test_transaction_params/part5/00000.png and b/tests/snapshots/nanos/test_transaction_params/part5/00000.png differ diff --git a/tests/snapshots/nanos/test_transaction_params/part5/00001.png b/tests/snapshots/nanos/test_transaction_params/part5/00001.png index 4ffe73a4..2ab14840 100644 Binary files a/tests/snapshots/nanos/test_transaction_params/part5/00001.png and b/tests/snapshots/nanos/test_transaction_params/part5/00001.png differ diff --git a/tests/snapshots/nanos/test_transaction_params/part5/00002.png b/tests/snapshots/nanos/test_transaction_params/part5/00002.png index c8413388..b37540ce 100644 Binary files a/tests/snapshots/nanos/test_transaction_params/part5/00002.png and b/tests/snapshots/nanos/test_transaction_params/part5/00002.png differ diff --git a/tests/snapshots/nanos/test_transaction_params/part5/00003.png b/tests/snapshots/nanos/test_transaction_params/part5/00003.png index a4274bf8..db6a7d25 100644 Binary files a/tests/snapshots/nanos/test_transaction_params/part5/00003.png and b/tests/snapshots/nanos/test_transaction_params/part5/00003.png differ diff --git a/tests/snapshots/nanos/test_transaction_params/part5/00004.png b/tests/snapshots/nanos/test_transaction_params/part5/00004.png index f2b61148..83d83228 100644 Binary files a/tests/snapshots/nanos/test_transaction_params/part5/00004.png and b/tests/snapshots/nanos/test_transaction_params/part5/00004.png differ diff --git a/tests/snapshots/nanos/test_transaction_params/part5/00005.png b/tests/snapshots/nanos/test_transaction_params/part5/00005.png index 87ad3209..5a8a3fe7 100644 Binary files a/tests/snapshots/nanos/test_transaction_params/part5/00005.png and b/tests/snapshots/nanos/test_transaction_params/part5/00005.png differ diff --git a/tests/snapshots/nanos/test_transaction_params/part5/00006.png b/tests/snapshots/nanos/test_transaction_params/part5/00006.png index 4543c4cb..2fcbfd21 100644 Binary files a/tests/snapshots/nanos/test_transaction_params/part5/00006.png and b/tests/snapshots/nanos/test_transaction_params/part5/00006.png differ diff --git a/tests/snapshots/nanos/test_transaction_params/part5/00007.png b/tests/snapshots/nanos/test_transaction_params/part5/00007.png index 133a2bef..f63e345b 100644 Binary files a/tests/snapshots/nanos/test_transaction_params/part5/00007.png and b/tests/snapshots/nanos/test_transaction_params/part5/00007.png differ diff --git a/tests/snapshots/nanos/test_transaction_params/part5/00008.png b/tests/snapshots/nanos/test_transaction_params/part5/00008.png index bdb2b0a4..bce4568b 100644 Binary files a/tests/snapshots/nanos/test_transaction_params/part5/00008.png and b/tests/snapshots/nanos/test_transaction_params/part5/00008.png differ diff --git a/tests/snapshots/nanos/test_transaction_params/part5/00009.png b/tests/snapshots/nanos/test_transaction_params/part5/00009.png index b4e8992e..aca36545 100644 Binary files a/tests/snapshots/nanos/test_transaction_params/part5/00009.png and b/tests/snapshots/nanos/test_transaction_params/part5/00009.png differ diff --git a/tests/snapshots/nanos/test_transaction_params/part5/00010.png b/tests/snapshots/nanos/test_transaction_params/part5/00010.png index a8c0686b..05f27c3a 100644 Binary files a/tests/snapshots/nanos/test_transaction_params/part5/00010.png and b/tests/snapshots/nanos/test_transaction_params/part5/00010.png differ diff --git a/tests/snapshots/nanos/test_transaction_params/part5/00011.png b/tests/snapshots/nanos/test_transaction_params/part5/00011.png index c5866631..5ebc5665 100644 Binary files a/tests/snapshots/nanos/test_transaction_params/part5/00011.png and b/tests/snapshots/nanos/test_transaction_params/part5/00011.png differ diff --git a/tests/snapshots/nanos/test_transaction_params/part5/00012.png b/tests/snapshots/nanos/test_transaction_params/part5/00012.png index 05f27c3a..f39812e8 100644 Binary files a/tests/snapshots/nanos/test_transaction_params/part5/00012.png and b/tests/snapshots/nanos/test_transaction_params/part5/00012.png differ diff --git a/tests/snapshots/nanos/test_transaction_params/part5/00013.png b/tests/snapshots/nanos/test_transaction_params/part5/00013.png index 5ebc5665..41b0ce2b 100644 Binary files a/tests/snapshots/nanos/test_transaction_params/part5/00013.png and b/tests/snapshots/nanos/test_transaction_params/part5/00013.png differ diff --git a/tests/snapshots/nanos/test_transaction_params/part5/00014.png b/tests/snapshots/nanos/test_transaction_params/part5/00014.png index f39812e8..44e7069e 100644 Binary files a/tests/snapshots/nanos/test_transaction_params/part5/00014.png and b/tests/snapshots/nanos/test_transaction_params/part5/00014.png differ diff --git a/tests/snapshots/nanos/test_transaction_params/part5/00015.png b/tests/snapshots/nanos/test_transaction_params/part5/00015.png index 59aa8dce..7a5610fa 100644 Binary files a/tests/snapshots/nanos/test_transaction_params/part5/00015.png and b/tests/snapshots/nanos/test_transaction_params/part5/00015.png differ diff --git a/tests/snapshots/nanos/test_transaction_params/part5/00016.png b/tests/snapshots/nanos/test_transaction_params/part5/00016.png index 44e7069e..55ce7183 100644 Binary files a/tests/snapshots/nanos/test_transaction_params/part5/00016.png and b/tests/snapshots/nanos/test_transaction_params/part5/00016.png differ diff --git a/tests/snapshots/nanos/test_transaction_params/part5/00017.png b/tests/snapshots/nanos/test_transaction_params/part5/00017.png index 7a5610fa..c4016375 100644 Binary files a/tests/snapshots/nanos/test_transaction_params/part5/00017.png and b/tests/snapshots/nanos/test_transaction_params/part5/00017.png differ diff --git a/tests/snapshots/nanos/test_transaction_params/part5/00018.png b/tests/snapshots/nanos/test_transaction_params/part5/00018.png index 6bcaeb70..52b06db9 100644 Binary files a/tests/snapshots/nanos/test_transaction_params/part5/00018.png and b/tests/snapshots/nanos/test_transaction_params/part5/00018.png differ diff --git a/tests/snapshots/nanos/test_transaction_params/part5/00019.png b/tests/snapshots/nanos/test_transaction_params/part5/00019.png index b131bbe9..006c26ab 100644 Binary files a/tests/snapshots/nanos/test_transaction_params/part5/00019.png and b/tests/snapshots/nanos/test_transaction_params/part5/00019.png differ diff --git a/tests/snapshots/nanos/test_transaction_params/part5/00020.png b/tests/snapshots/nanos/test_transaction_params/part5/00020.png index 52b06db9..7f6ab5e6 100644 Binary files a/tests/snapshots/nanos/test_transaction_params/part5/00020.png and b/tests/snapshots/nanos/test_transaction_params/part5/00020.png differ diff --git a/tests/snapshots/nanos/test_transaction_params/part6/00000.png b/tests/snapshots/nanos/test_transaction_params/part6/00000.png index a91c2dbb..3b57cb27 100644 Binary files a/tests/snapshots/nanos/test_transaction_params/part6/00000.png and b/tests/snapshots/nanos/test_transaction_params/part6/00000.png differ diff --git a/tests/snapshots/nanos/test_transaction_params/part6/00001.png b/tests/snapshots/nanos/test_transaction_params/part6/00001.png index 4ffe73a4..2ab14840 100644 Binary files a/tests/snapshots/nanos/test_transaction_params/part6/00001.png and b/tests/snapshots/nanos/test_transaction_params/part6/00001.png differ diff --git a/tests/snapshots/nanos/test_transaction_params/part6/00002.png b/tests/snapshots/nanos/test_transaction_params/part6/00002.png index c8413388..b37540ce 100644 Binary files a/tests/snapshots/nanos/test_transaction_params/part6/00002.png and b/tests/snapshots/nanos/test_transaction_params/part6/00002.png differ diff --git a/tests/snapshots/nanos/test_transaction_params/part6/00003.png b/tests/snapshots/nanos/test_transaction_params/part6/00003.png index a4274bf8..db6a7d25 100644 Binary files a/tests/snapshots/nanos/test_transaction_params/part6/00003.png and b/tests/snapshots/nanos/test_transaction_params/part6/00003.png differ diff --git a/tests/snapshots/nanos/test_transaction_params/part6/00004.png b/tests/snapshots/nanos/test_transaction_params/part6/00004.png index f2b61148..83d83228 100644 Binary files a/tests/snapshots/nanos/test_transaction_params/part6/00004.png and b/tests/snapshots/nanos/test_transaction_params/part6/00004.png differ diff --git a/tests/snapshots/nanos/test_transaction_params/part6/00005.png b/tests/snapshots/nanos/test_transaction_params/part6/00005.png index 87ad3209..5a8a3fe7 100644 Binary files a/tests/snapshots/nanos/test_transaction_params/part6/00005.png and b/tests/snapshots/nanos/test_transaction_params/part6/00005.png differ diff --git a/tests/snapshots/nanos/test_transaction_params/part6/00006.png b/tests/snapshots/nanos/test_transaction_params/part6/00006.png index 4543c4cb..2fcbfd21 100644 Binary files a/tests/snapshots/nanos/test_transaction_params/part6/00006.png and b/tests/snapshots/nanos/test_transaction_params/part6/00006.png differ diff --git a/tests/snapshots/nanos/test_transaction_params/part6/00007.png b/tests/snapshots/nanos/test_transaction_params/part6/00007.png index 133a2bef..f63e345b 100644 Binary files a/tests/snapshots/nanos/test_transaction_params/part6/00007.png and b/tests/snapshots/nanos/test_transaction_params/part6/00007.png differ diff --git a/tests/snapshots/nanos/test_transaction_params/part6/00008.png b/tests/snapshots/nanos/test_transaction_params/part6/00008.png index bdb2b0a4..bce4568b 100644 Binary files a/tests/snapshots/nanos/test_transaction_params/part6/00008.png and b/tests/snapshots/nanos/test_transaction_params/part6/00008.png differ diff --git a/tests/snapshots/nanos/test_transaction_params/part6/00009.png b/tests/snapshots/nanos/test_transaction_params/part6/00009.png index b4e8992e..aca36545 100644 Binary files a/tests/snapshots/nanos/test_transaction_params/part6/00009.png and b/tests/snapshots/nanos/test_transaction_params/part6/00009.png differ diff --git a/tests/snapshots/nanos/test_transaction_params/part6/00010.png b/tests/snapshots/nanos/test_transaction_params/part6/00010.png index a8c0686b..05f27c3a 100644 Binary files a/tests/snapshots/nanos/test_transaction_params/part6/00010.png and b/tests/snapshots/nanos/test_transaction_params/part6/00010.png differ diff --git a/tests/snapshots/nanos/test_transaction_params/part6/00011.png b/tests/snapshots/nanos/test_transaction_params/part6/00011.png index c5866631..5ebc5665 100644 Binary files a/tests/snapshots/nanos/test_transaction_params/part6/00011.png and b/tests/snapshots/nanos/test_transaction_params/part6/00011.png differ diff --git a/tests/snapshots/nanos/test_transaction_params/part6/00012.png b/tests/snapshots/nanos/test_transaction_params/part6/00012.png index 05f27c3a..f39812e8 100644 Binary files a/tests/snapshots/nanos/test_transaction_params/part6/00012.png and b/tests/snapshots/nanos/test_transaction_params/part6/00012.png differ diff --git a/tests/snapshots/nanos/test_transaction_params/part6/00013.png b/tests/snapshots/nanos/test_transaction_params/part6/00013.png index 5ebc5665..41b0ce2b 100644 Binary files a/tests/snapshots/nanos/test_transaction_params/part6/00013.png and b/tests/snapshots/nanos/test_transaction_params/part6/00013.png differ diff --git a/tests/snapshots/nanos/test_transaction_params/part6/00014.png b/tests/snapshots/nanos/test_transaction_params/part6/00014.png index f39812e8..44e7069e 100644 Binary files a/tests/snapshots/nanos/test_transaction_params/part6/00014.png and b/tests/snapshots/nanos/test_transaction_params/part6/00014.png differ diff --git a/tests/snapshots/nanos/test_transaction_params/part6/00015.png b/tests/snapshots/nanos/test_transaction_params/part6/00015.png index 59aa8dce..7a5610fa 100644 Binary files a/tests/snapshots/nanos/test_transaction_params/part6/00015.png and b/tests/snapshots/nanos/test_transaction_params/part6/00015.png differ diff --git a/tests/snapshots/nanos/test_transaction_params/part6/00016.png b/tests/snapshots/nanos/test_transaction_params/part6/00016.png index 44e7069e..55ce7183 100644 Binary files a/tests/snapshots/nanos/test_transaction_params/part6/00016.png and b/tests/snapshots/nanos/test_transaction_params/part6/00016.png differ diff --git a/tests/snapshots/nanos/test_transaction_params/part6/00017.png b/tests/snapshots/nanos/test_transaction_params/part6/00017.png index 7a5610fa..c4016375 100644 Binary files a/tests/snapshots/nanos/test_transaction_params/part6/00017.png and b/tests/snapshots/nanos/test_transaction_params/part6/00017.png differ diff --git a/tests/snapshots/nanos/test_transaction_params/part6/00018.png b/tests/snapshots/nanos/test_transaction_params/part6/00018.png index 6bcaeb70..52b06db9 100644 Binary files a/tests/snapshots/nanos/test_transaction_params/part6/00018.png and b/tests/snapshots/nanos/test_transaction_params/part6/00018.png differ diff --git a/tests/snapshots/nanos/test_transaction_params/part6/00019.png b/tests/snapshots/nanos/test_transaction_params/part6/00019.png index b131bbe9..006c26ab 100644 Binary files a/tests/snapshots/nanos/test_transaction_params/part6/00019.png and b/tests/snapshots/nanos/test_transaction_params/part6/00019.png differ diff --git a/tests/snapshots/nanos/test_transaction_params/part6/00020.png b/tests/snapshots/nanos/test_transaction_params/part6/00020.png index 52b06db9..7f6ab5e6 100644 Binary files a/tests/snapshots/nanos/test_transaction_params/part6/00020.png and b/tests/snapshots/nanos/test_transaction_params/part6/00020.png differ diff --git a/tests/snapshots/nanos/test_transaction_params/part7/00000.png b/tests/snapshots/nanos/test_transaction_params/part7/00000.png index a91c2dbb..3b57cb27 100644 Binary files a/tests/snapshots/nanos/test_transaction_params/part7/00000.png and b/tests/snapshots/nanos/test_transaction_params/part7/00000.png differ diff --git a/tests/snapshots/nanos/test_transaction_params/part7/00001.png b/tests/snapshots/nanos/test_transaction_params/part7/00001.png index 4ffe73a4..2ab14840 100644 Binary files a/tests/snapshots/nanos/test_transaction_params/part7/00001.png and b/tests/snapshots/nanos/test_transaction_params/part7/00001.png differ diff --git a/tests/snapshots/nanos/test_transaction_params/part7/00002.png b/tests/snapshots/nanos/test_transaction_params/part7/00002.png index c8413388..b37540ce 100644 Binary files a/tests/snapshots/nanos/test_transaction_params/part7/00002.png and b/tests/snapshots/nanos/test_transaction_params/part7/00002.png differ diff --git a/tests/snapshots/nanos/test_transaction_params/part7/00003.png b/tests/snapshots/nanos/test_transaction_params/part7/00003.png index a4274bf8..db6a7d25 100644 Binary files a/tests/snapshots/nanos/test_transaction_params/part7/00003.png and b/tests/snapshots/nanos/test_transaction_params/part7/00003.png differ diff --git a/tests/snapshots/nanos/test_transaction_params/part7/00004.png b/tests/snapshots/nanos/test_transaction_params/part7/00004.png index f2b61148..83d83228 100644 Binary files a/tests/snapshots/nanos/test_transaction_params/part7/00004.png and b/tests/snapshots/nanos/test_transaction_params/part7/00004.png differ diff --git a/tests/snapshots/nanos/test_transaction_params/part7/00005.png b/tests/snapshots/nanos/test_transaction_params/part7/00005.png index 87ad3209..5a8a3fe7 100644 Binary files a/tests/snapshots/nanos/test_transaction_params/part7/00005.png and b/tests/snapshots/nanos/test_transaction_params/part7/00005.png differ diff --git a/tests/snapshots/nanos/test_transaction_params/part7/00006.png b/tests/snapshots/nanos/test_transaction_params/part7/00006.png index 4543c4cb..2fcbfd21 100644 Binary files a/tests/snapshots/nanos/test_transaction_params/part7/00006.png and b/tests/snapshots/nanos/test_transaction_params/part7/00006.png differ diff --git a/tests/snapshots/nanos/test_transaction_params/part7/00007.png b/tests/snapshots/nanos/test_transaction_params/part7/00007.png index 133a2bef..f63e345b 100644 Binary files a/tests/snapshots/nanos/test_transaction_params/part7/00007.png and b/tests/snapshots/nanos/test_transaction_params/part7/00007.png differ diff --git a/tests/snapshots/nanos/test_transaction_params/part7/00008.png b/tests/snapshots/nanos/test_transaction_params/part7/00008.png index bdb2b0a4..bce4568b 100644 Binary files a/tests/snapshots/nanos/test_transaction_params/part7/00008.png and b/tests/snapshots/nanos/test_transaction_params/part7/00008.png differ diff --git a/tests/snapshots/nanos/test_transaction_params/part7/00009.png b/tests/snapshots/nanos/test_transaction_params/part7/00009.png index b4e8992e..aca36545 100644 Binary files a/tests/snapshots/nanos/test_transaction_params/part7/00009.png and b/tests/snapshots/nanos/test_transaction_params/part7/00009.png differ diff --git a/tests/snapshots/nanos/test_transaction_params/part7/00010.png b/tests/snapshots/nanos/test_transaction_params/part7/00010.png index a8c0686b..05f27c3a 100644 Binary files a/tests/snapshots/nanos/test_transaction_params/part7/00010.png and b/tests/snapshots/nanos/test_transaction_params/part7/00010.png differ diff --git a/tests/snapshots/nanos/test_transaction_params/part7/00011.png b/tests/snapshots/nanos/test_transaction_params/part7/00011.png index c5866631..5ebc5665 100644 Binary files a/tests/snapshots/nanos/test_transaction_params/part7/00011.png and b/tests/snapshots/nanos/test_transaction_params/part7/00011.png differ diff --git a/tests/snapshots/nanos/test_transaction_params/part7/00012.png b/tests/snapshots/nanos/test_transaction_params/part7/00012.png index 05f27c3a..f39812e8 100644 Binary files a/tests/snapshots/nanos/test_transaction_params/part7/00012.png and b/tests/snapshots/nanos/test_transaction_params/part7/00012.png differ diff --git a/tests/snapshots/nanos/test_transaction_params/part7/00013.png b/tests/snapshots/nanos/test_transaction_params/part7/00013.png index 5ebc5665..41b0ce2b 100644 Binary files a/tests/snapshots/nanos/test_transaction_params/part7/00013.png and b/tests/snapshots/nanos/test_transaction_params/part7/00013.png differ diff --git a/tests/snapshots/nanos/test_transaction_params/part7/00014.png b/tests/snapshots/nanos/test_transaction_params/part7/00014.png index f39812e8..44e7069e 100644 Binary files a/tests/snapshots/nanos/test_transaction_params/part7/00014.png and b/tests/snapshots/nanos/test_transaction_params/part7/00014.png differ diff --git a/tests/snapshots/nanos/test_transaction_params/part7/00015.png b/tests/snapshots/nanos/test_transaction_params/part7/00015.png index 59aa8dce..7a5610fa 100644 Binary files a/tests/snapshots/nanos/test_transaction_params/part7/00015.png and b/tests/snapshots/nanos/test_transaction_params/part7/00015.png differ diff --git a/tests/snapshots/nanos/test_transaction_params/part7/00016.png b/tests/snapshots/nanos/test_transaction_params/part7/00016.png index 44e7069e..55ce7183 100644 Binary files a/tests/snapshots/nanos/test_transaction_params/part7/00016.png and b/tests/snapshots/nanos/test_transaction_params/part7/00016.png differ diff --git a/tests/snapshots/nanos/test_transaction_params/part7/00017.png b/tests/snapshots/nanos/test_transaction_params/part7/00017.png index 7a5610fa..c4016375 100644 Binary files a/tests/snapshots/nanos/test_transaction_params/part7/00017.png and b/tests/snapshots/nanos/test_transaction_params/part7/00017.png differ diff --git a/tests/snapshots/nanos/test_transaction_params/part7/00018.png b/tests/snapshots/nanos/test_transaction_params/part7/00018.png index 6bcaeb70..52b06db9 100644 Binary files a/tests/snapshots/nanos/test_transaction_params/part7/00018.png and b/tests/snapshots/nanos/test_transaction_params/part7/00018.png differ diff --git a/tests/snapshots/nanos/test_transaction_params/part7/00019.png b/tests/snapshots/nanos/test_transaction_params/part7/00019.png index b131bbe9..006c26ab 100644 Binary files a/tests/snapshots/nanos/test_transaction_params/part7/00019.png and b/tests/snapshots/nanos/test_transaction_params/part7/00019.png differ diff --git a/tests/snapshots/nanos/test_transaction_params/part7/00020.png b/tests/snapshots/nanos/test_transaction_params/part7/00020.png index 52b06db9..7f6ab5e6 100644 Binary files a/tests/snapshots/nanos/test_transaction_params/part7/00020.png and b/tests/snapshots/nanos/test_transaction_params/part7/00020.png differ diff --git a/tests/snapshots/nanos/test_transaction_params/part8/00000.png b/tests/snapshots/nanos/test_transaction_params/part8/00000.png index a91c2dbb..3b57cb27 100644 Binary files a/tests/snapshots/nanos/test_transaction_params/part8/00000.png and b/tests/snapshots/nanos/test_transaction_params/part8/00000.png differ diff --git a/tests/snapshots/nanos/test_transaction_params/part8/00001.png b/tests/snapshots/nanos/test_transaction_params/part8/00001.png index 4ffe73a4..2ab14840 100644 Binary files a/tests/snapshots/nanos/test_transaction_params/part8/00001.png and b/tests/snapshots/nanos/test_transaction_params/part8/00001.png differ diff --git a/tests/snapshots/nanos/test_transaction_params/part8/00002.png b/tests/snapshots/nanos/test_transaction_params/part8/00002.png index c8413388..b37540ce 100644 Binary files a/tests/snapshots/nanos/test_transaction_params/part8/00002.png and b/tests/snapshots/nanos/test_transaction_params/part8/00002.png differ diff --git a/tests/snapshots/nanos/test_transaction_params/part8/00003.png b/tests/snapshots/nanos/test_transaction_params/part8/00003.png index a4274bf8..db6a7d25 100644 Binary files a/tests/snapshots/nanos/test_transaction_params/part8/00003.png and b/tests/snapshots/nanos/test_transaction_params/part8/00003.png differ diff --git a/tests/snapshots/nanos/test_transaction_params/part8/00004.png b/tests/snapshots/nanos/test_transaction_params/part8/00004.png index f2b61148..83d83228 100644 Binary files a/tests/snapshots/nanos/test_transaction_params/part8/00004.png and b/tests/snapshots/nanos/test_transaction_params/part8/00004.png differ diff --git a/tests/snapshots/nanos/test_transaction_params/part8/00005.png b/tests/snapshots/nanos/test_transaction_params/part8/00005.png index 87ad3209..5a8a3fe7 100644 Binary files a/tests/snapshots/nanos/test_transaction_params/part8/00005.png and b/tests/snapshots/nanos/test_transaction_params/part8/00005.png differ diff --git a/tests/snapshots/nanos/test_transaction_params/part8/00006.png b/tests/snapshots/nanos/test_transaction_params/part8/00006.png index 4543c4cb..2fcbfd21 100644 Binary files a/tests/snapshots/nanos/test_transaction_params/part8/00006.png and b/tests/snapshots/nanos/test_transaction_params/part8/00006.png differ diff --git a/tests/snapshots/nanos/test_transaction_params/part8/00007.png b/tests/snapshots/nanos/test_transaction_params/part8/00007.png index 133a2bef..f63e345b 100644 Binary files a/tests/snapshots/nanos/test_transaction_params/part8/00007.png and b/tests/snapshots/nanos/test_transaction_params/part8/00007.png differ diff --git a/tests/snapshots/nanos/test_transaction_params/part8/00008.png b/tests/snapshots/nanos/test_transaction_params/part8/00008.png index bdb2b0a4..bce4568b 100644 Binary files a/tests/snapshots/nanos/test_transaction_params/part8/00008.png and b/tests/snapshots/nanos/test_transaction_params/part8/00008.png differ diff --git a/tests/snapshots/nanos/test_transaction_params/part8/00009.png b/tests/snapshots/nanos/test_transaction_params/part8/00009.png index b4e8992e..aca36545 100644 Binary files a/tests/snapshots/nanos/test_transaction_params/part8/00009.png and b/tests/snapshots/nanos/test_transaction_params/part8/00009.png differ diff --git a/tests/snapshots/nanos/test_transaction_params/part8/00010.png b/tests/snapshots/nanos/test_transaction_params/part8/00010.png index a8c0686b..05f27c3a 100644 Binary files a/tests/snapshots/nanos/test_transaction_params/part8/00010.png and b/tests/snapshots/nanos/test_transaction_params/part8/00010.png differ diff --git a/tests/snapshots/nanos/test_transaction_params/part8/00011.png b/tests/snapshots/nanos/test_transaction_params/part8/00011.png index c5866631..5ebc5665 100644 Binary files a/tests/snapshots/nanos/test_transaction_params/part8/00011.png and b/tests/snapshots/nanos/test_transaction_params/part8/00011.png differ diff --git a/tests/snapshots/nanos/test_transaction_params/part8/00012.png b/tests/snapshots/nanos/test_transaction_params/part8/00012.png index 05f27c3a..f39812e8 100644 Binary files a/tests/snapshots/nanos/test_transaction_params/part8/00012.png and b/tests/snapshots/nanos/test_transaction_params/part8/00012.png differ diff --git a/tests/snapshots/nanos/test_transaction_params/part8/00013.png b/tests/snapshots/nanos/test_transaction_params/part8/00013.png index 5ebc5665..41b0ce2b 100644 Binary files a/tests/snapshots/nanos/test_transaction_params/part8/00013.png and b/tests/snapshots/nanos/test_transaction_params/part8/00013.png differ diff --git a/tests/snapshots/nanos/test_transaction_params/part8/00014.png b/tests/snapshots/nanos/test_transaction_params/part8/00014.png index f39812e8..44e7069e 100644 Binary files a/tests/snapshots/nanos/test_transaction_params/part8/00014.png and b/tests/snapshots/nanos/test_transaction_params/part8/00014.png differ diff --git a/tests/snapshots/nanos/test_transaction_params/part8/00015.png b/tests/snapshots/nanos/test_transaction_params/part8/00015.png index 59aa8dce..7a5610fa 100644 Binary files a/tests/snapshots/nanos/test_transaction_params/part8/00015.png and b/tests/snapshots/nanos/test_transaction_params/part8/00015.png differ diff --git a/tests/snapshots/nanos/test_transaction_params/part8/00016.png b/tests/snapshots/nanos/test_transaction_params/part8/00016.png index 44e7069e..55ce7183 100644 Binary files a/tests/snapshots/nanos/test_transaction_params/part8/00016.png and b/tests/snapshots/nanos/test_transaction_params/part8/00016.png differ diff --git a/tests/snapshots/nanos/test_transaction_params/part8/00017.png b/tests/snapshots/nanos/test_transaction_params/part8/00017.png index 7a5610fa..c4016375 100644 Binary files a/tests/snapshots/nanos/test_transaction_params/part8/00017.png and b/tests/snapshots/nanos/test_transaction_params/part8/00017.png differ diff --git a/tests/snapshots/nanos/test_transaction_params/part8/00018.png b/tests/snapshots/nanos/test_transaction_params/part8/00018.png index 6bcaeb70..52b06db9 100644 Binary files a/tests/snapshots/nanos/test_transaction_params/part8/00018.png and b/tests/snapshots/nanos/test_transaction_params/part8/00018.png differ diff --git a/tests/snapshots/nanos/test_transaction_params/part8/00019.png b/tests/snapshots/nanos/test_transaction_params/part8/00019.png index b131bbe9..006c26ab 100644 Binary files a/tests/snapshots/nanos/test_transaction_params/part8/00019.png and b/tests/snapshots/nanos/test_transaction_params/part8/00019.png differ diff --git a/tests/snapshots/nanos/test_transaction_params/part8/00020.png b/tests/snapshots/nanos/test_transaction_params/part8/00020.png index 52b06db9..7f6ab5e6 100644 Binary files a/tests/snapshots/nanos/test_transaction_params/part8/00020.png and b/tests/snapshots/nanos/test_transaction_params/part8/00020.png differ diff --git a/tests/snapshots/nanos/test_transaction_params/part9/00000.png b/tests/snapshots/nanos/test_transaction_params/part9/00000.png index c74a291c..f3548e94 100644 Binary files a/tests/snapshots/nanos/test_transaction_params/part9/00000.png and b/tests/snapshots/nanos/test_transaction_params/part9/00000.png differ diff --git a/tests/snapshots/nanos/test_transaction_params/part9/00001.png b/tests/snapshots/nanos/test_transaction_params/part9/00001.png index 4ffe73a4..2ab14840 100644 Binary files a/tests/snapshots/nanos/test_transaction_params/part9/00001.png and b/tests/snapshots/nanos/test_transaction_params/part9/00001.png differ diff --git a/tests/snapshots/nanos/test_transaction_params/part9/00002.png b/tests/snapshots/nanos/test_transaction_params/part9/00002.png index a81e22c9..279ad0e8 100644 Binary files a/tests/snapshots/nanos/test_transaction_params/part9/00002.png and b/tests/snapshots/nanos/test_transaction_params/part9/00002.png differ diff --git a/tests/snapshots/nanos/test_transaction_params/part9/00003.png b/tests/snapshots/nanos/test_transaction_params/part9/00003.png index ef5b5adf..05f27c3a 100644 Binary files a/tests/snapshots/nanos/test_transaction_params/part9/00003.png and b/tests/snapshots/nanos/test_transaction_params/part9/00003.png differ diff --git a/tests/snapshots/nanos/test_transaction_params/part9/00004.png b/tests/snapshots/nanos/test_transaction_params/part9/00004.png index efd68843..5ebc5665 100644 Binary files a/tests/snapshots/nanos/test_transaction_params/part9/00004.png and b/tests/snapshots/nanos/test_transaction_params/part9/00004.png differ diff --git a/tests/snapshots/nanos/test_transaction_params/part9/00005.png b/tests/snapshots/nanos/test_transaction_params/part9/00005.png index 4e9626ae..f39812e8 100644 Binary files a/tests/snapshots/nanos/test_transaction_params/part9/00005.png and b/tests/snapshots/nanos/test_transaction_params/part9/00005.png differ diff --git a/tests/snapshots/nanos/test_transaction_params/part9/00006.png b/tests/snapshots/nanos/test_transaction_params/part9/00006.png index 307a8ec4..41b0ce2b 100644 Binary files a/tests/snapshots/nanos/test_transaction_params/part9/00006.png and b/tests/snapshots/nanos/test_transaction_params/part9/00006.png differ diff --git a/tests/snapshots/nanos/test_transaction_params/part9/00007.png b/tests/snapshots/nanos/test_transaction_params/part9/00007.png index 05f27c3a..44e7069e 100644 Binary files a/tests/snapshots/nanos/test_transaction_params/part9/00007.png and b/tests/snapshots/nanos/test_transaction_params/part9/00007.png differ diff --git a/tests/snapshots/nanos/test_transaction_params/part9/00008.png b/tests/snapshots/nanos/test_transaction_params/part9/00008.png index 5ebc5665..7a5610fa 100644 Binary files a/tests/snapshots/nanos/test_transaction_params/part9/00008.png and b/tests/snapshots/nanos/test_transaction_params/part9/00008.png differ diff --git a/tests/snapshots/nanos/test_transaction_params/part9/00009.png b/tests/snapshots/nanos/test_transaction_params/part9/00009.png index f39812e8..55ce7183 100644 Binary files a/tests/snapshots/nanos/test_transaction_params/part9/00009.png and b/tests/snapshots/nanos/test_transaction_params/part9/00009.png differ diff --git a/tests/snapshots/nanos/test_transaction_params/part9/00010.png b/tests/snapshots/nanos/test_transaction_params/part9/00010.png index 59aa8dce..c4016375 100644 Binary files a/tests/snapshots/nanos/test_transaction_params/part9/00010.png and b/tests/snapshots/nanos/test_transaction_params/part9/00010.png differ diff --git a/tests/snapshots/nanos/test_transaction_params/part9/00011.png b/tests/snapshots/nanos/test_transaction_params/part9/00011.png index 44e7069e..52b06db9 100644 Binary files a/tests/snapshots/nanos/test_transaction_params/part9/00011.png and b/tests/snapshots/nanos/test_transaction_params/part9/00011.png differ diff --git a/tests/snapshots/nanos/test_transaction_params/part9/00012.png b/tests/snapshots/nanos/test_transaction_params/part9/00012.png index 7a5610fa..006c26ab 100644 Binary files a/tests/snapshots/nanos/test_transaction_params/part9/00012.png and b/tests/snapshots/nanos/test_transaction_params/part9/00012.png differ diff --git a/tests/snapshots/nanos/test_transaction_params/part9/00013.png b/tests/snapshots/nanos/test_transaction_params/part9/00013.png index 6bcaeb70..7f6ab5e6 100644 Binary files a/tests/snapshots/nanos/test_transaction_params/part9/00013.png and b/tests/snapshots/nanos/test_transaction_params/part9/00013.png differ diff --git a/tests/snapshots/nanos/test_transaction_refused/00000.png b/tests/snapshots/nanos/test_transaction_refused/00000.png index b338763e..a91c2dbb 100644 Binary files a/tests/snapshots/nanos/test_transaction_refused/00000.png and b/tests/snapshots/nanos/test_transaction_refused/00000.png differ diff --git a/tests/snapshots/nanos/test_transaction_refused/00001.png b/tests/snapshots/nanos/test_transaction_refused/00001.png index 4ffe73a4..2ab14840 100644 Binary files a/tests/snapshots/nanos/test_transaction_refused/00001.png and b/tests/snapshots/nanos/test_transaction_refused/00001.png differ diff --git a/tests/snapshots/nanos/test_transaction_refused/00002.png b/tests/snapshots/nanos/test_transaction_refused/00002.png index 1556d048..b37540ce 100644 Binary files a/tests/snapshots/nanos/test_transaction_refused/00002.png and b/tests/snapshots/nanos/test_transaction_refused/00002.png differ diff --git a/tests/snapshots/nanos/test_transaction_refused/00003.png b/tests/snapshots/nanos/test_transaction_refused/00003.png index 6e60758e..db6a7d25 100644 Binary files a/tests/snapshots/nanos/test_transaction_refused/00003.png and b/tests/snapshots/nanos/test_transaction_refused/00003.png differ diff --git a/tests/snapshots/nanos/test_transaction_refused/00004.png b/tests/snapshots/nanos/test_transaction_refused/00004.png index 05f27c3a..83d83228 100644 Binary files a/tests/snapshots/nanos/test_transaction_refused/00004.png and b/tests/snapshots/nanos/test_transaction_refused/00004.png differ diff --git a/tests/snapshots/nanos/test_transaction_refused/00005.png b/tests/snapshots/nanos/test_transaction_refused/00005.png index 5ebc5665..5a8a3fe7 100644 Binary files a/tests/snapshots/nanos/test_transaction_refused/00005.png and b/tests/snapshots/nanos/test_transaction_refused/00005.png differ diff --git a/tests/snapshots/nanos/test_transaction_refused/00006.png b/tests/snapshots/nanos/test_transaction_refused/00006.png index f39812e8..2fcbfd21 100644 Binary files a/tests/snapshots/nanos/test_transaction_refused/00006.png and b/tests/snapshots/nanos/test_transaction_refused/00006.png differ diff --git a/tests/snapshots/nanos/test_transaction_refused/00007.png b/tests/snapshots/nanos/test_transaction_refused/00007.png index 59aa8dce..f63e345b 100644 Binary files a/tests/snapshots/nanos/test_transaction_refused/00007.png and b/tests/snapshots/nanos/test_transaction_refused/00007.png differ diff --git a/tests/snapshots/nanos/test_transaction_refused/00008.png b/tests/snapshots/nanos/test_transaction_refused/00008.png index 44e7069e..bce4568b 100644 Binary files a/tests/snapshots/nanos/test_transaction_refused/00008.png and b/tests/snapshots/nanos/test_transaction_refused/00008.png differ diff --git a/tests/snapshots/nanos/test_transaction_refused/00009.png b/tests/snapshots/nanos/test_transaction_refused/00009.png index 7a5610fa..aca36545 100644 Binary files a/tests/snapshots/nanos/test_transaction_refused/00009.png and b/tests/snapshots/nanos/test_transaction_refused/00009.png differ diff --git a/tests/snapshots/nanos/test_transaction_refused/00010.png b/tests/snapshots/nanos/test_transaction_refused/00010.png index 6bcaeb70..05f27c3a 100644 Binary files a/tests/snapshots/nanos/test_transaction_refused/00010.png and b/tests/snapshots/nanos/test_transaction_refused/00010.png differ diff --git a/tests/snapshots/nanos/test_transaction_refused/00011.png b/tests/snapshots/nanos/test_transaction_refused/00011.png index b131bbe9..5ebc5665 100644 Binary files a/tests/snapshots/nanos/test_transaction_refused/00011.png and b/tests/snapshots/nanos/test_transaction_refused/00011.png differ diff --git a/tests/snapshots/nanos/test_transaction_refused/00012.png b/tests/snapshots/nanos/test_transaction_refused/00012.png index 52b06db9..f39812e8 100644 Binary files a/tests/snapshots/nanos/test_transaction_refused/00012.png and b/tests/snapshots/nanos/test_transaction_refused/00012.png differ diff --git a/tests/snapshots/nanos/test_transaction_refused/00013.png b/tests/snapshots/nanos/test_transaction_refused/00013.png index 006c26ab..41b0ce2b 100644 Binary files a/tests/snapshots/nanos/test_transaction_refused/00013.png and b/tests/snapshots/nanos/test_transaction_refused/00013.png differ diff --git a/tests/snapshots/nanos/test_transaction_refused/00014.png b/tests/snapshots/nanos/test_transaction_refused/00014.png index ef76636e..44e7069e 100644 Binary files a/tests/snapshots/nanos/test_transaction_refused/00014.png and b/tests/snapshots/nanos/test_transaction_refused/00014.png differ diff --git a/tests/snapshots/nanos/test_transaction_refused/00015.png b/tests/snapshots/nanos/test_transaction_refused/00015.png index 7f6ab5e6..7a5610fa 100644 Binary files a/tests/snapshots/nanos/test_transaction_refused/00015.png and b/tests/snapshots/nanos/test_transaction_refused/00015.png differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.17-Mainnet/00011.png b/tests/snapshots/nanos/test_transaction_refused/00016.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/TH.17-Mainnet/00011.png rename to tests/snapshots/nanos/test_transaction_refused/00016.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.17-Mainnet/00012.png b/tests/snapshots/nanos/test_transaction_refused/00017.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/TH.17-Mainnet/00012.png rename to tests/snapshots/nanos/test_transaction_refused/00017.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.13-Mainnet/00011.png b/tests/snapshots/nanos/test_transaction_refused/00018.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/TH.13-Mainnet/00011.png rename to tests/snapshots/nanos/test_transaction_refused/00018.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.13-Mainnet/00012.png b/tests/snapshots/nanos/test_transaction_refused/00019.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/TH.13-Mainnet/00012.png rename to tests/snapshots/nanos/test_transaction_refused/00019.png diff --git a/tests/snapshots/nanos/test_transaction_refused/00020.png b/tests/snapshots/nanos/test_transaction_refused/00020.png new file mode 100644 index 00000000..ef76636e Binary files /dev/null and b/tests/snapshots/nanos/test_transaction_refused/00020.png differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.13-Mainnet/00013.png b/tests/snapshots/nanos/test_transaction_refused/00021.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/TH.13-Mainnet/00013.png rename to tests/snapshots/nanos/test_transaction_refused/00021.png diff --git a/tests/snapshots/nanos/test_transaction_slot/part0/00000.png b/tests/snapshots/nanos/test_transaction_slot/part0/00000.png index b338763e..3b57cb27 100644 Binary files a/tests/snapshots/nanos/test_transaction_slot/part0/00000.png and b/tests/snapshots/nanos/test_transaction_slot/part0/00000.png differ diff --git a/tests/snapshots/nanos/test_transaction_slot/part0/00001.png b/tests/snapshots/nanos/test_transaction_slot/part0/00001.png index 4ffe73a4..2ab14840 100644 Binary files a/tests/snapshots/nanos/test_transaction_slot/part0/00001.png and b/tests/snapshots/nanos/test_transaction_slot/part0/00001.png differ diff --git a/tests/snapshots/nanos/test_transaction_slot/part0/00002.png b/tests/snapshots/nanos/test_transaction_slot/part0/00002.png index 1556d048..b37540ce 100644 Binary files a/tests/snapshots/nanos/test_transaction_slot/part0/00002.png and b/tests/snapshots/nanos/test_transaction_slot/part0/00002.png differ diff --git a/tests/snapshots/nanos/test_transaction_slot/part0/00003.png b/tests/snapshots/nanos/test_transaction_slot/part0/00003.png index 6e60758e..db6a7d25 100644 Binary files a/tests/snapshots/nanos/test_transaction_slot/part0/00003.png and b/tests/snapshots/nanos/test_transaction_slot/part0/00003.png differ diff --git a/tests/snapshots/nanos/test_transaction_slot/part0/00004.png b/tests/snapshots/nanos/test_transaction_slot/part0/00004.png index 05f27c3a..83d83228 100644 Binary files a/tests/snapshots/nanos/test_transaction_slot/part0/00004.png and b/tests/snapshots/nanos/test_transaction_slot/part0/00004.png differ diff --git a/tests/snapshots/nanos/test_transaction_slot/part0/00005.png b/tests/snapshots/nanos/test_transaction_slot/part0/00005.png index 5ebc5665..5a8a3fe7 100644 Binary files a/tests/snapshots/nanos/test_transaction_slot/part0/00005.png and b/tests/snapshots/nanos/test_transaction_slot/part0/00005.png differ diff --git a/tests/snapshots/nanos/test_transaction_slot/part0/00006.png b/tests/snapshots/nanos/test_transaction_slot/part0/00006.png index f39812e8..2fcbfd21 100644 Binary files a/tests/snapshots/nanos/test_transaction_slot/part0/00006.png and b/tests/snapshots/nanos/test_transaction_slot/part0/00006.png differ diff --git a/tests/snapshots/nanos/test_transaction_slot/part0/00007.png b/tests/snapshots/nanos/test_transaction_slot/part0/00007.png index 59aa8dce..f63e345b 100644 Binary files a/tests/snapshots/nanos/test_transaction_slot/part0/00007.png and b/tests/snapshots/nanos/test_transaction_slot/part0/00007.png differ diff --git a/tests/snapshots/nanos/test_transaction_slot/part0/00008.png b/tests/snapshots/nanos/test_transaction_slot/part0/00008.png index 44e7069e..bce4568b 100644 Binary files a/tests/snapshots/nanos/test_transaction_slot/part0/00008.png and b/tests/snapshots/nanos/test_transaction_slot/part0/00008.png differ diff --git a/tests/snapshots/nanos/test_transaction_slot/part0/00009.png b/tests/snapshots/nanos/test_transaction_slot/part0/00009.png index 7a5610fa..aca36545 100644 Binary files a/tests/snapshots/nanos/test_transaction_slot/part0/00009.png and b/tests/snapshots/nanos/test_transaction_slot/part0/00009.png differ diff --git a/tests/snapshots/nanos/test_transaction_slot/part0/00010.png b/tests/snapshots/nanos/test_transaction_slot/part0/00010.png index 6bcaeb70..05f27c3a 100644 Binary files a/tests/snapshots/nanos/test_transaction_slot/part0/00010.png and b/tests/snapshots/nanos/test_transaction_slot/part0/00010.png differ diff --git a/tests/snapshots/nanos/test_transaction_slot/part0/00011.png b/tests/snapshots/nanos/test_transaction_slot/part0/00011.png index b131bbe9..5ebc5665 100644 Binary files a/tests/snapshots/nanos/test_transaction_slot/part0/00011.png and b/tests/snapshots/nanos/test_transaction_slot/part0/00011.png differ diff --git a/tests/snapshots/nanos/test_transaction_slot/part0/00012.png b/tests/snapshots/nanos/test_transaction_slot/part0/00012.png index 52b06db9..f39812e8 100644 Binary files a/tests/snapshots/nanos/test_transaction_slot/part0/00012.png and b/tests/snapshots/nanos/test_transaction_slot/part0/00012.png differ diff --git a/tests/snapshots/nanos/test_transaction_slot/part0/00013.png b/tests/snapshots/nanos/test_transaction_slot/part0/00013.png index 006c26ab..41b0ce2b 100644 Binary files a/tests/snapshots/nanos/test_transaction_slot/part0/00013.png and b/tests/snapshots/nanos/test_transaction_slot/part0/00013.png differ diff --git a/tests/snapshots/nanos/test_transaction_slot/part0/00014.png b/tests/snapshots/nanos/test_transaction_slot/part0/00014.png index 7f6ab5e6..44e7069e 100644 Binary files a/tests/snapshots/nanos/test_transaction_slot/part0/00014.png and b/tests/snapshots/nanos/test_transaction_slot/part0/00014.png differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.13-Mainnet/00008.png b/tests/snapshots/nanos/test_transaction_slot/part0/00015.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/TH.13-Mainnet/00008.png rename to tests/snapshots/nanos/test_transaction_slot/part0/00015.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.19-Mainnet/00009.png b/tests/snapshots/nanos/test_transaction_slot/part0/00016.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/TH.19-Mainnet/00009.png rename to tests/snapshots/nanos/test_transaction_slot/part0/00016.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.19-Mainnet/00010.png b/tests/snapshots/nanos/test_transaction_slot/part0/00017.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/TH.19-Mainnet/00010.png rename to tests/snapshots/nanos/test_transaction_slot/part0/00017.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.13-Testnet/00011.png b/tests/snapshots/nanos/test_transaction_slot/part0/00018.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/TH.13-Testnet/00011.png rename to tests/snapshots/nanos/test_transaction_slot/part0/00018.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.13-Testnet/00012.png b/tests/snapshots/nanos/test_transaction_slot/part0/00019.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/TH.13-Testnet/00012.png rename to tests/snapshots/nanos/test_transaction_slot/part0/00019.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.13-Testnet/00013.png b/tests/snapshots/nanos/test_transaction_slot/part0/00020.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/TH.13-Testnet/00013.png rename to tests/snapshots/nanos/test_transaction_slot/part0/00020.png diff --git a/tests/snapshots/nanos/test_transaction_slot/part10/00000.png b/tests/snapshots/nanos/test_transaction_slot/part10/00000.png index b338763e..3b57cb27 100644 Binary files a/tests/snapshots/nanos/test_transaction_slot/part10/00000.png and b/tests/snapshots/nanos/test_transaction_slot/part10/00000.png differ diff --git a/tests/snapshots/nanos/test_transaction_slot/part10/00002.png b/tests/snapshots/nanos/test_transaction_slot/part10/00002.png index 1556d048..b37540ce 100644 Binary files a/tests/snapshots/nanos/test_transaction_slot/part10/00002.png and b/tests/snapshots/nanos/test_transaction_slot/part10/00002.png differ diff --git a/tests/snapshots/nanos/test_transaction_slot/part10/00003.png b/tests/snapshots/nanos/test_transaction_slot/part10/00003.png index 6e60758e..db6a7d25 100644 Binary files a/tests/snapshots/nanos/test_transaction_slot/part10/00003.png and b/tests/snapshots/nanos/test_transaction_slot/part10/00003.png differ diff --git a/tests/snapshots/nanos/test_transaction_slot/part10/00004.png b/tests/snapshots/nanos/test_transaction_slot/part10/00004.png index 05f27c3a..83d83228 100644 Binary files a/tests/snapshots/nanos/test_transaction_slot/part10/00004.png and b/tests/snapshots/nanos/test_transaction_slot/part10/00004.png differ diff --git a/tests/snapshots/nanos/test_transaction_slot/part10/00005.png b/tests/snapshots/nanos/test_transaction_slot/part10/00005.png index 5ebc5665..5a8a3fe7 100644 Binary files a/tests/snapshots/nanos/test_transaction_slot/part10/00005.png and b/tests/snapshots/nanos/test_transaction_slot/part10/00005.png differ diff --git a/tests/snapshots/nanos/test_transaction_slot/part10/00006.png b/tests/snapshots/nanos/test_transaction_slot/part10/00006.png index f39812e8..2fcbfd21 100644 Binary files a/tests/snapshots/nanos/test_transaction_slot/part10/00006.png and b/tests/snapshots/nanos/test_transaction_slot/part10/00006.png differ diff --git a/tests/snapshots/nanos/test_transaction_slot/part10/00007.png b/tests/snapshots/nanos/test_transaction_slot/part10/00007.png index 420d6421..f63e345b 100644 Binary files a/tests/snapshots/nanos/test_transaction_slot/part10/00007.png and b/tests/snapshots/nanos/test_transaction_slot/part10/00007.png differ diff --git a/tests/snapshots/nanos/test_transaction_slot/part10/00008.png b/tests/snapshots/nanos/test_transaction_slot/part10/00008.png index 44e7069e..bce4568b 100644 Binary files a/tests/snapshots/nanos/test_transaction_slot/part10/00008.png and b/tests/snapshots/nanos/test_transaction_slot/part10/00008.png differ diff --git a/tests/snapshots/nanos/test_transaction_slot/part10/00009.png b/tests/snapshots/nanos/test_transaction_slot/part10/00009.png index 7a5610fa..aca36545 100644 Binary files a/tests/snapshots/nanos/test_transaction_slot/part10/00009.png and b/tests/snapshots/nanos/test_transaction_slot/part10/00009.png differ diff --git a/tests/snapshots/nanos/test_transaction_slot/part10/00010.png b/tests/snapshots/nanos/test_transaction_slot/part10/00010.png index 7a8ccecc..05f27c3a 100644 Binary files a/tests/snapshots/nanos/test_transaction_slot/part10/00010.png and b/tests/snapshots/nanos/test_transaction_slot/part10/00010.png differ diff --git a/tests/snapshots/nanos/test_transaction_slot/part10/00011.png b/tests/snapshots/nanos/test_transaction_slot/part10/00011.png index b131bbe9..5ebc5665 100644 Binary files a/tests/snapshots/nanos/test_transaction_slot/part10/00011.png and b/tests/snapshots/nanos/test_transaction_slot/part10/00011.png differ diff --git a/tests/snapshots/nanos/test_transaction_slot/part10/00012.png b/tests/snapshots/nanos/test_transaction_slot/part10/00012.png index 006c26ab..f39812e8 100644 Binary files a/tests/snapshots/nanos/test_transaction_slot/part10/00012.png and b/tests/snapshots/nanos/test_transaction_slot/part10/00012.png differ diff --git a/tests/snapshots/nanos/test_transaction_slot/part10/00013.png b/tests/snapshots/nanos/test_transaction_slot/part10/00013.png index 7f6ab5e6..41b0ce2b 100644 Binary files a/tests/snapshots/nanos/test_transaction_slot/part10/00013.png and b/tests/snapshots/nanos/test_transaction_slot/part10/00013.png differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.11-Mainnet/00007.png b/tests/snapshots/nanos/test_transaction_slot/part10/00014.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/TH.11-Mainnet/00007.png rename to tests/snapshots/nanos/test_transaction_slot/part10/00014.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.13-Testnet/00008.png b/tests/snapshots/nanos/test_transaction_slot/part10/00015.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/TH.13-Testnet/00008.png rename to tests/snapshots/nanos/test_transaction_slot/part10/00015.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.20-Mainnet/00009.png b/tests/snapshots/nanos/test_transaction_slot/part10/00016.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/TH.20-Mainnet/00009.png rename to tests/snapshots/nanos/test_transaction_slot/part10/00016.png diff --git a/tests/snapshots/nanos/test_transaction_slot/part10/00017.png b/tests/snapshots/nanos/test_transaction_slot/part10/00017.png new file mode 100644 index 00000000..b131bbe9 Binary files /dev/null and b/tests/snapshots/nanos/test_transaction_slot/part10/00017.png differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.14-Mainnet/00012.png b/tests/snapshots/nanos/test_transaction_slot/part10/00018.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/TH.14-Mainnet/00012.png rename to tests/snapshots/nanos/test_transaction_slot/part10/00018.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.14-Mainnet/00013.png b/tests/snapshots/nanos/test_transaction_slot/part10/00019.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/TH.14-Mainnet/00013.png rename to tests/snapshots/nanos/test_transaction_slot/part10/00019.png diff --git a/tests/snapshots/nanos/test_transaction_slot/part12/00000.png b/tests/snapshots/nanos/test_transaction_slot/part12/00000.png index b338763e..3b57cb27 100644 Binary files a/tests/snapshots/nanos/test_transaction_slot/part12/00000.png and b/tests/snapshots/nanos/test_transaction_slot/part12/00000.png differ diff --git a/tests/snapshots/nanos/test_transaction_slot/part12/00002.png b/tests/snapshots/nanos/test_transaction_slot/part12/00002.png index 1556d048..b37540ce 100644 Binary files a/tests/snapshots/nanos/test_transaction_slot/part12/00002.png and b/tests/snapshots/nanos/test_transaction_slot/part12/00002.png differ diff --git a/tests/snapshots/nanos/test_transaction_slot/part12/00003.png b/tests/snapshots/nanos/test_transaction_slot/part12/00003.png index 6e60758e..db6a7d25 100644 Binary files a/tests/snapshots/nanos/test_transaction_slot/part12/00003.png and b/tests/snapshots/nanos/test_transaction_slot/part12/00003.png differ diff --git a/tests/snapshots/nanos/test_transaction_slot/part12/00004.png b/tests/snapshots/nanos/test_transaction_slot/part12/00004.png index 05f27c3a..83d83228 100644 Binary files a/tests/snapshots/nanos/test_transaction_slot/part12/00004.png and b/tests/snapshots/nanos/test_transaction_slot/part12/00004.png differ diff --git a/tests/snapshots/nanos/test_transaction_slot/part12/00005.png b/tests/snapshots/nanos/test_transaction_slot/part12/00005.png index 5ebc5665..5a8a3fe7 100644 Binary files a/tests/snapshots/nanos/test_transaction_slot/part12/00005.png and b/tests/snapshots/nanos/test_transaction_slot/part12/00005.png differ diff --git a/tests/snapshots/nanos/test_transaction_slot/part12/00006.png b/tests/snapshots/nanos/test_transaction_slot/part12/00006.png index f39812e8..2fcbfd21 100644 Binary files a/tests/snapshots/nanos/test_transaction_slot/part12/00006.png and b/tests/snapshots/nanos/test_transaction_slot/part12/00006.png differ diff --git a/tests/snapshots/nanos/test_transaction_slot/part12/00007.png b/tests/snapshots/nanos/test_transaction_slot/part12/00007.png index 420d6421..f63e345b 100644 Binary files a/tests/snapshots/nanos/test_transaction_slot/part12/00007.png and b/tests/snapshots/nanos/test_transaction_slot/part12/00007.png differ diff --git a/tests/snapshots/nanos/test_transaction_slot/part12/00008.png b/tests/snapshots/nanos/test_transaction_slot/part12/00008.png index 44e7069e..bce4568b 100644 Binary files a/tests/snapshots/nanos/test_transaction_slot/part12/00008.png and b/tests/snapshots/nanos/test_transaction_slot/part12/00008.png differ diff --git a/tests/snapshots/nanos/test_transaction_slot/part12/00009.png b/tests/snapshots/nanos/test_transaction_slot/part12/00009.png index 7a5610fa..aca36545 100644 Binary files a/tests/snapshots/nanos/test_transaction_slot/part12/00009.png and b/tests/snapshots/nanos/test_transaction_slot/part12/00009.png differ diff --git a/tests/snapshots/nanos/test_transaction_slot/part12/00010.png b/tests/snapshots/nanos/test_transaction_slot/part12/00010.png index 7a8ccecc..05f27c3a 100644 Binary files a/tests/snapshots/nanos/test_transaction_slot/part12/00010.png and b/tests/snapshots/nanos/test_transaction_slot/part12/00010.png differ diff --git a/tests/snapshots/nanos/test_transaction_slot/part12/00011.png b/tests/snapshots/nanos/test_transaction_slot/part12/00011.png index e8c1b25f..5ebc5665 100644 Binary files a/tests/snapshots/nanos/test_transaction_slot/part12/00011.png and b/tests/snapshots/nanos/test_transaction_slot/part12/00011.png differ diff --git a/tests/snapshots/nanos/test_transaction_slot/part12/00012.png b/tests/snapshots/nanos/test_transaction_slot/part12/00012.png index 6e23e7ce..f39812e8 100644 Binary files a/tests/snapshots/nanos/test_transaction_slot/part12/00012.png and b/tests/snapshots/nanos/test_transaction_slot/part12/00012.png differ diff --git a/tests/snapshots/nanos/test_transaction_slot/part12/00013.png b/tests/snapshots/nanos/test_transaction_slot/part12/00013.png index 9a07dbc0..41b0ce2b 100644 Binary files a/tests/snapshots/nanos/test_transaction_slot/part12/00013.png and b/tests/snapshots/nanos/test_transaction_slot/part12/00013.png differ diff --git a/tests/snapshots/nanos/test_transaction_slot/part12/00014.png b/tests/snapshots/nanos/test_transaction_slot/part12/00014.png index a9a71987..44e7069e 100644 Binary files a/tests/snapshots/nanos/test_transaction_slot/part12/00014.png and b/tests/snapshots/nanos/test_transaction_slot/part12/00014.png differ diff --git a/tests/snapshots/nanos/test_transaction_slot/part12/00015.png b/tests/snapshots/nanos/test_transaction_slot/part12/00015.png index 006c26ab..7a5610fa 100644 Binary files a/tests/snapshots/nanos/test_transaction_slot/part12/00015.png and b/tests/snapshots/nanos/test_transaction_slot/part12/00015.png differ diff --git a/tests/snapshots/nanos/test_transaction_slot/part12/00016.png b/tests/snapshots/nanos/test_transaction_slot/part12/00016.png index 7f6ab5e6..55ce7183 100644 Binary files a/tests/snapshots/nanos/test_transaction_slot/part12/00016.png and b/tests/snapshots/nanos/test_transaction_slot/part12/00016.png differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.20-Mainnet/00010.png b/tests/snapshots/nanos/test_transaction_slot/part12/00017.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/TH.20-Mainnet/00010.png rename to tests/snapshots/nanos/test_transaction_slot/part12/00017.png diff --git a/tests/snapshots/nanos/test_transaction_slot/part12/00018.png b/tests/snapshots/nanos/test_transaction_slot/part12/00018.png new file mode 100644 index 00000000..32ae184b Binary files /dev/null and b/tests/snapshots/nanos/test_transaction_slot/part12/00018.png differ diff --git a/tests/snapshots/nanos/test_transaction_slot/part12/00019.png b/tests/snapshots/nanos/test_transaction_slot/part12/00019.png new file mode 100644 index 00000000..c8d1509b Binary files /dev/null and b/tests/snapshots/nanos/test_transaction_slot/part12/00019.png differ diff --git a/tests/snapshots/nanos/test_transaction_slot/part12/00020.png b/tests/snapshots/nanos/test_transaction_slot/part12/00020.png new file mode 100644 index 00000000..a9a71987 Binary files /dev/null and b/tests/snapshots/nanos/test_transaction_slot/part12/00020.png differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.14-Testnet/00012.png b/tests/snapshots/nanos/test_transaction_slot/part12/00021.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/TH.14-Testnet/00012.png rename to tests/snapshots/nanos/test_transaction_slot/part12/00021.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.14-Testnet/00013.png b/tests/snapshots/nanos/test_transaction_slot/part12/00022.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/TH.14-Testnet/00013.png rename to tests/snapshots/nanos/test_transaction_slot/part12/00022.png diff --git a/tests/snapshots/nanos/test_transaction_slot/part14/00000.png b/tests/snapshots/nanos/test_transaction_slot/part14/00000.png index b338763e..3b57cb27 100644 Binary files a/tests/snapshots/nanos/test_transaction_slot/part14/00000.png and b/tests/snapshots/nanos/test_transaction_slot/part14/00000.png differ diff --git a/tests/snapshots/nanos/test_transaction_slot/part14/00002.png b/tests/snapshots/nanos/test_transaction_slot/part14/00002.png index 1556d048..b37540ce 100644 Binary files a/tests/snapshots/nanos/test_transaction_slot/part14/00002.png and b/tests/snapshots/nanos/test_transaction_slot/part14/00002.png differ diff --git a/tests/snapshots/nanos/test_transaction_slot/part14/00003.png b/tests/snapshots/nanos/test_transaction_slot/part14/00003.png index 6e60758e..db6a7d25 100644 Binary files a/tests/snapshots/nanos/test_transaction_slot/part14/00003.png and b/tests/snapshots/nanos/test_transaction_slot/part14/00003.png differ diff --git a/tests/snapshots/nanos/test_transaction_slot/part14/00004.png b/tests/snapshots/nanos/test_transaction_slot/part14/00004.png index 05f27c3a..83d83228 100644 Binary files a/tests/snapshots/nanos/test_transaction_slot/part14/00004.png and b/tests/snapshots/nanos/test_transaction_slot/part14/00004.png differ diff --git a/tests/snapshots/nanos/test_transaction_slot/part14/00005.png b/tests/snapshots/nanos/test_transaction_slot/part14/00005.png index 5ebc5665..5a8a3fe7 100644 Binary files a/tests/snapshots/nanos/test_transaction_slot/part14/00005.png and b/tests/snapshots/nanos/test_transaction_slot/part14/00005.png differ diff --git a/tests/snapshots/nanos/test_transaction_slot/part14/00006.png b/tests/snapshots/nanos/test_transaction_slot/part14/00006.png index f39812e8..2fcbfd21 100644 Binary files a/tests/snapshots/nanos/test_transaction_slot/part14/00006.png and b/tests/snapshots/nanos/test_transaction_slot/part14/00006.png differ diff --git a/tests/snapshots/nanos/test_transaction_slot/part14/00007.png b/tests/snapshots/nanos/test_transaction_slot/part14/00007.png index 420d6421..f63e345b 100644 Binary files a/tests/snapshots/nanos/test_transaction_slot/part14/00007.png and b/tests/snapshots/nanos/test_transaction_slot/part14/00007.png differ diff --git a/tests/snapshots/nanos/test_transaction_slot/part14/00008.png b/tests/snapshots/nanos/test_transaction_slot/part14/00008.png index 44e7069e..bce4568b 100644 Binary files a/tests/snapshots/nanos/test_transaction_slot/part14/00008.png and b/tests/snapshots/nanos/test_transaction_slot/part14/00008.png differ diff --git a/tests/snapshots/nanos/test_transaction_slot/part14/00009.png b/tests/snapshots/nanos/test_transaction_slot/part14/00009.png index 7a5610fa..aca36545 100644 Binary files a/tests/snapshots/nanos/test_transaction_slot/part14/00009.png and b/tests/snapshots/nanos/test_transaction_slot/part14/00009.png differ diff --git a/tests/snapshots/nanos/test_transaction_slot/part14/00010.png b/tests/snapshots/nanos/test_transaction_slot/part14/00010.png index 7a8ccecc..05f27c3a 100644 Binary files a/tests/snapshots/nanos/test_transaction_slot/part14/00010.png and b/tests/snapshots/nanos/test_transaction_slot/part14/00010.png differ diff --git a/tests/snapshots/nanos/test_transaction_slot/part14/00011.png b/tests/snapshots/nanos/test_transaction_slot/part14/00011.png index e8c1b25f..5ebc5665 100644 Binary files a/tests/snapshots/nanos/test_transaction_slot/part14/00011.png and b/tests/snapshots/nanos/test_transaction_slot/part14/00011.png differ diff --git a/tests/snapshots/nanos/test_transaction_slot/part14/00012.png b/tests/snapshots/nanos/test_transaction_slot/part14/00012.png index 6e23e7ce..f39812e8 100644 Binary files a/tests/snapshots/nanos/test_transaction_slot/part14/00012.png and b/tests/snapshots/nanos/test_transaction_slot/part14/00012.png differ diff --git a/tests/snapshots/nanos/test_transaction_slot/part14/00013.png b/tests/snapshots/nanos/test_transaction_slot/part14/00013.png index b300352b..41b0ce2b 100644 Binary files a/tests/snapshots/nanos/test_transaction_slot/part14/00013.png and b/tests/snapshots/nanos/test_transaction_slot/part14/00013.png differ diff --git a/tests/snapshots/nanos/test_transaction_slot/part14/00014.png b/tests/snapshots/nanos/test_transaction_slot/part14/00014.png index 006c26ab..44e7069e 100644 Binary files a/tests/snapshots/nanos/test_transaction_slot/part14/00014.png and b/tests/snapshots/nanos/test_transaction_slot/part14/00014.png differ diff --git a/tests/snapshots/nanos/test_transaction_slot/part14/00015.png b/tests/snapshots/nanos/test_transaction_slot/part14/00015.png index 7f6ab5e6..7a5610fa 100644 Binary files a/tests/snapshots/nanos/test_transaction_slot/part14/00015.png and b/tests/snapshots/nanos/test_transaction_slot/part14/00015.png differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.21-Mainnet/00009.png b/tests/snapshots/nanos/test_transaction_slot/part14/00016.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/TH.21-Mainnet/00009.png rename to tests/snapshots/nanos/test_transaction_slot/part14/00016.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.21-Mainnet/00010.png b/tests/snapshots/nanos/test_transaction_slot/part14/00017.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/TH.21-Mainnet/00010.png rename to tests/snapshots/nanos/test_transaction_slot/part14/00017.png diff --git a/tests/snapshots/nanos/test_transaction_slot/part14/00018.png b/tests/snapshots/nanos/test_transaction_slot/part14/00018.png new file mode 100644 index 00000000..32ae184b Binary files /dev/null and b/tests/snapshots/nanos/test_transaction_slot/part14/00018.png differ diff --git a/tests/snapshots/nanos/test_transaction_slot/part14/00019.png b/tests/snapshots/nanos/test_transaction_slot/part14/00019.png new file mode 100644 index 00000000..b300352b Binary files /dev/null and b/tests/snapshots/nanos/test_transaction_slot/part14/00019.png differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.17-Mainnet/00014.png b/tests/snapshots/nanos/test_transaction_slot/part14/00020.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/TH.17-Mainnet/00014.png rename to tests/snapshots/nanos/test_transaction_slot/part14/00020.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.17-Mainnet/00015.png b/tests/snapshots/nanos/test_transaction_slot/part14/00021.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/TH.17-Mainnet/00015.png rename to tests/snapshots/nanos/test_transaction_slot/part14/00021.png diff --git a/tests/snapshots/nanos/test_transaction_slot/part15/00000.png b/tests/snapshots/nanos/test_transaction_slot/part15/00000.png index b338763e..3b57cb27 100644 Binary files a/tests/snapshots/nanos/test_transaction_slot/part15/00000.png and b/tests/snapshots/nanos/test_transaction_slot/part15/00000.png differ diff --git a/tests/snapshots/nanos/test_transaction_slot/part15/00001.png b/tests/snapshots/nanos/test_transaction_slot/part15/00001.png index 4ffe73a4..2ab14840 100644 Binary files a/tests/snapshots/nanos/test_transaction_slot/part15/00001.png and b/tests/snapshots/nanos/test_transaction_slot/part15/00001.png differ diff --git a/tests/snapshots/nanos/test_transaction_slot/part15/00002.png b/tests/snapshots/nanos/test_transaction_slot/part15/00002.png index 1556d048..b37540ce 100644 Binary files a/tests/snapshots/nanos/test_transaction_slot/part15/00002.png and b/tests/snapshots/nanos/test_transaction_slot/part15/00002.png differ diff --git a/tests/snapshots/nanos/test_transaction_slot/part15/00003.png b/tests/snapshots/nanos/test_transaction_slot/part15/00003.png index 6e60758e..db6a7d25 100644 Binary files a/tests/snapshots/nanos/test_transaction_slot/part15/00003.png and b/tests/snapshots/nanos/test_transaction_slot/part15/00003.png differ diff --git a/tests/snapshots/nanos/test_transaction_slot/part15/00004.png b/tests/snapshots/nanos/test_transaction_slot/part15/00004.png index 05f27c3a..83d83228 100644 Binary files a/tests/snapshots/nanos/test_transaction_slot/part15/00004.png and b/tests/snapshots/nanos/test_transaction_slot/part15/00004.png differ diff --git a/tests/snapshots/nanos/test_transaction_slot/part15/00005.png b/tests/snapshots/nanos/test_transaction_slot/part15/00005.png index 5ebc5665..5a8a3fe7 100644 Binary files a/tests/snapshots/nanos/test_transaction_slot/part15/00005.png and b/tests/snapshots/nanos/test_transaction_slot/part15/00005.png differ diff --git a/tests/snapshots/nanos/test_transaction_slot/part15/00006.png b/tests/snapshots/nanos/test_transaction_slot/part15/00006.png index f39812e8..2fcbfd21 100644 Binary files a/tests/snapshots/nanos/test_transaction_slot/part15/00006.png and b/tests/snapshots/nanos/test_transaction_slot/part15/00006.png differ diff --git a/tests/snapshots/nanos/test_transaction_slot/part15/00007.png b/tests/snapshots/nanos/test_transaction_slot/part15/00007.png index 59aa8dce..f63e345b 100644 Binary files a/tests/snapshots/nanos/test_transaction_slot/part15/00007.png and b/tests/snapshots/nanos/test_transaction_slot/part15/00007.png differ diff --git a/tests/snapshots/nanos/test_transaction_slot/part15/00008.png b/tests/snapshots/nanos/test_transaction_slot/part15/00008.png index 44e7069e..bce4568b 100644 Binary files a/tests/snapshots/nanos/test_transaction_slot/part15/00008.png and b/tests/snapshots/nanos/test_transaction_slot/part15/00008.png differ diff --git a/tests/snapshots/nanos/test_transaction_slot/part15/00009.png b/tests/snapshots/nanos/test_transaction_slot/part15/00009.png index 7a5610fa..aca36545 100644 Binary files a/tests/snapshots/nanos/test_transaction_slot/part15/00009.png and b/tests/snapshots/nanos/test_transaction_slot/part15/00009.png differ diff --git a/tests/snapshots/nanos/test_transaction_slot/part15/00010.png b/tests/snapshots/nanos/test_transaction_slot/part15/00010.png index 6bcaeb70..05f27c3a 100644 Binary files a/tests/snapshots/nanos/test_transaction_slot/part15/00010.png and b/tests/snapshots/nanos/test_transaction_slot/part15/00010.png differ diff --git a/tests/snapshots/nanos/test_transaction_slot/part15/00011.png b/tests/snapshots/nanos/test_transaction_slot/part15/00011.png index b131bbe9..5ebc5665 100644 Binary files a/tests/snapshots/nanos/test_transaction_slot/part15/00011.png and b/tests/snapshots/nanos/test_transaction_slot/part15/00011.png differ diff --git a/tests/snapshots/nanos/test_transaction_slot/part15/00012.png b/tests/snapshots/nanos/test_transaction_slot/part15/00012.png index f3477403..f39812e8 100644 Binary files a/tests/snapshots/nanos/test_transaction_slot/part15/00012.png and b/tests/snapshots/nanos/test_transaction_slot/part15/00012.png differ diff --git a/tests/snapshots/nanos/test_transaction_slot/part15/00013.png b/tests/snapshots/nanos/test_transaction_slot/part15/00013.png index 33be6809..41b0ce2b 100644 Binary files a/tests/snapshots/nanos/test_transaction_slot/part15/00013.png and b/tests/snapshots/nanos/test_transaction_slot/part15/00013.png differ diff --git a/tests/snapshots/nanos/test_transaction_slot/part15/00014.png b/tests/snapshots/nanos/test_transaction_slot/part15/00014.png index 006c26ab..44e7069e 100644 Binary files a/tests/snapshots/nanos/test_transaction_slot/part15/00014.png and b/tests/snapshots/nanos/test_transaction_slot/part15/00014.png differ diff --git a/tests/snapshots/nanos/test_transaction_slot/part15/00015.png b/tests/snapshots/nanos/test_transaction_slot/part15/00015.png index 7f6ab5e6..7a5610fa 100644 Binary files a/tests/snapshots/nanos/test_transaction_slot/part15/00015.png and b/tests/snapshots/nanos/test_transaction_slot/part15/00015.png differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.22-Mainnet/00009.png b/tests/snapshots/nanos/test_transaction_slot/part15/00016.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/TH.22-Mainnet/00009.png rename to tests/snapshots/nanos/test_transaction_slot/part15/00016.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.22-Mainnet/00010.png b/tests/snapshots/nanos/test_transaction_slot/part15/00017.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/TH.22-Mainnet/00010.png rename to tests/snapshots/nanos/test_transaction_slot/part15/00017.png diff --git a/tests/snapshots/nanos/test_transaction_slot/part15/00018.png b/tests/snapshots/nanos/test_transaction_slot/part15/00018.png new file mode 100644 index 00000000..a9a71987 Binary files /dev/null and b/tests/snapshots/nanos/test_transaction_slot/part15/00018.png differ diff --git a/tests/snapshots/nanos/test_transaction_slot/part15/00019.png b/tests/snapshots/nanos/test_transaction_slot/part15/00019.png new file mode 100644 index 00000000..f3477403 Binary files /dev/null and b/tests/snapshots/nanos/test_transaction_slot/part15/00019.png differ diff --git a/tests/snapshots/nanos/test_transaction_slot/part15/00020.png b/tests/snapshots/nanos/test_transaction_slot/part15/00020.png new file mode 100644 index 00000000..33be6809 Binary files /dev/null and b/tests/snapshots/nanos/test_transaction_slot/part15/00020.png differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.17-Testnet/00014.png b/tests/snapshots/nanos/test_transaction_slot/part15/00021.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/TH.17-Testnet/00014.png rename to tests/snapshots/nanos/test_transaction_slot/part15/00021.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.17-Testnet/00015.png b/tests/snapshots/nanos/test_transaction_slot/part15/00022.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/TH.17-Testnet/00015.png rename to tests/snapshots/nanos/test_transaction_slot/part15/00022.png diff --git a/tests/snapshots/nanos/test_transaction_slot/part2/00000.png b/tests/snapshots/nanos/test_transaction_slot/part2/00000.png index b338763e..3b57cb27 100644 Binary files a/tests/snapshots/nanos/test_transaction_slot/part2/00000.png and b/tests/snapshots/nanos/test_transaction_slot/part2/00000.png differ diff --git a/tests/snapshots/nanos/test_transaction_slot/part2/00001.png b/tests/snapshots/nanos/test_transaction_slot/part2/00001.png index 4ffe73a4..2ab14840 100644 Binary files a/tests/snapshots/nanos/test_transaction_slot/part2/00001.png and b/tests/snapshots/nanos/test_transaction_slot/part2/00001.png differ diff --git a/tests/snapshots/nanos/test_transaction_slot/part2/00002.png b/tests/snapshots/nanos/test_transaction_slot/part2/00002.png index 1556d048..b37540ce 100644 Binary files a/tests/snapshots/nanos/test_transaction_slot/part2/00002.png and b/tests/snapshots/nanos/test_transaction_slot/part2/00002.png differ diff --git a/tests/snapshots/nanos/test_transaction_slot/part2/00003.png b/tests/snapshots/nanos/test_transaction_slot/part2/00003.png index 6e60758e..db6a7d25 100644 Binary files a/tests/snapshots/nanos/test_transaction_slot/part2/00003.png and b/tests/snapshots/nanos/test_transaction_slot/part2/00003.png differ diff --git a/tests/snapshots/nanos/test_transaction_slot/part2/00004.png b/tests/snapshots/nanos/test_transaction_slot/part2/00004.png index 05f27c3a..83d83228 100644 Binary files a/tests/snapshots/nanos/test_transaction_slot/part2/00004.png and b/tests/snapshots/nanos/test_transaction_slot/part2/00004.png differ diff --git a/tests/snapshots/nanos/test_transaction_slot/part2/00005.png b/tests/snapshots/nanos/test_transaction_slot/part2/00005.png index 5ebc5665..5a8a3fe7 100644 Binary files a/tests/snapshots/nanos/test_transaction_slot/part2/00005.png and b/tests/snapshots/nanos/test_transaction_slot/part2/00005.png differ diff --git a/tests/snapshots/nanos/test_transaction_slot/part2/00006.png b/tests/snapshots/nanos/test_transaction_slot/part2/00006.png index f39812e8..2fcbfd21 100644 Binary files a/tests/snapshots/nanos/test_transaction_slot/part2/00006.png and b/tests/snapshots/nanos/test_transaction_slot/part2/00006.png differ diff --git a/tests/snapshots/nanos/test_transaction_slot/part2/00007.png b/tests/snapshots/nanos/test_transaction_slot/part2/00007.png index 59aa8dce..f63e345b 100644 Binary files a/tests/snapshots/nanos/test_transaction_slot/part2/00007.png and b/tests/snapshots/nanos/test_transaction_slot/part2/00007.png differ diff --git a/tests/snapshots/nanos/test_transaction_slot/part2/00008.png b/tests/snapshots/nanos/test_transaction_slot/part2/00008.png index 44e7069e..bce4568b 100644 Binary files a/tests/snapshots/nanos/test_transaction_slot/part2/00008.png and b/tests/snapshots/nanos/test_transaction_slot/part2/00008.png differ diff --git a/tests/snapshots/nanos/test_transaction_slot/part2/00009.png b/tests/snapshots/nanos/test_transaction_slot/part2/00009.png index 7a5610fa..aca36545 100644 Binary files a/tests/snapshots/nanos/test_transaction_slot/part2/00009.png and b/tests/snapshots/nanos/test_transaction_slot/part2/00009.png differ diff --git a/tests/snapshots/nanos/test_transaction_slot/part2/00010.png b/tests/snapshots/nanos/test_transaction_slot/part2/00010.png index 6bcaeb70..05f27c3a 100644 Binary files a/tests/snapshots/nanos/test_transaction_slot/part2/00010.png and b/tests/snapshots/nanos/test_transaction_slot/part2/00010.png differ diff --git a/tests/snapshots/nanos/test_transaction_slot/part2/00011.png b/tests/snapshots/nanos/test_transaction_slot/part2/00011.png index b131bbe9..5ebc5665 100644 Binary files a/tests/snapshots/nanos/test_transaction_slot/part2/00011.png and b/tests/snapshots/nanos/test_transaction_slot/part2/00011.png differ diff --git a/tests/snapshots/nanos/test_transaction_slot/part2/00012.png b/tests/snapshots/nanos/test_transaction_slot/part2/00012.png index 53826054..f39812e8 100644 Binary files a/tests/snapshots/nanos/test_transaction_slot/part2/00012.png and b/tests/snapshots/nanos/test_transaction_slot/part2/00012.png differ diff --git a/tests/snapshots/nanos/test_transaction_slot/part2/00013.png b/tests/snapshots/nanos/test_transaction_slot/part2/00013.png index 006c26ab..41b0ce2b 100644 Binary files a/tests/snapshots/nanos/test_transaction_slot/part2/00013.png and b/tests/snapshots/nanos/test_transaction_slot/part2/00013.png differ diff --git a/tests/snapshots/nanos/test_transaction_slot/part2/00014.png b/tests/snapshots/nanos/test_transaction_slot/part2/00014.png index 7f6ab5e6..44e7069e 100644 Binary files a/tests/snapshots/nanos/test_transaction_slot/part2/00014.png and b/tests/snapshots/nanos/test_transaction_slot/part2/00014.png differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.14-Mainnet/00008.png b/tests/snapshots/nanos/test_transaction_slot/part2/00015.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/TH.14-Mainnet/00008.png rename to tests/snapshots/nanos/test_transaction_slot/part2/00015.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.23-Mainnet/00009.png b/tests/snapshots/nanos/test_transaction_slot/part2/00016.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/TH.23-Mainnet/00009.png rename to tests/snapshots/nanos/test_transaction_slot/part2/00016.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.23-Mainnet/00010.png b/tests/snapshots/nanos/test_transaction_slot/part2/00017.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/TH.23-Mainnet/00010.png rename to tests/snapshots/nanos/test_transaction_slot/part2/00017.png diff --git a/tests/snapshots/nanos/test_transaction_slot/part2/00018.png b/tests/snapshots/nanos/test_transaction_slot/part2/00018.png new file mode 100644 index 00000000..53826054 Binary files /dev/null and b/tests/snapshots/nanos/test_transaction_slot/part2/00018.png differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.19-Mainnet/00012.png b/tests/snapshots/nanos/test_transaction_slot/part2/00019.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/TH.19-Mainnet/00012.png rename to tests/snapshots/nanos/test_transaction_slot/part2/00019.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.19-Mainnet/00013.png b/tests/snapshots/nanos/test_transaction_slot/part2/00020.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/TH.19-Mainnet/00013.png rename to tests/snapshots/nanos/test_transaction_slot/part2/00020.png diff --git a/tests/snapshots/nanos/test_transaction_slot/part3/00000.png b/tests/snapshots/nanos/test_transaction_slot/part3/00000.png index b338763e..3b57cb27 100644 Binary files a/tests/snapshots/nanos/test_transaction_slot/part3/00000.png and b/tests/snapshots/nanos/test_transaction_slot/part3/00000.png differ diff --git a/tests/snapshots/nanos/test_transaction_slot/part3/00001.png b/tests/snapshots/nanos/test_transaction_slot/part3/00001.png index 4ffe73a4..2ab14840 100644 Binary files a/tests/snapshots/nanos/test_transaction_slot/part3/00001.png and b/tests/snapshots/nanos/test_transaction_slot/part3/00001.png differ diff --git a/tests/snapshots/nanos/test_transaction_slot/part3/00002.png b/tests/snapshots/nanos/test_transaction_slot/part3/00002.png index 1556d048..b37540ce 100644 Binary files a/tests/snapshots/nanos/test_transaction_slot/part3/00002.png and b/tests/snapshots/nanos/test_transaction_slot/part3/00002.png differ diff --git a/tests/snapshots/nanos/test_transaction_slot/part3/00003.png b/tests/snapshots/nanos/test_transaction_slot/part3/00003.png index 6e60758e..db6a7d25 100644 Binary files a/tests/snapshots/nanos/test_transaction_slot/part3/00003.png and b/tests/snapshots/nanos/test_transaction_slot/part3/00003.png differ diff --git a/tests/snapshots/nanos/test_transaction_slot/part3/00004.png b/tests/snapshots/nanos/test_transaction_slot/part3/00004.png index 05f27c3a..83d83228 100644 Binary files a/tests/snapshots/nanos/test_transaction_slot/part3/00004.png and b/tests/snapshots/nanos/test_transaction_slot/part3/00004.png differ diff --git a/tests/snapshots/nanos/test_transaction_slot/part3/00005.png b/tests/snapshots/nanos/test_transaction_slot/part3/00005.png index 5ebc5665..5a8a3fe7 100644 Binary files a/tests/snapshots/nanos/test_transaction_slot/part3/00005.png and b/tests/snapshots/nanos/test_transaction_slot/part3/00005.png differ diff --git a/tests/snapshots/nanos/test_transaction_slot/part3/00006.png b/tests/snapshots/nanos/test_transaction_slot/part3/00006.png index f39812e8..2fcbfd21 100644 Binary files a/tests/snapshots/nanos/test_transaction_slot/part3/00006.png and b/tests/snapshots/nanos/test_transaction_slot/part3/00006.png differ diff --git a/tests/snapshots/nanos/test_transaction_slot/part3/00007.png b/tests/snapshots/nanos/test_transaction_slot/part3/00007.png index 59aa8dce..f63e345b 100644 Binary files a/tests/snapshots/nanos/test_transaction_slot/part3/00007.png and b/tests/snapshots/nanos/test_transaction_slot/part3/00007.png differ diff --git a/tests/snapshots/nanos/test_transaction_slot/part3/00008.png b/tests/snapshots/nanos/test_transaction_slot/part3/00008.png index 44e7069e..bce4568b 100644 Binary files a/tests/snapshots/nanos/test_transaction_slot/part3/00008.png and b/tests/snapshots/nanos/test_transaction_slot/part3/00008.png differ diff --git a/tests/snapshots/nanos/test_transaction_slot/part3/00009.png b/tests/snapshots/nanos/test_transaction_slot/part3/00009.png index 7a5610fa..aca36545 100644 Binary files a/tests/snapshots/nanos/test_transaction_slot/part3/00009.png and b/tests/snapshots/nanos/test_transaction_slot/part3/00009.png differ diff --git a/tests/snapshots/nanos/test_transaction_slot/part3/00010.png b/tests/snapshots/nanos/test_transaction_slot/part3/00010.png index 6bcaeb70..05f27c3a 100644 Binary files a/tests/snapshots/nanos/test_transaction_slot/part3/00010.png and b/tests/snapshots/nanos/test_transaction_slot/part3/00010.png differ diff --git a/tests/snapshots/nanos/test_transaction_slot/part3/00011.png b/tests/snapshots/nanos/test_transaction_slot/part3/00011.png index b131bbe9..5ebc5665 100644 Binary files a/tests/snapshots/nanos/test_transaction_slot/part3/00011.png and b/tests/snapshots/nanos/test_transaction_slot/part3/00011.png differ diff --git a/tests/snapshots/nanos/test_transaction_slot/part3/00012.png b/tests/snapshots/nanos/test_transaction_slot/part3/00012.png index 006c26ab..f39812e8 100644 Binary files a/tests/snapshots/nanos/test_transaction_slot/part3/00012.png and b/tests/snapshots/nanos/test_transaction_slot/part3/00012.png differ diff --git a/tests/snapshots/nanos/test_transaction_slot/part3/00013.png b/tests/snapshots/nanos/test_transaction_slot/part3/00013.png index 7f6ab5e6..41b0ce2b 100644 Binary files a/tests/snapshots/nanos/test_transaction_slot/part3/00013.png and b/tests/snapshots/nanos/test_transaction_slot/part3/00013.png differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.11-Testnet/00007.png b/tests/snapshots/nanos/test_transaction_slot/part3/00014.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/TH.11-Testnet/00007.png rename to tests/snapshots/nanos/test_transaction_slot/part3/00014.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.14-Testnet/00008.png b/tests/snapshots/nanos/test_transaction_slot/part3/00015.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/TH.14-Testnet/00008.png rename to tests/snapshots/nanos/test_transaction_slot/part3/00015.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.24-Mainnet/00009.png b/tests/snapshots/nanos/test_transaction_slot/part3/00016.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/TH.24-Mainnet/00009.png rename to tests/snapshots/nanos/test_transaction_slot/part3/00016.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.24-Mainnet/00010.png b/tests/snapshots/nanos/test_transaction_slot/part3/00017.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/TH.24-Mainnet/00010.png rename to tests/snapshots/nanos/test_transaction_slot/part3/00017.png diff --git a/tests/snapshots/nanos/test_transaction_slot/part3/00018.png b/tests/snapshots/nanos/test_transaction_slot/part3/00018.png new file mode 100644 index 00000000..a9a71987 Binary files /dev/null and b/tests/snapshots/nanos/test_transaction_slot/part3/00018.png differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.19-Testnet/00012.png b/tests/snapshots/nanos/test_transaction_slot/part3/00019.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/TH.19-Testnet/00012.png rename to tests/snapshots/nanos/test_transaction_slot/part3/00019.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.19-Testnet/00013.png b/tests/snapshots/nanos/test_transaction_slot/part3/00020.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/TH.19-Testnet/00013.png rename to tests/snapshots/nanos/test_transaction_slot/part3/00020.png diff --git a/tests/snapshots/nanos/test_transaction_slot/part4/00000.png b/tests/snapshots/nanos/test_transaction_slot/part4/00000.png index b338763e..3b57cb27 100644 Binary files a/tests/snapshots/nanos/test_transaction_slot/part4/00000.png and b/tests/snapshots/nanos/test_transaction_slot/part4/00000.png differ diff --git a/tests/snapshots/nanos/test_transaction_slot/part4/00002.png b/tests/snapshots/nanos/test_transaction_slot/part4/00002.png index 1556d048..b37540ce 100644 Binary files a/tests/snapshots/nanos/test_transaction_slot/part4/00002.png and b/tests/snapshots/nanos/test_transaction_slot/part4/00002.png differ diff --git a/tests/snapshots/nanos/test_transaction_slot/part4/00003.png b/tests/snapshots/nanos/test_transaction_slot/part4/00003.png index 6e60758e..db6a7d25 100644 Binary files a/tests/snapshots/nanos/test_transaction_slot/part4/00003.png and b/tests/snapshots/nanos/test_transaction_slot/part4/00003.png differ diff --git a/tests/snapshots/nanos/test_transaction_slot/part4/00004.png b/tests/snapshots/nanos/test_transaction_slot/part4/00004.png index 05f27c3a..83d83228 100644 Binary files a/tests/snapshots/nanos/test_transaction_slot/part4/00004.png and b/tests/snapshots/nanos/test_transaction_slot/part4/00004.png differ diff --git a/tests/snapshots/nanos/test_transaction_slot/part4/00005.png b/tests/snapshots/nanos/test_transaction_slot/part4/00005.png index 5ebc5665..5a8a3fe7 100644 Binary files a/tests/snapshots/nanos/test_transaction_slot/part4/00005.png and b/tests/snapshots/nanos/test_transaction_slot/part4/00005.png differ diff --git a/tests/snapshots/nanos/test_transaction_slot/part4/00006.png b/tests/snapshots/nanos/test_transaction_slot/part4/00006.png index f39812e8..2fcbfd21 100644 Binary files a/tests/snapshots/nanos/test_transaction_slot/part4/00006.png and b/tests/snapshots/nanos/test_transaction_slot/part4/00006.png differ diff --git a/tests/snapshots/nanos/test_transaction_slot/part4/00007.png b/tests/snapshots/nanos/test_transaction_slot/part4/00007.png index 420d6421..f63e345b 100644 Binary files a/tests/snapshots/nanos/test_transaction_slot/part4/00007.png and b/tests/snapshots/nanos/test_transaction_slot/part4/00007.png differ diff --git a/tests/snapshots/nanos/test_transaction_slot/part4/00008.png b/tests/snapshots/nanos/test_transaction_slot/part4/00008.png index 44e7069e..bce4568b 100644 Binary files a/tests/snapshots/nanos/test_transaction_slot/part4/00008.png and b/tests/snapshots/nanos/test_transaction_slot/part4/00008.png differ diff --git a/tests/snapshots/nanos/test_transaction_slot/part4/00009.png b/tests/snapshots/nanos/test_transaction_slot/part4/00009.png index 7a5610fa..aca36545 100644 Binary files a/tests/snapshots/nanos/test_transaction_slot/part4/00009.png and b/tests/snapshots/nanos/test_transaction_slot/part4/00009.png differ diff --git a/tests/snapshots/nanos/test_transaction_slot/part4/00010.png b/tests/snapshots/nanos/test_transaction_slot/part4/00010.png index 7a8ccecc..05f27c3a 100644 Binary files a/tests/snapshots/nanos/test_transaction_slot/part4/00010.png and b/tests/snapshots/nanos/test_transaction_slot/part4/00010.png differ diff --git a/tests/snapshots/nanos/test_transaction_slot/part4/00011.png b/tests/snapshots/nanos/test_transaction_slot/part4/00011.png index e8c1b25f..5ebc5665 100644 Binary files a/tests/snapshots/nanos/test_transaction_slot/part4/00011.png and b/tests/snapshots/nanos/test_transaction_slot/part4/00011.png differ diff --git a/tests/snapshots/nanos/test_transaction_slot/part4/00012.png b/tests/snapshots/nanos/test_transaction_slot/part4/00012.png index a9a71987..f39812e8 100644 Binary files a/tests/snapshots/nanos/test_transaction_slot/part4/00012.png and b/tests/snapshots/nanos/test_transaction_slot/part4/00012.png differ diff --git a/tests/snapshots/nanos/test_transaction_slot/part4/00013.png b/tests/snapshots/nanos/test_transaction_slot/part4/00013.png index 006c26ab..41b0ce2b 100644 Binary files a/tests/snapshots/nanos/test_transaction_slot/part4/00013.png and b/tests/snapshots/nanos/test_transaction_slot/part4/00013.png differ diff --git a/tests/snapshots/nanos/test_transaction_slot/part4/00014.png b/tests/snapshots/nanos/test_transaction_slot/part4/00014.png index 7f6ab5e6..44e7069e 100644 Binary files a/tests/snapshots/nanos/test_transaction_slot/part4/00014.png and b/tests/snapshots/nanos/test_transaction_slot/part4/00014.png differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.17-Mainnet/00010.png b/tests/snapshots/nanos/test_transaction_slot/part4/00015.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/TH.17-Mainnet/00010.png rename to tests/snapshots/nanos/test_transaction_slot/part4/00015.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.25-Mainnet/00009.png b/tests/snapshots/nanos/test_transaction_slot/part4/00016.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/TH.25-Mainnet/00009.png rename to tests/snapshots/nanos/test_transaction_slot/part4/00016.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.25-Mainnet/00010.png b/tests/snapshots/nanos/test_transaction_slot/part4/00017.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/TH.25-Mainnet/00010.png rename to tests/snapshots/nanos/test_transaction_slot/part4/00017.png diff --git a/tests/snapshots/nanos/test_transaction_slot/part4/00018.png b/tests/snapshots/nanos/test_transaction_slot/part4/00018.png new file mode 100644 index 00000000..a9a71987 Binary files /dev/null and b/tests/snapshots/nanos/test_transaction_slot/part4/00018.png differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.20-Mainnet/00012.png b/tests/snapshots/nanos/test_transaction_slot/part4/00019.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/TH.20-Mainnet/00012.png rename to tests/snapshots/nanos/test_transaction_slot/part4/00019.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.20-Mainnet/00013.png b/tests/snapshots/nanos/test_transaction_slot/part4/00020.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/TH.20-Mainnet/00013.png rename to tests/snapshots/nanos/test_transaction_slot/part4/00020.png diff --git a/tests/snapshots/nanos/test_transaction_slot/part6/00000.png b/tests/snapshots/nanos/test_transaction_slot/part6/00000.png index b338763e..3b57cb27 100644 Binary files a/tests/snapshots/nanos/test_transaction_slot/part6/00000.png and b/tests/snapshots/nanos/test_transaction_slot/part6/00000.png differ diff --git a/tests/snapshots/nanos/test_transaction_slot/part6/00002.png b/tests/snapshots/nanos/test_transaction_slot/part6/00002.png index 1556d048..b37540ce 100644 Binary files a/tests/snapshots/nanos/test_transaction_slot/part6/00002.png and b/tests/snapshots/nanos/test_transaction_slot/part6/00002.png differ diff --git a/tests/snapshots/nanos/test_transaction_slot/part6/00003.png b/tests/snapshots/nanos/test_transaction_slot/part6/00003.png index 6e60758e..db6a7d25 100644 Binary files a/tests/snapshots/nanos/test_transaction_slot/part6/00003.png and b/tests/snapshots/nanos/test_transaction_slot/part6/00003.png differ diff --git a/tests/snapshots/nanos/test_transaction_slot/part6/00004.png b/tests/snapshots/nanos/test_transaction_slot/part6/00004.png index 05f27c3a..83d83228 100644 Binary files a/tests/snapshots/nanos/test_transaction_slot/part6/00004.png and b/tests/snapshots/nanos/test_transaction_slot/part6/00004.png differ diff --git a/tests/snapshots/nanos/test_transaction_slot/part6/00005.png b/tests/snapshots/nanos/test_transaction_slot/part6/00005.png index 5ebc5665..5a8a3fe7 100644 Binary files a/tests/snapshots/nanos/test_transaction_slot/part6/00005.png and b/tests/snapshots/nanos/test_transaction_slot/part6/00005.png differ diff --git a/tests/snapshots/nanos/test_transaction_slot/part6/00006.png b/tests/snapshots/nanos/test_transaction_slot/part6/00006.png index f39812e8..2fcbfd21 100644 Binary files a/tests/snapshots/nanos/test_transaction_slot/part6/00006.png and b/tests/snapshots/nanos/test_transaction_slot/part6/00006.png differ diff --git a/tests/snapshots/nanos/test_transaction_slot/part6/00007.png b/tests/snapshots/nanos/test_transaction_slot/part6/00007.png index 420d6421..f63e345b 100644 Binary files a/tests/snapshots/nanos/test_transaction_slot/part6/00007.png and b/tests/snapshots/nanos/test_transaction_slot/part6/00007.png differ diff --git a/tests/snapshots/nanos/test_transaction_slot/part6/00008.png b/tests/snapshots/nanos/test_transaction_slot/part6/00008.png index 44e7069e..bce4568b 100644 Binary files a/tests/snapshots/nanos/test_transaction_slot/part6/00008.png and b/tests/snapshots/nanos/test_transaction_slot/part6/00008.png differ diff --git a/tests/snapshots/nanos/test_transaction_slot/part6/00009.png b/tests/snapshots/nanos/test_transaction_slot/part6/00009.png index 7a5610fa..aca36545 100644 Binary files a/tests/snapshots/nanos/test_transaction_slot/part6/00009.png and b/tests/snapshots/nanos/test_transaction_slot/part6/00009.png differ diff --git a/tests/snapshots/nanos/test_transaction_slot/part6/00010.png b/tests/snapshots/nanos/test_transaction_slot/part6/00010.png index 6bcaeb70..05f27c3a 100644 Binary files a/tests/snapshots/nanos/test_transaction_slot/part6/00010.png and b/tests/snapshots/nanos/test_transaction_slot/part6/00010.png differ diff --git a/tests/snapshots/nanos/test_transaction_slot/part6/00011.png b/tests/snapshots/nanos/test_transaction_slot/part6/00011.png index e8c1b25f..5ebc5665 100644 Binary files a/tests/snapshots/nanos/test_transaction_slot/part6/00011.png and b/tests/snapshots/nanos/test_transaction_slot/part6/00011.png differ diff --git a/tests/snapshots/nanos/test_transaction_slot/part6/00012.png b/tests/snapshots/nanos/test_transaction_slot/part6/00012.png index 006c26ab..f39812e8 100644 Binary files a/tests/snapshots/nanos/test_transaction_slot/part6/00012.png and b/tests/snapshots/nanos/test_transaction_slot/part6/00012.png differ diff --git a/tests/snapshots/nanos/test_transaction_slot/part6/00013.png b/tests/snapshots/nanos/test_transaction_slot/part6/00013.png index 7f6ab5e6..41b0ce2b 100644 Binary files a/tests/snapshots/nanos/test_transaction_slot/part6/00013.png and b/tests/snapshots/nanos/test_transaction_slot/part6/00013.png differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.12-Mainnet/00006.png b/tests/snapshots/nanos/test_transaction_slot/part6/00014.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/TH.12-Mainnet/00006.png rename to tests/snapshots/nanos/test_transaction_slot/part6/00014.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.17-Testnet/00010.png b/tests/snapshots/nanos/test_transaction_slot/part6/00015.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/TH.17-Testnet/00010.png rename to tests/snapshots/nanos/test_transaction_slot/part6/00015.png diff --git a/tests/snapshots/nanos/test_transaction_slot/part6/00016.png b/tests/snapshots/nanos/test_transaction_slot/part6/00016.png new file mode 100644 index 00000000..6bcaeb70 Binary files /dev/null and b/tests/snapshots/nanos/test_transaction_slot/part6/00016.png differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TS.01-Mainnet/00009.png b/tests/snapshots/nanos/test_transaction_slot/part6/00017.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/TS.01-Mainnet/00009.png rename to tests/snapshots/nanos/test_transaction_slot/part6/00017.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.20-Testnet/00012.png b/tests/snapshots/nanos/test_transaction_slot/part6/00018.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/TH.20-Testnet/00012.png rename to tests/snapshots/nanos/test_transaction_slot/part6/00018.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.20-Testnet/00013.png b/tests/snapshots/nanos/test_transaction_slot/part6/00019.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/TH.20-Testnet/00013.png rename to tests/snapshots/nanos/test_transaction_slot/part6/00019.png diff --git a/tests/snapshots/nanos/test_transaction_slot/part8/00000.png b/tests/snapshots/nanos/test_transaction_slot/part8/00000.png index b338763e..3b57cb27 100644 Binary files a/tests/snapshots/nanos/test_transaction_slot/part8/00000.png and b/tests/snapshots/nanos/test_transaction_slot/part8/00000.png differ diff --git a/tests/snapshots/nanos/test_transaction_slot/part8/00002.png b/tests/snapshots/nanos/test_transaction_slot/part8/00002.png index 1556d048..b37540ce 100644 Binary files a/tests/snapshots/nanos/test_transaction_slot/part8/00002.png and b/tests/snapshots/nanos/test_transaction_slot/part8/00002.png differ diff --git a/tests/snapshots/nanos/test_transaction_slot/part8/00003.png b/tests/snapshots/nanos/test_transaction_slot/part8/00003.png index 6e60758e..db6a7d25 100644 Binary files a/tests/snapshots/nanos/test_transaction_slot/part8/00003.png and b/tests/snapshots/nanos/test_transaction_slot/part8/00003.png differ diff --git a/tests/snapshots/nanos/test_transaction_slot/part8/00004.png b/tests/snapshots/nanos/test_transaction_slot/part8/00004.png index 05f27c3a..83d83228 100644 Binary files a/tests/snapshots/nanos/test_transaction_slot/part8/00004.png and b/tests/snapshots/nanos/test_transaction_slot/part8/00004.png differ diff --git a/tests/snapshots/nanos/test_transaction_slot/part8/00005.png b/tests/snapshots/nanos/test_transaction_slot/part8/00005.png index 5ebc5665..5a8a3fe7 100644 Binary files a/tests/snapshots/nanos/test_transaction_slot/part8/00005.png and b/tests/snapshots/nanos/test_transaction_slot/part8/00005.png differ diff --git a/tests/snapshots/nanos/test_transaction_slot/part8/00006.png b/tests/snapshots/nanos/test_transaction_slot/part8/00006.png index f39812e8..2fcbfd21 100644 Binary files a/tests/snapshots/nanos/test_transaction_slot/part8/00006.png and b/tests/snapshots/nanos/test_transaction_slot/part8/00006.png differ diff --git a/tests/snapshots/nanos/test_transaction_slot/part8/00007.png b/tests/snapshots/nanos/test_transaction_slot/part8/00007.png index 59aa8dce..f63e345b 100644 Binary files a/tests/snapshots/nanos/test_transaction_slot/part8/00007.png and b/tests/snapshots/nanos/test_transaction_slot/part8/00007.png differ diff --git a/tests/snapshots/nanos/test_transaction_slot/part8/00008.png b/tests/snapshots/nanos/test_transaction_slot/part8/00008.png index 44e7069e..bce4568b 100644 Binary files a/tests/snapshots/nanos/test_transaction_slot/part8/00008.png and b/tests/snapshots/nanos/test_transaction_slot/part8/00008.png differ diff --git a/tests/snapshots/nanos/test_transaction_slot/part8/00009.png b/tests/snapshots/nanos/test_transaction_slot/part8/00009.png index 7a5610fa..aca36545 100644 Binary files a/tests/snapshots/nanos/test_transaction_slot/part8/00009.png and b/tests/snapshots/nanos/test_transaction_slot/part8/00009.png differ diff --git a/tests/snapshots/nanos/test_transaction_slot/part8/00010.png b/tests/snapshots/nanos/test_transaction_slot/part8/00010.png index 7a8ccecc..05f27c3a 100644 Binary files a/tests/snapshots/nanos/test_transaction_slot/part8/00010.png and b/tests/snapshots/nanos/test_transaction_slot/part8/00010.png differ diff --git a/tests/snapshots/nanos/test_transaction_slot/part8/00011.png b/tests/snapshots/nanos/test_transaction_slot/part8/00011.png index e8c1b25f..5ebc5665 100644 Binary files a/tests/snapshots/nanos/test_transaction_slot/part8/00011.png and b/tests/snapshots/nanos/test_transaction_slot/part8/00011.png differ diff --git a/tests/snapshots/nanos/test_transaction_slot/part8/00012.png b/tests/snapshots/nanos/test_transaction_slot/part8/00012.png index 006c26ab..f39812e8 100644 Binary files a/tests/snapshots/nanos/test_transaction_slot/part8/00012.png and b/tests/snapshots/nanos/test_transaction_slot/part8/00012.png differ diff --git a/tests/snapshots/nanos/test_transaction_slot/part8/00013.png b/tests/snapshots/nanos/test_transaction_slot/part8/00013.png index 7f6ab5e6..59aa8dce 100644 Binary files a/tests/snapshots/nanos/test_transaction_slot/part8/00013.png and b/tests/snapshots/nanos/test_transaction_slot/part8/00013.png differ diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.12-Testnet/00006.png b/tests/snapshots/nanos/test_transaction_slot/part8/00014.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/TH.12-Testnet/00006.png rename to tests/snapshots/nanos/test_transaction_slot/part8/00014.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.19-Mainnet/00008.png b/tests/snapshots/nanos/test_transaction_slot/part8/00015.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/TH.19-Mainnet/00008.png rename to tests/snapshots/nanos/test_transaction_slot/part8/00015.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/TS.01-Mainnet/00008.png b/tests/snapshots/nanos/test_transaction_slot/part8/00016.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/TS.01-Mainnet/00008.png rename to tests/snapshots/nanos/test_transaction_slot/part8/00016.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/USDC.01-Mainnet/00009.png b/tests/snapshots/nanos/test_transaction_slot/part8/00017.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/USDC.01-Mainnet/00009.png rename to tests/snapshots/nanos/test_transaction_slot/part8/00017.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.21-Mainnet/00012.png b/tests/snapshots/nanos/test_transaction_slot/part8/00018.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/TH.21-Mainnet/00012.png rename to tests/snapshots/nanos/test_transaction_slot/part8/00018.png diff --git a/tests/snapshots/nanos/test_transaction_manifest/TH.21-Mainnet/00013.png b/tests/snapshots/nanos/test_transaction_slot/part8/00019.png similarity index 100% rename from tests/snapshots/nanos/test_transaction_manifest/TH.21-Mainnet/00013.png rename to tests/snapshots/nanos/test_transaction_slot/part8/00019.png diff --git a/tests/snapshots/nanosp/test_transaction_expert/part1/00001.png b/tests/snapshots/nanosp/test_transaction_expert/part1/00001.png index 5b962ee9..262b4b5e 100644 Binary files a/tests/snapshots/nanosp/test_transaction_expert/part1/00001.png and b/tests/snapshots/nanosp/test_transaction_expert/part1/00001.png differ diff --git a/tests/snapshots/nanosp/test_transaction_expert/part1/00002.png b/tests/snapshots/nanosp/test_transaction_expert/part1/00002.png index 9e5fbace..5481d5da 100644 Binary files a/tests/snapshots/nanosp/test_transaction_expert/part1/00002.png and b/tests/snapshots/nanosp/test_transaction_expert/part1/00002.png differ diff --git a/tests/snapshots/nanosp/test_transaction_expert/part1/00003.png b/tests/snapshots/nanosp/test_transaction_expert/part1/00003.png index 81263f9e..de527bf7 100644 Binary files a/tests/snapshots/nanosp/test_transaction_expert/part1/00003.png and b/tests/snapshots/nanosp/test_transaction_expert/part1/00003.png differ diff --git a/tests/snapshots/nanosp/test_transaction_expert/part1/00004.png b/tests/snapshots/nanosp/test_transaction_expert/part1/00004.png index 4b4eb598..d1eb962c 100644 Binary files a/tests/snapshots/nanosp/test_transaction_expert/part1/00004.png and b/tests/snapshots/nanosp/test_transaction_expert/part1/00004.png differ diff --git a/tests/snapshots/nanosp/test_transaction_expert/part1/00005.png b/tests/snapshots/nanosp/test_transaction_expert/part1/00005.png index d1eb962c..11ac632e 100644 Binary files a/tests/snapshots/nanosp/test_transaction_expert/part1/00005.png and b/tests/snapshots/nanosp/test_transaction_expert/part1/00005.png differ diff --git a/tests/snapshots/nanosp/test_transaction_expert/part1/00006.png b/tests/snapshots/nanosp/test_transaction_expert/part1/00006.png index 11ac632e..62827380 100644 Binary files a/tests/snapshots/nanosp/test_transaction_expert/part1/00006.png and b/tests/snapshots/nanosp/test_transaction_expert/part1/00006.png differ diff --git a/tests/snapshots/nanosp/test_transaction_expert/part1/00007.png b/tests/snapshots/nanosp/test_transaction_expert/part1/00007.png index 62827380..3ad758de 100644 Binary files a/tests/snapshots/nanosp/test_transaction_expert/part1/00007.png and b/tests/snapshots/nanosp/test_transaction_expert/part1/00007.png differ diff --git a/tests/snapshots/nanosp/test_transaction_expert/part1/00008.png b/tests/snapshots/nanosp/test_transaction_expert/part1/00008.png index 68020b16..bff4ff72 100644 Binary files a/tests/snapshots/nanosp/test_transaction_expert/part1/00008.png and b/tests/snapshots/nanosp/test_transaction_expert/part1/00008.png differ diff --git a/tests/snapshots/nanosp/test_transaction_expert/part1/00009.png b/tests/snapshots/nanosp/test_transaction_expert/part1/00009.png index bff4ff72..c02f5ccb 100644 Binary files a/tests/snapshots/nanosp/test_transaction_expert/part1/00009.png and b/tests/snapshots/nanosp/test_transaction_expert/part1/00009.png differ diff --git a/tests/snapshots/nanosp/test_transaction_expert/part1/00010.png b/tests/snapshots/nanosp/test_transaction_expert/part1/00010.png index c02f5ccb..510dbb77 100644 Binary files a/tests/snapshots/nanosp/test_transaction_expert/part1/00010.png and b/tests/snapshots/nanosp/test_transaction_expert/part1/00010.png differ diff --git a/tests/snapshots/nanosp/test_transaction_expert/part1/00011.png b/tests/snapshots/nanosp/test_transaction_expert/part1/00011.png index 42cf0b73..8099d16e 100644 Binary files a/tests/snapshots/nanosp/test_transaction_expert/part1/00011.png and b/tests/snapshots/nanosp/test_transaction_expert/part1/00011.png differ diff --git a/tests/snapshots/nanosp/test_transaction_expert/part1/00012.png b/tests/snapshots/nanosp/test_transaction_expert/part1/00012.png index 819d3159..2a16d649 100644 Binary files a/tests/snapshots/nanosp/test_transaction_expert/part1/00012.png and b/tests/snapshots/nanosp/test_transaction_expert/part1/00012.png differ diff --git a/tests/snapshots/nanosp/test_transaction_expert/part1/00013.png b/tests/snapshots/nanosp/test_transaction_expert/part1/00013.png index 2a16d649..cc0bd7b2 100644 Binary files a/tests/snapshots/nanosp/test_transaction_expert/part1/00013.png and b/tests/snapshots/nanosp/test_transaction_expert/part1/00013.png differ diff --git a/tests/snapshots/nanosp/test_transaction_expert/part1/00014.png b/tests/snapshots/nanosp/test_transaction_expert/part1/00014.png index cc0bd7b2..1e4be699 100644 Binary files a/tests/snapshots/nanosp/test_transaction_expert/part1/00014.png and b/tests/snapshots/nanosp/test_transaction_expert/part1/00014.png differ diff --git a/tests/snapshots/nanosp/test_transaction_expert/part1/00015.png b/tests/snapshots/nanosp/test_transaction_expert/part1/00015.png index 1e4be699..e84e8dfd 100644 Binary files a/tests/snapshots/nanosp/test_transaction_expert/part1/00015.png and b/tests/snapshots/nanosp/test_transaction_expert/part1/00015.png differ diff --git a/tests/snapshots/nanosp/test_transaction_expert/part2/00001.png b/tests/snapshots/nanosp/test_transaction_expert/part2/00001.png index 5b962ee9..262b4b5e 100644 Binary files a/tests/snapshots/nanosp/test_transaction_expert/part2/00001.png and b/tests/snapshots/nanosp/test_transaction_expert/part2/00001.png differ diff --git a/tests/snapshots/nanosp/test_transaction_expert/part2/00002.png b/tests/snapshots/nanosp/test_transaction_expert/part2/00002.png index 9e5fbace..5481d5da 100644 Binary files a/tests/snapshots/nanosp/test_transaction_expert/part2/00002.png and b/tests/snapshots/nanosp/test_transaction_expert/part2/00002.png differ diff --git a/tests/snapshots/nanosp/test_transaction_expert/part2/00003.png b/tests/snapshots/nanosp/test_transaction_expert/part2/00003.png index 81263f9e..de527bf7 100644 Binary files a/tests/snapshots/nanosp/test_transaction_expert/part2/00003.png and b/tests/snapshots/nanosp/test_transaction_expert/part2/00003.png differ diff --git a/tests/snapshots/nanosp/test_transaction_expert/part2/00004.png b/tests/snapshots/nanosp/test_transaction_expert/part2/00004.png index 4b4eb598..d1eb962c 100644 Binary files a/tests/snapshots/nanosp/test_transaction_expert/part2/00004.png and b/tests/snapshots/nanosp/test_transaction_expert/part2/00004.png differ diff --git a/tests/snapshots/nanosp/test_transaction_expert/part2/00005.png b/tests/snapshots/nanosp/test_transaction_expert/part2/00005.png index d1eb962c..11ac632e 100644 Binary files a/tests/snapshots/nanosp/test_transaction_expert/part2/00005.png and b/tests/snapshots/nanosp/test_transaction_expert/part2/00005.png differ diff --git a/tests/snapshots/nanosp/test_transaction_expert/part2/00006.png b/tests/snapshots/nanosp/test_transaction_expert/part2/00006.png index 11ac632e..62827380 100644 Binary files a/tests/snapshots/nanosp/test_transaction_expert/part2/00006.png and b/tests/snapshots/nanosp/test_transaction_expert/part2/00006.png differ diff --git a/tests/snapshots/nanosp/test_transaction_expert/part2/00007.png b/tests/snapshots/nanosp/test_transaction_expert/part2/00007.png index 62827380..3ad758de 100644 Binary files a/tests/snapshots/nanosp/test_transaction_expert/part2/00007.png and b/tests/snapshots/nanosp/test_transaction_expert/part2/00007.png differ diff --git a/tests/snapshots/nanosp/test_transaction_expert/part2/00008.png b/tests/snapshots/nanosp/test_transaction_expert/part2/00008.png index 68020b16..bff4ff72 100644 Binary files a/tests/snapshots/nanosp/test_transaction_expert/part2/00008.png and b/tests/snapshots/nanosp/test_transaction_expert/part2/00008.png differ diff --git a/tests/snapshots/nanosp/test_transaction_expert/part2/00009.png b/tests/snapshots/nanosp/test_transaction_expert/part2/00009.png index bff4ff72..c02f5ccb 100644 Binary files a/tests/snapshots/nanosp/test_transaction_expert/part2/00009.png and b/tests/snapshots/nanosp/test_transaction_expert/part2/00009.png differ diff --git a/tests/snapshots/nanosp/test_transaction_expert/part2/00010.png b/tests/snapshots/nanosp/test_transaction_expert/part2/00010.png index c02f5ccb..510dbb77 100644 Binary files a/tests/snapshots/nanosp/test_transaction_expert/part2/00010.png and b/tests/snapshots/nanosp/test_transaction_expert/part2/00010.png differ diff --git a/tests/snapshots/nanosp/test_transaction_expert/part2/00011.png b/tests/snapshots/nanosp/test_transaction_expert/part2/00011.png index 42cf0b73..8099d16e 100644 Binary files a/tests/snapshots/nanosp/test_transaction_expert/part2/00011.png and b/tests/snapshots/nanosp/test_transaction_expert/part2/00011.png differ diff --git a/tests/snapshots/nanosp/test_transaction_expert/part2/00012.png b/tests/snapshots/nanosp/test_transaction_expert/part2/00012.png index 819d3159..94fa1038 100644 Binary files a/tests/snapshots/nanosp/test_transaction_expert/part2/00012.png and b/tests/snapshots/nanosp/test_transaction_expert/part2/00012.png differ diff --git a/tests/snapshots/nanosp/test_transaction_expert/part2/00013.png b/tests/snapshots/nanosp/test_transaction_expert/part2/00013.png index 94fa1038..cc0bd7b2 100644 Binary files a/tests/snapshots/nanosp/test_transaction_expert/part2/00013.png and b/tests/snapshots/nanosp/test_transaction_expert/part2/00013.png differ diff --git a/tests/snapshots/nanosp/test_transaction_expert/part2/00014.png b/tests/snapshots/nanosp/test_transaction_expert/part2/00014.png index cc0bd7b2..1e4be699 100644 Binary files a/tests/snapshots/nanosp/test_transaction_expert/part2/00014.png and b/tests/snapshots/nanosp/test_transaction_expert/part2/00014.png differ diff --git a/tests/snapshots/nanosp/test_transaction_expert/part2/00015.png b/tests/snapshots/nanosp/test_transaction_expert/part2/00015.png index 1e4be699..e84e8dfd 100644 Binary files a/tests/snapshots/nanosp/test_transaction_expert/part2/00015.png and b/tests/snapshots/nanosp/test_transaction_expert/part2/00015.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/FA.01-Mainnet/00000.png b/tests/snapshots/nanosp/test_transaction_manifest/FA.01-Mainnet/00000.png new file mode 100644 index 00000000..3e327861 Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/FA.01-Mainnet/00000.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/FA.01-Mainnet/00001.png b/tests/snapshots/nanosp/test_transaction_manifest/FA.01-Mainnet/00001.png new file mode 100644 index 00000000..a10bf897 Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/FA.01-Mainnet/00001.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/FA.01-Mainnet/00002.png b/tests/snapshots/nanosp/test_transaction_manifest/FA.01-Mainnet/00002.png new file mode 100644 index 00000000..5481d5da Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/FA.01-Mainnet/00002.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/FA.01-Mainnet/00003.png b/tests/snapshots/nanosp/test_transaction_manifest/FA.01-Mainnet/00003.png new file mode 100644 index 00000000..a8b43fa8 Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/FA.01-Mainnet/00003.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/FA.01-Mainnet/00004.png b/tests/snapshots/nanosp/test_transaction_manifest/FA.01-Mainnet/00004.png new file mode 100644 index 00000000..05bc276e Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/FA.01-Mainnet/00004.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/FA.01-Mainnet/00005.png b/tests/snapshots/nanosp/test_transaction_manifest/FA.01-Mainnet/00005.png new file mode 100644 index 00000000..1cdfef90 Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/FA.01-Mainnet/00005.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/FA.01-Mainnet/00006.png b/tests/snapshots/nanosp/test_transaction_manifest/FA.01-Mainnet/00006.png new file mode 100644 index 00000000..6b84117f Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/FA.01-Mainnet/00006.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/FA.01-Mainnet/00007.png b/tests/snapshots/nanosp/test_transaction_manifest/FA.01-Mainnet/00007.png new file mode 100644 index 00000000..3903db85 Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/FA.01-Mainnet/00007.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/FA.01-Mainnet/00008.png b/tests/snapshots/nanosp/test_transaction_manifest/FA.01-Mainnet/00008.png new file mode 100644 index 00000000..8065791c Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/FA.01-Mainnet/00008.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/FA.01-Mainnet/00009.png b/tests/snapshots/nanosp/test_transaction_manifest/FA.01-Mainnet/00009.png new file mode 100644 index 00000000..d1eb962c Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/FA.01-Mainnet/00009.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/FA.01-Mainnet/00010.png b/tests/snapshots/nanosp/test_transaction_manifest/FA.01-Mainnet/00010.png new file mode 100644 index 00000000..11ac632e Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/FA.01-Mainnet/00010.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/FA.01-Mainnet/00011.png b/tests/snapshots/nanosp/test_transaction_manifest/FA.01-Mainnet/00011.png new file mode 100644 index 00000000..62827380 Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/FA.01-Mainnet/00011.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/FA.01-Mainnet/00012.png b/tests/snapshots/nanosp/test_transaction_manifest/FA.01-Mainnet/00012.png new file mode 100644 index 00000000..3ad758de Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/FA.01-Mainnet/00012.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/FA.01-Mainnet/00013.png b/tests/snapshots/nanosp/test_transaction_manifest/FA.01-Mainnet/00013.png new file mode 100644 index 00000000..bff4ff72 Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/FA.01-Mainnet/00013.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/FA.01-Mainnet/00014.png b/tests/snapshots/nanosp/test_transaction_manifest/FA.01-Mainnet/00014.png new file mode 100644 index 00000000..c02f5ccb Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/FA.01-Mainnet/00014.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/FA.01-Mainnet/00015.png b/tests/snapshots/nanosp/test_transaction_manifest/FA.01-Mainnet/00015.png new file mode 100644 index 00000000..510dbb77 Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/FA.01-Mainnet/00015.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/FA.01-Mainnet/00016.png b/tests/snapshots/nanosp/test_transaction_manifest/FA.01-Mainnet/00016.png new file mode 100644 index 00000000..8099d16e Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/FA.01-Mainnet/00016.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/FA.01-Mainnet/00017.png b/tests/snapshots/nanosp/test_transaction_manifest/FA.01-Mainnet/00017.png new file mode 100644 index 00000000..cc0bd7b2 Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/FA.01-Mainnet/00017.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/FA.01-Mainnet/00018.png b/tests/snapshots/nanosp/test_transaction_manifest/FA.01-Mainnet/00018.png new file mode 100644 index 00000000..1e4be699 Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/FA.01-Mainnet/00018.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/FA.01-Mainnet/00019.png b/tests/snapshots/nanosp/test_transaction_manifest/FA.01-Mainnet/00019.png new file mode 100644 index 00000000..e84e8dfd Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/FA.01-Mainnet/00019.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/FA.01-Testnet/00000.png b/tests/snapshots/nanosp/test_transaction_manifest/FA.01-Testnet/00000.png new file mode 100644 index 00000000..3e327861 Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/FA.01-Testnet/00000.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/FA.01-Testnet/00001.png b/tests/snapshots/nanosp/test_transaction_manifest/FA.01-Testnet/00001.png new file mode 100644 index 00000000..a10bf897 Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/FA.01-Testnet/00001.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/FA.01-Testnet/00002.png b/tests/snapshots/nanosp/test_transaction_manifest/FA.01-Testnet/00002.png new file mode 100644 index 00000000..9badf1a4 Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/FA.01-Testnet/00002.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/FA.01-Testnet/00003.png b/tests/snapshots/nanosp/test_transaction_manifest/FA.01-Testnet/00003.png new file mode 100644 index 00000000..a8b43fa8 Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/FA.01-Testnet/00003.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/FA.01-Testnet/00004.png b/tests/snapshots/nanosp/test_transaction_manifest/FA.01-Testnet/00004.png new file mode 100644 index 00000000..05bc276e Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/FA.01-Testnet/00004.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/FA.01-Testnet/00005.png b/tests/snapshots/nanosp/test_transaction_manifest/FA.01-Testnet/00005.png new file mode 100644 index 00000000..1cdfef90 Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/FA.01-Testnet/00005.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/FA.01-Testnet/00006.png b/tests/snapshots/nanosp/test_transaction_manifest/FA.01-Testnet/00006.png new file mode 100644 index 00000000..6b84117f Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/FA.01-Testnet/00006.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/FA.01-Testnet/00007.png b/tests/snapshots/nanosp/test_transaction_manifest/FA.01-Testnet/00007.png new file mode 100644 index 00000000..3903db85 Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/FA.01-Testnet/00007.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/FA.01-Testnet/00008.png b/tests/snapshots/nanosp/test_transaction_manifest/FA.01-Testnet/00008.png new file mode 100644 index 00000000..8065791c Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/FA.01-Testnet/00008.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/FA.01-Testnet/00009.png b/tests/snapshots/nanosp/test_transaction_manifest/FA.01-Testnet/00009.png new file mode 100644 index 00000000..d1eb962c Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/FA.01-Testnet/00009.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/FA.01-Testnet/00010.png b/tests/snapshots/nanosp/test_transaction_manifest/FA.01-Testnet/00010.png new file mode 100644 index 00000000..11ac632e Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/FA.01-Testnet/00010.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/FA.01-Testnet/00011.png b/tests/snapshots/nanosp/test_transaction_manifest/FA.01-Testnet/00011.png new file mode 100644 index 00000000..62827380 Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/FA.01-Testnet/00011.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/FA.01-Testnet/00012.png b/tests/snapshots/nanosp/test_transaction_manifest/FA.01-Testnet/00012.png new file mode 100644 index 00000000..70d85793 Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/FA.01-Testnet/00012.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/FA.01-Testnet/00013.png b/tests/snapshots/nanosp/test_transaction_manifest/FA.01-Testnet/00013.png new file mode 100644 index 00000000..bff4ff72 Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/FA.01-Testnet/00013.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/FA.01-Testnet/00014.png b/tests/snapshots/nanosp/test_transaction_manifest/FA.01-Testnet/00014.png new file mode 100644 index 00000000..c02f5ccb Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/FA.01-Testnet/00014.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/FA.01-Testnet/00015.png b/tests/snapshots/nanosp/test_transaction_manifest/FA.01-Testnet/00015.png new file mode 100644 index 00000000..3df973c5 Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/FA.01-Testnet/00015.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/FA.01-Testnet/00016.png b/tests/snapshots/nanosp/test_transaction_manifest/FA.01-Testnet/00016.png new file mode 100644 index 00000000..bcbf619c Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/FA.01-Testnet/00016.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/FA.01-Testnet/00017.png b/tests/snapshots/nanosp/test_transaction_manifest/FA.01-Testnet/00017.png new file mode 100644 index 00000000..cc0bd7b2 Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/FA.01-Testnet/00017.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/FA.01-Testnet/00018.png b/tests/snapshots/nanosp/test_transaction_manifest/FA.01-Testnet/00018.png new file mode 100644 index 00000000..1e4be699 Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/FA.01-Testnet/00018.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/FA.01-Testnet/00019.png b/tests/snapshots/nanosp/test_transaction_manifest/FA.01-Testnet/00019.png new file mode 100644 index 00000000..e84e8dfd Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/FA.01-Testnet/00019.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/FA.02-Mainnet/00000.png b/tests/snapshots/nanosp/test_transaction_manifest/FA.02-Mainnet/00000.png new file mode 100644 index 00000000..3e327861 Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/FA.02-Mainnet/00000.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/FA.02-Mainnet/00001.png b/tests/snapshots/nanosp/test_transaction_manifest/FA.02-Mainnet/00001.png new file mode 100644 index 00000000..3d59a433 Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/FA.02-Mainnet/00001.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/FA.02-Mainnet/00002.png b/tests/snapshots/nanosp/test_transaction_manifest/FA.02-Mainnet/00002.png new file mode 100644 index 00000000..5481d5da Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/FA.02-Mainnet/00002.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/FA.02-Mainnet/00003.png b/tests/snapshots/nanosp/test_transaction_manifest/FA.02-Mainnet/00003.png new file mode 100644 index 00000000..a8b43fa8 Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/FA.02-Mainnet/00003.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/FA.02-Mainnet/00004.png b/tests/snapshots/nanosp/test_transaction_manifest/FA.02-Mainnet/00004.png new file mode 100644 index 00000000..05bc276e Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/FA.02-Mainnet/00004.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/FA.02-Mainnet/00005.png b/tests/snapshots/nanosp/test_transaction_manifest/FA.02-Mainnet/00005.png new file mode 100644 index 00000000..1cdfef90 Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/FA.02-Mainnet/00005.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/FA.02-Mainnet/00006.png b/tests/snapshots/nanosp/test_transaction_manifest/FA.02-Mainnet/00006.png new file mode 100644 index 00000000..6b84117f Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/FA.02-Mainnet/00006.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/FA.02-Mainnet/00007.png b/tests/snapshots/nanosp/test_transaction_manifest/FA.02-Mainnet/00007.png new file mode 100644 index 00000000..3903db85 Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/FA.02-Mainnet/00007.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/FA.02-Mainnet/00008.png b/tests/snapshots/nanosp/test_transaction_manifest/FA.02-Mainnet/00008.png new file mode 100644 index 00000000..8065791c Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/FA.02-Mainnet/00008.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/FA.02-Mainnet/00009.png b/tests/snapshots/nanosp/test_transaction_manifest/FA.02-Mainnet/00009.png new file mode 100644 index 00000000..d1eb962c Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/FA.02-Mainnet/00009.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/FA.02-Mainnet/00010.png b/tests/snapshots/nanosp/test_transaction_manifest/FA.02-Mainnet/00010.png new file mode 100644 index 00000000..11ac632e Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/FA.02-Mainnet/00010.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/FA.02-Mainnet/00011.png b/tests/snapshots/nanosp/test_transaction_manifest/FA.02-Mainnet/00011.png new file mode 100644 index 00000000..62827380 Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/FA.02-Mainnet/00011.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/FA.02-Mainnet/00012.png b/tests/snapshots/nanosp/test_transaction_manifest/FA.02-Mainnet/00012.png new file mode 100644 index 00000000..3ad758de Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/FA.02-Mainnet/00012.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/FA.02-Mainnet/00013.png b/tests/snapshots/nanosp/test_transaction_manifest/FA.02-Mainnet/00013.png new file mode 100644 index 00000000..bff4ff72 Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/FA.02-Mainnet/00013.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/FA.02-Mainnet/00014.png b/tests/snapshots/nanosp/test_transaction_manifest/FA.02-Mainnet/00014.png new file mode 100644 index 00000000..c02f5ccb Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/FA.02-Mainnet/00014.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/FA.02-Mainnet/00015.png b/tests/snapshots/nanosp/test_transaction_manifest/FA.02-Mainnet/00015.png new file mode 100644 index 00000000..510dbb77 Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/FA.02-Mainnet/00015.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/FA.02-Mainnet/00016.png b/tests/snapshots/nanosp/test_transaction_manifest/FA.02-Mainnet/00016.png new file mode 100644 index 00000000..8099d16e Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/FA.02-Mainnet/00016.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/FA.02-Mainnet/00017.png b/tests/snapshots/nanosp/test_transaction_manifest/FA.02-Mainnet/00017.png new file mode 100644 index 00000000..cc0bd7b2 Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/FA.02-Mainnet/00017.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/FA.02-Mainnet/00018.png b/tests/snapshots/nanosp/test_transaction_manifest/FA.02-Mainnet/00018.png new file mode 100644 index 00000000..1e4be699 Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/FA.02-Mainnet/00018.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/FA.02-Mainnet/00019.png b/tests/snapshots/nanosp/test_transaction_manifest/FA.02-Mainnet/00019.png new file mode 100644 index 00000000..e84e8dfd Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/FA.02-Mainnet/00019.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/FA.02-Testnet/00000.png b/tests/snapshots/nanosp/test_transaction_manifest/FA.02-Testnet/00000.png new file mode 100644 index 00000000..3e327861 Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/FA.02-Testnet/00000.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/FA.02-Testnet/00001.png b/tests/snapshots/nanosp/test_transaction_manifest/FA.02-Testnet/00001.png new file mode 100644 index 00000000..3d59a433 Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/FA.02-Testnet/00001.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/FA.02-Testnet/00002.png b/tests/snapshots/nanosp/test_transaction_manifest/FA.02-Testnet/00002.png new file mode 100644 index 00000000..9badf1a4 Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/FA.02-Testnet/00002.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/FA.02-Testnet/00003.png b/tests/snapshots/nanosp/test_transaction_manifest/FA.02-Testnet/00003.png new file mode 100644 index 00000000..a8b43fa8 Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/FA.02-Testnet/00003.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/FA.02-Testnet/00004.png b/tests/snapshots/nanosp/test_transaction_manifest/FA.02-Testnet/00004.png new file mode 100644 index 00000000..05bc276e Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/FA.02-Testnet/00004.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/FA.02-Testnet/00005.png b/tests/snapshots/nanosp/test_transaction_manifest/FA.02-Testnet/00005.png new file mode 100644 index 00000000..1cdfef90 Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/FA.02-Testnet/00005.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/FA.02-Testnet/00006.png b/tests/snapshots/nanosp/test_transaction_manifest/FA.02-Testnet/00006.png new file mode 100644 index 00000000..6b84117f Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/FA.02-Testnet/00006.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/FA.02-Testnet/00007.png b/tests/snapshots/nanosp/test_transaction_manifest/FA.02-Testnet/00007.png new file mode 100644 index 00000000..3903db85 Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/FA.02-Testnet/00007.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/FA.02-Testnet/00008.png b/tests/snapshots/nanosp/test_transaction_manifest/FA.02-Testnet/00008.png new file mode 100644 index 00000000..8065791c Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/FA.02-Testnet/00008.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/FA.02-Testnet/00009.png b/tests/snapshots/nanosp/test_transaction_manifest/FA.02-Testnet/00009.png new file mode 100644 index 00000000..d1eb962c Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/FA.02-Testnet/00009.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/FA.02-Testnet/00010.png b/tests/snapshots/nanosp/test_transaction_manifest/FA.02-Testnet/00010.png new file mode 100644 index 00000000..11ac632e Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/FA.02-Testnet/00010.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/FA.02-Testnet/00011.png b/tests/snapshots/nanosp/test_transaction_manifest/FA.02-Testnet/00011.png new file mode 100644 index 00000000..62827380 Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/FA.02-Testnet/00011.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/FA.02-Testnet/00012.png b/tests/snapshots/nanosp/test_transaction_manifest/FA.02-Testnet/00012.png new file mode 100644 index 00000000..70d85793 Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/FA.02-Testnet/00012.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/FA.02-Testnet/00013.png b/tests/snapshots/nanosp/test_transaction_manifest/FA.02-Testnet/00013.png new file mode 100644 index 00000000..bff4ff72 Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/FA.02-Testnet/00013.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/FA.02-Testnet/00014.png b/tests/snapshots/nanosp/test_transaction_manifest/FA.02-Testnet/00014.png new file mode 100644 index 00000000..c02f5ccb Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/FA.02-Testnet/00014.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/FA.02-Testnet/00015.png b/tests/snapshots/nanosp/test_transaction_manifest/FA.02-Testnet/00015.png new file mode 100644 index 00000000..3df973c5 Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/FA.02-Testnet/00015.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/FA.02-Testnet/00016.png b/tests/snapshots/nanosp/test_transaction_manifest/FA.02-Testnet/00016.png new file mode 100644 index 00000000..bcbf619c Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/FA.02-Testnet/00016.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/FA.02-Testnet/00017.png b/tests/snapshots/nanosp/test_transaction_manifest/FA.02-Testnet/00017.png new file mode 100644 index 00000000..cc0bd7b2 Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/FA.02-Testnet/00017.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/FA.02-Testnet/00018.png b/tests/snapshots/nanosp/test_transaction_manifest/FA.02-Testnet/00018.png new file mode 100644 index 00000000..1e4be699 Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/FA.02-Testnet/00018.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/FA.02-Testnet/00019.png b/tests/snapshots/nanosp/test_transaction_manifest/FA.02-Testnet/00019.png new file mode 100644 index 00000000..e84e8dfd Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/FA.02-Testnet/00019.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/FA.03-Mainnet/00000.png b/tests/snapshots/nanosp/test_transaction_manifest/FA.03-Mainnet/00000.png new file mode 100644 index 00000000..3e327861 Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/FA.03-Mainnet/00000.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/FA.03-Mainnet/00001.png b/tests/snapshots/nanosp/test_transaction_manifest/FA.03-Mainnet/00001.png new file mode 100644 index 00000000..262b4b5e Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/FA.03-Mainnet/00001.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/FA.03-Mainnet/00002.png b/tests/snapshots/nanosp/test_transaction_manifest/FA.03-Mainnet/00002.png new file mode 100644 index 00000000..5481d5da Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/FA.03-Mainnet/00002.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/FA.03-Mainnet/00003.png b/tests/snapshots/nanosp/test_transaction_manifest/FA.03-Mainnet/00003.png new file mode 100644 index 00000000..de527bf7 Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/FA.03-Mainnet/00003.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/FA.03-Mainnet/00004.png b/tests/snapshots/nanosp/test_transaction_manifest/FA.03-Mainnet/00004.png new file mode 100644 index 00000000..d1eb962c Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/FA.03-Mainnet/00004.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/FA.03-Mainnet/00005.png b/tests/snapshots/nanosp/test_transaction_manifest/FA.03-Mainnet/00005.png new file mode 100644 index 00000000..11ac632e Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/FA.03-Mainnet/00005.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/FA.03-Mainnet/00006.png b/tests/snapshots/nanosp/test_transaction_manifest/FA.03-Mainnet/00006.png new file mode 100644 index 00000000..62827380 Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/FA.03-Mainnet/00006.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/FA.03-Mainnet/00007.png b/tests/snapshots/nanosp/test_transaction_manifest/FA.03-Mainnet/00007.png new file mode 100644 index 00000000..3ad758de Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/FA.03-Mainnet/00007.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/FA.03-Mainnet/00008.png b/tests/snapshots/nanosp/test_transaction_manifest/FA.03-Mainnet/00008.png new file mode 100644 index 00000000..bff4ff72 Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/FA.03-Mainnet/00008.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/FA.03-Mainnet/00009.png b/tests/snapshots/nanosp/test_transaction_manifest/FA.03-Mainnet/00009.png new file mode 100644 index 00000000..c02f5ccb Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/FA.03-Mainnet/00009.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/FA.03-Mainnet/00010.png b/tests/snapshots/nanosp/test_transaction_manifest/FA.03-Mainnet/00010.png new file mode 100644 index 00000000..510dbb77 Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/FA.03-Mainnet/00010.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/FA.03-Mainnet/00011.png b/tests/snapshots/nanosp/test_transaction_manifest/FA.03-Mainnet/00011.png new file mode 100644 index 00000000..8099d16e Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/FA.03-Mainnet/00011.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/FA.03-Mainnet/00012.png b/tests/snapshots/nanosp/test_transaction_manifest/FA.03-Mainnet/00012.png new file mode 100644 index 00000000..cc0bd7b2 Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/FA.03-Mainnet/00012.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/FA.03-Mainnet/00013.png b/tests/snapshots/nanosp/test_transaction_manifest/FA.03-Mainnet/00013.png new file mode 100644 index 00000000..1e4be699 Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/FA.03-Mainnet/00013.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/FA.03-Mainnet/00014.png b/tests/snapshots/nanosp/test_transaction_manifest/FA.03-Mainnet/00014.png new file mode 100644 index 00000000..e84e8dfd Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/FA.03-Mainnet/00014.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/FA.03-Testnet/00000.png b/tests/snapshots/nanosp/test_transaction_manifest/FA.03-Testnet/00000.png new file mode 100644 index 00000000..3e327861 Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/FA.03-Testnet/00000.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/FA.03-Testnet/00001.png b/tests/snapshots/nanosp/test_transaction_manifest/FA.03-Testnet/00001.png new file mode 100644 index 00000000..262b4b5e Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/FA.03-Testnet/00001.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/FA.03-Testnet/00002.png b/tests/snapshots/nanosp/test_transaction_manifest/FA.03-Testnet/00002.png new file mode 100644 index 00000000..9badf1a4 Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/FA.03-Testnet/00002.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/FA.03-Testnet/00003.png b/tests/snapshots/nanosp/test_transaction_manifest/FA.03-Testnet/00003.png new file mode 100644 index 00000000..de527bf7 Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/FA.03-Testnet/00003.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/FA.03-Testnet/00004.png b/tests/snapshots/nanosp/test_transaction_manifest/FA.03-Testnet/00004.png new file mode 100644 index 00000000..d1eb962c Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/FA.03-Testnet/00004.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/FA.03-Testnet/00005.png b/tests/snapshots/nanosp/test_transaction_manifest/FA.03-Testnet/00005.png new file mode 100644 index 00000000..11ac632e Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/FA.03-Testnet/00005.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/FA.03-Testnet/00006.png b/tests/snapshots/nanosp/test_transaction_manifest/FA.03-Testnet/00006.png new file mode 100644 index 00000000..62827380 Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/FA.03-Testnet/00006.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/FA.03-Testnet/00007.png b/tests/snapshots/nanosp/test_transaction_manifest/FA.03-Testnet/00007.png new file mode 100644 index 00000000..70d85793 Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/FA.03-Testnet/00007.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/FA.03-Testnet/00008.png b/tests/snapshots/nanosp/test_transaction_manifest/FA.03-Testnet/00008.png new file mode 100644 index 00000000..bff4ff72 Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/FA.03-Testnet/00008.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/FA.03-Testnet/00009.png b/tests/snapshots/nanosp/test_transaction_manifest/FA.03-Testnet/00009.png new file mode 100644 index 00000000..c02f5ccb Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/FA.03-Testnet/00009.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/FA.03-Testnet/00010.png b/tests/snapshots/nanosp/test_transaction_manifest/FA.03-Testnet/00010.png new file mode 100644 index 00000000..3df973c5 Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/FA.03-Testnet/00010.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/FA.03-Testnet/00011.png b/tests/snapshots/nanosp/test_transaction_manifest/FA.03-Testnet/00011.png new file mode 100644 index 00000000..bcbf619c Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/FA.03-Testnet/00011.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/FA.03-Testnet/00012.png b/tests/snapshots/nanosp/test_transaction_manifest/FA.03-Testnet/00012.png new file mode 100644 index 00000000..cc0bd7b2 Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/FA.03-Testnet/00012.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/FA.03-Testnet/00013.png b/tests/snapshots/nanosp/test_transaction_manifest/FA.03-Testnet/00013.png new file mode 100644 index 00000000..1e4be699 Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/FA.03-Testnet/00013.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/FA.03-Testnet/00014.png b/tests/snapshots/nanosp/test_transaction_manifest/FA.03-Testnet/00014.png new file mode 100644 index 00000000..e84e8dfd Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/FA.03-Testnet/00014.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/FT.01-Mainnet/00000.png b/tests/snapshots/nanosp/test_transaction_manifest/FT.01-Mainnet/00000.png new file mode 100644 index 00000000..3e327861 Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/FT.01-Mainnet/00000.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/FT.01-Mainnet/00001.png b/tests/snapshots/nanosp/test_transaction_manifest/FT.01-Mainnet/00001.png new file mode 100644 index 00000000..024c5d5d Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/FT.01-Mainnet/00001.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/FT.01-Mainnet/00002.png b/tests/snapshots/nanosp/test_transaction_manifest/FT.01-Mainnet/00002.png new file mode 100644 index 00000000..5481d5da Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/FT.01-Mainnet/00002.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/FT.01-Mainnet/00003.png b/tests/snapshots/nanosp/test_transaction_manifest/FT.01-Mainnet/00003.png new file mode 100644 index 00000000..b3e2de98 Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/FT.01-Mainnet/00003.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/FT.01-Mainnet/00004.png b/tests/snapshots/nanosp/test_transaction_manifest/FT.01-Mainnet/00004.png new file mode 100644 index 00000000..a7110247 Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/FT.01-Mainnet/00004.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/FT.01-Mainnet/00005.png b/tests/snapshots/nanosp/test_transaction_manifest/FT.01-Mainnet/00005.png new file mode 100644 index 00000000..d1eb962c Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/FT.01-Mainnet/00005.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/FT.01-Mainnet/00006.png b/tests/snapshots/nanosp/test_transaction_manifest/FT.01-Mainnet/00006.png new file mode 100644 index 00000000..11ac632e Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/FT.01-Mainnet/00006.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/FT.01-Mainnet/00007.png b/tests/snapshots/nanosp/test_transaction_manifest/FT.01-Mainnet/00007.png new file mode 100644 index 00000000..62827380 Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/FT.01-Mainnet/00007.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/FT.01-Mainnet/00008.png b/tests/snapshots/nanosp/test_transaction_manifest/FT.01-Mainnet/00008.png new file mode 100644 index 00000000..3ad758de Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/FT.01-Mainnet/00008.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/FT.01-Mainnet/00009.png b/tests/snapshots/nanosp/test_transaction_manifest/FT.01-Mainnet/00009.png new file mode 100644 index 00000000..bff4ff72 Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/FT.01-Mainnet/00009.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/FT.01-Mainnet/00010.png b/tests/snapshots/nanosp/test_transaction_manifest/FT.01-Mainnet/00010.png new file mode 100644 index 00000000..c02f5ccb Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/FT.01-Mainnet/00010.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/FT.01-Mainnet/00011.png b/tests/snapshots/nanosp/test_transaction_manifest/FT.01-Mainnet/00011.png new file mode 100644 index 00000000..510dbb77 Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/FT.01-Mainnet/00011.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/FT.01-Mainnet/00012.png b/tests/snapshots/nanosp/test_transaction_manifest/FT.01-Mainnet/00012.png new file mode 100644 index 00000000..8099d16e Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/FT.01-Mainnet/00012.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/FT.01-Mainnet/00013.png b/tests/snapshots/nanosp/test_transaction_manifest/FT.01-Mainnet/00013.png new file mode 100644 index 00000000..cc0bd7b2 Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/FT.01-Mainnet/00013.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/FT.01-Mainnet/00014.png b/tests/snapshots/nanosp/test_transaction_manifest/FT.01-Mainnet/00014.png new file mode 100644 index 00000000..1e4be699 Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/FT.01-Mainnet/00014.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/FT.01-Mainnet/00015.png b/tests/snapshots/nanosp/test_transaction_manifest/FT.01-Mainnet/00015.png new file mode 100644 index 00000000..e84e8dfd Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/FT.01-Mainnet/00015.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/FT.01-Testnet/00000.png b/tests/snapshots/nanosp/test_transaction_manifest/FT.01-Testnet/00000.png new file mode 100644 index 00000000..3e327861 Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/FT.01-Testnet/00000.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/FT.01-Testnet/00001.png b/tests/snapshots/nanosp/test_transaction_manifest/FT.01-Testnet/00001.png new file mode 100644 index 00000000..024c5d5d Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/FT.01-Testnet/00001.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/FT.01-Testnet/00002.png b/tests/snapshots/nanosp/test_transaction_manifest/FT.01-Testnet/00002.png new file mode 100644 index 00000000..9badf1a4 Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/FT.01-Testnet/00002.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/FT.01-Testnet/00003.png b/tests/snapshots/nanosp/test_transaction_manifest/FT.01-Testnet/00003.png new file mode 100644 index 00000000..7dd85d55 Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/FT.01-Testnet/00003.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/FT.01-Testnet/00004.png b/tests/snapshots/nanosp/test_transaction_manifest/FT.01-Testnet/00004.png new file mode 100644 index 00000000..a7110247 Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/FT.01-Testnet/00004.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/FT.01-Testnet/00005.png b/tests/snapshots/nanosp/test_transaction_manifest/FT.01-Testnet/00005.png new file mode 100644 index 00000000..d1eb962c Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/FT.01-Testnet/00005.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/FT.01-Testnet/00006.png b/tests/snapshots/nanosp/test_transaction_manifest/FT.01-Testnet/00006.png new file mode 100644 index 00000000..11ac632e Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/FT.01-Testnet/00006.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/FT.01-Testnet/00007.png b/tests/snapshots/nanosp/test_transaction_manifest/FT.01-Testnet/00007.png new file mode 100644 index 00000000..62827380 Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/FT.01-Testnet/00007.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/FT.01-Testnet/00008.png b/tests/snapshots/nanosp/test_transaction_manifest/FT.01-Testnet/00008.png new file mode 100644 index 00000000..70d85793 Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/FT.01-Testnet/00008.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/FT.01-Testnet/00009.png b/tests/snapshots/nanosp/test_transaction_manifest/FT.01-Testnet/00009.png new file mode 100644 index 00000000..bff4ff72 Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/FT.01-Testnet/00009.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/FT.01-Testnet/00010.png b/tests/snapshots/nanosp/test_transaction_manifest/FT.01-Testnet/00010.png new file mode 100644 index 00000000..c02f5ccb Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/FT.01-Testnet/00010.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/FT.01-Testnet/00011.png b/tests/snapshots/nanosp/test_transaction_manifest/FT.01-Testnet/00011.png new file mode 100644 index 00000000..3df973c5 Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/FT.01-Testnet/00011.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/FT.01-Testnet/00012.png b/tests/snapshots/nanosp/test_transaction_manifest/FT.01-Testnet/00012.png new file mode 100644 index 00000000..bcbf619c Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/FT.01-Testnet/00012.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/FT.01-Testnet/00013.png b/tests/snapshots/nanosp/test_transaction_manifest/FT.01-Testnet/00013.png new file mode 100644 index 00000000..cc0bd7b2 Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/FT.01-Testnet/00013.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/FT.01-Testnet/00014.png b/tests/snapshots/nanosp/test_transaction_manifest/FT.01-Testnet/00014.png new file mode 100644 index 00000000..1e4be699 Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/FT.01-Testnet/00014.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/FT.01-Testnet/00015.png b/tests/snapshots/nanosp/test_transaction_manifest/FT.01-Testnet/00015.png new file mode 100644 index 00000000..e84e8dfd Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/FT.01-Testnet/00015.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/FT.02-Mainnet/00000.png b/tests/snapshots/nanosp/test_transaction_manifest/FT.02-Mainnet/00000.png new file mode 100644 index 00000000..3e327861 Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/FT.02-Mainnet/00000.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/FT.02-Mainnet/00001.png b/tests/snapshots/nanosp/test_transaction_manifest/FT.02-Mainnet/00001.png new file mode 100644 index 00000000..5b23ff70 Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/FT.02-Mainnet/00001.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/FT.02-Mainnet/00002.png b/tests/snapshots/nanosp/test_transaction_manifest/FT.02-Mainnet/00002.png new file mode 100644 index 00000000..5481d5da Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/FT.02-Mainnet/00002.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/FT.02-Mainnet/00003.png b/tests/snapshots/nanosp/test_transaction_manifest/FT.02-Mainnet/00003.png new file mode 100644 index 00000000..0bb49997 Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/FT.02-Mainnet/00003.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/FT.02-Mainnet/00004.png b/tests/snapshots/nanosp/test_transaction_manifest/FT.02-Mainnet/00004.png new file mode 100644 index 00000000..30300a5c Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/FT.02-Mainnet/00004.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/FT.02-Mainnet/00005.png b/tests/snapshots/nanosp/test_transaction_manifest/FT.02-Mainnet/00005.png new file mode 100644 index 00000000..009635ac Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/FT.02-Mainnet/00005.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/FT.02-Mainnet/00006.png b/tests/snapshots/nanosp/test_transaction_manifest/FT.02-Mainnet/00006.png new file mode 100644 index 00000000..1ba77d2c Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/FT.02-Mainnet/00006.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/FT.02-Mainnet/00007.png b/tests/snapshots/nanosp/test_transaction_manifest/FT.02-Mainnet/00007.png new file mode 100644 index 00000000..d1eb962c Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/FT.02-Mainnet/00007.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/FT.02-Mainnet/00008.png b/tests/snapshots/nanosp/test_transaction_manifest/FT.02-Mainnet/00008.png new file mode 100644 index 00000000..11ac632e Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/FT.02-Mainnet/00008.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/FT.02-Mainnet/00009.png b/tests/snapshots/nanosp/test_transaction_manifest/FT.02-Mainnet/00009.png new file mode 100644 index 00000000..62827380 Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/FT.02-Mainnet/00009.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/FT.02-Mainnet/00010.png b/tests/snapshots/nanosp/test_transaction_manifest/FT.02-Mainnet/00010.png new file mode 100644 index 00000000..3ad758de Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/FT.02-Mainnet/00010.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/FT.02-Mainnet/00011.png b/tests/snapshots/nanosp/test_transaction_manifest/FT.02-Mainnet/00011.png new file mode 100644 index 00000000..bff4ff72 Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/FT.02-Mainnet/00011.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/FT.02-Mainnet/00012.png b/tests/snapshots/nanosp/test_transaction_manifest/FT.02-Mainnet/00012.png new file mode 100644 index 00000000..c02f5ccb Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/FT.02-Mainnet/00012.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/FT.02-Mainnet/00013.png b/tests/snapshots/nanosp/test_transaction_manifest/FT.02-Mainnet/00013.png new file mode 100644 index 00000000..510dbb77 Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/FT.02-Mainnet/00013.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/FT.02-Mainnet/00014.png b/tests/snapshots/nanosp/test_transaction_manifest/FT.02-Mainnet/00014.png new file mode 100644 index 00000000..8099d16e Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/FT.02-Mainnet/00014.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/FT.02-Mainnet/00015.png b/tests/snapshots/nanosp/test_transaction_manifest/FT.02-Mainnet/00015.png new file mode 100644 index 00000000..cc0bd7b2 Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/FT.02-Mainnet/00015.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/FT.02-Mainnet/00016.png b/tests/snapshots/nanosp/test_transaction_manifest/FT.02-Mainnet/00016.png new file mode 100644 index 00000000..1e4be699 Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/FT.02-Mainnet/00016.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/FT.02-Mainnet/00017.png b/tests/snapshots/nanosp/test_transaction_manifest/FT.02-Mainnet/00017.png new file mode 100644 index 00000000..e84e8dfd Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/FT.02-Mainnet/00017.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/FT.02-Testnet/00000.png b/tests/snapshots/nanosp/test_transaction_manifest/FT.02-Testnet/00000.png new file mode 100644 index 00000000..3e327861 Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/FT.02-Testnet/00000.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/FT.02-Testnet/00001.png b/tests/snapshots/nanosp/test_transaction_manifest/FT.02-Testnet/00001.png new file mode 100644 index 00000000..5b23ff70 Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/FT.02-Testnet/00001.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/FT.02-Testnet/00002.png b/tests/snapshots/nanosp/test_transaction_manifest/FT.02-Testnet/00002.png new file mode 100644 index 00000000..9badf1a4 Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/FT.02-Testnet/00002.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/FT.02-Testnet/00003.png b/tests/snapshots/nanosp/test_transaction_manifest/FT.02-Testnet/00003.png new file mode 100644 index 00000000..0bb49997 Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/FT.02-Testnet/00003.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/FT.02-Testnet/00004.png b/tests/snapshots/nanosp/test_transaction_manifest/FT.02-Testnet/00004.png new file mode 100644 index 00000000..bd9d1bfb Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/FT.02-Testnet/00004.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/FT.02-Testnet/00005.png b/tests/snapshots/nanosp/test_transaction_manifest/FT.02-Testnet/00005.png new file mode 100644 index 00000000..009635ac Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/FT.02-Testnet/00005.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/FT.02-Testnet/00006.png b/tests/snapshots/nanosp/test_transaction_manifest/FT.02-Testnet/00006.png new file mode 100644 index 00000000..1ba77d2c Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/FT.02-Testnet/00006.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/FT.02-Testnet/00007.png b/tests/snapshots/nanosp/test_transaction_manifest/FT.02-Testnet/00007.png new file mode 100644 index 00000000..d1eb962c Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/FT.02-Testnet/00007.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/FT.02-Testnet/00008.png b/tests/snapshots/nanosp/test_transaction_manifest/FT.02-Testnet/00008.png new file mode 100644 index 00000000..11ac632e Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/FT.02-Testnet/00008.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/FT.02-Testnet/00009.png b/tests/snapshots/nanosp/test_transaction_manifest/FT.02-Testnet/00009.png new file mode 100644 index 00000000..62827380 Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/FT.02-Testnet/00009.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/FT.02-Testnet/00010.png b/tests/snapshots/nanosp/test_transaction_manifest/FT.02-Testnet/00010.png new file mode 100644 index 00000000..70d85793 Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/FT.02-Testnet/00010.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/FT.02-Testnet/00011.png b/tests/snapshots/nanosp/test_transaction_manifest/FT.02-Testnet/00011.png new file mode 100644 index 00000000..bff4ff72 Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/FT.02-Testnet/00011.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/FT.02-Testnet/00012.png b/tests/snapshots/nanosp/test_transaction_manifest/FT.02-Testnet/00012.png new file mode 100644 index 00000000..c02f5ccb Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/FT.02-Testnet/00012.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/FT.02-Testnet/00013.png b/tests/snapshots/nanosp/test_transaction_manifest/FT.02-Testnet/00013.png new file mode 100644 index 00000000..3df973c5 Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/FT.02-Testnet/00013.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/FT.02-Testnet/00014.png b/tests/snapshots/nanosp/test_transaction_manifest/FT.02-Testnet/00014.png new file mode 100644 index 00000000..bcbf619c Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/FT.02-Testnet/00014.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/FT.02-Testnet/00015.png b/tests/snapshots/nanosp/test_transaction_manifest/FT.02-Testnet/00015.png new file mode 100644 index 00000000..cc0bd7b2 Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/FT.02-Testnet/00015.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/FT.02-Testnet/00016.png b/tests/snapshots/nanosp/test_transaction_manifest/FT.02-Testnet/00016.png new file mode 100644 index 00000000..1e4be699 Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/FT.02-Testnet/00016.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/FT.02-Testnet/00017.png b/tests/snapshots/nanosp/test_transaction_manifest/FT.02-Testnet/00017.png new file mode 100644 index 00000000..e84e8dfd Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/FT.02-Testnet/00017.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/FT.03-Mainnet/00000.png b/tests/snapshots/nanosp/test_transaction_manifest/FT.03-Mainnet/00000.png new file mode 100644 index 00000000..3e327861 Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/FT.03-Mainnet/00000.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/FT.03-Mainnet/00001.png b/tests/snapshots/nanosp/test_transaction_manifest/FT.03-Mainnet/00001.png new file mode 100644 index 00000000..e8fb52a3 Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/FT.03-Mainnet/00001.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/FT.03-Mainnet/00002.png b/tests/snapshots/nanosp/test_transaction_manifest/FT.03-Mainnet/00002.png new file mode 100644 index 00000000..5481d5da Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/FT.03-Mainnet/00002.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/FT.03-Mainnet/00003.png b/tests/snapshots/nanosp/test_transaction_manifest/FT.03-Mainnet/00003.png new file mode 100644 index 00000000..0bb49997 Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/FT.03-Mainnet/00003.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/FT.03-Mainnet/00004.png b/tests/snapshots/nanosp/test_transaction_manifest/FT.03-Mainnet/00004.png new file mode 100644 index 00000000..30300a5c Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/FT.03-Mainnet/00004.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/FT.03-Mainnet/00005.png b/tests/snapshots/nanosp/test_transaction_manifest/FT.03-Mainnet/00005.png new file mode 100644 index 00000000..b3e2de98 Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/FT.03-Mainnet/00005.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/FT.03-Mainnet/00006.png b/tests/snapshots/nanosp/test_transaction_manifest/FT.03-Mainnet/00006.png new file mode 100644 index 00000000..a7110247 Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/FT.03-Mainnet/00006.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/FT.03-Mainnet/00007.png b/tests/snapshots/nanosp/test_transaction_manifest/FT.03-Mainnet/00007.png new file mode 100644 index 00000000..d1eb962c Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/FT.03-Mainnet/00007.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/FT.03-Mainnet/00008.png b/tests/snapshots/nanosp/test_transaction_manifest/FT.03-Mainnet/00008.png new file mode 100644 index 00000000..11ac632e Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/FT.03-Mainnet/00008.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/FT.03-Mainnet/00009.png b/tests/snapshots/nanosp/test_transaction_manifest/FT.03-Mainnet/00009.png new file mode 100644 index 00000000..62827380 Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/FT.03-Mainnet/00009.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/FT.03-Mainnet/00010.png b/tests/snapshots/nanosp/test_transaction_manifest/FT.03-Mainnet/00010.png new file mode 100644 index 00000000..3ad758de Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/FT.03-Mainnet/00010.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/FT.03-Mainnet/00011.png b/tests/snapshots/nanosp/test_transaction_manifest/FT.03-Mainnet/00011.png new file mode 100644 index 00000000..bff4ff72 Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/FT.03-Mainnet/00011.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/FT.03-Mainnet/00012.png b/tests/snapshots/nanosp/test_transaction_manifest/FT.03-Mainnet/00012.png new file mode 100644 index 00000000..c02f5ccb Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/FT.03-Mainnet/00012.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/FT.03-Mainnet/00013.png b/tests/snapshots/nanosp/test_transaction_manifest/FT.03-Mainnet/00013.png new file mode 100644 index 00000000..510dbb77 Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/FT.03-Mainnet/00013.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/FT.03-Mainnet/00014.png b/tests/snapshots/nanosp/test_transaction_manifest/FT.03-Mainnet/00014.png new file mode 100644 index 00000000..8099d16e Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/FT.03-Mainnet/00014.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/FT.03-Mainnet/00015.png b/tests/snapshots/nanosp/test_transaction_manifest/FT.03-Mainnet/00015.png new file mode 100644 index 00000000..cc0bd7b2 Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/FT.03-Mainnet/00015.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/FT.03-Mainnet/00016.png b/tests/snapshots/nanosp/test_transaction_manifest/FT.03-Mainnet/00016.png new file mode 100644 index 00000000..1e4be699 Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/FT.03-Mainnet/00016.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/FT.03-Mainnet/00017.png b/tests/snapshots/nanosp/test_transaction_manifest/FT.03-Mainnet/00017.png new file mode 100644 index 00000000..e84e8dfd Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/FT.03-Mainnet/00017.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/FT.03-Testnet/00000.png b/tests/snapshots/nanosp/test_transaction_manifest/FT.03-Testnet/00000.png new file mode 100644 index 00000000..3e327861 Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/FT.03-Testnet/00000.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/FT.03-Testnet/00001.png b/tests/snapshots/nanosp/test_transaction_manifest/FT.03-Testnet/00001.png new file mode 100644 index 00000000..e8fb52a3 Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/FT.03-Testnet/00001.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/FT.03-Testnet/00002.png b/tests/snapshots/nanosp/test_transaction_manifest/FT.03-Testnet/00002.png new file mode 100644 index 00000000..9badf1a4 Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/FT.03-Testnet/00002.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/FT.03-Testnet/00003.png b/tests/snapshots/nanosp/test_transaction_manifest/FT.03-Testnet/00003.png new file mode 100644 index 00000000..0bb49997 Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/FT.03-Testnet/00003.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/FT.03-Testnet/00004.png b/tests/snapshots/nanosp/test_transaction_manifest/FT.03-Testnet/00004.png new file mode 100644 index 00000000..bd9d1bfb Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/FT.03-Testnet/00004.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/FT.03-Testnet/00005.png b/tests/snapshots/nanosp/test_transaction_manifest/FT.03-Testnet/00005.png new file mode 100644 index 00000000..7dd85d55 Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/FT.03-Testnet/00005.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/FT.03-Testnet/00006.png b/tests/snapshots/nanosp/test_transaction_manifest/FT.03-Testnet/00006.png new file mode 100644 index 00000000..a7110247 Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/FT.03-Testnet/00006.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/FT.03-Testnet/00007.png b/tests/snapshots/nanosp/test_transaction_manifest/FT.03-Testnet/00007.png new file mode 100644 index 00000000..d1eb962c Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/FT.03-Testnet/00007.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/FT.03-Testnet/00008.png b/tests/snapshots/nanosp/test_transaction_manifest/FT.03-Testnet/00008.png new file mode 100644 index 00000000..11ac632e Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/FT.03-Testnet/00008.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/FT.03-Testnet/00009.png b/tests/snapshots/nanosp/test_transaction_manifest/FT.03-Testnet/00009.png new file mode 100644 index 00000000..62827380 Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/FT.03-Testnet/00009.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/FT.03-Testnet/00010.png b/tests/snapshots/nanosp/test_transaction_manifest/FT.03-Testnet/00010.png new file mode 100644 index 00000000..70d85793 Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/FT.03-Testnet/00010.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/FT.03-Testnet/00011.png b/tests/snapshots/nanosp/test_transaction_manifest/FT.03-Testnet/00011.png new file mode 100644 index 00000000..bff4ff72 Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/FT.03-Testnet/00011.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/FT.03-Testnet/00012.png b/tests/snapshots/nanosp/test_transaction_manifest/FT.03-Testnet/00012.png new file mode 100644 index 00000000..c02f5ccb Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/FT.03-Testnet/00012.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/FT.03-Testnet/00013.png b/tests/snapshots/nanosp/test_transaction_manifest/FT.03-Testnet/00013.png new file mode 100644 index 00000000..3df973c5 Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/FT.03-Testnet/00013.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/FT.03-Testnet/00014.png b/tests/snapshots/nanosp/test_transaction_manifest/FT.03-Testnet/00014.png new file mode 100644 index 00000000..bcbf619c Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/FT.03-Testnet/00014.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/FT.03-Testnet/00015.png b/tests/snapshots/nanosp/test_transaction_manifest/FT.03-Testnet/00015.png new file mode 100644 index 00000000..cc0bd7b2 Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/FT.03-Testnet/00015.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/FT.03-Testnet/00016.png b/tests/snapshots/nanosp/test_transaction_manifest/FT.03-Testnet/00016.png new file mode 100644 index 00000000..1e4be699 Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/FT.03-Testnet/00016.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/FT.03-Testnet/00017.png b/tests/snapshots/nanosp/test_transaction_manifest/FT.03-Testnet/00017.png new file mode 100644 index 00000000..e84e8dfd Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/FT.03-Testnet/00017.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/NFT.01-Mainnet/00000.png b/tests/snapshots/nanosp/test_transaction_manifest/NFT.01-Mainnet/00000.png new file mode 100644 index 00000000..3e327861 Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/NFT.01-Mainnet/00000.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/NFT.01-Mainnet/00001.png b/tests/snapshots/nanosp/test_transaction_manifest/NFT.01-Mainnet/00001.png new file mode 100644 index 00000000..fb3206fe Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/NFT.01-Mainnet/00001.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/NFT.01-Mainnet/00002.png b/tests/snapshots/nanosp/test_transaction_manifest/NFT.01-Mainnet/00002.png new file mode 100644 index 00000000..5481d5da Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/NFT.01-Mainnet/00002.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/NFT.01-Mainnet/00003.png b/tests/snapshots/nanosp/test_transaction_manifest/NFT.01-Mainnet/00003.png new file mode 100644 index 00000000..8e7b272a Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/NFT.01-Mainnet/00003.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/NFT.01-Mainnet/00004.png b/tests/snapshots/nanosp/test_transaction_manifest/NFT.01-Mainnet/00004.png new file mode 100644 index 00000000..a76a057b Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/NFT.01-Mainnet/00004.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/NFT.01-Mainnet/00005.png b/tests/snapshots/nanosp/test_transaction_manifest/NFT.01-Mainnet/00005.png new file mode 100644 index 00000000..d1eb962c Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/NFT.01-Mainnet/00005.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/NFT.01-Mainnet/00006.png b/tests/snapshots/nanosp/test_transaction_manifest/NFT.01-Mainnet/00006.png new file mode 100644 index 00000000..11ac632e Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/NFT.01-Mainnet/00006.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/NFT.01-Mainnet/00007.png b/tests/snapshots/nanosp/test_transaction_manifest/NFT.01-Mainnet/00007.png new file mode 100644 index 00000000..62827380 Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/NFT.01-Mainnet/00007.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/NFT.01-Mainnet/00008.png b/tests/snapshots/nanosp/test_transaction_manifest/NFT.01-Mainnet/00008.png new file mode 100644 index 00000000..3ad758de Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/NFT.01-Mainnet/00008.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/NFT.01-Mainnet/00009.png b/tests/snapshots/nanosp/test_transaction_manifest/NFT.01-Mainnet/00009.png new file mode 100644 index 00000000..bff4ff72 Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/NFT.01-Mainnet/00009.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/NFT.01-Mainnet/00010.png b/tests/snapshots/nanosp/test_transaction_manifest/NFT.01-Mainnet/00010.png new file mode 100644 index 00000000..c02f5ccb Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/NFT.01-Mainnet/00010.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/NFT.01-Mainnet/00011.png b/tests/snapshots/nanosp/test_transaction_manifest/NFT.01-Mainnet/00011.png new file mode 100644 index 00000000..510dbb77 Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/NFT.01-Mainnet/00011.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/NFT.01-Mainnet/00012.png b/tests/snapshots/nanosp/test_transaction_manifest/NFT.01-Mainnet/00012.png new file mode 100644 index 00000000..8099d16e Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/NFT.01-Mainnet/00012.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/NFT.01-Mainnet/00013.png b/tests/snapshots/nanosp/test_transaction_manifest/NFT.01-Mainnet/00013.png new file mode 100644 index 00000000..cc0bd7b2 Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/NFT.01-Mainnet/00013.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/NFT.01-Mainnet/00014.png b/tests/snapshots/nanosp/test_transaction_manifest/NFT.01-Mainnet/00014.png new file mode 100644 index 00000000..1e4be699 Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/NFT.01-Mainnet/00014.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/NFT.01-Mainnet/00015.png b/tests/snapshots/nanosp/test_transaction_manifest/NFT.01-Mainnet/00015.png new file mode 100644 index 00000000..e84e8dfd Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/NFT.01-Mainnet/00015.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/NFT.01-Testnet/00000.png b/tests/snapshots/nanosp/test_transaction_manifest/NFT.01-Testnet/00000.png new file mode 100644 index 00000000..3e327861 Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/NFT.01-Testnet/00000.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/NFT.01-Testnet/00001.png b/tests/snapshots/nanosp/test_transaction_manifest/NFT.01-Testnet/00001.png new file mode 100644 index 00000000..fb3206fe Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/NFT.01-Testnet/00001.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/NFT.01-Testnet/00002.png b/tests/snapshots/nanosp/test_transaction_manifest/NFT.01-Testnet/00002.png new file mode 100644 index 00000000..9badf1a4 Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/NFT.01-Testnet/00002.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/NFT.01-Testnet/00003.png b/tests/snapshots/nanosp/test_transaction_manifest/NFT.01-Testnet/00003.png new file mode 100644 index 00000000..f4f9a01e Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/NFT.01-Testnet/00003.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/NFT.01-Testnet/00004.png b/tests/snapshots/nanosp/test_transaction_manifest/NFT.01-Testnet/00004.png new file mode 100644 index 00000000..a76a057b Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/NFT.01-Testnet/00004.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/NFT.01-Testnet/00005.png b/tests/snapshots/nanosp/test_transaction_manifest/NFT.01-Testnet/00005.png new file mode 100644 index 00000000..d1eb962c Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/NFT.01-Testnet/00005.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/NFT.01-Testnet/00006.png b/tests/snapshots/nanosp/test_transaction_manifest/NFT.01-Testnet/00006.png new file mode 100644 index 00000000..11ac632e Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/NFT.01-Testnet/00006.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/NFT.01-Testnet/00007.png b/tests/snapshots/nanosp/test_transaction_manifest/NFT.01-Testnet/00007.png new file mode 100644 index 00000000..62827380 Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/NFT.01-Testnet/00007.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/NFT.01-Testnet/00008.png b/tests/snapshots/nanosp/test_transaction_manifest/NFT.01-Testnet/00008.png new file mode 100644 index 00000000..70d85793 Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/NFT.01-Testnet/00008.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/NFT.01-Testnet/00009.png b/tests/snapshots/nanosp/test_transaction_manifest/NFT.01-Testnet/00009.png new file mode 100644 index 00000000..bff4ff72 Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/NFT.01-Testnet/00009.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/NFT.01-Testnet/00010.png b/tests/snapshots/nanosp/test_transaction_manifest/NFT.01-Testnet/00010.png new file mode 100644 index 00000000..c02f5ccb Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/NFT.01-Testnet/00010.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/NFT.01-Testnet/00011.png b/tests/snapshots/nanosp/test_transaction_manifest/NFT.01-Testnet/00011.png new file mode 100644 index 00000000..3df973c5 Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/NFT.01-Testnet/00011.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/NFT.01-Testnet/00012.png b/tests/snapshots/nanosp/test_transaction_manifest/NFT.01-Testnet/00012.png new file mode 100644 index 00000000..bcbf619c Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/NFT.01-Testnet/00012.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/NFT.01-Testnet/00013.png b/tests/snapshots/nanosp/test_transaction_manifest/NFT.01-Testnet/00013.png new file mode 100644 index 00000000..cc0bd7b2 Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/NFT.01-Testnet/00013.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/NFT.01-Testnet/00014.png b/tests/snapshots/nanosp/test_transaction_manifest/NFT.01-Testnet/00014.png new file mode 100644 index 00000000..1e4be699 Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/NFT.01-Testnet/00014.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/NFT.01-Testnet/00015.png b/tests/snapshots/nanosp/test_transaction_manifest/NFT.01-Testnet/00015.png new file mode 100644 index 00000000..e84e8dfd Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/NFT.01-Testnet/00015.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/NFT.02-Mainnet/00000.png b/tests/snapshots/nanosp/test_transaction_manifest/NFT.02-Mainnet/00000.png new file mode 100644 index 00000000..3e327861 Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/NFT.02-Mainnet/00000.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/NFT.02-Mainnet/00001.png b/tests/snapshots/nanosp/test_transaction_manifest/NFT.02-Mainnet/00001.png new file mode 100644 index 00000000..2be9f2a2 Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/NFT.02-Mainnet/00001.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/NFT.02-Mainnet/00002.png b/tests/snapshots/nanosp/test_transaction_manifest/NFT.02-Mainnet/00002.png new file mode 100644 index 00000000..5481d5da Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/NFT.02-Mainnet/00002.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/NFT.02-Mainnet/00003.png b/tests/snapshots/nanosp/test_transaction_manifest/NFT.02-Mainnet/00003.png new file mode 100644 index 00000000..30300a5c Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/NFT.02-Mainnet/00003.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/NFT.02-Mainnet/00004.png b/tests/snapshots/nanosp/test_transaction_manifest/NFT.02-Mainnet/00004.png new file mode 100644 index 00000000..9abe28a8 Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/NFT.02-Mainnet/00004.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/NFT.02-Mainnet/00005.png b/tests/snapshots/nanosp/test_transaction_manifest/NFT.02-Mainnet/00005.png new file mode 100644 index 00000000..009635ac Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/NFT.02-Mainnet/00005.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/NFT.02-Mainnet/00006.png b/tests/snapshots/nanosp/test_transaction_manifest/NFT.02-Mainnet/00006.png new file mode 100644 index 00000000..1ba77d2c Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/NFT.02-Mainnet/00006.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/NFT.02-Mainnet/00007.png b/tests/snapshots/nanosp/test_transaction_manifest/NFT.02-Mainnet/00007.png new file mode 100644 index 00000000..d1eb962c Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/NFT.02-Mainnet/00007.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/NFT.02-Mainnet/00008.png b/tests/snapshots/nanosp/test_transaction_manifest/NFT.02-Mainnet/00008.png new file mode 100644 index 00000000..11ac632e Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/NFT.02-Mainnet/00008.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/NFT.02-Mainnet/00009.png b/tests/snapshots/nanosp/test_transaction_manifest/NFT.02-Mainnet/00009.png new file mode 100644 index 00000000..62827380 Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/NFT.02-Mainnet/00009.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/NFT.02-Mainnet/00010.png b/tests/snapshots/nanosp/test_transaction_manifest/NFT.02-Mainnet/00010.png new file mode 100644 index 00000000..3ad758de Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/NFT.02-Mainnet/00010.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/NFT.02-Mainnet/00011.png b/tests/snapshots/nanosp/test_transaction_manifest/NFT.02-Mainnet/00011.png new file mode 100644 index 00000000..bff4ff72 Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/NFT.02-Mainnet/00011.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/NFT.02-Mainnet/00012.png b/tests/snapshots/nanosp/test_transaction_manifest/NFT.02-Mainnet/00012.png new file mode 100644 index 00000000..c02f5ccb Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/NFT.02-Mainnet/00012.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/NFT.02-Mainnet/00013.png b/tests/snapshots/nanosp/test_transaction_manifest/NFT.02-Mainnet/00013.png new file mode 100644 index 00000000..510dbb77 Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/NFT.02-Mainnet/00013.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/NFT.02-Mainnet/00014.png b/tests/snapshots/nanosp/test_transaction_manifest/NFT.02-Mainnet/00014.png new file mode 100644 index 00000000..8099d16e Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/NFT.02-Mainnet/00014.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/NFT.02-Mainnet/00015.png b/tests/snapshots/nanosp/test_transaction_manifest/NFT.02-Mainnet/00015.png new file mode 100644 index 00000000..cc0bd7b2 Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/NFT.02-Mainnet/00015.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/NFT.02-Mainnet/00016.png b/tests/snapshots/nanosp/test_transaction_manifest/NFT.02-Mainnet/00016.png new file mode 100644 index 00000000..1e4be699 Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/NFT.02-Mainnet/00016.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/NFT.02-Mainnet/00017.png b/tests/snapshots/nanosp/test_transaction_manifest/NFT.02-Mainnet/00017.png new file mode 100644 index 00000000..e84e8dfd Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/NFT.02-Mainnet/00017.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/NFT.02-Testnet/00000.png b/tests/snapshots/nanosp/test_transaction_manifest/NFT.02-Testnet/00000.png new file mode 100644 index 00000000..3e327861 Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/NFT.02-Testnet/00000.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/NFT.02-Testnet/00001.png b/tests/snapshots/nanosp/test_transaction_manifest/NFT.02-Testnet/00001.png new file mode 100644 index 00000000..2be9f2a2 Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/NFT.02-Testnet/00001.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/NFT.02-Testnet/00002.png b/tests/snapshots/nanosp/test_transaction_manifest/NFT.02-Testnet/00002.png new file mode 100644 index 00000000..9badf1a4 Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/NFT.02-Testnet/00002.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/NFT.02-Testnet/00003.png b/tests/snapshots/nanosp/test_transaction_manifest/NFT.02-Testnet/00003.png new file mode 100644 index 00000000..bd9d1bfb Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/NFT.02-Testnet/00003.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/NFT.02-Testnet/00004.png b/tests/snapshots/nanosp/test_transaction_manifest/NFT.02-Testnet/00004.png new file mode 100644 index 00000000..9abe28a8 Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/NFT.02-Testnet/00004.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/NFT.02-Testnet/00005.png b/tests/snapshots/nanosp/test_transaction_manifest/NFT.02-Testnet/00005.png new file mode 100644 index 00000000..009635ac Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/NFT.02-Testnet/00005.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/NFT.02-Testnet/00006.png b/tests/snapshots/nanosp/test_transaction_manifest/NFT.02-Testnet/00006.png new file mode 100644 index 00000000..1ba77d2c Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/NFT.02-Testnet/00006.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/NFT.02-Testnet/00007.png b/tests/snapshots/nanosp/test_transaction_manifest/NFT.02-Testnet/00007.png new file mode 100644 index 00000000..d1eb962c Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/NFT.02-Testnet/00007.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/NFT.02-Testnet/00008.png b/tests/snapshots/nanosp/test_transaction_manifest/NFT.02-Testnet/00008.png new file mode 100644 index 00000000..11ac632e Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/NFT.02-Testnet/00008.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/NFT.02-Testnet/00009.png b/tests/snapshots/nanosp/test_transaction_manifest/NFT.02-Testnet/00009.png new file mode 100644 index 00000000..62827380 Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/NFT.02-Testnet/00009.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/NFT.02-Testnet/00010.png b/tests/snapshots/nanosp/test_transaction_manifest/NFT.02-Testnet/00010.png new file mode 100644 index 00000000..70d85793 Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/NFT.02-Testnet/00010.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/NFT.02-Testnet/00011.png b/tests/snapshots/nanosp/test_transaction_manifest/NFT.02-Testnet/00011.png new file mode 100644 index 00000000..bff4ff72 Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/NFT.02-Testnet/00011.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/NFT.02-Testnet/00012.png b/tests/snapshots/nanosp/test_transaction_manifest/NFT.02-Testnet/00012.png new file mode 100644 index 00000000..c02f5ccb Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/NFT.02-Testnet/00012.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/NFT.02-Testnet/00013.png b/tests/snapshots/nanosp/test_transaction_manifest/NFT.02-Testnet/00013.png new file mode 100644 index 00000000..3df973c5 Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/NFT.02-Testnet/00013.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/NFT.02-Testnet/00014.png b/tests/snapshots/nanosp/test_transaction_manifest/NFT.02-Testnet/00014.png new file mode 100644 index 00000000..bcbf619c Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/NFT.02-Testnet/00014.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/NFT.02-Testnet/00015.png b/tests/snapshots/nanosp/test_transaction_manifest/NFT.02-Testnet/00015.png new file mode 100644 index 00000000..cc0bd7b2 Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/NFT.02-Testnet/00015.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/NFT.02-Testnet/00016.png b/tests/snapshots/nanosp/test_transaction_manifest/NFT.02-Testnet/00016.png new file mode 100644 index 00000000..1e4be699 Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/NFT.02-Testnet/00016.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/NFT.02-Testnet/00017.png b/tests/snapshots/nanosp/test_transaction_manifest/NFT.02-Testnet/00017.png new file mode 100644 index 00000000..e84e8dfd Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/NFT.02-Testnet/00017.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/NFT.03-Mainnet/00000.png b/tests/snapshots/nanosp/test_transaction_manifest/NFT.03-Mainnet/00000.png new file mode 100644 index 00000000..3e327861 Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/NFT.03-Mainnet/00000.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/NFT.03-Mainnet/00001.png b/tests/snapshots/nanosp/test_transaction_manifest/NFT.03-Mainnet/00001.png new file mode 100644 index 00000000..00acffb3 Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/NFT.03-Mainnet/00001.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/NFT.03-Mainnet/00002.png b/tests/snapshots/nanosp/test_transaction_manifest/NFT.03-Mainnet/00002.png new file mode 100644 index 00000000..5481d5da Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/NFT.03-Mainnet/00002.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/NFT.03-Mainnet/00003.png b/tests/snapshots/nanosp/test_transaction_manifest/NFT.03-Mainnet/00003.png new file mode 100644 index 00000000..30300a5c Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/NFT.03-Mainnet/00003.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/NFT.03-Mainnet/00004.png b/tests/snapshots/nanosp/test_transaction_manifest/NFT.03-Mainnet/00004.png new file mode 100644 index 00000000..9abe28a8 Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/NFT.03-Mainnet/00004.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/NFT.03-Mainnet/00005.png b/tests/snapshots/nanosp/test_transaction_manifest/NFT.03-Mainnet/00005.png new file mode 100644 index 00000000..8e7b272a Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/NFT.03-Mainnet/00005.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/NFT.03-Mainnet/00006.png b/tests/snapshots/nanosp/test_transaction_manifest/NFT.03-Mainnet/00006.png new file mode 100644 index 00000000..a76a057b Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/NFT.03-Mainnet/00006.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/NFT.03-Mainnet/00007.png b/tests/snapshots/nanosp/test_transaction_manifest/NFT.03-Mainnet/00007.png new file mode 100644 index 00000000..d1eb962c Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/NFT.03-Mainnet/00007.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/NFT.03-Mainnet/00008.png b/tests/snapshots/nanosp/test_transaction_manifest/NFT.03-Mainnet/00008.png new file mode 100644 index 00000000..11ac632e Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/NFT.03-Mainnet/00008.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/NFT.03-Mainnet/00009.png b/tests/snapshots/nanosp/test_transaction_manifest/NFT.03-Mainnet/00009.png new file mode 100644 index 00000000..62827380 Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/NFT.03-Mainnet/00009.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/NFT.03-Mainnet/00010.png b/tests/snapshots/nanosp/test_transaction_manifest/NFT.03-Mainnet/00010.png new file mode 100644 index 00000000..3ad758de Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/NFT.03-Mainnet/00010.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/NFT.03-Mainnet/00011.png b/tests/snapshots/nanosp/test_transaction_manifest/NFT.03-Mainnet/00011.png new file mode 100644 index 00000000..bff4ff72 Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/NFT.03-Mainnet/00011.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/NFT.03-Mainnet/00012.png b/tests/snapshots/nanosp/test_transaction_manifest/NFT.03-Mainnet/00012.png new file mode 100644 index 00000000..c02f5ccb Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/NFT.03-Mainnet/00012.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/NFT.03-Mainnet/00013.png b/tests/snapshots/nanosp/test_transaction_manifest/NFT.03-Mainnet/00013.png new file mode 100644 index 00000000..510dbb77 Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/NFT.03-Mainnet/00013.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/NFT.03-Mainnet/00014.png b/tests/snapshots/nanosp/test_transaction_manifest/NFT.03-Mainnet/00014.png new file mode 100644 index 00000000..8099d16e Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/NFT.03-Mainnet/00014.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/NFT.03-Mainnet/00015.png b/tests/snapshots/nanosp/test_transaction_manifest/NFT.03-Mainnet/00015.png new file mode 100644 index 00000000..cc0bd7b2 Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/NFT.03-Mainnet/00015.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/NFT.03-Mainnet/00016.png b/tests/snapshots/nanosp/test_transaction_manifest/NFT.03-Mainnet/00016.png new file mode 100644 index 00000000..1e4be699 Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/NFT.03-Mainnet/00016.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/NFT.03-Mainnet/00017.png b/tests/snapshots/nanosp/test_transaction_manifest/NFT.03-Mainnet/00017.png new file mode 100644 index 00000000..e84e8dfd Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/NFT.03-Mainnet/00017.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/NFT.03-Testnet/00000.png b/tests/snapshots/nanosp/test_transaction_manifest/NFT.03-Testnet/00000.png new file mode 100644 index 00000000..3e327861 Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/NFT.03-Testnet/00000.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/NFT.03-Testnet/00001.png b/tests/snapshots/nanosp/test_transaction_manifest/NFT.03-Testnet/00001.png new file mode 100644 index 00000000..00acffb3 Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/NFT.03-Testnet/00001.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/NFT.03-Testnet/00002.png b/tests/snapshots/nanosp/test_transaction_manifest/NFT.03-Testnet/00002.png new file mode 100644 index 00000000..9badf1a4 Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/NFT.03-Testnet/00002.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/NFT.03-Testnet/00003.png b/tests/snapshots/nanosp/test_transaction_manifest/NFT.03-Testnet/00003.png new file mode 100644 index 00000000..bd9d1bfb Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/NFT.03-Testnet/00003.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/NFT.03-Testnet/00004.png b/tests/snapshots/nanosp/test_transaction_manifest/NFT.03-Testnet/00004.png new file mode 100644 index 00000000..9abe28a8 Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/NFT.03-Testnet/00004.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/NFT.03-Testnet/00005.png b/tests/snapshots/nanosp/test_transaction_manifest/NFT.03-Testnet/00005.png new file mode 100644 index 00000000..f4f9a01e Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/NFT.03-Testnet/00005.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/NFT.03-Testnet/00006.png b/tests/snapshots/nanosp/test_transaction_manifest/NFT.03-Testnet/00006.png new file mode 100644 index 00000000..a76a057b Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/NFT.03-Testnet/00006.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/NFT.03-Testnet/00007.png b/tests/snapshots/nanosp/test_transaction_manifest/NFT.03-Testnet/00007.png new file mode 100644 index 00000000..d1eb962c Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/NFT.03-Testnet/00007.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/NFT.03-Testnet/00008.png b/tests/snapshots/nanosp/test_transaction_manifest/NFT.03-Testnet/00008.png new file mode 100644 index 00000000..11ac632e Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/NFT.03-Testnet/00008.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/NFT.03-Testnet/00009.png b/tests/snapshots/nanosp/test_transaction_manifest/NFT.03-Testnet/00009.png new file mode 100644 index 00000000..62827380 Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/NFT.03-Testnet/00009.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/NFT.03-Testnet/00010.png b/tests/snapshots/nanosp/test_transaction_manifest/NFT.03-Testnet/00010.png new file mode 100644 index 00000000..70d85793 Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/NFT.03-Testnet/00010.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/NFT.03-Testnet/00011.png b/tests/snapshots/nanosp/test_transaction_manifest/NFT.03-Testnet/00011.png new file mode 100644 index 00000000..bff4ff72 Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/NFT.03-Testnet/00011.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/NFT.03-Testnet/00012.png b/tests/snapshots/nanosp/test_transaction_manifest/NFT.03-Testnet/00012.png new file mode 100644 index 00000000..c02f5ccb Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/NFT.03-Testnet/00012.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/NFT.03-Testnet/00013.png b/tests/snapshots/nanosp/test_transaction_manifest/NFT.03-Testnet/00013.png new file mode 100644 index 00000000..3df973c5 Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/NFT.03-Testnet/00013.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/NFT.03-Testnet/00014.png b/tests/snapshots/nanosp/test_transaction_manifest/NFT.03-Testnet/00014.png new file mode 100644 index 00000000..bcbf619c Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/NFT.03-Testnet/00014.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/NFT.03-Testnet/00015.png b/tests/snapshots/nanosp/test_transaction_manifest/NFT.03-Testnet/00015.png new file mode 100644 index 00000000..cc0bd7b2 Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/NFT.03-Testnet/00015.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/NFT.03-Testnet/00016.png b/tests/snapshots/nanosp/test_transaction_manifest/NFT.03-Testnet/00016.png new file mode 100644 index 00000000..1e4be699 Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/NFT.03-Testnet/00016.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/NFT.03-Testnet/00017.png b/tests/snapshots/nanosp/test_transaction_manifest/NFT.03-Testnet/00017.png new file mode 100644 index 00000000..e84e8dfd Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/NFT.03-Testnet/00017.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/SCO.03-Mainnet/00000.png b/tests/snapshots/nanosp/test_transaction_manifest/SCO.03-Mainnet/00000.png new file mode 100644 index 00000000..3e327861 Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/SCO.03-Mainnet/00000.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/SCO.03-Mainnet/00001.png b/tests/snapshots/nanosp/test_transaction_manifest/SCO.03-Mainnet/00001.png new file mode 100644 index 00000000..efccfe60 Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/SCO.03-Mainnet/00001.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/SCO.03-Mainnet/00002.png b/tests/snapshots/nanosp/test_transaction_manifest/SCO.03-Mainnet/00002.png new file mode 100644 index 00000000..5481d5da Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/SCO.03-Mainnet/00002.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/SCO.03-Mainnet/00003.png b/tests/snapshots/nanosp/test_transaction_manifest/SCO.03-Mainnet/00003.png new file mode 100644 index 00000000..363bf8bd Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/SCO.03-Mainnet/00003.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/SCO.03-Mainnet/00004.png b/tests/snapshots/nanosp/test_transaction_manifest/SCO.03-Mainnet/00004.png new file mode 100644 index 00000000..1ba2af08 Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/SCO.03-Mainnet/00004.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/SCO.03-Mainnet/00005.png b/tests/snapshots/nanosp/test_transaction_manifest/SCO.03-Mainnet/00005.png new file mode 100644 index 00000000..08cd3e1d Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/SCO.03-Mainnet/00005.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/SCO.03-Mainnet/00006.png b/tests/snapshots/nanosp/test_transaction_manifest/SCO.03-Mainnet/00006.png new file mode 100644 index 00000000..fc817672 Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/SCO.03-Mainnet/00006.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/SCO.03-Mainnet/00007.png b/tests/snapshots/nanosp/test_transaction_manifest/SCO.03-Mainnet/00007.png new file mode 100644 index 00000000..d919f55a Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/SCO.03-Mainnet/00007.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/SCO.03-Mainnet/00008.png b/tests/snapshots/nanosp/test_transaction_manifest/SCO.03-Mainnet/00008.png new file mode 100644 index 00000000..b0c1952a Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/SCO.03-Mainnet/00008.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/SCO.03-Mainnet/00009.png b/tests/snapshots/nanosp/test_transaction_manifest/SCO.03-Mainnet/00009.png new file mode 100644 index 00000000..6c835552 Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/SCO.03-Mainnet/00009.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/SCO.03-Mainnet/00010.png b/tests/snapshots/nanosp/test_transaction_manifest/SCO.03-Mainnet/00010.png new file mode 100644 index 00000000..8d9a9df2 Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/SCO.03-Mainnet/00010.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/SCO.03-Mainnet/00011.png b/tests/snapshots/nanosp/test_transaction_manifest/SCO.03-Mainnet/00011.png new file mode 100644 index 00000000..a35defdc Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/SCO.03-Mainnet/00011.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/SCO.03-Mainnet/00012.png b/tests/snapshots/nanosp/test_transaction_manifest/SCO.03-Mainnet/00012.png new file mode 100644 index 00000000..0e078d2b Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/SCO.03-Mainnet/00012.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/SCO.03-Mainnet/00013.png b/tests/snapshots/nanosp/test_transaction_manifest/SCO.03-Mainnet/00013.png new file mode 100644 index 00000000..87e1818f Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/SCO.03-Mainnet/00013.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/SCO.03-Mainnet/00014.png b/tests/snapshots/nanosp/test_transaction_manifest/SCO.03-Mainnet/00014.png new file mode 100644 index 00000000..0bb49997 Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/SCO.03-Mainnet/00014.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/SCO.03-Mainnet/00015.png b/tests/snapshots/nanosp/test_transaction_manifest/SCO.03-Mainnet/00015.png new file mode 100644 index 00000000..644fbc19 Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/SCO.03-Mainnet/00015.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/SCO.03-Mainnet/00016.png b/tests/snapshots/nanosp/test_transaction_manifest/SCO.03-Mainnet/00016.png new file mode 100644 index 00000000..fca15353 Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/SCO.03-Mainnet/00016.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/SCO.03-Mainnet/00017.png b/tests/snapshots/nanosp/test_transaction_manifest/SCO.03-Mainnet/00017.png new file mode 100644 index 00000000..88b38131 Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/SCO.03-Mainnet/00017.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/SCO.03-Mainnet/00018.png b/tests/snapshots/nanosp/test_transaction_manifest/SCO.03-Mainnet/00018.png new file mode 100644 index 00000000..b51fd975 Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/SCO.03-Mainnet/00018.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/SCO.03-Mainnet/00019.png b/tests/snapshots/nanosp/test_transaction_manifest/SCO.03-Mainnet/00019.png new file mode 100644 index 00000000..fc2ea435 Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/SCO.03-Mainnet/00019.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/SCO.03-Mainnet/00020.png b/tests/snapshots/nanosp/test_transaction_manifest/SCO.03-Mainnet/00020.png new file mode 100644 index 00000000..d1eb962c Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/SCO.03-Mainnet/00020.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/SCO.03-Mainnet/00021.png b/tests/snapshots/nanosp/test_transaction_manifest/SCO.03-Mainnet/00021.png new file mode 100644 index 00000000..11ac632e Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/SCO.03-Mainnet/00021.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/SCO.03-Mainnet/00022.png b/tests/snapshots/nanosp/test_transaction_manifest/SCO.03-Mainnet/00022.png new file mode 100644 index 00000000..62827380 Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/SCO.03-Mainnet/00022.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/SCO.03-Mainnet/00023.png b/tests/snapshots/nanosp/test_transaction_manifest/SCO.03-Mainnet/00023.png new file mode 100644 index 00000000..3ad758de Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/SCO.03-Mainnet/00023.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/SCO.03-Mainnet/00024.png b/tests/snapshots/nanosp/test_transaction_manifest/SCO.03-Mainnet/00024.png new file mode 100644 index 00000000..bff4ff72 Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/SCO.03-Mainnet/00024.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/SCO.03-Mainnet/00025.png b/tests/snapshots/nanosp/test_transaction_manifest/SCO.03-Mainnet/00025.png new file mode 100644 index 00000000..c02f5ccb Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/SCO.03-Mainnet/00025.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/SCO.03-Mainnet/00026.png b/tests/snapshots/nanosp/test_transaction_manifest/SCO.03-Mainnet/00026.png new file mode 100644 index 00000000..510dbb77 Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/SCO.03-Mainnet/00026.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/SCO.03-Mainnet/00027.png b/tests/snapshots/nanosp/test_transaction_manifest/SCO.03-Mainnet/00027.png new file mode 100644 index 00000000..8099d16e Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/SCO.03-Mainnet/00027.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/SCO.03-Mainnet/00028.png b/tests/snapshots/nanosp/test_transaction_manifest/SCO.03-Mainnet/00028.png new file mode 100644 index 00000000..cc0bd7b2 Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/SCO.03-Mainnet/00028.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/SCO.03-Mainnet/00029.png b/tests/snapshots/nanosp/test_transaction_manifest/SCO.03-Mainnet/00029.png new file mode 100644 index 00000000..1e4be699 Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/SCO.03-Mainnet/00029.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/SCO.03-Mainnet/00030.png b/tests/snapshots/nanosp/test_transaction_manifest/SCO.03-Mainnet/00030.png new file mode 100644 index 00000000..e84e8dfd Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/SCO.03-Mainnet/00030.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/SCO.03-Testnet/00000.png b/tests/snapshots/nanosp/test_transaction_manifest/SCO.03-Testnet/00000.png new file mode 100644 index 00000000..3e327861 Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/SCO.03-Testnet/00000.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/SCO.03-Testnet/00001.png b/tests/snapshots/nanosp/test_transaction_manifest/SCO.03-Testnet/00001.png new file mode 100644 index 00000000..efccfe60 Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/SCO.03-Testnet/00001.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/SCO.03-Testnet/00002.png b/tests/snapshots/nanosp/test_transaction_manifest/SCO.03-Testnet/00002.png new file mode 100644 index 00000000..9badf1a4 Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/SCO.03-Testnet/00002.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/SCO.03-Testnet/00003.png b/tests/snapshots/nanosp/test_transaction_manifest/SCO.03-Testnet/00003.png new file mode 100644 index 00000000..363bf8bd Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/SCO.03-Testnet/00003.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/SCO.03-Testnet/00004.png b/tests/snapshots/nanosp/test_transaction_manifest/SCO.03-Testnet/00004.png new file mode 100644 index 00000000..1ba2af08 Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/SCO.03-Testnet/00004.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/SCO.03-Testnet/00005.png b/tests/snapshots/nanosp/test_transaction_manifest/SCO.03-Testnet/00005.png new file mode 100644 index 00000000..08cd3e1d Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/SCO.03-Testnet/00005.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/SCO.03-Testnet/00006.png b/tests/snapshots/nanosp/test_transaction_manifest/SCO.03-Testnet/00006.png new file mode 100644 index 00000000..fc817672 Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/SCO.03-Testnet/00006.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/SCO.03-Testnet/00007.png b/tests/snapshots/nanosp/test_transaction_manifest/SCO.03-Testnet/00007.png new file mode 100644 index 00000000..d919f55a Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/SCO.03-Testnet/00007.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/SCO.03-Testnet/00008.png b/tests/snapshots/nanosp/test_transaction_manifest/SCO.03-Testnet/00008.png new file mode 100644 index 00000000..b0c1952a Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/SCO.03-Testnet/00008.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/SCO.03-Testnet/00009.png b/tests/snapshots/nanosp/test_transaction_manifest/SCO.03-Testnet/00009.png new file mode 100644 index 00000000..6c835552 Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/SCO.03-Testnet/00009.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/SCO.03-Testnet/00010.png b/tests/snapshots/nanosp/test_transaction_manifest/SCO.03-Testnet/00010.png new file mode 100644 index 00000000..8d9a9df2 Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/SCO.03-Testnet/00010.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/SCO.03-Testnet/00011.png b/tests/snapshots/nanosp/test_transaction_manifest/SCO.03-Testnet/00011.png new file mode 100644 index 00000000..a35defdc Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/SCO.03-Testnet/00011.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/SCO.03-Testnet/00012.png b/tests/snapshots/nanosp/test_transaction_manifest/SCO.03-Testnet/00012.png new file mode 100644 index 00000000..0e078d2b Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/SCO.03-Testnet/00012.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/SCO.03-Testnet/00013.png b/tests/snapshots/nanosp/test_transaction_manifest/SCO.03-Testnet/00013.png new file mode 100644 index 00000000..87e1818f Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/SCO.03-Testnet/00013.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/SCO.03-Testnet/00014.png b/tests/snapshots/nanosp/test_transaction_manifest/SCO.03-Testnet/00014.png new file mode 100644 index 00000000..0bb49997 Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/SCO.03-Testnet/00014.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/SCO.03-Testnet/00015.png b/tests/snapshots/nanosp/test_transaction_manifest/SCO.03-Testnet/00015.png new file mode 100644 index 00000000..644fbc19 Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/SCO.03-Testnet/00015.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/SCO.03-Testnet/00016.png b/tests/snapshots/nanosp/test_transaction_manifest/SCO.03-Testnet/00016.png new file mode 100644 index 00000000..fca15353 Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/SCO.03-Testnet/00016.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/SCO.03-Testnet/00017.png b/tests/snapshots/nanosp/test_transaction_manifest/SCO.03-Testnet/00017.png new file mode 100644 index 00000000..88b38131 Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/SCO.03-Testnet/00017.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/SCO.03-Testnet/00018.png b/tests/snapshots/nanosp/test_transaction_manifest/SCO.03-Testnet/00018.png new file mode 100644 index 00000000..b51fd975 Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/SCO.03-Testnet/00018.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/SCO.03-Testnet/00019.png b/tests/snapshots/nanosp/test_transaction_manifest/SCO.03-Testnet/00019.png new file mode 100644 index 00000000..fc2ea435 Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/SCO.03-Testnet/00019.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/SCO.03-Testnet/00020.png b/tests/snapshots/nanosp/test_transaction_manifest/SCO.03-Testnet/00020.png new file mode 100644 index 00000000..d1eb962c Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/SCO.03-Testnet/00020.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/SCO.03-Testnet/00021.png b/tests/snapshots/nanosp/test_transaction_manifest/SCO.03-Testnet/00021.png new file mode 100644 index 00000000..11ac632e Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/SCO.03-Testnet/00021.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/SCO.03-Testnet/00022.png b/tests/snapshots/nanosp/test_transaction_manifest/SCO.03-Testnet/00022.png new file mode 100644 index 00000000..62827380 Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/SCO.03-Testnet/00022.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/SCO.03-Testnet/00023.png b/tests/snapshots/nanosp/test_transaction_manifest/SCO.03-Testnet/00023.png new file mode 100644 index 00000000..70d85793 Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/SCO.03-Testnet/00023.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/SCO.03-Testnet/00024.png b/tests/snapshots/nanosp/test_transaction_manifest/SCO.03-Testnet/00024.png new file mode 100644 index 00000000..bff4ff72 Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/SCO.03-Testnet/00024.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/SCO.03-Testnet/00025.png b/tests/snapshots/nanosp/test_transaction_manifest/SCO.03-Testnet/00025.png new file mode 100644 index 00000000..c02f5ccb Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/SCO.03-Testnet/00025.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/SCO.03-Testnet/00026.png b/tests/snapshots/nanosp/test_transaction_manifest/SCO.03-Testnet/00026.png new file mode 100644 index 00000000..3df973c5 Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/SCO.03-Testnet/00026.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/SCO.03-Testnet/00027.png b/tests/snapshots/nanosp/test_transaction_manifest/SCO.03-Testnet/00027.png new file mode 100644 index 00000000..bcbf619c Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/SCO.03-Testnet/00027.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/SCO.03-Testnet/00028.png b/tests/snapshots/nanosp/test_transaction_manifest/SCO.03-Testnet/00028.png new file mode 100644 index 00000000..cc0bd7b2 Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/SCO.03-Testnet/00028.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/SCO.03-Testnet/00029.png b/tests/snapshots/nanosp/test_transaction_manifest/SCO.03-Testnet/00029.png new file mode 100644 index 00000000..1e4be699 Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/SCO.03-Testnet/00029.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/SCO.03-Testnet/00030.png b/tests/snapshots/nanosp/test_transaction_manifest/SCO.03-Testnet/00030.png new file mode 100644 index 00000000..e84e8dfd Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/SCO.03-Testnet/00030.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/SCO.04-Mainnet/00000.png b/tests/snapshots/nanosp/test_transaction_manifest/SCO.04-Mainnet/00000.png new file mode 100644 index 00000000..3e327861 Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/SCO.04-Mainnet/00000.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/SCO.04-Mainnet/00001.png b/tests/snapshots/nanosp/test_transaction_manifest/SCO.04-Mainnet/00001.png new file mode 100644 index 00000000..0aa992b4 Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/SCO.04-Mainnet/00001.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/SCO.04-Mainnet/00002.png b/tests/snapshots/nanosp/test_transaction_manifest/SCO.04-Mainnet/00002.png new file mode 100644 index 00000000..5481d5da Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/SCO.04-Mainnet/00002.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/SCO.04-Mainnet/00003.png b/tests/snapshots/nanosp/test_transaction_manifest/SCO.04-Mainnet/00003.png new file mode 100644 index 00000000..363bf8bd Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/SCO.04-Mainnet/00003.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/SCO.04-Mainnet/00004.png b/tests/snapshots/nanosp/test_transaction_manifest/SCO.04-Mainnet/00004.png new file mode 100644 index 00000000..1ba2af08 Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/SCO.04-Mainnet/00004.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/SCO.04-Mainnet/00005.png b/tests/snapshots/nanosp/test_transaction_manifest/SCO.04-Mainnet/00005.png new file mode 100644 index 00000000..644fbc19 Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/SCO.04-Mainnet/00005.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/SCO.04-Mainnet/00006.png b/tests/snapshots/nanosp/test_transaction_manifest/SCO.04-Mainnet/00006.png new file mode 100644 index 00000000..fca15353 Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/SCO.04-Mainnet/00006.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/SCO.04-Mainnet/00007.png b/tests/snapshots/nanosp/test_transaction_manifest/SCO.04-Mainnet/00007.png new file mode 100644 index 00000000..88b38131 Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/SCO.04-Mainnet/00007.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/SCO.04-Mainnet/00008.png b/tests/snapshots/nanosp/test_transaction_manifest/SCO.04-Mainnet/00008.png new file mode 100644 index 00000000..b51fd975 Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/SCO.04-Mainnet/00008.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/SCO.04-Mainnet/00009.png b/tests/snapshots/nanosp/test_transaction_manifest/SCO.04-Mainnet/00009.png new file mode 100644 index 00000000..fc2ea435 Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/SCO.04-Mainnet/00009.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/SCO.04-Mainnet/00010.png b/tests/snapshots/nanosp/test_transaction_manifest/SCO.04-Mainnet/00010.png new file mode 100644 index 00000000..d1eb962c Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/SCO.04-Mainnet/00010.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/SCO.04-Mainnet/00011.png b/tests/snapshots/nanosp/test_transaction_manifest/SCO.04-Mainnet/00011.png new file mode 100644 index 00000000..11ac632e Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/SCO.04-Mainnet/00011.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/SCO.04-Mainnet/00012.png b/tests/snapshots/nanosp/test_transaction_manifest/SCO.04-Mainnet/00012.png new file mode 100644 index 00000000..62827380 Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/SCO.04-Mainnet/00012.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/SCO.04-Mainnet/00013.png b/tests/snapshots/nanosp/test_transaction_manifest/SCO.04-Mainnet/00013.png new file mode 100644 index 00000000..3ad758de Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/SCO.04-Mainnet/00013.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/SCO.04-Mainnet/00014.png b/tests/snapshots/nanosp/test_transaction_manifest/SCO.04-Mainnet/00014.png new file mode 100644 index 00000000..bff4ff72 Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/SCO.04-Mainnet/00014.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/SCO.04-Mainnet/00015.png b/tests/snapshots/nanosp/test_transaction_manifest/SCO.04-Mainnet/00015.png new file mode 100644 index 00000000..c02f5ccb Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/SCO.04-Mainnet/00015.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/SCO.04-Mainnet/00016.png b/tests/snapshots/nanosp/test_transaction_manifest/SCO.04-Mainnet/00016.png new file mode 100644 index 00000000..510dbb77 Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/SCO.04-Mainnet/00016.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/SCO.04-Mainnet/00017.png b/tests/snapshots/nanosp/test_transaction_manifest/SCO.04-Mainnet/00017.png new file mode 100644 index 00000000..8099d16e Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/SCO.04-Mainnet/00017.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/SCO.04-Mainnet/00018.png b/tests/snapshots/nanosp/test_transaction_manifest/SCO.04-Mainnet/00018.png new file mode 100644 index 00000000..cc0bd7b2 Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/SCO.04-Mainnet/00018.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/SCO.04-Mainnet/00019.png b/tests/snapshots/nanosp/test_transaction_manifest/SCO.04-Mainnet/00019.png new file mode 100644 index 00000000..1e4be699 Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/SCO.04-Mainnet/00019.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/SCO.04-Mainnet/00020.png b/tests/snapshots/nanosp/test_transaction_manifest/SCO.04-Mainnet/00020.png new file mode 100644 index 00000000..e84e8dfd Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/SCO.04-Mainnet/00020.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/SCO.04-Testnet/00000.png b/tests/snapshots/nanosp/test_transaction_manifest/SCO.04-Testnet/00000.png new file mode 100644 index 00000000..3e327861 Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/SCO.04-Testnet/00000.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/SCO.04-Testnet/00001.png b/tests/snapshots/nanosp/test_transaction_manifest/SCO.04-Testnet/00001.png new file mode 100644 index 00000000..0aa992b4 Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/SCO.04-Testnet/00001.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/SCO.04-Testnet/00002.png b/tests/snapshots/nanosp/test_transaction_manifest/SCO.04-Testnet/00002.png new file mode 100644 index 00000000..9badf1a4 Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/SCO.04-Testnet/00002.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/SCO.04-Testnet/00003.png b/tests/snapshots/nanosp/test_transaction_manifest/SCO.04-Testnet/00003.png new file mode 100644 index 00000000..363bf8bd Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/SCO.04-Testnet/00003.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/SCO.04-Testnet/00004.png b/tests/snapshots/nanosp/test_transaction_manifest/SCO.04-Testnet/00004.png new file mode 100644 index 00000000..1ba2af08 Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/SCO.04-Testnet/00004.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/SCO.04-Testnet/00005.png b/tests/snapshots/nanosp/test_transaction_manifest/SCO.04-Testnet/00005.png new file mode 100644 index 00000000..644fbc19 Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/SCO.04-Testnet/00005.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/SCO.04-Testnet/00006.png b/tests/snapshots/nanosp/test_transaction_manifest/SCO.04-Testnet/00006.png new file mode 100644 index 00000000..fca15353 Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/SCO.04-Testnet/00006.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/SCO.04-Testnet/00007.png b/tests/snapshots/nanosp/test_transaction_manifest/SCO.04-Testnet/00007.png new file mode 100644 index 00000000..88b38131 Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/SCO.04-Testnet/00007.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/SCO.04-Testnet/00008.png b/tests/snapshots/nanosp/test_transaction_manifest/SCO.04-Testnet/00008.png new file mode 100644 index 00000000..b51fd975 Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/SCO.04-Testnet/00008.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/SCO.04-Testnet/00009.png b/tests/snapshots/nanosp/test_transaction_manifest/SCO.04-Testnet/00009.png new file mode 100644 index 00000000..fc2ea435 Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/SCO.04-Testnet/00009.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/SCO.04-Testnet/00010.png b/tests/snapshots/nanosp/test_transaction_manifest/SCO.04-Testnet/00010.png new file mode 100644 index 00000000..d1eb962c Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/SCO.04-Testnet/00010.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/SCO.04-Testnet/00011.png b/tests/snapshots/nanosp/test_transaction_manifest/SCO.04-Testnet/00011.png new file mode 100644 index 00000000..11ac632e Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/SCO.04-Testnet/00011.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/SCO.04-Testnet/00012.png b/tests/snapshots/nanosp/test_transaction_manifest/SCO.04-Testnet/00012.png new file mode 100644 index 00000000..62827380 Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/SCO.04-Testnet/00012.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/SCO.04-Testnet/00013.png b/tests/snapshots/nanosp/test_transaction_manifest/SCO.04-Testnet/00013.png new file mode 100644 index 00000000..70d85793 Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/SCO.04-Testnet/00013.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/SCO.04-Testnet/00014.png b/tests/snapshots/nanosp/test_transaction_manifest/SCO.04-Testnet/00014.png new file mode 100644 index 00000000..bff4ff72 Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/SCO.04-Testnet/00014.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/SCO.04-Testnet/00015.png b/tests/snapshots/nanosp/test_transaction_manifest/SCO.04-Testnet/00015.png new file mode 100644 index 00000000..c02f5ccb Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/SCO.04-Testnet/00015.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/SCO.04-Testnet/00016.png b/tests/snapshots/nanosp/test_transaction_manifest/SCO.04-Testnet/00016.png new file mode 100644 index 00000000..3df973c5 Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/SCO.04-Testnet/00016.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/SCO.04-Testnet/00017.png b/tests/snapshots/nanosp/test_transaction_manifest/SCO.04-Testnet/00017.png new file mode 100644 index 00000000..bcbf619c Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/SCO.04-Testnet/00017.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/SCO.04-Testnet/00018.png b/tests/snapshots/nanosp/test_transaction_manifest/SCO.04-Testnet/00018.png new file mode 100644 index 00000000..cc0bd7b2 Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/SCO.04-Testnet/00018.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/SCO.04-Testnet/00019.png b/tests/snapshots/nanosp/test_transaction_manifest/SCO.04-Testnet/00019.png new file mode 100644 index 00000000..1e4be699 Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/SCO.04-Testnet/00019.png differ diff --git a/tests/snapshots/nanosp/test_transaction_manifest/SCO.04-Testnet/00020.png b/tests/snapshots/nanosp/test_transaction_manifest/SCO.04-Testnet/00020.png new file mode 100644 index 00000000..e84e8dfd Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_manifest/SCO.04-Testnet/00020.png differ diff --git a/tests/snapshots/nanosp/test_transaction_params/part1/00001.png b/tests/snapshots/nanosp/test_transaction_params/part1/00001.png index 5b962ee9..a10bf897 100644 Binary files a/tests/snapshots/nanosp/test_transaction_params/part1/00001.png and b/tests/snapshots/nanosp/test_transaction_params/part1/00001.png differ diff --git a/tests/snapshots/nanosp/test_transaction_params/part1/00002.png b/tests/snapshots/nanosp/test_transaction_params/part1/00002.png index 9e5fbace..5481d5da 100644 Binary files a/tests/snapshots/nanosp/test_transaction_params/part1/00002.png and b/tests/snapshots/nanosp/test_transaction_params/part1/00002.png differ diff --git a/tests/snapshots/nanosp/test_transaction_params/part1/00003.png b/tests/snapshots/nanosp/test_transaction_params/part1/00003.png index 81263f9e..a8b43fa8 100644 Binary files a/tests/snapshots/nanosp/test_transaction_params/part1/00003.png and b/tests/snapshots/nanosp/test_transaction_params/part1/00003.png differ diff --git a/tests/snapshots/nanosp/test_transaction_params/part1/00004.png b/tests/snapshots/nanosp/test_transaction_params/part1/00004.png index 4b4eb598..05bc276e 100644 Binary files a/tests/snapshots/nanosp/test_transaction_params/part1/00004.png and b/tests/snapshots/nanosp/test_transaction_params/part1/00004.png differ diff --git a/tests/snapshots/nanosp/test_transaction_params/part1/00005.png b/tests/snapshots/nanosp/test_transaction_params/part1/00005.png index d1eb962c..1cdfef90 100644 Binary files a/tests/snapshots/nanosp/test_transaction_params/part1/00005.png and b/tests/snapshots/nanosp/test_transaction_params/part1/00005.png differ diff --git a/tests/snapshots/nanosp/test_transaction_params/part1/00006.png b/tests/snapshots/nanosp/test_transaction_params/part1/00006.png index 11ac632e..6b84117f 100644 Binary files a/tests/snapshots/nanosp/test_transaction_params/part1/00006.png and b/tests/snapshots/nanosp/test_transaction_params/part1/00006.png differ diff --git a/tests/snapshots/nanosp/test_transaction_params/part1/00007.png b/tests/snapshots/nanosp/test_transaction_params/part1/00007.png index 62827380..3903db85 100644 Binary files a/tests/snapshots/nanosp/test_transaction_params/part1/00007.png and b/tests/snapshots/nanosp/test_transaction_params/part1/00007.png differ diff --git a/tests/snapshots/nanosp/test_transaction_params/part1/00008.png b/tests/snapshots/nanosp/test_transaction_params/part1/00008.png index 68020b16..8065791c 100644 Binary files a/tests/snapshots/nanosp/test_transaction_params/part1/00008.png and b/tests/snapshots/nanosp/test_transaction_params/part1/00008.png differ diff --git a/tests/snapshots/nanosp/test_transaction_params/part1/00009.png b/tests/snapshots/nanosp/test_transaction_params/part1/00009.png index bff4ff72..d1eb962c 100644 Binary files a/tests/snapshots/nanosp/test_transaction_params/part1/00009.png and b/tests/snapshots/nanosp/test_transaction_params/part1/00009.png differ diff --git a/tests/snapshots/nanosp/test_transaction_params/part1/00010.png b/tests/snapshots/nanosp/test_transaction_params/part1/00010.png index c02f5ccb..11ac632e 100644 Binary files a/tests/snapshots/nanosp/test_transaction_params/part1/00010.png and b/tests/snapshots/nanosp/test_transaction_params/part1/00010.png differ diff --git a/tests/snapshots/nanosp/test_transaction_params/part1/00011.png b/tests/snapshots/nanosp/test_transaction_params/part1/00011.png index 42cf0b73..62827380 100644 Binary files a/tests/snapshots/nanosp/test_transaction_params/part1/00011.png and b/tests/snapshots/nanosp/test_transaction_params/part1/00011.png differ diff --git a/tests/snapshots/nanosp/test_transaction_params/part1/00012.png b/tests/snapshots/nanosp/test_transaction_params/part1/00012.png index 819d3159..3ad758de 100644 Binary files a/tests/snapshots/nanosp/test_transaction_params/part1/00012.png and b/tests/snapshots/nanosp/test_transaction_params/part1/00012.png differ diff --git a/tests/snapshots/nanosp/test_transaction_params/part1/00013.png b/tests/snapshots/nanosp/test_transaction_params/part1/00013.png index cc0bd7b2..bff4ff72 100644 Binary files a/tests/snapshots/nanosp/test_transaction_params/part1/00013.png and b/tests/snapshots/nanosp/test_transaction_params/part1/00013.png differ diff --git a/tests/snapshots/nanosp/test_transaction_params/part1/00014.png b/tests/snapshots/nanosp/test_transaction_params/part1/00014.png index 1e4be699..c02f5ccb 100644 Binary files a/tests/snapshots/nanosp/test_transaction_params/part1/00014.png and b/tests/snapshots/nanosp/test_transaction_params/part1/00014.png differ diff --git a/tests/snapshots/nanosp/test_transaction_params/part1/00015.png b/tests/snapshots/nanosp/test_transaction_params/part1/00015.png index e84e8dfd..510dbb77 100644 Binary files a/tests/snapshots/nanosp/test_transaction_params/part1/00015.png and b/tests/snapshots/nanosp/test_transaction_params/part1/00015.png differ diff --git a/tests/snapshots/nanosp/test_transaction_params/part1/00016.png b/tests/snapshots/nanosp/test_transaction_params/part1/00016.png new file mode 100644 index 00000000..8099d16e Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_params/part1/00016.png differ diff --git a/tests/snapshots/nanosp/test_transaction_params/part1/00017.png b/tests/snapshots/nanosp/test_transaction_params/part1/00017.png new file mode 100644 index 00000000..cc0bd7b2 Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_params/part1/00017.png differ diff --git a/tests/snapshots/nanosp/test_transaction_params/part1/00018.png b/tests/snapshots/nanosp/test_transaction_params/part1/00018.png new file mode 100644 index 00000000..1e4be699 Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_params/part1/00018.png differ diff --git a/tests/snapshots/nanosp/test_transaction_params/part1/00019.png b/tests/snapshots/nanosp/test_transaction_params/part1/00019.png new file mode 100644 index 00000000..e84e8dfd Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_params/part1/00019.png differ diff --git a/tests/snapshots/nanosp/test_transaction_params/part10/00001.png b/tests/snapshots/nanosp/test_transaction_params/part10/00001.png index 5f3d1a05..262b4b5e 100644 Binary files a/tests/snapshots/nanosp/test_transaction_params/part10/00001.png and b/tests/snapshots/nanosp/test_transaction_params/part10/00001.png differ diff --git a/tests/snapshots/nanosp/test_transaction_params/part10/00002.png b/tests/snapshots/nanosp/test_transaction_params/part10/00002.png index 9e5fbace..5481d5da 100644 Binary files a/tests/snapshots/nanosp/test_transaction_params/part10/00002.png and b/tests/snapshots/nanosp/test_transaction_params/part10/00002.png differ diff --git a/tests/snapshots/nanosp/test_transaction_params/part10/00003.png b/tests/snapshots/nanosp/test_transaction_params/part10/00003.png index 32e37fb8..de527bf7 100644 Binary files a/tests/snapshots/nanosp/test_transaction_params/part10/00003.png and b/tests/snapshots/nanosp/test_transaction_params/part10/00003.png differ diff --git a/tests/snapshots/nanosp/test_transaction_params/part10/00004.png b/tests/snapshots/nanosp/test_transaction_params/part10/00004.png index 560f9f00..d1eb962c 100644 Binary files a/tests/snapshots/nanosp/test_transaction_params/part10/00004.png and b/tests/snapshots/nanosp/test_transaction_params/part10/00004.png differ diff --git a/tests/snapshots/nanosp/test_transaction_params/part10/00005.png b/tests/snapshots/nanosp/test_transaction_params/part10/00005.png index bb4d12c7..11ac632e 100644 Binary files a/tests/snapshots/nanosp/test_transaction_params/part10/00005.png and b/tests/snapshots/nanosp/test_transaction_params/part10/00005.png differ diff --git a/tests/snapshots/nanosp/test_transaction_params/part10/00006.png b/tests/snapshots/nanosp/test_transaction_params/part10/00006.png index d1eb962c..62827380 100644 Binary files a/tests/snapshots/nanosp/test_transaction_params/part10/00006.png and b/tests/snapshots/nanosp/test_transaction_params/part10/00006.png differ diff --git a/tests/snapshots/nanosp/test_transaction_params/part10/00007.png b/tests/snapshots/nanosp/test_transaction_params/part10/00007.png index 11ac632e..3ad758de 100644 Binary files a/tests/snapshots/nanosp/test_transaction_params/part10/00007.png and b/tests/snapshots/nanosp/test_transaction_params/part10/00007.png differ diff --git a/tests/snapshots/nanosp/test_transaction_params/part10/00008.png b/tests/snapshots/nanosp/test_transaction_params/part10/00008.png index 62827380..bff4ff72 100644 Binary files a/tests/snapshots/nanosp/test_transaction_params/part10/00008.png and b/tests/snapshots/nanosp/test_transaction_params/part10/00008.png differ diff --git a/tests/snapshots/nanosp/test_transaction_params/part10/00009.png b/tests/snapshots/nanosp/test_transaction_params/part10/00009.png index 68020b16..c02f5ccb 100644 Binary files a/tests/snapshots/nanosp/test_transaction_params/part10/00009.png and b/tests/snapshots/nanosp/test_transaction_params/part10/00009.png differ diff --git a/tests/snapshots/nanosp/test_transaction_params/part10/00010.png b/tests/snapshots/nanosp/test_transaction_params/part10/00010.png index bff4ff72..510dbb77 100644 Binary files a/tests/snapshots/nanosp/test_transaction_params/part10/00010.png and b/tests/snapshots/nanosp/test_transaction_params/part10/00010.png differ diff --git a/tests/snapshots/nanosp/test_transaction_params/part10/00011.png b/tests/snapshots/nanosp/test_transaction_params/part10/00011.png index c02f5ccb..8099d16e 100644 Binary files a/tests/snapshots/nanosp/test_transaction_params/part10/00011.png and b/tests/snapshots/nanosp/test_transaction_params/part10/00011.png differ diff --git a/tests/snapshots/nanosp/test_transaction_params/part10/00012.png b/tests/snapshots/nanosp/test_transaction_params/part10/00012.png index 42cf0b73..cc0bd7b2 100644 Binary files a/tests/snapshots/nanosp/test_transaction_params/part10/00012.png and b/tests/snapshots/nanosp/test_transaction_params/part10/00012.png differ diff --git a/tests/snapshots/nanosp/test_transaction_params/part10/00013.png b/tests/snapshots/nanosp/test_transaction_params/part10/00013.png index 819d3159..1e4be699 100644 Binary files a/tests/snapshots/nanosp/test_transaction_params/part10/00013.png and b/tests/snapshots/nanosp/test_transaction_params/part10/00013.png differ diff --git a/tests/snapshots/nanosp/test_transaction_params/part10/00014.png b/tests/snapshots/nanosp/test_transaction_params/part10/00014.png index cc0bd7b2..e84e8dfd 100644 Binary files a/tests/snapshots/nanosp/test_transaction_params/part10/00014.png and b/tests/snapshots/nanosp/test_transaction_params/part10/00014.png differ diff --git a/tests/snapshots/nanosp/test_transaction_params/part11/00001.png b/tests/snapshots/nanosp/test_transaction_params/part11/00001.png index 5f3d1a05..262b4b5e 100644 Binary files a/tests/snapshots/nanosp/test_transaction_params/part11/00001.png and b/tests/snapshots/nanosp/test_transaction_params/part11/00001.png differ diff --git a/tests/snapshots/nanosp/test_transaction_params/part11/00002.png b/tests/snapshots/nanosp/test_transaction_params/part11/00002.png index 9e5fbace..5481d5da 100644 Binary files a/tests/snapshots/nanosp/test_transaction_params/part11/00002.png and b/tests/snapshots/nanosp/test_transaction_params/part11/00002.png differ diff --git a/tests/snapshots/nanosp/test_transaction_params/part11/00003.png b/tests/snapshots/nanosp/test_transaction_params/part11/00003.png index 32e37fb8..de527bf7 100644 Binary files a/tests/snapshots/nanosp/test_transaction_params/part11/00003.png and b/tests/snapshots/nanosp/test_transaction_params/part11/00003.png differ diff --git a/tests/snapshots/nanosp/test_transaction_params/part11/00004.png b/tests/snapshots/nanosp/test_transaction_params/part11/00004.png index 560f9f00..d1eb962c 100644 Binary files a/tests/snapshots/nanosp/test_transaction_params/part11/00004.png and b/tests/snapshots/nanosp/test_transaction_params/part11/00004.png differ diff --git a/tests/snapshots/nanosp/test_transaction_params/part11/00005.png b/tests/snapshots/nanosp/test_transaction_params/part11/00005.png index bb4d12c7..11ac632e 100644 Binary files a/tests/snapshots/nanosp/test_transaction_params/part11/00005.png and b/tests/snapshots/nanosp/test_transaction_params/part11/00005.png differ diff --git a/tests/snapshots/nanosp/test_transaction_params/part11/00006.png b/tests/snapshots/nanosp/test_transaction_params/part11/00006.png index d1eb962c..62827380 100644 Binary files a/tests/snapshots/nanosp/test_transaction_params/part11/00006.png and b/tests/snapshots/nanosp/test_transaction_params/part11/00006.png differ diff --git a/tests/snapshots/nanosp/test_transaction_params/part11/00007.png b/tests/snapshots/nanosp/test_transaction_params/part11/00007.png index 11ac632e..3ad758de 100644 Binary files a/tests/snapshots/nanosp/test_transaction_params/part11/00007.png and b/tests/snapshots/nanosp/test_transaction_params/part11/00007.png differ diff --git a/tests/snapshots/nanosp/test_transaction_params/part11/00008.png b/tests/snapshots/nanosp/test_transaction_params/part11/00008.png index 62827380..bff4ff72 100644 Binary files a/tests/snapshots/nanosp/test_transaction_params/part11/00008.png and b/tests/snapshots/nanosp/test_transaction_params/part11/00008.png differ diff --git a/tests/snapshots/nanosp/test_transaction_params/part11/00009.png b/tests/snapshots/nanosp/test_transaction_params/part11/00009.png index 68020b16..c02f5ccb 100644 Binary files a/tests/snapshots/nanosp/test_transaction_params/part11/00009.png and b/tests/snapshots/nanosp/test_transaction_params/part11/00009.png differ diff --git a/tests/snapshots/nanosp/test_transaction_params/part11/00010.png b/tests/snapshots/nanosp/test_transaction_params/part11/00010.png index bff4ff72..510dbb77 100644 Binary files a/tests/snapshots/nanosp/test_transaction_params/part11/00010.png and b/tests/snapshots/nanosp/test_transaction_params/part11/00010.png differ diff --git a/tests/snapshots/nanosp/test_transaction_params/part11/00011.png b/tests/snapshots/nanosp/test_transaction_params/part11/00011.png index c02f5ccb..8099d16e 100644 Binary files a/tests/snapshots/nanosp/test_transaction_params/part11/00011.png and b/tests/snapshots/nanosp/test_transaction_params/part11/00011.png differ diff --git a/tests/snapshots/nanosp/test_transaction_params/part11/00012.png b/tests/snapshots/nanosp/test_transaction_params/part11/00012.png index 42cf0b73..cc0bd7b2 100644 Binary files a/tests/snapshots/nanosp/test_transaction_params/part11/00012.png and b/tests/snapshots/nanosp/test_transaction_params/part11/00012.png differ diff --git a/tests/snapshots/nanosp/test_transaction_params/part11/00013.png b/tests/snapshots/nanosp/test_transaction_params/part11/00013.png index 819d3159..1e4be699 100644 Binary files a/tests/snapshots/nanosp/test_transaction_params/part11/00013.png and b/tests/snapshots/nanosp/test_transaction_params/part11/00013.png differ diff --git a/tests/snapshots/nanosp/test_transaction_params/part11/00014.png b/tests/snapshots/nanosp/test_transaction_params/part11/00014.png index cc0bd7b2..e84e8dfd 100644 Binary files a/tests/snapshots/nanosp/test_transaction_params/part11/00014.png and b/tests/snapshots/nanosp/test_transaction_params/part11/00014.png differ diff --git a/tests/snapshots/nanosp/test_transaction_params/part12/00001.png b/tests/snapshots/nanosp/test_transaction_params/part12/00001.png index 5f3d1a05..262b4b5e 100644 Binary files a/tests/snapshots/nanosp/test_transaction_params/part12/00001.png and b/tests/snapshots/nanosp/test_transaction_params/part12/00001.png differ diff --git a/tests/snapshots/nanosp/test_transaction_params/part12/00002.png b/tests/snapshots/nanosp/test_transaction_params/part12/00002.png index 9e5fbace..5481d5da 100644 Binary files a/tests/snapshots/nanosp/test_transaction_params/part12/00002.png and b/tests/snapshots/nanosp/test_transaction_params/part12/00002.png differ diff --git a/tests/snapshots/nanosp/test_transaction_params/part12/00003.png b/tests/snapshots/nanosp/test_transaction_params/part12/00003.png index 32e37fb8..de527bf7 100644 Binary files a/tests/snapshots/nanosp/test_transaction_params/part12/00003.png and b/tests/snapshots/nanosp/test_transaction_params/part12/00003.png differ diff --git a/tests/snapshots/nanosp/test_transaction_params/part12/00004.png b/tests/snapshots/nanosp/test_transaction_params/part12/00004.png index 560f9f00..d1eb962c 100644 Binary files a/tests/snapshots/nanosp/test_transaction_params/part12/00004.png and b/tests/snapshots/nanosp/test_transaction_params/part12/00004.png differ diff --git a/tests/snapshots/nanosp/test_transaction_params/part12/00005.png b/tests/snapshots/nanosp/test_transaction_params/part12/00005.png index bb4d12c7..11ac632e 100644 Binary files a/tests/snapshots/nanosp/test_transaction_params/part12/00005.png and b/tests/snapshots/nanosp/test_transaction_params/part12/00005.png differ diff --git a/tests/snapshots/nanosp/test_transaction_params/part12/00006.png b/tests/snapshots/nanosp/test_transaction_params/part12/00006.png index d1eb962c..62827380 100644 Binary files a/tests/snapshots/nanosp/test_transaction_params/part12/00006.png and b/tests/snapshots/nanosp/test_transaction_params/part12/00006.png differ diff --git a/tests/snapshots/nanosp/test_transaction_params/part12/00007.png b/tests/snapshots/nanosp/test_transaction_params/part12/00007.png index 11ac632e..3ad758de 100644 Binary files a/tests/snapshots/nanosp/test_transaction_params/part12/00007.png and b/tests/snapshots/nanosp/test_transaction_params/part12/00007.png differ diff --git a/tests/snapshots/nanosp/test_transaction_params/part12/00008.png b/tests/snapshots/nanosp/test_transaction_params/part12/00008.png index 62827380..bff4ff72 100644 Binary files a/tests/snapshots/nanosp/test_transaction_params/part12/00008.png and b/tests/snapshots/nanosp/test_transaction_params/part12/00008.png differ diff --git a/tests/snapshots/nanosp/test_transaction_params/part12/00009.png b/tests/snapshots/nanosp/test_transaction_params/part12/00009.png index 68020b16..c02f5ccb 100644 Binary files a/tests/snapshots/nanosp/test_transaction_params/part12/00009.png and b/tests/snapshots/nanosp/test_transaction_params/part12/00009.png differ diff --git a/tests/snapshots/nanosp/test_transaction_params/part12/00010.png b/tests/snapshots/nanosp/test_transaction_params/part12/00010.png index bff4ff72..510dbb77 100644 Binary files a/tests/snapshots/nanosp/test_transaction_params/part12/00010.png and b/tests/snapshots/nanosp/test_transaction_params/part12/00010.png differ diff --git a/tests/snapshots/nanosp/test_transaction_params/part12/00011.png b/tests/snapshots/nanosp/test_transaction_params/part12/00011.png index c02f5ccb..8099d16e 100644 Binary files a/tests/snapshots/nanosp/test_transaction_params/part12/00011.png and b/tests/snapshots/nanosp/test_transaction_params/part12/00011.png differ diff --git a/tests/snapshots/nanosp/test_transaction_params/part12/00012.png b/tests/snapshots/nanosp/test_transaction_params/part12/00012.png index 42cf0b73..cc0bd7b2 100644 Binary files a/tests/snapshots/nanosp/test_transaction_params/part12/00012.png and b/tests/snapshots/nanosp/test_transaction_params/part12/00012.png differ diff --git a/tests/snapshots/nanosp/test_transaction_params/part12/00013.png b/tests/snapshots/nanosp/test_transaction_params/part12/00013.png index 819d3159..1e4be699 100644 Binary files a/tests/snapshots/nanosp/test_transaction_params/part12/00013.png and b/tests/snapshots/nanosp/test_transaction_params/part12/00013.png differ diff --git a/tests/snapshots/nanosp/test_transaction_params/part12/00014.png b/tests/snapshots/nanosp/test_transaction_params/part12/00014.png index cc0bd7b2..e84e8dfd 100644 Binary files a/tests/snapshots/nanosp/test_transaction_params/part12/00014.png and b/tests/snapshots/nanosp/test_transaction_params/part12/00014.png differ diff --git a/tests/snapshots/nanosp/test_transaction_params/part2/00001.png b/tests/snapshots/nanosp/test_transaction_params/part2/00001.png index 5b962ee9..a10bf897 100644 Binary files a/tests/snapshots/nanosp/test_transaction_params/part2/00001.png and b/tests/snapshots/nanosp/test_transaction_params/part2/00001.png differ diff --git a/tests/snapshots/nanosp/test_transaction_params/part2/00002.png b/tests/snapshots/nanosp/test_transaction_params/part2/00002.png index 9e5fbace..5481d5da 100644 Binary files a/tests/snapshots/nanosp/test_transaction_params/part2/00002.png and b/tests/snapshots/nanosp/test_transaction_params/part2/00002.png differ diff --git a/tests/snapshots/nanosp/test_transaction_params/part2/00003.png b/tests/snapshots/nanosp/test_transaction_params/part2/00003.png index 81263f9e..a8b43fa8 100644 Binary files a/tests/snapshots/nanosp/test_transaction_params/part2/00003.png and b/tests/snapshots/nanosp/test_transaction_params/part2/00003.png differ diff --git a/tests/snapshots/nanosp/test_transaction_params/part2/00004.png b/tests/snapshots/nanosp/test_transaction_params/part2/00004.png index 4b4eb598..05bc276e 100644 Binary files a/tests/snapshots/nanosp/test_transaction_params/part2/00004.png and b/tests/snapshots/nanosp/test_transaction_params/part2/00004.png differ diff --git a/tests/snapshots/nanosp/test_transaction_params/part2/00005.png b/tests/snapshots/nanosp/test_transaction_params/part2/00005.png index d1eb962c..1cdfef90 100644 Binary files a/tests/snapshots/nanosp/test_transaction_params/part2/00005.png and b/tests/snapshots/nanosp/test_transaction_params/part2/00005.png differ diff --git a/tests/snapshots/nanosp/test_transaction_params/part2/00006.png b/tests/snapshots/nanosp/test_transaction_params/part2/00006.png index 11ac632e..6b84117f 100644 Binary files a/tests/snapshots/nanosp/test_transaction_params/part2/00006.png and b/tests/snapshots/nanosp/test_transaction_params/part2/00006.png differ diff --git a/tests/snapshots/nanosp/test_transaction_params/part2/00007.png b/tests/snapshots/nanosp/test_transaction_params/part2/00007.png index 62827380..3903db85 100644 Binary files a/tests/snapshots/nanosp/test_transaction_params/part2/00007.png and b/tests/snapshots/nanosp/test_transaction_params/part2/00007.png differ diff --git a/tests/snapshots/nanosp/test_transaction_params/part2/00008.png b/tests/snapshots/nanosp/test_transaction_params/part2/00008.png index 68020b16..8065791c 100644 Binary files a/tests/snapshots/nanosp/test_transaction_params/part2/00008.png and b/tests/snapshots/nanosp/test_transaction_params/part2/00008.png differ diff --git a/tests/snapshots/nanosp/test_transaction_params/part2/00009.png b/tests/snapshots/nanosp/test_transaction_params/part2/00009.png index bff4ff72..d1eb962c 100644 Binary files a/tests/snapshots/nanosp/test_transaction_params/part2/00009.png and b/tests/snapshots/nanosp/test_transaction_params/part2/00009.png differ diff --git a/tests/snapshots/nanosp/test_transaction_params/part2/00010.png b/tests/snapshots/nanosp/test_transaction_params/part2/00010.png index c02f5ccb..11ac632e 100644 Binary files a/tests/snapshots/nanosp/test_transaction_params/part2/00010.png and b/tests/snapshots/nanosp/test_transaction_params/part2/00010.png differ diff --git a/tests/snapshots/nanosp/test_transaction_params/part2/00011.png b/tests/snapshots/nanosp/test_transaction_params/part2/00011.png index 42cf0b73..62827380 100644 Binary files a/tests/snapshots/nanosp/test_transaction_params/part2/00011.png and b/tests/snapshots/nanosp/test_transaction_params/part2/00011.png differ diff --git a/tests/snapshots/nanosp/test_transaction_params/part2/00012.png b/tests/snapshots/nanosp/test_transaction_params/part2/00012.png index 819d3159..3ad758de 100644 Binary files a/tests/snapshots/nanosp/test_transaction_params/part2/00012.png and b/tests/snapshots/nanosp/test_transaction_params/part2/00012.png differ diff --git a/tests/snapshots/nanosp/test_transaction_params/part2/00013.png b/tests/snapshots/nanosp/test_transaction_params/part2/00013.png index cc0bd7b2..bff4ff72 100644 Binary files a/tests/snapshots/nanosp/test_transaction_params/part2/00013.png and b/tests/snapshots/nanosp/test_transaction_params/part2/00013.png differ diff --git a/tests/snapshots/nanosp/test_transaction_params/part2/00014.png b/tests/snapshots/nanosp/test_transaction_params/part2/00014.png index 1e4be699..c02f5ccb 100644 Binary files a/tests/snapshots/nanosp/test_transaction_params/part2/00014.png and b/tests/snapshots/nanosp/test_transaction_params/part2/00014.png differ diff --git a/tests/snapshots/nanosp/test_transaction_params/part2/00015.png b/tests/snapshots/nanosp/test_transaction_params/part2/00015.png index e84e8dfd..510dbb77 100644 Binary files a/tests/snapshots/nanosp/test_transaction_params/part2/00015.png and b/tests/snapshots/nanosp/test_transaction_params/part2/00015.png differ diff --git a/tests/snapshots/nanosp/test_transaction_params/part2/00016.png b/tests/snapshots/nanosp/test_transaction_params/part2/00016.png new file mode 100644 index 00000000..8099d16e Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_params/part2/00016.png differ diff --git a/tests/snapshots/nanosp/test_transaction_params/part2/00017.png b/tests/snapshots/nanosp/test_transaction_params/part2/00017.png new file mode 100644 index 00000000..cc0bd7b2 Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_params/part2/00017.png differ diff --git a/tests/snapshots/nanosp/test_transaction_params/part2/00018.png b/tests/snapshots/nanosp/test_transaction_params/part2/00018.png new file mode 100644 index 00000000..1e4be699 Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_params/part2/00018.png differ diff --git a/tests/snapshots/nanosp/test_transaction_params/part2/00019.png b/tests/snapshots/nanosp/test_transaction_params/part2/00019.png new file mode 100644 index 00000000..e84e8dfd Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_params/part2/00019.png differ diff --git a/tests/snapshots/nanosp/test_transaction_params/part3/00001.png b/tests/snapshots/nanosp/test_transaction_params/part3/00001.png index 5b962ee9..a10bf897 100644 Binary files a/tests/snapshots/nanosp/test_transaction_params/part3/00001.png and b/tests/snapshots/nanosp/test_transaction_params/part3/00001.png differ diff --git a/tests/snapshots/nanosp/test_transaction_params/part3/00002.png b/tests/snapshots/nanosp/test_transaction_params/part3/00002.png index 9e5fbace..5481d5da 100644 Binary files a/tests/snapshots/nanosp/test_transaction_params/part3/00002.png and b/tests/snapshots/nanosp/test_transaction_params/part3/00002.png differ diff --git a/tests/snapshots/nanosp/test_transaction_params/part3/00003.png b/tests/snapshots/nanosp/test_transaction_params/part3/00003.png index 81263f9e..a8b43fa8 100644 Binary files a/tests/snapshots/nanosp/test_transaction_params/part3/00003.png and b/tests/snapshots/nanosp/test_transaction_params/part3/00003.png differ diff --git a/tests/snapshots/nanosp/test_transaction_params/part3/00004.png b/tests/snapshots/nanosp/test_transaction_params/part3/00004.png index 4b4eb598..05bc276e 100644 Binary files a/tests/snapshots/nanosp/test_transaction_params/part3/00004.png and b/tests/snapshots/nanosp/test_transaction_params/part3/00004.png differ diff --git a/tests/snapshots/nanosp/test_transaction_params/part3/00005.png b/tests/snapshots/nanosp/test_transaction_params/part3/00005.png index d1eb962c..1cdfef90 100644 Binary files a/tests/snapshots/nanosp/test_transaction_params/part3/00005.png and b/tests/snapshots/nanosp/test_transaction_params/part3/00005.png differ diff --git a/tests/snapshots/nanosp/test_transaction_params/part3/00006.png b/tests/snapshots/nanosp/test_transaction_params/part3/00006.png index 11ac632e..6b84117f 100644 Binary files a/tests/snapshots/nanosp/test_transaction_params/part3/00006.png and b/tests/snapshots/nanosp/test_transaction_params/part3/00006.png differ diff --git a/tests/snapshots/nanosp/test_transaction_params/part3/00007.png b/tests/snapshots/nanosp/test_transaction_params/part3/00007.png index 62827380..3903db85 100644 Binary files a/tests/snapshots/nanosp/test_transaction_params/part3/00007.png and b/tests/snapshots/nanosp/test_transaction_params/part3/00007.png differ diff --git a/tests/snapshots/nanosp/test_transaction_params/part3/00008.png b/tests/snapshots/nanosp/test_transaction_params/part3/00008.png index 68020b16..8065791c 100644 Binary files a/tests/snapshots/nanosp/test_transaction_params/part3/00008.png and b/tests/snapshots/nanosp/test_transaction_params/part3/00008.png differ diff --git a/tests/snapshots/nanosp/test_transaction_params/part3/00009.png b/tests/snapshots/nanosp/test_transaction_params/part3/00009.png index bff4ff72..d1eb962c 100644 Binary files a/tests/snapshots/nanosp/test_transaction_params/part3/00009.png and b/tests/snapshots/nanosp/test_transaction_params/part3/00009.png differ diff --git a/tests/snapshots/nanosp/test_transaction_params/part3/00010.png b/tests/snapshots/nanosp/test_transaction_params/part3/00010.png index c02f5ccb..11ac632e 100644 Binary files a/tests/snapshots/nanosp/test_transaction_params/part3/00010.png and b/tests/snapshots/nanosp/test_transaction_params/part3/00010.png differ diff --git a/tests/snapshots/nanosp/test_transaction_params/part3/00011.png b/tests/snapshots/nanosp/test_transaction_params/part3/00011.png index 42cf0b73..62827380 100644 Binary files a/tests/snapshots/nanosp/test_transaction_params/part3/00011.png and b/tests/snapshots/nanosp/test_transaction_params/part3/00011.png differ diff --git a/tests/snapshots/nanosp/test_transaction_params/part3/00012.png b/tests/snapshots/nanosp/test_transaction_params/part3/00012.png index 819d3159..3ad758de 100644 Binary files a/tests/snapshots/nanosp/test_transaction_params/part3/00012.png and b/tests/snapshots/nanosp/test_transaction_params/part3/00012.png differ diff --git a/tests/snapshots/nanosp/test_transaction_params/part3/00013.png b/tests/snapshots/nanosp/test_transaction_params/part3/00013.png index cc0bd7b2..bff4ff72 100644 Binary files a/tests/snapshots/nanosp/test_transaction_params/part3/00013.png and b/tests/snapshots/nanosp/test_transaction_params/part3/00013.png differ diff --git a/tests/snapshots/nanosp/test_transaction_params/part3/00014.png b/tests/snapshots/nanosp/test_transaction_params/part3/00014.png index 1e4be699..c02f5ccb 100644 Binary files a/tests/snapshots/nanosp/test_transaction_params/part3/00014.png and b/tests/snapshots/nanosp/test_transaction_params/part3/00014.png differ diff --git a/tests/snapshots/nanosp/test_transaction_params/part3/00015.png b/tests/snapshots/nanosp/test_transaction_params/part3/00015.png index e84e8dfd..510dbb77 100644 Binary files a/tests/snapshots/nanosp/test_transaction_params/part3/00015.png and b/tests/snapshots/nanosp/test_transaction_params/part3/00015.png differ diff --git a/tests/snapshots/nanosp/test_transaction_params/part3/00016.png b/tests/snapshots/nanosp/test_transaction_params/part3/00016.png new file mode 100644 index 00000000..8099d16e Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_params/part3/00016.png differ diff --git a/tests/snapshots/nanosp/test_transaction_params/part3/00017.png b/tests/snapshots/nanosp/test_transaction_params/part3/00017.png new file mode 100644 index 00000000..cc0bd7b2 Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_params/part3/00017.png differ diff --git a/tests/snapshots/nanosp/test_transaction_params/part3/00018.png b/tests/snapshots/nanosp/test_transaction_params/part3/00018.png new file mode 100644 index 00000000..1e4be699 Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_params/part3/00018.png differ diff --git a/tests/snapshots/nanosp/test_transaction_params/part3/00019.png b/tests/snapshots/nanosp/test_transaction_params/part3/00019.png new file mode 100644 index 00000000..e84e8dfd Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_params/part3/00019.png differ diff --git a/tests/snapshots/nanosp/test_transaction_params/part4/00001.png b/tests/snapshots/nanosp/test_transaction_params/part4/00001.png index 5b962ee9..a10bf897 100644 Binary files a/tests/snapshots/nanosp/test_transaction_params/part4/00001.png and b/tests/snapshots/nanosp/test_transaction_params/part4/00001.png differ diff --git a/tests/snapshots/nanosp/test_transaction_params/part4/00002.png b/tests/snapshots/nanosp/test_transaction_params/part4/00002.png index 9e5fbace..5481d5da 100644 Binary files a/tests/snapshots/nanosp/test_transaction_params/part4/00002.png and b/tests/snapshots/nanosp/test_transaction_params/part4/00002.png differ diff --git a/tests/snapshots/nanosp/test_transaction_params/part4/00003.png b/tests/snapshots/nanosp/test_transaction_params/part4/00003.png index 81263f9e..a8b43fa8 100644 Binary files a/tests/snapshots/nanosp/test_transaction_params/part4/00003.png and b/tests/snapshots/nanosp/test_transaction_params/part4/00003.png differ diff --git a/tests/snapshots/nanosp/test_transaction_params/part4/00004.png b/tests/snapshots/nanosp/test_transaction_params/part4/00004.png index 4b4eb598..05bc276e 100644 Binary files a/tests/snapshots/nanosp/test_transaction_params/part4/00004.png and b/tests/snapshots/nanosp/test_transaction_params/part4/00004.png differ diff --git a/tests/snapshots/nanosp/test_transaction_params/part4/00005.png b/tests/snapshots/nanosp/test_transaction_params/part4/00005.png index d1eb962c..1cdfef90 100644 Binary files a/tests/snapshots/nanosp/test_transaction_params/part4/00005.png and b/tests/snapshots/nanosp/test_transaction_params/part4/00005.png differ diff --git a/tests/snapshots/nanosp/test_transaction_params/part4/00006.png b/tests/snapshots/nanosp/test_transaction_params/part4/00006.png index 11ac632e..6b84117f 100644 Binary files a/tests/snapshots/nanosp/test_transaction_params/part4/00006.png and b/tests/snapshots/nanosp/test_transaction_params/part4/00006.png differ diff --git a/tests/snapshots/nanosp/test_transaction_params/part4/00007.png b/tests/snapshots/nanosp/test_transaction_params/part4/00007.png index 62827380..3903db85 100644 Binary files a/tests/snapshots/nanosp/test_transaction_params/part4/00007.png and b/tests/snapshots/nanosp/test_transaction_params/part4/00007.png differ diff --git a/tests/snapshots/nanosp/test_transaction_params/part4/00008.png b/tests/snapshots/nanosp/test_transaction_params/part4/00008.png index 68020b16..8065791c 100644 Binary files a/tests/snapshots/nanosp/test_transaction_params/part4/00008.png and b/tests/snapshots/nanosp/test_transaction_params/part4/00008.png differ diff --git a/tests/snapshots/nanosp/test_transaction_params/part4/00009.png b/tests/snapshots/nanosp/test_transaction_params/part4/00009.png index bff4ff72..d1eb962c 100644 Binary files a/tests/snapshots/nanosp/test_transaction_params/part4/00009.png and b/tests/snapshots/nanosp/test_transaction_params/part4/00009.png differ diff --git a/tests/snapshots/nanosp/test_transaction_params/part4/00010.png b/tests/snapshots/nanosp/test_transaction_params/part4/00010.png index c02f5ccb..11ac632e 100644 Binary files a/tests/snapshots/nanosp/test_transaction_params/part4/00010.png and b/tests/snapshots/nanosp/test_transaction_params/part4/00010.png differ diff --git a/tests/snapshots/nanosp/test_transaction_params/part4/00011.png b/tests/snapshots/nanosp/test_transaction_params/part4/00011.png index 42cf0b73..62827380 100644 Binary files a/tests/snapshots/nanosp/test_transaction_params/part4/00011.png and b/tests/snapshots/nanosp/test_transaction_params/part4/00011.png differ diff --git a/tests/snapshots/nanosp/test_transaction_params/part4/00012.png b/tests/snapshots/nanosp/test_transaction_params/part4/00012.png index 819d3159..3ad758de 100644 Binary files a/tests/snapshots/nanosp/test_transaction_params/part4/00012.png and b/tests/snapshots/nanosp/test_transaction_params/part4/00012.png differ diff --git a/tests/snapshots/nanosp/test_transaction_params/part4/00013.png b/tests/snapshots/nanosp/test_transaction_params/part4/00013.png index cc0bd7b2..bff4ff72 100644 Binary files a/tests/snapshots/nanosp/test_transaction_params/part4/00013.png and b/tests/snapshots/nanosp/test_transaction_params/part4/00013.png differ diff --git a/tests/snapshots/nanosp/test_transaction_params/part4/00014.png b/tests/snapshots/nanosp/test_transaction_params/part4/00014.png index 1e4be699..c02f5ccb 100644 Binary files a/tests/snapshots/nanosp/test_transaction_params/part4/00014.png and b/tests/snapshots/nanosp/test_transaction_params/part4/00014.png differ diff --git a/tests/snapshots/nanosp/test_transaction_params/part4/00015.png b/tests/snapshots/nanosp/test_transaction_params/part4/00015.png index e84e8dfd..510dbb77 100644 Binary files a/tests/snapshots/nanosp/test_transaction_params/part4/00015.png and b/tests/snapshots/nanosp/test_transaction_params/part4/00015.png differ diff --git a/tests/snapshots/nanosp/test_transaction_params/part4/00016.png b/tests/snapshots/nanosp/test_transaction_params/part4/00016.png new file mode 100644 index 00000000..8099d16e Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_params/part4/00016.png differ diff --git a/tests/snapshots/nanosp/test_transaction_params/part4/00017.png b/tests/snapshots/nanosp/test_transaction_params/part4/00017.png new file mode 100644 index 00000000..cc0bd7b2 Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_params/part4/00017.png differ diff --git a/tests/snapshots/nanosp/test_transaction_params/part4/00018.png b/tests/snapshots/nanosp/test_transaction_params/part4/00018.png new file mode 100644 index 00000000..1e4be699 Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_params/part4/00018.png differ diff --git a/tests/snapshots/nanosp/test_transaction_params/part4/00019.png b/tests/snapshots/nanosp/test_transaction_params/part4/00019.png new file mode 100644 index 00000000..e84e8dfd Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_params/part4/00019.png differ diff --git a/tests/snapshots/nanosp/test_transaction_params/part5/00001.png b/tests/snapshots/nanosp/test_transaction_params/part5/00001.png index a10bf897..3d59a433 100644 Binary files a/tests/snapshots/nanosp/test_transaction_params/part5/00001.png and b/tests/snapshots/nanosp/test_transaction_params/part5/00001.png differ diff --git a/tests/snapshots/nanosp/test_transaction_params/part5/00002.png b/tests/snapshots/nanosp/test_transaction_params/part5/00002.png index 9e5fbace..5481d5da 100644 Binary files a/tests/snapshots/nanosp/test_transaction_params/part5/00002.png and b/tests/snapshots/nanosp/test_transaction_params/part5/00002.png differ diff --git a/tests/snapshots/nanosp/test_transaction_params/part5/00003.png b/tests/snapshots/nanosp/test_transaction_params/part5/00003.png index 70461f08..a8b43fa8 100644 Binary files a/tests/snapshots/nanosp/test_transaction_params/part5/00003.png and b/tests/snapshots/nanosp/test_transaction_params/part5/00003.png differ diff --git a/tests/snapshots/nanosp/test_transaction_params/part5/00004.png b/tests/snapshots/nanosp/test_transaction_params/part5/00004.png index 7eb20372..05bc276e 100644 Binary files a/tests/snapshots/nanosp/test_transaction_params/part5/00004.png and b/tests/snapshots/nanosp/test_transaction_params/part5/00004.png differ diff --git a/tests/snapshots/nanosp/test_transaction_params/part5/00005.png b/tests/snapshots/nanosp/test_transaction_params/part5/00005.png index 1c035abd..1cdfef90 100644 Binary files a/tests/snapshots/nanosp/test_transaction_params/part5/00005.png and b/tests/snapshots/nanosp/test_transaction_params/part5/00005.png differ diff --git a/tests/snapshots/nanosp/test_transaction_params/part5/00006.png b/tests/snapshots/nanosp/test_transaction_params/part5/00006.png index c149ed62..6b84117f 100644 Binary files a/tests/snapshots/nanosp/test_transaction_params/part5/00006.png and b/tests/snapshots/nanosp/test_transaction_params/part5/00006.png differ diff --git a/tests/snapshots/nanosp/test_transaction_params/part5/00007.png b/tests/snapshots/nanosp/test_transaction_params/part5/00007.png index 56fb6671..3903db85 100644 Binary files a/tests/snapshots/nanosp/test_transaction_params/part5/00007.png and b/tests/snapshots/nanosp/test_transaction_params/part5/00007.png differ diff --git a/tests/snapshots/nanosp/test_transaction_params/part5/00008.png b/tests/snapshots/nanosp/test_transaction_params/part5/00008.png index c7682075..8065791c 100644 Binary files a/tests/snapshots/nanosp/test_transaction_params/part5/00008.png and b/tests/snapshots/nanosp/test_transaction_params/part5/00008.png differ diff --git a/tests/snapshots/nanosp/test_transaction_params/part5/00012.png b/tests/snapshots/nanosp/test_transaction_params/part5/00012.png index 68020b16..3ad758de 100644 Binary files a/tests/snapshots/nanosp/test_transaction_params/part5/00012.png and b/tests/snapshots/nanosp/test_transaction_params/part5/00012.png differ diff --git a/tests/snapshots/nanosp/test_transaction_params/part5/00015.png b/tests/snapshots/nanosp/test_transaction_params/part5/00015.png index 42cf0b73..510dbb77 100644 Binary files a/tests/snapshots/nanosp/test_transaction_params/part5/00015.png and b/tests/snapshots/nanosp/test_transaction_params/part5/00015.png differ diff --git a/tests/snapshots/nanosp/test_transaction_params/part5/00016.png b/tests/snapshots/nanosp/test_transaction_params/part5/00016.png index 819d3159..8099d16e 100644 Binary files a/tests/snapshots/nanosp/test_transaction_params/part5/00016.png and b/tests/snapshots/nanosp/test_transaction_params/part5/00016.png differ diff --git a/tests/snapshots/nanosp/test_transaction_params/part6/00001.png b/tests/snapshots/nanosp/test_transaction_params/part6/00001.png index a10bf897..3d59a433 100644 Binary files a/tests/snapshots/nanosp/test_transaction_params/part6/00001.png and b/tests/snapshots/nanosp/test_transaction_params/part6/00001.png differ diff --git a/tests/snapshots/nanosp/test_transaction_params/part6/00002.png b/tests/snapshots/nanosp/test_transaction_params/part6/00002.png index 9e5fbace..5481d5da 100644 Binary files a/tests/snapshots/nanosp/test_transaction_params/part6/00002.png and b/tests/snapshots/nanosp/test_transaction_params/part6/00002.png differ diff --git a/tests/snapshots/nanosp/test_transaction_params/part6/00003.png b/tests/snapshots/nanosp/test_transaction_params/part6/00003.png index 70461f08..a8b43fa8 100644 Binary files a/tests/snapshots/nanosp/test_transaction_params/part6/00003.png and b/tests/snapshots/nanosp/test_transaction_params/part6/00003.png differ diff --git a/tests/snapshots/nanosp/test_transaction_params/part6/00004.png b/tests/snapshots/nanosp/test_transaction_params/part6/00004.png index 7eb20372..05bc276e 100644 Binary files a/tests/snapshots/nanosp/test_transaction_params/part6/00004.png and b/tests/snapshots/nanosp/test_transaction_params/part6/00004.png differ diff --git a/tests/snapshots/nanosp/test_transaction_params/part6/00005.png b/tests/snapshots/nanosp/test_transaction_params/part6/00005.png index 1c035abd..1cdfef90 100644 Binary files a/tests/snapshots/nanosp/test_transaction_params/part6/00005.png and b/tests/snapshots/nanosp/test_transaction_params/part6/00005.png differ diff --git a/tests/snapshots/nanosp/test_transaction_params/part6/00006.png b/tests/snapshots/nanosp/test_transaction_params/part6/00006.png index c149ed62..6b84117f 100644 Binary files a/tests/snapshots/nanosp/test_transaction_params/part6/00006.png and b/tests/snapshots/nanosp/test_transaction_params/part6/00006.png differ diff --git a/tests/snapshots/nanosp/test_transaction_params/part6/00007.png b/tests/snapshots/nanosp/test_transaction_params/part6/00007.png index 56fb6671..3903db85 100644 Binary files a/tests/snapshots/nanosp/test_transaction_params/part6/00007.png and b/tests/snapshots/nanosp/test_transaction_params/part6/00007.png differ diff --git a/tests/snapshots/nanosp/test_transaction_params/part6/00008.png b/tests/snapshots/nanosp/test_transaction_params/part6/00008.png index c7682075..8065791c 100644 Binary files a/tests/snapshots/nanosp/test_transaction_params/part6/00008.png and b/tests/snapshots/nanosp/test_transaction_params/part6/00008.png differ diff --git a/tests/snapshots/nanosp/test_transaction_params/part6/00012.png b/tests/snapshots/nanosp/test_transaction_params/part6/00012.png index 68020b16..3ad758de 100644 Binary files a/tests/snapshots/nanosp/test_transaction_params/part6/00012.png and b/tests/snapshots/nanosp/test_transaction_params/part6/00012.png differ diff --git a/tests/snapshots/nanosp/test_transaction_params/part6/00015.png b/tests/snapshots/nanosp/test_transaction_params/part6/00015.png index 42cf0b73..510dbb77 100644 Binary files a/tests/snapshots/nanosp/test_transaction_params/part6/00015.png and b/tests/snapshots/nanosp/test_transaction_params/part6/00015.png differ diff --git a/tests/snapshots/nanosp/test_transaction_params/part6/00016.png b/tests/snapshots/nanosp/test_transaction_params/part6/00016.png index 819d3159..8099d16e 100644 Binary files a/tests/snapshots/nanosp/test_transaction_params/part6/00016.png and b/tests/snapshots/nanosp/test_transaction_params/part6/00016.png differ diff --git a/tests/snapshots/nanosp/test_transaction_params/part7/00001.png b/tests/snapshots/nanosp/test_transaction_params/part7/00001.png index a10bf897..3d59a433 100644 Binary files a/tests/snapshots/nanosp/test_transaction_params/part7/00001.png and b/tests/snapshots/nanosp/test_transaction_params/part7/00001.png differ diff --git a/tests/snapshots/nanosp/test_transaction_params/part7/00002.png b/tests/snapshots/nanosp/test_transaction_params/part7/00002.png index 9e5fbace..5481d5da 100644 Binary files a/tests/snapshots/nanosp/test_transaction_params/part7/00002.png and b/tests/snapshots/nanosp/test_transaction_params/part7/00002.png differ diff --git a/tests/snapshots/nanosp/test_transaction_params/part7/00003.png b/tests/snapshots/nanosp/test_transaction_params/part7/00003.png index 70461f08..a8b43fa8 100644 Binary files a/tests/snapshots/nanosp/test_transaction_params/part7/00003.png and b/tests/snapshots/nanosp/test_transaction_params/part7/00003.png differ diff --git a/tests/snapshots/nanosp/test_transaction_params/part7/00004.png b/tests/snapshots/nanosp/test_transaction_params/part7/00004.png index 7eb20372..05bc276e 100644 Binary files a/tests/snapshots/nanosp/test_transaction_params/part7/00004.png and b/tests/snapshots/nanosp/test_transaction_params/part7/00004.png differ diff --git a/tests/snapshots/nanosp/test_transaction_params/part7/00005.png b/tests/snapshots/nanosp/test_transaction_params/part7/00005.png index 1c035abd..1cdfef90 100644 Binary files a/tests/snapshots/nanosp/test_transaction_params/part7/00005.png and b/tests/snapshots/nanosp/test_transaction_params/part7/00005.png differ diff --git a/tests/snapshots/nanosp/test_transaction_params/part7/00006.png b/tests/snapshots/nanosp/test_transaction_params/part7/00006.png index c149ed62..6b84117f 100644 Binary files a/tests/snapshots/nanosp/test_transaction_params/part7/00006.png and b/tests/snapshots/nanosp/test_transaction_params/part7/00006.png differ diff --git a/tests/snapshots/nanosp/test_transaction_params/part7/00007.png b/tests/snapshots/nanosp/test_transaction_params/part7/00007.png index 56fb6671..3903db85 100644 Binary files a/tests/snapshots/nanosp/test_transaction_params/part7/00007.png and b/tests/snapshots/nanosp/test_transaction_params/part7/00007.png differ diff --git a/tests/snapshots/nanosp/test_transaction_params/part7/00008.png b/tests/snapshots/nanosp/test_transaction_params/part7/00008.png index c7682075..8065791c 100644 Binary files a/tests/snapshots/nanosp/test_transaction_params/part7/00008.png and b/tests/snapshots/nanosp/test_transaction_params/part7/00008.png differ diff --git a/tests/snapshots/nanosp/test_transaction_params/part7/00012.png b/tests/snapshots/nanosp/test_transaction_params/part7/00012.png index 68020b16..3ad758de 100644 Binary files a/tests/snapshots/nanosp/test_transaction_params/part7/00012.png and b/tests/snapshots/nanosp/test_transaction_params/part7/00012.png differ diff --git a/tests/snapshots/nanosp/test_transaction_params/part7/00015.png b/tests/snapshots/nanosp/test_transaction_params/part7/00015.png index 42cf0b73..510dbb77 100644 Binary files a/tests/snapshots/nanosp/test_transaction_params/part7/00015.png and b/tests/snapshots/nanosp/test_transaction_params/part7/00015.png differ diff --git a/tests/snapshots/nanosp/test_transaction_params/part7/00016.png b/tests/snapshots/nanosp/test_transaction_params/part7/00016.png index 819d3159..8099d16e 100644 Binary files a/tests/snapshots/nanosp/test_transaction_params/part7/00016.png and b/tests/snapshots/nanosp/test_transaction_params/part7/00016.png differ diff --git a/tests/snapshots/nanosp/test_transaction_params/part8/00001.png b/tests/snapshots/nanosp/test_transaction_params/part8/00001.png index a10bf897..3d59a433 100644 Binary files a/tests/snapshots/nanosp/test_transaction_params/part8/00001.png and b/tests/snapshots/nanosp/test_transaction_params/part8/00001.png differ diff --git a/tests/snapshots/nanosp/test_transaction_params/part8/00002.png b/tests/snapshots/nanosp/test_transaction_params/part8/00002.png index 9e5fbace..5481d5da 100644 Binary files a/tests/snapshots/nanosp/test_transaction_params/part8/00002.png and b/tests/snapshots/nanosp/test_transaction_params/part8/00002.png differ diff --git a/tests/snapshots/nanosp/test_transaction_params/part8/00003.png b/tests/snapshots/nanosp/test_transaction_params/part8/00003.png index 70461f08..a8b43fa8 100644 Binary files a/tests/snapshots/nanosp/test_transaction_params/part8/00003.png and b/tests/snapshots/nanosp/test_transaction_params/part8/00003.png differ diff --git a/tests/snapshots/nanosp/test_transaction_params/part8/00004.png b/tests/snapshots/nanosp/test_transaction_params/part8/00004.png index 7eb20372..05bc276e 100644 Binary files a/tests/snapshots/nanosp/test_transaction_params/part8/00004.png and b/tests/snapshots/nanosp/test_transaction_params/part8/00004.png differ diff --git a/tests/snapshots/nanosp/test_transaction_params/part8/00005.png b/tests/snapshots/nanosp/test_transaction_params/part8/00005.png index 1c035abd..1cdfef90 100644 Binary files a/tests/snapshots/nanosp/test_transaction_params/part8/00005.png and b/tests/snapshots/nanosp/test_transaction_params/part8/00005.png differ diff --git a/tests/snapshots/nanosp/test_transaction_params/part8/00006.png b/tests/snapshots/nanosp/test_transaction_params/part8/00006.png index c149ed62..6b84117f 100644 Binary files a/tests/snapshots/nanosp/test_transaction_params/part8/00006.png and b/tests/snapshots/nanosp/test_transaction_params/part8/00006.png differ diff --git a/tests/snapshots/nanosp/test_transaction_params/part8/00007.png b/tests/snapshots/nanosp/test_transaction_params/part8/00007.png index 56fb6671..3903db85 100644 Binary files a/tests/snapshots/nanosp/test_transaction_params/part8/00007.png and b/tests/snapshots/nanosp/test_transaction_params/part8/00007.png differ diff --git a/tests/snapshots/nanosp/test_transaction_params/part8/00008.png b/tests/snapshots/nanosp/test_transaction_params/part8/00008.png index c7682075..8065791c 100644 Binary files a/tests/snapshots/nanosp/test_transaction_params/part8/00008.png and b/tests/snapshots/nanosp/test_transaction_params/part8/00008.png differ diff --git a/tests/snapshots/nanosp/test_transaction_params/part8/00012.png b/tests/snapshots/nanosp/test_transaction_params/part8/00012.png index 68020b16..3ad758de 100644 Binary files a/tests/snapshots/nanosp/test_transaction_params/part8/00012.png and b/tests/snapshots/nanosp/test_transaction_params/part8/00012.png differ diff --git a/tests/snapshots/nanosp/test_transaction_params/part8/00015.png b/tests/snapshots/nanosp/test_transaction_params/part8/00015.png index 42cf0b73..510dbb77 100644 Binary files a/tests/snapshots/nanosp/test_transaction_params/part8/00015.png and b/tests/snapshots/nanosp/test_transaction_params/part8/00015.png differ diff --git a/tests/snapshots/nanosp/test_transaction_params/part8/00016.png b/tests/snapshots/nanosp/test_transaction_params/part8/00016.png index 819d3159..8099d16e 100644 Binary files a/tests/snapshots/nanosp/test_transaction_params/part8/00016.png and b/tests/snapshots/nanosp/test_transaction_params/part8/00016.png differ diff --git a/tests/snapshots/nanosp/test_transaction_params/part9/00001.png b/tests/snapshots/nanosp/test_transaction_params/part9/00001.png index 5f3d1a05..262b4b5e 100644 Binary files a/tests/snapshots/nanosp/test_transaction_params/part9/00001.png and b/tests/snapshots/nanosp/test_transaction_params/part9/00001.png differ diff --git a/tests/snapshots/nanosp/test_transaction_params/part9/00002.png b/tests/snapshots/nanosp/test_transaction_params/part9/00002.png index 9e5fbace..5481d5da 100644 Binary files a/tests/snapshots/nanosp/test_transaction_params/part9/00002.png and b/tests/snapshots/nanosp/test_transaction_params/part9/00002.png differ diff --git a/tests/snapshots/nanosp/test_transaction_params/part9/00003.png b/tests/snapshots/nanosp/test_transaction_params/part9/00003.png index 32e37fb8..de527bf7 100644 Binary files a/tests/snapshots/nanosp/test_transaction_params/part9/00003.png and b/tests/snapshots/nanosp/test_transaction_params/part9/00003.png differ diff --git a/tests/snapshots/nanosp/test_transaction_params/part9/00004.png b/tests/snapshots/nanosp/test_transaction_params/part9/00004.png index 560f9f00..d1eb962c 100644 Binary files a/tests/snapshots/nanosp/test_transaction_params/part9/00004.png and b/tests/snapshots/nanosp/test_transaction_params/part9/00004.png differ diff --git a/tests/snapshots/nanosp/test_transaction_params/part9/00005.png b/tests/snapshots/nanosp/test_transaction_params/part9/00005.png index bb4d12c7..11ac632e 100644 Binary files a/tests/snapshots/nanosp/test_transaction_params/part9/00005.png and b/tests/snapshots/nanosp/test_transaction_params/part9/00005.png differ diff --git a/tests/snapshots/nanosp/test_transaction_params/part9/00006.png b/tests/snapshots/nanosp/test_transaction_params/part9/00006.png index d1eb962c..62827380 100644 Binary files a/tests/snapshots/nanosp/test_transaction_params/part9/00006.png and b/tests/snapshots/nanosp/test_transaction_params/part9/00006.png differ diff --git a/tests/snapshots/nanosp/test_transaction_params/part9/00007.png b/tests/snapshots/nanosp/test_transaction_params/part9/00007.png index 11ac632e..3ad758de 100644 Binary files a/tests/snapshots/nanosp/test_transaction_params/part9/00007.png and b/tests/snapshots/nanosp/test_transaction_params/part9/00007.png differ diff --git a/tests/snapshots/nanosp/test_transaction_params/part9/00008.png b/tests/snapshots/nanosp/test_transaction_params/part9/00008.png index 62827380..bff4ff72 100644 Binary files a/tests/snapshots/nanosp/test_transaction_params/part9/00008.png and b/tests/snapshots/nanosp/test_transaction_params/part9/00008.png differ diff --git a/tests/snapshots/nanosp/test_transaction_params/part9/00009.png b/tests/snapshots/nanosp/test_transaction_params/part9/00009.png index 68020b16..c02f5ccb 100644 Binary files a/tests/snapshots/nanosp/test_transaction_params/part9/00009.png and b/tests/snapshots/nanosp/test_transaction_params/part9/00009.png differ diff --git a/tests/snapshots/nanosp/test_transaction_params/part9/00010.png b/tests/snapshots/nanosp/test_transaction_params/part9/00010.png index bff4ff72..510dbb77 100644 Binary files a/tests/snapshots/nanosp/test_transaction_params/part9/00010.png and b/tests/snapshots/nanosp/test_transaction_params/part9/00010.png differ diff --git a/tests/snapshots/nanosp/test_transaction_params/part9/00011.png b/tests/snapshots/nanosp/test_transaction_params/part9/00011.png index c02f5ccb..8099d16e 100644 Binary files a/tests/snapshots/nanosp/test_transaction_params/part9/00011.png and b/tests/snapshots/nanosp/test_transaction_params/part9/00011.png differ diff --git a/tests/snapshots/nanosp/test_transaction_params/part9/00012.png b/tests/snapshots/nanosp/test_transaction_params/part9/00012.png index 42cf0b73..cc0bd7b2 100644 Binary files a/tests/snapshots/nanosp/test_transaction_params/part9/00012.png and b/tests/snapshots/nanosp/test_transaction_params/part9/00012.png differ diff --git a/tests/snapshots/nanosp/test_transaction_params/part9/00013.png b/tests/snapshots/nanosp/test_transaction_params/part9/00013.png index 819d3159..1e4be699 100644 Binary files a/tests/snapshots/nanosp/test_transaction_params/part9/00013.png and b/tests/snapshots/nanosp/test_transaction_params/part9/00013.png differ diff --git a/tests/snapshots/nanosp/test_transaction_params/part9/00014.png b/tests/snapshots/nanosp/test_transaction_params/part9/00014.png index cc0bd7b2..e84e8dfd 100644 Binary files a/tests/snapshots/nanosp/test_transaction_params/part9/00014.png and b/tests/snapshots/nanosp/test_transaction_params/part9/00014.png differ diff --git a/tests/snapshots/nanosp/test_transaction_refused/00001.png b/tests/snapshots/nanosp/test_transaction_refused/00001.png index 5b962ee9..a10bf897 100644 Binary files a/tests/snapshots/nanosp/test_transaction_refused/00001.png and b/tests/snapshots/nanosp/test_transaction_refused/00001.png differ diff --git a/tests/snapshots/nanosp/test_transaction_refused/00002.png b/tests/snapshots/nanosp/test_transaction_refused/00002.png index 9e5fbace..5481d5da 100644 Binary files a/tests/snapshots/nanosp/test_transaction_refused/00002.png and b/tests/snapshots/nanosp/test_transaction_refused/00002.png differ diff --git a/tests/snapshots/nanosp/test_transaction_refused/00003.png b/tests/snapshots/nanosp/test_transaction_refused/00003.png index 81263f9e..a8b43fa8 100644 Binary files a/tests/snapshots/nanosp/test_transaction_refused/00003.png and b/tests/snapshots/nanosp/test_transaction_refused/00003.png differ diff --git a/tests/snapshots/nanosp/test_transaction_refused/00004.png b/tests/snapshots/nanosp/test_transaction_refused/00004.png index 4b4eb598..05bc276e 100644 Binary files a/tests/snapshots/nanosp/test_transaction_refused/00004.png and b/tests/snapshots/nanosp/test_transaction_refused/00004.png differ diff --git a/tests/snapshots/nanosp/test_transaction_refused/00005.png b/tests/snapshots/nanosp/test_transaction_refused/00005.png index d1eb962c..1cdfef90 100644 Binary files a/tests/snapshots/nanosp/test_transaction_refused/00005.png and b/tests/snapshots/nanosp/test_transaction_refused/00005.png differ diff --git a/tests/snapshots/nanosp/test_transaction_refused/00006.png b/tests/snapshots/nanosp/test_transaction_refused/00006.png index 11ac632e..6b84117f 100644 Binary files a/tests/snapshots/nanosp/test_transaction_refused/00006.png and b/tests/snapshots/nanosp/test_transaction_refused/00006.png differ diff --git a/tests/snapshots/nanosp/test_transaction_refused/00007.png b/tests/snapshots/nanosp/test_transaction_refused/00007.png index 62827380..3903db85 100644 Binary files a/tests/snapshots/nanosp/test_transaction_refused/00007.png and b/tests/snapshots/nanosp/test_transaction_refused/00007.png differ diff --git a/tests/snapshots/nanosp/test_transaction_refused/00008.png b/tests/snapshots/nanosp/test_transaction_refused/00008.png index 68020b16..8065791c 100644 Binary files a/tests/snapshots/nanosp/test_transaction_refused/00008.png and b/tests/snapshots/nanosp/test_transaction_refused/00008.png differ diff --git a/tests/snapshots/nanosp/test_transaction_refused/00009.png b/tests/snapshots/nanosp/test_transaction_refused/00009.png index bff4ff72..d1eb962c 100644 Binary files a/tests/snapshots/nanosp/test_transaction_refused/00009.png and b/tests/snapshots/nanosp/test_transaction_refused/00009.png differ diff --git a/tests/snapshots/nanosp/test_transaction_refused/00010.png b/tests/snapshots/nanosp/test_transaction_refused/00010.png index c02f5ccb..11ac632e 100644 Binary files a/tests/snapshots/nanosp/test_transaction_refused/00010.png and b/tests/snapshots/nanosp/test_transaction_refused/00010.png differ diff --git a/tests/snapshots/nanosp/test_transaction_refused/00011.png b/tests/snapshots/nanosp/test_transaction_refused/00011.png index 42cf0b73..62827380 100644 Binary files a/tests/snapshots/nanosp/test_transaction_refused/00011.png and b/tests/snapshots/nanosp/test_transaction_refused/00011.png differ diff --git a/tests/snapshots/nanosp/test_transaction_refused/00012.png b/tests/snapshots/nanosp/test_transaction_refused/00012.png index 819d3159..3ad758de 100644 Binary files a/tests/snapshots/nanosp/test_transaction_refused/00012.png and b/tests/snapshots/nanosp/test_transaction_refused/00012.png differ diff --git a/tests/snapshots/nanosp/test_transaction_refused/00013.png b/tests/snapshots/nanosp/test_transaction_refused/00013.png index cc0bd7b2..bff4ff72 100644 Binary files a/tests/snapshots/nanosp/test_transaction_refused/00013.png and b/tests/snapshots/nanosp/test_transaction_refused/00013.png differ diff --git a/tests/snapshots/nanosp/test_transaction_refused/00014.png b/tests/snapshots/nanosp/test_transaction_refused/00014.png index 1e4be699..c02f5ccb 100644 Binary files a/tests/snapshots/nanosp/test_transaction_refused/00014.png and b/tests/snapshots/nanosp/test_transaction_refused/00014.png differ diff --git a/tests/snapshots/nanosp/test_transaction_refused/00015.png b/tests/snapshots/nanosp/test_transaction_refused/00015.png index d9b5efc5..510dbb77 100644 Binary files a/tests/snapshots/nanosp/test_transaction_refused/00015.png and b/tests/snapshots/nanosp/test_transaction_refused/00015.png differ diff --git a/tests/snapshots/nanosp/test_transaction_refused/00016.png b/tests/snapshots/nanosp/test_transaction_refused/00016.png index e84e8dfd..8099d16e 100644 Binary files a/tests/snapshots/nanosp/test_transaction_refused/00016.png and b/tests/snapshots/nanosp/test_transaction_refused/00016.png differ diff --git a/tests/snapshots/nanosp/test_transaction_refused/00017.png b/tests/snapshots/nanosp/test_transaction_refused/00017.png new file mode 100644 index 00000000..cc0bd7b2 Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_refused/00017.png differ diff --git a/tests/snapshots/nanosp/test_transaction_refused/00018.png b/tests/snapshots/nanosp/test_transaction_refused/00018.png new file mode 100644 index 00000000..1e4be699 Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_refused/00018.png differ diff --git a/tests/snapshots/nanosp/test_transaction_refused/00019.png b/tests/snapshots/nanosp/test_transaction_refused/00019.png new file mode 100644 index 00000000..d9b5efc5 Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_refused/00019.png differ diff --git a/tests/snapshots/nanosp/test_transaction_refused/00020.png b/tests/snapshots/nanosp/test_transaction_refused/00020.png new file mode 100644 index 00000000..e84e8dfd Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_refused/00020.png differ diff --git a/tests/snapshots/nanosp/test_transaction_slot/part0/00001.png b/tests/snapshots/nanosp/test_transaction_slot/part0/00001.png index 5b962ee9..3d59a433 100644 Binary files a/tests/snapshots/nanosp/test_transaction_slot/part0/00001.png and b/tests/snapshots/nanosp/test_transaction_slot/part0/00001.png differ diff --git a/tests/snapshots/nanosp/test_transaction_slot/part0/00002.png b/tests/snapshots/nanosp/test_transaction_slot/part0/00002.png index 9e5fbace..5481d5da 100644 Binary files a/tests/snapshots/nanosp/test_transaction_slot/part0/00002.png and b/tests/snapshots/nanosp/test_transaction_slot/part0/00002.png differ diff --git a/tests/snapshots/nanosp/test_transaction_slot/part0/00003.png b/tests/snapshots/nanosp/test_transaction_slot/part0/00003.png index 81263f9e..a8b43fa8 100644 Binary files a/tests/snapshots/nanosp/test_transaction_slot/part0/00003.png and b/tests/snapshots/nanosp/test_transaction_slot/part0/00003.png differ diff --git a/tests/snapshots/nanosp/test_transaction_slot/part0/00004.png b/tests/snapshots/nanosp/test_transaction_slot/part0/00004.png index 4b4eb598..05bc276e 100644 Binary files a/tests/snapshots/nanosp/test_transaction_slot/part0/00004.png and b/tests/snapshots/nanosp/test_transaction_slot/part0/00004.png differ diff --git a/tests/snapshots/nanosp/test_transaction_slot/part0/00005.png b/tests/snapshots/nanosp/test_transaction_slot/part0/00005.png index d1eb962c..1cdfef90 100644 Binary files a/tests/snapshots/nanosp/test_transaction_slot/part0/00005.png and b/tests/snapshots/nanosp/test_transaction_slot/part0/00005.png differ diff --git a/tests/snapshots/nanosp/test_transaction_slot/part0/00006.png b/tests/snapshots/nanosp/test_transaction_slot/part0/00006.png index 11ac632e..6b84117f 100644 Binary files a/tests/snapshots/nanosp/test_transaction_slot/part0/00006.png and b/tests/snapshots/nanosp/test_transaction_slot/part0/00006.png differ diff --git a/tests/snapshots/nanosp/test_transaction_slot/part0/00007.png b/tests/snapshots/nanosp/test_transaction_slot/part0/00007.png index 62827380..3903db85 100644 Binary files a/tests/snapshots/nanosp/test_transaction_slot/part0/00007.png and b/tests/snapshots/nanosp/test_transaction_slot/part0/00007.png differ diff --git a/tests/snapshots/nanosp/test_transaction_slot/part0/00008.png b/tests/snapshots/nanosp/test_transaction_slot/part0/00008.png index 68020b16..8065791c 100644 Binary files a/tests/snapshots/nanosp/test_transaction_slot/part0/00008.png and b/tests/snapshots/nanosp/test_transaction_slot/part0/00008.png differ diff --git a/tests/snapshots/nanosp/test_transaction_slot/part0/00009.png b/tests/snapshots/nanosp/test_transaction_slot/part0/00009.png index bff4ff72..d1eb962c 100644 Binary files a/tests/snapshots/nanosp/test_transaction_slot/part0/00009.png and b/tests/snapshots/nanosp/test_transaction_slot/part0/00009.png differ diff --git a/tests/snapshots/nanosp/test_transaction_slot/part0/00010.png b/tests/snapshots/nanosp/test_transaction_slot/part0/00010.png index c02f5ccb..11ac632e 100644 Binary files a/tests/snapshots/nanosp/test_transaction_slot/part0/00010.png and b/tests/snapshots/nanosp/test_transaction_slot/part0/00010.png differ diff --git a/tests/snapshots/nanosp/test_transaction_slot/part0/00011.png b/tests/snapshots/nanosp/test_transaction_slot/part0/00011.png index 42cf0b73..62827380 100644 Binary files a/tests/snapshots/nanosp/test_transaction_slot/part0/00011.png and b/tests/snapshots/nanosp/test_transaction_slot/part0/00011.png differ diff --git a/tests/snapshots/nanosp/test_transaction_slot/part0/00012.png b/tests/snapshots/nanosp/test_transaction_slot/part0/00012.png index 819d3159..3ad758de 100644 Binary files a/tests/snapshots/nanosp/test_transaction_slot/part0/00012.png and b/tests/snapshots/nanosp/test_transaction_slot/part0/00012.png differ diff --git a/tests/snapshots/nanosp/test_transaction_slot/part0/00013.png b/tests/snapshots/nanosp/test_transaction_slot/part0/00013.png index cc0bd7b2..bff4ff72 100644 Binary files a/tests/snapshots/nanosp/test_transaction_slot/part0/00013.png and b/tests/snapshots/nanosp/test_transaction_slot/part0/00013.png differ diff --git a/tests/snapshots/nanosp/test_transaction_slot/part0/00014.png b/tests/snapshots/nanosp/test_transaction_slot/part0/00014.png index 1e4be699..c02f5ccb 100644 Binary files a/tests/snapshots/nanosp/test_transaction_slot/part0/00014.png and b/tests/snapshots/nanosp/test_transaction_slot/part0/00014.png differ diff --git a/tests/snapshots/nanosp/test_transaction_slot/part0/00015.png b/tests/snapshots/nanosp/test_transaction_slot/part0/00015.png index e84e8dfd..510dbb77 100644 Binary files a/tests/snapshots/nanosp/test_transaction_slot/part0/00015.png and b/tests/snapshots/nanosp/test_transaction_slot/part0/00015.png differ diff --git a/tests/snapshots/nanosp/test_transaction_slot/part0/00016.png b/tests/snapshots/nanosp/test_transaction_slot/part0/00016.png new file mode 100644 index 00000000..8099d16e Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_slot/part0/00016.png differ diff --git a/tests/snapshots/nanosp/test_transaction_slot/part0/00017.png b/tests/snapshots/nanosp/test_transaction_slot/part0/00017.png new file mode 100644 index 00000000..cc0bd7b2 Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_slot/part0/00017.png differ diff --git a/tests/snapshots/nanosp/test_transaction_slot/part0/00018.png b/tests/snapshots/nanosp/test_transaction_slot/part0/00018.png new file mode 100644 index 00000000..1e4be699 Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_slot/part0/00018.png differ diff --git a/tests/snapshots/nanosp/test_transaction_slot/part0/00019.png b/tests/snapshots/nanosp/test_transaction_slot/part0/00019.png new file mode 100644 index 00000000..e84e8dfd Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_slot/part0/00019.png differ diff --git a/tests/snapshots/nanosp/test_transaction_slot/part10/00001.png b/tests/snapshots/nanosp/test_transaction_slot/part10/00001.png index 5b962ee9..3d59a433 100644 Binary files a/tests/snapshots/nanosp/test_transaction_slot/part10/00001.png and b/tests/snapshots/nanosp/test_transaction_slot/part10/00001.png differ diff --git a/tests/snapshots/nanosp/test_transaction_slot/part10/00003.png b/tests/snapshots/nanosp/test_transaction_slot/part10/00003.png index 81263f9e..a8b43fa8 100644 Binary files a/tests/snapshots/nanosp/test_transaction_slot/part10/00003.png and b/tests/snapshots/nanosp/test_transaction_slot/part10/00003.png differ diff --git a/tests/snapshots/nanosp/test_transaction_slot/part10/00004.png b/tests/snapshots/nanosp/test_transaction_slot/part10/00004.png index 4b4eb598..05bc276e 100644 Binary files a/tests/snapshots/nanosp/test_transaction_slot/part10/00004.png and b/tests/snapshots/nanosp/test_transaction_slot/part10/00004.png differ diff --git a/tests/snapshots/nanosp/test_transaction_slot/part10/00005.png b/tests/snapshots/nanosp/test_transaction_slot/part10/00005.png index d1eb962c..1cdfef90 100644 Binary files a/tests/snapshots/nanosp/test_transaction_slot/part10/00005.png and b/tests/snapshots/nanosp/test_transaction_slot/part10/00005.png differ diff --git a/tests/snapshots/nanosp/test_transaction_slot/part10/00006.png b/tests/snapshots/nanosp/test_transaction_slot/part10/00006.png index 11ac632e..6b84117f 100644 Binary files a/tests/snapshots/nanosp/test_transaction_slot/part10/00006.png and b/tests/snapshots/nanosp/test_transaction_slot/part10/00006.png differ diff --git a/tests/snapshots/nanosp/test_transaction_slot/part10/00007.png b/tests/snapshots/nanosp/test_transaction_slot/part10/00007.png index 62827380..3903db85 100644 Binary files a/tests/snapshots/nanosp/test_transaction_slot/part10/00007.png and b/tests/snapshots/nanosp/test_transaction_slot/part10/00007.png differ diff --git a/tests/snapshots/nanosp/test_transaction_slot/part10/00008.png b/tests/snapshots/nanosp/test_transaction_slot/part10/00008.png index 05df1c8c..8065791c 100644 Binary files a/tests/snapshots/nanosp/test_transaction_slot/part10/00008.png and b/tests/snapshots/nanosp/test_transaction_slot/part10/00008.png differ diff --git a/tests/snapshots/nanosp/test_transaction_slot/part10/00009.png b/tests/snapshots/nanosp/test_transaction_slot/part10/00009.png index bff4ff72..d1eb962c 100644 Binary files a/tests/snapshots/nanosp/test_transaction_slot/part10/00009.png and b/tests/snapshots/nanosp/test_transaction_slot/part10/00009.png differ diff --git a/tests/snapshots/nanosp/test_transaction_slot/part10/00010.png b/tests/snapshots/nanosp/test_transaction_slot/part10/00010.png index c02f5ccb..11ac632e 100644 Binary files a/tests/snapshots/nanosp/test_transaction_slot/part10/00010.png and b/tests/snapshots/nanosp/test_transaction_slot/part10/00010.png differ diff --git a/tests/snapshots/nanosp/test_transaction_slot/part10/00011.png b/tests/snapshots/nanosp/test_transaction_slot/part10/00011.png index 51dc0ebb..62827380 100644 Binary files a/tests/snapshots/nanosp/test_transaction_slot/part10/00011.png and b/tests/snapshots/nanosp/test_transaction_slot/part10/00011.png differ diff --git a/tests/snapshots/nanosp/test_transaction_slot/part10/00012.png b/tests/snapshots/nanosp/test_transaction_slot/part10/00012.png index 819d3159..3ad758de 100644 Binary files a/tests/snapshots/nanosp/test_transaction_slot/part10/00012.png and b/tests/snapshots/nanosp/test_transaction_slot/part10/00012.png differ diff --git a/tests/snapshots/nanosp/test_transaction_slot/part10/00013.png b/tests/snapshots/nanosp/test_transaction_slot/part10/00013.png index 1e4be699..bff4ff72 100644 Binary files a/tests/snapshots/nanosp/test_transaction_slot/part10/00013.png and b/tests/snapshots/nanosp/test_transaction_slot/part10/00013.png differ diff --git a/tests/snapshots/nanosp/test_transaction_slot/part10/00014.png b/tests/snapshots/nanosp/test_transaction_slot/part10/00014.png index e84e8dfd..c02f5ccb 100644 Binary files a/tests/snapshots/nanosp/test_transaction_slot/part10/00014.png and b/tests/snapshots/nanosp/test_transaction_slot/part10/00014.png differ diff --git a/tests/snapshots/nanosp/test_transaction_slot/part10/00015.png b/tests/snapshots/nanosp/test_transaction_slot/part10/00015.png new file mode 100644 index 00000000..510dbb77 Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_slot/part10/00015.png differ diff --git a/tests/snapshots/nanosp/test_transaction_slot/part10/00016.png b/tests/snapshots/nanosp/test_transaction_slot/part10/00016.png new file mode 100644 index 00000000..819d3159 Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_slot/part10/00016.png differ diff --git a/tests/snapshots/nanosp/test_transaction_slot/part10/00017.png b/tests/snapshots/nanosp/test_transaction_slot/part10/00017.png new file mode 100644 index 00000000..1e4be699 Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_slot/part10/00017.png differ diff --git a/tests/snapshots/nanosp/test_transaction_slot/part10/00018.png b/tests/snapshots/nanosp/test_transaction_slot/part10/00018.png new file mode 100644 index 00000000..e84e8dfd Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_slot/part10/00018.png differ diff --git a/tests/snapshots/nanosp/test_transaction_slot/part12/00001.png b/tests/snapshots/nanosp/test_transaction_slot/part12/00001.png index 5b962ee9..3d59a433 100644 Binary files a/tests/snapshots/nanosp/test_transaction_slot/part12/00001.png and b/tests/snapshots/nanosp/test_transaction_slot/part12/00001.png differ diff --git a/tests/snapshots/nanosp/test_transaction_slot/part12/00003.png b/tests/snapshots/nanosp/test_transaction_slot/part12/00003.png index 81263f9e..a8b43fa8 100644 Binary files a/tests/snapshots/nanosp/test_transaction_slot/part12/00003.png and b/tests/snapshots/nanosp/test_transaction_slot/part12/00003.png differ diff --git a/tests/snapshots/nanosp/test_transaction_slot/part12/00004.png b/tests/snapshots/nanosp/test_transaction_slot/part12/00004.png index 4b4eb598..05bc276e 100644 Binary files a/tests/snapshots/nanosp/test_transaction_slot/part12/00004.png and b/tests/snapshots/nanosp/test_transaction_slot/part12/00004.png differ diff --git a/tests/snapshots/nanosp/test_transaction_slot/part12/00005.png b/tests/snapshots/nanosp/test_transaction_slot/part12/00005.png index d1eb962c..1cdfef90 100644 Binary files a/tests/snapshots/nanosp/test_transaction_slot/part12/00005.png and b/tests/snapshots/nanosp/test_transaction_slot/part12/00005.png differ diff --git a/tests/snapshots/nanosp/test_transaction_slot/part12/00006.png b/tests/snapshots/nanosp/test_transaction_slot/part12/00006.png index 11ac632e..6b84117f 100644 Binary files a/tests/snapshots/nanosp/test_transaction_slot/part12/00006.png and b/tests/snapshots/nanosp/test_transaction_slot/part12/00006.png differ diff --git a/tests/snapshots/nanosp/test_transaction_slot/part12/00007.png b/tests/snapshots/nanosp/test_transaction_slot/part12/00007.png index 62827380..3903db85 100644 Binary files a/tests/snapshots/nanosp/test_transaction_slot/part12/00007.png and b/tests/snapshots/nanosp/test_transaction_slot/part12/00007.png differ diff --git a/tests/snapshots/nanosp/test_transaction_slot/part12/00008.png b/tests/snapshots/nanosp/test_transaction_slot/part12/00008.png index 05df1c8c..8065791c 100644 Binary files a/tests/snapshots/nanosp/test_transaction_slot/part12/00008.png and b/tests/snapshots/nanosp/test_transaction_slot/part12/00008.png differ diff --git a/tests/snapshots/nanosp/test_transaction_slot/part12/00009.png b/tests/snapshots/nanosp/test_transaction_slot/part12/00009.png index bff4ff72..d1eb962c 100644 Binary files a/tests/snapshots/nanosp/test_transaction_slot/part12/00009.png and b/tests/snapshots/nanosp/test_transaction_slot/part12/00009.png differ diff --git a/tests/snapshots/nanosp/test_transaction_slot/part12/00010.png b/tests/snapshots/nanosp/test_transaction_slot/part12/00010.png index c02f5ccb..11ac632e 100644 Binary files a/tests/snapshots/nanosp/test_transaction_slot/part12/00010.png and b/tests/snapshots/nanosp/test_transaction_slot/part12/00010.png differ diff --git a/tests/snapshots/nanosp/test_transaction_slot/part12/00011.png b/tests/snapshots/nanosp/test_transaction_slot/part12/00011.png index 51dc0ebb..62827380 100644 Binary files a/tests/snapshots/nanosp/test_transaction_slot/part12/00011.png and b/tests/snapshots/nanosp/test_transaction_slot/part12/00011.png differ diff --git a/tests/snapshots/nanosp/test_transaction_slot/part12/00012.png b/tests/snapshots/nanosp/test_transaction_slot/part12/00012.png index bbe32c35..3ad758de 100644 Binary files a/tests/snapshots/nanosp/test_transaction_slot/part12/00012.png and b/tests/snapshots/nanosp/test_transaction_slot/part12/00012.png differ diff --git a/tests/snapshots/nanosp/test_transaction_slot/part12/00013.png b/tests/snapshots/nanosp/test_transaction_slot/part12/00013.png index d3857f37..bff4ff72 100644 Binary files a/tests/snapshots/nanosp/test_transaction_slot/part12/00013.png and b/tests/snapshots/nanosp/test_transaction_slot/part12/00013.png differ diff --git a/tests/snapshots/nanosp/test_transaction_slot/part12/00014.png b/tests/snapshots/nanosp/test_transaction_slot/part12/00014.png index 936a3da4..c02f5ccb 100644 Binary files a/tests/snapshots/nanosp/test_transaction_slot/part12/00014.png and b/tests/snapshots/nanosp/test_transaction_slot/part12/00014.png differ diff --git a/tests/snapshots/nanosp/test_transaction_slot/part12/00015.png b/tests/snapshots/nanosp/test_transaction_slot/part12/00015.png index afc070e4..510dbb77 100644 Binary files a/tests/snapshots/nanosp/test_transaction_slot/part12/00015.png and b/tests/snapshots/nanosp/test_transaction_slot/part12/00015.png differ diff --git a/tests/snapshots/nanosp/test_transaction_slot/part12/00016.png b/tests/snapshots/nanosp/test_transaction_slot/part12/00016.png index 1e4be699..8099d16e 100644 Binary files a/tests/snapshots/nanosp/test_transaction_slot/part12/00016.png and b/tests/snapshots/nanosp/test_transaction_slot/part12/00016.png differ diff --git a/tests/snapshots/nanosp/test_transaction_slot/part12/00017.png b/tests/snapshots/nanosp/test_transaction_slot/part12/00017.png index e84e8dfd..4f365818 100644 Binary files a/tests/snapshots/nanosp/test_transaction_slot/part12/00017.png and b/tests/snapshots/nanosp/test_transaction_slot/part12/00017.png differ diff --git a/tests/snapshots/nanosp/test_transaction_slot/part12/00018.png b/tests/snapshots/nanosp/test_transaction_slot/part12/00018.png new file mode 100644 index 00000000..ad5b6926 Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_slot/part12/00018.png differ diff --git a/tests/snapshots/nanosp/test_transaction_slot/part12/00019.png b/tests/snapshots/nanosp/test_transaction_slot/part12/00019.png new file mode 100644 index 00000000..afc070e4 Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_slot/part12/00019.png differ diff --git a/tests/snapshots/nanosp/test_transaction_slot/part12/00020.png b/tests/snapshots/nanosp/test_transaction_slot/part12/00020.png new file mode 100644 index 00000000..1e4be699 Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_slot/part12/00020.png differ diff --git a/tests/snapshots/nanosp/test_transaction_slot/part12/00021.png b/tests/snapshots/nanosp/test_transaction_slot/part12/00021.png new file mode 100644 index 00000000..e84e8dfd Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_slot/part12/00021.png differ diff --git a/tests/snapshots/nanosp/test_transaction_slot/part14/00001.png b/tests/snapshots/nanosp/test_transaction_slot/part14/00001.png index 5b962ee9..3d59a433 100644 Binary files a/tests/snapshots/nanosp/test_transaction_slot/part14/00001.png and b/tests/snapshots/nanosp/test_transaction_slot/part14/00001.png differ diff --git a/tests/snapshots/nanosp/test_transaction_slot/part14/00003.png b/tests/snapshots/nanosp/test_transaction_slot/part14/00003.png index 81263f9e..a8b43fa8 100644 Binary files a/tests/snapshots/nanosp/test_transaction_slot/part14/00003.png and b/tests/snapshots/nanosp/test_transaction_slot/part14/00003.png differ diff --git a/tests/snapshots/nanosp/test_transaction_slot/part14/00004.png b/tests/snapshots/nanosp/test_transaction_slot/part14/00004.png index 4b4eb598..05bc276e 100644 Binary files a/tests/snapshots/nanosp/test_transaction_slot/part14/00004.png and b/tests/snapshots/nanosp/test_transaction_slot/part14/00004.png differ diff --git a/tests/snapshots/nanosp/test_transaction_slot/part14/00005.png b/tests/snapshots/nanosp/test_transaction_slot/part14/00005.png index d1eb962c..1cdfef90 100644 Binary files a/tests/snapshots/nanosp/test_transaction_slot/part14/00005.png and b/tests/snapshots/nanosp/test_transaction_slot/part14/00005.png differ diff --git a/tests/snapshots/nanosp/test_transaction_slot/part14/00006.png b/tests/snapshots/nanosp/test_transaction_slot/part14/00006.png index 11ac632e..6b84117f 100644 Binary files a/tests/snapshots/nanosp/test_transaction_slot/part14/00006.png and b/tests/snapshots/nanosp/test_transaction_slot/part14/00006.png differ diff --git a/tests/snapshots/nanosp/test_transaction_slot/part14/00007.png b/tests/snapshots/nanosp/test_transaction_slot/part14/00007.png index 62827380..3903db85 100644 Binary files a/tests/snapshots/nanosp/test_transaction_slot/part14/00007.png and b/tests/snapshots/nanosp/test_transaction_slot/part14/00007.png differ diff --git a/tests/snapshots/nanosp/test_transaction_slot/part14/00008.png b/tests/snapshots/nanosp/test_transaction_slot/part14/00008.png index 05df1c8c..8065791c 100644 Binary files a/tests/snapshots/nanosp/test_transaction_slot/part14/00008.png and b/tests/snapshots/nanosp/test_transaction_slot/part14/00008.png differ diff --git a/tests/snapshots/nanosp/test_transaction_slot/part14/00009.png b/tests/snapshots/nanosp/test_transaction_slot/part14/00009.png index bff4ff72..d1eb962c 100644 Binary files a/tests/snapshots/nanosp/test_transaction_slot/part14/00009.png and b/tests/snapshots/nanosp/test_transaction_slot/part14/00009.png differ diff --git a/tests/snapshots/nanosp/test_transaction_slot/part14/00010.png b/tests/snapshots/nanosp/test_transaction_slot/part14/00010.png index c02f5ccb..11ac632e 100644 Binary files a/tests/snapshots/nanosp/test_transaction_slot/part14/00010.png and b/tests/snapshots/nanosp/test_transaction_slot/part14/00010.png differ diff --git a/tests/snapshots/nanosp/test_transaction_slot/part14/00011.png b/tests/snapshots/nanosp/test_transaction_slot/part14/00011.png index 51dc0ebb..62827380 100644 Binary files a/tests/snapshots/nanosp/test_transaction_slot/part14/00011.png and b/tests/snapshots/nanosp/test_transaction_slot/part14/00011.png differ diff --git a/tests/snapshots/nanosp/test_transaction_slot/part14/00012.png b/tests/snapshots/nanosp/test_transaction_slot/part14/00012.png index bbe32c35..3ad758de 100644 Binary files a/tests/snapshots/nanosp/test_transaction_slot/part14/00012.png and b/tests/snapshots/nanosp/test_transaction_slot/part14/00012.png differ diff --git a/tests/snapshots/nanosp/test_transaction_slot/part14/00013.png b/tests/snapshots/nanosp/test_transaction_slot/part14/00013.png index d3857f37..bff4ff72 100644 Binary files a/tests/snapshots/nanosp/test_transaction_slot/part14/00013.png and b/tests/snapshots/nanosp/test_transaction_slot/part14/00013.png differ diff --git a/tests/snapshots/nanosp/test_transaction_slot/part14/00014.png b/tests/snapshots/nanosp/test_transaction_slot/part14/00014.png index a68dcaa7..c02f5ccb 100644 Binary files a/tests/snapshots/nanosp/test_transaction_slot/part14/00014.png and b/tests/snapshots/nanosp/test_transaction_slot/part14/00014.png differ diff --git a/tests/snapshots/nanosp/test_transaction_slot/part14/00015.png b/tests/snapshots/nanosp/test_transaction_slot/part14/00015.png index 1e4be699..510dbb77 100644 Binary files a/tests/snapshots/nanosp/test_transaction_slot/part14/00015.png and b/tests/snapshots/nanosp/test_transaction_slot/part14/00015.png differ diff --git a/tests/snapshots/nanosp/test_transaction_slot/part14/00016.png b/tests/snapshots/nanosp/test_transaction_slot/part14/00016.png index e84e8dfd..8099d16e 100644 Binary files a/tests/snapshots/nanosp/test_transaction_slot/part14/00016.png and b/tests/snapshots/nanosp/test_transaction_slot/part14/00016.png differ diff --git a/tests/snapshots/nanosp/test_transaction_slot/part14/00017.png b/tests/snapshots/nanosp/test_transaction_slot/part14/00017.png new file mode 100644 index 00000000..4f365818 Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_slot/part14/00017.png differ diff --git a/tests/snapshots/nanosp/test_transaction_slot/part14/00018.png b/tests/snapshots/nanosp/test_transaction_slot/part14/00018.png new file mode 100644 index 00000000..a68dcaa7 Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_slot/part14/00018.png differ diff --git a/tests/snapshots/nanosp/test_transaction_slot/part14/00019.png b/tests/snapshots/nanosp/test_transaction_slot/part14/00019.png new file mode 100644 index 00000000..1e4be699 Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_slot/part14/00019.png differ diff --git a/tests/snapshots/nanosp/test_transaction_slot/part14/00020.png b/tests/snapshots/nanosp/test_transaction_slot/part14/00020.png new file mode 100644 index 00000000..e84e8dfd Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_slot/part14/00020.png differ diff --git a/tests/snapshots/nanosp/test_transaction_slot/part15/00001.png b/tests/snapshots/nanosp/test_transaction_slot/part15/00001.png index 5b962ee9..3d59a433 100644 Binary files a/tests/snapshots/nanosp/test_transaction_slot/part15/00001.png and b/tests/snapshots/nanosp/test_transaction_slot/part15/00001.png differ diff --git a/tests/snapshots/nanosp/test_transaction_slot/part15/00002.png b/tests/snapshots/nanosp/test_transaction_slot/part15/00002.png index 9e5fbace..5481d5da 100644 Binary files a/tests/snapshots/nanosp/test_transaction_slot/part15/00002.png and b/tests/snapshots/nanosp/test_transaction_slot/part15/00002.png differ diff --git a/tests/snapshots/nanosp/test_transaction_slot/part15/00003.png b/tests/snapshots/nanosp/test_transaction_slot/part15/00003.png index 81263f9e..a8b43fa8 100644 Binary files a/tests/snapshots/nanosp/test_transaction_slot/part15/00003.png and b/tests/snapshots/nanosp/test_transaction_slot/part15/00003.png differ diff --git a/tests/snapshots/nanosp/test_transaction_slot/part15/00004.png b/tests/snapshots/nanosp/test_transaction_slot/part15/00004.png index 4b4eb598..05bc276e 100644 Binary files a/tests/snapshots/nanosp/test_transaction_slot/part15/00004.png and b/tests/snapshots/nanosp/test_transaction_slot/part15/00004.png differ diff --git a/tests/snapshots/nanosp/test_transaction_slot/part15/00005.png b/tests/snapshots/nanosp/test_transaction_slot/part15/00005.png index d1eb962c..1cdfef90 100644 Binary files a/tests/snapshots/nanosp/test_transaction_slot/part15/00005.png and b/tests/snapshots/nanosp/test_transaction_slot/part15/00005.png differ diff --git a/tests/snapshots/nanosp/test_transaction_slot/part15/00006.png b/tests/snapshots/nanosp/test_transaction_slot/part15/00006.png index 11ac632e..6b84117f 100644 Binary files a/tests/snapshots/nanosp/test_transaction_slot/part15/00006.png and b/tests/snapshots/nanosp/test_transaction_slot/part15/00006.png differ diff --git a/tests/snapshots/nanosp/test_transaction_slot/part15/00007.png b/tests/snapshots/nanosp/test_transaction_slot/part15/00007.png index 62827380..3903db85 100644 Binary files a/tests/snapshots/nanosp/test_transaction_slot/part15/00007.png and b/tests/snapshots/nanosp/test_transaction_slot/part15/00007.png differ diff --git a/tests/snapshots/nanosp/test_transaction_slot/part15/00008.png b/tests/snapshots/nanosp/test_transaction_slot/part15/00008.png index 68020b16..8065791c 100644 Binary files a/tests/snapshots/nanosp/test_transaction_slot/part15/00008.png and b/tests/snapshots/nanosp/test_transaction_slot/part15/00008.png differ diff --git a/tests/snapshots/nanosp/test_transaction_slot/part15/00009.png b/tests/snapshots/nanosp/test_transaction_slot/part15/00009.png index bff4ff72..d1eb962c 100644 Binary files a/tests/snapshots/nanosp/test_transaction_slot/part15/00009.png and b/tests/snapshots/nanosp/test_transaction_slot/part15/00009.png differ diff --git a/tests/snapshots/nanosp/test_transaction_slot/part15/00010.png b/tests/snapshots/nanosp/test_transaction_slot/part15/00010.png index c02f5ccb..11ac632e 100644 Binary files a/tests/snapshots/nanosp/test_transaction_slot/part15/00010.png and b/tests/snapshots/nanosp/test_transaction_slot/part15/00010.png differ diff --git a/tests/snapshots/nanosp/test_transaction_slot/part15/00011.png b/tests/snapshots/nanosp/test_transaction_slot/part15/00011.png index 42cf0b73..62827380 100644 Binary files a/tests/snapshots/nanosp/test_transaction_slot/part15/00011.png and b/tests/snapshots/nanosp/test_transaction_slot/part15/00011.png differ diff --git a/tests/snapshots/nanosp/test_transaction_slot/part15/00012.png b/tests/snapshots/nanosp/test_transaction_slot/part15/00012.png index 819d3159..3ad758de 100644 Binary files a/tests/snapshots/nanosp/test_transaction_slot/part15/00012.png and b/tests/snapshots/nanosp/test_transaction_slot/part15/00012.png differ diff --git a/tests/snapshots/nanosp/test_transaction_slot/part15/00013.png b/tests/snapshots/nanosp/test_transaction_slot/part15/00013.png index e2d9cb6f..bff4ff72 100644 Binary files a/tests/snapshots/nanosp/test_transaction_slot/part15/00013.png and b/tests/snapshots/nanosp/test_transaction_slot/part15/00013.png differ diff --git a/tests/snapshots/nanosp/test_transaction_slot/part15/00014.png b/tests/snapshots/nanosp/test_transaction_slot/part15/00014.png index 1e4be699..c02f5ccb 100644 Binary files a/tests/snapshots/nanosp/test_transaction_slot/part15/00014.png and b/tests/snapshots/nanosp/test_transaction_slot/part15/00014.png differ diff --git a/tests/snapshots/nanosp/test_transaction_slot/part15/00015.png b/tests/snapshots/nanosp/test_transaction_slot/part15/00015.png index e84e8dfd..510dbb77 100644 Binary files a/tests/snapshots/nanosp/test_transaction_slot/part15/00015.png and b/tests/snapshots/nanosp/test_transaction_slot/part15/00015.png differ diff --git a/tests/snapshots/nanosp/test_transaction_slot/part15/00016.png b/tests/snapshots/nanosp/test_transaction_slot/part15/00016.png new file mode 100644 index 00000000..8099d16e Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_slot/part15/00016.png differ diff --git a/tests/snapshots/nanosp/test_transaction_slot/part15/00017.png b/tests/snapshots/nanosp/test_transaction_slot/part15/00017.png new file mode 100644 index 00000000..afc070e4 Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_slot/part15/00017.png differ diff --git a/tests/snapshots/nanosp/test_transaction_slot/part15/00018.png b/tests/snapshots/nanosp/test_transaction_slot/part15/00018.png new file mode 100644 index 00000000..e2d9cb6f Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_slot/part15/00018.png differ diff --git a/tests/snapshots/nanosp/test_transaction_slot/part15/00019.png b/tests/snapshots/nanosp/test_transaction_slot/part15/00019.png new file mode 100644 index 00000000..1e4be699 Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_slot/part15/00019.png differ diff --git a/tests/snapshots/nanosp/test_transaction_slot/part15/00020.png b/tests/snapshots/nanosp/test_transaction_slot/part15/00020.png new file mode 100644 index 00000000..e84e8dfd Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_slot/part15/00020.png differ diff --git a/tests/snapshots/nanosp/test_transaction_slot/part2/00001.png b/tests/snapshots/nanosp/test_transaction_slot/part2/00001.png index 5b962ee9..3d59a433 100644 Binary files a/tests/snapshots/nanosp/test_transaction_slot/part2/00001.png and b/tests/snapshots/nanosp/test_transaction_slot/part2/00001.png differ diff --git a/tests/snapshots/nanosp/test_transaction_slot/part2/00002.png b/tests/snapshots/nanosp/test_transaction_slot/part2/00002.png index 9e5fbace..5481d5da 100644 Binary files a/tests/snapshots/nanosp/test_transaction_slot/part2/00002.png and b/tests/snapshots/nanosp/test_transaction_slot/part2/00002.png differ diff --git a/tests/snapshots/nanosp/test_transaction_slot/part2/00003.png b/tests/snapshots/nanosp/test_transaction_slot/part2/00003.png index 81263f9e..a8b43fa8 100644 Binary files a/tests/snapshots/nanosp/test_transaction_slot/part2/00003.png and b/tests/snapshots/nanosp/test_transaction_slot/part2/00003.png differ diff --git a/tests/snapshots/nanosp/test_transaction_slot/part2/00004.png b/tests/snapshots/nanosp/test_transaction_slot/part2/00004.png index 4b4eb598..05bc276e 100644 Binary files a/tests/snapshots/nanosp/test_transaction_slot/part2/00004.png and b/tests/snapshots/nanosp/test_transaction_slot/part2/00004.png differ diff --git a/tests/snapshots/nanosp/test_transaction_slot/part2/00005.png b/tests/snapshots/nanosp/test_transaction_slot/part2/00005.png index d1eb962c..1cdfef90 100644 Binary files a/tests/snapshots/nanosp/test_transaction_slot/part2/00005.png and b/tests/snapshots/nanosp/test_transaction_slot/part2/00005.png differ diff --git a/tests/snapshots/nanosp/test_transaction_slot/part2/00006.png b/tests/snapshots/nanosp/test_transaction_slot/part2/00006.png index 11ac632e..6b84117f 100644 Binary files a/tests/snapshots/nanosp/test_transaction_slot/part2/00006.png and b/tests/snapshots/nanosp/test_transaction_slot/part2/00006.png differ diff --git a/tests/snapshots/nanosp/test_transaction_slot/part2/00007.png b/tests/snapshots/nanosp/test_transaction_slot/part2/00007.png index 62827380..3903db85 100644 Binary files a/tests/snapshots/nanosp/test_transaction_slot/part2/00007.png and b/tests/snapshots/nanosp/test_transaction_slot/part2/00007.png differ diff --git a/tests/snapshots/nanosp/test_transaction_slot/part2/00008.png b/tests/snapshots/nanosp/test_transaction_slot/part2/00008.png index 68020b16..8065791c 100644 Binary files a/tests/snapshots/nanosp/test_transaction_slot/part2/00008.png and b/tests/snapshots/nanosp/test_transaction_slot/part2/00008.png differ diff --git a/tests/snapshots/nanosp/test_transaction_slot/part2/00009.png b/tests/snapshots/nanosp/test_transaction_slot/part2/00009.png index bff4ff72..d1eb962c 100644 Binary files a/tests/snapshots/nanosp/test_transaction_slot/part2/00009.png and b/tests/snapshots/nanosp/test_transaction_slot/part2/00009.png differ diff --git a/tests/snapshots/nanosp/test_transaction_slot/part2/00010.png b/tests/snapshots/nanosp/test_transaction_slot/part2/00010.png index c02f5ccb..11ac632e 100644 Binary files a/tests/snapshots/nanosp/test_transaction_slot/part2/00010.png and b/tests/snapshots/nanosp/test_transaction_slot/part2/00010.png differ diff --git a/tests/snapshots/nanosp/test_transaction_slot/part2/00011.png b/tests/snapshots/nanosp/test_transaction_slot/part2/00011.png index 42cf0b73..62827380 100644 Binary files a/tests/snapshots/nanosp/test_transaction_slot/part2/00011.png and b/tests/snapshots/nanosp/test_transaction_slot/part2/00011.png differ diff --git a/tests/snapshots/nanosp/test_transaction_slot/part2/00012.png b/tests/snapshots/nanosp/test_transaction_slot/part2/00012.png index 819d3159..3ad758de 100644 Binary files a/tests/snapshots/nanosp/test_transaction_slot/part2/00012.png and b/tests/snapshots/nanosp/test_transaction_slot/part2/00012.png differ diff --git a/tests/snapshots/nanosp/test_transaction_slot/part2/00013.png b/tests/snapshots/nanosp/test_transaction_slot/part2/00013.png index 84905b9f..bff4ff72 100644 Binary files a/tests/snapshots/nanosp/test_transaction_slot/part2/00013.png and b/tests/snapshots/nanosp/test_transaction_slot/part2/00013.png differ diff --git a/tests/snapshots/nanosp/test_transaction_slot/part2/00014.png b/tests/snapshots/nanosp/test_transaction_slot/part2/00014.png index 1e4be699..c02f5ccb 100644 Binary files a/tests/snapshots/nanosp/test_transaction_slot/part2/00014.png and b/tests/snapshots/nanosp/test_transaction_slot/part2/00014.png differ diff --git a/tests/snapshots/nanosp/test_transaction_slot/part2/00015.png b/tests/snapshots/nanosp/test_transaction_slot/part2/00015.png index e84e8dfd..510dbb77 100644 Binary files a/tests/snapshots/nanosp/test_transaction_slot/part2/00015.png and b/tests/snapshots/nanosp/test_transaction_slot/part2/00015.png differ diff --git a/tests/snapshots/nanosp/test_transaction_slot/part2/00016.png b/tests/snapshots/nanosp/test_transaction_slot/part2/00016.png new file mode 100644 index 00000000..8099d16e Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_slot/part2/00016.png differ diff --git a/tests/snapshots/nanosp/test_transaction_slot/part2/00017.png b/tests/snapshots/nanosp/test_transaction_slot/part2/00017.png new file mode 100644 index 00000000..84905b9f Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_slot/part2/00017.png differ diff --git a/tests/snapshots/nanosp/test_transaction_slot/part2/00018.png b/tests/snapshots/nanosp/test_transaction_slot/part2/00018.png new file mode 100644 index 00000000..1e4be699 Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_slot/part2/00018.png differ diff --git a/tests/snapshots/nanosp/test_transaction_slot/part2/00019.png b/tests/snapshots/nanosp/test_transaction_slot/part2/00019.png new file mode 100644 index 00000000..e84e8dfd Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_slot/part2/00019.png differ diff --git a/tests/snapshots/nanosp/test_transaction_slot/part3/00001.png b/tests/snapshots/nanosp/test_transaction_slot/part3/00001.png index 5b962ee9..3d59a433 100644 Binary files a/tests/snapshots/nanosp/test_transaction_slot/part3/00001.png and b/tests/snapshots/nanosp/test_transaction_slot/part3/00001.png differ diff --git a/tests/snapshots/nanosp/test_transaction_slot/part3/00002.png b/tests/snapshots/nanosp/test_transaction_slot/part3/00002.png index 9e5fbace..5481d5da 100644 Binary files a/tests/snapshots/nanosp/test_transaction_slot/part3/00002.png and b/tests/snapshots/nanosp/test_transaction_slot/part3/00002.png differ diff --git a/tests/snapshots/nanosp/test_transaction_slot/part3/00003.png b/tests/snapshots/nanosp/test_transaction_slot/part3/00003.png index 81263f9e..a8b43fa8 100644 Binary files a/tests/snapshots/nanosp/test_transaction_slot/part3/00003.png and b/tests/snapshots/nanosp/test_transaction_slot/part3/00003.png differ diff --git a/tests/snapshots/nanosp/test_transaction_slot/part3/00004.png b/tests/snapshots/nanosp/test_transaction_slot/part3/00004.png index 4b4eb598..05bc276e 100644 Binary files a/tests/snapshots/nanosp/test_transaction_slot/part3/00004.png and b/tests/snapshots/nanosp/test_transaction_slot/part3/00004.png differ diff --git a/tests/snapshots/nanosp/test_transaction_slot/part3/00005.png b/tests/snapshots/nanosp/test_transaction_slot/part3/00005.png index d1eb962c..1cdfef90 100644 Binary files a/tests/snapshots/nanosp/test_transaction_slot/part3/00005.png and b/tests/snapshots/nanosp/test_transaction_slot/part3/00005.png differ diff --git a/tests/snapshots/nanosp/test_transaction_slot/part3/00006.png b/tests/snapshots/nanosp/test_transaction_slot/part3/00006.png index 11ac632e..6b84117f 100644 Binary files a/tests/snapshots/nanosp/test_transaction_slot/part3/00006.png and b/tests/snapshots/nanosp/test_transaction_slot/part3/00006.png differ diff --git a/tests/snapshots/nanosp/test_transaction_slot/part3/00007.png b/tests/snapshots/nanosp/test_transaction_slot/part3/00007.png index 62827380..3903db85 100644 Binary files a/tests/snapshots/nanosp/test_transaction_slot/part3/00007.png and b/tests/snapshots/nanosp/test_transaction_slot/part3/00007.png differ diff --git a/tests/snapshots/nanosp/test_transaction_slot/part3/00008.png b/tests/snapshots/nanosp/test_transaction_slot/part3/00008.png index 68020b16..8065791c 100644 Binary files a/tests/snapshots/nanosp/test_transaction_slot/part3/00008.png and b/tests/snapshots/nanosp/test_transaction_slot/part3/00008.png differ diff --git a/tests/snapshots/nanosp/test_transaction_slot/part3/00009.png b/tests/snapshots/nanosp/test_transaction_slot/part3/00009.png index bff4ff72..d1eb962c 100644 Binary files a/tests/snapshots/nanosp/test_transaction_slot/part3/00009.png and b/tests/snapshots/nanosp/test_transaction_slot/part3/00009.png differ diff --git a/tests/snapshots/nanosp/test_transaction_slot/part3/00010.png b/tests/snapshots/nanosp/test_transaction_slot/part3/00010.png index c02f5ccb..11ac632e 100644 Binary files a/tests/snapshots/nanosp/test_transaction_slot/part3/00010.png and b/tests/snapshots/nanosp/test_transaction_slot/part3/00010.png differ diff --git a/tests/snapshots/nanosp/test_transaction_slot/part3/00011.png b/tests/snapshots/nanosp/test_transaction_slot/part3/00011.png index 42cf0b73..62827380 100644 Binary files a/tests/snapshots/nanosp/test_transaction_slot/part3/00011.png and b/tests/snapshots/nanosp/test_transaction_slot/part3/00011.png differ diff --git a/tests/snapshots/nanosp/test_transaction_slot/part3/00012.png b/tests/snapshots/nanosp/test_transaction_slot/part3/00012.png index 819d3159..3ad758de 100644 Binary files a/tests/snapshots/nanosp/test_transaction_slot/part3/00012.png and b/tests/snapshots/nanosp/test_transaction_slot/part3/00012.png differ diff --git a/tests/snapshots/nanosp/test_transaction_slot/part3/00013.png b/tests/snapshots/nanosp/test_transaction_slot/part3/00013.png index 1e4be699..bff4ff72 100644 Binary files a/tests/snapshots/nanosp/test_transaction_slot/part3/00013.png and b/tests/snapshots/nanosp/test_transaction_slot/part3/00013.png differ diff --git a/tests/snapshots/nanosp/test_transaction_slot/part3/00014.png b/tests/snapshots/nanosp/test_transaction_slot/part3/00014.png index e84e8dfd..c02f5ccb 100644 Binary files a/tests/snapshots/nanosp/test_transaction_slot/part3/00014.png and b/tests/snapshots/nanosp/test_transaction_slot/part3/00014.png differ diff --git a/tests/snapshots/nanosp/test_transaction_slot/part3/00015.png b/tests/snapshots/nanosp/test_transaction_slot/part3/00015.png new file mode 100644 index 00000000..510dbb77 Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_slot/part3/00015.png differ diff --git a/tests/snapshots/nanosp/test_transaction_slot/part3/00016.png b/tests/snapshots/nanosp/test_transaction_slot/part3/00016.png new file mode 100644 index 00000000..8099d16e Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_slot/part3/00016.png differ diff --git a/tests/snapshots/nanosp/test_transaction_slot/part3/00017.png b/tests/snapshots/nanosp/test_transaction_slot/part3/00017.png new file mode 100644 index 00000000..afc070e4 Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_slot/part3/00017.png differ diff --git a/tests/snapshots/nanosp/test_transaction_slot/part3/00018.png b/tests/snapshots/nanosp/test_transaction_slot/part3/00018.png new file mode 100644 index 00000000..1e4be699 Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_slot/part3/00018.png differ diff --git a/tests/snapshots/nanosp/test_transaction_slot/part3/00019.png b/tests/snapshots/nanosp/test_transaction_slot/part3/00019.png new file mode 100644 index 00000000..e84e8dfd Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_slot/part3/00019.png differ diff --git a/tests/snapshots/nanosp/test_transaction_slot/part4/00001.png b/tests/snapshots/nanosp/test_transaction_slot/part4/00001.png index 5b962ee9..3d59a433 100644 Binary files a/tests/snapshots/nanosp/test_transaction_slot/part4/00001.png and b/tests/snapshots/nanosp/test_transaction_slot/part4/00001.png differ diff --git a/tests/snapshots/nanosp/test_transaction_slot/part4/00003.png b/tests/snapshots/nanosp/test_transaction_slot/part4/00003.png index 81263f9e..a8b43fa8 100644 Binary files a/tests/snapshots/nanosp/test_transaction_slot/part4/00003.png and b/tests/snapshots/nanosp/test_transaction_slot/part4/00003.png differ diff --git a/tests/snapshots/nanosp/test_transaction_slot/part4/00004.png b/tests/snapshots/nanosp/test_transaction_slot/part4/00004.png index 4b4eb598..05bc276e 100644 Binary files a/tests/snapshots/nanosp/test_transaction_slot/part4/00004.png and b/tests/snapshots/nanosp/test_transaction_slot/part4/00004.png differ diff --git a/tests/snapshots/nanosp/test_transaction_slot/part4/00005.png b/tests/snapshots/nanosp/test_transaction_slot/part4/00005.png index d1eb962c..1cdfef90 100644 Binary files a/tests/snapshots/nanosp/test_transaction_slot/part4/00005.png and b/tests/snapshots/nanosp/test_transaction_slot/part4/00005.png differ diff --git a/tests/snapshots/nanosp/test_transaction_slot/part4/00006.png b/tests/snapshots/nanosp/test_transaction_slot/part4/00006.png index 11ac632e..6b84117f 100644 Binary files a/tests/snapshots/nanosp/test_transaction_slot/part4/00006.png and b/tests/snapshots/nanosp/test_transaction_slot/part4/00006.png differ diff --git a/tests/snapshots/nanosp/test_transaction_slot/part4/00007.png b/tests/snapshots/nanosp/test_transaction_slot/part4/00007.png index 62827380..3903db85 100644 Binary files a/tests/snapshots/nanosp/test_transaction_slot/part4/00007.png and b/tests/snapshots/nanosp/test_transaction_slot/part4/00007.png differ diff --git a/tests/snapshots/nanosp/test_transaction_slot/part4/00008.png b/tests/snapshots/nanosp/test_transaction_slot/part4/00008.png index 05df1c8c..8065791c 100644 Binary files a/tests/snapshots/nanosp/test_transaction_slot/part4/00008.png and b/tests/snapshots/nanosp/test_transaction_slot/part4/00008.png differ diff --git a/tests/snapshots/nanosp/test_transaction_slot/part4/00009.png b/tests/snapshots/nanosp/test_transaction_slot/part4/00009.png index bff4ff72..d1eb962c 100644 Binary files a/tests/snapshots/nanosp/test_transaction_slot/part4/00009.png and b/tests/snapshots/nanosp/test_transaction_slot/part4/00009.png differ diff --git a/tests/snapshots/nanosp/test_transaction_slot/part4/00010.png b/tests/snapshots/nanosp/test_transaction_slot/part4/00010.png index c02f5ccb..11ac632e 100644 Binary files a/tests/snapshots/nanosp/test_transaction_slot/part4/00010.png and b/tests/snapshots/nanosp/test_transaction_slot/part4/00010.png differ diff --git a/tests/snapshots/nanosp/test_transaction_slot/part4/00011.png b/tests/snapshots/nanosp/test_transaction_slot/part4/00011.png index 51dc0ebb..62827380 100644 Binary files a/tests/snapshots/nanosp/test_transaction_slot/part4/00011.png and b/tests/snapshots/nanosp/test_transaction_slot/part4/00011.png differ diff --git a/tests/snapshots/nanosp/test_transaction_slot/part4/00012.png b/tests/snapshots/nanosp/test_transaction_slot/part4/00012.png index bbe32c35..3ad758de 100644 Binary files a/tests/snapshots/nanosp/test_transaction_slot/part4/00012.png and b/tests/snapshots/nanosp/test_transaction_slot/part4/00012.png differ diff --git a/tests/snapshots/nanosp/test_transaction_slot/part4/00013.png b/tests/snapshots/nanosp/test_transaction_slot/part4/00013.png index afc070e4..bff4ff72 100644 Binary files a/tests/snapshots/nanosp/test_transaction_slot/part4/00013.png and b/tests/snapshots/nanosp/test_transaction_slot/part4/00013.png differ diff --git a/tests/snapshots/nanosp/test_transaction_slot/part4/00014.png b/tests/snapshots/nanosp/test_transaction_slot/part4/00014.png index 1e4be699..c02f5ccb 100644 Binary files a/tests/snapshots/nanosp/test_transaction_slot/part4/00014.png and b/tests/snapshots/nanosp/test_transaction_slot/part4/00014.png differ diff --git a/tests/snapshots/nanosp/test_transaction_slot/part4/00015.png b/tests/snapshots/nanosp/test_transaction_slot/part4/00015.png index e84e8dfd..510dbb77 100644 Binary files a/tests/snapshots/nanosp/test_transaction_slot/part4/00015.png and b/tests/snapshots/nanosp/test_transaction_slot/part4/00015.png differ diff --git a/tests/snapshots/nanosp/test_transaction_slot/part4/00016.png b/tests/snapshots/nanosp/test_transaction_slot/part4/00016.png new file mode 100644 index 00000000..8099d16e Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_slot/part4/00016.png differ diff --git a/tests/snapshots/nanosp/test_transaction_slot/part4/00017.png b/tests/snapshots/nanosp/test_transaction_slot/part4/00017.png new file mode 100644 index 00000000..afc070e4 Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_slot/part4/00017.png differ diff --git a/tests/snapshots/nanosp/test_transaction_slot/part4/00018.png b/tests/snapshots/nanosp/test_transaction_slot/part4/00018.png new file mode 100644 index 00000000..1e4be699 Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_slot/part4/00018.png differ diff --git a/tests/snapshots/nanosp/test_transaction_slot/part4/00019.png b/tests/snapshots/nanosp/test_transaction_slot/part4/00019.png new file mode 100644 index 00000000..e84e8dfd Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_slot/part4/00019.png differ diff --git a/tests/snapshots/nanosp/test_transaction_slot/part6/00001.png b/tests/snapshots/nanosp/test_transaction_slot/part6/00001.png index 5b962ee9..3d59a433 100644 Binary files a/tests/snapshots/nanosp/test_transaction_slot/part6/00001.png and b/tests/snapshots/nanosp/test_transaction_slot/part6/00001.png differ diff --git a/tests/snapshots/nanosp/test_transaction_slot/part6/00003.png b/tests/snapshots/nanosp/test_transaction_slot/part6/00003.png index 81263f9e..a8b43fa8 100644 Binary files a/tests/snapshots/nanosp/test_transaction_slot/part6/00003.png and b/tests/snapshots/nanosp/test_transaction_slot/part6/00003.png differ diff --git a/tests/snapshots/nanosp/test_transaction_slot/part6/00004.png b/tests/snapshots/nanosp/test_transaction_slot/part6/00004.png index 4b4eb598..05bc276e 100644 Binary files a/tests/snapshots/nanosp/test_transaction_slot/part6/00004.png and b/tests/snapshots/nanosp/test_transaction_slot/part6/00004.png differ diff --git a/tests/snapshots/nanosp/test_transaction_slot/part6/00005.png b/tests/snapshots/nanosp/test_transaction_slot/part6/00005.png index d1eb962c..1cdfef90 100644 Binary files a/tests/snapshots/nanosp/test_transaction_slot/part6/00005.png and b/tests/snapshots/nanosp/test_transaction_slot/part6/00005.png differ diff --git a/tests/snapshots/nanosp/test_transaction_slot/part6/00006.png b/tests/snapshots/nanosp/test_transaction_slot/part6/00006.png index 11ac632e..6b84117f 100644 Binary files a/tests/snapshots/nanosp/test_transaction_slot/part6/00006.png and b/tests/snapshots/nanosp/test_transaction_slot/part6/00006.png differ diff --git a/tests/snapshots/nanosp/test_transaction_slot/part6/00007.png b/tests/snapshots/nanosp/test_transaction_slot/part6/00007.png index 62827380..3903db85 100644 Binary files a/tests/snapshots/nanosp/test_transaction_slot/part6/00007.png and b/tests/snapshots/nanosp/test_transaction_slot/part6/00007.png differ diff --git a/tests/snapshots/nanosp/test_transaction_slot/part6/00008.png b/tests/snapshots/nanosp/test_transaction_slot/part6/00008.png index 05df1c8c..8065791c 100644 Binary files a/tests/snapshots/nanosp/test_transaction_slot/part6/00008.png and b/tests/snapshots/nanosp/test_transaction_slot/part6/00008.png differ diff --git a/tests/snapshots/nanosp/test_transaction_slot/part6/00009.png b/tests/snapshots/nanosp/test_transaction_slot/part6/00009.png index bff4ff72..d1eb962c 100644 Binary files a/tests/snapshots/nanosp/test_transaction_slot/part6/00009.png and b/tests/snapshots/nanosp/test_transaction_slot/part6/00009.png differ diff --git a/tests/snapshots/nanosp/test_transaction_slot/part6/00010.png b/tests/snapshots/nanosp/test_transaction_slot/part6/00010.png index c02f5ccb..11ac632e 100644 Binary files a/tests/snapshots/nanosp/test_transaction_slot/part6/00010.png and b/tests/snapshots/nanosp/test_transaction_slot/part6/00010.png differ diff --git a/tests/snapshots/nanosp/test_transaction_slot/part6/00011.png b/tests/snapshots/nanosp/test_transaction_slot/part6/00011.png index 42cf0b73..62827380 100644 Binary files a/tests/snapshots/nanosp/test_transaction_slot/part6/00011.png and b/tests/snapshots/nanosp/test_transaction_slot/part6/00011.png differ diff --git a/tests/snapshots/nanosp/test_transaction_slot/part6/00012.png b/tests/snapshots/nanosp/test_transaction_slot/part6/00012.png index bbe32c35..3ad758de 100644 Binary files a/tests/snapshots/nanosp/test_transaction_slot/part6/00012.png and b/tests/snapshots/nanosp/test_transaction_slot/part6/00012.png differ diff --git a/tests/snapshots/nanosp/test_transaction_slot/part6/00013.png b/tests/snapshots/nanosp/test_transaction_slot/part6/00013.png index 1e4be699..bff4ff72 100644 Binary files a/tests/snapshots/nanosp/test_transaction_slot/part6/00013.png and b/tests/snapshots/nanosp/test_transaction_slot/part6/00013.png differ diff --git a/tests/snapshots/nanosp/test_transaction_slot/part6/00014.png b/tests/snapshots/nanosp/test_transaction_slot/part6/00014.png index e84e8dfd..c02f5ccb 100644 Binary files a/tests/snapshots/nanosp/test_transaction_slot/part6/00014.png and b/tests/snapshots/nanosp/test_transaction_slot/part6/00014.png differ diff --git a/tests/snapshots/nanosp/test_transaction_slot/part6/00015.png b/tests/snapshots/nanosp/test_transaction_slot/part6/00015.png new file mode 100644 index 00000000..42cf0b73 Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_slot/part6/00015.png differ diff --git a/tests/snapshots/nanosp/test_transaction_slot/part6/00016.png b/tests/snapshots/nanosp/test_transaction_slot/part6/00016.png new file mode 100644 index 00000000..8099d16e Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_slot/part6/00016.png differ diff --git a/tests/snapshots/nanosp/test_transaction_slot/part6/00017.png b/tests/snapshots/nanosp/test_transaction_slot/part6/00017.png new file mode 100644 index 00000000..1e4be699 Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_slot/part6/00017.png differ diff --git a/tests/snapshots/nanosp/test_transaction_slot/part6/00018.png b/tests/snapshots/nanosp/test_transaction_slot/part6/00018.png new file mode 100644 index 00000000..e84e8dfd Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_slot/part6/00018.png differ diff --git a/tests/snapshots/nanosp/test_transaction_slot/part8/00001.png b/tests/snapshots/nanosp/test_transaction_slot/part8/00001.png index 5b962ee9..3d59a433 100644 Binary files a/tests/snapshots/nanosp/test_transaction_slot/part8/00001.png and b/tests/snapshots/nanosp/test_transaction_slot/part8/00001.png differ diff --git a/tests/snapshots/nanosp/test_transaction_slot/part8/00003.png b/tests/snapshots/nanosp/test_transaction_slot/part8/00003.png index 81263f9e..a8b43fa8 100644 Binary files a/tests/snapshots/nanosp/test_transaction_slot/part8/00003.png and b/tests/snapshots/nanosp/test_transaction_slot/part8/00003.png differ diff --git a/tests/snapshots/nanosp/test_transaction_slot/part8/00004.png b/tests/snapshots/nanosp/test_transaction_slot/part8/00004.png index 4b4eb598..05bc276e 100644 Binary files a/tests/snapshots/nanosp/test_transaction_slot/part8/00004.png and b/tests/snapshots/nanosp/test_transaction_slot/part8/00004.png differ diff --git a/tests/snapshots/nanosp/test_transaction_slot/part8/00005.png b/tests/snapshots/nanosp/test_transaction_slot/part8/00005.png index d1eb962c..1cdfef90 100644 Binary files a/tests/snapshots/nanosp/test_transaction_slot/part8/00005.png and b/tests/snapshots/nanosp/test_transaction_slot/part8/00005.png differ diff --git a/tests/snapshots/nanosp/test_transaction_slot/part8/00006.png b/tests/snapshots/nanosp/test_transaction_slot/part8/00006.png index 11ac632e..6b84117f 100644 Binary files a/tests/snapshots/nanosp/test_transaction_slot/part8/00006.png and b/tests/snapshots/nanosp/test_transaction_slot/part8/00006.png differ diff --git a/tests/snapshots/nanosp/test_transaction_slot/part8/00007.png b/tests/snapshots/nanosp/test_transaction_slot/part8/00007.png index 62827380..3903db85 100644 Binary files a/tests/snapshots/nanosp/test_transaction_slot/part8/00007.png and b/tests/snapshots/nanosp/test_transaction_slot/part8/00007.png differ diff --git a/tests/snapshots/nanosp/test_transaction_slot/part8/00008.png b/tests/snapshots/nanosp/test_transaction_slot/part8/00008.png index 68020b16..8065791c 100644 Binary files a/tests/snapshots/nanosp/test_transaction_slot/part8/00008.png and b/tests/snapshots/nanosp/test_transaction_slot/part8/00008.png differ diff --git a/tests/snapshots/nanosp/test_transaction_slot/part8/00009.png b/tests/snapshots/nanosp/test_transaction_slot/part8/00009.png index bff4ff72..d1eb962c 100644 Binary files a/tests/snapshots/nanosp/test_transaction_slot/part8/00009.png and b/tests/snapshots/nanosp/test_transaction_slot/part8/00009.png differ diff --git a/tests/snapshots/nanosp/test_transaction_slot/part8/00010.png b/tests/snapshots/nanosp/test_transaction_slot/part8/00010.png index c02f5ccb..11ac632e 100644 Binary files a/tests/snapshots/nanosp/test_transaction_slot/part8/00010.png and b/tests/snapshots/nanosp/test_transaction_slot/part8/00010.png differ diff --git a/tests/snapshots/nanosp/test_transaction_slot/part8/00011.png b/tests/snapshots/nanosp/test_transaction_slot/part8/00011.png index 51dc0ebb..62827380 100644 Binary files a/tests/snapshots/nanosp/test_transaction_slot/part8/00011.png and b/tests/snapshots/nanosp/test_transaction_slot/part8/00011.png differ diff --git a/tests/snapshots/nanosp/test_transaction_slot/part8/00012.png b/tests/snapshots/nanosp/test_transaction_slot/part8/00012.png index bbe32c35..68020b16 100644 Binary files a/tests/snapshots/nanosp/test_transaction_slot/part8/00012.png and b/tests/snapshots/nanosp/test_transaction_slot/part8/00012.png differ diff --git a/tests/snapshots/nanosp/test_transaction_slot/part8/00013.png b/tests/snapshots/nanosp/test_transaction_slot/part8/00013.png index 1e4be699..bff4ff72 100644 Binary files a/tests/snapshots/nanosp/test_transaction_slot/part8/00013.png and b/tests/snapshots/nanosp/test_transaction_slot/part8/00013.png differ diff --git a/tests/snapshots/nanosp/test_transaction_slot/part8/00014.png b/tests/snapshots/nanosp/test_transaction_slot/part8/00014.png index e84e8dfd..c02f5ccb 100644 Binary files a/tests/snapshots/nanosp/test_transaction_slot/part8/00014.png and b/tests/snapshots/nanosp/test_transaction_slot/part8/00014.png differ diff --git a/tests/snapshots/nanosp/test_transaction_slot/part8/00015.png b/tests/snapshots/nanosp/test_transaction_slot/part8/00015.png new file mode 100644 index 00000000..510dbb77 Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_slot/part8/00015.png differ diff --git a/tests/snapshots/nanosp/test_transaction_slot/part8/00016.png b/tests/snapshots/nanosp/test_transaction_slot/part8/00016.png new file mode 100644 index 00000000..8099d16e Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_slot/part8/00016.png differ diff --git a/tests/snapshots/nanosp/test_transaction_slot/part8/00017.png b/tests/snapshots/nanosp/test_transaction_slot/part8/00017.png new file mode 100644 index 00000000..1e4be699 Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_slot/part8/00017.png differ diff --git a/tests/snapshots/nanosp/test_transaction_slot/part8/00018.png b/tests/snapshots/nanosp/test_transaction_slot/part8/00018.png new file mode 100644 index 00000000..e84e8dfd Binary files /dev/null and b/tests/snapshots/nanosp/test_transaction_slot/part8/00018.png differ diff --git a/tests/snapshots/nanox/test_transaction_expert/part1/00001.png b/tests/snapshots/nanox/test_transaction_expert/part1/00001.png index 5b962ee9..262b4b5e 100644 Binary files a/tests/snapshots/nanox/test_transaction_expert/part1/00001.png and b/tests/snapshots/nanox/test_transaction_expert/part1/00001.png differ diff --git a/tests/snapshots/nanox/test_transaction_expert/part1/00002.png b/tests/snapshots/nanox/test_transaction_expert/part1/00002.png index 9e5fbace..5481d5da 100644 Binary files a/tests/snapshots/nanox/test_transaction_expert/part1/00002.png and b/tests/snapshots/nanox/test_transaction_expert/part1/00002.png differ diff --git a/tests/snapshots/nanox/test_transaction_expert/part1/00003.png b/tests/snapshots/nanox/test_transaction_expert/part1/00003.png index 81263f9e..de527bf7 100644 Binary files a/tests/snapshots/nanox/test_transaction_expert/part1/00003.png and b/tests/snapshots/nanox/test_transaction_expert/part1/00003.png differ diff --git a/tests/snapshots/nanox/test_transaction_expert/part1/00004.png b/tests/snapshots/nanox/test_transaction_expert/part1/00004.png index 4b4eb598..d8a2740e 100644 Binary files a/tests/snapshots/nanox/test_transaction_expert/part1/00004.png and b/tests/snapshots/nanox/test_transaction_expert/part1/00004.png differ diff --git a/tests/snapshots/nanox/test_transaction_expert/part1/00005.png b/tests/snapshots/nanox/test_transaction_expert/part1/00005.png index d8a2740e..4d1a7f73 100644 Binary files a/tests/snapshots/nanox/test_transaction_expert/part1/00005.png and b/tests/snapshots/nanox/test_transaction_expert/part1/00005.png differ diff --git a/tests/snapshots/nanox/test_transaction_expert/part1/00006.png b/tests/snapshots/nanox/test_transaction_expert/part1/00006.png index 4d1a7f73..38f03f75 100644 Binary files a/tests/snapshots/nanox/test_transaction_expert/part1/00006.png and b/tests/snapshots/nanox/test_transaction_expert/part1/00006.png differ diff --git a/tests/snapshots/nanox/test_transaction_expert/part1/00007.png b/tests/snapshots/nanox/test_transaction_expert/part1/00007.png index 38f03f75..1030e3e1 100644 Binary files a/tests/snapshots/nanox/test_transaction_expert/part1/00007.png and b/tests/snapshots/nanox/test_transaction_expert/part1/00007.png differ diff --git a/tests/snapshots/nanox/test_transaction_expert/part1/00008.png b/tests/snapshots/nanox/test_transaction_expert/part1/00008.png index 37312a69..163e4981 100644 Binary files a/tests/snapshots/nanox/test_transaction_expert/part1/00008.png and b/tests/snapshots/nanox/test_transaction_expert/part1/00008.png differ diff --git a/tests/snapshots/nanox/test_transaction_expert/part1/00009.png b/tests/snapshots/nanox/test_transaction_expert/part1/00009.png index 163e4981..b5f70a2c 100644 Binary files a/tests/snapshots/nanox/test_transaction_expert/part1/00009.png and b/tests/snapshots/nanox/test_transaction_expert/part1/00009.png differ diff --git a/tests/snapshots/nanox/test_transaction_expert/part1/00010.png b/tests/snapshots/nanox/test_transaction_expert/part1/00010.png index b5f70a2c..510dbb77 100644 Binary files a/tests/snapshots/nanox/test_transaction_expert/part1/00010.png and b/tests/snapshots/nanox/test_transaction_expert/part1/00010.png differ diff --git a/tests/snapshots/nanox/test_transaction_expert/part1/00011.png b/tests/snapshots/nanox/test_transaction_expert/part1/00011.png index 42cf0b73..8099d16e 100644 Binary files a/tests/snapshots/nanox/test_transaction_expert/part1/00011.png and b/tests/snapshots/nanox/test_transaction_expert/part1/00011.png differ diff --git a/tests/snapshots/nanox/test_transaction_expert/part1/00012.png b/tests/snapshots/nanox/test_transaction_expert/part1/00012.png index 819d3159..2a16d649 100644 Binary files a/tests/snapshots/nanox/test_transaction_expert/part1/00012.png and b/tests/snapshots/nanox/test_transaction_expert/part1/00012.png differ diff --git a/tests/snapshots/nanox/test_transaction_expert/part1/00013.png b/tests/snapshots/nanox/test_transaction_expert/part1/00013.png index 2a16d649..14c87a49 100644 Binary files a/tests/snapshots/nanox/test_transaction_expert/part1/00013.png and b/tests/snapshots/nanox/test_transaction_expert/part1/00013.png differ diff --git a/tests/snapshots/nanox/test_transaction_expert/part1/00014.png b/tests/snapshots/nanox/test_transaction_expert/part1/00014.png index 14c87a49..1e4be699 100644 Binary files a/tests/snapshots/nanox/test_transaction_expert/part1/00014.png and b/tests/snapshots/nanox/test_transaction_expert/part1/00014.png differ diff --git a/tests/snapshots/nanox/test_transaction_expert/part1/00015.png b/tests/snapshots/nanox/test_transaction_expert/part1/00015.png index 1e4be699..e84e8dfd 100644 Binary files a/tests/snapshots/nanox/test_transaction_expert/part1/00015.png and b/tests/snapshots/nanox/test_transaction_expert/part1/00015.png differ diff --git a/tests/snapshots/nanox/test_transaction_expert/part2/00001.png b/tests/snapshots/nanox/test_transaction_expert/part2/00001.png index 5b962ee9..262b4b5e 100644 Binary files a/tests/snapshots/nanox/test_transaction_expert/part2/00001.png and b/tests/snapshots/nanox/test_transaction_expert/part2/00001.png differ diff --git a/tests/snapshots/nanox/test_transaction_expert/part2/00002.png b/tests/snapshots/nanox/test_transaction_expert/part2/00002.png index 9e5fbace..5481d5da 100644 Binary files a/tests/snapshots/nanox/test_transaction_expert/part2/00002.png and b/tests/snapshots/nanox/test_transaction_expert/part2/00002.png differ diff --git a/tests/snapshots/nanox/test_transaction_expert/part2/00003.png b/tests/snapshots/nanox/test_transaction_expert/part2/00003.png index 81263f9e..de527bf7 100644 Binary files a/tests/snapshots/nanox/test_transaction_expert/part2/00003.png and b/tests/snapshots/nanox/test_transaction_expert/part2/00003.png differ diff --git a/tests/snapshots/nanox/test_transaction_expert/part2/00004.png b/tests/snapshots/nanox/test_transaction_expert/part2/00004.png index 4b4eb598..d8a2740e 100644 Binary files a/tests/snapshots/nanox/test_transaction_expert/part2/00004.png and b/tests/snapshots/nanox/test_transaction_expert/part2/00004.png differ diff --git a/tests/snapshots/nanox/test_transaction_expert/part2/00005.png b/tests/snapshots/nanox/test_transaction_expert/part2/00005.png index d8a2740e..4d1a7f73 100644 Binary files a/tests/snapshots/nanox/test_transaction_expert/part2/00005.png and b/tests/snapshots/nanox/test_transaction_expert/part2/00005.png differ diff --git a/tests/snapshots/nanox/test_transaction_expert/part2/00006.png b/tests/snapshots/nanox/test_transaction_expert/part2/00006.png index 4d1a7f73..38f03f75 100644 Binary files a/tests/snapshots/nanox/test_transaction_expert/part2/00006.png and b/tests/snapshots/nanox/test_transaction_expert/part2/00006.png differ diff --git a/tests/snapshots/nanox/test_transaction_expert/part2/00007.png b/tests/snapshots/nanox/test_transaction_expert/part2/00007.png index 38f03f75..1030e3e1 100644 Binary files a/tests/snapshots/nanox/test_transaction_expert/part2/00007.png and b/tests/snapshots/nanox/test_transaction_expert/part2/00007.png differ diff --git a/tests/snapshots/nanox/test_transaction_expert/part2/00008.png b/tests/snapshots/nanox/test_transaction_expert/part2/00008.png index 37312a69..163e4981 100644 Binary files a/tests/snapshots/nanox/test_transaction_expert/part2/00008.png and b/tests/snapshots/nanox/test_transaction_expert/part2/00008.png differ diff --git a/tests/snapshots/nanox/test_transaction_expert/part2/00009.png b/tests/snapshots/nanox/test_transaction_expert/part2/00009.png index 163e4981..b5f70a2c 100644 Binary files a/tests/snapshots/nanox/test_transaction_expert/part2/00009.png and b/tests/snapshots/nanox/test_transaction_expert/part2/00009.png differ diff --git a/tests/snapshots/nanox/test_transaction_expert/part2/00010.png b/tests/snapshots/nanox/test_transaction_expert/part2/00010.png index b5f70a2c..510dbb77 100644 Binary files a/tests/snapshots/nanox/test_transaction_expert/part2/00010.png and b/tests/snapshots/nanox/test_transaction_expert/part2/00010.png differ diff --git a/tests/snapshots/nanox/test_transaction_expert/part2/00011.png b/tests/snapshots/nanox/test_transaction_expert/part2/00011.png index 42cf0b73..8099d16e 100644 Binary files a/tests/snapshots/nanox/test_transaction_expert/part2/00011.png and b/tests/snapshots/nanox/test_transaction_expert/part2/00011.png differ diff --git a/tests/snapshots/nanox/test_transaction_expert/part2/00012.png b/tests/snapshots/nanox/test_transaction_expert/part2/00012.png index 819d3159..94fa1038 100644 Binary files a/tests/snapshots/nanox/test_transaction_expert/part2/00012.png and b/tests/snapshots/nanox/test_transaction_expert/part2/00012.png differ diff --git a/tests/snapshots/nanox/test_transaction_expert/part2/00013.png b/tests/snapshots/nanox/test_transaction_expert/part2/00013.png index 94fa1038..14c87a49 100644 Binary files a/tests/snapshots/nanox/test_transaction_expert/part2/00013.png and b/tests/snapshots/nanox/test_transaction_expert/part2/00013.png differ diff --git a/tests/snapshots/nanox/test_transaction_expert/part2/00014.png b/tests/snapshots/nanox/test_transaction_expert/part2/00014.png index 14c87a49..1e4be699 100644 Binary files a/tests/snapshots/nanox/test_transaction_expert/part2/00014.png and b/tests/snapshots/nanox/test_transaction_expert/part2/00014.png differ diff --git a/tests/snapshots/nanox/test_transaction_expert/part2/00015.png b/tests/snapshots/nanox/test_transaction_expert/part2/00015.png index 1e4be699..e84e8dfd 100644 Binary files a/tests/snapshots/nanox/test_transaction_expert/part2/00015.png and b/tests/snapshots/nanox/test_transaction_expert/part2/00015.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/FA.01-Mainnet/00000.png b/tests/snapshots/nanox/test_transaction_manifest/FA.01-Mainnet/00000.png new file mode 100644 index 00000000..3e327861 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/FA.01-Mainnet/00000.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/FA.01-Mainnet/00001.png b/tests/snapshots/nanox/test_transaction_manifest/FA.01-Mainnet/00001.png new file mode 100644 index 00000000..a10bf897 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/FA.01-Mainnet/00001.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/FA.01-Mainnet/00002.png b/tests/snapshots/nanox/test_transaction_manifest/FA.01-Mainnet/00002.png new file mode 100644 index 00000000..5481d5da Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/FA.01-Mainnet/00002.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/FA.01-Mainnet/00003.png b/tests/snapshots/nanox/test_transaction_manifest/FA.01-Mainnet/00003.png new file mode 100644 index 00000000..d1930d7a Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/FA.01-Mainnet/00003.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/FA.01-Mainnet/00004.png b/tests/snapshots/nanox/test_transaction_manifest/FA.01-Mainnet/00004.png new file mode 100644 index 00000000..a4d302e5 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/FA.01-Mainnet/00004.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/FA.01-Mainnet/00005.png b/tests/snapshots/nanox/test_transaction_manifest/FA.01-Mainnet/00005.png new file mode 100644 index 00000000..c22f01b2 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/FA.01-Mainnet/00005.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/FA.01-Mainnet/00006.png b/tests/snapshots/nanox/test_transaction_manifest/FA.01-Mainnet/00006.png new file mode 100644 index 00000000..6b84117f Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/FA.01-Mainnet/00006.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/FA.01-Mainnet/00007.png b/tests/snapshots/nanox/test_transaction_manifest/FA.01-Mainnet/00007.png new file mode 100644 index 00000000..3903db85 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/FA.01-Mainnet/00007.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/FA.01-Mainnet/00008.png b/tests/snapshots/nanox/test_transaction_manifest/FA.01-Mainnet/00008.png new file mode 100644 index 00000000..8065791c Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/FA.01-Mainnet/00008.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/FA.01-Mainnet/00009.png b/tests/snapshots/nanox/test_transaction_manifest/FA.01-Mainnet/00009.png new file mode 100644 index 00000000..d8a2740e Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/FA.01-Mainnet/00009.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/FA.01-Mainnet/00010.png b/tests/snapshots/nanox/test_transaction_manifest/FA.01-Mainnet/00010.png new file mode 100644 index 00000000..4d1a7f73 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/FA.01-Mainnet/00010.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/FA.01-Mainnet/00011.png b/tests/snapshots/nanox/test_transaction_manifest/FA.01-Mainnet/00011.png new file mode 100644 index 00000000..38f03f75 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/FA.01-Mainnet/00011.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/FA.01-Mainnet/00012.png b/tests/snapshots/nanox/test_transaction_manifest/FA.01-Mainnet/00012.png new file mode 100644 index 00000000..1030e3e1 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/FA.01-Mainnet/00012.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/FA.01-Mainnet/00013.png b/tests/snapshots/nanox/test_transaction_manifest/FA.01-Mainnet/00013.png new file mode 100644 index 00000000..163e4981 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/FA.01-Mainnet/00013.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/FA.01-Mainnet/00014.png b/tests/snapshots/nanox/test_transaction_manifest/FA.01-Mainnet/00014.png new file mode 100644 index 00000000..b5f70a2c Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/FA.01-Mainnet/00014.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/FA.01-Mainnet/00015.png b/tests/snapshots/nanox/test_transaction_manifest/FA.01-Mainnet/00015.png new file mode 100644 index 00000000..510dbb77 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/FA.01-Mainnet/00015.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/FA.01-Mainnet/00016.png b/tests/snapshots/nanox/test_transaction_manifest/FA.01-Mainnet/00016.png new file mode 100644 index 00000000..8099d16e Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/FA.01-Mainnet/00016.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/FA.01-Mainnet/00017.png b/tests/snapshots/nanox/test_transaction_manifest/FA.01-Mainnet/00017.png new file mode 100644 index 00000000..14c87a49 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/FA.01-Mainnet/00017.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/FA.01-Mainnet/00018.png b/tests/snapshots/nanox/test_transaction_manifest/FA.01-Mainnet/00018.png new file mode 100644 index 00000000..1e4be699 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/FA.01-Mainnet/00018.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/FA.01-Mainnet/00019.png b/tests/snapshots/nanox/test_transaction_manifest/FA.01-Mainnet/00019.png new file mode 100644 index 00000000..e84e8dfd Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/FA.01-Mainnet/00019.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/FA.01-Testnet/00000.png b/tests/snapshots/nanox/test_transaction_manifest/FA.01-Testnet/00000.png new file mode 100644 index 00000000..3e327861 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/FA.01-Testnet/00000.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/FA.01-Testnet/00001.png b/tests/snapshots/nanox/test_transaction_manifest/FA.01-Testnet/00001.png new file mode 100644 index 00000000..a10bf897 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/FA.01-Testnet/00001.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/FA.01-Testnet/00002.png b/tests/snapshots/nanox/test_transaction_manifest/FA.01-Testnet/00002.png new file mode 100644 index 00000000..9badf1a4 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/FA.01-Testnet/00002.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/FA.01-Testnet/00003.png b/tests/snapshots/nanox/test_transaction_manifest/FA.01-Testnet/00003.png new file mode 100644 index 00000000..d1930d7a Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/FA.01-Testnet/00003.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/FA.01-Testnet/00004.png b/tests/snapshots/nanox/test_transaction_manifest/FA.01-Testnet/00004.png new file mode 100644 index 00000000..a4d302e5 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/FA.01-Testnet/00004.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/FA.01-Testnet/00005.png b/tests/snapshots/nanox/test_transaction_manifest/FA.01-Testnet/00005.png new file mode 100644 index 00000000..c22f01b2 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/FA.01-Testnet/00005.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/FA.01-Testnet/00006.png b/tests/snapshots/nanox/test_transaction_manifest/FA.01-Testnet/00006.png new file mode 100644 index 00000000..6b84117f Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/FA.01-Testnet/00006.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/FA.01-Testnet/00007.png b/tests/snapshots/nanox/test_transaction_manifest/FA.01-Testnet/00007.png new file mode 100644 index 00000000..3903db85 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/FA.01-Testnet/00007.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/FA.01-Testnet/00008.png b/tests/snapshots/nanox/test_transaction_manifest/FA.01-Testnet/00008.png new file mode 100644 index 00000000..8065791c Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/FA.01-Testnet/00008.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/FA.01-Testnet/00009.png b/tests/snapshots/nanox/test_transaction_manifest/FA.01-Testnet/00009.png new file mode 100644 index 00000000..d8a2740e Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/FA.01-Testnet/00009.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/FA.01-Testnet/00010.png b/tests/snapshots/nanox/test_transaction_manifest/FA.01-Testnet/00010.png new file mode 100644 index 00000000..4d1a7f73 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/FA.01-Testnet/00010.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/FA.01-Testnet/00011.png b/tests/snapshots/nanox/test_transaction_manifest/FA.01-Testnet/00011.png new file mode 100644 index 00000000..38f03f75 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/FA.01-Testnet/00011.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/FA.01-Testnet/00012.png b/tests/snapshots/nanox/test_transaction_manifest/FA.01-Testnet/00012.png new file mode 100644 index 00000000..21b1ee21 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/FA.01-Testnet/00012.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/FA.01-Testnet/00013.png b/tests/snapshots/nanox/test_transaction_manifest/FA.01-Testnet/00013.png new file mode 100644 index 00000000..163e4981 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/FA.01-Testnet/00013.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/FA.01-Testnet/00014.png b/tests/snapshots/nanox/test_transaction_manifest/FA.01-Testnet/00014.png new file mode 100644 index 00000000..b5f70a2c Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/FA.01-Testnet/00014.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/FA.01-Testnet/00015.png b/tests/snapshots/nanox/test_transaction_manifest/FA.01-Testnet/00015.png new file mode 100644 index 00000000..3df973c5 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/FA.01-Testnet/00015.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/FA.01-Testnet/00016.png b/tests/snapshots/nanox/test_transaction_manifest/FA.01-Testnet/00016.png new file mode 100644 index 00000000..bcbf619c Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/FA.01-Testnet/00016.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/FA.01-Testnet/00017.png b/tests/snapshots/nanox/test_transaction_manifest/FA.01-Testnet/00017.png new file mode 100644 index 00000000..14c87a49 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/FA.01-Testnet/00017.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/FA.01-Testnet/00018.png b/tests/snapshots/nanox/test_transaction_manifest/FA.01-Testnet/00018.png new file mode 100644 index 00000000..1e4be699 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/FA.01-Testnet/00018.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/FA.01-Testnet/00019.png b/tests/snapshots/nanox/test_transaction_manifest/FA.01-Testnet/00019.png new file mode 100644 index 00000000..e84e8dfd Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/FA.01-Testnet/00019.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/FA.02-Mainnet/00000.png b/tests/snapshots/nanox/test_transaction_manifest/FA.02-Mainnet/00000.png new file mode 100644 index 00000000..3e327861 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/FA.02-Mainnet/00000.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/FA.02-Mainnet/00001.png b/tests/snapshots/nanox/test_transaction_manifest/FA.02-Mainnet/00001.png new file mode 100644 index 00000000..3d59a433 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/FA.02-Mainnet/00001.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/FA.02-Mainnet/00002.png b/tests/snapshots/nanox/test_transaction_manifest/FA.02-Mainnet/00002.png new file mode 100644 index 00000000..5481d5da Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/FA.02-Mainnet/00002.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/FA.02-Mainnet/00003.png b/tests/snapshots/nanox/test_transaction_manifest/FA.02-Mainnet/00003.png new file mode 100644 index 00000000..d1930d7a Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/FA.02-Mainnet/00003.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/FA.02-Mainnet/00004.png b/tests/snapshots/nanox/test_transaction_manifest/FA.02-Mainnet/00004.png new file mode 100644 index 00000000..a4d302e5 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/FA.02-Mainnet/00004.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/FA.02-Mainnet/00005.png b/tests/snapshots/nanox/test_transaction_manifest/FA.02-Mainnet/00005.png new file mode 100644 index 00000000..c22f01b2 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/FA.02-Mainnet/00005.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/FA.02-Mainnet/00006.png b/tests/snapshots/nanox/test_transaction_manifest/FA.02-Mainnet/00006.png new file mode 100644 index 00000000..6b84117f Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/FA.02-Mainnet/00006.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/FA.02-Mainnet/00007.png b/tests/snapshots/nanox/test_transaction_manifest/FA.02-Mainnet/00007.png new file mode 100644 index 00000000..3903db85 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/FA.02-Mainnet/00007.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/FA.02-Mainnet/00008.png b/tests/snapshots/nanox/test_transaction_manifest/FA.02-Mainnet/00008.png new file mode 100644 index 00000000..8065791c Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/FA.02-Mainnet/00008.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/FA.02-Mainnet/00009.png b/tests/snapshots/nanox/test_transaction_manifest/FA.02-Mainnet/00009.png new file mode 100644 index 00000000..d8a2740e Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/FA.02-Mainnet/00009.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/FA.02-Mainnet/00010.png b/tests/snapshots/nanox/test_transaction_manifest/FA.02-Mainnet/00010.png new file mode 100644 index 00000000..4d1a7f73 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/FA.02-Mainnet/00010.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/FA.02-Mainnet/00011.png b/tests/snapshots/nanox/test_transaction_manifest/FA.02-Mainnet/00011.png new file mode 100644 index 00000000..38f03f75 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/FA.02-Mainnet/00011.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/FA.02-Mainnet/00012.png b/tests/snapshots/nanox/test_transaction_manifest/FA.02-Mainnet/00012.png new file mode 100644 index 00000000..1030e3e1 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/FA.02-Mainnet/00012.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/FA.02-Mainnet/00013.png b/tests/snapshots/nanox/test_transaction_manifest/FA.02-Mainnet/00013.png new file mode 100644 index 00000000..163e4981 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/FA.02-Mainnet/00013.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/FA.02-Mainnet/00014.png b/tests/snapshots/nanox/test_transaction_manifest/FA.02-Mainnet/00014.png new file mode 100644 index 00000000..b5f70a2c Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/FA.02-Mainnet/00014.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/FA.02-Mainnet/00015.png b/tests/snapshots/nanox/test_transaction_manifest/FA.02-Mainnet/00015.png new file mode 100644 index 00000000..510dbb77 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/FA.02-Mainnet/00015.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/FA.02-Mainnet/00016.png b/tests/snapshots/nanox/test_transaction_manifest/FA.02-Mainnet/00016.png new file mode 100644 index 00000000..8099d16e Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/FA.02-Mainnet/00016.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/FA.02-Mainnet/00017.png b/tests/snapshots/nanox/test_transaction_manifest/FA.02-Mainnet/00017.png new file mode 100644 index 00000000..14c87a49 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/FA.02-Mainnet/00017.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/FA.02-Mainnet/00018.png b/tests/snapshots/nanox/test_transaction_manifest/FA.02-Mainnet/00018.png new file mode 100644 index 00000000..1e4be699 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/FA.02-Mainnet/00018.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/FA.02-Mainnet/00019.png b/tests/snapshots/nanox/test_transaction_manifest/FA.02-Mainnet/00019.png new file mode 100644 index 00000000..e84e8dfd Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/FA.02-Mainnet/00019.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/FA.02-Testnet/00000.png b/tests/snapshots/nanox/test_transaction_manifest/FA.02-Testnet/00000.png new file mode 100644 index 00000000..3e327861 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/FA.02-Testnet/00000.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/FA.02-Testnet/00001.png b/tests/snapshots/nanox/test_transaction_manifest/FA.02-Testnet/00001.png new file mode 100644 index 00000000..3d59a433 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/FA.02-Testnet/00001.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/FA.02-Testnet/00002.png b/tests/snapshots/nanox/test_transaction_manifest/FA.02-Testnet/00002.png new file mode 100644 index 00000000..9badf1a4 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/FA.02-Testnet/00002.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/FA.02-Testnet/00003.png b/tests/snapshots/nanox/test_transaction_manifest/FA.02-Testnet/00003.png new file mode 100644 index 00000000..d1930d7a Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/FA.02-Testnet/00003.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/FA.02-Testnet/00004.png b/tests/snapshots/nanox/test_transaction_manifest/FA.02-Testnet/00004.png new file mode 100644 index 00000000..a4d302e5 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/FA.02-Testnet/00004.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/FA.02-Testnet/00005.png b/tests/snapshots/nanox/test_transaction_manifest/FA.02-Testnet/00005.png new file mode 100644 index 00000000..c22f01b2 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/FA.02-Testnet/00005.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/FA.02-Testnet/00006.png b/tests/snapshots/nanox/test_transaction_manifest/FA.02-Testnet/00006.png new file mode 100644 index 00000000..6b84117f Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/FA.02-Testnet/00006.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/FA.02-Testnet/00007.png b/tests/snapshots/nanox/test_transaction_manifest/FA.02-Testnet/00007.png new file mode 100644 index 00000000..3903db85 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/FA.02-Testnet/00007.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/FA.02-Testnet/00008.png b/tests/snapshots/nanox/test_transaction_manifest/FA.02-Testnet/00008.png new file mode 100644 index 00000000..8065791c Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/FA.02-Testnet/00008.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/FA.02-Testnet/00009.png b/tests/snapshots/nanox/test_transaction_manifest/FA.02-Testnet/00009.png new file mode 100644 index 00000000..d8a2740e Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/FA.02-Testnet/00009.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/FA.02-Testnet/00010.png b/tests/snapshots/nanox/test_transaction_manifest/FA.02-Testnet/00010.png new file mode 100644 index 00000000..4d1a7f73 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/FA.02-Testnet/00010.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/FA.02-Testnet/00011.png b/tests/snapshots/nanox/test_transaction_manifest/FA.02-Testnet/00011.png new file mode 100644 index 00000000..38f03f75 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/FA.02-Testnet/00011.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/FA.02-Testnet/00012.png b/tests/snapshots/nanox/test_transaction_manifest/FA.02-Testnet/00012.png new file mode 100644 index 00000000..21b1ee21 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/FA.02-Testnet/00012.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/FA.02-Testnet/00013.png b/tests/snapshots/nanox/test_transaction_manifest/FA.02-Testnet/00013.png new file mode 100644 index 00000000..163e4981 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/FA.02-Testnet/00013.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/FA.02-Testnet/00014.png b/tests/snapshots/nanox/test_transaction_manifest/FA.02-Testnet/00014.png new file mode 100644 index 00000000..b5f70a2c Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/FA.02-Testnet/00014.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/FA.02-Testnet/00015.png b/tests/snapshots/nanox/test_transaction_manifest/FA.02-Testnet/00015.png new file mode 100644 index 00000000..3df973c5 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/FA.02-Testnet/00015.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/FA.02-Testnet/00016.png b/tests/snapshots/nanox/test_transaction_manifest/FA.02-Testnet/00016.png new file mode 100644 index 00000000..bcbf619c Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/FA.02-Testnet/00016.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/FA.02-Testnet/00017.png b/tests/snapshots/nanox/test_transaction_manifest/FA.02-Testnet/00017.png new file mode 100644 index 00000000..14c87a49 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/FA.02-Testnet/00017.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/FA.02-Testnet/00018.png b/tests/snapshots/nanox/test_transaction_manifest/FA.02-Testnet/00018.png new file mode 100644 index 00000000..1e4be699 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/FA.02-Testnet/00018.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/FA.02-Testnet/00019.png b/tests/snapshots/nanox/test_transaction_manifest/FA.02-Testnet/00019.png new file mode 100644 index 00000000..e84e8dfd Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/FA.02-Testnet/00019.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/FA.03-Mainnet/00000.png b/tests/snapshots/nanox/test_transaction_manifest/FA.03-Mainnet/00000.png new file mode 100644 index 00000000..3e327861 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/FA.03-Mainnet/00000.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/FA.03-Mainnet/00001.png b/tests/snapshots/nanox/test_transaction_manifest/FA.03-Mainnet/00001.png new file mode 100644 index 00000000..262b4b5e Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/FA.03-Mainnet/00001.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/FA.03-Mainnet/00002.png b/tests/snapshots/nanox/test_transaction_manifest/FA.03-Mainnet/00002.png new file mode 100644 index 00000000..5481d5da Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/FA.03-Mainnet/00002.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/FA.03-Mainnet/00003.png b/tests/snapshots/nanox/test_transaction_manifest/FA.03-Mainnet/00003.png new file mode 100644 index 00000000..de527bf7 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/FA.03-Mainnet/00003.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/FA.03-Mainnet/00004.png b/tests/snapshots/nanox/test_transaction_manifest/FA.03-Mainnet/00004.png new file mode 100644 index 00000000..d8a2740e Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/FA.03-Mainnet/00004.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/FA.03-Mainnet/00005.png b/tests/snapshots/nanox/test_transaction_manifest/FA.03-Mainnet/00005.png new file mode 100644 index 00000000..4d1a7f73 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/FA.03-Mainnet/00005.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/FA.03-Mainnet/00006.png b/tests/snapshots/nanox/test_transaction_manifest/FA.03-Mainnet/00006.png new file mode 100644 index 00000000..38f03f75 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/FA.03-Mainnet/00006.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/FA.03-Mainnet/00007.png b/tests/snapshots/nanox/test_transaction_manifest/FA.03-Mainnet/00007.png new file mode 100644 index 00000000..1030e3e1 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/FA.03-Mainnet/00007.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/FA.03-Mainnet/00008.png b/tests/snapshots/nanox/test_transaction_manifest/FA.03-Mainnet/00008.png new file mode 100644 index 00000000..163e4981 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/FA.03-Mainnet/00008.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/FA.03-Mainnet/00009.png b/tests/snapshots/nanox/test_transaction_manifest/FA.03-Mainnet/00009.png new file mode 100644 index 00000000..b5f70a2c Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/FA.03-Mainnet/00009.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/FA.03-Mainnet/00010.png b/tests/snapshots/nanox/test_transaction_manifest/FA.03-Mainnet/00010.png new file mode 100644 index 00000000..510dbb77 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/FA.03-Mainnet/00010.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/FA.03-Mainnet/00011.png b/tests/snapshots/nanox/test_transaction_manifest/FA.03-Mainnet/00011.png new file mode 100644 index 00000000..8099d16e Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/FA.03-Mainnet/00011.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/FA.03-Mainnet/00012.png b/tests/snapshots/nanox/test_transaction_manifest/FA.03-Mainnet/00012.png new file mode 100644 index 00000000..14c87a49 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/FA.03-Mainnet/00012.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/FA.03-Mainnet/00013.png b/tests/snapshots/nanox/test_transaction_manifest/FA.03-Mainnet/00013.png new file mode 100644 index 00000000..1e4be699 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/FA.03-Mainnet/00013.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/FA.03-Mainnet/00014.png b/tests/snapshots/nanox/test_transaction_manifest/FA.03-Mainnet/00014.png new file mode 100644 index 00000000..e84e8dfd Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/FA.03-Mainnet/00014.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/FA.03-Testnet/00000.png b/tests/snapshots/nanox/test_transaction_manifest/FA.03-Testnet/00000.png new file mode 100644 index 00000000..3e327861 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/FA.03-Testnet/00000.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/FA.03-Testnet/00001.png b/tests/snapshots/nanox/test_transaction_manifest/FA.03-Testnet/00001.png new file mode 100644 index 00000000..262b4b5e Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/FA.03-Testnet/00001.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/FA.03-Testnet/00002.png b/tests/snapshots/nanox/test_transaction_manifest/FA.03-Testnet/00002.png new file mode 100644 index 00000000..9badf1a4 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/FA.03-Testnet/00002.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/FA.03-Testnet/00003.png b/tests/snapshots/nanox/test_transaction_manifest/FA.03-Testnet/00003.png new file mode 100644 index 00000000..de527bf7 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/FA.03-Testnet/00003.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/FA.03-Testnet/00004.png b/tests/snapshots/nanox/test_transaction_manifest/FA.03-Testnet/00004.png new file mode 100644 index 00000000..d8a2740e Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/FA.03-Testnet/00004.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/FA.03-Testnet/00005.png b/tests/snapshots/nanox/test_transaction_manifest/FA.03-Testnet/00005.png new file mode 100644 index 00000000..4d1a7f73 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/FA.03-Testnet/00005.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/FA.03-Testnet/00006.png b/tests/snapshots/nanox/test_transaction_manifest/FA.03-Testnet/00006.png new file mode 100644 index 00000000..38f03f75 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/FA.03-Testnet/00006.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/FA.03-Testnet/00007.png b/tests/snapshots/nanox/test_transaction_manifest/FA.03-Testnet/00007.png new file mode 100644 index 00000000..21b1ee21 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/FA.03-Testnet/00007.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/FA.03-Testnet/00008.png b/tests/snapshots/nanox/test_transaction_manifest/FA.03-Testnet/00008.png new file mode 100644 index 00000000..163e4981 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/FA.03-Testnet/00008.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/FA.03-Testnet/00009.png b/tests/snapshots/nanox/test_transaction_manifest/FA.03-Testnet/00009.png new file mode 100644 index 00000000..b5f70a2c Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/FA.03-Testnet/00009.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/FA.03-Testnet/00010.png b/tests/snapshots/nanox/test_transaction_manifest/FA.03-Testnet/00010.png new file mode 100644 index 00000000..3df973c5 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/FA.03-Testnet/00010.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/FA.03-Testnet/00011.png b/tests/snapshots/nanox/test_transaction_manifest/FA.03-Testnet/00011.png new file mode 100644 index 00000000..bcbf619c Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/FA.03-Testnet/00011.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/FA.03-Testnet/00012.png b/tests/snapshots/nanox/test_transaction_manifest/FA.03-Testnet/00012.png new file mode 100644 index 00000000..14c87a49 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/FA.03-Testnet/00012.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/FA.03-Testnet/00013.png b/tests/snapshots/nanox/test_transaction_manifest/FA.03-Testnet/00013.png new file mode 100644 index 00000000..1e4be699 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/FA.03-Testnet/00013.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/FA.03-Testnet/00014.png b/tests/snapshots/nanox/test_transaction_manifest/FA.03-Testnet/00014.png new file mode 100644 index 00000000..e84e8dfd Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/FA.03-Testnet/00014.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/FT.01-Mainnet/00000.png b/tests/snapshots/nanox/test_transaction_manifest/FT.01-Mainnet/00000.png new file mode 100644 index 00000000..3e327861 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/FT.01-Mainnet/00000.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/FT.01-Mainnet/00001.png b/tests/snapshots/nanox/test_transaction_manifest/FT.01-Mainnet/00001.png new file mode 100644 index 00000000..024c5d5d Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/FT.01-Mainnet/00001.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/FT.01-Mainnet/00002.png b/tests/snapshots/nanox/test_transaction_manifest/FT.01-Mainnet/00002.png new file mode 100644 index 00000000..5481d5da Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/FT.01-Mainnet/00002.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/FT.01-Mainnet/00003.png b/tests/snapshots/nanox/test_transaction_manifest/FT.01-Mainnet/00003.png new file mode 100644 index 00000000..d4b63b86 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/FT.01-Mainnet/00003.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/FT.01-Mainnet/00004.png b/tests/snapshots/nanox/test_transaction_manifest/FT.01-Mainnet/00004.png new file mode 100644 index 00000000..b44c2e05 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/FT.01-Mainnet/00004.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/FT.01-Mainnet/00005.png b/tests/snapshots/nanox/test_transaction_manifest/FT.01-Mainnet/00005.png new file mode 100644 index 00000000..d8a2740e Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/FT.01-Mainnet/00005.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/FT.01-Mainnet/00006.png b/tests/snapshots/nanox/test_transaction_manifest/FT.01-Mainnet/00006.png new file mode 100644 index 00000000..4d1a7f73 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/FT.01-Mainnet/00006.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/FT.01-Mainnet/00007.png b/tests/snapshots/nanox/test_transaction_manifest/FT.01-Mainnet/00007.png new file mode 100644 index 00000000..38f03f75 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/FT.01-Mainnet/00007.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/FT.01-Mainnet/00008.png b/tests/snapshots/nanox/test_transaction_manifest/FT.01-Mainnet/00008.png new file mode 100644 index 00000000..1030e3e1 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/FT.01-Mainnet/00008.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/FT.01-Mainnet/00009.png b/tests/snapshots/nanox/test_transaction_manifest/FT.01-Mainnet/00009.png new file mode 100644 index 00000000..163e4981 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/FT.01-Mainnet/00009.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/FT.01-Mainnet/00010.png b/tests/snapshots/nanox/test_transaction_manifest/FT.01-Mainnet/00010.png new file mode 100644 index 00000000..b5f70a2c Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/FT.01-Mainnet/00010.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/FT.01-Mainnet/00011.png b/tests/snapshots/nanox/test_transaction_manifest/FT.01-Mainnet/00011.png new file mode 100644 index 00000000..510dbb77 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/FT.01-Mainnet/00011.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/FT.01-Mainnet/00012.png b/tests/snapshots/nanox/test_transaction_manifest/FT.01-Mainnet/00012.png new file mode 100644 index 00000000..8099d16e Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/FT.01-Mainnet/00012.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/FT.01-Mainnet/00013.png b/tests/snapshots/nanox/test_transaction_manifest/FT.01-Mainnet/00013.png new file mode 100644 index 00000000..14c87a49 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/FT.01-Mainnet/00013.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/FT.01-Mainnet/00014.png b/tests/snapshots/nanox/test_transaction_manifest/FT.01-Mainnet/00014.png new file mode 100644 index 00000000..1e4be699 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/FT.01-Mainnet/00014.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/FT.01-Mainnet/00015.png b/tests/snapshots/nanox/test_transaction_manifest/FT.01-Mainnet/00015.png new file mode 100644 index 00000000..e84e8dfd Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/FT.01-Mainnet/00015.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/FT.01-Testnet/00000.png b/tests/snapshots/nanox/test_transaction_manifest/FT.01-Testnet/00000.png new file mode 100644 index 00000000..3e327861 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/FT.01-Testnet/00000.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/FT.01-Testnet/00001.png b/tests/snapshots/nanox/test_transaction_manifest/FT.01-Testnet/00001.png new file mode 100644 index 00000000..024c5d5d Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/FT.01-Testnet/00001.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/FT.01-Testnet/00002.png b/tests/snapshots/nanox/test_transaction_manifest/FT.01-Testnet/00002.png new file mode 100644 index 00000000..9badf1a4 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/FT.01-Testnet/00002.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/FT.01-Testnet/00003.png b/tests/snapshots/nanox/test_transaction_manifest/FT.01-Testnet/00003.png new file mode 100644 index 00000000..9cb0bd12 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/FT.01-Testnet/00003.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/FT.01-Testnet/00004.png b/tests/snapshots/nanox/test_transaction_manifest/FT.01-Testnet/00004.png new file mode 100644 index 00000000..b44c2e05 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/FT.01-Testnet/00004.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/FT.01-Testnet/00005.png b/tests/snapshots/nanox/test_transaction_manifest/FT.01-Testnet/00005.png new file mode 100644 index 00000000..d8a2740e Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/FT.01-Testnet/00005.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/FT.01-Testnet/00006.png b/tests/snapshots/nanox/test_transaction_manifest/FT.01-Testnet/00006.png new file mode 100644 index 00000000..4d1a7f73 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/FT.01-Testnet/00006.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/FT.01-Testnet/00007.png b/tests/snapshots/nanox/test_transaction_manifest/FT.01-Testnet/00007.png new file mode 100644 index 00000000..38f03f75 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/FT.01-Testnet/00007.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/FT.01-Testnet/00008.png b/tests/snapshots/nanox/test_transaction_manifest/FT.01-Testnet/00008.png new file mode 100644 index 00000000..21b1ee21 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/FT.01-Testnet/00008.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/FT.01-Testnet/00009.png b/tests/snapshots/nanox/test_transaction_manifest/FT.01-Testnet/00009.png new file mode 100644 index 00000000..163e4981 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/FT.01-Testnet/00009.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/FT.01-Testnet/00010.png b/tests/snapshots/nanox/test_transaction_manifest/FT.01-Testnet/00010.png new file mode 100644 index 00000000..b5f70a2c Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/FT.01-Testnet/00010.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/FT.01-Testnet/00011.png b/tests/snapshots/nanox/test_transaction_manifest/FT.01-Testnet/00011.png new file mode 100644 index 00000000..3df973c5 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/FT.01-Testnet/00011.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/FT.01-Testnet/00012.png b/tests/snapshots/nanox/test_transaction_manifest/FT.01-Testnet/00012.png new file mode 100644 index 00000000..bcbf619c Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/FT.01-Testnet/00012.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/FT.01-Testnet/00013.png b/tests/snapshots/nanox/test_transaction_manifest/FT.01-Testnet/00013.png new file mode 100644 index 00000000..14c87a49 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/FT.01-Testnet/00013.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/FT.01-Testnet/00014.png b/tests/snapshots/nanox/test_transaction_manifest/FT.01-Testnet/00014.png new file mode 100644 index 00000000..1e4be699 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/FT.01-Testnet/00014.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/FT.01-Testnet/00015.png b/tests/snapshots/nanox/test_transaction_manifest/FT.01-Testnet/00015.png new file mode 100644 index 00000000..e84e8dfd Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/FT.01-Testnet/00015.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/FT.02-Mainnet/00000.png b/tests/snapshots/nanox/test_transaction_manifest/FT.02-Mainnet/00000.png new file mode 100644 index 00000000..3e327861 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/FT.02-Mainnet/00000.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/FT.02-Mainnet/00001.png b/tests/snapshots/nanox/test_transaction_manifest/FT.02-Mainnet/00001.png new file mode 100644 index 00000000..5b23ff70 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/FT.02-Mainnet/00001.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/FT.02-Mainnet/00002.png b/tests/snapshots/nanox/test_transaction_manifest/FT.02-Mainnet/00002.png new file mode 100644 index 00000000..5481d5da Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/FT.02-Mainnet/00002.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/FT.02-Mainnet/00003.png b/tests/snapshots/nanox/test_transaction_manifest/FT.02-Mainnet/00003.png new file mode 100644 index 00000000..0bb49997 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/FT.02-Mainnet/00003.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/FT.02-Mainnet/00004.png b/tests/snapshots/nanox/test_transaction_manifest/FT.02-Mainnet/00004.png new file mode 100644 index 00000000..30300a5c Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/FT.02-Mainnet/00004.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/FT.02-Mainnet/00005.png b/tests/snapshots/nanox/test_transaction_manifest/FT.02-Mainnet/00005.png new file mode 100644 index 00000000..3393f5e1 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/FT.02-Mainnet/00005.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/FT.02-Mainnet/00006.png b/tests/snapshots/nanox/test_transaction_manifest/FT.02-Mainnet/00006.png new file mode 100644 index 00000000..ffa092dd Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/FT.02-Mainnet/00006.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/FT.02-Mainnet/00007.png b/tests/snapshots/nanox/test_transaction_manifest/FT.02-Mainnet/00007.png new file mode 100644 index 00000000..d8a2740e Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/FT.02-Mainnet/00007.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/FT.02-Mainnet/00008.png b/tests/snapshots/nanox/test_transaction_manifest/FT.02-Mainnet/00008.png new file mode 100644 index 00000000..4d1a7f73 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/FT.02-Mainnet/00008.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/FT.02-Mainnet/00009.png b/tests/snapshots/nanox/test_transaction_manifest/FT.02-Mainnet/00009.png new file mode 100644 index 00000000..38f03f75 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/FT.02-Mainnet/00009.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/FT.02-Mainnet/00010.png b/tests/snapshots/nanox/test_transaction_manifest/FT.02-Mainnet/00010.png new file mode 100644 index 00000000..1030e3e1 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/FT.02-Mainnet/00010.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/FT.02-Mainnet/00011.png b/tests/snapshots/nanox/test_transaction_manifest/FT.02-Mainnet/00011.png new file mode 100644 index 00000000..163e4981 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/FT.02-Mainnet/00011.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/FT.02-Mainnet/00012.png b/tests/snapshots/nanox/test_transaction_manifest/FT.02-Mainnet/00012.png new file mode 100644 index 00000000..b5f70a2c Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/FT.02-Mainnet/00012.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/FT.02-Mainnet/00013.png b/tests/snapshots/nanox/test_transaction_manifest/FT.02-Mainnet/00013.png new file mode 100644 index 00000000..510dbb77 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/FT.02-Mainnet/00013.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/FT.02-Mainnet/00014.png b/tests/snapshots/nanox/test_transaction_manifest/FT.02-Mainnet/00014.png new file mode 100644 index 00000000..8099d16e Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/FT.02-Mainnet/00014.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/FT.02-Mainnet/00015.png b/tests/snapshots/nanox/test_transaction_manifest/FT.02-Mainnet/00015.png new file mode 100644 index 00000000..14c87a49 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/FT.02-Mainnet/00015.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/FT.02-Mainnet/00016.png b/tests/snapshots/nanox/test_transaction_manifest/FT.02-Mainnet/00016.png new file mode 100644 index 00000000..1e4be699 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/FT.02-Mainnet/00016.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/FT.02-Mainnet/00017.png b/tests/snapshots/nanox/test_transaction_manifest/FT.02-Mainnet/00017.png new file mode 100644 index 00000000..e84e8dfd Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/FT.02-Mainnet/00017.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/FT.02-Testnet/00000.png b/tests/snapshots/nanox/test_transaction_manifest/FT.02-Testnet/00000.png new file mode 100644 index 00000000..3e327861 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/FT.02-Testnet/00000.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/FT.02-Testnet/00001.png b/tests/snapshots/nanox/test_transaction_manifest/FT.02-Testnet/00001.png new file mode 100644 index 00000000..5b23ff70 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/FT.02-Testnet/00001.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/FT.02-Testnet/00002.png b/tests/snapshots/nanox/test_transaction_manifest/FT.02-Testnet/00002.png new file mode 100644 index 00000000..9badf1a4 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/FT.02-Testnet/00002.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/FT.02-Testnet/00003.png b/tests/snapshots/nanox/test_transaction_manifest/FT.02-Testnet/00003.png new file mode 100644 index 00000000..0bb49997 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/FT.02-Testnet/00003.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/FT.02-Testnet/00004.png b/tests/snapshots/nanox/test_transaction_manifest/FT.02-Testnet/00004.png new file mode 100644 index 00000000..bd9d1bfb Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/FT.02-Testnet/00004.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/FT.02-Testnet/00005.png b/tests/snapshots/nanox/test_transaction_manifest/FT.02-Testnet/00005.png new file mode 100644 index 00000000..3393f5e1 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/FT.02-Testnet/00005.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/FT.02-Testnet/00006.png b/tests/snapshots/nanox/test_transaction_manifest/FT.02-Testnet/00006.png new file mode 100644 index 00000000..ffa092dd Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/FT.02-Testnet/00006.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/FT.02-Testnet/00007.png b/tests/snapshots/nanox/test_transaction_manifest/FT.02-Testnet/00007.png new file mode 100644 index 00000000..d8a2740e Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/FT.02-Testnet/00007.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/FT.02-Testnet/00008.png b/tests/snapshots/nanox/test_transaction_manifest/FT.02-Testnet/00008.png new file mode 100644 index 00000000..4d1a7f73 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/FT.02-Testnet/00008.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/FT.02-Testnet/00009.png b/tests/snapshots/nanox/test_transaction_manifest/FT.02-Testnet/00009.png new file mode 100644 index 00000000..38f03f75 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/FT.02-Testnet/00009.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/FT.02-Testnet/00010.png b/tests/snapshots/nanox/test_transaction_manifest/FT.02-Testnet/00010.png new file mode 100644 index 00000000..21b1ee21 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/FT.02-Testnet/00010.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/FT.02-Testnet/00011.png b/tests/snapshots/nanox/test_transaction_manifest/FT.02-Testnet/00011.png new file mode 100644 index 00000000..163e4981 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/FT.02-Testnet/00011.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/FT.02-Testnet/00012.png b/tests/snapshots/nanox/test_transaction_manifest/FT.02-Testnet/00012.png new file mode 100644 index 00000000..b5f70a2c Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/FT.02-Testnet/00012.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/FT.02-Testnet/00013.png b/tests/snapshots/nanox/test_transaction_manifest/FT.02-Testnet/00013.png new file mode 100644 index 00000000..3df973c5 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/FT.02-Testnet/00013.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/FT.02-Testnet/00014.png b/tests/snapshots/nanox/test_transaction_manifest/FT.02-Testnet/00014.png new file mode 100644 index 00000000..bcbf619c Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/FT.02-Testnet/00014.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/FT.02-Testnet/00015.png b/tests/snapshots/nanox/test_transaction_manifest/FT.02-Testnet/00015.png new file mode 100644 index 00000000..14c87a49 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/FT.02-Testnet/00015.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/FT.02-Testnet/00016.png b/tests/snapshots/nanox/test_transaction_manifest/FT.02-Testnet/00016.png new file mode 100644 index 00000000..1e4be699 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/FT.02-Testnet/00016.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/FT.02-Testnet/00017.png b/tests/snapshots/nanox/test_transaction_manifest/FT.02-Testnet/00017.png new file mode 100644 index 00000000..e84e8dfd Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/FT.02-Testnet/00017.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/FT.03-Mainnet/00000.png b/tests/snapshots/nanox/test_transaction_manifest/FT.03-Mainnet/00000.png new file mode 100644 index 00000000..3e327861 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/FT.03-Mainnet/00000.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/FT.03-Mainnet/00001.png b/tests/snapshots/nanox/test_transaction_manifest/FT.03-Mainnet/00001.png new file mode 100644 index 00000000..e8fb52a3 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/FT.03-Mainnet/00001.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/FT.03-Mainnet/00002.png b/tests/snapshots/nanox/test_transaction_manifest/FT.03-Mainnet/00002.png new file mode 100644 index 00000000..5481d5da Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/FT.03-Mainnet/00002.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/FT.03-Mainnet/00003.png b/tests/snapshots/nanox/test_transaction_manifest/FT.03-Mainnet/00003.png new file mode 100644 index 00000000..0bb49997 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/FT.03-Mainnet/00003.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/FT.03-Mainnet/00004.png b/tests/snapshots/nanox/test_transaction_manifest/FT.03-Mainnet/00004.png new file mode 100644 index 00000000..30300a5c Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/FT.03-Mainnet/00004.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/FT.03-Mainnet/00005.png b/tests/snapshots/nanox/test_transaction_manifest/FT.03-Mainnet/00005.png new file mode 100644 index 00000000..d4b63b86 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/FT.03-Mainnet/00005.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/FT.03-Mainnet/00006.png b/tests/snapshots/nanox/test_transaction_manifest/FT.03-Mainnet/00006.png new file mode 100644 index 00000000..b44c2e05 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/FT.03-Mainnet/00006.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/FT.03-Mainnet/00007.png b/tests/snapshots/nanox/test_transaction_manifest/FT.03-Mainnet/00007.png new file mode 100644 index 00000000..d8a2740e Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/FT.03-Mainnet/00007.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/FT.03-Mainnet/00008.png b/tests/snapshots/nanox/test_transaction_manifest/FT.03-Mainnet/00008.png new file mode 100644 index 00000000..4d1a7f73 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/FT.03-Mainnet/00008.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/FT.03-Mainnet/00009.png b/tests/snapshots/nanox/test_transaction_manifest/FT.03-Mainnet/00009.png new file mode 100644 index 00000000..38f03f75 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/FT.03-Mainnet/00009.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/FT.03-Mainnet/00010.png b/tests/snapshots/nanox/test_transaction_manifest/FT.03-Mainnet/00010.png new file mode 100644 index 00000000..1030e3e1 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/FT.03-Mainnet/00010.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/FT.03-Mainnet/00011.png b/tests/snapshots/nanox/test_transaction_manifest/FT.03-Mainnet/00011.png new file mode 100644 index 00000000..163e4981 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/FT.03-Mainnet/00011.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/FT.03-Mainnet/00012.png b/tests/snapshots/nanox/test_transaction_manifest/FT.03-Mainnet/00012.png new file mode 100644 index 00000000..b5f70a2c Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/FT.03-Mainnet/00012.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/FT.03-Mainnet/00013.png b/tests/snapshots/nanox/test_transaction_manifest/FT.03-Mainnet/00013.png new file mode 100644 index 00000000..510dbb77 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/FT.03-Mainnet/00013.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/FT.03-Mainnet/00014.png b/tests/snapshots/nanox/test_transaction_manifest/FT.03-Mainnet/00014.png new file mode 100644 index 00000000..8099d16e Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/FT.03-Mainnet/00014.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/FT.03-Mainnet/00015.png b/tests/snapshots/nanox/test_transaction_manifest/FT.03-Mainnet/00015.png new file mode 100644 index 00000000..14c87a49 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/FT.03-Mainnet/00015.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/FT.03-Mainnet/00016.png b/tests/snapshots/nanox/test_transaction_manifest/FT.03-Mainnet/00016.png new file mode 100644 index 00000000..1e4be699 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/FT.03-Mainnet/00016.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/FT.03-Mainnet/00017.png b/tests/snapshots/nanox/test_transaction_manifest/FT.03-Mainnet/00017.png new file mode 100644 index 00000000..e84e8dfd Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/FT.03-Mainnet/00017.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/FT.03-Testnet/00000.png b/tests/snapshots/nanox/test_transaction_manifest/FT.03-Testnet/00000.png new file mode 100644 index 00000000..3e327861 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/FT.03-Testnet/00000.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/FT.03-Testnet/00001.png b/tests/snapshots/nanox/test_transaction_manifest/FT.03-Testnet/00001.png new file mode 100644 index 00000000..e8fb52a3 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/FT.03-Testnet/00001.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/FT.03-Testnet/00002.png b/tests/snapshots/nanox/test_transaction_manifest/FT.03-Testnet/00002.png new file mode 100644 index 00000000..9badf1a4 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/FT.03-Testnet/00002.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/FT.03-Testnet/00003.png b/tests/snapshots/nanox/test_transaction_manifest/FT.03-Testnet/00003.png new file mode 100644 index 00000000..0bb49997 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/FT.03-Testnet/00003.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/FT.03-Testnet/00004.png b/tests/snapshots/nanox/test_transaction_manifest/FT.03-Testnet/00004.png new file mode 100644 index 00000000..bd9d1bfb Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/FT.03-Testnet/00004.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/FT.03-Testnet/00005.png b/tests/snapshots/nanox/test_transaction_manifest/FT.03-Testnet/00005.png new file mode 100644 index 00000000..9cb0bd12 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/FT.03-Testnet/00005.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/FT.03-Testnet/00006.png b/tests/snapshots/nanox/test_transaction_manifest/FT.03-Testnet/00006.png new file mode 100644 index 00000000..b44c2e05 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/FT.03-Testnet/00006.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/FT.03-Testnet/00007.png b/tests/snapshots/nanox/test_transaction_manifest/FT.03-Testnet/00007.png new file mode 100644 index 00000000..d8a2740e Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/FT.03-Testnet/00007.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/FT.03-Testnet/00008.png b/tests/snapshots/nanox/test_transaction_manifest/FT.03-Testnet/00008.png new file mode 100644 index 00000000..4d1a7f73 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/FT.03-Testnet/00008.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/FT.03-Testnet/00009.png b/tests/snapshots/nanox/test_transaction_manifest/FT.03-Testnet/00009.png new file mode 100644 index 00000000..38f03f75 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/FT.03-Testnet/00009.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/FT.03-Testnet/00010.png b/tests/snapshots/nanox/test_transaction_manifest/FT.03-Testnet/00010.png new file mode 100644 index 00000000..21b1ee21 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/FT.03-Testnet/00010.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/FT.03-Testnet/00011.png b/tests/snapshots/nanox/test_transaction_manifest/FT.03-Testnet/00011.png new file mode 100644 index 00000000..163e4981 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/FT.03-Testnet/00011.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/FT.03-Testnet/00012.png b/tests/snapshots/nanox/test_transaction_manifest/FT.03-Testnet/00012.png new file mode 100644 index 00000000..b5f70a2c Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/FT.03-Testnet/00012.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/FT.03-Testnet/00013.png b/tests/snapshots/nanox/test_transaction_manifest/FT.03-Testnet/00013.png new file mode 100644 index 00000000..3df973c5 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/FT.03-Testnet/00013.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/FT.03-Testnet/00014.png b/tests/snapshots/nanox/test_transaction_manifest/FT.03-Testnet/00014.png new file mode 100644 index 00000000..bcbf619c Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/FT.03-Testnet/00014.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/FT.03-Testnet/00015.png b/tests/snapshots/nanox/test_transaction_manifest/FT.03-Testnet/00015.png new file mode 100644 index 00000000..14c87a49 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/FT.03-Testnet/00015.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/FT.03-Testnet/00016.png b/tests/snapshots/nanox/test_transaction_manifest/FT.03-Testnet/00016.png new file mode 100644 index 00000000..1e4be699 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/FT.03-Testnet/00016.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/FT.03-Testnet/00017.png b/tests/snapshots/nanox/test_transaction_manifest/FT.03-Testnet/00017.png new file mode 100644 index 00000000..e84e8dfd Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/FT.03-Testnet/00017.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/NFT.01-Mainnet/00000.png b/tests/snapshots/nanox/test_transaction_manifest/NFT.01-Mainnet/00000.png new file mode 100644 index 00000000..3e327861 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/NFT.01-Mainnet/00000.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/NFT.01-Mainnet/00001.png b/tests/snapshots/nanox/test_transaction_manifest/NFT.01-Mainnet/00001.png new file mode 100644 index 00000000..fb3206fe Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/NFT.01-Mainnet/00001.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/NFT.01-Mainnet/00002.png b/tests/snapshots/nanox/test_transaction_manifest/NFT.01-Mainnet/00002.png new file mode 100644 index 00000000..5481d5da Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/NFT.01-Mainnet/00002.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/NFT.01-Mainnet/00003.png b/tests/snapshots/nanox/test_transaction_manifest/NFT.01-Mainnet/00003.png new file mode 100644 index 00000000..cc3deb37 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/NFT.01-Mainnet/00003.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/NFT.01-Mainnet/00004.png b/tests/snapshots/nanox/test_transaction_manifest/NFT.01-Mainnet/00004.png new file mode 100644 index 00000000..01ff34a1 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/NFT.01-Mainnet/00004.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/NFT.01-Mainnet/00005.png b/tests/snapshots/nanox/test_transaction_manifest/NFT.01-Mainnet/00005.png new file mode 100644 index 00000000..d8a2740e Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/NFT.01-Mainnet/00005.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/NFT.01-Mainnet/00006.png b/tests/snapshots/nanox/test_transaction_manifest/NFT.01-Mainnet/00006.png new file mode 100644 index 00000000..4d1a7f73 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/NFT.01-Mainnet/00006.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/NFT.01-Mainnet/00007.png b/tests/snapshots/nanox/test_transaction_manifest/NFT.01-Mainnet/00007.png new file mode 100644 index 00000000..38f03f75 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/NFT.01-Mainnet/00007.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/NFT.01-Mainnet/00008.png b/tests/snapshots/nanox/test_transaction_manifest/NFT.01-Mainnet/00008.png new file mode 100644 index 00000000..1030e3e1 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/NFT.01-Mainnet/00008.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/NFT.01-Mainnet/00009.png b/tests/snapshots/nanox/test_transaction_manifest/NFT.01-Mainnet/00009.png new file mode 100644 index 00000000..163e4981 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/NFT.01-Mainnet/00009.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/NFT.01-Mainnet/00010.png b/tests/snapshots/nanox/test_transaction_manifest/NFT.01-Mainnet/00010.png new file mode 100644 index 00000000..b5f70a2c Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/NFT.01-Mainnet/00010.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/NFT.01-Mainnet/00011.png b/tests/snapshots/nanox/test_transaction_manifest/NFT.01-Mainnet/00011.png new file mode 100644 index 00000000..510dbb77 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/NFT.01-Mainnet/00011.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/NFT.01-Mainnet/00012.png b/tests/snapshots/nanox/test_transaction_manifest/NFT.01-Mainnet/00012.png new file mode 100644 index 00000000..8099d16e Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/NFT.01-Mainnet/00012.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/NFT.01-Mainnet/00013.png b/tests/snapshots/nanox/test_transaction_manifest/NFT.01-Mainnet/00013.png new file mode 100644 index 00000000..14c87a49 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/NFT.01-Mainnet/00013.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/NFT.01-Mainnet/00014.png b/tests/snapshots/nanox/test_transaction_manifest/NFT.01-Mainnet/00014.png new file mode 100644 index 00000000..1e4be699 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/NFT.01-Mainnet/00014.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/NFT.01-Mainnet/00015.png b/tests/snapshots/nanox/test_transaction_manifest/NFT.01-Mainnet/00015.png new file mode 100644 index 00000000..e84e8dfd Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/NFT.01-Mainnet/00015.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/NFT.01-Testnet/00000.png b/tests/snapshots/nanox/test_transaction_manifest/NFT.01-Testnet/00000.png new file mode 100644 index 00000000..3e327861 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/NFT.01-Testnet/00000.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/NFT.01-Testnet/00001.png b/tests/snapshots/nanox/test_transaction_manifest/NFT.01-Testnet/00001.png new file mode 100644 index 00000000..fb3206fe Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/NFT.01-Testnet/00001.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/NFT.01-Testnet/00002.png b/tests/snapshots/nanox/test_transaction_manifest/NFT.01-Testnet/00002.png new file mode 100644 index 00000000..9badf1a4 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/NFT.01-Testnet/00002.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/NFT.01-Testnet/00003.png b/tests/snapshots/nanox/test_transaction_manifest/NFT.01-Testnet/00003.png new file mode 100644 index 00000000..8873d316 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/NFT.01-Testnet/00003.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/NFT.01-Testnet/00004.png b/tests/snapshots/nanox/test_transaction_manifest/NFT.01-Testnet/00004.png new file mode 100644 index 00000000..01ff34a1 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/NFT.01-Testnet/00004.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/NFT.01-Testnet/00005.png b/tests/snapshots/nanox/test_transaction_manifest/NFT.01-Testnet/00005.png new file mode 100644 index 00000000..d8a2740e Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/NFT.01-Testnet/00005.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/NFT.01-Testnet/00006.png b/tests/snapshots/nanox/test_transaction_manifest/NFT.01-Testnet/00006.png new file mode 100644 index 00000000..4d1a7f73 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/NFT.01-Testnet/00006.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/NFT.01-Testnet/00007.png b/tests/snapshots/nanox/test_transaction_manifest/NFT.01-Testnet/00007.png new file mode 100644 index 00000000..38f03f75 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/NFT.01-Testnet/00007.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/NFT.01-Testnet/00008.png b/tests/snapshots/nanox/test_transaction_manifest/NFT.01-Testnet/00008.png new file mode 100644 index 00000000..21b1ee21 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/NFT.01-Testnet/00008.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/NFT.01-Testnet/00009.png b/tests/snapshots/nanox/test_transaction_manifest/NFT.01-Testnet/00009.png new file mode 100644 index 00000000..163e4981 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/NFT.01-Testnet/00009.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/NFT.01-Testnet/00010.png b/tests/snapshots/nanox/test_transaction_manifest/NFT.01-Testnet/00010.png new file mode 100644 index 00000000..b5f70a2c Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/NFT.01-Testnet/00010.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/NFT.01-Testnet/00011.png b/tests/snapshots/nanox/test_transaction_manifest/NFT.01-Testnet/00011.png new file mode 100644 index 00000000..3df973c5 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/NFT.01-Testnet/00011.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/NFT.01-Testnet/00012.png b/tests/snapshots/nanox/test_transaction_manifest/NFT.01-Testnet/00012.png new file mode 100644 index 00000000..bcbf619c Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/NFT.01-Testnet/00012.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/NFT.01-Testnet/00013.png b/tests/snapshots/nanox/test_transaction_manifest/NFT.01-Testnet/00013.png new file mode 100644 index 00000000..14c87a49 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/NFT.01-Testnet/00013.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/NFT.01-Testnet/00014.png b/tests/snapshots/nanox/test_transaction_manifest/NFT.01-Testnet/00014.png new file mode 100644 index 00000000..1e4be699 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/NFT.01-Testnet/00014.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/NFT.01-Testnet/00015.png b/tests/snapshots/nanox/test_transaction_manifest/NFT.01-Testnet/00015.png new file mode 100644 index 00000000..e84e8dfd Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/NFT.01-Testnet/00015.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/NFT.02-Mainnet/00000.png b/tests/snapshots/nanox/test_transaction_manifest/NFT.02-Mainnet/00000.png new file mode 100644 index 00000000..3e327861 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/NFT.02-Mainnet/00000.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/NFT.02-Mainnet/00001.png b/tests/snapshots/nanox/test_transaction_manifest/NFT.02-Mainnet/00001.png new file mode 100644 index 00000000..2be9f2a2 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/NFT.02-Mainnet/00001.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/NFT.02-Mainnet/00002.png b/tests/snapshots/nanox/test_transaction_manifest/NFT.02-Mainnet/00002.png new file mode 100644 index 00000000..5481d5da Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/NFT.02-Mainnet/00002.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/NFT.02-Mainnet/00003.png b/tests/snapshots/nanox/test_transaction_manifest/NFT.02-Mainnet/00003.png new file mode 100644 index 00000000..30300a5c Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/NFT.02-Mainnet/00003.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/NFT.02-Mainnet/00004.png b/tests/snapshots/nanox/test_transaction_manifest/NFT.02-Mainnet/00004.png new file mode 100644 index 00000000..d90ca7c6 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/NFT.02-Mainnet/00004.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/NFT.02-Mainnet/00005.png b/tests/snapshots/nanox/test_transaction_manifest/NFT.02-Mainnet/00005.png new file mode 100644 index 00000000..3393f5e1 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/NFT.02-Mainnet/00005.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/NFT.02-Mainnet/00006.png b/tests/snapshots/nanox/test_transaction_manifest/NFT.02-Mainnet/00006.png new file mode 100644 index 00000000..ffa092dd Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/NFT.02-Mainnet/00006.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/NFT.02-Mainnet/00007.png b/tests/snapshots/nanox/test_transaction_manifest/NFT.02-Mainnet/00007.png new file mode 100644 index 00000000..d8a2740e Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/NFT.02-Mainnet/00007.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/NFT.02-Mainnet/00008.png b/tests/snapshots/nanox/test_transaction_manifest/NFT.02-Mainnet/00008.png new file mode 100644 index 00000000..4d1a7f73 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/NFT.02-Mainnet/00008.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/NFT.02-Mainnet/00009.png b/tests/snapshots/nanox/test_transaction_manifest/NFT.02-Mainnet/00009.png new file mode 100644 index 00000000..38f03f75 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/NFT.02-Mainnet/00009.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/NFT.02-Mainnet/00010.png b/tests/snapshots/nanox/test_transaction_manifest/NFT.02-Mainnet/00010.png new file mode 100644 index 00000000..1030e3e1 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/NFT.02-Mainnet/00010.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/NFT.02-Mainnet/00011.png b/tests/snapshots/nanox/test_transaction_manifest/NFT.02-Mainnet/00011.png new file mode 100644 index 00000000..163e4981 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/NFT.02-Mainnet/00011.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/NFT.02-Mainnet/00012.png b/tests/snapshots/nanox/test_transaction_manifest/NFT.02-Mainnet/00012.png new file mode 100644 index 00000000..b5f70a2c Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/NFT.02-Mainnet/00012.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/NFT.02-Mainnet/00013.png b/tests/snapshots/nanox/test_transaction_manifest/NFT.02-Mainnet/00013.png new file mode 100644 index 00000000..510dbb77 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/NFT.02-Mainnet/00013.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/NFT.02-Mainnet/00014.png b/tests/snapshots/nanox/test_transaction_manifest/NFT.02-Mainnet/00014.png new file mode 100644 index 00000000..8099d16e Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/NFT.02-Mainnet/00014.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/NFT.02-Mainnet/00015.png b/tests/snapshots/nanox/test_transaction_manifest/NFT.02-Mainnet/00015.png new file mode 100644 index 00000000..14c87a49 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/NFT.02-Mainnet/00015.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/NFT.02-Mainnet/00016.png b/tests/snapshots/nanox/test_transaction_manifest/NFT.02-Mainnet/00016.png new file mode 100644 index 00000000..1e4be699 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/NFT.02-Mainnet/00016.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/NFT.02-Mainnet/00017.png b/tests/snapshots/nanox/test_transaction_manifest/NFT.02-Mainnet/00017.png new file mode 100644 index 00000000..e84e8dfd Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/NFT.02-Mainnet/00017.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/NFT.02-Testnet/00000.png b/tests/snapshots/nanox/test_transaction_manifest/NFT.02-Testnet/00000.png new file mode 100644 index 00000000..3e327861 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/NFT.02-Testnet/00000.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/NFT.02-Testnet/00001.png b/tests/snapshots/nanox/test_transaction_manifest/NFT.02-Testnet/00001.png new file mode 100644 index 00000000..2be9f2a2 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/NFT.02-Testnet/00001.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/NFT.02-Testnet/00002.png b/tests/snapshots/nanox/test_transaction_manifest/NFT.02-Testnet/00002.png new file mode 100644 index 00000000..9badf1a4 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/NFT.02-Testnet/00002.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/NFT.02-Testnet/00003.png b/tests/snapshots/nanox/test_transaction_manifest/NFT.02-Testnet/00003.png new file mode 100644 index 00000000..bd9d1bfb Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/NFT.02-Testnet/00003.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/NFT.02-Testnet/00004.png b/tests/snapshots/nanox/test_transaction_manifest/NFT.02-Testnet/00004.png new file mode 100644 index 00000000..d90ca7c6 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/NFT.02-Testnet/00004.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/NFT.02-Testnet/00005.png b/tests/snapshots/nanox/test_transaction_manifest/NFT.02-Testnet/00005.png new file mode 100644 index 00000000..3393f5e1 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/NFT.02-Testnet/00005.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/NFT.02-Testnet/00006.png b/tests/snapshots/nanox/test_transaction_manifest/NFT.02-Testnet/00006.png new file mode 100644 index 00000000..ffa092dd Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/NFT.02-Testnet/00006.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/NFT.02-Testnet/00007.png b/tests/snapshots/nanox/test_transaction_manifest/NFT.02-Testnet/00007.png new file mode 100644 index 00000000..d8a2740e Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/NFT.02-Testnet/00007.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/NFT.02-Testnet/00008.png b/tests/snapshots/nanox/test_transaction_manifest/NFT.02-Testnet/00008.png new file mode 100644 index 00000000..4d1a7f73 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/NFT.02-Testnet/00008.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/NFT.02-Testnet/00009.png b/tests/snapshots/nanox/test_transaction_manifest/NFT.02-Testnet/00009.png new file mode 100644 index 00000000..38f03f75 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/NFT.02-Testnet/00009.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/NFT.02-Testnet/00010.png b/tests/snapshots/nanox/test_transaction_manifest/NFT.02-Testnet/00010.png new file mode 100644 index 00000000..21b1ee21 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/NFT.02-Testnet/00010.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/NFT.02-Testnet/00011.png b/tests/snapshots/nanox/test_transaction_manifest/NFT.02-Testnet/00011.png new file mode 100644 index 00000000..163e4981 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/NFT.02-Testnet/00011.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/NFT.02-Testnet/00012.png b/tests/snapshots/nanox/test_transaction_manifest/NFT.02-Testnet/00012.png new file mode 100644 index 00000000..b5f70a2c Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/NFT.02-Testnet/00012.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/NFT.02-Testnet/00013.png b/tests/snapshots/nanox/test_transaction_manifest/NFT.02-Testnet/00013.png new file mode 100644 index 00000000..3df973c5 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/NFT.02-Testnet/00013.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/NFT.02-Testnet/00014.png b/tests/snapshots/nanox/test_transaction_manifest/NFT.02-Testnet/00014.png new file mode 100644 index 00000000..bcbf619c Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/NFT.02-Testnet/00014.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/NFT.02-Testnet/00015.png b/tests/snapshots/nanox/test_transaction_manifest/NFT.02-Testnet/00015.png new file mode 100644 index 00000000..14c87a49 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/NFT.02-Testnet/00015.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/NFT.02-Testnet/00016.png b/tests/snapshots/nanox/test_transaction_manifest/NFT.02-Testnet/00016.png new file mode 100644 index 00000000..1e4be699 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/NFT.02-Testnet/00016.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/NFT.02-Testnet/00017.png b/tests/snapshots/nanox/test_transaction_manifest/NFT.02-Testnet/00017.png new file mode 100644 index 00000000..e84e8dfd Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/NFT.02-Testnet/00017.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/NFT.03-Mainnet/00000.png b/tests/snapshots/nanox/test_transaction_manifest/NFT.03-Mainnet/00000.png new file mode 100644 index 00000000..3e327861 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/NFT.03-Mainnet/00000.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/NFT.03-Mainnet/00001.png b/tests/snapshots/nanox/test_transaction_manifest/NFT.03-Mainnet/00001.png new file mode 100644 index 00000000..00acffb3 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/NFT.03-Mainnet/00001.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/NFT.03-Mainnet/00002.png b/tests/snapshots/nanox/test_transaction_manifest/NFT.03-Mainnet/00002.png new file mode 100644 index 00000000..5481d5da Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/NFT.03-Mainnet/00002.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/NFT.03-Mainnet/00003.png b/tests/snapshots/nanox/test_transaction_manifest/NFT.03-Mainnet/00003.png new file mode 100644 index 00000000..30300a5c Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/NFT.03-Mainnet/00003.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/NFT.03-Mainnet/00004.png b/tests/snapshots/nanox/test_transaction_manifest/NFT.03-Mainnet/00004.png new file mode 100644 index 00000000..d90ca7c6 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/NFT.03-Mainnet/00004.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/NFT.03-Mainnet/00005.png b/tests/snapshots/nanox/test_transaction_manifest/NFT.03-Mainnet/00005.png new file mode 100644 index 00000000..cc3deb37 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/NFT.03-Mainnet/00005.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/NFT.03-Mainnet/00006.png b/tests/snapshots/nanox/test_transaction_manifest/NFT.03-Mainnet/00006.png new file mode 100644 index 00000000..01ff34a1 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/NFT.03-Mainnet/00006.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/NFT.03-Mainnet/00007.png b/tests/snapshots/nanox/test_transaction_manifest/NFT.03-Mainnet/00007.png new file mode 100644 index 00000000..d8a2740e Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/NFT.03-Mainnet/00007.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/NFT.03-Mainnet/00008.png b/tests/snapshots/nanox/test_transaction_manifest/NFT.03-Mainnet/00008.png new file mode 100644 index 00000000..4d1a7f73 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/NFT.03-Mainnet/00008.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/NFT.03-Mainnet/00009.png b/tests/snapshots/nanox/test_transaction_manifest/NFT.03-Mainnet/00009.png new file mode 100644 index 00000000..38f03f75 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/NFT.03-Mainnet/00009.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/NFT.03-Mainnet/00010.png b/tests/snapshots/nanox/test_transaction_manifest/NFT.03-Mainnet/00010.png new file mode 100644 index 00000000..1030e3e1 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/NFT.03-Mainnet/00010.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/NFT.03-Mainnet/00011.png b/tests/snapshots/nanox/test_transaction_manifest/NFT.03-Mainnet/00011.png new file mode 100644 index 00000000..163e4981 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/NFT.03-Mainnet/00011.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/NFT.03-Mainnet/00012.png b/tests/snapshots/nanox/test_transaction_manifest/NFT.03-Mainnet/00012.png new file mode 100644 index 00000000..b5f70a2c Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/NFT.03-Mainnet/00012.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/NFT.03-Mainnet/00013.png b/tests/snapshots/nanox/test_transaction_manifest/NFT.03-Mainnet/00013.png new file mode 100644 index 00000000..510dbb77 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/NFT.03-Mainnet/00013.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/NFT.03-Mainnet/00014.png b/tests/snapshots/nanox/test_transaction_manifest/NFT.03-Mainnet/00014.png new file mode 100644 index 00000000..8099d16e Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/NFT.03-Mainnet/00014.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/NFT.03-Mainnet/00015.png b/tests/snapshots/nanox/test_transaction_manifest/NFT.03-Mainnet/00015.png new file mode 100644 index 00000000..14c87a49 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/NFT.03-Mainnet/00015.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/NFT.03-Mainnet/00016.png b/tests/snapshots/nanox/test_transaction_manifest/NFT.03-Mainnet/00016.png new file mode 100644 index 00000000..1e4be699 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/NFT.03-Mainnet/00016.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/NFT.03-Mainnet/00017.png b/tests/snapshots/nanox/test_transaction_manifest/NFT.03-Mainnet/00017.png new file mode 100644 index 00000000..e84e8dfd Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/NFT.03-Mainnet/00017.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/NFT.03-Testnet/00000.png b/tests/snapshots/nanox/test_transaction_manifest/NFT.03-Testnet/00000.png new file mode 100644 index 00000000..3e327861 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/NFT.03-Testnet/00000.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/NFT.03-Testnet/00001.png b/tests/snapshots/nanox/test_transaction_manifest/NFT.03-Testnet/00001.png new file mode 100644 index 00000000..00acffb3 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/NFT.03-Testnet/00001.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/NFT.03-Testnet/00002.png b/tests/snapshots/nanox/test_transaction_manifest/NFT.03-Testnet/00002.png new file mode 100644 index 00000000..9badf1a4 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/NFT.03-Testnet/00002.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/NFT.03-Testnet/00003.png b/tests/snapshots/nanox/test_transaction_manifest/NFT.03-Testnet/00003.png new file mode 100644 index 00000000..bd9d1bfb Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/NFT.03-Testnet/00003.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/NFT.03-Testnet/00004.png b/tests/snapshots/nanox/test_transaction_manifest/NFT.03-Testnet/00004.png new file mode 100644 index 00000000..d90ca7c6 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/NFT.03-Testnet/00004.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/NFT.03-Testnet/00005.png b/tests/snapshots/nanox/test_transaction_manifest/NFT.03-Testnet/00005.png new file mode 100644 index 00000000..8873d316 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/NFT.03-Testnet/00005.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/NFT.03-Testnet/00006.png b/tests/snapshots/nanox/test_transaction_manifest/NFT.03-Testnet/00006.png new file mode 100644 index 00000000..01ff34a1 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/NFT.03-Testnet/00006.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/NFT.03-Testnet/00007.png b/tests/snapshots/nanox/test_transaction_manifest/NFT.03-Testnet/00007.png new file mode 100644 index 00000000..d8a2740e Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/NFT.03-Testnet/00007.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/NFT.03-Testnet/00008.png b/tests/snapshots/nanox/test_transaction_manifest/NFT.03-Testnet/00008.png new file mode 100644 index 00000000..4d1a7f73 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/NFT.03-Testnet/00008.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/NFT.03-Testnet/00009.png b/tests/snapshots/nanox/test_transaction_manifest/NFT.03-Testnet/00009.png new file mode 100644 index 00000000..38f03f75 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/NFT.03-Testnet/00009.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/NFT.03-Testnet/00010.png b/tests/snapshots/nanox/test_transaction_manifest/NFT.03-Testnet/00010.png new file mode 100644 index 00000000..21b1ee21 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/NFT.03-Testnet/00010.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/NFT.03-Testnet/00011.png b/tests/snapshots/nanox/test_transaction_manifest/NFT.03-Testnet/00011.png new file mode 100644 index 00000000..163e4981 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/NFT.03-Testnet/00011.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/NFT.03-Testnet/00012.png b/tests/snapshots/nanox/test_transaction_manifest/NFT.03-Testnet/00012.png new file mode 100644 index 00000000..b5f70a2c Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/NFT.03-Testnet/00012.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/NFT.03-Testnet/00013.png b/tests/snapshots/nanox/test_transaction_manifest/NFT.03-Testnet/00013.png new file mode 100644 index 00000000..3df973c5 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/NFT.03-Testnet/00013.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/NFT.03-Testnet/00014.png b/tests/snapshots/nanox/test_transaction_manifest/NFT.03-Testnet/00014.png new file mode 100644 index 00000000..bcbf619c Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/NFT.03-Testnet/00014.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/NFT.03-Testnet/00015.png b/tests/snapshots/nanox/test_transaction_manifest/NFT.03-Testnet/00015.png new file mode 100644 index 00000000..14c87a49 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/NFT.03-Testnet/00015.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/NFT.03-Testnet/00016.png b/tests/snapshots/nanox/test_transaction_manifest/NFT.03-Testnet/00016.png new file mode 100644 index 00000000..1e4be699 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/NFT.03-Testnet/00016.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/NFT.03-Testnet/00017.png b/tests/snapshots/nanox/test_transaction_manifest/NFT.03-Testnet/00017.png new file mode 100644 index 00000000..e84e8dfd Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/NFT.03-Testnet/00017.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/SCO.03-Mainnet/00000.png b/tests/snapshots/nanox/test_transaction_manifest/SCO.03-Mainnet/00000.png new file mode 100644 index 00000000..3e327861 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/SCO.03-Mainnet/00000.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/SCO.03-Mainnet/00001.png b/tests/snapshots/nanox/test_transaction_manifest/SCO.03-Mainnet/00001.png new file mode 100644 index 00000000..efccfe60 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/SCO.03-Mainnet/00001.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/SCO.03-Mainnet/00002.png b/tests/snapshots/nanox/test_transaction_manifest/SCO.03-Mainnet/00002.png new file mode 100644 index 00000000..5481d5da Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/SCO.03-Mainnet/00002.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/SCO.03-Mainnet/00003.png b/tests/snapshots/nanox/test_transaction_manifest/SCO.03-Mainnet/00003.png new file mode 100644 index 00000000..363bf8bd Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/SCO.03-Mainnet/00003.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/SCO.03-Mainnet/00004.png b/tests/snapshots/nanox/test_transaction_manifest/SCO.03-Mainnet/00004.png new file mode 100644 index 00000000..1ba2af08 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/SCO.03-Mainnet/00004.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/SCO.03-Mainnet/00005.png b/tests/snapshots/nanox/test_transaction_manifest/SCO.03-Mainnet/00005.png new file mode 100644 index 00000000..08cd3e1d Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/SCO.03-Mainnet/00005.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/SCO.03-Mainnet/00006.png b/tests/snapshots/nanox/test_transaction_manifest/SCO.03-Mainnet/00006.png new file mode 100644 index 00000000..08542c2a Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/SCO.03-Mainnet/00006.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/SCO.03-Mainnet/00007.png b/tests/snapshots/nanox/test_transaction_manifest/SCO.03-Mainnet/00007.png new file mode 100644 index 00000000..13d4f841 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/SCO.03-Mainnet/00007.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/SCO.03-Mainnet/00008.png b/tests/snapshots/nanox/test_transaction_manifest/SCO.03-Mainnet/00008.png new file mode 100644 index 00000000..95053039 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/SCO.03-Mainnet/00008.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/SCO.03-Mainnet/00009.png b/tests/snapshots/nanox/test_transaction_manifest/SCO.03-Mainnet/00009.png new file mode 100644 index 00000000..14536a99 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/SCO.03-Mainnet/00009.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/SCO.03-Mainnet/00010.png b/tests/snapshots/nanox/test_transaction_manifest/SCO.03-Mainnet/00010.png new file mode 100644 index 00000000..f82bf8aa Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/SCO.03-Mainnet/00010.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/SCO.03-Mainnet/00011.png b/tests/snapshots/nanox/test_transaction_manifest/SCO.03-Mainnet/00011.png new file mode 100644 index 00000000..8c20afff Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/SCO.03-Mainnet/00011.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/SCO.03-Mainnet/00012.png b/tests/snapshots/nanox/test_transaction_manifest/SCO.03-Mainnet/00012.png new file mode 100644 index 00000000..4ff09bcb Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/SCO.03-Mainnet/00012.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/SCO.03-Mainnet/00013.png b/tests/snapshots/nanox/test_transaction_manifest/SCO.03-Mainnet/00013.png new file mode 100644 index 00000000..112ba252 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/SCO.03-Mainnet/00013.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/SCO.03-Mainnet/00014.png b/tests/snapshots/nanox/test_transaction_manifest/SCO.03-Mainnet/00014.png new file mode 100644 index 00000000..0bb49997 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/SCO.03-Mainnet/00014.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/SCO.03-Mainnet/00015.png b/tests/snapshots/nanox/test_transaction_manifest/SCO.03-Mainnet/00015.png new file mode 100644 index 00000000..68fb8348 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/SCO.03-Mainnet/00015.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/SCO.03-Mainnet/00016.png b/tests/snapshots/nanox/test_transaction_manifest/SCO.03-Mainnet/00016.png new file mode 100644 index 00000000..5957f3d1 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/SCO.03-Mainnet/00016.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/SCO.03-Mainnet/00017.png b/tests/snapshots/nanox/test_transaction_manifest/SCO.03-Mainnet/00017.png new file mode 100644 index 00000000..cf0ed5f0 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/SCO.03-Mainnet/00017.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/SCO.03-Mainnet/00018.png b/tests/snapshots/nanox/test_transaction_manifest/SCO.03-Mainnet/00018.png new file mode 100644 index 00000000..09cd7635 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/SCO.03-Mainnet/00018.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/SCO.03-Mainnet/00019.png b/tests/snapshots/nanox/test_transaction_manifest/SCO.03-Mainnet/00019.png new file mode 100644 index 00000000..022a3811 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/SCO.03-Mainnet/00019.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/SCO.03-Mainnet/00020.png b/tests/snapshots/nanox/test_transaction_manifest/SCO.03-Mainnet/00020.png new file mode 100644 index 00000000..d8a2740e Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/SCO.03-Mainnet/00020.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/SCO.03-Mainnet/00021.png b/tests/snapshots/nanox/test_transaction_manifest/SCO.03-Mainnet/00021.png new file mode 100644 index 00000000..4d1a7f73 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/SCO.03-Mainnet/00021.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/SCO.03-Mainnet/00022.png b/tests/snapshots/nanox/test_transaction_manifest/SCO.03-Mainnet/00022.png new file mode 100644 index 00000000..38f03f75 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/SCO.03-Mainnet/00022.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/SCO.03-Mainnet/00023.png b/tests/snapshots/nanox/test_transaction_manifest/SCO.03-Mainnet/00023.png new file mode 100644 index 00000000..1030e3e1 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/SCO.03-Mainnet/00023.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/SCO.03-Mainnet/00024.png b/tests/snapshots/nanox/test_transaction_manifest/SCO.03-Mainnet/00024.png new file mode 100644 index 00000000..163e4981 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/SCO.03-Mainnet/00024.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/SCO.03-Mainnet/00025.png b/tests/snapshots/nanox/test_transaction_manifest/SCO.03-Mainnet/00025.png new file mode 100644 index 00000000..b5f70a2c Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/SCO.03-Mainnet/00025.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/SCO.03-Mainnet/00026.png b/tests/snapshots/nanox/test_transaction_manifest/SCO.03-Mainnet/00026.png new file mode 100644 index 00000000..510dbb77 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/SCO.03-Mainnet/00026.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/SCO.03-Mainnet/00027.png b/tests/snapshots/nanox/test_transaction_manifest/SCO.03-Mainnet/00027.png new file mode 100644 index 00000000..8099d16e Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/SCO.03-Mainnet/00027.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/SCO.03-Mainnet/00028.png b/tests/snapshots/nanox/test_transaction_manifest/SCO.03-Mainnet/00028.png new file mode 100644 index 00000000..14c87a49 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/SCO.03-Mainnet/00028.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/SCO.03-Mainnet/00029.png b/tests/snapshots/nanox/test_transaction_manifest/SCO.03-Mainnet/00029.png new file mode 100644 index 00000000..1e4be699 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/SCO.03-Mainnet/00029.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/SCO.03-Mainnet/00030.png b/tests/snapshots/nanox/test_transaction_manifest/SCO.03-Mainnet/00030.png new file mode 100644 index 00000000..e84e8dfd Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/SCO.03-Mainnet/00030.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/SCO.03-Testnet/00000.png b/tests/snapshots/nanox/test_transaction_manifest/SCO.03-Testnet/00000.png new file mode 100644 index 00000000..3e327861 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/SCO.03-Testnet/00000.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/SCO.03-Testnet/00001.png b/tests/snapshots/nanox/test_transaction_manifest/SCO.03-Testnet/00001.png new file mode 100644 index 00000000..efccfe60 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/SCO.03-Testnet/00001.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/SCO.03-Testnet/00002.png b/tests/snapshots/nanox/test_transaction_manifest/SCO.03-Testnet/00002.png new file mode 100644 index 00000000..9badf1a4 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/SCO.03-Testnet/00002.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/SCO.03-Testnet/00003.png b/tests/snapshots/nanox/test_transaction_manifest/SCO.03-Testnet/00003.png new file mode 100644 index 00000000..363bf8bd Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/SCO.03-Testnet/00003.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/SCO.03-Testnet/00004.png b/tests/snapshots/nanox/test_transaction_manifest/SCO.03-Testnet/00004.png new file mode 100644 index 00000000..1ba2af08 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/SCO.03-Testnet/00004.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/SCO.03-Testnet/00005.png b/tests/snapshots/nanox/test_transaction_manifest/SCO.03-Testnet/00005.png new file mode 100644 index 00000000..08cd3e1d Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/SCO.03-Testnet/00005.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/SCO.03-Testnet/00006.png b/tests/snapshots/nanox/test_transaction_manifest/SCO.03-Testnet/00006.png new file mode 100644 index 00000000..08542c2a Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/SCO.03-Testnet/00006.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/SCO.03-Testnet/00007.png b/tests/snapshots/nanox/test_transaction_manifest/SCO.03-Testnet/00007.png new file mode 100644 index 00000000..13d4f841 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/SCO.03-Testnet/00007.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/SCO.03-Testnet/00008.png b/tests/snapshots/nanox/test_transaction_manifest/SCO.03-Testnet/00008.png new file mode 100644 index 00000000..95053039 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/SCO.03-Testnet/00008.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/SCO.03-Testnet/00009.png b/tests/snapshots/nanox/test_transaction_manifest/SCO.03-Testnet/00009.png new file mode 100644 index 00000000..14536a99 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/SCO.03-Testnet/00009.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/SCO.03-Testnet/00010.png b/tests/snapshots/nanox/test_transaction_manifest/SCO.03-Testnet/00010.png new file mode 100644 index 00000000..f82bf8aa Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/SCO.03-Testnet/00010.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/SCO.03-Testnet/00011.png b/tests/snapshots/nanox/test_transaction_manifest/SCO.03-Testnet/00011.png new file mode 100644 index 00000000..8c20afff Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/SCO.03-Testnet/00011.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/SCO.03-Testnet/00012.png b/tests/snapshots/nanox/test_transaction_manifest/SCO.03-Testnet/00012.png new file mode 100644 index 00000000..4ff09bcb Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/SCO.03-Testnet/00012.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/SCO.03-Testnet/00013.png b/tests/snapshots/nanox/test_transaction_manifest/SCO.03-Testnet/00013.png new file mode 100644 index 00000000..112ba252 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/SCO.03-Testnet/00013.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/SCO.03-Testnet/00014.png b/tests/snapshots/nanox/test_transaction_manifest/SCO.03-Testnet/00014.png new file mode 100644 index 00000000..0bb49997 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/SCO.03-Testnet/00014.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/SCO.03-Testnet/00015.png b/tests/snapshots/nanox/test_transaction_manifest/SCO.03-Testnet/00015.png new file mode 100644 index 00000000..68fb8348 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/SCO.03-Testnet/00015.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/SCO.03-Testnet/00016.png b/tests/snapshots/nanox/test_transaction_manifest/SCO.03-Testnet/00016.png new file mode 100644 index 00000000..5957f3d1 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/SCO.03-Testnet/00016.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/SCO.03-Testnet/00017.png b/tests/snapshots/nanox/test_transaction_manifest/SCO.03-Testnet/00017.png new file mode 100644 index 00000000..cf0ed5f0 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/SCO.03-Testnet/00017.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/SCO.03-Testnet/00018.png b/tests/snapshots/nanox/test_transaction_manifest/SCO.03-Testnet/00018.png new file mode 100644 index 00000000..09cd7635 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/SCO.03-Testnet/00018.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/SCO.03-Testnet/00019.png b/tests/snapshots/nanox/test_transaction_manifest/SCO.03-Testnet/00019.png new file mode 100644 index 00000000..022a3811 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/SCO.03-Testnet/00019.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/SCO.03-Testnet/00020.png b/tests/snapshots/nanox/test_transaction_manifest/SCO.03-Testnet/00020.png new file mode 100644 index 00000000..d8a2740e Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/SCO.03-Testnet/00020.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/SCO.03-Testnet/00021.png b/tests/snapshots/nanox/test_transaction_manifest/SCO.03-Testnet/00021.png new file mode 100644 index 00000000..4d1a7f73 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/SCO.03-Testnet/00021.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/SCO.03-Testnet/00022.png b/tests/snapshots/nanox/test_transaction_manifest/SCO.03-Testnet/00022.png new file mode 100644 index 00000000..38f03f75 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/SCO.03-Testnet/00022.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/SCO.03-Testnet/00023.png b/tests/snapshots/nanox/test_transaction_manifest/SCO.03-Testnet/00023.png new file mode 100644 index 00000000..21b1ee21 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/SCO.03-Testnet/00023.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/SCO.03-Testnet/00024.png b/tests/snapshots/nanox/test_transaction_manifest/SCO.03-Testnet/00024.png new file mode 100644 index 00000000..163e4981 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/SCO.03-Testnet/00024.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/SCO.03-Testnet/00025.png b/tests/snapshots/nanox/test_transaction_manifest/SCO.03-Testnet/00025.png new file mode 100644 index 00000000..b5f70a2c Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/SCO.03-Testnet/00025.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/SCO.03-Testnet/00026.png b/tests/snapshots/nanox/test_transaction_manifest/SCO.03-Testnet/00026.png new file mode 100644 index 00000000..3df973c5 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/SCO.03-Testnet/00026.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/SCO.03-Testnet/00027.png b/tests/snapshots/nanox/test_transaction_manifest/SCO.03-Testnet/00027.png new file mode 100644 index 00000000..bcbf619c Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/SCO.03-Testnet/00027.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/SCO.03-Testnet/00028.png b/tests/snapshots/nanox/test_transaction_manifest/SCO.03-Testnet/00028.png new file mode 100644 index 00000000..14c87a49 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/SCO.03-Testnet/00028.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/SCO.03-Testnet/00029.png b/tests/snapshots/nanox/test_transaction_manifest/SCO.03-Testnet/00029.png new file mode 100644 index 00000000..1e4be699 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/SCO.03-Testnet/00029.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/SCO.03-Testnet/00030.png b/tests/snapshots/nanox/test_transaction_manifest/SCO.03-Testnet/00030.png new file mode 100644 index 00000000..e84e8dfd Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/SCO.03-Testnet/00030.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/SCO.04-Mainnet/00000.png b/tests/snapshots/nanox/test_transaction_manifest/SCO.04-Mainnet/00000.png new file mode 100644 index 00000000..3e327861 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/SCO.04-Mainnet/00000.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/SCO.04-Mainnet/00001.png b/tests/snapshots/nanox/test_transaction_manifest/SCO.04-Mainnet/00001.png new file mode 100644 index 00000000..0aa992b4 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/SCO.04-Mainnet/00001.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/SCO.04-Mainnet/00002.png b/tests/snapshots/nanox/test_transaction_manifest/SCO.04-Mainnet/00002.png new file mode 100644 index 00000000..5481d5da Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/SCO.04-Mainnet/00002.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/SCO.04-Mainnet/00003.png b/tests/snapshots/nanox/test_transaction_manifest/SCO.04-Mainnet/00003.png new file mode 100644 index 00000000..363bf8bd Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/SCO.04-Mainnet/00003.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/SCO.04-Mainnet/00004.png b/tests/snapshots/nanox/test_transaction_manifest/SCO.04-Mainnet/00004.png new file mode 100644 index 00000000..1ba2af08 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/SCO.04-Mainnet/00004.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/SCO.04-Mainnet/00005.png b/tests/snapshots/nanox/test_transaction_manifest/SCO.04-Mainnet/00005.png new file mode 100644 index 00000000..68fb8348 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/SCO.04-Mainnet/00005.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/SCO.04-Mainnet/00006.png b/tests/snapshots/nanox/test_transaction_manifest/SCO.04-Mainnet/00006.png new file mode 100644 index 00000000..5957f3d1 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/SCO.04-Mainnet/00006.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/SCO.04-Mainnet/00007.png b/tests/snapshots/nanox/test_transaction_manifest/SCO.04-Mainnet/00007.png new file mode 100644 index 00000000..cf0ed5f0 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/SCO.04-Mainnet/00007.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/SCO.04-Mainnet/00008.png b/tests/snapshots/nanox/test_transaction_manifest/SCO.04-Mainnet/00008.png new file mode 100644 index 00000000..09cd7635 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/SCO.04-Mainnet/00008.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/SCO.04-Mainnet/00009.png b/tests/snapshots/nanox/test_transaction_manifest/SCO.04-Mainnet/00009.png new file mode 100644 index 00000000..022a3811 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/SCO.04-Mainnet/00009.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/SCO.04-Mainnet/00010.png b/tests/snapshots/nanox/test_transaction_manifest/SCO.04-Mainnet/00010.png new file mode 100644 index 00000000..d8a2740e Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/SCO.04-Mainnet/00010.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/SCO.04-Mainnet/00011.png b/tests/snapshots/nanox/test_transaction_manifest/SCO.04-Mainnet/00011.png new file mode 100644 index 00000000..4d1a7f73 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/SCO.04-Mainnet/00011.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/SCO.04-Mainnet/00012.png b/tests/snapshots/nanox/test_transaction_manifest/SCO.04-Mainnet/00012.png new file mode 100644 index 00000000..38f03f75 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/SCO.04-Mainnet/00012.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/SCO.04-Mainnet/00013.png b/tests/snapshots/nanox/test_transaction_manifest/SCO.04-Mainnet/00013.png new file mode 100644 index 00000000..1030e3e1 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/SCO.04-Mainnet/00013.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/SCO.04-Mainnet/00014.png b/tests/snapshots/nanox/test_transaction_manifest/SCO.04-Mainnet/00014.png new file mode 100644 index 00000000..163e4981 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/SCO.04-Mainnet/00014.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/SCO.04-Mainnet/00015.png b/tests/snapshots/nanox/test_transaction_manifest/SCO.04-Mainnet/00015.png new file mode 100644 index 00000000..b5f70a2c Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/SCO.04-Mainnet/00015.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/SCO.04-Mainnet/00016.png b/tests/snapshots/nanox/test_transaction_manifest/SCO.04-Mainnet/00016.png new file mode 100644 index 00000000..510dbb77 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/SCO.04-Mainnet/00016.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/SCO.04-Mainnet/00017.png b/tests/snapshots/nanox/test_transaction_manifest/SCO.04-Mainnet/00017.png new file mode 100644 index 00000000..8099d16e Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/SCO.04-Mainnet/00017.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/SCO.04-Mainnet/00018.png b/tests/snapshots/nanox/test_transaction_manifest/SCO.04-Mainnet/00018.png new file mode 100644 index 00000000..14c87a49 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/SCO.04-Mainnet/00018.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/SCO.04-Mainnet/00019.png b/tests/snapshots/nanox/test_transaction_manifest/SCO.04-Mainnet/00019.png new file mode 100644 index 00000000..1e4be699 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/SCO.04-Mainnet/00019.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/SCO.04-Mainnet/00020.png b/tests/snapshots/nanox/test_transaction_manifest/SCO.04-Mainnet/00020.png new file mode 100644 index 00000000..e84e8dfd Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/SCO.04-Mainnet/00020.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/SCO.04-Testnet/00000.png b/tests/snapshots/nanox/test_transaction_manifest/SCO.04-Testnet/00000.png new file mode 100644 index 00000000..3e327861 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/SCO.04-Testnet/00000.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/SCO.04-Testnet/00001.png b/tests/snapshots/nanox/test_transaction_manifest/SCO.04-Testnet/00001.png new file mode 100644 index 00000000..0aa992b4 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/SCO.04-Testnet/00001.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/SCO.04-Testnet/00002.png b/tests/snapshots/nanox/test_transaction_manifest/SCO.04-Testnet/00002.png new file mode 100644 index 00000000..9badf1a4 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/SCO.04-Testnet/00002.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/SCO.04-Testnet/00003.png b/tests/snapshots/nanox/test_transaction_manifest/SCO.04-Testnet/00003.png new file mode 100644 index 00000000..363bf8bd Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/SCO.04-Testnet/00003.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/SCO.04-Testnet/00004.png b/tests/snapshots/nanox/test_transaction_manifest/SCO.04-Testnet/00004.png new file mode 100644 index 00000000..1ba2af08 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/SCO.04-Testnet/00004.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/SCO.04-Testnet/00005.png b/tests/snapshots/nanox/test_transaction_manifest/SCO.04-Testnet/00005.png new file mode 100644 index 00000000..68fb8348 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/SCO.04-Testnet/00005.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/SCO.04-Testnet/00006.png b/tests/snapshots/nanox/test_transaction_manifest/SCO.04-Testnet/00006.png new file mode 100644 index 00000000..5957f3d1 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/SCO.04-Testnet/00006.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/SCO.04-Testnet/00007.png b/tests/snapshots/nanox/test_transaction_manifest/SCO.04-Testnet/00007.png new file mode 100644 index 00000000..cf0ed5f0 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/SCO.04-Testnet/00007.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/SCO.04-Testnet/00008.png b/tests/snapshots/nanox/test_transaction_manifest/SCO.04-Testnet/00008.png new file mode 100644 index 00000000..09cd7635 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/SCO.04-Testnet/00008.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/SCO.04-Testnet/00009.png b/tests/snapshots/nanox/test_transaction_manifest/SCO.04-Testnet/00009.png new file mode 100644 index 00000000..022a3811 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/SCO.04-Testnet/00009.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/SCO.04-Testnet/00010.png b/tests/snapshots/nanox/test_transaction_manifest/SCO.04-Testnet/00010.png new file mode 100644 index 00000000..d8a2740e Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/SCO.04-Testnet/00010.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/SCO.04-Testnet/00011.png b/tests/snapshots/nanox/test_transaction_manifest/SCO.04-Testnet/00011.png new file mode 100644 index 00000000..4d1a7f73 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/SCO.04-Testnet/00011.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/SCO.04-Testnet/00012.png b/tests/snapshots/nanox/test_transaction_manifest/SCO.04-Testnet/00012.png new file mode 100644 index 00000000..38f03f75 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/SCO.04-Testnet/00012.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/SCO.04-Testnet/00013.png b/tests/snapshots/nanox/test_transaction_manifest/SCO.04-Testnet/00013.png new file mode 100644 index 00000000..21b1ee21 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/SCO.04-Testnet/00013.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/SCO.04-Testnet/00014.png b/tests/snapshots/nanox/test_transaction_manifest/SCO.04-Testnet/00014.png new file mode 100644 index 00000000..163e4981 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/SCO.04-Testnet/00014.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/SCO.04-Testnet/00015.png b/tests/snapshots/nanox/test_transaction_manifest/SCO.04-Testnet/00015.png new file mode 100644 index 00000000..b5f70a2c Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/SCO.04-Testnet/00015.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/SCO.04-Testnet/00016.png b/tests/snapshots/nanox/test_transaction_manifest/SCO.04-Testnet/00016.png new file mode 100644 index 00000000..3df973c5 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/SCO.04-Testnet/00016.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/SCO.04-Testnet/00017.png b/tests/snapshots/nanox/test_transaction_manifest/SCO.04-Testnet/00017.png new file mode 100644 index 00000000..bcbf619c Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/SCO.04-Testnet/00017.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/SCO.04-Testnet/00018.png b/tests/snapshots/nanox/test_transaction_manifest/SCO.04-Testnet/00018.png new file mode 100644 index 00000000..14c87a49 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/SCO.04-Testnet/00018.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/SCO.04-Testnet/00019.png b/tests/snapshots/nanox/test_transaction_manifest/SCO.04-Testnet/00019.png new file mode 100644 index 00000000..1e4be699 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/SCO.04-Testnet/00019.png differ diff --git a/tests/snapshots/nanox/test_transaction_manifest/SCO.04-Testnet/00020.png b/tests/snapshots/nanox/test_transaction_manifest/SCO.04-Testnet/00020.png new file mode 100644 index 00000000..e84e8dfd Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_manifest/SCO.04-Testnet/00020.png differ diff --git a/tests/snapshots/nanox/test_transaction_params/part1/00001.png b/tests/snapshots/nanox/test_transaction_params/part1/00001.png index 5b962ee9..a10bf897 100644 Binary files a/tests/snapshots/nanox/test_transaction_params/part1/00001.png and b/tests/snapshots/nanox/test_transaction_params/part1/00001.png differ diff --git a/tests/snapshots/nanox/test_transaction_params/part1/00002.png b/tests/snapshots/nanox/test_transaction_params/part1/00002.png index 9e5fbace..5481d5da 100644 Binary files a/tests/snapshots/nanox/test_transaction_params/part1/00002.png and b/tests/snapshots/nanox/test_transaction_params/part1/00002.png differ diff --git a/tests/snapshots/nanox/test_transaction_params/part1/00003.png b/tests/snapshots/nanox/test_transaction_params/part1/00003.png index 81263f9e..d1930d7a 100644 Binary files a/tests/snapshots/nanox/test_transaction_params/part1/00003.png and b/tests/snapshots/nanox/test_transaction_params/part1/00003.png differ diff --git a/tests/snapshots/nanox/test_transaction_params/part1/00004.png b/tests/snapshots/nanox/test_transaction_params/part1/00004.png index 4b4eb598..a4d302e5 100644 Binary files a/tests/snapshots/nanox/test_transaction_params/part1/00004.png and b/tests/snapshots/nanox/test_transaction_params/part1/00004.png differ diff --git a/tests/snapshots/nanox/test_transaction_params/part1/00005.png b/tests/snapshots/nanox/test_transaction_params/part1/00005.png index d8a2740e..c22f01b2 100644 Binary files a/tests/snapshots/nanox/test_transaction_params/part1/00005.png and b/tests/snapshots/nanox/test_transaction_params/part1/00005.png differ diff --git a/tests/snapshots/nanox/test_transaction_params/part1/00006.png b/tests/snapshots/nanox/test_transaction_params/part1/00006.png index 4d1a7f73..6b84117f 100644 Binary files a/tests/snapshots/nanox/test_transaction_params/part1/00006.png and b/tests/snapshots/nanox/test_transaction_params/part1/00006.png differ diff --git a/tests/snapshots/nanox/test_transaction_params/part1/00007.png b/tests/snapshots/nanox/test_transaction_params/part1/00007.png index 38f03f75..3903db85 100644 Binary files a/tests/snapshots/nanox/test_transaction_params/part1/00007.png and b/tests/snapshots/nanox/test_transaction_params/part1/00007.png differ diff --git a/tests/snapshots/nanox/test_transaction_params/part1/00008.png b/tests/snapshots/nanox/test_transaction_params/part1/00008.png index 37312a69..8065791c 100644 Binary files a/tests/snapshots/nanox/test_transaction_params/part1/00008.png and b/tests/snapshots/nanox/test_transaction_params/part1/00008.png differ diff --git a/tests/snapshots/nanox/test_transaction_params/part1/00009.png b/tests/snapshots/nanox/test_transaction_params/part1/00009.png index 163e4981..d8a2740e 100644 Binary files a/tests/snapshots/nanox/test_transaction_params/part1/00009.png and b/tests/snapshots/nanox/test_transaction_params/part1/00009.png differ diff --git a/tests/snapshots/nanox/test_transaction_params/part1/00010.png b/tests/snapshots/nanox/test_transaction_params/part1/00010.png index b5f70a2c..4d1a7f73 100644 Binary files a/tests/snapshots/nanox/test_transaction_params/part1/00010.png and b/tests/snapshots/nanox/test_transaction_params/part1/00010.png differ diff --git a/tests/snapshots/nanox/test_transaction_params/part1/00011.png b/tests/snapshots/nanox/test_transaction_params/part1/00011.png index 42cf0b73..38f03f75 100644 Binary files a/tests/snapshots/nanox/test_transaction_params/part1/00011.png and b/tests/snapshots/nanox/test_transaction_params/part1/00011.png differ diff --git a/tests/snapshots/nanox/test_transaction_params/part1/00012.png b/tests/snapshots/nanox/test_transaction_params/part1/00012.png index 819d3159..1030e3e1 100644 Binary files a/tests/snapshots/nanox/test_transaction_params/part1/00012.png and b/tests/snapshots/nanox/test_transaction_params/part1/00012.png differ diff --git a/tests/snapshots/nanox/test_transaction_params/part1/00013.png b/tests/snapshots/nanox/test_transaction_params/part1/00013.png index 14c87a49..163e4981 100644 Binary files a/tests/snapshots/nanox/test_transaction_params/part1/00013.png and b/tests/snapshots/nanox/test_transaction_params/part1/00013.png differ diff --git a/tests/snapshots/nanox/test_transaction_params/part1/00014.png b/tests/snapshots/nanox/test_transaction_params/part1/00014.png index 1e4be699..b5f70a2c 100644 Binary files a/tests/snapshots/nanox/test_transaction_params/part1/00014.png and b/tests/snapshots/nanox/test_transaction_params/part1/00014.png differ diff --git a/tests/snapshots/nanox/test_transaction_params/part1/00015.png b/tests/snapshots/nanox/test_transaction_params/part1/00015.png index e84e8dfd..510dbb77 100644 Binary files a/tests/snapshots/nanox/test_transaction_params/part1/00015.png and b/tests/snapshots/nanox/test_transaction_params/part1/00015.png differ diff --git a/tests/snapshots/nanox/test_transaction_params/part1/00016.png b/tests/snapshots/nanox/test_transaction_params/part1/00016.png new file mode 100644 index 00000000..8099d16e Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_params/part1/00016.png differ diff --git a/tests/snapshots/nanox/test_transaction_params/part1/00017.png b/tests/snapshots/nanox/test_transaction_params/part1/00017.png new file mode 100644 index 00000000..14c87a49 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_params/part1/00017.png differ diff --git a/tests/snapshots/nanox/test_transaction_params/part1/00018.png b/tests/snapshots/nanox/test_transaction_params/part1/00018.png new file mode 100644 index 00000000..1e4be699 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_params/part1/00018.png differ diff --git a/tests/snapshots/nanox/test_transaction_params/part1/00019.png b/tests/snapshots/nanox/test_transaction_params/part1/00019.png new file mode 100644 index 00000000..e84e8dfd Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_params/part1/00019.png differ diff --git a/tests/snapshots/nanox/test_transaction_params/part10/00001.png b/tests/snapshots/nanox/test_transaction_params/part10/00001.png index 5f3d1a05..262b4b5e 100644 Binary files a/tests/snapshots/nanox/test_transaction_params/part10/00001.png and b/tests/snapshots/nanox/test_transaction_params/part10/00001.png differ diff --git a/tests/snapshots/nanox/test_transaction_params/part10/00002.png b/tests/snapshots/nanox/test_transaction_params/part10/00002.png index 9e5fbace..5481d5da 100644 Binary files a/tests/snapshots/nanox/test_transaction_params/part10/00002.png and b/tests/snapshots/nanox/test_transaction_params/part10/00002.png differ diff --git a/tests/snapshots/nanox/test_transaction_params/part10/00003.png b/tests/snapshots/nanox/test_transaction_params/part10/00003.png index 4fc695e8..de527bf7 100644 Binary files a/tests/snapshots/nanox/test_transaction_params/part10/00003.png and b/tests/snapshots/nanox/test_transaction_params/part10/00003.png differ diff --git a/tests/snapshots/nanox/test_transaction_params/part10/00004.png b/tests/snapshots/nanox/test_transaction_params/part10/00004.png index b16f6914..d8a2740e 100644 Binary files a/tests/snapshots/nanox/test_transaction_params/part10/00004.png and b/tests/snapshots/nanox/test_transaction_params/part10/00004.png differ diff --git a/tests/snapshots/nanox/test_transaction_params/part10/00005.png b/tests/snapshots/nanox/test_transaction_params/part10/00005.png index 024cc329..4d1a7f73 100644 Binary files a/tests/snapshots/nanox/test_transaction_params/part10/00005.png and b/tests/snapshots/nanox/test_transaction_params/part10/00005.png differ diff --git a/tests/snapshots/nanox/test_transaction_params/part10/00006.png b/tests/snapshots/nanox/test_transaction_params/part10/00006.png index d8a2740e..38f03f75 100644 Binary files a/tests/snapshots/nanox/test_transaction_params/part10/00006.png and b/tests/snapshots/nanox/test_transaction_params/part10/00006.png differ diff --git a/tests/snapshots/nanox/test_transaction_params/part10/00007.png b/tests/snapshots/nanox/test_transaction_params/part10/00007.png index 4d1a7f73..1030e3e1 100644 Binary files a/tests/snapshots/nanox/test_transaction_params/part10/00007.png and b/tests/snapshots/nanox/test_transaction_params/part10/00007.png differ diff --git a/tests/snapshots/nanox/test_transaction_params/part10/00008.png b/tests/snapshots/nanox/test_transaction_params/part10/00008.png index 38f03f75..163e4981 100644 Binary files a/tests/snapshots/nanox/test_transaction_params/part10/00008.png and b/tests/snapshots/nanox/test_transaction_params/part10/00008.png differ diff --git a/tests/snapshots/nanox/test_transaction_params/part10/00009.png b/tests/snapshots/nanox/test_transaction_params/part10/00009.png index 37312a69..b5f70a2c 100644 Binary files a/tests/snapshots/nanox/test_transaction_params/part10/00009.png and b/tests/snapshots/nanox/test_transaction_params/part10/00009.png differ diff --git a/tests/snapshots/nanox/test_transaction_params/part10/00010.png b/tests/snapshots/nanox/test_transaction_params/part10/00010.png index 163e4981..510dbb77 100644 Binary files a/tests/snapshots/nanox/test_transaction_params/part10/00010.png and b/tests/snapshots/nanox/test_transaction_params/part10/00010.png differ diff --git a/tests/snapshots/nanox/test_transaction_params/part10/00011.png b/tests/snapshots/nanox/test_transaction_params/part10/00011.png index b5f70a2c..8099d16e 100644 Binary files a/tests/snapshots/nanox/test_transaction_params/part10/00011.png and b/tests/snapshots/nanox/test_transaction_params/part10/00011.png differ diff --git a/tests/snapshots/nanox/test_transaction_params/part10/00012.png b/tests/snapshots/nanox/test_transaction_params/part10/00012.png index 42cf0b73..14c87a49 100644 Binary files a/tests/snapshots/nanox/test_transaction_params/part10/00012.png and b/tests/snapshots/nanox/test_transaction_params/part10/00012.png differ diff --git a/tests/snapshots/nanox/test_transaction_params/part10/00013.png b/tests/snapshots/nanox/test_transaction_params/part10/00013.png index 819d3159..1e4be699 100644 Binary files a/tests/snapshots/nanox/test_transaction_params/part10/00013.png and b/tests/snapshots/nanox/test_transaction_params/part10/00013.png differ diff --git a/tests/snapshots/nanox/test_transaction_params/part10/00014.png b/tests/snapshots/nanox/test_transaction_params/part10/00014.png index 14c87a49..e84e8dfd 100644 Binary files a/tests/snapshots/nanox/test_transaction_params/part10/00014.png and b/tests/snapshots/nanox/test_transaction_params/part10/00014.png differ diff --git a/tests/snapshots/nanox/test_transaction_params/part11/00001.png b/tests/snapshots/nanox/test_transaction_params/part11/00001.png index 5f3d1a05..262b4b5e 100644 Binary files a/tests/snapshots/nanox/test_transaction_params/part11/00001.png and b/tests/snapshots/nanox/test_transaction_params/part11/00001.png differ diff --git a/tests/snapshots/nanox/test_transaction_params/part11/00002.png b/tests/snapshots/nanox/test_transaction_params/part11/00002.png index 9e5fbace..5481d5da 100644 Binary files a/tests/snapshots/nanox/test_transaction_params/part11/00002.png and b/tests/snapshots/nanox/test_transaction_params/part11/00002.png differ diff --git a/tests/snapshots/nanox/test_transaction_params/part11/00003.png b/tests/snapshots/nanox/test_transaction_params/part11/00003.png index 4fc695e8..de527bf7 100644 Binary files a/tests/snapshots/nanox/test_transaction_params/part11/00003.png and b/tests/snapshots/nanox/test_transaction_params/part11/00003.png differ diff --git a/tests/snapshots/nanox/test_transaction_params/part11/00004.png b/tests/snapshots/nanox/test_transaction_params/part11/00004.png index b16f6914..d8a2740e 100644 Binary files a/tests/snapshots/nanox/test_transaction_params/part11/00004.png and b/tests/snapshots/nanox/test_transaction_params/part11/00004.png differ diff --git a/tests/snapshots/nanox/test_transaction_params/part11/00005.png b/tests/snapshots/nanox/test_transaction_params/part11/00005.png index 024cc329..4d1a7f73 100644 Binary files a/tests/snapshots/nanox/test_transaction_params/part11/00005.png and b/tests/snapshots/nanox/test_transaction_params/part11/00005.png differ diff --git a/tests/snapshots/nanox/test_transaction_params/part11/00006.png b/tests/snapshots/nanox/test_transaction_params/part11/00006.png index d8a2740e..38f03f75 100644 Binary files a/tests/snapshots/nanox/test_transaction_params/part11/00006.png and b/tests/snapshots/nanox/test_transaction_params/part11/00006.png differ diff --git a/tests/snapshots/nanox/test_transaction_params/part11/00007.png b/tests/snapshots/nanox/test_transaction_params/part11/00007.png index 4d1a7f73..1030e3e1 100644 Binary files a/tests/snapshots/nanox/test_transaction_params/part11/00007.png and b/tests/snapshots/nanox/test_transaction_params/part11/00007.png differ diff --git a/tests/snapshots/nanox/test_transaction_params/part11/00008.png b/tests/snapshots/nanox/test_transaction_params/part11/00008.png index 38f03f75..163e4981 100644 Binary files a/tests/snapshots/nanox/test_transaction_params/part11/00008.png and b/tests/snapshots/nanox/test_transaction_params/part11/00008.png differ diff --git a/tests/snapshots/nanox/test_transaction_params/part11/00009.png b/tests/snapshots/nanox/test_transaction_params/part11/00009.png index 37312a69..b5f70a2c 100644 Binary files a/tests/snapshots/nanox/test_transaction_params/part11/00009.png and b/tests/snapshots/nanox/test_transaction_params/part11/00009.png differ diff --git a/tests/snapshots/nanox/test_transaction_params/part11/00010.png b/tests/snapshots/nanox/test_transaction_params/part11/00010.png index 163e4981..510dbb77 100644 Binary files a/tests/snapshots/nanox/test_transaction_params/part11/00010.png and b/tests/snapshots/nanox/test_transaction_params/part11/00010.png differ diff --git a/tests/snapshots/nanox/test_transaction_params/part11/00011.png b/tests/snapshots/nanox/test_transaction_params/part11/00011.png index b5f70a2c..8099d16e 100644 Binary files a/tests/snapshots/nanox/test_transaction_params/part11/00011.png and b/tests/snapshots/nanox/test_transaction_params/part11/00011.png differ diff --git a/tests/snapshots/nanox/test_transaction_params/part11/00012.png b/tests/snapshots/nanox/test_transaction_params/part11/00012.png index 42cf0b73..14c87a49 100644 Binary files a/tests/snapshots/nanox/test_transaction_params/part11/00012.png and b/tests/snapshots/nanox/test_transaction_params/part11/00012.png differ diff --git a/tests/snapshots/nanox/test_transaction_params/part11/00013.png b/tests/snapshots/nanox/test_transaction_params/part11/00013.png index 819d3159..1e4be699 100644 Binary files a/tests/snapshots/nanox/test_transaction_params/part11/00013.png and b/tests/snapshots/nanox/test_transaction_params/part11/00013.png differ diff --git a/tests/snapshots/nanox/test_transaction_params/part11/00014.png b/tests/snapshots/nanox/test_transaction_params/part11/00014.png index 14c87a49..e84e8dfd 100644 Binary files a/tests/snapshots/nanox/test_transaction_params/part11/00014.png and b/tests/snapshots/nanox/test_transaction_params/part11/00014.png differ diff --git a/tests/snapshots/nanox/test_transaction_params/part12/00001.png b/tests/snapshots/nanox/test_transaction_params/part12/00001.png index 5f3d1a05..262b4b5e 100644 Binary files a/tests/snapshots/nanox/test_transaction_params/part12/00001.png and b/tests/snapshots/nanox/test_transaction_params/part12/00001.png differ diff --git a/tests/snapshots/nanox/test_transaction_params/part12/00002.png b/tests/snapshots/nanox/test_transaction_params/part12/00002.png index 9e5fbace..5481d5da 100644 Binary files a/tests/snapshots/nanox/test_transaction_params/part12/00002.png and b/tests/snapshots/nanox/test_transaction_params/part12/00002.png differ diff --git a/tests/snapshots/nanox/test_transaction_params/part12/00003.png b/tests/snapshots/nanox/test_transaction_params/part12/00003.png index 4fc695e8..de527bf7 100644 Binary files a/tests/snapshots/nanox/test_transaction_params/part12/00003.png and b/tests/snapshots/nanox/test_transaction_params/part12/00003.png differ diff --git a/tests/snapshots/nanox/test_transaction_params/part12/00004.png b/tests/snapshots/nanox/test_transaction_params/part12/00004.png index b16f6914..d8a2740e 100644 Binary files a/tests/snapshots/nanox/test_transaction_params/part12/00004.png and b/tests/snapshots/nanox/test_transaction_params/part12/00004.png differ diff --git a/tests/snapshots/nanox/test_transaction_params/part12/00005.png b/tests/snapshots/nanox/test_transaction_params/part12/00005.png index 024cc329..4d1a7f73 100644 Binary files a/tests/snapshots/nanox/test_transaction_params/part12/00005.png and b/tests/snapshots/nanox/test_transaction_params/part12/00005.png differ diff --git a/tests/snapshots/nanox/test_transaction_params/part12/00006.png b/tests/snapshots/nanox/test_transaction_params/part12/00006.png index d8a2740e..38f03f75 100644 Binary files a/tests/snapshots/nanox/test_transaction_params/part12/00006.png and b/tests/snapshots/nanox/test_transaction_params/part12/00006.png differ diff --git a/tests/snapshots/nanox/test_transaction_params/part12/00007.png b/tests/snapshots/nanox/test_transaction_params/part12/00007.png index 4d1a7f73..1030e3e1 100644 Binary files a/tests/snapshots/nanox/test_transaction_params/part12/00007.png and b/tests/snapshots/nanox/test_transaction_params/part12/00007.png differ diff --git a/tests/snapshots/nanox/test_transaction_params/part12/00008.png b/tests/snapshots/nanox/test_transaction_params/part12/00008.png index 38f03f75..163e4981 100644 Binary files a/tests/snapshots/nanox/test_transaction_params/part12/00008.png and b/tests/snapshots/nanox/test_transaction_params/part12/00008.png differ diff --git a/tests/snapshots/nanox/test_transaction_params/part12/00009.png b/tests/snapshots/nanox/test_transaction_params/part12/00009.png index 37312a69..b5f70a2c 100644 Binary files a/tests/snapshots/nanox/test_transaction_params/part12/00009.png and b/tests/snapshots/nanox/test_transaction_params/part12/00009.png differ diff --git a/tests/snapshots/nanox/test_transaction_params/part12/00010.png b/tests/snapshots/nanox/test_transaction_params/part12/00010.png index 163e4981..510dbb77 100644 Binary files a/tests/snapshots/nanox/test_transaction_params/part12/00010.png and b/tests/snapshots/nanox/test_transaction_params/part12/00010.png differ diff --git a/tests/snapshots/nanox/test_transaction_params/part12/00011.png b/tests/snapshots/nanox/test_transaction_params/part12/00011.png index b5f70a2c..8099d16e 100644 Binary files a/tests/snapshots/nanox/test_transaction_params/part12/00011.png and b/tests/snapshots/nanox/test_transaction_params/part12/00011.png differ diff --git a/tests/snapshots/nanox/test_transaction_params/part12/00012.png b/tests/snapshots/nanox/test_transaction_params/part12/00012.png index 42cf0b73..14c87a49 100644 Binary files a/tests/snapshots/nanox/test_transaction_params/part12/00012.png and b/tests/snapshots/nanox/test_transaction_params/part12/00012.png differ diff --git a/tests/snapshots/nanox/test_transaction_params/part12/00013.png b/tests/snapshots/nanox/test_transaction_params/part12/00013.png index 819d3159..1e4be699 100644 Binary files a/tests/snapshots/nanox/test_transaction_params/part12/00013.png and b/tests/snapshots/nanox/test_transaction_params/part12/00013.png differ diff --git a/tests/snapshots/nanox/test_transaction_params/part12/00014.png b/tests/snapshots/nanox/test_transaction_params/part12/00014.png index 14c87a49..e84e8dfd 100644 Binary files a/tests/snapshots/nanox/test_transaction_params/part12/00014.png and b/tests/snapshots/nanox/test_transaction_params/part12/00014.png differ diff --git a/tests/snapshots/nanox/test_transaction_params/part2/00001.png b/tests/snapshots/nanox/test_transaction_params/part2/00001.png index 5b962ee9..a10bf897 100644 Binary files a/tests/snapshots/nanox/test_transaction_params/part2/00001.png and b/tests/snapshots/nanox/test_transaction_params/part2/00001.png differ diff --git a/tests/snapshots/nanox/test_transaction_params/part2/00002.png b/tests/snapshots/nanox/test_transaction_params/part2/00002.png index 9e5fbace..5481d5da 100644 Binary files a/tests/snapshots/nanox/test_transaction_params/part2/00002.png and b/tests/snapshots/nanox/test_transaction_params/part2/00002.png differ diff --git a/tests/snapshots/nanox/test_transaction_params/part2/00003.png b/tests/snapshots/nanox/test_transaction_params/part2/00003.png index 81263f9e..d1930d7a 100644 Binary files a/tests/snapshots/nanox/test_transaction_params/part2/00003.png and b/tests/snapshots/nanox/test_transaction_params/part2/00003.png differ diff --git a/tests/snapshots/nanox/test_transaction_params/part2/00004.png b/tests/snapshots/nanox/test_transaction_params/part2/00004.png index 4b4eb598..a4d302e5 100644 Binary files a/tests/snapshots/nanox/test_transaction_params/part2/00004.png and b/tests/snapshots/nanox/test_transaction_params/part2/00004.png differ diff --git a/tests/snapshots/nanox/test_transaction_params/part2/00005.png b/tests/snapshots/nanox/test_transaction_params/part2/00005.png index d8a2740e..c22f01b2 100644 Binary files a/tests/snapshots/nanox/test_transaction_params/part2/00005.png and b/tests/snapshots/nanox/test_transaction_params/part2/00005.png differ diff --git a/tests/snapshots/nanox/test_transaction_params/part2/00006.png b/tests/snapshots/nanox/test_transaction_params/part2/00006.png index 4d1a7f73..6b84117f 100644 Binary files a/tests/snapshots/nanox/test_transaction_params/part2/00006.png and b/tests/snapshots/nanox/test_transaction_params/part2/00006.png differ diff --git a/tests/snapshots/nanox/test_transaction_params/part2/00007.png b/tests/snapshots/nanox/test_transaction_params/part2/00007.png index 38f03f75..3903db85 100644 Binary files a/tests/snapshots/nanox/test_transaction_params/part2/00007.png and b/tests/snapshots/nanox/test_transaction_params/part2/00007.png differ diff --git a/tests/snapshots/nanox/test_transaction_params/part2/00008.png b/tests/snapshots/nanox/test_transaction_params/part2/00008.png index 37312a69..8065791c 100644 Binary files a/tests/snapshots/nanox/test_transaction_params/part2/00008.png and b/tests/snapshots/nanox/test_transaction_params/part2/00008.png differ diff --git a/tests/snapshots/nanox/test_transaction_params/part2/00009.png b/tests/snapshots/nanox/test_transaction_params/part2/00009.png index 163e4981..d8a2740e 100644 Binary files a/tests/snapshots/nanox/test_transaction_params/part2/00009.png and b/tests/snapshots/nanox/test_transaction_params/part2/00009.png differ diff --git a/tests/snapshots/nanox/test_transaction_params/part2/00010.png b/tests/snapshots/nanox/test_transaction_params/part2/00010.png index b5f70a2c..4d1a7f73 100644 Binary files a/tests/snapshots/nanox/test_transaction_params/part2/00010.png and b/tests/snapshots/nanox/test_transaction_params/part2/00010.png differ diff --git a/tests/snapshots/nanox/test_transaction_params/part2/00011.png b/tests/snapshots/nanox/test_transaction_params/part2/00011.png index 42cf0b73..38f03f75 100644 Binary files a/tests/snapshots/nanox/test_transaction_params/part2/00011.png and b/tests/snapshots/nanox/test_transaction_params/part2/00011.png differ diff --git a/tests/snapshots/nanox/test_transaction_params/part2/00012.png b/tests/snapshots/nanox/test_transaction_params/part2/00012.png index 819d3159..1030e3e1 100644 Binary files a/tests/snapshots/nanox/test_transaction_params/part2/00012.png and b/tests/snapshots/nanox/test_transaction_params/part2/00012.png differ diff --git a/tests/snapshots/nanox/test_transaction_params/part2/00013.png b/tests/snapshots/nanox/test_transaction_params/part2/00013.png index 14c87a49..163e4981 100644 Binary files a/tests/snapshots/nanox/test_transaction_params/part2/00013.png and b/tests/snapshots/nanox/test_transaction_params/part2/00013.png differ diff --git a/tests/snapshots/nanox/test_transaction_params/part2/00014.png b/tests/snapshots/nanox/test_transaction_params/part2/00014.png index 1e4be699..b5f70a2c 100644 Binary files a/tests/snapshots/nanox/test_transaction_params/part2/00014.png and b/tests/snapshots/nanox/test_transaction_params/part2/00014.png differ diff --git a/tests/snapshots/nanox/test_transaction_params/part2/00015.png b/tests/snapshots/nanox/test_transaction_params/part2/00015.png index e84e8dfd..510dbb77 100644 Binary files a/tests/snapshots/nanox/test_transaction_params/part2/00015.png and b/tests/snapshots/nanox/test_transaction_params/part2/00015.png differ diff --git a/tests/snapshots/nanox/test_transaction_params/part2/00016.png b/tests/snapshots/nanox/test_transaction_params/part2/00016.png new file mode 100644 index 00000000..8099d16e Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_params/part2/00016.png differ diff --git a/tests/snapshots/nanox/test_transaction_params/part2/00017.png b/tests/snapshots/nanox/test_transaction_params/part2/00017.png new file mode 100644 index 00000000..14c87a49 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_params/part2/00017.png differ diff --git a/tests/snapshots/nanox/test_transaction_params/part2/00018.png b/tests/snapshots/nanox/test_transaction_params/part2/00018.png new file mode 100644 index 00000000..1e4be699 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_params/part2/00018.png differ diff --git a/tests/snapshots/nanox/test_transaction_params/part2/00019.png b/tests/snapshots/nanox/test_transaction_params/part2/00019.png new file mode 100644 index 00000000..e84e8dfd Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_params/part2/00019.png differ diff --git a/tests/snapshots/nanox/test_transaction_params/part3/00001.png b/tests/snapshots/nanox/test_transaction_params/part3/00001.png index 5b962ee9..a10bf897 100644 Binary files a/tests/snapshots/nanox/test_transaction_params/part3/00001.png and b/tests/snapshots/nanox/test_transaction_params/part3/00001.png differ diff --git a/tests/snapshots/nanox/test_transaction_params/part3/00002.png b/tests/snapshots/nanox/test_transaction_params/part3/00002.png index 9e5fbace..5481d5da 100644 Binary files a/tests/snapshots/nanox/test_transaction_params/part3/00002.png and b/tests/snapshots/nanox/test_transaction_params/part3/00002.png differ diff --git a/tests/snapshots/nanox/test_transaction_params/part3/00003.png b/tests/snapshots/nanox/test_transaction_params/part3/00003.png index 81263f9e..d1930d7a 100644 Binary files a/tests/snapshots/nanox/test_transaction_params/part3/00003.png and b/tests/snapshots/nanox/test_transaction_params/part3/00003.png differ diff --git a/tests/snapshots/nanox/test_transaction_params/part3/00004.png b/tests/snapshots/nanox/test_transaction_params/part3/00004.png index 4b4eb598..a4d302e5 100644 Binary files a/tests/snapshots/nanox/test_transaction_params/part3/00004.png and b/tests/snapshots/nanox/test_transaction_params/part3/00004.png differ diff --git a/tests/snapshots/nanox/test_transaction_params/part3/00005.png b/tests/snapshots/nanox/test_transaction_params/part3/00005.png index d8a2740e..c22f01b2 100644 Binary files a/tests/snapshots/nanox/test_transaction_params/part3/00005.png and b/tests/snapshots/nanox/test_transaction_params/part3/00005.png differ diff --git a/tests/snapshots/nanox/test_transaction_params/part3/00006.png b/tests/snapshots/nanox/test_transaction_params/part3/00006.png index 4d1a7f73..6b84117f 100644 Binary files a/tests/snapshots/nanox/test_transaction_params/part3/00006.png and b/tests/snapshots/nanox/test_transaction_params/part3/00006.png differ diff --git a/tests/snapshots/nanox/test_transaction_params/part3/00007.png b/tests/snapshots/nanox/test_transaction_params/part3/00007.png index 38f03f75..3903db85 100644 Binary files a/tests/snapshots/nanox/test_transaction_params/part3/00007.png and b/tests/snapshots/nanox/test_transaction_params/part3/00007.png differ diff --git a/tests/snapshots/nanox/test_transaction_params/part3/00008.png b/tests/snapshots/nanox/test_transaction_params/part3/00008.png index 37312a69..8065791c 100644 Binary files a/tests/snapshots/nanox/test_transaction_params/part3/00008.png and b/tests/snapshots/nanox/test_transaction_params/part3/00008.png differ diff --git a/tests/snapshots/nanox/test_transaction_params/part3/00009.png b/tests/snapshots/nanox/test_transaction_params/part3/00009.png index 163e4981..d8a2740e 100644 Binary files a/tests/snapshots/nanox/test_transaction_params/part3/00009.png and b/tests/snapshots/nanox/test_transaction_params/part3/00009.png differ diff --git a/tests/snapshots/nanox/test_transaction_params/part3/00010.png b/tests/snapshots/nanox/test_transaction_params/part3/00010.png index b5f70a2c..4d1a7f73 100644 Binary files a/tests/snapshots/nanox/test_transaction_params/part3/00010.png and b/tests/snapshots/nanox/test_transaction_params/part3/00010.png differ diff --git a/tests/snapshots/nanox/test_transaction_params/part3/00011.png b/tests/snapshots/nanox/test_transaction_params/part3/00011.png index 42cf0b73..38f03f75 100644 Binary files a/tests/snapshots/nanox/test_transaction_params/part3/00011.png and b/tests/snapshots/nanox/test_transaction_params/part3/00011.png differ diff --git a/tests/snapshots/nanox/test_transaction_params/part3/00012.png b/tests/snapshots/nanox/test_transaction_params/part3/00012.png index 819d3159..1030e3e1 100644 Binary files a/tests/snapshots/nanox/test_transaction_params/part3/00012.png and b/tests/snapshots/nanox/test_transaction_params/part3/00012.png differ diff --git a/tests/snapshots/nanox/test_transaction_params/part3/00013.png b/tests/snapshots/nanox/test_transaction_params/part3/00013.png index 14c87a49..163e4981 100644 Binary files a/tests/snapshots/nanox/test_transaction_params/part3/00013.png and b/tests/snapshots/nanox/test_transaction_params/part3/00013.png differ diff --git a/tests/snapshots/nanox/test_transaction_params/part3/00014.png b/tests/snapshots/nanox/test_transaction_params/part3/00014.png index 1e4be699..b5f70a2c 100644 Binary files a/tests/snapshots/nanox/test_transaction_params/part3/00014.png and b/tests/snapshots/nanox/test_transaction_params/part3/00014.png differ diff --git a/tests/snapshots/nanox/test_transaction_params/part3/00015.png b/tests/snapshots/nanox/test_transaction_params/part3/00015.png index e84e8dfd..510dbb77 100644 Binary files a/tests/snapshots/nanox/test_transaction_params/part3/00015.png and b/tests/snapshots/nanox/test_transaction_params/part3/00015.png differ diff --git a/tests/snapshots/nanox/test_transaction_params/part3/00016.png b/tests/snapshots/nanox/test_transaction_params/part3/00016.png new file mode 100644 index 00000000..8099d16e Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_params/part3/00016.png differ diff --git a/tests/snapshots/nanox/test_transaction_params/part3/00017.png b/tests/snapshots/nanox/test_transaction_params/part3/00017.png new file mode 100644 index 00000000..14c87a49 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_params/part3/00017.png differ diff --git a/tests/snapshots/nanox/test_transaction_params/part3/00018.png b/tests/snapshots/nanox/test_transaction_params/part3/00018.png new file mode 100644 index 00000000..1e4be699 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_params/part3/00018.png differ diff --git a/tests/snapshots/nanox/test_transaction_params/part3/00019.png b/tests/snapshots/nanox/test_transaction_params/part3/00019.png new file mode 100644 index 00000000..e84e8dfd Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_params/part3/00019.png differ diff --git a/tests/snapshots/nanox/test_transaction_params/part4/00001.png b/tests/snapshots/nanox/test_transaction_params/part4/00001.png index 5b962ee9..a10bf897 100644 Binary files a/tests/snapshots/nanox/test_transaction_params/part4/00001.png and b/tests/snapshots/nanox/test_transaction_params/part4/00001.png differ diff --git a/tests/snapshots/nanox/test_transaction_params/part4/00002.png b/tests/snapshots/nanox/test_transaction_params/part4/00002.png index 9e5fbace..5481d5da 100644 Binary files a/tests/snapshots/nanox/test_transaction_params/part4/00002.png and b/tests/snapshots/nanox/test_transaction_params/part4/00002.png differ diff --git a/tests/snapshots/nanox/test_transaction_params/part4/00003.png b/tests/snapshots/nanox/test_transaction_params/part4/00003.png index 81263f9e..d1930d7a 100644 Binary files a/tests/snapshots/nanox/test_transaction_params/part4/00003.png and b/tests/snapshots/nanox/test_transaction_params/part4/00003.png differ diff --git a/tests/snapshots/nanox/test_transaction_params/part4/00004.png b/tests/snapshots/nanox/test_transaction_params/part4/00004.png index 4b4eb598..a4d302e5 100644 Binary files a/tests/snapshots/nanox/test_transaction_params/part4/00004.png and b/tests/snapshots/nanox/test_transaction_params/part4/00004.png differ diff --git a/tests/snapshots/nanox/test_transaction_params/part4/00005.png b/tests/snapshots/nanox/test_transaction_params/part4/00005.png index d8a2740e..c22f01b2 100644 Binary files a/tests/snapshots/nanox/test_transaction_params/part4/00005.png and b/tests/snapshots/nanox/test_transaction_params/part4/00005.png differ diff --git a/tests/snapshots/nanox/test_transaction_params/part4/00006.png b/tests/snapshots/nanox/test_transaction_params/part4/00006.png index 4d1a7f73..6b84117f 100644 Binary files a/tests/snapshots/nanox/test_transaction_params/part4/00006.png and b/tests/snapshots/nanox/test_transaction_params/part4/00006.png differ diff --git a/tests/snapshots/nanox/test_transaction_params/part4/00007.png b/tests/snapshots/nanox/test_transaction_params/part4/00007.png index 38f03f75..3903db85 100644 Binary files a/tests/snapshots/nanox/test_transaction_params/part4/00007.png and b/tests/snapshots/nanox/test_transaction_params/part4/00007.png differ diff --git a/tests/snapshots/nanox/test_transaction_params/part4/00008.png b/tests/snapshots/nanox/test_transaction_params/part4/00008.png index 37312a69..8065791c 100644 Binary files a/tests/snapshots/nanox/test_transaction_params/part4/00008.png and b/tests/snapshots/nanox/test_transaction_params/part4/00008.png differ diff --git a/tests/snapshots/nanox/test_transaction_params/part4/00009.png b/tests/snapshots/nanox/test_transaction_params/part4/00009.png index 163e4981..d8a2740e 100644 Binary files a/tests/snapshots/nanox/test_transaction_params/part4/00009.png and b/tests/snapshots/nanox/test_transaction_params/part4/00009.png differ diff --git a/tests/snapshots/nanox/test_transaction_params/part4/00010.png b/tests/snapshots/nanox/test_transaction_params/part4/00010.png index b5f70a2c..4d1a7f73 100644 Binary files a/tests/snapshots/nanox/test_transaction_params/part4/00010.png and b/tests/snapshots/nanox/test_transaction_params/part4/00010.png differ diff --git a/tests/snapshots/nanox/test_transaction_params/part4/00011.png b/tests/snapshots/nanox/test_transaction_params/part4/00011.png index 42cf0b73..38f03f75 100644 Binary files a/tests/snapshots/nanox/test_transaction_params/part4/00011.png and b/tests/snapshots/nanox/test_transaction_params/part4/00011.png differ diff --git a/tests/snapshots/nanox/test_transaction_params/part4/00012.png b/tests/snapshots/nanox/test_transaction_params/part4/00012.png index 819d3159..1030e3e1 100644 Binary files a/tests/snapshots/nanox/test_transaction_params/part4/00012.png and b/tests/snapshots/nanox/test_transaction_params/part4/00012.png differ diff --git a/tests/snapshots/nanox/test_transaction_params/part4/00013.png b/tests/snapshots/nanox/test_transaction_params/part4/00013.png index 14c87a49..163e4981 100644 Binary files a/tests/snapshots/nanox/test_transaction_params/part4/00013.png and b/tests/snapshots/nanox/test_transaction_params/part4/00013.png differ diff --git a/tests/snapshots/nanox/test_transaction_params/part4/00014.png b/tests/snapshots/nanox/test_transaction_params/part4/00014.png index 1e4be699..b5f70a2c 100644 Binary files a/tests/snapshots/nanox/test_transaction_params/part4/00014.png and b/tests/snapshots/nanox/test_transaction_params/part4/00014.png differ diff --git a/tests/snapshots/nanox/test_transaction_params/part4/00015.png b/tests/snapshots/nanox/test_transaction_params/part4/00015.png index e84e8dfd..510dbb77 100644 Binary files a/tests/snapshots/nanox/test_transaction_params/part4/00015.png and b/tests/snapshots/nanox/test_transaction_params/part4/00015.png differ diff --git a/tests/snapshots/nanox/test_transaction_params/part4/00016.png b/tests/snapshots/nanox/test_transaction_params/part4/00016.png new file mode 100644 index 00000000..8099d16e Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_params/part4/00016.png differ diff --git a/tests/snapshots/nanox/test_transaction_params/part4/00017.png b/tests/snapshots/nanox/test_transaction_params/part4/00017.png new file mode 100644 index 00000000..14c87a49 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_params/part4/00017.png differ diff --git a/tests/snapshots/nanox/test_transaction_params/part4/00018.png b/tests/snapshots/nanox/test_transaction_params/part4/00018.png new file mode 100644 index 00000000..1e4be699 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_params/part4/00018.png differ diff --git a/tests/snapshots/nanox/test_transaction_params/part4/00019.png b/tests/snapshots/nanox/test_transaction_params/part4/00019.png new file mode 100644 index 00000000..e84e8dfd Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_params/part4/00019.png differ diff --git a/tests/snapshots/nanox/test_transaction_params/part5/00001.png b/tests/snapshots/nanox/test_transaction_params/part5/00001.png index a10bf897..3d59a433 100644 Binary files a/tests/snapshots/nanox/test_transaction_params/part5/00001.png and b/tests/snapshots/nanox/test_transaction_params/part5/00001.png differ diff --git a/tests/snapshots/nanox/test_transaction_params/part5/00002.png b/tests/snapshots/nanox/test_transaction_params/part5/00002.png index 9e5fbace..5481d5da 100644 Binary files a/tests/snapshots/nanox/test_transaction_params/part5/00002.png and b/tests/snapshots/nanox/test_transaction_params/part5/00002.png differ diff --git a/tests/snapshots/nanox/test_transaction_params/part5/00003.png b/tests/snapshots/nanox/test_transaction_params/part5/00003.png index 2114e6ab..d1930d7a 100644 Binary files a/tests/snapshots/nanox/test_transaction_params/part5/00003.png and b/tests/snapshots/nanox/test_transaction_params/part5/00003.png differ diff --git a/tests/snapshots/nanox/test_transaction_params/part5/00004.png b/tests/snapshots/nanox/test_transaction_params/part5/00004.png index ce631453..a4d302e5 100644 Binary files a/tests/snapshots/nanox/test_transaction_params/part5/00004.png and b/tests/snapshots/nanox/test_transaction_params/part5/00004.png differ diff --git a/tests/snapshots/nanox/test_transaction_params/part5/00005.png b/tests/snapshots/nanox/test_transaction_params/part5/00005.png index 917cd5b9..c22f01b2 100644 Binary files a/tests/snapshots/nanox/test_transaction_params/part5/00005.png and b/tests/snapshots/nanox/test_transaction_params/part5/00005.png differ diff --git a/tests/snapshots/nanox/test_transaction_params/part5/00006.png b/tests/snapshots/nanox/test_transaction_params/part5/00006.png index 191a3828..6b84117f 100644 Binary files a/tests/snapshots/nanox/test_transaction_params/part5/00006.png and b/tests/snapshots/nanox/test_transaction_params/part5/00006.png differ diff --git a/tests/snapshots/nanox/test_transaction_params/part5/00007.png b/tests/snapshots/nanox/test_transaction_params/part5/00007.png index afefdfdf..3903db85 100644 Binary files a/tests/snapshots/nanox/test_transaction_params/part5/00007.png and b/tests/snapshots/nanox/test_transaction_params/part5/00007.png differ diff --git a/tests/snapshots/nanox/test_transaction_params/part5/00008.png b/tests/snapshots/nanox/test_transaction_params/part5/00008.png index 738cd8e5..8065791c 100644 Binary files a/tests/snapshots/nanox/test_transaction_params/part5/00008.png and b/tests/snapshots/nanox/test_transaction_params/part5/00008.png differ diff --git a/tests/snapshots/nanox/test_transaction_params/part5/00012.png b/tests/snapshots/nanox/test_transaction_params/part5/00012.png index 37312a69..1030e3e1 100644 Binary files a/tests/snapshots/nanox/test_transaction_params/part5/00012.png and b/tests/snapshots/nanox/test_transaction_params/part5/00012.png differ diff --git a/tests/snapshots/nanox/test_transaction_params/part5/00015.png b/tests/snapshots/nanox/test_transaction_params/part5/00015.png index 42cf0b73..510dbb77 100644 Binary files a/tests/snapshots/nanox/test_transaction_params/part5/00015.png and b/tests/snapshots/nanox/test_transaction_params/part5/00015.png differ diff --git a/tests/snapshots/nanox/test_transaction_params/part5/00016.png b/tests/snapshots/nanox/test_transaction_params/part5/00016.png index 819d3159..8099d16e 100644 Binary files a/tests/snapshots/nanox/test_transaction_params/part5/00016.png and b/tests/snapshots/nanox/test_transaction_params/part5/00016.png differ diff --git a/tests/snapshots/nanox/test_transaction_params/part6/00001.png b/tests/snapshots/nanox/test_transaction_params/part6/00001.png index a10bf897..3d59a433 100644 Binary files a/tests/snapshots/nanox/test_transaction_params/part6/00001.png and b/tests/snapshots/nanox/test_transaction_params/part6/00001.png differ diff --git a/tests/snapshots/nanox/test_transaction_params/part6/00002.png b/tests/snapshots/nanox/test_transaction_params/part6/00002.png index 9e5fbace..5481d5da 100644 Binary files a/tests/snapshots/nanox/test_transaction_params/part6/00002.png and b/tests/snapshots/nanox/test_transaction_params/part6/00002.png differ diff --git a/tests/snapshots/nanox/test_transaction_params/part6/00003.png b/tests/snapshots/nanox/test_transaction_params/part6/00003.png index 2114e6ab..d1930d7a 100644 Binary files a/tests/snapshots/nanox/test_transaction_params/part6/00003.png and b/tests/snapshots/nanox/test_transaction_params/part6/00003.png differ diff --git a/tests/snapshots/nanox/test_transaction_params/part6/00004.png b/tests/snapshots/nanox/test_transaction_params/part6/00004.png index ce631453..a4d302e5 100644 Binary files a/tests/snapshots/nanox/test_transaction_params/part6/00004.png and b/tests/snapshots/nanox/test_transaction_params/part6/00004.png differ diff --git a/tests/snapshots/nanox/test_transaction_params/part6/00005.png b/tests/snapshots/nanox/test_transaction_params/part6/00005.png index 917cd5b9..c22f01b2 100644 Binary files a/tests/snapshots/nanox/test_transaction_params/part6/00005.png and b/tests/snapshots/nanox/test_transaction_params/part6/00005.png differ diff --git a/tests/snapshots/nanox/test_transaction_params/part6/00006.png b/tests/snapshots/nanox/test_transaction_params/part6/00006.png index 191a3828..6b84117f 100644 Binary files a/tests/snapshots/nanox/test_transaction_params/part6/00006.png and b/tests/snapshots/nanox/test_transaction_params/part6/00006.png differ diff --git a/tests/snapshots/nanox/test_transaction_params/part6/00007.png b/tests/snapshots/nanox/test_transaction_params/part6/00007.png index afefdfdf..3903db85 100644 Binary files a/tests/snapshots/nanox/test_transaction_params/part6/00007.png and b/tests/snapshots/nanox/test_transaction_params/part6/00007.png differ diff --git a/tests/snapshots/nanox/test_transaction_params/part6/00008.png b/tests/snapshots/nanox/test_transaction_params/part6/00008.png index 738cd8e5..8065791c 100644 Binary files a/tests/snapshots/nanox/test_transaction_params/part6/00008.png and b/tests/snapshots/nanox/test_transaction_params/part6/00008.png differ diff --git a/tests/snapshots/nanox/test_transaction_params/part6/00012.png b/tests/snapshots/nanox/test_transaction_params/part6/00012.png index 37312a69..1030e3e1 100644 Binary files a/tests/snapshots/nanox/test_transaction_params/part6/00012.png and b/tests/snapshots/nanox/test_transaction_params/part6/00012.png differ diff --git a/tests/snapshots/nanox/test_transaction_params/part6/00015.png b/tests/snapshots/nanox/test_transaction_params/part6/00015.png index 42cf0b73..510dbb77 100644 Binary files a/tests/snapshots/nanox/test_transaction_params/part6/00015.png and b/tests/snapshots/nanox/test_transaction_params/part6/00015.png differ diff --git a/tests/snapshots/nanox/test_transaction_params/part6/00016.png b/tests/snapshots/nanox/test_transaction_params/part6/00016.png index 819d3159..8099d16e 100644 Binary files a/tests/snapshots/nanox/test_transaction_params/part6/00016.png and b/tests/snapshots/nanox/test_transaction_params/part6/00016.png differ diff --git a/tests/snapshots/nanox/test_transaction_params/part7/00001.png b/tests/snapshots/nanox/test_transaction_params/part7/00001.png index a10bf897..3d59a433 100644 Binary files a/tests/snapshots/nanox/test_transaction_params/part7/00001.png and b/tests/snapshots/nanox/test_transaction_params/part7/00001.png differ diff --git a/tests/snapshots/nanox/test_transaction_params/part7/00002.png b/tests/snapshots/nanox/test_transaction_params/part7/00002.png index 9e5fbace..5481d5da 100644 Binary files a/tests/snapshots/nanox/test_transaction_params/part7/00002.png and b/tests/snapshots/nanox/test_transaction_params/part7/00002.png differ diff --git a/tests/snapshots/nanox/test_transaction_params/part7/00003.png b/tests/snapshots/nanox/test_transaction_params/part7/00003.png index 2114e6ab..d1930d7a 100644 Binary files a/tests/snapshots/nanox/test_transaction_params/part7/00003.png and b/tests/snapshots/nanox/test_transaction_params/part7/00003.png differ diff --git a/tests/snapshots/nanox/test_transaction_params/part7/00004.png b/tests/snapshots/nanox/test_transaction_params/part7/00004.png index ce631453..a4d302e5 100644 Binary files a/tests/snapshots/nanox/test_transaction_params/part7/00004.png and b/tests/snapshots/nanox/test_transaction_params/part7/00004.png differ diff --git a/tests/snapshots/nanox/test_transaction_params/part7/00005.png b/tests/snapshots/nanox/test_transaction_params/part7/00005.png index 917cd5b9..c22f01b2 100644 Binary files a/tests/snapshots/nanox/test_transaction_params/part7/00005.png and b/tests/snapshots/nanox/test_transaction_params/part7/00005.png differ diff --git a/tests/snapshots/nanox/test_transaction_params/part7/00006.png b/tests/snapshots/nanox/test_transaction_params/part7/00006.png index 191a3828..6b84117f 100644 Binary files a/tests/snapshots/nanox/test_transaction_params/part7/00006.png and b/tests/snapshots/nanox/test_transaction_params/part7/00006.png differ diff --git a/tests/snapshots/nanox/test_transaction_params/part7/00007.png b/tests/snapshots/nanox/test_transaction_params/part7/00007.png index afefdfdf..3903db85 100644 Binary files a/tests/snapshots/nanox/test_transaction_params/part7/00007.png and b/tests/snapshots/nanox/test_transaction_params/part7/00007.png differ diff --git a/tests/snapshots/nanox/test_transaction_params/part7/00008.png b/tests/snapshots/nanox/test_transaction_params/part7/00008.png index 738cd8e5..8065791c 100644 Binary files a/tests/snapshots/nanox/test_transaction_params/part7/00008.png and b/tests/snapshots/nanox/test_transaction_params/part7/00008.png differ diff --git a/tests/snapshots/nanox/test_transaction_params/part7/00012.png b/tests/snapshots/nanox/test_transaction_params/part7/00012.png index 37312a69..1030e3e1 100644 Binary files a/tests/snapshots/nanox/test_transaction_params/part7/00012.png and b/tests/snapshots/nanox/test_transaction_params/part7/00012.png differ diff --git a/tests/snapshots/nanox/test_transaction_params/part7/00015.png b/tests/snapshots/nanox/test_transaction_params/part7/00015.png index 42cf0b73..510dbb77 100644 Binary files a/tests/snapshots/nanox/test_transaction_params/part7/00015.png and b/tests/snapshots/nanox/test_transaction_params/part7/00015.png differ diff --git a/tests/snapshots/nanox/test_transaction_params/part7/00016.png b/tests/snapshots/nanox/test_transaction_params/part7/00016.png index 819d3159..8099d16e 100644 Binary files a/tests/snapshots/nanox/test_transaction_params/part7/00016.png and b/tests/snapshots/nanox/test_transaction_params/part7/00016.png differ diff --git a/tests/snapshots/nanox/test_transaction_params/part8/00001.png b/tests/snapshots/nanox/test_transaction_params/part8/00001.png index a10bf897..3d59a433 100644 Binary files a/tests/snapshots/nanox/test_transaction_params/part8/00001.png and b/tests/snapshots/nanox/test_transaction_params/part8/00001.png differ diff --git a/tests/snapshots/nanox/test_transaction_params/part8/00002.png b/tests/snapshots/nanox/test_transaction_params/part8/00002.png index 9e5fbace..5481d5da 100644 Binary files a/tests/snapshots/nanox/test_transaction_params/part8/00002.png and b/tests/snapshots/nanox/test_transaction_params/part8/00002.png differ diff --git a/tests/snapshots/nanox/test_transaction_params/part8/00003.png b/tests/snapshots/nanox/test_transaction_params/part8/00003.png index 2114e6ab..d1930d7a 100644 Binary files a/tests/snapshots/nanox/test_transaction_params/part8/00003.png and b/tests/snapshots/nanox/test_transaction_params/part8/00003.png differ diff --git a/tests/snapshots/nanox/test_transaction_params/part8/00004.png b/tests/snapshots/nanox/test_transaction_params/part8/00004.png index ce631453..a4d302e5 100644 Binary files a/tests/snapshots/nanox/test_transaction_params/part8/00004.png and b/tests/snapshots/nanox/test_transaction_params/part8/00004.png differ diff --git a/tests/snapshots/nanox/test_transaction_params/part8/00005.png b/tests/snapshots/nanox/test_transaction_params/part8/00005.png index 917cd5b9..c22f01b2 100644 Binary files a/tests/snapshots/nanox/test_transaction_params/part8/00005.png and b/tests/snapshots/nanox/test_transaction_params/part8/00005.png differ diff --git a/tests/snapshots/nanox/test_transaction_params/part8/00006.png b/tests/snapshots/nanox/test_transaction_params/part8/00006.png index 191a3828..6b84117f 100644 Binary files a/tests/snapshots/nanox/test_transaction_params/part8/00006.png and b/tests/snapshots/nanox/test_transaction_params/part8/00006.png differ diff --git a/tests/snapshots/nanox/test_transaction_params/part8/00007.png b/tests/snapshots/nanox/test_transaction_params/part8/00007.png index afefdfdf..3903db85 100644 Binary files a/tests/snapshots/nanox/test_transaction_params/part8/00007.png and b/tests/snapshots/nanox/test_transaction_params/part8/00007.png differ diff --git a/tests/snapshots/nanox/test_transaction_params/part8/00008.png b/tests/snapshots/nanox/test_transaction_params/part8/00008.png index 738cd8e5..8065791c 100644 Binary files a/tests/snapshots/nanox/test_transaction_params/part8/00008.png and b/tests/snapshots/nanox/test_transaction_params/part8/00008.png differ diff --git a/tests/snapshots/nanox/test_transaction_params/part8/00012.png b/tests/snapshots/nanox/test_transaction_params/part8/00012.png index 37312a69..1030e3e1 100644 Binary files a/tests/snapshots/nanox/test_transaction_params/part8/00012.png and b/tests/snapshots/nanox/test_transaction_params/part8/00012.png differ diff --git a/tests/snapshots/nanox/test_transaction_params/part8/00015.png b/tests/snapshots/nanox/test_transaction_params/part8/00015.png index 42cf0b73..510dbb77 100644 Binary files a/tests/snapshots/nanox/test_transaction_params/part8/00015.png and b/tests/snapshots/nanox/test_transaction_params/part8/00015.png differ diff --git a/tests/snapshots/nanox/test_transaction_params/part8/00016.png b/tests/snapshots/nanox/test_transaction_params/part8/00016.png index 819d3159..8099d16e 100644 Binary files a/tests/snapshots/nanox/test_transaction_params/part8/00016.png and b/tests/snapshots/nanox/test_transaction_params/part8/00016.png differ diff --git a/tests/snapshots/nanox/test_transaction_params/part9/00001.png b/tests/snapshots/nanox/test_transaction_params/part9/00001.png index 5f3d1a05..262b4b5e 100644 Binary files a/tests/snapshots/nanox/test_transaction_params/part9/00001.png and b/tests/snapshots/nanox/test_transaction_params/part9/00001.png differ diff --git a/tests/snapshots/nanox/test_transaction_params/part9/00002.png b/tests/snapshots/nanox/test_transaction_params/part9/00002.png index 9e5fbace..5481d5da 100644 Binary files a/tests/snapshots/nanox/test_transaction_params/part9/00002.png and b/tests/snapshots/nanox/test_transaction_params/part9/00002.png differ diff --git a/tests/snapshots/nanox/test_transaction_params/part9/00003.png b/tests/snapshots/nanox/test_transaction_params/part9/00003.png index 4fc695e8..de527bf7 100644 Binary files a/tests/snapshots/nanox/test_transaction_params/part9/00003.png and b/tests/snapshots/nanox/test_transaction_params/part9/00003.png differ diff --git a/tests/snapshots/nanox/test_transaction_params/part9/00004.png b/tests/snapshots/nanox/test_transaction_params/part9/00004.png index b16f6914..d8a2740e 100644 Binary files a/tests/snapshots/nanox/test_transaction_params/part9/00004.png and b/tests/snapshots/nanox/test_transaction_params/part9/00004.png differ diff --git a/tests/snapshots/nanox/test_transaction_params/part9/00005.png b/tests/snapshots/nanox/test_transaction_params/part9/00005.png index 024cc329..4d1a7f73 100644 Binary files a/tests/snapshots/nanox/test_transaction_params/part9/00005.png and b/tests/snapshots/nanox/test_transaction_params/part9/00005.png differ diff --git a/tests/snapshots/nanox/test_transaction_params/part9/00006.png b/tests/snapshots/nanox/test_transaction_params/part9/00006.png index d8a2740e..38f03f75 100644 Binary files a/tests/snapshots/nanox/test_transaction_params/part9/00006.png and b/tests/snapshots/nanox/test_transaction_params/part9/00006.png differ diff --git a/tests/snapshots/nanox/test_transaction_params/part9/00007.png b/tests/snapshots/nanox/test_transaction_params/part9/00007.png index 4d1a7f73..1030e3e1 100644 Binary files a/tests/snapshots/nanox/test_transaction_params/part9/00007.png and b/tests/snapshots/nanox/test_transaction_params/part9/00007.png differ diff --git a/tests/snapshots/nanox/test_transaction_params/part9/00008.png b/tests/snapshots/nanox/test_transaction_params/part9/00008.png index 38f03f75..163e4981 100644 Binary files a/tests/snapshots/nanox/test_transaction_params/part9/00008.png and b/tests/snapshots/nanox/test_transaction_params/part9/00008.png differ diff --git a/tests/snapshots/nanox/test_transaction_params/part9/00009.png b/tests/snapshots/nanox/test_transaction_params/part9/00009.png index 37312a69..b5f70a2c 100644 Binary files a/tests/snapshots/nanox/test_transaction_params/part9/00009.png and b/tests/snapshots/nanox/test_transaction_params/part9/00009.png differ diff --git a/tests/snapshots/nanox/test_transaction_params/part9/00010.png b/tests/snapshots/nanox/test_transaction_params/part9/00010.png index 163e4981..510dbb77 100644 Binary files a/tests/snapshots/nanox/test_transaction_params/part9/00010.png and b/tests/snapshots/nanox/test_transaction_params/part9/00010.png differ diff --git a/tests/snapshots/nanox/test_transaction_params/part9/00011.png b/tests/snapshots/nanox/test_transaction_params/part9/00011.png index b5f70a2c..8099d16e 100644 Binary files a/tests/snapshots/nanox/test_transaction_params/part9/00011.png and b/tests/snapshots/nanox/test_transaction_params/part9/00011.png differ diff --git a/tests/snapshots/nanox/test_transaction_params/part9/00012.png b/tests/snapshots/nanox/test_transaction_params/part9/00012.png index 42cf0b73..14c87a49 100644 Binary files a/tests/snapshots/nanox/test_transaction_params/part9/00012.png and b/tests/snapshots/nanox/test_transaction_params/part9/00012.png differ diff --git a/tests/snapshots/nanox/test_transaction_params/part9/00013.png b/tests/snapshots/nanox/test_transaction_params/part9/00013.png index 819d3159..1e4be699 100644 Binary files a/tests/snapshots/nanox/test_transaction_params/part9/00013.png and b/tests/snapshots/nanox/test_transaction_params/part9/00013.png differ diff --git a/tests/snapshots/nanox/test_transaction_params/part9/00014.png b/tests/snapshots/nanox/test_transaction_params/part9/00014.png index 14c87a49..e84e8dfd 100644 Binary files a/tests/snapshots/nanox/test_transaction_params/part9/00014.png and b/tests/snapshots/nanox/test_transaction_params/part9/00014.png differ diff --git a/tests/snapshots/nanox/test_transaction_refused/00001.png b/tests/snapshots/nanox/test_transaction_refused/00001.png index 5b962ee9..a10bf897 100644 Binary files a/tests/snapshots/nanox/test_transaction_refused/00001.png and b/tests/snapshots/nanox/test_transaction_refused/00001.png differ diff --git a/tests/snapshots/nanox/test_transaction_refused/00002.png b/tests/snapshots/nanox/test_transaction_refused/00002.png index 9e5fbace..5481d5da 100644 Binary files a/tests/snapshots/nanox/test_transaction_refused/00002.png and b/tests/snapshots/nanox/test_transaction_refused/00002.png differ diff --git a/tests/snapshots/nanox/test_transaction_refused/00003.png b/tests/snapshots/nanox/test_transaction_refused/00003.png index 81263f9e..d1930d7a 100644 Binary files a/tests/snapshots/nanox/test_transaction_refused/00003.png and b/tests/snapshots/nanox/test_transaction_refused/00003.png differ diff --git a/tests/snapshots/nanox/test_transaction_refused/00004.png b/tests/snapshots/nanox/test_transaction_refused/00004.png index 4b4eb598..a4d302e5 100644 Binary files a/tests/snapshots/nanox/test_transaction_refused/00004.png and b/tests/snapshots/nanox/test_transaction_refused/00004.png differ diff --git a/tests/snapshots/nanox/test_transaction_refused/00005.png b/tests/snapshots/nanox/test_transaction_refused/00005.png index d8a2740e..c22f01b2 100644 Binary files a/tests/snapshots/nanox/test_transaction_refused/00005.png and b/tests/snapshots/nanox/test_transaction_refused/00005.png differ diff --git a/tests/snapshots/nanox/test_transaction_refused/00006.png b/tests/snapshots/nanox/test_transaction_refused/00006.png index 4d1a7f73..6b84117f 100644 Binary files a/tests/snapshots/nanox/test_transaction_refused/00006.png and b/tests/snapshots/nanox/test_transaction_refused/00006.png differ diff --git a/tests/snapshots/nanox/test_transaction_refused/00007.png b/tests/snapshots/nanox/test_transaction_refused/00007.png index 38f03f75..3903db85 100644 Binary files a/tests/snapshots/nanox/test_transaction_refused/00007.png and b/tests/snapshots/nanox/test_transaction_refused/00007.png differ diff --git a/tests/snapshots/nanox/test_transaction_refused/00008.png b/tests/snapshots/nanox/test_transaction_refused/00008.png index 37312a69..8065791c 100644 Binary files a/tests/snapshots/nanox/test_transaction_refused/00008.png and b/tests/snapshots/nanox/test_transaction_refused/00008.png differ diff --git a/tests/snapshots/nanox/test_transaction_refused/00009.png b/tests/snapshots/nanox/test_transaction_refused/00009.png index 163e4981..d8a2740e 100644 Binary files a/tests/snapshots/nanox/test_transaction_refused/00009.png and b/tests/snapshots/nanox/test_transaction_refused/00009.png differ diff --git a/tests/snapshots/nanox/test_transaction_refused/00010.png b/tests/snapshots/nanox/test_transaction_refused/00010.png index b5f70a2c..4d1a7f73 100644 Binary files a/tests/snapshots/nanox/test_transaction_refused/00010.png and b/tests/snapshots/nanox/test_transaction_refused/00010.png differ diff --git a/tests/snapshots/nanox/test_transaction_refused/00011.png b/tests/snapshots/nanox/test_transaction_refused/00011.png index 42cf0b73..38f03f75 100644 Binary files a/tests/snapshots/nanox/test_transaction_refused/00011.png and b/tests/snapshots/nanox/test_transaction_refused/00011.png differ diff --git a/tests/snapshots/nanox/test_transaction_refused/00012.png b/tests/snapshots/nanox/test_transaction_refused/00012.png index 819d3159..1030e3e1 100644 Binary files a/tests/snapshots/nanox/test_transaction_refused/00012.png and b/tests/snapshots/nanox/test_transaction_refused/00012.png differ diff --git a/tests/snapshots/nanox/test_transaction_refused/00013.png b/tests/snapshots/nanox/test_transaction_refused/00013.png index 14c87a49..163e4981 100644 Binary files a/tests/snapshots/nanox/test_transaction_refused/00013.png and b/tests/snapshots/nanox/test_transaction_refused/00013.png differ diff --git a/tests/snapshots/nanox/test_transaction_refused/00014.png b/tests/snapshots/nanox/test_transaction_refused/00014.png index 1e4be699..b5f70a2c 100644 Binary files a/tests/snapshots/nanox/test_transaction_refused/00014.png and b/tests/snapshots/nanox/test_transaction_refused/00014.png differ diff --git a/tests/snapshots/nanox/test_transaction_refused/00015.png b/tests/snapshots/nanox/test_transaction_refused/00015.png index de8a2912..510dbb77 100644 Binary files a/tests/snapshots/nanox/test_transaction_refused/00015.png and b/tests/snapshots/nanox/test_transaction_refused/00015.png differ diff --git a/tests/snapshots/nanox/test_transaction_refused/00016.png b/tests/snapshots/nanox/test_transaction_refused/00016.png index e84e8dfd..8099d16e 100644 Binary files a/tests/snapshots/nanox/test_transaction_refused/00016.png and b/tests/snapshots/nanox/test_transaction_refused/00016.png differ diff --git a/tests/snapshots/nanox/test_transaction_refused/00017.png b/tests/snapshots/nanox/test_transaction_refused/00017.png new file mode 100644 index 00000000..14c87a49 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_refused/00017.png differ diff --git a/tests/snapshots/nanox/test_transaction_refused/00018.png b/tests/snapshots/nanox/test_transaction_refused/00018.png new file mode 100644 index 00000000..1e4be699 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_refused/00018.png differ diff --git a/tests/snapshots/nanox/test_transaction_refused/00019.png b/tests/snapshots/nanox/test_transaction_refused/00019.png new file mode 100644 index 00000000..de8a2912 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_refused/00019.png differ diff --git a/tests/snapshots/nanox/test_transaction_refused/00020.png b/tests/snapshots/nanox/test_transaction_refused/00020.png new file mode 100644 index 00000000..e84e8dfd Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_refused/00020.png differ diff --git a/tests/snapshots/nanox/test_transaction_slot/part0/00001.png b/tests/snapshots/nanox/test_transaction_slot/part0/00001.png index 5b962ee9..3d59a433 100644 Binary files a/tests/snapshots/nanox/test_transaction_slot/part0/00001.png and b/tests/snapshots/nanox/test_transaction_slot/part0/00001.png differ diff --git a/tests/snapshots/nanox/test_transaction_slot/part0/00002.png b/tests/snapshots/nanox/test_transaction_slot/part0/00002.png index 9e5fbace..5481d5da 100644 Binary files a/tests/snapshots/nanox/test_transaction_slot/part0/00002.png and b/tests/snapshots/nanox/test_transaction_slot/part0/00002.png differ diff --git a/tests/snapshots/nanox/test_transaction_slot/part0/00003.png b/tests/snapshots/nanox/test_transaction_slot/part0/00003.png index 81263f9e..d1930d7a 100644 Binary files a/tests/snapshots/nanox/test_transaction_slot/part0/00003.png and b/tests/snapshots/nanox/test_transaction_slot/part0/00003.png differ diff --git a/tests/snapshots/nanox/test_transaction_slot/part0/00004.png b/tests/snapshots/nanox/test_transaction_slot/part0/00004.png index 4b4eb598..a4d302e5 100644 Binary files a/tests/snapshots/nanox/test_transaction_slot/part0/00004.png and b/tests/snapshots/nanox/test_transaction_slot/part0/00004.png differ diff --git a/tests/snapshots/nanox/test_transaction_slot/part0/00005.png b/tests/snapshots/nanox/test_transaction_slot/part0/00005.png index d8a2740e..c22f01b2 100644 Binary files a/tests/snapshots/nanox/test_transaction_slot/part0/00005.png and b/tests/snapshots/nanox/test_transaction_slot/part0/00005.png differ diff --git a/tests/snapshots/nanox/test_transaction_slot/part0/00006.png b/tests/snapshots/nanox/test_transaction_slot/part0/00006.png index 4d1a7f73..6b84117f 100644 Binary files a/tests/snapshots/nanox/test_transaction_slot/part0/00006.png and b/tests/snapshots/nanox/test_transaction_slot/part0/00006.png differ diff --git a/tests/snapshots/nanox/test_transaction_slot/part0/00007.png b/tests/snapshots/nanox/test_transaction_slot/part0/00007.png index 38f03f75..3903db85 100644 Binary files a/tests/snapshots/nanox/test_transaction_slot/part0/00007.png and b/tests/snapshots/nanox/test_transaction_slot/part0/00007.png differ diff --git a/tests/snapshots/nanox/test_transaction_slot/part0/00008.png b/tests/snapshots/nanox/test_transaction_slot/part0/00008.png index 37312a69..8065791c 100644 Binary files a/tests/snapshots/nanox/test_transaction_slot/part0/00008.png and b/tests/snapshots/nanox/test_transaction_slot/part0/00008.png differ diff --git a/tests/snapshots/nanox/test_transaction_slot/part0/00009.png b/tests/snapshots/nanox/test_transaction_slot/part0/00009.png index 163e4981..d8a2740e 100644 Binary files a/tests/snapshots/nanox/test_transaction_slot/part0/00009.png and b/tests/snapshots/nanox/test_transaction_slot/part0/00009.png differ diff --git a/tests/snapshots/nanox/test_transaction_slot/part0/00010.png b/tests/snapshots/nanox/test_transaction_slot/part0/00010.png index b5f70a2c..4d1a7f73 100644 Binary files a/tests/snapshots/nanox/test_transaction_slot/part0/00010.png and b/tests/snapshots/nanox/test_transaction_slot/part0/00010.png differ diff --git a/tests/snapshots/nanox/test_transaction_slot/part0/00011.png b/tests/snapshots/nanox/test_transaction_slot/part0/00011.png index 42cf0b73..38f03f75 100644 Binary files a/tests/snapshots/nanox/test_transaction_slot/part0/00011.png and b/tests/snapshots/nanox/test_transaction_slot/part0/00011.png differ diff --git a/tests/snapshots/nanox/test_transaction_slot/part0/00012.png b/tests/snapshots/nanox/test_transaction_slot/part0/00012.png index 819d3159..1030e3e1 100644 Binary files a/tests/snapshots/nanox/test_transaction_slot/part0/00012.png and b/tests/snapshots/nanox/test_transaction_slot/part0/00012.png differ diff --git a/tests/snapshots/nanox/test_transaction_slot/part0/00013.png b/tests/snapshots/nanox/test_transaction_slot/part0/00013.png index 14c87a49..163e4981 100644 Binary files a/tests/snapshots/nanox/test_transaction_slot/part0/00013.png and b/tests/snapshots/nanox/test_transaction_slot/part0/00013.png differ diff --git a/tests/snapshots/nanox/test_transaction_slot/part0/00014.png b/tests/snapshots/nanox/test_transaction_slot/part0/00014.png index 1e4be699..b5f70a2c 100644 Binary files a/tests/snapshots/nanox/test_transaction_slot/part0/00014.png and b/tests/snapshots/nanox/test_transaction_slot/part0/00014.png differ diff --git a/tests/snapshots/nanox/test_transaction_slot/part0/00015.png b/tests/snapshots/nanox/test_transaction_slot/part0/00015.png index e84e8dfd..510dbb77 100644 Binary files a/tests/snapshots/nanox/test_transaction_slot/part0/00015.png and b/tests/snapshots/nanox/test_transaction_slot/part0/00015.png differ diff --git a/tests/snapshots/nanox/test_transaction_slot/part0/00016.png b/tests/snapshots/nanox/test_transaction_slot/part0/00016.png new file mode 100644 index 00000000..8099d16e Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_slot/part0/00016.png differ diff --git a/tests/snapshots/nanox/test_transaction_slot/part0/00017.png b/tests/snapshots/nanox/test_transaction_slot/part0/00017.png new file mode 100644 index 00000000..14c87a49 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_slot/part0/00017.png differ diff --git a/tests/snapshots/nanox/test_transaction_slot/part0/00018.png b/tests/snapshots/nanox/test_transaction_slot/part0/00018.png new file mode 100644 index 00000000..1e4be699 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_slot/part0/00018.png differ diff --git a/tests/snapshots/nanox/test_transaction_slot/part0/00019.png b/tests/snapshots/nanox/test_transaction_slot/part0/00019.png new file mode 100644 index 00000000..e84e8dfd Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_slot/part0/00019.png differ diff --git a/tests/snapshots/nanox/test_transaction_slot/part10/00001.png b/tests/snapshots/nanox/test_transaction_slot/part10/00001.png index 5b962ee9..3d59a433 100644 Binary files a/tests/snapshots/nanox/test_transaction_slot/part10/00001.png and b/tests/snapshots/nanox/test_transaction_slot/part10/00001.png differ diff --git a/tests/snapshots/nanox/test_transaction_slot/part10/00003.png b/tests/snapshots/nanox/test_transaction_slot/part10/00003.png index 81263f9e..d1930d7a 100644 Binary files a/tests/snapshots/nanox/test_transaction_slot/part10/00003.png and b/tests/snapshots/nanox/test_transaction_slot/part10/00003.png differ diff --git a/tests/snapshots/nanox/test_transaction_slot/part10/00004.png b/tests/snapshots/nanox/test_transaction_slot/part10/00004.png index 4b4eb598..a4d302e5 100644 Binary files a/tests/snapshots/nanox/test_transaction_slot/part10/00004.png and b/tests/snapshots/nanox/test_transaction_slot/part10/00004.png differ diff --git a/tests/snapshots/nanox/test_transaction_slot/part10/00005.png b/tests/snapshots/nanox/test_transaction_slot/part10/00005.png index d8a2740e..c22f01b2 100644 Binary files a/tests/snapshots/nanox/test_transaction_slot/part10/00005.png and b/tests/snapshots/nanox/test_transaction_slot/part10/00005.png differ diff --git a/tests/snapshots/nanox/test_transaction_slot/part10/00006.png b/tests/snapshots/nanox/test_transaction_slot/part10/00006.png index 4d1a7f73..6b84117f 100644 Binary files a/tests/snapshots/nanox/test_transaction_slot/part10/00006.png and b/tests/snapshots/nanox/test_transaction_slot/part10/00006.png differ diff --git a/tests/snapshots/nanox/test_transaction_slot/part10/00007.png b/tests/snapshots/nanox/test_transaction_slot/part10/00007.png index 38f03f75..3903db85 100644 Binary files a/tests/snapshots/nanox/test_transaction_slot/part10/00007.png and b/tests/snapshots/nanox/test_transaction_slot/part10/00007.png differ diff --git a/tests/snapshots/nanox/test_transaction_slot/part10/00008.png b/tests/snapshots/nanox/test_transaction_slot/part10/00008.png index d5f0894e..8065791c 100644 Binary files a/tests/snapshots/nanox/test_transaction_slot/part10/00008.png and b/tests/snapshots/nanox/test_transaction_slot/part10/00008.png differ diff --git a/tests/snapshots/nanox/test_transaction_slot/part10/00009.png b/tests/snapshots/nanox/test_transaction_slot/part10/00009.png index 163e4981..d8a2740e 100644 Binary files a/tests/snapshots/nanox/test_transaction_slot/part10/00009.png and b/tests/snapshots/nanox/test_transaction_slot/part10/00009.png differ diff --git a/tests/snapshots/nanox/test_transaction_slot/part10/00010.png b/tests/snapshots/nanox/test_transaction_slot/part10/00010.png index b5f70a2c..4d1a7f73 100644 Binary files a/tests/snapshots/nanox/test_transaction_slot/part10/00010.png and b/tests/snapshots/nanox/test_transaction_slot/part10/00010.png differ diff --git a/tests/snapshots/nanox/test_transaction_slot/part10/00011.png b/tests/snapshots/nanox/test_transaction_slot/part10/00011.png index 51dc0ebb..38f03f75 100644 Binary files a/tests/snapshots/nanox/test_transaction_slot/part10/00011.png and b/tests/snapshots/nanox/test_transaction_slot/part10/00011.png differ diff --git a/tests/snapshots/nanox/test_transaction_slot/part10/00012.png b/tests/snapshots/nanox/test_transaction_slot/part10/00012.png index 819d3159..1030e3e1 100644 Binary files a/tests/snapshots/nanox/test_transaction_slot/part10/00012.png and b/tests/snapshots/nanox/test_transaction_slot/part10/00012.png differ diff --git a/tests/snapshots/nanox/test_transaction_slot/part10/00013.png b/tests/snapshots/nanox/test_transaction_slot/part10/00013.png index 1e4be699..163e4981 100644 Binary files a/tests/snapshots/nanox/test_transaction_slot/part10/00013.png and b/tests/snapshots/nanox/test_transaction_slot/part10/00013.png differ diff --git a/tests/snapshots/nanox/test_transaction_slot/part10/00014.png b/tests/snapshots/nanox/test_transaction_slot/part10/00014.png index e84e8dfd..b5f70a2c 100644 Binary files a/tests/snapshots/nanox/test_transaction_slot/part10/00014.png and b/tests/snapshots/nanox/test_transaction_slot/part10/00014.png differ diff --git a/tests/snapshots/nanox/test_transaction_slot/part10/00015.png b/tests/snapshots/nanox/test_transaction_slot/part10/00015.png new file mode 100644 index 00000000..510dbb77 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_slot/part10/00015.png differ diff --git a/tests/snapshots/nanox/test_transaction_slot/part10/00016.png b/tests/snapshots/nanox/test_transaction_slot/part10/00016.png new file mode 100644 index 00000000..819d3159 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_slot/part10/00016.png differ diff --git a/tests/snapshots/nanox/test_transaction_slot/part10/00017.png b/tests/snapshots/nanox/test_transaction_slot/part10/00017.png new file mode 100644 index 00000000..1e4be699 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_slot/part10/00017.png differ diff --git a/tests/snapshots/nanox/test_transaction_slot/part10/00018.png b/tests/snapshots/nanox/test_transaction_slot/part10/00018.png new file mode 100644 index 00000000..e84e8dfd Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_slot/part10/00018.png differ diff --git a/tests/snapshots/nanox/test_transaction_slot/part12/00001.png b/tests/snapshots/nanox/test_transaction_slot/part12/00001.png index 5b962ee9..3d59a433 100644 Binary files a/tests/snapshots/nanox/test_transaction_slot/part12/00001.png and b/tests/snapshots/nanox/test_transaction_slot/part12/00001.png differ diff --git a/tests/snapshots/nanox/test_transaction_slot/part12/00003.png b/tests/snapshots/nanox/test_transaction_slot/part12/00003.png index 81263f9e..d1930d7a 100644 Binary files a/tests/snapshots/nanox/test_transaction_slot/part12/00003.png and b/tests/snapshots/nanox/test_transaction_slot/part12/00003.png differ diff --git a/tests/snapshots/nanox/test_transaction_slot/part12/00004.png b/tests/snapshots/nanox/test_transaction_slot/part12/00004.png index 4b4eb598..a4d302e5 100644 Binary files a/tests/snapshots/nanox/test_transaction_slot/part12/00004.png and b/tests/snapshots/nanox/test_transaction_slot/part12/00004.png differ diff --git a/tests/snapshots/nanox/test_transaction_slot/part12/00005.png b/tests/snapshots/nanox/test_transaction_slot/part12/00005.png index d8a2740e..c22f01b2 100644 Binary files a/tests/snapshots/nanox/test_transaction_slot/part12/00005.png and b/tests/snapshots/nanox/test_transaction_slot/part12/00005.png differ diff --git a/tests/snapshots/nanox/test_transaction_slot/part12/00006.png b/tests/snapshots/nanox/test_transaction_slot/part12/00006.png index 4d1a7f73..6b84117f 100644 Binary files a/tests/snapshots/nanox/test_transaction_slot/part12/00006.png and b/tests/snapshots/nanox/test_transaction_slot/part12/00006.png differ diff --git a/tests/snapshots/nanox/test_transaction_slot/part12/00007.png b/tests/snapshots/nanox/test_transaction_slot/part12/00007.png index 38f03f75..3903db85 100644 Binary files a/tests/snapshots/nanox/test_transaction_slot/part12/00007.png and b/tests/snapshots/nanox/test_transaction_slot/part12/00007.png differ diff --git a/tests/snapshots/nanox/test_transaction_slot/part12/00008.png b/tests/snapshots/nanox/test_transaction_slot/part12/00008.png index d5f0894e..8065791c 100644 Binary files a/tests/snapshots/nanox/test_transaction_slot/part12/00008.png and b/tests/snapshots/nanox/test_transaction_slot/part12/00008.png differ diff --git a/tests/snapshots/nanox/test_transaction_slot/part12/00009.png b/tests/snapshots/nanox/test_transaction_slot/part12/00009.png index 163e4981..d8a2740e 100644 Binary files a/tests/snapshots/nanox/test_transaction_slot/part12/00009.png and b/tests/snapshots/nanox/test_transaction_slot/part12/00009.png differ diff --git a/tests/snapshots/nanox/test_transaction_slot/part12/00010.png b/tests/snapshots/nanox/test_transaction_slot/part12/00010.png index b5f70a2c..4d1a7f73 100644 Binary files a/tests/snapshots/nanox/test_transaction_slot/part12/00010.png and b/tests/snapshots/nanox/test_transaction_slot/part12/00010.png differ diff --git a/tests/snapshots/nanox/test_transaction_slot/part12/00011.png b/tests/snapshots/nanox/test_transaction_slot/part12/00011.png index 51dc0ebb..38f03f75 100644 Binary files a/tests/snapshots/nanox/test_transaction_slot/part12/00011.png and b/tests/snapshots/nanox/test_transaction_slot/part12/00011.png differ diff --git a/tests/snapshots/nanox/test_transaction_slot/part12/00012.png b/tests/snapshots/nanox/test_transaction_slot/part12/00012.png index bbe32c35..1030e3e1 100644 Binary files a/tests/snapshots/nanox/test_transaction_slot/part12/00012.png and b/tests/snapshots/nanox/test_transaction_slot/part12/00012.png differ diff --git a/tests/snapshots/nanox/test_transaction_slot/part12/00013.png b/tests/snapshots/nanox/test_transaction_slot/part12/00013.png index d3857f37..163e4981 100644 Binary files a/tests/snapshots/nanox/test_transaction_slot/part12/00013.png and b/tests/snapshots/nanox/test_transaction_slot/part12/00013.png differ diff --git a/tests/snapshots/nanox/test_transaction_slot/part12/00014.png b/tests/snapshots/nanox/test_transaction_slot/part12/00014.png index 936a3da4..b5f70a2c 100644 Binary files a/tests/snapshots/nanox/test_transaction_slot/part12/00014.png and b/tests/snapshots/nanox/test_transaction_slot/part12/00014.png differ diff --git a/tests/snapshots/nanox/test_transaction_slot/part12/00015.png b/tests/snapshots/nanox/test_transaction_slot/part12/00015.png index 0b2d916f..510dbb77 100644 Binary files a/tests/snapshots/nanox/test_transaction_slot/part12/00015.png and b/tests/snapshots/nanox/test_transaction_slot/part12/00015.png differ diff --git a/tests/snapshots/nanox/test_transaction_slot/part12/00016.png b/tests/snapshots/nanox/test_transaction_slot/part12/00016.png index 1e4be699..8099d16e 100644 Binary files a/tests/snapshots/nanox/test_transaction_slot/part12/00016.png and b/tests/snapshots/nanox/test_transaction_slot/part12/00016.png differ diff --git a/tests/snapshots/nanox/test_transaction_slot/part12/00017.png b/tests/snapshots/nanox/test_transaction_slot/part12/00017.png index e84e8dfd..4f365818 100644 Binary files a/tests/snapshots/nanox/test_transaction_slot/part12/00017.png and b/tests/snapshots/nanox/test_transaction_slot/part12/00017.png differ diff --git a/tests/snapshots/nanox/test_transaction_slot/part12/00018.png b/tests/snapshots/nanox/test_transaction_slot/part12/00018.png new file mode 100644 index 00000000..ad5b6926 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_slot/part12/00018.png differ diff --git a/tests/snapshots/nanox/test_transaction_slot/part12/00019.png b/tests/snapshots/nanox/test_transaction_slot/part12/00019.png new file mode 100644 index 00000000..0b2d916f Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_slot/part12/00019.png differ diff --git a/tests/snapshots/nanox/test_transaction_slot/part12/00020.png b/tests/snapshots/nanox/test_transaction_slot/part12/00020.png new file mode 100644 index 00000000..1e4be699 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_slot/part12/00020.png differ diff --git a/tests/snapshots/nanox/test_transaction_slot/part12/00021.png b/tests/snapshots/nanox/test_transaction_slot/part12/00021.png new file mode 100644 index 00000000..e84e8dfd Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_slot/part12/00021.png differ diff --git a/tests/snapshots/nanox/test_transaction_slot/part14/00001.png b/tests/snapshots/nanox/test_transaction_slot/part14/00001.png index 5b962ee9..3d59a433 100644 Binary files a/tests/snapshots/nanox/test_transaction_slot/part14/00001.png and b/tests/snapshots/nanox/test_transaction_slot/part14/00001.png differ diff --git a/tests/snapshots/nanox/test_transaction_slot/part14/00003.png b/tests/snapshots/nanox/test_transaction_slot/part14/00003.png index 81263f9e..d1930d7a 100644 Binary files a/tests/snapshots/nanox/test_transaction_slot/part14/00003.png and b/tests/snapshots/nanox/test_transaction_slot/part14/00003.png differ diff --git a/tests/snapshots/nanox/test_transaction_slot/part14/00004.png b/tests/snapshots/nanox/test_transaction_slot/part14/00004.png index 4b4eb598..a4d302e5 100644 Binary files a/tests/snapshots/nanox/test_transaction_slot/part14/00004.png and b/tests/snapshots/nanox/test_transaction_slot/part14/00004.png differ diff --git a/tests/snapshots/nanox/test_transaction_slot/part14/00005.png b/tests/snapshots/nanox/test_transaction_slot/part14/00005.png index d8a2740e..c22f01b2 100644 Binary files a/tests/snapshots/nanox/test_transaction_slot/part14/00005.png and b/tests/snapshots/nanox/test_transaction_slot/part14/00005.png differ diff --git a/tests/snapshots/nanox/test_transaction_slot/part14/00006.png b/tests/snapshots/nanox/test_transaction_slot/part14/00006.png index 4d1a7f73..6b84117f 100644 Binary files a/tests/snapshots/nanox/test_transaction_slot/part14/00006.png and b/tests/snapshots/nanox/test_transaction_slot/part14/00006.png differ diff --git a/tests/snapshots/nanox/test_transaction_slot/part14/00007.png b/tests/snapshots/nanox/test_transaction_slot/part14/00007.png index 38f03f75..3903db85 100644 Binary files a/tests/snapshots/nanox/test_transaction_slot/part14/00007.png and b/tests/snapshots/nanox/test_transaction_slot/part14/00007.png differ diff --git a/tests/snapshots/nanox/test_transaction_slot/part14/00008.png b/tests/snapshots/nanox/test_transaction_slot/part14/00008.png index d5f0894e..8065791c 100644 Binary files a/tests/snapshots/nanox/test_transaction_slot/part14/00008.png and b/tests/snapshots/nanox/test_transaction_slot/part14/00008.png differ diff --git a/tests/snapshots/nanox/test_transaction_slot/part14/00009.png b/tests/snapshots/nanox/test_transaction_slot/part14/00009.png index 163e4981..d8a2740e 100644 Binary files a/tests/snapshots/nanox/test_transaction_slot/part14/00009.png and b/tests/snapshots/nanox/test_transaction_slot/part14/00009.png differ diff --git a/tests/snapshots/nanox/test_transaction_slot/part14/00010.png b/tests/snapshots/nanox/test_transaction_slot/part14/00010.png index b5f70a2c..4d1a7f73 100644 Binary files a/tests/snapshots/nanox/test_transaction_slot/part14/00010.png and b/tests/snapshots/nanox/test_transaction_slot/part14/00010.png differ diff --git a/tests/snapshots/nanox/test_transaction_slot/part14/00011.png b/tests/snapshots/nanox/test_transaction_slot/part14/00011.png index 51dc0ebb..38f03f75 100644 Binary files a/tests/snapshots/nanox/test_transaction_slot/part14/00011.png and b/tests/snapshots/nanox/test_transaction_slot/part14/00011.png differ diff --git a/tests/snapshots/nanox/test_transaction_slot/part14/00012.png b/tests/snapshots/nanox/test_transaction_slot/part14/00012.png index bbe32c35..1030e3e1 100644 Binary files a/tests/snapshots/nanox/test_transaction_slot/part14/00012.png and b/tests/snapshots/nanox/test_transaction_slot/part14/00012.png differ diff --git a/tests/snapshots/nanox/test_transaction_slot/part14/00013.png b/tests/snapshots/nanox/test_transaction_slot/part14/00013.png index d3857f37..163e4981 100644 Binary files a/tests/snapshots/nanox/test_transaction_slot/part14/00013.png and b/tests/snapshots/nanox/test_transaction_slot/part14/00013.png differ diff --git a/tests/snapshots/nanox/test_transaction_slot/part14/00014.png b/tests/snapshots/nanox/test_transaction_slot/part14/00014.png index a68dcaa7..b5f70a2c 100644 Binary files a/tests/snapshots/nanox/test_transaction_slot/part14/00014.png and b/tests/snapshots/nanox/test_transaction_slot/part14/00014.png differ diff --git a/tests/snapshots/nanox/test_transaction_slot/part14/00015.png b/tests/snapshots/nanox/test_transaction_slot/part14/00015.png index 1e4be699..510dbb77 100644 Binary files a/tests/snapshots/nanox/test_transaction_slot/part14/00015.png and b/tests/snapshots/nanox/test_transaction_slot/part14/00015.png differ diff --git a/tests/snapshots/nanox/test_transaction_slot/part14/00016.png b/tests/snapshots/nanox/test_transaction_slot/part14/00016.png index e84e8dfd..8099d16e 100644 Binary files a/tests/snapshots/nanox/test_transaction_slot/part14/00016.png and b/tests/snapshots/nanox/test_transaction_slot/part14/00016.png differ diff --git a/tests/snapshots/nanox/test_transaction_slot/part14/00017.png b/tests/snapshots/nanox/test_transaction_slot/part14/00017.png new file mode 100644 index 00000000..4f365818 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_slot/part14/00017.png differ diff --git a/tests/snapshots/nanox/test_transaction_slot/part14/00018.png b/tests/snapshots/nanox/test_transaction_slot/part14/00018.png new file mode 100644 index 00000000..a68dcaa7 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_slot/part14/00018.png differ diff --git a/tests/snapshots/nanox/test_transaction_slot/part14/00019.png b/tests/snapshots/nanox/test_transaction_slot/part14/00019.png new file mode 100644 index 00000000..1e4be699 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_slot/part14/00019.png differ diff --git a/tests/snapshots/nanox/test_transaction_slot/part14/00020.png b/tests/snapshots/nanox/test_transaction_slot/part14/00020.png new file mode 100644 index 00000000..e84e8dfd Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_slot/part14/00020.png differ diff --git a/tests/snapshots/nanox/test_transaction_slot/part15/00001.png b/tests/snapshots/nanox/test_transaction_slot/part15/00001.png index 5b962ee9..3d59a433 100644 Binary files a/tests/snapshots/nanox/test_transaction_slot/part15/00001.png and b/tests/snapshots/nanox/test_transaction_slot/part15/00001.png differ diff --git a/tests/snapshots/nanox/test_transaction_slot/part15/00002.png b/tests/snapshots/nanox/test_transaction_slot/part15/00002.png index 9e5fbace..5481d5da 100644 Binary files a/tests/snapshots/nanox/test_transaction_slot/part15/00002.png and b/tests/snapshots/nanox/test_transaction_slot/part15/00002.png differ diff --git a/tests/snapshots/nanox/test_transaction_slot/part15/00003.png b/tests/snapshots/nanox/test_transaction_slot/part15/00003.png index 81263f9e..d1930d7a 100644 Binary files a/tests/snapshots/nanox/test_transaction_slot/part15/00003.png and b/tests/snapshots/nanox/test_transaction_slot/part15/00003.png differ diff --git a/tests/snapshots/nanox/test_transaction_slot/part15/00004.png b/tests/snapshots/nanox/test_transaction_slot/part15/00004.png index 4b4eb598..a4d302e5 100644 Binary files a/tests/snapshots/nanox/test_transaction_slot/part15/00004.png and b/tests/snapshots/nanox/test_transaction_slot/part15/00004.png differ diff --git a/tests/snapshots/nanox/test_transaction_slot/part15/00005.png b/tests/snapshots/nanox/test_transaction_slot/part15/00005.png index d8a2740e..c22f01b2 100644 Binary files a/tests/snapshots/nanox/test_transaction_slot/part15/00005.png and b/tests/snapshots/nanox/test_transaction_slot/part15/00005.png differ diff --git a/tests/snapshots/nanox/test_transaction_slot/part15/00006.png b/tests/snapshots/nanox/test_transaction_slot/part15/00006.png index 4d1a7f73..6b84117f 100644 Binary files a/tests/snapshots/nanox/test_transaction_slot/part15/00006.png and b/tests/snapshots/nanox/test_transaction_slot/part15/00006.png differ diff --git a/tests/snapshots/nanox/test_transaction_slot/part15/00007.png b/tests/snapshots/nanox/test_transaction_slot/part15/00007.png index 38f03f75..3903db85 100644 Binary files a/tests/snapshots/nanox/test_transaction_slot/part15/00007.png and b/tests/snapshots/nanox/test_transaction_slot/part15/00007.png differ diff --git a/tests/snapshots/nanox/test_transaction_slot/part15/00008.png b/tests/snapshots/nanox/test_transaction_slot/part15/00008.png index 37312a69..8065791c 100644 Binary files a/tests/snapshots/nanox/test_transaction_slot/part15/00008.png and b/tests/snapshots/nanox/test_transaction_slot/part15/00008.png differ diff --git a/tests/snapshots/nanox/test_transaction_slot/part15/00009.png b/tests/snapshots/nanox/test_transaction_slot/part15/00009.png index 163e4981..d8a2740e 100644 Binary files a/tests/snapshots/nanox/test_transaction_slot/part15/00009.png and b/tests/snapshots/nanox/test_transaction_slot/part15/00009.png differ diff --git a/tests/snapshots/nanox/test_transaction_slot/part15/00010.png b/tests/snapshots/nanox/test_transaction_slot/part15/00010.png index b5f70a2c..4d1a7f73 100644 Binary files a/tests/snapshots/nanox/test_transaction_slot/part15/00010.png and b/tests/snapshots/nanox/test_transaction_slot/part15/00010.png differ diff --git a/tests/snapshots/nanox/test_transaction_slot/part15/00011.png b/tests/snapshots/nanox/test_transaction_slot/part15/00011.png index 42cf0b73..38f03f75 100644 Binary files a/tests/snapshots/nanox/test_transaction_slot/part15/00011.png and b/tests/snapshots/nanox/test_transaction_slot/part15/00011.png differ diff --git a/tests/snapshots/nanox/test_transaction_slot/part15/00012.png b/tests/snapshots/nanox/test_transaction_slot/part15/00012.png index 819d3159..1030e3e1 100644 Binary files a/tests/snapshots/nanox/test_transaction_slot/part15/00012.png and b/tests/snapshots/nanox/test_transaction_slot/part15/00012.png differ diff --git a/tests/snapshots/nanox/test_transaction_slot/part15/00013.png b/tests/snapshots/nanox/test_transaction_slot/part15/00013.png index 38b11c55..163e4981 100644 Binary files a/tests/snapshots/nanox/test_transaction_slot/part15/00013.png and b/tests/snapshots/nanox/test_transaction_slot/part15/00013.png differ diff --git a/tests/snapshots/nanox/test_transaction_slot/part15/00014.png b/tests/snapshots/nanox/test_transaction_slot/part15/00014.png index 1e4be699..b5f70a2c 100644 Binary files a/tests/snapshots/nanox/test_transaction_slot/part15/00014.png and b/tests/snapshots/nanox/test_transaction_slot/part15/00014.png differ diff --git a/tests/snapshots/nanox/test_transaction_slot/part15/00015.png b/tests/snapshots/nanox/test_transaction_slot/part15/00015.png index e84e8dfd..510dbb77 100644 Binary files a/tests/snapshots/nanox/test_transaction_slot/part15/00015.png and b/tests/snapshots/nanox/test_transaction_slot/part15/00015.png differ diff --git a/tests/snapshots/nanox/test_transaction_slot/part15/00016.png b/tests/snapshots/nanox/test_transaction_slot/part15/00016.png new file mode 100644 index 00000000..8099d16e Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_slot/part15/00016.png differ diff --git a/tests/snapshots/nanox/test_transaction_slot/part15/00017.png b/tests/snapshots/nanox/test_transaction_slot/part15/00017.png new file mode 100644 index 00000000..0b2d916f Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_slot/part15/00017.png differ diff --git a/tests/snapshots/nanox/test_transaction_slot/part15/00018.png b/tests/snapshots/nanox/test_transaction_slot/part15/00018.png new file mode 100644 index 00000000..38b11c55 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_slot/part15/00018.png differ diff --git a/tests/snapshots/nanox/test_transaction_slot/part15/00019.png b/tests/snapshots/nanox/test_transaction_slot/part15/00019.png new file mode 100644 index 00000000..1e4be699 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_slot/part15/00019.png differ diff --git a/tests/snapshots/nanox/test_transaction_slot/part15/00020.png b/tests/snapshots/nanox/test_transaction_slot/part15/00020.png new file mode 100644 index 00000000..e84e8dfd Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_slot/part15/00020.png differ diff --git a/tests/snapshots/nanox/test_transaction_slot/part2/00001.png b/tests/snapshots/nanox/test_transaction_slot/part2/00001.png index 5b962ee9..3d59a433 100644 Binary files a/tests/snapshots/nanox/test_transaction_slot/part2/00001.png and b/tests/snapshots/nanox/test_transaction_slot/part2/00001.png differ diff --git a/tests/snapshots/nanox/test_transaction_slot/part2/00002.png b/tests/snapshots/nanox/test_transaction_slot/part2/00002.png index 9e5fbace..5481d5da 100644 Binary files a/tests/snapshots/nanox/test_transaction_slot/part2/00002.png and b/tests/snapshots/nanox/test_transaction_slot/part2/00002.png differ diff --git a/tests/snapshots/nanox/test_transaction_slot/part2/00003.png b/tests/snapshots/nanox/test_transaction_slot/part2/00003.png index 81263f9e..d1930d7a 100644 Binary files a/tests/snapshots/nanox/test_transaction_slot/part2/00003.png and b/tests/snapshots/nanox/test_transaction_slot/part2/00003.png differ diff --git a/tests/snapshots/nanox/test_transaction_slot/part2/00004.png b/tests/snapshots/nanox/test_transaction_slot/part2/00004.png index 4b4eb598..a4d302e5 100644 Binary files a/tests/snapshots/nanox/test_transaction_slot/part2/00004.png and b/tests/snapshots/nanox/test_transaction_slot/part2/00004.png differ diff --git a/tests/snapshots/nanox/test_transaction_slot/part2/00005.png b/tests/snapshots/nanox/test_transaction_slot/part2/00005.png index d8a2740e..c22f01b2 100644 Binary files a/tests/snapshots/nanox/test_transaction_slot/part2/00005.png and b/tests/snapshots/nanox/test_transaction_slot/part2/00005.png differ diff --git a/tests/snapshots/nanox/test_transaction_slot/part2/00006.png b/tests/snapshots/nanox/test_transaction_slot/part2/00006.png index 4d1a7f73..6b84117f 100644 Binary files a/tests/snapshots/nanox/test_transaction_slot/part2/00006.png and b/tests/snapshots/nanox/test_transaction_slot/part2/00006.png differ diff --git a/tests/snapshots/nanox/test_transaction_slot/part2/00007.png b/tests/snapshots/nanox/test_transaction_slot/part2/00007.png index 38f03f75..3903db85 100644 Binary files a/tests/snapshots/nanox/test_transaction_slot/part2/00007.png and b/tests/snapshots/nanox/test_transaction_slot/part2/00007.png differ diff --git a/tests/snapshots/nanox/test_transaction_slot/part2/00008.png b/tests/snapshots/nanox/test_transaction_slot/part2/00008.png index 37312a69..8065791c 100644 Binary files a/tests/snapshots/nanox/test_transaction_slot/part2/00008.png and b/tests/snapshots/nanox/test_transaction_slot/part2/00008.png differ diff --git a/tests/snapshots/nanox/test_transaction_slot/part2/00009.png b/tests/snapshots/nanox/test_transaction_slot/part2/00009.png index 163e4981..d8a2740e 100644 Binary files a/tests/snapshots/nanox/test_transaction_slot/part2/00009.png and b/tests/snapshots/nanox/test_transaction_slot/part2/00009.png differ diff --git a/tests/snapshots/nanox/test_transaction_slot/part2/00010.png b/tests/snapshots/nanox/test_transaction_slot/part2/00010.png index b5f70a2c..4d1a7f73 100644 Binary files a/tests/snapshots/nanox/test_transaction_slot/part2/00010.png and b/tests/snapshots/nanox/test_transaction_slot/part2/00010.png differ diff --git a/tests/snapshots/nanox/test_transaction_slot/part2/00011.png b/tests/snapshots/nanox/test_transaction_slot/part2/00011.png index 42cf0b73..38f03f75 100644 Binary files a/tests/snapshots/nanox/test_transaction_slot/part2/00011.png and b/tests/snapshots/nanox/test_transaction_slot/part2/00011.png differ diff --git a/tests/snapshots/nanox/test_transaction_slot/part2/00012.png b/tests/snapshots/nanox/test_transaction_slot/part2/00012.png index 819d3159..1030e3e1 100644 Binary files a/tests/snapshots/nanox/test_transaction_slot/part2/00012.png and b/tests/snapshots/nanox/test_transaction_slot/part2/00012.png differ diff --git a/tests/snapshots/nanox/test_transaction_slot/part2/00013.png b/tests/snapshots/nanox/test_transaction_slot/part2/00013.png index be855edc..163e4981 100644 Binary files a/tests/snapshots/nanox/test_transaction_slot/part2/00013.png and b/tests/snapshots/nanox/test_transaction_slot/part2/00013.png differ diff --git a/tests/snapshots/nanox/test_transaction_slot/part2/00014.png b/tests/snapshots/nanox/test_transaction_slot/part2/00014.png index 1e4be699..b5f70a2c 100644 Binary files a/tests/snapshots/nanox/test_transaction_slot/part2/00014.png and b/tests/snapshots/nanox/test_transaction_slot/part2/00014.png differ diff --git a/tests/snapshots/nanox/test_transaction_slot/part2/00015.png b/tests/snapshots/nanox/test_transaction_slot/part2/00015.png index e84e8dfd..510dbb77 100644 Binary files a/tests/snapshots/nanox/test_transaction_slot/part2/00015.png and b/tests/snapshots/nanox/test_transaction_slot/part2/00015.png differ diff --git a/tests/snapshots/nanox/test_transaction_slot/part2/00016.png b/tests/snapshots/nanox/test_transaction_slot/part2/00016.png new file mode 100644 index 00000000..8099d16e Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_slot/part2/00016.png differ diff --git a/tests/snapshots/nanox/test_transaction_slot/part2/00017.png b/tests/snapshots/nanox/test_transaction_slot/part2/00017.png new file mode 100644 index 00000000..be855edc Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_slot/part2/00017.png differ diff --git a/tests/snapshots/nanox/test_transaction_slot/part2/00018.png b/tests/snapshots/nanox/test_transaction_slot/part2/00018.png new file mode 100644 index 00000000..1e4be699 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_slot/part2/00018.png differ diff --git a/tests/snapshots/nanox/test_transaction_slot/part2/00019.png b/tests/snapshots/nanox/test_transaction_slot/part2/00019.png new file mode 100644 index 00000000..e84e8dfd Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_slot/part2/00019.png differ diff --git a/tests/snapshots/nanox/test_transaction_slot/part3/00001.png b/tests/snapshots/nanox/test_transaction_slot/part3/00001.png index 5b962ee9..3d59a433 100644 Binary files a/tests/snapshots/nanox/test_transaction_slot/part3/00001.png and b/tests/snapshots/nanox/test_transaction_slot/part3/00001.png differ diff --git a/tests/snapshots/nanox/test_transaction_slot/part3/00002.png b/tests/snapshots/nanox/test_transaction_slot/part3/00002.png index 9e5fbace..5481d5da 100644 Binary files a/tests/snapshots/nanox/test_transaction_slot/part3/00002.png and b/tests/snapshots/nanox/test_transaction_slot/part3/00002.png differ diff --git a/tests/snapshots/nanox/test_transaction_slot/part3/00003.png b/tests/snapshots/nanox/test_transaction_slot/part3/00003.png index 81263f9e..d1930d7a 100644 Binary files a/tests/snapshots/nanox/test_transaction_slot/part3/00003.png and b/tests/snapshots/nanox/test_transaction_slot/part3/00003.png differ diff --git a/tests/snapshots/nanox/test_transaction_slot/part3/00004.png b/tests/snapshots/nanox/test_transaction_slot/part3/00004.png index 4b4eb598..a4d302e5 100644 Binary files a/tests/snapshots/nanox/test_transaction_slot/part3/00004.png and b/tests/snapshots/nanox/test_transaction_slot/part3/00004.png differ diff --git a/tests/snapshots/nanox/test_transaction_slot/part3/00005.png b/tests/snapshots/nanox/test_transaction_slot/part3/00005.png index d8a2740e..c22f01b2 100644 Binary files a/tests/snapshots/nanox/test_transaction_slot/part3/00005.png and b/tests/snapshots/nanox/test_transaction_slot/part3/00005.png differ diff --git a/tests/snapshots/nanox/test_transaction_slot/part3/00006.png b/tests/snapshots/nanox/test_transaction_slot/part3/00006.png index 4d1a7f73..6b84117f 100644 Binary files a/tests/snapshots/nanox/test_transaction_slot/part3/00006.png and b/tests/snapshots/nanox/test_transaction_slot/part3/00006.png differ diff --git a/tests/snapshots/nanox/test_transaction_slot/part3/00007.png b/tests/snapshots/nanox/test_transaction_slot/part3/00007.png index 38f03f75..3903db85 100644 Binary files a/tests/snapshots/nanox/test_transaction_slot/part3/00007.png and b/tests/snapshots/nanox/test_transaction_slot/part3/00007.png differ diff --git a/tests/snapshots/nanox/test_transaction_slot/part3/00008.png b/tests/snapshots/nanox/test_transaction_slot/part3/00008.png index 37312a69..8065791c 100644 Binary files a/tests/snapshots/nanox/test_transaction_slot/part3/00008.png and b/tests/snapshots/nanox/test_transaction_slot/part3/00008.png differ diff --git a/tests/snapshots/nanox/test_transaction_slot/part3/00009.png b/tests/snapshots/nanox/test_transaction_slot/part3/00009.png index 163e4981..d8a2740e 100644 Binary files a/tests/snapshots/nanox/test_transaction_slot/part3/00009.png and b/tests/snapshots/nanox/test_transaction_slot/part3/00009.png differ diff --git a/tests/snapshots/nanox/test_transaction_slot/part3/00010.png b/tests/snapshots/nanox/test_transaction_slot/part3/00010.png index b5f70a2c..4d1a7f73 100644 Binary files a/tests/snapshots/nanox/test_transaction_slot/part3/00010.png and b/tests/snapshots/nanox/test_transaction_slot/part3/00010.png differ diff --git a/tests/snapshots/nanox/test_transaction_slot/part3/00011.png b/tests/snapshots/nanox/test_transaction_slot/part3/00011.png index 42cf0b73..38f03f75 100644 Binary files a/tests/snapshots/nanox/test_transaction_slot/part3/00011.png and b/tests/snapshots/nanox/test_transaction_slot/part3/00011.png differ diff --git a/tests/snapshots/nanox/test_transaction_slot/part3/00012.png b/tests/snapshots/nanox/test_transaction_slot/part3/00012.png index 819d3159..1030e3e1 100644 Binary files a/tests/snapshots/nanox/test_transaction_slot/part3/00012.png and b/tests/snapshots/nanox/test_transaction_slot/part3/00012.png differ diff --git a/tests/snapshots/nanox/test_transaction_slot/part3/00013.png b/tests/snapshots/nanox/test_transaction_slot/part3/00013.png index 1e4be699..163e4981 100644 Binary files a/tests/snapshots/nanox/test_transaction_slot/part3/00013.png and b/tests/snapshots/nanox/test_transaction_slot/part3/00013.png differ diff --git a/tests/snapshots/nanox/test_transaction_slot/part3/00014.png b/tests/snapshots/nanox/test_transaction_slot/part3/00014.png index e84e8dfd..b5f70a2c 100644 Binary files a/tests/snapshots/nanox/test_transaction_slot/part3/00014.png and b/tests/snapshots/nanox/test_transaction_slot/part3/00014.png differ diff --git a/tests/snapshots/nanox/test_transaction_slot/part3/00015.png b/tests/snapshots/nanox/test_transaction_slot/part3/00015.png new file mode 100644 index 00000000..510dbb77 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_slot/part3/00015.png differ diff --git a/tests/snapshots/nanox/test_transaction_slot/part3/00016.png b/tests/snapshots/nanox/test_transaction_slot/part3/00016.png new file mode 100644 index 00000000..8099d16e Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_slot/part3/00016.png differ diff --git a/tests/snapshots/nanox/test_transaction_slot/part3/00017.png b/tests/snapshots/nanox/test_transaction_slot/part3/00017.png new file mode 100644 index 00000000..0b2d916f Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_slot/part3/00017.png differ diff --git a/tests/snapshots/nanox/test_transaction_slot/part3/00018.png b/tests/snapshots/nanox/test_transaction_slot/part3/00018.png new file mode 100644 index 00000000..1e4be699 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_slot/part3/00018.png differ diff --git a/tests/snapshots/nanox/test_transaction_slot/part3/00019.png b/tests/snapshots/nanox/test_transaction_slot/part3/00019.png new file mode 100644 index 00000000..e84e8dfd Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_slot/part3/00019.png differ diff --git a/tests/snapshots/nanox/test_transaction_slot/part4/00001.png b/tests/snapshots/nanox/test_transaction_slot/part4/00001.png index 5b962ee9..3d59a433 100644 Binary files a/tests/snapshots/nanox/test_transaction_slot/part4/00001.png and b/tests/snapshots/nanox/test_transaction_slot/part4/00001.png differ diff --git a/tests/snapshots/nanox/test_transaction_slot/part4/00003.png b/tests/snapshots/nanox/test_transaction_slot/part4/00003.png index 81263f9e..d1930d7a 100644 Binary files a/tests/snapshots/nanox/test_transaction_slot/part4/00003.png and b/tests/snapshots/nanox/test_transaction_slot/part4/00003.png differ diff --git a/tests/snapshots/nanox/test_transaction_slot/part4/00004.png b/tests/snapshots/nanox/test_transaction_slot/part4/00004.png index 4b4eb598..a4d302e5 100644 Binary files a/tests/snapshots/nanox/test_transaction_slot/part4/00004.png and b/tests/snapshots/nanox/test_transaction_slot/part4/00004.png differ diff --git a/tests/snapshots/nanox/test_transaction_slot/part4/00005.png b/tests/snapshots/nanox/test_transaction_slot/part4/00005.png index d8a2740e..c22f01b2 100644 Binary files a/tests/snapshots/nanox/test_transaction_slot/part4/00005.png and b/tests/snapshots/nanox/test_transaction_slot/part4/00005.png differ diff --git a/tests/snapshots/nanox/test_transaction_slot/part4/00006.png b/tests/snapshots/nanox/test_transaction_slot/part4/00006.png index 4d1a7f73..6b84117f 100644 Binary files a/tests/snapshots/nanox/test_transaction_slot/part4/00006.png and b/tests/snapshots/nanox/test_transaction_slot/part4/00006.png differ diff --git a/tests/snapshots/nanox/test_transaction_slot/part4/00007.png b/tests/snapshots/nanox/test_transaction_slot/part4/00007.png index 38f03f75..3903db85 100644 Binary files a/tests/snapshots/nanox/test_transaction_slot/part4/00007.png and b/tests/snapshots/nanox/test_transaction_slot/part4/00007.png differ diff --git a/tests/snapshots/nanox/test_transaction_slot/part4/00008.png b/tests/snapshots/nanox/test_transaction_slot/part4/00008.png index d5f0894e..8065791c 100644 Binary files a/tests/snapshots/nanox/test_transaction_slot/part4/00008.png and b/tests/snapshots/nanox/test_transaction_slot/part4/00008.png differ diff --git a/tests/snapshots/nanox/test_transaction_slot/part4/00009.png b/tests/snapshots/nanox/test_transaction_slot/part4/00009.png index 163e4981..d8a2740e 100644 Binary files a/tests/snapshots/nanox/test_transaction_slot/part4/00009.png and b/tests/snapshots/nanox/test_transaction_slot/part4/00009.png differ diff --git a/tests/snapshots/nanox/test_transaction_slot/part4/00010.png b/tests/snapshots/nanox/test_transaction_slot/part4/00010.png index b5f70a2c..4d1a7f73 100644 Binary files a/tests/snapshots/nanox/test_transaction_slot/part4/00010.png and b/tests/snapshots/nanox/test_transaction_slot/part4/00010.png differ diff --git a/tests/snapshots/nanox/test_transaction_slot/part4/00011.png b/tests/snapshots/nanox/test_transaction_slot/part4/00011.png index 51dc0ebb..38f03f75 100644 Binary files a/tests/snapshots/nanox/test_transaction_slot/part4/00011.png and b/tests/snapshots/nanox/test_transaction_slot/part4/00011.png differ diff --git a/tests/snapshots/nanox/test_transaction_slot/part4/00012.png b/tests/snapshots/nanox/test_transaction_slot/part4/00012.png index bbe32c35..1030e3e1 100644 Binary files a/tests/snapshots/nanox/test_transaction_slot/part4/00012.png and b/tests/snapshots/nanox/test_transaction_slot/part4/00012.png differ diff --git a/tests/snapshots/nanox/test_transaction_slot/part4/00013.png b/tests/snapshots/nanox/test_transaction_slot/part4/00013.png index 0b2d916f..163e4981 100644 Binary files a/tests/snapshots/nanox/test_transaction_slot/part4/00013.png and b/tests/snapshots/nanox/test_transaction_slot/part4/00013.png differ diff --git a/tests/snapshots/nanox/test_transaction_slot/part4/00014.png b/tests/snapshots/nanox/test_transaction_slot/part4/00014.png index 1e4be699..b5f70a2c 100644 Binary files a/tests/snapshots/nanox/test_transaction_slot/part4/00014.png and b/tests/snapshots/nanox/test_transaction_slot/part4/00014.png differ diff --git a/tests/snapshots/nanox/test_transaction_slot/part4/00015.png b/tests/snapshots/nanox/test_transaction_slot/part4/00015.png index e84e8dfd..510dbb77 100644 Binary files a/tests/snapshots/nanox/test_transaction_slot/part4/00015.png and b/tests/snapshots/nanox/test_transaction_slot/part4/00015.png differ diff --git a/tests/snapshots/nanox/test_transaction_slot/part4/00016.png b/tests/snapshots/nanox/test_transaction_slot/part4/00016.png new file mode 100644 index 00000000..8099d16e Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_slot/part4/00016.png differ diff --git a/tests/snapshots/nanox/test_transaction_slot/part4/00017.png b/tests/snapshots/nanox/test_transaction_slot/part4/00017.png new file mode 100644 index 00000000..0b2d916f Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_slot/part4/00017.png differ diff --git a/tests/snapshots/nanox/test_transaction_slot/part4/00018.png b/tests/snapshots/nanox/test_transaction_slot/part4/00018.png new file mode 100644 index 00000000..1e4be699 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_slot/part4/00018.png differ diff --git a/tests/snapshots/nanox/test_transaction_slot/part4/00019.png b/tests/snapshots/nanox/test_transaction_slot/part4/00019.png new file mode 100644 index 00000000..e84e8dfd Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_slot/part4/00019.png differ diff --git a/tests/snapshots/nanox/test_transaction_slot/part6/00001.png b/tests/snapshots/nanox/test_transaction_slot/part6/00001.png index 5b962ee9..3d59a433 100644 Binary files a/tests/snapshots/nanox/test_transaction_slot/part6/00001.png and b/tests/snapshots/nanox/test_transaction_slot/part6/00001.png differ diff --git a/tests/snapshots/nanox/test_transaction_slot/part6/00003.png b/tests/snapshots/nanox/test_transaction_slot/part6/00003.png index 81263f9e..d1930d7a 100644 Binary files a/tests/snapshots/nanox/test_transaction_slot/part6/00003.png and b/tests/snapshots/nanox/test_transaction_slot/part6/00003.png differ diff --git a/tests/snapshots/nanox/test_transaction_slot/part6/00004.png b/tests/snapshots/nanox/test_transaction_slot/part6/00004.png index 4b4eb598..a4d302e5 100644 Binary files a/tests/snapshots/nanox/test_transaction_slot/part6/00004.png and b/tests/snapshots/nanox/test_transaction_slot/part6/00004.png differ diff --git a/tests/snapshots/nanox/test_transaction_slot/part6/00005.png b/tests/snapshots/nanox/test_transaction_slot/part6/00005.png index d8a2740e..c22f01b2 100644 Binary files a/tests/snapshots/nanox/test_transaction_slot/part6/00005.png and b/tests/snapshots/nanox/test_transaction_slot/part6/00005.png differ diff --git a/tests/snapshots/nanox/test_transaction_slot/part6/00006.png b/tests/snapshots/nanox/test_transaction_slot/part6/00006.png index 4d1a7f73..6b84117f 100644 Binary files a/tests/snapshots/nanox/test_transaction_slot/part6/00006.png and b/tests/snapshots/nanox/test_transaction_slot/part6/00006.png differ diff --git a/tests/snapshots/nanox/test_transaction_slot/part6/00007.png b/tests/snapshots/nanox/test_transaction_slot/part6/00007.png index 38f03f75..3903db85 100644 Binary files a/tests/snapshots/nanox/test_transaction_slot/part6/00007.png and b/tests/snapshots/nanox/test_transaction_slot/part6/00007.png differ diff --git a/tests/snapshots/nanox/test_transaction_slot/part6/00008.png b/tests/snapshots/nanox/test_transaction_slot/part6/00008.png index d5f0894e..8065791c 100644 Binary files a/tests/snapshots/nanox/test_transaction_slot/part6/00008.png and b/tests/snapshots/nanox/test_transaction_slot/part6/00008.png differ diff --git a/tests/snapshots/nanox/test_transaction_slot/part6/00009.png b/tests/snapshots/nanox/test_transaction_slot/part6/00009.png index 163e4981..d8a2740e 100644 Binary files a/tests/snapshots/nanox/test_transaction_slot/part6/00009.png and b/tests/snapshots/nanox/test_transaction_slot/part6/00009.png differ diff --git a/tests/snapshots/nanox/test_transaction_slot/part6/00010.png b/tests/snapshots/nanox/test_transaction_slot/part6/00010.png index b5f70a2c..4d1a7f73 100644 Binary files a/tests/snapshots/nanox/test_transaction_slot/part6/00010.png and b/tests/snapshots/nanox/test_transaction_slot/part6/00010.png differ diff --git a/tests/snapshots/nanox/test_transaction_slot/part6/00011.png b/tests/snapshots/nanox/test_transaction_slot/part6/00011.png index 42cf0b73..38f03f75 100644 Binary files a/tests/snapshots/nanox/test_transaction_slot/part6/00011.png and b/tests/snapshots/nanox/test_transaction_slot/part6/00011.png differ diff --git a/tests/snapshots/nanox/test_transaction_slot/part6/00012.png b/tests/snapshots/nanox/test_transaction_slot/part6/00012.png index bbe32c35..1030e3e1 100644 Binary files a/tests/snapshots/nanox/test_transaction_slot/part6/00012.png and b/tests/snapshots/nanox/test_transaction_slot/part6/00012.png differ diff --git a/tests/snapshots/nanox/test_transaction_slot/part6/00013.png b/tests/snapshots/nanox/test_transaction_slot/part6/00013.png index 1e4be699..163e4981 100644 Binary files a/tests/snapshots/nanox/test_transaction_slot/part6/00013.png and b/tests/snapshots/nanox/test_transaction_slot/part6/00013.png differ diff --git a/tests/snapshots/nanox/test_transaction_slot/part6/00014.png b/tests/snapshots/nanox/test_transaction_slot/part6/00014.png index e84e8dfd..b5f70a2c 100644 Binary files a/tests/snapshots/nanox/test_transaction_slot/part6/00014.png and b/tests/snapshots/nanox/test_transaction_slot/part6/00014.png differ diff --git a/tests/snapshots/nanox/test_transaction_slot/part6/00015.png b/tests/snapshots/nanox/test_transaction_slot/part6/00015.png new file mode 100644 index 00000000..42cf0b73 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_slot/part6/00015.png differ diff --git a/tests/snapshots/nanox/test_transaction_slot/part6/00016.png b/tests/snapshots/nanox/test_transaction_slot/part6/00016.png new file mode 100644 index 00000000..8099d16e Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_slot/part6/00016.png differ diff --git a/tests/snapshots/nanox/test_transaction_slot/part6/00017.png b/tests/snapshots/nanox/test_transaction_slot/part6/00017.png new file mode 100644 index 00000000..1e4be699 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_slot/part6/00017.png differ diff --git a/tests/snapshots/nanox/test_transaction_slot/part6/00018.png b/tests/snapshots/nanox/test_transaction_slot/part6/00018.png new file mode 100644 index 00000000..e84e8dfd Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_slot/part6/00018.png differ diff --git a/tests/snapshots/nanox/test_transaction_slot/part8/00001.png b/tests/snapshots/nanox/test_transaction_slot/part8/00001.png index 5b962ee9..3d59a433 100644 Binary files a/tests/snapshots/nanox/test_transaction_slot/part8/00001.png and b/tests/snapshots/nanox/test_transaction_slot/part8/00001.png differ diff --git a/tests/snapshots/nanox/test_transaction_slot/part8/00003.png b/tests/snapshots/nanox/test_transaction_slot/part8/00003.png index 81263f9e..d1930d7a 100644 Binary files a/tests/snapshots/nanox/test_transaction_slot/part8/00003.png and b/tests/snapshots/nanox/test_transaction_slot/part8/00003.png differ diff --git a/tests/snapshots/nanox/test_transaction_slot/part8/00004.png b/tests/snapshots/nanox/test_transaction_slot/part8/00004.png index 4b4eb598..a4d302e5 100644 Binary files a/tests/snapshots/nanox/test_transaction_slot/part8/00004.png and b/tests/snapshots/nanox/test_transaction_slot/part8/00004.png differ diff --git a/tests/snapshots/nanox/test_transaction_slot/part8/00005.png b/tests/snapshots/nanox/test_transaction_slot/part8/00005.png index d8a2740e..c22f01b2 100644 Binary files a/tests/snapshots/nanox/test_transaction_slot/part8/00005.png and b/tests/snapshots/nanox/test_transaction_slot/part8/00005.png differ diff --git a/tests/snapshots/nanox/test_transaction_slot/part8/00006.png b/tests/snapshots/nanox/test_transaction_slot/part8/00006.png index 4d1a7f73..6b84117f 100644 Binary files a/tests/snapshots/nanox/test_transaction_slot/part8/00006.png and b/tests/snapshots/nanox/test_transaction_slot/part8/00006.png differ diff --git a/tests/snapshots/nanox/test_transaction_slot/part8/00007.png b/tests/snapshots/nanox/test_transaction_slot/part8/00007.png index 38f03f75..3903db85 100644 Binary files a/tests/snapshots/nanox/test_transaction_slot/part8/00007.png and b/tests/snapshots/nanox/test_transaction_slot/part8/00007.png differ diff --git a/tests/snapshots/nanox/test_transaction_slot/part8/00008.png b/tests/snapshots/nanox/test_transaction_slot/part8/00008.png index 37312a69..8065791c 100644 Binary files a/tests/snapshots/nanox/test_transaction_slot/part8/00008.png and b/tests/snapshots/nanox/test_transaction_slot/part8/00008.png differ diff --git a/tests/snapshots/nanox/test_transaction_slot/part8/00009.png b/tests/snapshots/nanox/test_transaction_slot/part8/00009.png index 163e4981..d8a2740e 100644 Binary files a/tests/snapshots/nanox/test_transaction_slot/part8/00009.png and b/tests/snapshots/nanox/test_transaction_slot/part8/00009.png differ diff --git a/tests/snapshots/nanox/test_transaction_slot/part8/00010.png b/tests/snapshots/nanox/test_transaction_slot/part8/00010.png index b5f70a2c..4d1a7f73 100644 Binary files a/tests/snapshots/nanox/test_transaction_slot/part8/00010.png and b/tests/snapshots/nanox/test_transaction_slot/part8/00010.png differ diff --git a/tests/snapshots/nanox/test_transaction_slot/part8/00011.png b/tests/snapshots/nanox/test_transaction_slot/part8/00011.png index 51dc0ebb..38f03f75 100644 Binary files a/tests/snapshots/nanox/test_transaction_slot/part8/00011.png and b/tests/snapshots/nanox/test_transaction_slot/part8/00011.png differ diff --git a/tests/snapshots/nanox/test_transaction_slot/part8/00012.png b/tests/snapshots/nanox/test_transaction_slot/part8/00012.png index bbe32c35..37312a69 100644 Binary files a/tests/snapshots/nanox/test_transaction_slot/part8/00012.png and b/tests/snapshots/nanox/test_transaction_slot/part8/00012.png differ diff --git a/tests/snapshots/nanox/test_transaction_slot/part8/00013.png b/tests/snapshots/nanox/test_transaction_slot/part8/00013.png index 1e4be699..163e4981 100644 Binary files a/tests/snapshots/nanox/test_transaction_slot/part8/00013.png and b/tests/snapshots/nanox/test_transaction_slot/part8/00013.png differ diff --git a/tests/snapshots/nanox/test_transaction_slot/part8/00014.png b/tests/snapshots/nanox/test_transaction_slot/part8/00014.png index e84e8dfd..b5f70a2c 100644 Binary files a/tests/snapshots/nanox/test_transaction_slot/part8/00014.png and b/tests/snapshots/nanox/test_transaction_slot/part8/00014.png differ diff --git a/tests/snapshots/nanox/test_transaction_slot/part8/00015.png b/tests/snapshots/nanox/test_transaction_slot/part8/00015.png new file mode 100644 index 00000000..510dbb77 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_slot/part8/00015.png differ diff --git a/tests/snapshots/nanox/test_transaction_slot/part8/00016.png b/tests/snapshots/nanox/test_transaction_slot/part8/00016.png new file mode 100644 index 00000000..8099d16e Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_slot/part8/00016.png differ diff --git a/tests/snapshots/nanox/test_transaction_slot/part8/00017.png b/tests/snapshots/nanox/test_transaction_slot/part8/00017.png new file mode 100644 index 00000000..1e4be699 Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_slot/part8/00017.png differ diff --git a/tests/snapshots/nanox/test_transaction_slot/part8/00018.png b/tests/snapshots/nanox/test_transaction_slot/part8/00018.png new file mode 100644 index 00000000..e84e8dfd Binary files /dev/null and b/tests/snapshots/nanox/test_transaction_slot/part8/00018.png differ diff --git a/tests/snapshots/stax/test_transaction_expert/part1/00001.png b/tests/snapshots/stax/test_transaction_expert/part1/00001.png index 23b44e3e..9128c56e 100644 Binary files a/tests/snapshots/stax/test_transaction_expert/part1/00001.png and b/tests/snapshots/stax/test_transaction_expert/part1/00001.png differ diff --git a/tests/snapshots/stax/test_transaction_expert/part1/00002.png b/tests/snapshots/stax/test_transaction_expert/part1/00002.png index a2e7a49c..13dbf109 100644 Binary files a/tests/snapshots/stax/test_transaction_expert/part1/00002.png and b/tests/snapshots/stax/test_transaction_expert/part1/00002.png differ diff --git a/tests/snapshots/stax/test_transaction_expert/part1/00003.png b/tests/snapshots/stax/test_transaction_expert/part1/00003.png index fb625e5a..234968d1 100644 Binary files a/tests/snapshots/stax/test_transaction_expert/part1/00003.png and b/tests/snapshots/stax/test_transaction_expert/part1/00003.png differ diff --git a/tests/snapshots/stax/test_transaction_expert/part2/00001.png b/tests/snapshots/stax/test_transaction_expert/part2/00001.png index 23b44e3e..9128c56e 100644 Binary files a/tests/snapshots/stax/test_transaction_expert/part2/00001.png and b/tests/snapshots/stax/test_transaction_expert/part2/00001.png differ diff --git a/tests/snapshots/stax/test_transaction_expert/part2/00002.png b/tests/snapshots/stax/test_transaction_expert/part2/00002.png index a2e7a49c..13dbf109 100644 Binary files a/tests/snapshots/stax/test_transaction_expert/part2/00002.png and b/tests/snapshots/stax/test_transaction_expert/part2/00002.png differ diff --git a/tests/snapshots/stax/test_transaction_expert/part2/00003.png b/tests/snapshots/stax/test_transaction_expert/part2/00003.png index fb625e5a..234968d1 100644 Binary files a/tests/snapshots/stax/test_transaction_expert/part2/00003.png and b/tests/snapshots/stax/test_transaction_expert/part2/00003.png differ diff --git a/tests/snapshots/stax/test_transaction_manifest/FA.01-Mainnet/00000.png b/tests/snapshots/stax/test_transaction_manifest/FA.01-Mainnet/00000.png new file mode 100644 index 00000000..8e091e97 Binary files /dev/null and b/tests/snapshots/stax/test_transaction_manifest/FA.01-Mainnet/00000.png differ diff --git a/tests/snapshots/stax/test_transaction_manifest/FA.01-Mainnet/00001.png b/tests/snapshots/stax/test_transaction_manifest/FA.01-Mainnet/00001.png new file mode 100644 index 00000000..0e302d91 Binary files /dev/null and b/tests/snapshots/stax/test_transaction_manifest/FA.01-Mainnet/00001.png differ diff --git a/tests/snapshots/stax/test_transaction_manifest/FA.01-Mainnet/00002.png b/tests/snapshots/stax/test_transaction_manifest/FA.01-Mainnet/00002.png new file mode 100644 index 00000000..c44eed83 Binary files /dev/null and b/tests/snapshots/stax/test_transaction_manifest/FA.01-Mainnet/00002.png differ diff --git a/tests/snapshots/stax/test_transaction_manifest/FA.01-Mainnet/00003.png b/tests/snapshots/stax/test_transaction_manifest/FA.01-Mainnet/00003.png new file mode 100644 index 00000000..0202c9f2 Binary files /dev/null and b/tests/snapshots/stax/test_transaction_manifest/FA.01-Mainnet/00003.png differ diff --git a/tests/snapshots/stax/test_transaction_manifest/FA.01-Mainnet/00004.png b/tests/snapshots/stax/test_transaction_manifest/FA.01-Mainnet/00004.png new file mode 100644 index 00000000..5c8ec2c1 Binary files /dev/null and b/tests/snapshots/stax/test_transaction_manifest/FA.01-Mainnet/00004.png differ diff --git a/tests/snapshots/stax/test_transaction_manifest/FA.01-Mainnet/00005.png b/tests/snapshots/stax/test_transaction_manifest/FA.01-Mainnet/00005.png new file mode 100644 index 00000000..30d3b010 Binary files /dev/null and b/tests/snapshots/stax/test_transaction_manifest/FA.01-Mainnet/00005.png differ diff --git a/tests/snapshots/stax/test_transaction_manifest/FA.01-Mainnet/00006.png b/tests/snapshots/stax/test_transaction_manifest/FA.01-Mainnet/00006.png new file mode 100644 index 00000000..5ff4c5f3 Binary files /dev/null and b/tests/snapshots/stax/test_transaction_manifest/FA.01-Mainnet/00006.png differ diff --git a/tests/snapshots/stax/test_transaction_manifest/FA.01-Mainnet/00007.png b/tests/snapshots/stax/test_transaction_manifest/FA.01-Mainnet/00007.png new file mode 100644 index 00000000..59aa6484 Binary files /dev/null and b/tests/snapshots/stax/test_transaction_manifest/FA.01-Mainnet/00007.png differ diff --git a/tests/snapshots/stax/test_transaction_manifest/FA.01-Mainnet/00008.png b/tests/snapshots/stax/test_transaction_manifest/FA.01-Mainnet/00008.png new file mode 100644 index 00000000..cd2f5275 Binary files /dev/null and b/tests/snapshots/stax/test_transaction_manifest/FA.01-Mainnet/00008.png differ diff --git a/tests/snapshots/stax/test_transaction_params/part10/00008.png b/tests/snapshots/stax/test_transaction_manifest/FA.01-Mainnet/00009.png similarity index 100% rename from tests/snapshots/stax/test_transaction_params/part10/00008.png rename to tests/snapshots/stax/test_transaction_manifest/FA.01-Mainnet/00009.png diff --git a/tests/snapshots/stax/test_transaction_manifest/FA.01-Testnet/00000.png b/tests/snapshots/stax/test_transaction_manifest/FA.01-Testnet/00000.png new file mode 100644 index 00000000..8e091e97 Binary files /dev/null and b/tests/snapshots/stax/test_transaction_manifest/FA.01-Testnet/00000.png differ diff --git a/tests/snapshots/stax/test_transaction_manifest/FA.01-Testnet/00001.png b/tests/snapshots/stax/test_transaction_manifest/FA.01-Testnet/00001.png new file mode 100644 index 00000000..1df1d1c9 Binary files /dev/null and b/tests/snapshots/stax/test_transaction_manifest/FA.01-Testnet/00001.png differ diff --git a/tests/snapshots/stax/test_transaction_manifest/FA.01-Testnet/00002.png b/tests/snapshots/stax/test_transaction_manifest/FA.01-Testnet/00002.png new file mode 100644 index 00000000..c44eed83 Binary files /dev/null and b/tests/snapshots/stax/test_transaction_manifest/FA.01-Testnet/00002.png differ diff --git a/tests/snapshots/stax/test_transaction_manifest/FA.01-Testnet/00003.png b/tests/snapshots/stax/test_transaction_manifest/FA.01-Testnet/00003.png new file mode 100644 index 00000000..0202c9f2 Binary files /dev/null and b/tests/snapshots/stax/test_transaction_manifest/FA.01-Testnet/00003.png differ diff --git a/tests/snapshots/stax/test_transaction_manifest/FA.01-Testnet/00004.png b/tests/snapshots/stax/test_transaction_manifest/FA.01-Testnet/00004.png new file mode 100644 index 00000000..5b7bd16a Binary files /dev/null and b/tests/snapshots/stax/test_transaction_manifest/FA.01-Testnet/00004.png differ diff --git a/tests/snapshots/stax/test_transaction_manifest/FA.01-Testnet/00005.png b/tests/snapshots/stax/test_transaction_manifest/FA.01-Testnet/00005.png new file mode 100644 index 00000000..79234cfc Binary files /dev/null and b/tests/snapshots/stax/test_transaction_manifest/FA.01-Testnet/00005.png differ diff --git a/tests/snapshots/stax/test_transaction_manifest/FA.01-Testnet/00006.png b/tests/snapshots/stax/test_transaction_manifest/FA.01-Testnet/00006.png new file mode 100644 index 00000000..5ff4c5f3 Binary files /dev/null and b/tests/snapshots/stax/test_transaction_manifest/FA.01-Testnet/00006.png differ diff --git a/tests/snapshots/stax/test_transaction_manifest/FA.01-Testnet/00007.png b/tests/snapshots/stax/test_transaction_manifest/FA.01-Testnet/00007.png new file mode 100644 index 00000000..59aa6484 Binary files /dev/null and b/tests/snapshots/stax/test_transaction_manifest/FA.01-Testnet/00007.png differ diff --git a/tests/snapshots/stax/test_transaction_manifest/FA.01-Testnet/00008.png b/tests/snapshots/stax/test_transaction_manifest/FA.01-Testnet/00008.png new file mode 100644 index 00000000..cd2f5275 Binary files /dev/null and b/tests/snapshots/stax/test_transaction_manifest/FA.01-Testnet/00008.png differ diff --git a/tests/snapshots/stax/test_transaction_params/part11/00008.png b/tests/snapshots/stax/test_transaction_manifest/FA.01-Testnet/00009.png similarity index 100% rename from tests/snapshots/stax/test_transaction_params/part11/00008.png rename to tests/snapshots/stax/test_transaction_manifest/FA.01-Testnet/00009.png diff --git a/tests/snapshots/stax/test_transaction_manifest/FA.02-Mainnet/00000.png b/tests/snapshots/stax/test_transaction_manifest/FA.02-Mainnet/00000.png new file mode 100644 index 00000000..8e091e97 Binary files /dev/null and b/tests/snapshots/stax/test_transaction_manifest/FA.02-Mainnet/00000.png differ diff --git a/tests/snapshots/stax/test_transaction_manifest/FA.02-Mainnet/00001.png b/tests/snapshots/stax/test_transaction_manifest/FA.02-Mainnet/00001.png new file mode 100644 index 00000000..4b846bac Binary files /dev/null and b/tests/snapshots/stax/test_transaction_manifest/FA.02-Mainnet/00001.png differ diff --git a/tests/snapshots/stax/test_transaction_manifest/FA.02-Mainnet/00002.png b/tests/snapshots/stax/test_transaction_manifest/FA.02-Mainnet/00002.png new file mode 100644 index 00000000..c44eed83 Binary files /dev/null and b/tests/snapshots/stax/test_transaction_manifest/FA.02-Mainnet/00002.png differ diff --git a/tests/snapshots/stax/test_transaction_manifest/FA.02-Mainnet/00003.png b/tests/snapshots/stax/test_transaction_manifest/FA.02-Mainnet/00003.png new file mode 100644 index 00000000..0202c9f2 Binary files /dev/null and b/tests/snapshots/stax/test_transaction_manifest/FA.02-Mainnet/00003.png differ diff --git a/tests/snapshots/stax/test_transaction_manifest/FA.02-Mainnet/00004.png b/tests/snapshots/stax/test_transaction_manifest/FA.02-Mainnet/00004.png new file mode 100644 index 00000000..5c8ec2c1 Binary files /dev/null and b/tests/snapshots/stax/test_transaction_manifest/FA.02-Mainnet/00004.png differ diff --git a/tests/snapshots/stax/test_transaction_manifest/FA.02-Mainnet/00005.png b/tests/snapshots/stax/test_transaction_manifest/FA.02-Mainnet/00005.png new file mode 100644 index 00000000..30d3b010 Binary files /dev/null and b/tests/snapshots/stax/test_transaction_manifest/FA.02-Mainnet/00005.png differ diff --git a/tests/snapshots/stax/test_transaction_manifest/FA.02-Mainnet/00006.png b/tests/snapshots/stax/test_transaction_manifest/FA.02-Mainnet/00006.png new file mode 100644 index 00000000..5ff4c5f3 Binary files /dev/null and b/tests/snapshots/stax/test_transaction_manifest/FA.02-Mainnet/00006.png differ diff --git a/tests/snapshots/stax/test_transaction_manifest/FA.02-Mainnet/00007.png b/tests/snapshots/stax/test_transaction_manifest/FA.02-Mainnet/00007.png new file mode 100644 index 00000000..59aa6484 Binary files /dev/null and b/tests/snapshots/stax/test_transaction_manifest/FA.02-Mainnet/00007.png differ diff --git a/tests/snapshots/stax/test_transaction_manifest/FA.02-Mainnet/00008.png b/tests/snapshots/stax/test_transaction_manifest/FA.02-Mainnet/00008.png new file mode 100644 index 00000000..cd2f5275 Binary files /dev/null and b/tests/snapshots/stax/test_transaction_manifest/FA.02-Mainnet/00008.png differ diff --git a/tests/snapshots/stax/test_transaction_params/part12/00008.png b/tests/snapshots/stax/test_transaction_manifest/FA.02-Mainnet/00009.png similarity index 100% rename from tests/snapshots/stax/test_transaction_params/part12/00008.png rename to tests/snapshots/stax/test_transaction_manifest/FA.02-Mainnet/00009.png diff --git a/tests/snapshots/stax/test_transaction_manifest/FA.02-Testnet/00000.png b/tests/snapshots/stax/test_transaction_manifest/FA.02-Testnet/00000.png new file mode 100644 index 00000000..8e091e97 Binary files /dev/null and b/tests/snapshots/stax/test_transaction_manifest/FA.02-Testnet/00000.png differ diff --git a/tests/snapshots/stax/test_transaction_manifest/FA.02-Testnet/00001.png b/tests/snapshots/stax/test_transaction_manifest/FA.02-Testnet/00001.png new file mode 100644 index 00000000..dcb5d2bb Binary files /dev/null and b/tests/snapshots/stax/test_transaction_manifest/FA.02-Testnet/00001.png differ diff --git a/tests/snapshots/stax/test_transaction_manifest/FA.02-Testnet/00002.png b/tests/snapshots/stax/test_transaction_manifest/FA.02-Testnet/00002.png new file mode 100644 index 00000000..c44eed83 Binary files /dev/null and b/tests/snapshots/stax/test_transaction_manifest/FA.02-Testnet/00002.png differ diff --git a/tests/snapshots/stax/test_transaction_manifest/FA.02-Testnet/00003.png b/tests/snapshots/stax/test_transaction_manifest/FA.02-Testnet/00003.png new file mode 100644 index 00000000..0202c9f2 Binary files /dev/null and b/tests/snapshots/stax/test_transaction_manifest/FA.02-Testnet/00003.png differ diff --git a/tests/snapshots/stax/test_transaction_manifest/FA.02-Testnet/00004.png b/tests/snapshots/stax/test_transaction_manifest/FA.02-Testnet/00004.png new file mode 100644 index 00000000..5b7bd16a Binary files /dev/null and b/tests/snapshots/stax/test_transaction_manifest/FA.02-Testnet/00004.png differ diff --git a/tests/snapshots/stax/test_transaction_manifest/FA.02-Testnet/00005.png b/tests/snapshots/stax/test_transaction_manifest/FA.02-Testnet/00005.png new file mode 100644 index 00000000..79234cfc Binary files /dev/null and b/tests/snapshots/stax/test_transaction_manifest/FA.02-Testnet/00005.png differ diff --git a/tests/snapshots/stax/test_transaction_manifest/FA.02-Testnet/00006.png b/tests/snapshots/stax/test_transaction_manifest/FA.02-Testnet/00006.png new file mode 100644 index 00000000..5ff4c5f3 Binary files /dev/null and b/tests/snapshots/stax/test_transaction_manifest/FA.02-Testnet/00006.png differ diff --git a/tests/snapshots/stax/test_transaction_manifest/FA.02-Testnet/00007.png b/tests/snapshots/stax/test_transaction_manifest/FA.02-Testnet/00007.png new file mode 100644 index 00000000..59aa6484 Binary files /dev/null and b/tests/snapshots/stax/test_transaction_manifest/FA.02-Testnet/00007.png differ diff --git a/tests/snapshots/stax/test_transaction_manifest/FA.02-Testnet/00008.png b/tests/snapshots/stax/test_transaction_manifest/FA.02-Testnet/00008.png new file mode 100644 index 00000000..cd2f5275 Binary files /dev/null and b/tests/snapshots/stax/test_transaction_manifest/FA.02-Testnet/00008.png differ diff --git a/tests/snapshots/stax/test_transaction_params/part9/00008.png b/tests/snapshots/stax/test_transaction_manifest/FA.02-Testnet/00009.png similarity index 100% rename from tests/snapshots/stax/test_transaction_params/part9/00008.png rename to tests/snapshots/stax/test_transaction_manifest/FA.02-Testnet/00009.png diff --git a/tests/snapshots/stax/test_transaction_manifest/FA.03-Mainnet/00000.png b/tests/snapshots/stax/test_transaction_manifest/FA.03-Mainnet/00000.png new file mode 100644 index 00000000..8e091e97 Binary files /dev/null and b/tests/snapshots/stax/test_transaction_manifest/FA.03-Mainnet/00000.png differ diff --git a/tests/snapshots/stax/test_transaction_manifest/FA.03-Mainnet/00001.png b/tests/snapshots/stax/test_transaction_manifest/FA.03-Mainnet/00001.png new file mode 100644 index 00000000..9128c56e Binary files /dev/null and b/tests/snapshots/stax/test_transaction_manifest/FA.03-Mainnet/00001.png differ diff --git a/tests/snapshots/stax/test_transaction_manifest/FA.03-Mainnet/00002.png b/tests/snapshots/stax/test_transaction_manifest/FA.03-Mainnet/00002.png new file mode 100644 index 00000000..13dbf109 Binary files /dev/null and b/tests/snapshots/stax/test_transaction_manifest/FA.03-Mainnet/00002.png differ diff --git a/tests/snapshots/stax/test_transaction_manifest/FA.03-Mainnet/00003.png b/tests/snapshots/stax/test_transaction_manifest/FA.03-Mainnet/00003.png new file mode 100644 index 00000000..234968d1 Binary files /dev/null and b/tests/snapshots/stax/test_transaction_manifest/FA.03-Mainnet/00003.png differ diff --git a/tests/snapshots/stax/test_transaction_manifest/FA.03-Mainnet/00004.png b/tests/snapshots/stax/test_transaction_manifest/FA.03-Mainnet/00004.png new file mode 100644 index 00000000..670766fe Binary files /dev/null and b/tests/snapshots/stax/test_transaction_manifest/FA.03-Mainnet/00004.png differ diff --git a/tests/snapshots/stax/test_transaction_manifest/FA.03-Mainnet/00005.png b/tests/snapshots/stax/test_transaction_manifest/FA.03-Mainnet/00005.png new file mode 100644 index 00000000..c3138c77 Binary files /dev/null and b/tests/snapshots/stax/test_transaction_manifest/FA.03-Mainnet/00005.png differ diff --git a/tests/snapshots/stax/test_transaction_manifest/FA.03-Mainnet/00006.png b/tests/snapshots/stax/test_transaction_manifest/FA.03-Mainnet/00006.png new file mode 100644 index 00000000..cd2f5275 Binary files /dev/null and b/tests/snapshots/stax/test_transaction_manifest/FA.03-Mainnet/00006.png differ diff --git a/tests/snapshots/stax/test_transaction_manifest/FA.03-Mainnet/00007.png b/tests/snapshots/stax/test_transaction_manifest/FA.03-Mainnet/00007.png new file mode 100644 index 00000000..1dac7479 Binary files /dev/null and b/tests/snapshots/stax/test_transaction_manifest/FA.03-Mainnet/00007.png differ diff --git a/tests/snapshots/stax/test_transaction_manifest/FA.03-Testnet/00000.png b/tests/snapshots/stax/test_transaction_manifest/FA.03-Testnet/00000.png new file mode 100644 index 00000000..8e091e97 Binary files /dev/null and b/tests/snapshots/stax/test_transaction_manifest/FA.03-Testnet/00000.png differ diff --git a/tests/snapshots/stax/test_transaction_manifest/FA.03-Testnet/00001.png b/tests/snapshots/stax/test_transaction_manifest/FA.03-Testnet/00001.png new file mode 100644 index 00000000..c4804dec Binary files /dev/null and b/tests/snapshots/stax/test_transaction_manifest/FA.03-Testnet/00001.png differ diff --git a/tests/snapshots/stax/test_transaction_manifest/FA.03-Testnet/00002.png b/tests/snapshots/stax/test_transaction_manifest/FA.03-Testnet/00002.png new file mode 100644 index 00000000..4ce177d6 Binary files /dev/null and b/tests/snapshots/stax/test_transaction_manifest/FA.03-Testnet/00002.png differ diff --git a/tests/snapshots/stax/test_transaction_manifest/FA.03-Testnet/00003.png b/tests/snapshots/stax/test_transaction_manifest/FA.03-Testnet/00003.png new file mode 100644 index 00000000..58e74f9e Binary files /dev/null and b/tests/snapshots/stax/test_transaction_manifest/FA.03-Testnet/00003.png differ diff --git a/tests/snapshots/stax/test_transaction_manifest/FA.03-Testnet/00004.png b/tests/snapshots/stax/test_transaction_manifest/FA.03-Testnet/00004.png new file mode 100644 index 00000000..670766fe Binary files /dev/null and b/tests/snapshots/stax/test_transaction_manifest/FA.03-Testnet/00004.png differ diff --git a/tests/snapshots/stax/test_transaction_manifest/FA.03-Testnet/00005.png b/tests/snapshots/stax/test_transaction_manifest/FA.03-Testnet/00005.png new file mode 100644 index 00000000..c3138c77 Binary files /dev/null and b/tests/snapshots/stax/test_transaction_manifest/FA.03-Testnet/00005.png differ diff --git a/tests/snapshots/stax/test_transaction_manifest/FA.03-Testnet/00006.png b/tests/snapshots/stax/test_transaction_manifest/FA.03-Testnet/00006.png new file mode 100644 index 00000000..cd2f5275 Binary files /dev/null and b/tests/snapshots/stax/test_transaction_manifest/FA.03-Testnet/00006.png differ diff --git a/tests/snapshots/stax/test_transaction_manifest/FA.03-Testnet/00007.png b/tests/snapshots/stax/test_transaction_manifest/FA.03-Testnet/00007.png new file mode 100644 index 00000000..1dac7479 Binary files /dev/null and b/tests/snapshots/stax/test_transaction_manifest/FA.03-Testnet/00007.png differ diff --git a/tests/snapshots/stax/test_transaction_manifest/FT.01-Mainnet/00000.png b/tests/snapshots/stax/test_transaction_manifest/FT.01-Mainnet/00000.png new file mode 100644 index 00000000..8e091e97 Binary files /dev/null and b/tests/snapshots/stax/test_transaction_manifest/FT.01-Mainnet/00000.png differ diff --git a/tests/snapshots/stax/test_transaction_manifest/FT.01-Mainnet/00001.png b/tests/snapshots/stax/test_transaction_manifest/FT.01-Mainnet/00001.png new file mode 100644 index 00000000..e045a5bb Binary files /dev/null and b/tests/snapshots/stax/test_transaction_manifest/FT.01-Mainnet/00001.png differ diff --git a/tests/snapshots/stax/test_transaction_manifest/FT.01-Mainnet/00002.png b/tests/snapshots/stax/test_transaction_manifest/FT.01-Mainnet/00002.png new file mode 100644 index 00000000..13dbf109 Binary files /dev/null and b/tests/snapshots/stax/test_transaction_manifest/FT.01-Mainnet/00002.png differ diff --git a/tests/snapshots/stax/test_transaction_manifest/FT.01-Mainnet/00003.png b/tests/snapshots/stax/test_transaction_manifest/FT.01-Mainnet/00003.png new file mode 100644 index 00000000..234968d1 Binary files /dev/null and b/tests/snapshots/stax/test_transaction_manifest/FT.01-Mainnet/00003.png differ diff --git a/tests/snapshots/stax/test_transaction_manifest/FT.01-Mainnet/00004.png b/tests/snapshots/stax/test_transaction_manifest/FT.01-Mainnet/00004.png new file mode 100644 index 00000000..670766fe Binary files /dev/null and b/tests/snapshots/stax/test_transaction_manifest/FT.01-Mainnet/00004.png differ diff --git a/tests/snapshots/stax/test_transaction_manifest/FT.01-Mainnet/00005.png b/tests/snapshots/stax/test_transaction_manifest/FT.01-Mainnet/00005.png new file mode 100644 index 00000000..c3138c77 Binary files /dev/null and b/tests/snapshots/stax/test_transaction_manifest/FT.01-Mainnet/00005.png differ diff --git a/tests/snapshots/stax/test_transaction_manifest/FT.01-Mainnet/00006.png b/tests/snapshots/stax/test_transaction_manifest/FT.01-Mainnet/00006.png new file mode 100644 index 00000000..cd2f5275 Binary files /dev/null and b/tests/snapshots/stax/test_transaction_manifest/FT.01-Mainnet/00006.png differ diff --git a/tests/snapshots/stax/test_transaction_manifest/FT.01-Mainnet/00007.png b/tests/snapshots/stax/test_transaction_manifest/FT.01-Mainnet/00007.png new file mode 100644 index 00000000..1dac7479 Binary files /dev/null and b/tests/snapshots/stax/test_transaction_manifest/FT.01-Mainnet/00007.png differ diff --git a/tests/snapshots/stax/test_transaction_manifest/FT.01-Testnet/00000.png b/tests/snapshots/stax/test_transaction_manifest/FT.01-Testnet/00000.png new file mode 100644 index 00000000..8e091e97 Binary files /dev/null and b/tests/snapshots/stax/test_transaction_manifest/FT.01-Testnet/00000.png differ diff --git a/tests/snapshots/stax/test_transaction_manifest/FT.01-Testnet/00001.png b/tests/snapshots/stax/test_transaction_manifest/FT.01-Testnet/00001.png new file mode 100644 index 00000000..314f88bb Binary files /dev/null and b/tests/snapshots/stax/test_transaction_manifest/FT.01-Testnet/00001.png differ diff --git a/tests/snapshots/stax/test_transaction_manifest/FT.01-Testnet/00002.png b/tests/snapshots/stax/test_transaction_manifest/FT.01-Testnet/00002.png new file mode 100644 index 00000000..a21f44a1 Binary files /dev/null and b/tests/snapshots/stax/test_transaction_manifest/FT.01-Testnet/00002.png differ diff --git a/tests/snapshots/stax/test_transaction_manifest/FT.01-Testnet/00003.png b/tests/snapshots/stax/test_transaction_manifest/FT.01-Testnet/00003.png new file mode 100644 index 00000000..824299f9 Binary files /dev/null and b/tests/snapshots/stax/test_transaction_manifest/FT.01-Testnet/00003.png differ diff --git a/tests/snapshots/stax/test_transaction_manifest/FT.01-Testnet/00004.png b/tests/snapshots/stax/test_transaction_manifest/FT.01-Testnet/00004.png new file mode 100644 index 00000000..ef745bbb Binary files /dev/null and b/tests/snapshots/stax/test_transaction_manifest/FT.01-Testnet/00004.png differ diff --git a/tests/snapshots/stax/test_transaction_manifest/FT.01-Testnet/00005.png b/tests/snapshots/stax/test_transaction_manifest/FT.01-Testnet/00005.png new file mode 100644 index 00000000..c3138c77 Binary files /dev/null and b/tests/snapshots/stax/test_transaction_manifest/FT.01-Testnet/00005.png differ diff --git a/tests/snapshots/stax/test_transaction_manifest/FT.01-Testnet/00006.png b/tests/snapshots/stax/test_transaction_manifest/FT.01-Testnet/00006.png new file mode 100644 index 00000000..cd2f5275 Binary files /dev/null and b/tests/snapshots/stax/test_transaction_manifest/FT.01-Testnet/00006.png differ diff --git a/tests/snapshots/stax/test_transaction_manifest/FT.01-Testnet/00007.png b/tests/snapshots/stax/test_transaction_manifest/FT.01-Testnet/00007.png new file mode 100644 index 00000000..1dac7479 Binary files /dev/null and b/tests/snapshots/stax/test_transaction_manifest/FT.01-Testnet/00007.png differ diff --git a/tests/snapshots/stax/test_transaction_manifest/FT.02-Mainnet/00000.png b/tests/snapshots/stax/test_transaction_manifest/FT.02-Mainnet/00000.png new file mode 100644 index 00000000..8e091e97 Binary files /dev/null and b/tests/snapshots/stax/test_transaction_manifest/FT.02-Mainnet/00000.png differ diff --git a/tests/snapshots/stax/test_transaction_manifest/FT.02-Mainnet/00001.png b/tests/snapshots/stax/test_transaction_manifest/FT.02-Mainnet/00001.png new file mode 100644 index 00000000..19990f9d Binary files /dev/null and b/tests/snapshots/stax/test_transaction_manifest/FT.02-Mainnet/00001.png differ diff --git a/tests/snapshots/stax/test_transaction_manifest/FT.02-Mainnet/00002.png b/tests/snapshots/stax/test_transaction_manifest/FT.02-Mainnet/00002.png new file mode 100644 index 00000000..35be6b15 Binary files /dev/null and b/tests/snapshots/stax/test_transaction_manifest/FT.02-Mainnet/00002.png differ diff --git a/tests/snapshots/stax/test_transaction_manifest/FT.02-Mainnet/00003.png b/tests/snapshots/stax/test_transaction_manifest/FT.02-Mainnet/00003.png new file mode 100644 index 00000000..8e37137d Binary files /dev/null and b/tests/snapshots/stax/test_transaction_manifest/FT.02-Mainnet/00003.png differ diff --git a/tests/snapshots/stax/test_transaction_manifest/FT.02-Mainnet/00004.png b/tests/snapshots/stax/test_transaction_manifest/FT.02-Mainnet/00004.png new file mode 100644 index 00000000..2c4cb156 Binary files /dev/null and b/tests/snapshots/stax/test_transaction_manifest/FT.02-Mainnet/00004.png differ diff --git a/tests/snapshots/stax/test_transaction_manifest/FT.02-Mainnet/00005.png b/tests/snapshots/stax/test_transaction_manifest/FT.02-Mainnet/00005.png new file mode 100644 index 00000000..0646bd44 Binary files /dev/null and b/tests/snapshots/stax/test_transaction_manifest/FT.02-Mainnet/00005.png differ diff --git a/tests/snapshots/stax/test_transaction_manifest/FT.02-Mainnet/00006.png b/tests/snapshots/stax/test_transaction_manifest/FT.02-Mainnet/00006.png new file mode 100644 index 00000000..d8282095 Binary files /dev/null and b/tests/snapshots/stax/test_transaction_manifest/FT.02-Mainnet/00006.png differ diff --git a/tests/snapshots/stax/test_transaction_manifest/FT.02-Mainnet/00007.png b/tests/snapshots/stax/test_transaction_manifest/FT.02-Mainnet/00007.png new file mode 100644 index 00000000..cd2f5275 Binary files /dev/null and b/tests/snapshots/stax/test_transaction_manifest/FT.02-Mainnet/00007.png differ diff --git a/tests/snapshots/stax/test_transaction_manifest/FT.02-Mainnet/00008.png b/tests/snapshots/stax/test_transaction_manifest/FT.02-Mainnet/00008.png new file mode 100644 index 00000000..1dac7479 Binary files /dev/null and b/tests/snapshots/stax/test_transaction_manifest/FT.02-Mainnet/00008.png differ diff --git a/tests/snapshots/stax/test_transaction_manifest/FT.02-Testnet/00000.png b/tests/snapshots/stax/test_transaction_manifest/FT.02-Testnet/00000.png new file mode 100644 index 00000000..8e091e97 Binary files /dev/null and b/tests/snapshots/stax/test_transaction_manifest/FT.02-Testnet/00000.png differ diff --git a/tests/snapshots/stax/test_transaction_manifest/FT.02-Testnet/00001.png b/tests/snapshots/stax/test_transaction_manifest/FT.02-Testnet/00001.png new file mode 100644 index 00000000..f80c54a1 Binary files /dev/null and b/tests/snapshots/stax/test_transaction_manifest/FT.02-Testnet/00001.png differ diff --git a/tests/snapshots/stax/test_transaction_manifest/FT.02-Testnet/00002.png b/tests/snapshots/stax/test_transaction_manifest/FT.02-Testnet/00002.png new file mode 100644 index 00000000..bb97a09a Binary files /dev/null and b/tests/snapshots/stax/test_transaction_manifest/FT.02-Testnet/00002.png differ diff --git a/tests/snapshots/stax/test_transaction_manifest/FT.02-Testnet/00003.png b/tests/snapshots/stax/test_transaction_manifest/FT.02-Testnet/00003.png new file mode 100644 index 00000000..9aa61ba4 Binary files /dev/null and b/tests/snapshots/stax/test_transaction_manifest/FT.02-Testnet/00003.png differ diff --git a/tests/snapshots/stax/test_transaction_manifest/FT.02-Testnet/00004.png b/tests/snapshots/stax/test_transaction_manifest/FT.02-Testnet/00004.png new file mode 100644 index 00000000..2743c3c3 Binary files /dev/null and b/tests/snapshots/stax/test_transaction_manifest/FT.02-Testnet/00004.png differ diff --git a/tests/snapshots/stax/test_transaction_manifest/FT.02-Testnet/00005.png b/tests/snapshots/stax/test_transaction_manifest/FT.02-Testnet/00005.png new file mode 100644 index 00000000..0646bd44 Binary files /dev/null and b/tests/snapshots/stax/test_transaction_manifest/FT.02-Testnet/00005.png differ diff --git a/tests/snapshots/stax/test_transaction_manifest/FT.02-Testnet/00006.png b/tests/snapshots/stax/test_transaction_manifest/FT.02-Testnet/00006.png new file mode 100644 index 00000000..d8282095 Binary files /dev/null and b/tests/snapshots/stax/test_transaction_manifest/FT.02-Testnet/00006.png differ diff --git a/tests/snapshots/stax/test_transaction_manifest/FT.02-Testnet/00007.png b/tests/snapshots/stax/test_transaction_manifest/FT.02-Testnet/00007.png new file mode 100644 index 00000000..cd2f5275 Binary files /dev/null and b/tests/snapshots/stax/test_transaction_manifest/FT.02-Testnet/00007.png differ diff --git a/tests/snapshots/stax/test_transaction_manifest/FT.02-Testnet/00008.png b/tests/snapshots/stax/test_transaction_manifest/FT.02-Testnet/00008.png new file mode 100644 index 00000000..1dac7479 Binary files /dev/null and b/tests/snapshots/stax/test_transaction_manifest/FT.02-Testnet/00008.png differ diff --git a/tests/snapshots/stax/test_transaction_manifest/FT.03-Mainnet/00000.png b/tests/snapshots/stax/test_transaction_manifest/FT.03-Mainnet/00000.png new file mode 100644 index 00000000..8e091e97 Binary files /dev/null and b/tests/snapshots/stax/test_transaction_manifest/FT.03-Mainnet/00000.png differ diff --git a/tests/snapshots/stax/test_transaction_manifest/FT.03-Mainnet/00001.png b/tests/snapshots/stax/test_transaction_manifest/FT.03-Mainnet/00001.png new file mode 100644 index 00000000..ad0af474 Binary files /dev/null and b/tests/snapshots/stax/test_transaction_manifest/FT.03-Mainnet/00001.png differ diff --git a/tests/snapshots/stax/test_transaction_manifest/FT.03-Mainnet/00002.png b/tests/snapshots/stax/test_transaction_manifest/FT.03-Mainnet/00002.png new file mode 100644 index 00000000..7cd06114 Binary files /dev/null and b/tests/snapshots/stax/test_transaction_manifest/FT.03-Mainnet/00002.png differ diff --git a/tests/snapshots/stax/test_transaction_manifest/FT.03-Mainnet/00003.png b/tests/snapshots/stax/test_transaction_manifest/FT.03-Mainnet/00003.png new file mode 100644 index 00000000..8e37137d Binary files /dev/null and b/tests/snapshots/stax/test_transaction_manifest/FT.03-Mainnet/00003.png differ diff --git a/tests/snapshots/stax/test_transaction_manifest/FT.03-Mainnet/00004.png b/tests/snapshots/stax/test_transaction_manifest/FT.03-Mainnet/00004.png new file mode 100644 index 00000000..2c4cb156 Binary files /dev/null and b/tests/snapshots/stax/test_transaction_manifest/FT.03-Mainnet/00004.png differ diff --git a/tests/snapshots/stax/test_transaction_manifest/FT.03-Mainnet/00005.png b/tests/snapshots/stax/test_transaction_manifest/FT.03-Mainnet/00005.png new file mode 100644 index 00000000..0646bd44 Binary files /dev/null and b/tests/snapshots/stax/test_transaction_manifest/FT.03-Mainnet/00005.png differ diff --git a/tests/snapshots/stax/test_transaction_manifest/FT.03-Mainnet/00006.png b/tests/snapshots/stax/test_transaction_manifest/FT.03-Mainnet/00006.png new file mode 100644 index 00000000..d8282095 Binary files /dev/null and b/tests/snapshots/stax/test_transaction_manifest/FT.03-Mainnet/00006.png differ diff --git a/tests/snapshots/stax/test_transaction_manifest/FT.03-Mainnet/00007.png b/tests/snapshots/stax/test_transaction_manifest/FT.03-Mainnet/00007.png new file mode 100644 index 00000000..cd2f5275 Binary files /dev/null and b/tests/snapshots/stax/test_transaction_manifest/FT.03-Mainnet/00007.png differ diff --git a/tests/snapshots/stax/test_transaction_manifest/FT.03-Mainnet/00008.png b/tests/snapshots/stax/test_transaction_manifest/FT.03-Mainnet/00008.png new file mode 100644 index 00000000..1dac7479 Binary files /dev/null and b/tests/snapshots/stax/test_transaction_manifest/FT.03-Mainnet/00008.png differ diff --git a/tests/snapshots/stax/test_transaction_manifest/FT.03-Testnet/00000.png b/tests/snapshots/stax/test_transaction_manifest/FT.03-Testnet/00000.png new file mode 100644 index 00000000..8e091e97 Binary files /dev/null and b/tests/snapshots/stax/test_transaction_manifest/FT.03-Testnet/00000.png differ diff --git a/tests/snapshots/stax/test_transaction_manifest/FT.03-Testnet/00001.png b/tests/snapshots/stax/test_transaction_manifest/FT.03-Testnet/00001.png new file mode 100644 index 00000000..27b8871b Binary files /dev/null and b/tests/snapshots/stax/test_transaction_manifest/FT.03-Testnet/00001.png differ diff --git a/tests/snapshots/stax/test_transaction_manifest/FT.03-Testnet/00002.png b/tests/snapshots/stax/test_transaction_manifest/FT.03-Testnet/00002.png new file mode 100644 index 00000000..c5c009b3 Binary files /dev/null and b/tests/snapshots/stax/test_transaction_manifest/FT.03-Testnet/00002.png differ diff --git a/tests/snapshots/stax/test_transaction_manifest/FT.03-Testnet/00003.png b/tests/snapshots/stax/test_transaction_manifest/FT.03-Testnet/00003.png new file mode 100644 index 00000000..9aa61ba4 Binary files /dev/null and b/tests/snapshots/stax/test_transaction_manifest/FT.03-Testnet/00003.png differ diff --git a/tests/snapshots/stax/test_transaction_manifest/FT.03-Testnet/00004.png b/tests/snapshots/stax/test_transaction_manifest/FT.03-Testnet/00004.png new file mode 100644 index 00000000..2743c3c3 Binary files /dev/null and b/tests/snapshots/stax/test_transaction_manifest/FT.03-Testnet/00004.png differ diff --git a/tests/snapshots/stax/test_transaction_manifest/FT.03-Testnet/00005.png b/tests/snapshots/stax/test_transaction_manifest/FT.03-Testnet/00005.png new file mode 100644 index 00000000..0646bd44 Binary files /dev/null and b/tests/snapshots/stax/test_transaction_manifest/FT.03-Testnet/00005.png differ diff --git a/tests/snapshots/stax/test_transaction_manifest/FT.03-Testnet/00006.png b/tests/snapshots/stax/test_transaction_manifest/FT.03-Testnet/00006.png new file mode 100644 index 00000000..d8282095 Binary files /dev/null and b/tests/snapshots/stax/test_transaction_manifest/FT.03-Testnet/00006.png differ diff --git a/tests/snapshots/stax/test_transaction_manifest/FT.03-Testnet/00007.png b/tests/snapshots/stax/test_transaction_manifest/FT.03-Testnet/00007.png new file mode 100644 index 00000000..cd2f5275 Binary files /dev/null and b/tests/snapshots/stax/test_transaction_manifest/FT.03-Testnet/00007.png differ diff --git a/tests/snapshots/stax/test_transaction_manifest/FT.03-Testnet/00008.png b/tests/snapshots/stax/test_transaction_manifest/FT.03-Testnet/00008.png new file mode 100644 index 00000000..1dac7479 Binary files /dev/null and b/tests/snapshots/stax/test_transaction_manifest/FT.03-Testnet/00008.png differ diff --git a/tests/snapshots/stax/test_transaction_manifest/NFT.01-Mainnet/00000.png b/tests/snapshots/stax/test_transaction_manifest/NFT.01-Mainnet/00000.png new file mode 100644 index 00000000..8e091e97 Binary files /dev/null and b/tests/snapshots/stax/test_transaction_manifest/NFT.01-Mainnet/00000.png differ diff --git a/tests/snapshots/stax/test_transaction_manifest/NFT.01-Mainnet/00001.png b/tests/snapshots/stax/test_transaction_manifest/NFT.01-Mainnet/00001.png new file mode 100644 index 00000000..ac439c69 Binary files /dev/null and b/tests/snapshots/stax/test_transaction_manifest/NFT.01-Mainnet/00001.png differ diff --git a/tests/snapshots/stax/test_transaction_manifest/NFT.01-Mainnet/00002.png b/tests/snapshots/stax/test_transaction_manifest/NFT.01-Mainnet/00002.png new file mode 100644 index 00000000..13dbf109 Binary files /dev/null and b/tests/snapshots/stax/test_transaction_manifest/NFT.01-Mainnet/00002.png differ diff --git a/tests/snapshots/stax/test_transaction_manifest/NFT.01-Mainnet/00003.png b/tests/snapshots/stax/test_transaction_manifest/NFT.01-Mainnet/00003.png new file mode 100644 index 00000000..234968d1 Binary files /dev/null and b/tests/snapshots/stax/test_transaction_manifest/NFT.01-Mainnet/00003.png differ diff --git a/tests/snapshots/stax/test_transaction_manifest/NFT.01-Mainnet/00004.png b/tests/snapshots/stax/test_transaction_manifest/NFT.01-Mainnet/00004.png new file mode 100644 index 00000000..670766fe Binary files /dev/null and b/tests/snapshots/stax/test_transaction_manifest/NFT.01-Mainnet/00004.png differ diff --git a/tests/snapshots/stax/test_transaction_manifest/NFT.01-Mainnet/00005.png b/tests/snapshots/stax/test_transaction_manifest/NFT.01-Mainnet/00005.png new file mode 100644 index 00000000..c3138c77 Binary files /dev/null and b/tests/snapshots/stax/test_transaction_manifest/NFT.01-Mainnet/00005.png differ diff --git a/tests/snapshots/stax/test_transaction_manifest/NFT.01-Mainnet/00006.png b/tests/snapshots/stax/test_transaction_manifest/NFT.01-Mainnet/00006.png new file mode 100644 index 00000000..cd2f5275 Binary files /dev/null and b/tests/snapshots/stax/test_transaction_manifest/NFT.01-Mainnet/00006.png differ diff --git a/tests/snapshots/stax/test_transaction_manifest/NFT.01-Mainnet/00007.png b/tests/snapshots/stax/test_transaction_manifest/NFT.01-Mainnet/00007.png new file mode 100644 index 00000000..1dac7479 Binary files /dev/null and b/tests/snapshots/stax/test_transaction_manifest/NFT.01-Mainnet/00007.png differ diff --git a/tests/snapshots/stax/test_transaction_manifest/NFT.01-Testnet/00000.png b/tests/snapshots/stax/test_transaction_manifest/NFT.01-Testnet/00000.png new file mode 100644 index 00000000..8e091e97 Binary files /dev/null and b/tests/snapshots/stax/test_transaction_manifest/NFT.01-Testnet/00000.png differ diff --git a/tests/snapshots/stax/test_transaction_manifest/NFT.01-Testnet/00001.png b/tests/snapshots/stax/test_transaction_manifest/NFT.01-Testnet/00001.png new file mode 100644 index 00000000..22f4ca47 Binary files /dev/null and b/tests/snapshots/stax/test_transaction_manifest/NFT.01-Testnet/00001.png differ diff --git a/tests/snapshots/stax/test_transaction_manifest/NFT.01-Testnet/00002.png b/tests/snapshots/stax/test_transaction_manifest/NFT.01-Testnet/00002.png new file mode 100644 index 00000000..4ce177d6 Binary files /dev/null and b/tests/snapshots/stax/test_transaction_manifest/NFT.01-Testnet/00002.png differ diff --git a/tests/snapshots/stax/test_transaction_manifest/NFT.01-Testnet/00003.png b/tests/snapshots/stax/test_transaction_manifest/NFT.01-Testnet/00003.png new file mode 100644 index 00000000..58e74f9e Binary files /dev/null and b/tests/snapshots/stax/test_transaction_manifest/NFT.01-Testnet/00003.png differ diff --git a/tests/snapshots/stax/test_transaction_manifest/NFT.01-Testnet/00004.png b/tests/snapshots/stax/test_transaction_manifest/NFT.01-Testnet/00004.png new file mode 100644 index 00000000..670766fe Binary files /dev/null and b/tests/snapshots/stax/test_transaction_manifest/NFT.01-Testnet/00004.png differ diff --git a/tests/snapshots/stax/test_transaction_manifest/NFT.01-Testnet/00005.png b/tests/snapshots/stax/test_transaction_manifest/NFT.01-Testnet/00005.png new file mode 100644 index 00000000..c3138c77 Binary files /dev/null and b/tests/snapshots/stax/test_transaction_manifest/NFT.01-Testnet/00005.png differ diff --git a/tests/snapshots/stax/test_transaction_manifest/NFT.01-Testnet/00006.png b/tests/snapshots/stax/test_transaction_manifest/NFT.01-Testnet/00006.png new file mode 100644 index 00000000..cd2f5275 Binary files /dev/null and b/tests/snapshots/stax/test_transaction_manifest/NFT.01-Testnet/00006.png differ diff --git a/tests/snapshots/stax/test_transaction_manifest/NFT.01-Testnet/00007.png b/tests/snapshots/stax/test_transaction_manifest/NFT.01-Testnet/00007.png new file mode 100644 index 00000000..1dac7479 Binary files /dev/null and b/tests/snapshots/stax/test_transaction_manifest/NFT.01-Testnet/00007.png differ diff --git a/tests/snapshots/stax/test_transaction_manifest/NFT.02-Mainnet/00000.png b/tests/snapshots/stax/test_transaction_manifest/NFT.02-Mainnet/00000.png new file mode 100644 index 00000000..8e091e97 Binary files /dev/null and b/tests/snapshots/stax/test_transaction_manifest/NFT.02-Mainnet/00000.png differ diff --git a/tests/snapshots/stax/test_transaction_manifest/NFT.02-Mainnet/00001.png b/tests/snapshots/stax/test_transaction_manifest/NFT.02-Mainnet/00001.png new file mode 100644 index 00000000..3a6375e4 Binary files /dev/null and b/tests/snapshots/stax/test_transaction_manifest/NFT.02-Mainnet/00001.png differ diff --git a/tests/snapshots/stax/test_transaction_manifest/NFT.02-Mainnet/00002.png b/tests/snapshots/stax/test_transaction_manifest/NFT.02-Mainnet/00002.png new file mode 100644 index 00000000..611b5ce5 Binary files /dev/null and b/tests/snapshots/stax/test_transaction_manifest/NFT.02-Mainnet/00002.png differ diff --git a/tests/snapshots/stax/test_transaction_manifest/NFT.02-Mainnet/00003.png b/tests/snapshots/stax/test_transaction_manifest/NFT.02-Mainnet/00003.png new file mode 100644 index 00000000..8e37137d Binary files /dev/null and b/tests/snapshots/stax/test_transaction_manifest/NFT.02-Mainnet/00003.png differ diff --git a/tests/snapshots/stax/test_transaction_manifest/NFT.02-Mainnet/00004.png b/tests/snapshots/stax/test_transaction_manifest/NFT.02-Mainnet/00004.png new file mode 100644 index 00000000..2c4cb156 Binary files /dev/null and b/tests/snapshots/stax/test_transaction_manifest/NFT.02-Mainnet/00004.png differ diff --git a/tests/snapshots/stax/test_transaction_manifest/NFT.02-Mainnet/00005.png b/tests/snapshots/stax/test_transaction_manifest/NFT.02-Mainnet/00005.png new file mode 100644 index 00000000..0646bd44 Binary files /dev/null and b/tests/snapshots/stax/test_transaction_manifest/NFT.02-Mainnet/00005.png differ diff --git a/tests/snapshots/stax/test_transaction_manifest/NFT.02-Mainnet/00006.png b/tests/snapshots/stax/test_transaction_manifest/NFT.02-Mainnet/00006.png new file mode 100644 index 00000000..d8282095 Binary files /dev/null and b/tests/snapshots/stax/test_transaction_manifest/NFT.02-Mainnet/00006.png differ diff --git a/tests/snapshots/stax/test_transaction_manifest/NFT.02-Mainnet/00007.png b/tests/snapshots/stax/test_transaction_manifest/NFT.02-Mainnet/00007.png new file mode 100644 index 00000000..cd2f5275 Binary files /dev/null and b/tests/snapshots/stax/test_transaction_manifest/NFT.02-Mainnet/00007.png differ diff --git a/tests/snapshots/stax/test_transaction_manifest/NFT.02-Mainnet/00008.png b/tests/snapshots/stax/test_transaction_manifest/NFT.02-Mainnet/00008.png new file mode 100644 index 00000000..1dac7479 Binary files /dev/null and b/tests/snapshots/stax/test_transaction_manifest/NFT.02-Mainnet/00008.png differ diff --git a/tests/snapshots/stax/test_transaction_manifest/NFT.02-Testnet/00000.png b/tests/snapshots/stax/test_transaction_manifest/NFT.02-Testnet/00000.png new file mode 100644 index 00000000..8e091e97 Binary files /dev/null and b/tests/snapshots/stax/test_transaction_manifest/NFT.02-Testnet/00000.png differ diff --git a/tests/snapshots/stax/test_transaction_manifest/NFT.02-Testnet/00001.png b/tests/snapshots/stax/test_transaction_manifest/NFT.02-Testnet/00001.png new file mode 100644 index 00000000..ad177591 Binary files /dev/null and b/tests/snapshots/stax/test_transaction_manifest/NFT.02-Testnet/00001.png differ diff --git a/tests/snapshots/stax/test_transaction_manifest/NFT.02-Testnet/00002.png b/tests/snapshots/stax/test_transaction_manifest/NFT.02-Testnet/00002.png new file mode 100644 index 00000000..c7a58510 Binary files /dev/null and b/tests/snapshots/stax/test_transaction_manifest/NFT.02-Testnet/00002.png differ diff --git a/tests/snapshots/stax/test_transaction_manifest/NFT.02-Testnet/00003.png b/tests/snapshots/stax/test_transaction_manifest/NFT.02-Testnet/00003.png new file mode 100644 index 00000000..9aa61ba4 Binary files /dev/null and b/tests/snapshots/stax/test_transaction_manifest/NFT.02-Testnet/00003.png differ diff --git a/tests/snapshots/stax/test_transaction_manifest/NFT.02-Testnet/00004.png b/tests/snapshots/stax/test_transaction_manifest/NFT.02-Testnet/00004.png new file mode 100644 index 00000000..2743c3c3 Binary files /dev/null and b/tests/snapshots/stax/test_transaction_manifest/NFT.02-Testnet/00004.png differ diff --git a/tests/snapshots/stax/test_transaction_manifest/NFT.02-Testnet/00005.png b/tests/snapshots/stax/test_transaction_manifest/NFT.02-Testnet/00005.png new file mode 100644 index 00000000..0646bd44 Binary files /dev/null and b/tests/snapshots/stax/test_transaction_manifest/NFT.02-Testnet/00005.png differ diff --git a/tests/snapshots/stax/test_transaction_manifest/NFT.02-Testnet/00006.png b/tests/snapshots/stax/test_transaction_manifest/NFT.02-Testnet/00006.png new file mode 100644 index 00000000..d8282095 Binary files /dev/null and b/tests/snapshots/stax/test_transaction_manifest/NFT.02-Testnet/00006.png differ diff --git a/tests/snapshots/stax/test_transaction_manifest/NFT.02-Testnet/00007.png b/tests/snapshots/stax/test_transaction_manifest/NFT.02-Testnet/00007.png new file mode 100644 index 00000000..cd2f5275 Binary files /dev/null and b/tests/snapshots/stax/test_transaction_manifest/NFT.02-Testnet/00007.png differ diff --git a/tests/snapshots/stax/test_transaction_manifest/NFT.02-Testnet/00008.png b/tests/snapshots/stax/test_transaction_manifest/NFT.02-Testnet/00008.png new file mode 100644 index 00000000..1dac7479 Binary files /dev/null and b/tests/snapshots/stax/test_transaction_manifest/NFT.02-Testnet/00008.png differ diff --git a/tests/snapshots/stax/test_transaction_manifest/NFT.03-Mainnet/00000.png b/tests/snapshots/stax/test_transaction_manifest/NFT.03-Mainnet/00000.png new file mode 100644 index 00000000..8e091e97 Binary files /dev/null and b/tests/snapshots/stax/test_transaction_manifest/NFT.03-Mainnet/00000.png differ diff --git a/tests/snapshots/stax/test_transaction_manifest/NFT.03-Mainnet/00001.png b/tests/snapshots/stax/test_transaction_manifest/NFT.03-Mainnet/00001.png new file mode 100644 index 00000000..0f37d774 Binary files /dev/null and b/tests/snapshots/stax/test_transaction_manifest/NFT.03-Mainnet/00001.png differ diff --git a/tests/snapshots/stax/test_transaction_manifest/NFT.03-Mainnet/00002.png b/tests/snapshots/stax/test_transaction_manifest/NFT.03-Mainnet/00002.png new file mode 100644 index 00000000..266e5cfa Binary files /dev/null and b/tests/snapshots/stax/test_transaction_manifest/NFT.03-Mainnet/00002.png differ diff --git a/tests/snapshots/stax/test_transaction_manifest/NFT.03-Mainnet/00003.png b/tests/snapshots/stax/test_transaction_manifest/NFT.03-Mainnet/00003.png new file mode 100644 index 00000000..7d98e488 Binary files /dev/null and b/tests/snapshots/stax/test_transaction_manifest/NFT.03-Mainnet/00003.png differ diff --git a/tests/snapshots/stax/test_transaction_manifest/NFT.03-Mainnet/00004.png b/tests/snapshots/stax/test_transaction_manifest/NFT.03-Mainnet/00004.png new file mode 100644 index 00000000..440d03e2 Binary files /dev/null and b/tests/snapshots/stax/test_transaction_manifest/NFT.03-Mainnet/00004.png differ diff --git a/tests/snapshots/stax/test_transaction_manifest/NFT.03-Mainnet/00005.png b/tests/snapshots/stax/test_transaction_manifest/NFT.03-Mainnet/00005.png new file mode 100644 index 00000000..c3138c77 Binary files /dev/null and b/tests/snapshots/stax/test_transaction_manifest/NFT.03-Mainnet/00005.png differ diff --git a/tests/snapshots/stax/test_transaction_manifest/NFT.03-Mainnet/00006.png b/tests/snapshots/stax/test_transaction_manifest/NFT.03-Mainnet/00006.png new file mode 100644 index 00000000..cd2f5275 Binary files /dev/null and b/tests/snapshots/stax/test_transaction_manifest/NFT.03-Mainnet/00006.png differ diff --git a/tests/snapshots/stax/test_transaction_manifest/NFT.03-Mainnet/00007.png b/tests/snapshots/stax/test_transaction_manifest/NFT.03-Mainnet/00007.png new file mode 100644 index 00000000..1dac7479 Binary files /dev/null and b/tests/snapshots/stax/test_transaction_manifest/NFT.03-Mainnet/00007.png differ diff --git a/tests/snapshots/stax/test_transaction_manifest/NFT.03-Testnet/00000.png b/tests/snapshots/stax/test_transaction_manifest/NFT.03-Testnet/00000.png new file mode 100644 index 00000000..8e091e97 Binary files /dev/null and b/tests/snapshots/stax/test_transaction_manifest/NFT.03-Testnet/00000.png differ diff --git a/tests/snapshots/stax/test_transaction_manifest/NFT.03-Testnet/00001.png b/tests/snapshots/stax/test_transaction_manifest/NFT.03-Testnet/00001.png new file mode 100644 index 00000000..27b59c73 Binary files /dev/null and b/tests/snapshots/stax/test_transaction_manifest/NFT.03-Testnet/00001.png differ diff --git a/tests/snapshots/stax/test_transaction_manifest/NFT.03-Testnet/00002.png b/tests/snapshots/stax/test_transaction_manifest/NFT.03-Testnet/00002.png new file mode 100644 index 00000000..7b14cfbe Binary files /dev/null and b/tests/snapshots/stax/test_transaction_manifest/NFT.03-Testnet/00002.png differ diff --git a/tests/snapshots/stax/test_transaction_manifest/NFT.03-Testnet/00003.png b/tests/snapshots/stax/test_transaction_manifest/NFT.03-Testnet/00003.png new file mode 100644 index 00000000..9aa61ba4 Binary files /dev/null and b/tests/snapshots/stax/test_transaction_manifest/NFT.03-Testnet/00003.png differ diff --git a/tests/snapshots/stax/test_transaction_manifest/NFT.03-Testnet/00004.png b/tests/snapshots/stax/test_transaction_manifest/NFT.03-Testnet/00004.png new file mode 100644 index 00000000..2743c3c3 Binary files /dev/null and b/tests/snapshots/stax/test_transaction_manifest/NFT.03-Testnet/00004.png differ diff --git a/tests/snapshots/stax/test_transaction_manifest/NFT.03-Testnet/00005.png b/tests/snapshots/stax/test_transaction_manifest/NFT.03-Testnet/00005.png new file mode 100644 index 00000000..0646bd44 Binary files /dev/null and b/tests/snapshots/stax/test_transaction_manifest/NFT.03-Testnet/00005.png differ diff --git a/tests/snapshots/stax/test_transaction_manifest/NFT.03-Testnet/00006.png b/tests/snapshots/stax/test_transaction_manifest/NFT.03-Testnet/00006.png new file mode 100644 index 00000000..d8282095 Binary files /dev/null and b/tests/snapshots/stax/test_transaction_manifest/NFT.03-Testnet/00006.png differ diff --git a/tests/snapshots/stax/test_transaction_manifest/NFT.03-Testnet/00007.png b/tests/snapshots/stax/test_transaction_manifest/NFT.03-Testnet/00007.png new file mode 100644 index 00000000..cd2f5275 Binary files /dev/null and b/tests/snapshots/stax/test_transaction_manifest/NFT.03-Testnet/00007.png differ diff --git a/tests/snapshots/stax/test_transaction_manifest/NFT.03-Testnet/00008.png b/tests/snapshots/stax/test_transaction_manifest/NFT.03-Testnet/00008.png new file mode 100644 index 00000000..1dac7479 Binary files /dev/null and b/tests/snapshots/stax/test_transaction_manifest/NFT.03-Testnet/00008.png differ diff --git a/tests/snapshots/stax/test_transaction_manifest/SCO.03-Mainnet/00000.png b/tests/snapshots/stax/test_transaction_manifest/SCO.03-Mainnet/00000.png new file mode 100644 index 00000000..8e091e97 Binary files /dev/null and b/tests/snapshots/stax/test_transaction_manifest/SCO.03-Mainnet/00000.png differ diff --git a/tests/snapshots/stax/test_transaction_manifest/SCO.03-Mainnet/00001.png b/tests/snapshots/stax/test_transaction_manifest/SCO.03-Mainnet/00001.png new file mode 100644 index 00000000..6a8c5ea3 Binary files /dev/null and b/tests/snapshots/stax/test_transaction_manifest/SCO.03-Mainnet/00001.png differ diff --git a/tests/snapshots/stax/test_transaction_manifest/SCO.03-Mainnet/00002.png b/tests/snapshots/stax/test_transaction_manifest/SCO.03-Mainnet/00002.png new file mode 100644 index 00000000..990d8c2d Binary files /dev/null and b/tests/snapshots/stax/test_transaction_manifest/SCO.03-Mainnet/00002.png differ diff --git a/tests/snapshots/stax/test_transaction_manifest/SCO.03-Mainnet/00003.png b/tests/snapshots/stax/test_transaction_manifest/SCO.03-Mainnet/00003.png new file mode 100644 index 00000000..a71d4ea3 Binary files /dev/null and b/tests/snapshots/stax/test_transaction_manifest/SCO.03-Mainnet/00003.png differ diff --git a/tests/snapshots/stax/test_transaction_manifest/SCO.03-Mainnet/00004.png b/tests/snapshots/stax/test_transaction_manifest/SCO.03-Mainnet/00004.png new file mode 100644 index 00000000..365db017 Binary files /dev/null and b/tests/snapshots/stax/test_transaction_manifest/SCO.03-Mainnet/00004.png differ diff --git a/tests/snapshots/stax/test_transaction_manifest/SCO.03-Mainnet/00005.png b/tests/snapshots/stax/test_transaction_manifest/SCO.03-Mainnet/00005.png new file mode 100644 index 00000000..8a6e245b Binary files /dev/null and b/tests/snapshots/stax/test_transaction_manifest/SCO.03-Mainnet/00005.png differ diff --git a/tests/snapshots/stax/test_transaction_manifest/SCO.03-Mainnet/00006.png b/tests/snapshots/stax/test_transaction_manifest/SCO.03-Mainnet/00006.png new file mode 100644 index 00000000..86542921 Binary files /dev/null and b/tests/snapshots/stax/test_transaction_manifest/SCO.03-Mainnet/00006.png differ diff --git a/tests/snapshots/stax/test_transaction_manifest/SCO.03-Mainnet/00007.png b/tests/snapshots/stax/test_transaction_manifest/SCO.03-Mainnet/00007.png new file mode 100644 index 00000000..9cae44ad Binary files /dev/null and b/tests/snapshots/stax/test_transaction_manifest/SCO.03-Mainnet/00007.png differ diff --git a/tests/snapshots/stax/test_transaction_manifest/SCO.03-Mainnet/00008.png b/tests/snapshots/stax/test_transaction_manifest/SCO.03-Mainnet/00008.png new file mode 100644 index 00000000..e7c1a181 Binary files /dev/null and b/tests/snapshots/stax/test_transaction_manifest/SCO.03-Mainnet/00008.png differ diff --git a/tests/snapshots/stax/test_transaction_manifest/SCO.03-Mainnet/00009.png b/tests/snapshots/stax/test_transaction_manifest/SCO.03-Mainnet/00009.png new file mode 100644 index 00000000..3116d8f6 Binary files /dev/null and b/tests/snapshots/stax/test_transaction_manifest/SCO.03-Mainnet/00009.png differ diff --git a/tests/snapshots/stax/test_transaction_manifest/SCO.03-Mainnet/00010.png b/tests/snapshots/stax/test_transaction_manifest/SCO.03-Mainnet/00010.png new file mode 100644 index 00000000..8275e91b Binary files /dev/null and b/tests/snapshots/stax/test_transaction_manifest/SCO.03-Mainnet/00010.png differ diff --git a/tests/snapshots/stax/test_transaction_manifest/SCO.03-Mainnet/00011.png b/tests/snapshots/stax/test_transaction_manifest/SCO.03-Mainnet/00011.png new file mode 100644 index 00000000..cd2f5275 Binary files /dev/null and b/tests/snapshots/stax/test_transaction_manifest/SCO.03-Mainnet/00011.png differ diff --git a/tests/snapshots/stax/test_transaction_manifest/SCO.03-Mainnet/00012.png b/tests/snapshots/stax/test_transaction_manifest/SCO.03-Mainnet/00012.png new file mode 100644 index 00000000..1dac7479 Binary files /dev/null and b/tests/snapshots/stax/test_transaction_manifest/SCO.03-Mainnet/00012.png differ diff --git a/tests/snapshots/stax/test_transaction_manifest/SCO.03-Testnet/00000.png b/tests/snapshots/stax/test_transaction_manifest/SCO.03-Testnet/00000.png new file mode 100644 index 00000000..8e091e97 Binary files /dev/null and b/tests/snapshots/stax/test_transaction_manifest/SCO.03-Testnet/00000.png differ diff --git a/tests/snapshots/stax/test_transaction_manifest/SCO.03-Testnet/00001.png b/tests/snapshots/stax/test_transaction_manifest/SCO.03-Testnet/00001.png new file mode 100644 index 00000000..f1466aa1 Binary files /dev/null and b/tests/snapshots/stax/test_transaction_manifest/SCO.03-Testnet/00001.png differ diff --git a/tests/snapshots/stax/test_transaction_manifest/SCO.03-Testnet/00002.png b/tests/snapshots/stax/test_transaction_manifest/SCO.03-Testnet/00002.png new file mode 100644 index 00000000..990d8c2d Binary files /dev/null and b/tests/snapshots/stax/test_transaction_manifest/SCO.03-Testnet/00002.png differ diff --git a/tests/snapshots/stax/test_transaction_manifest/SCO.03-Testnet/00003.png b/tests/snapshots/stax/test_transaction_manifest/SCO.03-Testnet/00003.png new file mode 100644 index 00000000..a71d4ea3 Binary files /dev/null and b/tests/snapshots/stax/test_transaction_manifest/SCO.03-Testnet/00003.png differ diff --git a/tests/snapshots/stax/test_transaction_manifest/SCO.03-Testnet/00004.png b/tests/snapshots/stax/test_transaction_manifest/SCO.03-Testnet/00004.png new file mode 100644 index 00000000..365db017 Binary files /dev/null and b/tests/snapshots/stax/test_transaction_manifest/SCO.03-Testnet/00004.png differ diff --git a/tests/snapshots/stax/test_transaction_manifest/SCO.03-Testnet/00005.png b/tests/snapshots/stax/test_transaction_manifest/SCO.03-Testnet/00005.png new file mode 100644 index 00000000..8a6e245b Binary files /dev/null and b/tests/snapshots/stax/test_transaction_manifest/SCO.03-Testnet/00005.png differ diff --git a/tests/snapshots/stax/test_transaction_manifest/SCO.03-Testnet/00006.png b/tests/snapshots/stax/test_transaction_manifest/SCO.03-Testnet/00006.png new file mode 100644 index 00000000..86542921 Binary files /dev/null and b/tests/snapshots/stax/test_transaction_manifest/SCO.03-Testnet/00006.png differ diff --git a/tests/snapshots/stax/test_transaction_manifest/SCO.03-Testnet/00007.png b/tests/snapshots/stax/test_transaction_manifest/SCO.03-Testnet/00007.png new file mode 100644 index 00000000..9cae44ad Binary files /dev/null and b/tests/snapshots/stax/test_transaction_manifest/SCO.03-Testnet/00007.png differ diff --git a/tests/snapshots/stax/test_transaction_manifest/SCO.03-Testnet/00008.png b/tests/snapshots/stax/test_transaction_manifest/SCO.03-Testnet/00008.png new file mode 100644 index 00000000..abb46cfb Binary files /dev/null and b/tests/snapshots/stax/test_transaction_manifest/SCO.03-Testnet/00008.png differ diff --git a/tests/snapshots/stax/test_transaction_manifest/SCO.03-Testnet/00009.png b/tests/snapshots/stax/test_transaction_manifest/SCO.03-Testnet/00009.png new file mode 100644 index 00000000..aba78bc9 Binary files /dev/null and b/tests/snapshots/stax/test_transaction_manifest/SCO.03-Testnet/00009.png differ diff --git a/tests/snapshots/stax/test_transaction_manifest/SCO.03-Testnet/00010.png b/tests/snapshots/stax/test_transaction_manifest/SCO.03-Testnet/00010.png new file mode 100644 index 00000000..8275e91b Binary files /dev/null and b/tests/snapshots/stax/test_transaction_manifest/SCO.03-Testnet/00010.png differ diff --git a/tests/snapshots/stax/test_transaction_manifest/SCO.03-Testnet/00011.png b/tests/snapshots/stax/test_transaction_manifest/SCO.03-Testnet/00011.png new file mode 100644 index 00000000..cd2f5275 Binary files /dev/null and b/tests/snapshots/stax/test_transaction_manifest/SCO.03-Testnet/00011.png differ diff --git a/tests/snapshots/stax/test_transaction_manifest/SCO.03-Testnet/00012.png b/tests/snapshots/stax/test_transaction_manifest/SCO.03-Testnet/00012.png new file mode 100644 index 00000000..1dac7479 Binary files /dev/null and b/tests/snapshots/stax/test_transaction_manifest/SCO.03-Testnet/00012.png differ diff --git a/tests/snapshots/stax/test_transaction_manifest/SCO.04-Mainnet/00000.png b/tests/snapshots/stax/test_transaction_manifest/SCO.04-Mainnet/00000.png new file mode 100644 index 00000000..8e091e97 Binary files /dev/null and b/tests/snapshots/stax/test_transaction_manifest/SCO.04-Mainnet/00000.png differ diff --git a/tests/snapshots/stax/test_transaction_manifest/SCO.04-Mainnet/00001.png b/tests/snapshots/stax/test_transaction_manifest/SCO.04-Mainnet/00001.png new file mode 100644 index 00000000..25046151 Binary files /dev/null and b/tests/snapshots/stax/test_transaction_manifest/SCO.04-Mainnet/00001.png differ diff --git a/tests/snapshots/stax/test_transaction_manifest/SCO.04-Mainnet/00002.png b/tests/snapshots/stax/test_transaction_manifest/SCO.04-Mainnet/00002.png new file mode 100644 index 00000000..71b3da1d Binary files /dev/null and b/tests/snapshots/stax/test_transaction_manifest/SCO.04-Mainnet/00002.png differ diff --git a/tests/snapshots/stax/test_transaction_manifest/SCO.04-Mainnet/00003.png b/tests/snapshots/stax/test_transaction_manifest/SCO.04-Mainnet/00003.png new file mode 100644 index 00000000..57871c68 Binary files /dev/null and b/tests/snapshots/stax/test_transaction_manifest/SCO.04-Mainnet/00003.png differ diff --git a/tests/snapshots/stax/test_transaction_manifest/SCO.04-Mainnet/00004.png b/tests/snapshots/stax/test_transaction_manifest/SCO.04-Mainnet/00004.png new file mode 100644 index 00000000..ac332ada Binary files /dev/null and b/tests/snapshots/stax/test_transaction_manifest/SCO.04-Mainnet/00004.png differ diff --git a/tests/snapshots/stax/test_transaction_manifest/SCO.04-Mainnet/00005.png b/tests/snapshots/stax/test_transaction_manifest/SCO.04-Mainnet/00005.png new file mode 100644 index 00000000..1f1da643 Binary files /dev/null and b/tests/snapshots/stax/test_transaction_manifest/SCO.04-Mainnet/00005.png differ diff --git a/tests/snapshots/stax/test_transaction_manifest/SCO.04-Mainnet/00006.png b/tests/snapshots/stax/test_transaction_manifest/SCO.04-Mainnet/00006.png new file mode 100644 index 00000000..d47f7af1 Binary files /dev/null and b/tests/snapshots/stax/test_transaction_manifest/SCO.04-Mainnet/00006.png differ diff --git a/tests/snapshots/stax/test_transaction_manifest/SCO.04-Mainnet/00007.png b/tests/snapshots/stax/test_transaction_manifest/SCO.04-Mainnet/00007.png new file mode 100644 index 00000000..59aa6484 Binary files /dev/null and b/tests/snapshots/stax/test_transaction_manifest/SCO.04-Mainnet/00007.png differ diff --git a/tests/snapshots/stax/test_transaction_manifest/SCO.04-Mainnet/00008.png b/tests/snapshots/stax/test_transaction_manifest/SCO.04-Mainnet/00008.png new file mode 100644 index 00000000..cd2f5275 Binary files /dev/null and b/tests/snapshots/stax/test_transaction_manifest/SCO.04-Mainnet/00008.png differ diff --git a/tests/snapshots/stax/test_transaction_manifest/SCO.04-Mainnet/00009.png b/tests/snapshots/stax/test_transaction_manifest/SCO.04-Mainnet/00009.png new file mode 100644 index 00000000..1dac7479 Binary files /dev/null and b/tests/snapshots/stax/test_transaction_manifest/SCO.04-Mainnet/00009.png differ diff --git a/tests/snapshots/stax/test_transaction_manifest/SCO.04-Testnet/00000.png b/tests/snapshots/stax/test_transaction_manifest/SCO.04-Testnet/00000.png new file mode 100644 index 00000000..8e091e97 Binary files /dev/null and b/tests/snapshots/stax/test_transaction_manifest/SCO.04-Testnet/00000.png differ diff --git a/tests/snapshots/stax/test_transaction_manifest/SCO.04-Testnet/00001.png b/tests/snapshots/stax/test_transaction_manifest/SCO.04-Testnet/00001.png new file mode 100644 index 00000000..9e622ee2 Binary files /dev/null and b/tests/snapshots/stax/test_transaction_manifest/SCO.04-Testnet/00001.png differ diff --git a/tests/snapshots/stax/test_transaction_manifest/SCO.04-Testnet/00002.png b/tests/snapshots/stax/test_transaction_manifest/SCO.04-Testnet/00002.png new file mode 100644 index 00000000..71b3da1d Binary files /dev/null and b/tests/snapshots/stax/test_transaction_manifest/SCO.04-Testnet/00002.png differ diff --git a/tests/snapshots/stax/test_transaction_manifest/SCO.04-Testnet/00003.png b/tests/snapshots/stax/test_transaction_manifest/SCO.04-Testnet/00003.png new file mode 100644 index 00000000..57871c68 Binary files /dev/null and b/tests/snapshots/stax/test_transaction_manifest/SCO.04-Testnet/00003.png differ diff --git a/tests/snapshots/stax/test_transaction_manifest/SCO.04-Testnet/00004.png b/tests/snapshots/stax/test_transaction_manifest/SCO.04-Testnet/00004.png new file mode 100644 index 00000000..ac332ada Binary files /dev/null and b/tests/snapshots/stax/test_transaction_manifest/SCO.04-Testnet/00004.png differ diff --git a/tests/snapshots/stax/test_transaction_manifest/SCO.04-Testnet/00005.png b/tests/snapshots/stax/test_transaction_manifest/SCO.04-Testnet/00005.png new file mode 100644 index 00000000..15026d5b Binary files /dev/null and b/tests/snapshots/stax/test_transaction_manifest/SCO.04-Testnet/00005.png differ diff --git a/tests/snapshots/stax/test_transaction_manifest/SCO.04-Testnet/00006.png b/tests/snapshots/stax/test_transaction_manifest/SCO.04-Testnet/00006.png new file mode 100644 index 00000000..24d6b720 Binary files /dev/null and b/tests/snapshots/stax/test_transaction_manifest/SCO.04-Testnet/00006.png differ diff --git a/tests/snapshots/stax/test_transaction_manifest/SCO.04-Testnet/00007.png b/tests/snapshots/stax/test_transaction_manifest/SCO.04-Testnet/00007.png new file mode 100644 index 00000000..59aa6484 Binary files /dev/null and b/tests/snapshots/stax/test_transaction_manifest/SCO.04-Testnet/00007.png differ diff --git a/tests/snapshots/stax/test_transaction_manifest/SCO.04-Testnet/00008.png b/tests/snapshots/stax/test_transaction_manifest/SCO.04-Testnet/00008.png new file mode 100644 index 00000000..cd2f5275 Binary files /dev/null and b/tests/snapshots/stax/test_transaction_manifest/SCO.04-Testnet/00008.png differ diff --git a/tests/snapshots/stax/test_transaction_manifest/SCO.04-Testnet/00009.png b/tests/snapshots/stax/test_transaction_manifest/SCO.04-Testnet/00009.png new file mode 100644 index 00000000..1dac7479 Binary files /dev/null and b/tests/snapshots/stax/test_transaction_manifest/SCO.04-Testnet/00009.png differ diff --git a/tests/snapshots/stax/test_transaction_params/part1/00001.png b/tests/snapshots/stax/test_transaction_params/part1/00001.png index 23b44e3e..0e302d91 100644 Binary files a/tests/snapshots/stax/test_transaction_params/part1/00001.png and b/tests/snapshots/stax/test_transaction_params/part1/00001.png differ diff --git a/tests/snapshots/stax/test_transaction_params/part1/00002.png b/tests/snapshots/stax/test_transaction_params/part1/00002.png index a2e7a49c..c44eed83 100644 Binary files a/tests/snapshots/stax/test_transaction_params/part1/00002.png and b/tests/snapshots/stax/test_transaction_params/part1/00002.png differ diff --git a/tests/snapshots/stax/test_transaction_params/part1/00003.png b/tests/snapshots/stax/test_transaction_params/part1/00003.png index fb625e5a..0202c9f2 100644 Binary files a/tests/snapshots/stax/test_transaction_params/part1/00003.png and b/tests/snapshots/stax/test_transaction_params/part1/00003.png differ diff --git a/tests/snapshots/stax/test_transaction_params/part1/00004.png b/tests/snapshots/stax/test_transaction_params/part1/00004.png index 670766fe..5c8ec2c1 100644 Binary files a/tests/snapshots/stax/test_transaction_params/part1/00004.png and b/tests/snapshots/stax/test_transaction_params/part1/00004.png differ diff --git a/tests/snapshots/stax/test_transaction_params/part1/00005.png b/tests/snapshots/stax/test_transaction_params/part1/00005.png index c3138c77..30d3b010 100644 Binary files a/tests/snapshots/stax/test_transaction_params/part1/00005.png and b/tests/snapshots/stax/test_transaction_params/part1/00005.png differ diff --git a/tests/snapshots/stax/test_transaction_params/part1/00006.png b/tests/snapshots/stax/test_transaction_params/part1/00006.png index cd2f5275..5ff4c5f3 100644 Binary files a/tests/snapshots/stax/test_transaction_params/part1/00006.png and b/tests/snapshots/stax/test_transaction_params/part1/00006.png differ diff --git a/tests/snapshots/stax/test_transaction_params/part1/00007.png b/tests/snapshots/stax/test_transaction_params/part1/00007.png index 1dac7479..59aa6484 100644 Binary files a/tests/snapshots/stax/test_transaction_params/part1/00007.png and b/tests/snapshots/stax/test_transaction_params/part1/00007.png differ diff --git a/tests/snapshots/stax/test_transaction_params/part1/00008.png b/tests/snapshots/stax/test_transaction_params/part1/00008.png new file mode 100644 index 00000000..cd2f5275 Binary files /dev/null and b/tests/snapshots/stax/test_transaction_params/part1/00008.png differ diff --git a/tests/snapshots/stax/test_transaction_params/part1/00009.png b/tests/snapshots/stax/test_transaction_params/part1/00009.png new file mode 100644 index 00000000..1dac7479 Binary files /dev/null and b/tests/snapshots/stax/test_transaction_params/part1/00009.png differ diff --git a/tests/snapshots/stax/test_transaction_params/part10/00001.png b/tests/snapshots/stax/test_transaction_params/part10/00001.png index 74045c38..9128c56e 100644 Binary files a/tests/snapshots/stax/test_transaction_params/part10/00001.png and b/tests/snapshots/stax/test_transaction_params/part10/00001.png differ diff --git a/tests/snapshots/stax/test_transaction_params/part10/00002.png b/tests/snapshots/stax/test_transaction_params/part10/00002.png index ba713cb3..13dbf109 100644 Binary files a/tests/snapshots/stax/test_transaction_params/part10/00002.png and b/tests/snapshots/stax/test_transaction_params/part10/00002.png differ diff --git a/tests/snapshots/stax/test_transaction_params/part10/00003.png b/tests/snapshots/stax/test_transaction_params/part10/00003.png index e4fe1788..234968d1 100644 Binary files a/tests/snapshots/stax/test_transaction_params/part10/00003.png and b/tests/snapshots/stax/test_transaction_params/part10/00003.png differ diff --git a/tests/snapshots/stax/test_transaction_params/part10/00004.png b/tests/snapshots/stax/test_transaction_params/part10/00004.png index a615d1ae..670766fe 100644 Binary files a/tests/snapshots/stax/test_transaction_params/part10/00004.png and b/tests/snapshots/stax/test_transaction_params/part10/00004.png differ diff --git a/tests/snapshots/stax/test_transaction_params/part10/00005.png b/tests/snapshots/stax/test_transaction_params/part10/00005.png index 0646bd44..c3138c77 100644 Binary files a/tests/snapshots/stax/test_transaction_params/part10/00005.png and b/tests/snapshots/stax/test_transaction_params/part10/00005.png differ diff --git a/tests/snapshots/stax/test_transaction_params/part10/00006.png b/tests/snapshots/stax/test_transaction_params/part10/00006.png index d8282095..cd2f5275 100644 Binary files a/tests/snapshots/stax/test_transaction_params/part10/00006.png and b/tests/snapshots/stax/test_transaction_params/part10/00006.png differ diff --git a/tests/snapshots/stax/test_transaction_params/part10/00007.png b/tests/snapshots/stax/test_transaction_params/part10/00007.png index cd2f5275..1dac7479 100644 Binary files a/tests/snapshots/stax/test_transaction_params/part10/00007.png and b/tests/snapshots/stax/test_transaction_params/part10/00007.png differ diff --git a/tests/snapshots/stax/test_transaction_params/part11/00001.png b/tests/snapshots/stax/test_transaction_params/part11/00001.png index 74045c38..9128c56e 100644 Binary files a/tests/snapshots/stax/test_transaction_params/part11/00001.png and b/tests/snapshots/stax/test_transaction_params/part11/00001.png differ diff --git a/tests/snapshots/stax/test_transaction_params/part11/00002.png b/tests/snapshots/stax/test_transaction_params/part11/00002.png index ba713cb3..13dbf109 100644 Binary files a/tests/snapshots/stax/test_transaction_params/part11/00002.png and b/tests/snapshots/stax/test_transaction_params/part11/00002.png differ diff --git a/tests/snapshots/stax/test_transaction_params/part11/00003.png b/tests/snapshots/stax/test_transaction_params/part11/00003.png index e4fe1788..234968d1 100644 Binary files a/tests/snapshots/stax/test_transaction_params/part11/00003.png and b/tests/snapshots/stax/test_transaction_params/part11/00003.png differ diff --git a/tests/snapshots/stax/test_transaction_params/part11/00004.png b/tests/snapshots/stax/test_transaction_params/part11/00004.png index a615d1ae..670766fe 100644 Binary files a/tests/snapshots/stax/test_transaction_params/part11/00004.png and b/tests/snapshots/stax/test_transaction_params/part11/00004.png differ diff --git a/tests/snapshots/stax/test_transaction_params/part11/00005.png b/tests/snapshots/stax/test_transaction_params/part11/00005.png index 0646bd44..c3138c77 100644 Binary files a/tests/snapshots/stax/test_transaction_params/part11/00005.png and b/tests/snapshots/stax/test_transaction_params/part11/00005.png differ diff --git a/tests/snapshots/stax/test_transaction_params/part11/00006.png b/tests/snapshots/stax/test_transaction_params/part11/00006.png index d8282095..cd2f5275 100644 Binary files a/tests/snapshots/stax/test_transaction_params/part11/00006.png and b/tests/snapshots/stax/test_transaction_params/part11/00006.png differ diff --git a/tests/snapshots/stax/test_transaction_params/part11/00007.png b/tests/snapshots/stax/test_transaction_params/part11/00007.png index cd2f5275..1dac7479 100644 Binary files a/tests/snapshots/stax/test_transaction_params/part11/00007.png and b/tests/snapshots/stax/test_transaction_params/part11/00007.png differ diff --git a/tests/snapshots/stax/test_transaction_params/part12/00001.png b/tests/snapshots/stax/test_transaction_params/part12/00001.png index 74045c38..9128c56e 100644 Binary files a/tests/snapshots/stax/test_transaction_params/part12/00001.png and b/tests/snapshots/stax/test_transaction_params/part12/00001.png differ diff --git a/tests/snapshots/stax/test_transaction_params/part12/00002.png b/tests/snapshots/stax/test_transaction_params/part12/00002.png index ba713cb3..13dbf109 100644 Binary files a/tests/snapshots/stax/test_transaction_params/part12/00002.png and b/tests/snapshots/stax/test_transaction_params/part12/00002.png differ diff --git a/tests/snapshots/stax/test_transaction_params/part12/00003.png b/tests/snapshots/stax/test_transaction_params/part12/00003.png index e4fe1788..234968d1 100644 Binary files a/tests/snapshots/stax/test_transaction_params/part12/00003.png and b/tests/snapshots/stax/test_transaction_params/part12/00003.png differ diff --git a/tests/snapshots/stax/test_transaction_params/part12/00004.png b/tests/snapshots/stax/test_transaction_params/part12/00004.png index a615d1ae..670766fe 100644 Binary files a/tests/snapshots/stax/test_transaction_params/part12/00004.png and b/tests/snapshots/stax/test_transaction_params/part12/00004.png differ diff --git a/tests/snapshots/stax/test_transaction_params/part12/00005.png b/tests/snapshots/stax/test_transaction_params/part12/00005.png index 0646bd44..c3138c77 100644 Binary files a/tests/snapshots/stax/test_transaction_params/part12/00005.png and b/tests/snapshots/stax/test_transaction_params/part12/00005.png differ diff --git a/tests/snapshots/stax/test_transaction_params/part12/00006.png b/tests/snapshots/stax/test_transaction_params/part12/00006.png index d8282095..cd2f5275 100644 Binary files a/tests/snapshots/stax/test_transaction_params/part12/00006.png and b/tests/snapshots/stax/test_transaction_params/part12/00006.png differ diff --git a/tests/snapshots/stax/test_transaction_params/part12/00007.png b/tests/snapshots/stax/test_transaction_params/part12/00007.png index cd2f5275..1dac7479 100644 Binary files a/tests/snapshots/stax/test_transaction_params/part12/00007.png and b/tests/snapshots/stax/test_transaction_params/part12/00007.png differ diff --git a/tests/snapshots/stax/test_transaction_params/part2/00001.png b/tests/snapshots/stax/test_transaction_params/part2/00001.png index 23b44e3e..0e302d91 100644 Binary files a/tests/snapshots/stax/test_transaction_params/part2/00001.png and b/tests/snapshots/stax/test_transaction_params/part2/00001.png differ diff --git a/tests/snapshots/stax/test_transaction_params/part2/00002.png b/tests/snapshots/stax/test_transaction_params/part2/00002.png index a2e7a49c..c44eed83 100644 Binary files a/tests/snapshots/stax/test_transaction_params/part2/00002.png and b/tests/snapshots/stax/test_transaction_params/part2/00002.png differ diff --git a/tests/snapshots/stax/test_transaction_params/part2/00003.png b/tests/snapshots/stax/test_transaction_params/part2/00003.png index fb625e5a..0202c9f2 100644 Binary files a/tests/snapshots/stax/test_transaction_params/part2/00003.png and b/tests/snapshots/stax/test_transaction_params/part2/00003.png differ diff --git a/tests/snapshots/stax/test_transaction_params/part2/00004.png b/tests/snapshots/stax/test_transaction_params/part2/00004.png index 670766fe..5c8ec2c1 100644 Binary files a/tests/snapshots/stax/test_transaction_params/part2/00004.png and b/tests/snapshots/stax/test_transaction_params/part2/00004.png differ diff --git a/tests/snapshots/stax/test_transaction_params/part2/00005.png b/tests/snapshots/stax/test_transaction_params/part2/00005.png index c3138c77..30d3b010 100644 Binary files a/tests/snapshots/stax/test_transaction_params/part2/00005.png and b/tests/snapshots/stax/test_transaction_params/part2/00005.png differ diff --git a/tests/snapshots/stax/test_transaction_params/part2/00006.png b/tests/snapshots/stax/test_transaction_params/part2/00006.png index cd2f5275..5ff4c5f3 100644 Binary files a/tests/snapshots/stax/test_transaction_params/part2/00006.png and b/tests/snapshots/stax/test_transaction_params/part2/00006.png differ diff --git a/tests/snapshots/stax/test_transaction_params/part2/00007.png b/tests/snapshots/stax/test_transaction_params/part2/00007.png index 1dac7479..59aa6484 100644 Binary files a/tests/snapshots/stax/test_transaction_params/part2/00007.png and b/tests/snapshots/stax/test_transaction_params/part2/00007.png differ diff --git a/tests/snapshots/stax/test_transaction_params/part2/00008.png b/tests/snapshots/stax/test_transaction_params/part2/00008.png new file mode 100644 index 00000000..cd2f5275 Binary files /dev/null and b/tests/snapshots/stax/test_transaction_params/part2/00008.png differ diff --git a/tests/snapshots/stax/test_transaction_params/part2/00009.png b/tests/snapshots/stax/test_transaction_params/part2/00009.png new file mode 100644 index 00000000..1dac7479 Binary files /dev/null and b/tests/snapshots/stax/test_transaction_params/part2/00009.png differ diff --git a/tests/snapshots/stax/test_transaction_params/part3/00001.png b/tests/snapshots/stax/test_transaction_params/part3/00001.png index 23b44e3e..0e302d91 100644 Binary files a/tests/snapshots/stax/test_transaction_params/part3/00001.png and b/tests/snapshots/stax/test_transaction_params/part3/00001.png differ diff --git a/tests/snapshots/stax/test_transaction_params/part3/00002.png b/tests/snapshots/stax/test_transaction_params/part3/00002.png index a2e7a49c..c44eed83 100644 Binary files a/tests/snapshots/stax/test_transaction_params/part3/00002.png and b/tests/snapshots/stax/test_transaction_params/part3/00002.png differ diff --git a/tests/snapshots/stax/test_transaction_params/part3/00003.png b/tests/snapshots/stax/test_transaction_params/part3/00003.png index fb625e5a..0202c9f2 100644 Binary files a/tests/snapshots/stax/test_transaction_params/part3/00003.png and b/tests/snapshots/stax/test_transaction_params/part3/00003.png differ diff --git a/tests/snapshots/stax/test_transaction_params/part3/00004.png b/tests/snapshots/stax/test_transaction_params/part3/00004.png index 670766fe..5c8ec2c1 100644 Binary files a/tests/snapshots/stax/test_transaction_params/part3/00004.png and b/tests/snapshots/stax/test_transaction_params/part3/00004.png differ diff --git a/tests/snapshots/stax/test_transaction_params/part3/00005.png b/tests/snapshots/stax/test_transaction_params/part3/00005.png index c3138c77..30d3b010 100644 Binary files a/tests/snapshots/stax/test_transaction_params/part3/00005.png and b/tests/snapshots/stax/test_transaction_params/part3/00005.png differ diff --git a/tests/snapshots/stax/test_transaction_params/part3/00006.png b/tests/snapshots/stax/test_transaction_params/part3/00006.png index cd2f5275..5ff4c5f3 100644 Binary files a/tests/snapshots/stax/test_transaction_params/part3/00006.png and b/tests/snapshots/stax/test_transaction_params/part3/00006.png differ diff --git a/tests/snapshots/stax/test_transaction_params/part3/00007.png b/tests/snapshots/stax/test_transaction_params/part3/00007.png index 1dac7479..59aa6484 100644 Binary files a/tests/snapshots/stax/test_transaction_params/part3/00007.png and b/tests/snapshots/stax/test_transaction_params/part3/00007.png differ diff --git a/tests/snapshots/stax/test_transaction_params/part3/00008.png b/tests/snapshots/stax/test_transaction_params/part3/00008.png new file mode 100644 index 00000000..cd2f5275 Binary files /dev/null and b/tests/snapshots/stax/test_transaction_params/part3/00008.png differ diff --git a/tests/snapshots/stax/test_transaction_params/part3/00009.png b/tests/snapshots/stax/test_transaction_params/part3/00009.png new file mode 100644 index 00000000..1dac7479 Binary files /dev/null and b/tests/snapshots/stax/test_transaction_params/part3/00009.png differ diff --git a/tests/snapshots/stax/test_transaction_params/part4/00001.png b/tests/snapshots/stax/test_transaction_params/part4/00001.png index 23b44e3e..0e302d91 100644 Binary files a/tests/snapshots/stax/test_transaction_params/part4/00001.png and b/tests/snapshots/stax/test_transaction_params/part4/00001.png differ diff --git a/tests/snapshots/stax/test_transaction_params/part4/00002.png b/tests/snapshots/stax/test_transaction_params/part4/00002.png index a2e7a49c..c44eed83 100644 Binary files a/tests/snapshots/stax/test_transaction_params/part4/00002.png and b/tests/snapshots/stax/test_transaction_params/part4/00002.png differ diff --git a/tests/snapshots/stax/test_transaction_params/part4/00003.png b/tests/snapshots/stax/test_transaction_params/part4/00003.png index fb625e5a..0202c9f2 100644 Binary files a/tests/snapshots/stax/test_transaction_params/part4/00003.png and b/tests/snapshots/stax/test_transaction_params/part4/00003.png differ diff --git a/tests/snapshots/stax/test_transaction_params/part4/00004.png b/tests/snapshots/stax/test_transaction_params/part4/00004.png index 670766fe..5c8ec2c1 100644 Binary files a/tests/snapshots/stax/test_transaction_params/part4/00004.png and b/tests/snapshots/stax/test_transaction_params/part4/00004.png differ diff --git a/tests/snapshots/stax/test_transaction_params/part4/00005.png b/tests/snapshots/stax/test_transaction_params/part4/00005.png index c3138c77..30d3b010 100644 Binary files a/tests/snapshots/stax/test_transaction_params/part4/00005.png and b/tests/snapshots/stax/test_transaction_params/part4/00005.png differ diff --git a/tests/snapshots/stax/test_transaction_params/part4/00006.png b/tests/snapshots/stax/test_transaction_params/part4/00006.png index cd2f5275..5ff4c5f3 100644 Binary files a/tests/snapshots/stax/test_transaction_params/part4/00006.png and b/tests/snapshots/stax/test_transaction_params/part4/00006.png differ diff --git a/tests/snapshots/stax/test_transaction_params/part4/00007.png b/tests/snapshots/stax/test_transaction_params/part4/00007.png index 1dac7479..59aa6484 100644 Binary files a/tests/snapshots/stax/test_transaction_params/part4/00007.png and b/tests/snapshots/stax/test_transaction_params/part4/00007.png differ diff --git a/tests/snapshots/stax/test_transaction_params/part4/00008.png b/tests/snapshots/stax/test_transaction_params/part4/00008.png new file mode 100644 index 00000000..cd2f5275 Binary files /dev/null and b/tests/snapshots/stax/test_transaction_params/part4/00008.png differ diff --git a/tests/snapshots/stax/test_transaction_params/part4/00009.png b/tests/snapshots/stax/test_transaction_params/part4/00009.png new file mode 100644 index 00000000..1dac7479 Binary files /dev/null and b/tests/snapshots/stax/test_transaction_params/part4/00009.png differ diff --git a/tests/snapshots/stax/test_transaction_params/part5/00001.png b/tests/snapshots/stax/test_transaction_params/part5/00001.png index 10502ed8..4b846bac 100644 Binary files a/tests/snapshots/stax/test_transaction_params/part5/00001.png and b/tests/snapshots/stax/test_transaction_params/part5/00001.png differ diff --git a/tests/snapshots/stax/test_transaction_params/part5/00002.png b/tests/snapshots/stax/test_transaction_params/part5/00002.png index 2c775e2b..c44eed83 100644 Binary files a/tests/snapshots/stax/test_transaction_params/part5/00002.png and b/tests/snapshots/stax/test_transaction_params/part5/00002.png differ diff --git a/tests/snapshots/stax/test_transaction_params/part5/00003.png b/tests/snapshots/stax/test_transaction_params/part5/00003.png index 944a06e0..0202c9f2 100644 Binary files a/tests/snapshots/stax/test_transaction_params/part5/00003.png and b/tests/snapshots/stax/test_transaction_params/part5/00003.png differ diff --git a/tests/snapshots/stax/test_transaction_params/part5/00004.png b/tests/snapshots/stax/test_transaction_params/part5/00004.png index e32fd6f6..5c8ec2c1 100644 Binary files a/tests/snapshots/stax/test_transaction_params/part5/00004.png and b/tests/snapshots/stax/test_transaction_params/part5/00004.png differ diff --git a/tests/snapshots/stax/test_transaction_params/part5/00005.png b/tests/snapshots/stax/test_transaction_params/part5/00005.png index 317a8702..30d3b010 100644 Binary files a/tests/snapshots/stax/test_transaction_params/part5/00005.png and b/tests/snapshots/stax/test_transaction_params/part5/00005.png differ diff --git a/tests/snapshots/stax/test_transaction_params/part6/00001.png b/tests/snapshots/stax/test_transaction_params/part6/00001.png index 10502ed8..4b846bac 100644 Binary files a/tests/snapshots/stax/test_transaction_params/part6/00001.png and b/tests/snapshots/stax/test_transaction_params/part6/00001.png differ diff --git a/tests/snapshots/stax/test_transaction_params/part6/00002.png b/tests/snapshots/stax/test_transaction_params/part6/00002.png index 2c775e2b..c44eed83 100644 Binary files a/tests/snapshots/stax/test_transaction_params/part6/00002.png and b/tests/snapshots/stax/test_transaction_params/part6/00002.png differ diff --git a/tests/snapshots/stax/test_transaction_params/part6/00003.png b/tests/snapshots/stax/test_transaction_params/part6/00003.png index 944a06e0..0202c9f2 100644 Binary files a/tests/snapshots/stax/test_transaction_params/part6/00003.png and b/tests/snapshots/stax/test_transaction_params/part6/00003.png differ diff --git a/tests/snapshots/stax/test_transaction_params/part6/00004.png b/tests/snapshots/stax/test_transaction_params/part6/00004.png index e32fd6f6..5c8ec2c1 100644 Binary files a/tests/snapshots/stax/test_transaction_params/part6/00004.png and b/tests/snapshots/stax/test_transaction_params/part6/00004.png differ diff --git a/tests/snapshots/stax/test_transaction_params/part6/00005.png b/tests/snapshots/stax/test_transaction_params/part6/00005.png index 317a8702..30d3b010 100644 Binary files a/tests/snapshots/stax/test_transaction_params/part6/00005.png and b/tests/snapshots/stax/test_transaction_params/part6/00005.png differ diff --git a/tests/snapshots/stax/test_transaction_params/part7/00001.png b/tests/snapshots/stax/test_transaction_params/part7/00001.png index 10502ed8..4b846bac 100644 Binary files a/tests/snapshots/stax/test_transaction_params/part7/00001.png and b/tests/snapshots/stax/test_transaction_params/part7/00001.png differ diff --git a/tests/snapshots/stax/test_transaction_params/part7/00002.png b/tests/snapshots/stax/test_transaction_params/part7/00002.png index 2c775e2b..c44eed83 100644 Binary files a/tests/snapshots/stax/test_transaction_params/part7/00002.png and b/tests/snapshots/stax/test_transaction_params/part7/00002.png differ diff --git a/tests/snapshots/stax/test_transaction_params/part7/00003.png b/tests/snapshots/stax/test_transaction_params/part7/00003.png index 944a06e0..0202c9f2 100644 Binary files a/tests/snapshots/stax/test_transaction_params/part7/00003.png and b/tests/snapshots/stax/test_transaction_params/part7/00003.png differ diff --git a/tests/snapshots/stax/test_transaction_params/part7/00004.png b/tests/snapshots/stax/test_transaction_params/part7/00004.png index e32fd6f6..5c8ec2c1 100644 Binary files a/tests/snapshots/stax/test_transaction_params/part7/00004.png and b/tests/snapshots/stax/test_transaction_params/part7/00004.png differ diff --git a/tests/snapshots/stax/test_transaction_params/part7/00005.png b/tests/snapshots/stax/test_transaction_params/part7/00005.png index 317a8702..30d3b010 100644 Binary files a/tests/snapshots/stax/test_transaction_params/part7/00005.png and b/tests/snapshots/stax/test_transaction_params/part7/00005.png differ diff --git a/tests/snapshots/stax/test_transaction_params/part8/00001.png b/tests/snapshots/stax/test_transaction_params/part8/00001.png index 10502ed8..4b846bac 100644 Binary files a/tests/snapshots/stax/test_transaction_params/part8/00001.png and b/tests/snapshots/stax/test_transaction_params/part8/00001.png differ diff --git a/tests/snapshots/stax/test_transaction_params/part8/00002.png b/tests/snapshots/stax/test_transaction_params/part8/00002.png index 2c775e2b..c44eed83 100644 Binary files a/tests/snapshots/stax/test_transaction_params/part8/00002.png and b/tests/snapshots/stax/test_transaction_params/part8/00002.png differ diff --git a/tests/snapshots/stax/test_transaction_params/part8/00003.png b/tests/snapshots/stax/test_transaction_params/part8/00003.png index 944a06e0..0202c9f2 100644 Binary files a/tests/snapshots/stax/test_transaction_params/part8/00003.png and b/tests/snapshots/stax/test_transaction_params/part8/00003.png differ diff --git a/tests/snapshots/stax/test_transaction_params/part8/00004.png b/tests/snapshots/stax/test_transaction_params/part8/00004.png index e32fd6f6..5c8ec2c1 100644 Binary files a/tests/snapshots/stax/test_transaction_params/part8/00004.png and b/tests/snapshots/stax/test_transaction_params/part8/00004.png differ diff --git a/tests/snapshots/stax/test_transaction_params/part8/00005.png b/tests/snapshots/stax/test_transaction_params/part8/00005.png index 317a8702..30d3b010 100644 Binary files a/tests/snapshots/stax/test_transaction_params/part8/00005.png and b/tests/snapshots/stax/test_transaction_params/part8/00005.png differ diff --git a/tests/snapshots/stax/test_transaction_params/part9/00001.png b/tests/snapshots/stax/test_transaction_params/part9/00001.png index 74045c38..9128c56e 100644 Binary files a/tests/snapshots/stax/test_transaction_params/part9/00001.png and b/tests/snapshots/stax/test_transaction_params/part9/00001.png differ diff --git a/tests/snapshots/stax/test_transaction_params/part9/00002.png b/tests/snapshots/stax/test_transaction_params/part9/00002.png index ba713cb3..13dbf109 100644 Binary files a/tests/snapshots/stax/test_transaction_params/part9/00002.png and b/tests/snapshots/stax/test_transaction_params/part9/00002.png differ diff --git a/tests/snapshots/stax/test_transaction_params/part9/00003.png b/tests/snapshots/stax/test_transaction_params/part9/00003.png index e4fe1788..234968d1 100644 Binary files a/tests/snapshots/stax/test_transaction_params/part9/00003.png and b/tests/snapshots/stax/test_transaction_params/part9/00003.png differ diff --git a/tests/snapshots/stax/test_transaction_params/part9/00004.png b/tests/snapshots/stax/test_transaction_params/part9/00004.png index a615d1ae..670766fe 100644 Binary files a/tests/snapshots/stax/test_transaction_params/part9/00004.png and b/tests/snapshots/stax/test_transaction_params/part9/00004.png differ diff --git a/tests/snapshots/stax/test_transaction_params/part9/00005.png b/tests/snapshots/stax/test_transaction_params/part9/00005.png index 0646bd44..c3138c77 100644 Binary files a/tests/snapshots/stax/test_transaction_params/part9/00005.png and b/tests/snapshots/stax/test_transaction_params/part9/00005.png differ diff --git a/tests/snapshots/stax/test_transaction_params/part9/00006.png b/tests/snapshots/stax/test_transaction_params/part9/00006.png index d8282095..cd2f5275 100644 Binary files a/tests/snapshots/stax/test_transaction_params/part9/00006.png and b/tests/snapshots/stax/test_transaction_params/part9/00006.png differ diff --git a/tests/snapshots/stax/test_transaction_params/part9/00007.png b/tests/snapshots/stax/test_transaction_params/part9/00007.png index cd2f5275..1dac7479 100644 Binary files a/tests/snapshots/stax/test_transaction_params/part9/00007.png and b/tests/snapshots/stax/test_transaction_params/part9/00007.png differ diff --git a/tests/snapshots/stax/test_transaction_slot/part0/00001.png b/tests/snapshots/stax/test_transaction_slot/part0/00001.png index 23b44e3e..4b846bac 100644 Binary files a/tests/snapshots/stax/test_transaction_slot/part0/00001.png and b/tests/snapshots/stax/test_transaction_slot/part0/00001.png differ diff --git a/tests/snapshots/stax/test_transaction_slot/part0/00002.png b/tests/snapshots/stax/test_transaction_slot/part0/00002.png index a2e7a49c..c44eed83 100644 Binary files a/tests/snapshots/stax/test_transaction_slot/part0/00002.png and b/tests/snapshots/stax/test_transaction_slot/part0/00002.png differ diff --git a/tests/snapshots/stax/test_transaction_slot/part0/00003.png b/tests/snapshots/stax/test_transaction_slot/part0/00003.png index fb625e5a..0202c9f2 100644 Binary files a/tests/snapshots/stax/test_transaction_slot/part0/00003.png and b/tests/snapshots/stax/test_transaction_slot/part0/00003.png differ diff --git a/tests/snapshots/stax/test_transaction_slot/part0/00004.png b/tests/snapshots/stax/test_transaction_slot/part0/00004.png index 670766fe..5c8ec2c1 100644 Binary files a/tests/snapshots/stax/test_transaction_slot/part0/00004.png and b/tests/snapshots/stax/test_transaction_slot/part0/00004.png differ diff --git a/tests/snapshots/stax/test_transaction_slot/part0/00005.png b/tests/snapshots/stax/test_transaction_slot/part0/00005.png index c3138c77..30d3b010 100644 Binary files a/tests/snapshots/stax/test_transaction_slot/part0/00005.png and b/tests/snapshots/stax/test_transaction_slot/part0/00005.png differ diff --git a/tests/snapshots/stax/test_transaction_slot/part0/00006.png b/tests/snapshots/stax/test_transaction_slot/part0/00006.png index cd2f5275..5ff4c5f3 100644 Binary files a/tests/snapshots/stax/test_transaction_slot/part0/00006.png and b/tests/snapshots/stax/test_transaction_slot/part0/00006.png differ diff --git a/tests/snapshots/stax/test_transaction_slot/part0/00007.png b/tests/snapshots/stax/test_transaction_slot/part0/00007.png index 1dac7479..59aa6484 100644 Binary files a/tests/snapshots/stax/test_transaction_slot/part0/00007.png and b/tests/snapshots/stax/test_transaction_slot/part0/00007.png differ diff --git a/tests/snapshots/stax/test_transaction_slot/part0/00008.png b/tests/snapshots/stax/test_transaction_slot/part0/00008.png new file mode 100644 index 00000000..cd2f5275 Binary files /dev/null and b/tests/snapshots/stax/test_transaction_slot/part0/00008.png differ diff --git a/tests/snapshots/stax/test_transaction_slot/part0/00009.png b/tests/snapshots/stax/test_transaction_slot/part0/00009.png new file mode 100644 index 00000000..1dac7479 Binary files /dev/null and b/tests/snapshots/stax/test_transaction_slot/part0/00009.png differ diff --git a/tests/snapshots/stax/test_transaction_slot/part10/00001.png b/tests/snapshots/stax/test_transaction_slot/part10/00001.png index b12a589c..782053a9 100644 Binary files a/tests/snapshots/stax/test_transaction_slot/part10/00001.png and b/tests/snapshots/stax/test_transaction_slot/part10/00001.png differ diff --git a/tests/snapshots/stax/test_transaction_slot/part10/00002.png b/tests/snapshots/stax/test_transaction_slot/part10/00002.png index 3da0a583..4a493d61 100644 Binary files a/tests/snapshots/stax/test_transaction_slot/part10/00002.png and b/tests/snapshots/stax/test_transaction_slot/part10/00002.png differ diff --git a/tests/snapshots/stax/test_transaction_slot/part10/00003.png b/tests/snapshots/stax/test_transaction_slot/part10/00003.png index 528fb8ce..9cc61fc1 100644 Binary files a/tests/snapshots/stax/test_transaction_slot/part10/00003.png and b/tests/snapshots/stax/test_transaction_slot/part10/00003.png differ diff --git a/tests/snapshots/stax/test_transaction_slot/part10/00004.png b/tests/snapshots/stax/test_transaction_slot/part10/00004.png index ef6cce46..33d6f225 100644 Binary files a/tests/snapshots/stax/test_transaction_slot/part10/00004.png and b/tests/snapshots/stax/test_transaction_slot/part10/00004.png differ diff --git a/tests/snapshots/stax/test_transaction_slot/part10/00005.png b/tests/snapshots/stax/test_transaction_slot/part10/00005.png index cd2f5275..30f4d542 100644 Binary files a/tests/snapshots/stax/test_transaction_slot/part10/00005.png and b/tests/snapshots/stax/test_transaction_slot/part10/00005.png differ diff --git a/tests/snapshots/stax/test_transaction_slot/part10/00006.png b/tests/snapshots/stax/test_transaction_slot/part10/00006.png index 1dac7479..d8282095 100644 Binary files a/tests/snapshots/stax/test_transaction_slot/part10/00006.png and b/tests/snapshots/stax/test_transaction_slot/part10/00006.png differ diff --git a/tests/snapshots/stax/test_transaction_slot/part10/00007.png b/tests/snapshots/stax/test_transaction_slot/part10/00007.png new file mode 100644 index 00000000..cd2f5275 Binary files /dev/null and b/tests/snapshots/stax/test_transaction_slot/part10/00007.png differ diff --git a/tests/snapshots/stax/test_transaction_slot/part10/00008.png b/tests/snapshots/stax/test_transaction_slot/part10/00008.png new file mode 100644 index 00000000..1dac7479 Binary files /dev/null and b/tests/snapshots/stax/test_transaction_slot/part10/00008.png differ diff --git a/tests/snapshots/stax/test_transaction_slot/part12/00001.png b/tests/snapshots/stax/test_transaction_slot/part12/00001.png index af66a9c6..4b846bac 100644 Binary files a/tests/snapshots/stax/test_transaction_slot/part12/00001.png and b/tests/snapshots/stax/test_transaction_slot/part12/00001.png differ diff --git a/tests/snapshots/stax/test_transaction_slot/part12/00002.png b/tests/snapshots/stax/test_transaction_slot/part12/00002.png index b3abe178..c44eed83 100644 Binary files a/tests/snapshots/stax/test_transaction_slot/part12/00002.png and b/tests/snapshots/stax/test_transaction_slot/part12/00002.png differ diff --git a/tests/snapshots/stax/test_transaction_slot/part12/00003.png b/tests/snapshots/stax/test_transaction_slot/part12/00003.png index f1f28241..0202c9f2 100644 Binary files a/tests/snapshots/stax/test_transaction_slot/part12/00003.png and b/tests/snapshots/stax/test_transaction_slot/part12/00003.png differ diff --git a/tests/snapshots/stax/test_transaction_slot/part12/00004.png b/tests/snapshots/stax/test_transaction_slot/part12/00004.png index 99c8cadb..5c8ec2c1 100644 Binary files a/tests/snapshots/stax/test_transaction_slot/part12/00004.png and b/tests/snapshots/stax/test_transaction_slot/part12/00004.png differ diff --git a/tests/snapshots/stax/test_transaction_slot/part12/00005.png b/tests/snapshots/stax/test_transaction_slot/part12/00005.png index c3138c77..30d3b010 100644 Binary files a/tests/snapshots/stax/test_transaction_slot/part12/00005.png and b/tests/snapshots/stax/test_transaction_slot/part12/00005.png differ diff --git a/tests/snapshots/stax/test_transaction_slot/part12/00006.png b/tests/snapshots/stax/test_transaction_slot/part12/00006.png index cd2f5275..6fb72a2b 100644 Binary files a/tests/snapshots/stax/test_transaction_slot/part12/00006.png and b/tests/snapshots/stax/test_transaction_slot/part12/00006.png differ diff --git a/tests/snapshots/stax/test_transaction_slot/part12/00007.png b/tests/snapshots/stax/test_transaction_slot/part12/00007.png index 1dac7479..59aa6484 100644 Binary files a/tests/snapshots/stax/test_transaction_slot/part12/00007.png and b/tests/snapshots/stax/test_transaction_slot/part12/00007.png differ diff --git a/tests/snapshots/stax/test_transaction_slot/part12/00008.png b/tests/snapshots/stax/test_transaction_slot/part12/00008.png new file mode 100644 index 00000000..cd2f5275 Binary files /dev/null and b/tests/snapshots/stax/test_transaction_slot/part12/00008.png differ diff --git a/tests/snapshots/stax/test_transaction_slot/part12/00009.png b/tests/snapshots/stax/test_transaction_slot/part12/00009.png new file mode 100644 index 00000000..1dac7479 Binary files /dev/null and b/tests/snapshots/stax/test_transaction_slot/part12/00009.png differ diff --git a/tests/snapshots/stax/test_transaction_slot/part14/00001.png b/tests/snapshots/stax/test_transaction_slot/part14/00001.png index af66a9c6..4b846bac 100644 Binary files a/tests/snapshots/stax/test_transaction_slot/part14/00001.png and b/tests/snapshots/stax/test_transaction_slot/part14/00001.png differ diff --git a/tests/snapshots/stax/test_transaction_slot/part14/00002.png b/tests/snapshots/stax/test_transaction_slot/part14/00002.png index b3abe178..c44eed83 100644 Binary files a/tests/snapshots/stax/test_transaction_slot/part14/00002.png and b/tests/snapshots/stax/test_transaction_slot/part14/00002.png differ diff --git a/tests/snapshots/stax/test_transaction_slot/part14/00003.png b/tests/snapshots/stax/test_transaction_slot/part14/00003.png index f1f28241..0202c9f2 100644 Binary files a/tests/snapshots/stax/test_transaction_slot/part14/00003.png and b/tests/snapshots/stax/test_transaction_slot/part14/00003.png differ diff --git a/tests/snapshots/stax/test_transaction_slot/part14/00004.png b/tests/snapshots/stax/test_transaction_slot/part14/00004.png index 6954c72d..5c8ec2c1 100644 Binary files a/tests/snapshots/stax/test_transaction_slot/part14/00004.png and b/tests/snapshots/stax/test_transaction_slot/part14/00004.png differ diff --git a/tests/snapshots/stax/test_transaction_slot/part14/00005.png b/tests/snapshots/stax/test_transaction_slot/part14/00005.png index c3138c77..30d3b010 100644 Binary files a/tests/snapshots/stax/test_transaction_slot/part14/00005.png and b/tests/snapshots/stax/test_transaction_slot/part14/00005.png differ diff --git a/tests/snapshots/stax/test_transaction_slot/part14/00006.png b/tests/snapshots/stax/test_transaction_slot/part14/00006.png index cd2f5275..bafe24ff 100644 Binary files a/tests/snapshots/stax/test_transaction_slot/part14/00006.png and b/tests/snapshots/stax/test_transaction_slot/part14/00006.png differ diff --git a/tests/snapshots/stax/test_transaction_slot/part14/00007.png b/tests/snapshots/stax/test_transaction_slot/part14/00007.png index 1dac7479..59aa6484 100644 Binary files a/tests/snapshots/stax/test_transaction_slot/part14/00007.png and b/tests/snapshots/stax/test_transaction_slot/part14/00007.png differ diff --git a/tests/snapshots/stax/test_transaction_slot/part14/00008.png b/tests/snapshots/stax/test_transaction_slot/part14/00008.png new file mode 100644 index 00000000..cd2f5275 Binary files /dev/null and b/tests/snapshots/stax/test_transaction_slot/part14/00008.png differ diff --git a/tests/snapshots/stax/test_transaction_slot/part14/00009.png b/tests/snapshots/stax/test_transaction_slot/part14/00009.png new file mode 100644 index 00000000..1dac7479 Binary files /dev/null and b/tests/snapshots/stax/test_transaction_slot/part14/00009.png differ diff --git a/tests/snapshots/stax/test_transaction_slot/part15/00001.png b/tests/snapshots/stax/test_transaction_slot/part15/00001.png index 23b44e3e..4b846bac 100644 Binary files a/tests/snapshots/stax/test_transaction_slot/part15/00001.png and b/tests/snapshots/stax/test_transaction_slot/part15/00001.png differ diff --git a/tests/snapshots/stax/test_transaction_slot/part15/00002.png b/tests/snapshots/stax/test_transaction_slot/part15/00002.png index a2e7a49c..c44eed83 100644 Binary files a/tests/snapshots/stax/test_transaction_slot/part15/00002.png and b/tests/snapshots/stax/test_transaction_slot/part15/00002.png differ diff --git a/tests/snapshots/stax/test_transaction_slot/part15/00003.png b/tests/snapshots/stax/test_transaction_slot/part15/00003.png index fb625e5a..0202c9f2 100644 Binary files a/tests/snapshots/stax/test_transaction_slot/part15/00003.png and b/tests/snapshots/stax/test_transaction_slot/part15/00003.png differ diff --git a/tests/snapshots/stax/test_transaction_slot/part15/00004.png b/tests/snapshots/stax/test_transaction_slot/part15/00004.png index d09682ec..5c8ec2c1 100644 Binary files a/tests/snapshots/stax/test_transaction_slot/part15/00004.png and b/tests/snapshots/stax/test_transaction_slot/part15/00004.png differ diff --git a/tests/snapshots/stax/test_transaction_slot/part15/00005.png b/tests/snapshots/stax/test_transaction_slot/part15/00005.png index c3138c77..30d3b010 100644 Binary files a/tests/snapshots/stax/test_transaction_slot/part15/00005.png and b/tests/snapshots/stax/test_transaction_slot/part15/00005.png differ diff --git a/tests/snapshots/stax/test_transaction_slot/part15/00006.png b/tests/snapshots/stax/test_transaction_slot/part15/00006.png index cd2f5275..f2665378 100644 Binary files a/tests/snapshots/stax/test_transaction_slot/part15/00006.png and b/tests/snapshots/stax/test_transaction_slot/part15/00006.png differ diff --git a/tests/snapshots/stax/test_transaction_slot/part15/00007.png b/tests/snapshots/stax/test_transaction_slot/part15/00007.png index 1dac7479..59aa6484 100644 Binary files a/tests/snapshots/stax/test_transaction_slot/part15/00007.png and b/tests/snapshots/stax/test_transaction_slot/part15/00007.png differ diff --git a/tests/snapshots/stax/test_transaction_slot/part15/00008.png b/tests/snapshots/stax/test_transaction_slot/part15/00008.png new file mode 100644 index 00000000..cd2f5275 Binary files /dev/null and b/tests/snapshots/stax/test_transaction_slot/part15/00008.png differ diff --git a/tests/snapshots/stax/test_transaction_slot/part15/00009.png b/tests/snapshots/stax/test_transaction_slot/part15/00009.png new file mode 100644 index 00000000..1dac7479 Binary files /dev/null and b/tests/snapshots/stax/test_transaction_slot/part15/00009.png differ diff --git a/tests/snapshots/stax/test_transaction_slot/part2/00001.png b/tests/snapshots/stax/test_transaction_slot/part2/00001.png index 23b44e3e..4b846bac 100644 Binary files a/tests/snapshots/stax/test_transaction_slot/part2/00001.png and b/tests/snapshots/stax/test_transaction_slot/part2/00001.png differ diff --git a/tests/snapshots/stax/test_transaction_slot/part2/00002.png b/tests/snapshots/stax/test_transaction_slot/part2/00002.png index a2e7a49c..c44eed83 100644 Binary files a/tests/snapshots/stax/test_transaction_slot/part2/00002.png and b/tests/snapshots/stax/test_transaction_slot/part2/00002.png differ diff --git a/tests/snapshots/stax/test_transaction_slot/part2/00003.png b/tests/snapshots/stax/test_transaction_slot/part2/00003.png index fb625e5a..0202c9f2 100644 Binary files a/tests/snapshots/stax/test_transaction_slot/part2/00003.png and b/tests/snapshots/stax/test_transaction_slot/part2/00003.png differ diff --git a/tests/snapshots/stax/test_transaction_slot/part2/00004.png b/tests/snapshots/stax/test_transaction_slot/part2/00004.png index a723ad17..5c8ec2c1 100644 Binary files a/tests/snapshots/stax/test_transaction_slot/part2/00004.png and b/tests/snapshots/stax/test_transaction_slot/part2/00004.png differ diff --git a/tests/snapshots/stax/test_transaction_slot/part2/00005.png b/tests/snapshots/stax/test_transaction_slot/part2/00005.png index c3138c77..30d3b010 100644 Binary files a/tests/snapshots/stax/test_transaction_slot/part2/00005.png and b/tests/snapshots/stax/test_transaction_slot/part2/00005.png differ diff --git a/tests/snapshots/stax/test_transaction_slot/part2/00006.png b/tests/snapshots/stax/test_transaction_slot/part2/00006.png index cd2f5275..e875009e 100644 Binary files a/tests/snapshots/stax/test_transaction_slot/part2/00006.png and b/tests/snapshots/stax/test_transaction_slot/part2/00006.png differ diff --git a/tests/snapshots/stax/test_transaction_slot/part2/00007.png b/tests/snapshots/stax/test_transaction_slot/part2/00007.png index 1dac7479..59aa6484 100644 Binary files a/tests/snapshots/stax/test_transaction_slot/part2/00007.png and b/tests/snapshots/stax/test_transaction_slot/part2/00007.png differ diff --git a/tests/snapshots/stax/test_transaction_slot/part2/00008.png b/tests/snapshots/stax/test_transaction_slot/part2/00008.png new file mode 100644 index 00000000..cd2f5275 Binary files /dev/null and b/tests/snapshots/stax/test_transaction_slot/part2/00008.png differ diff --git a/tests/snapshots/stax/test_transaction_slot/part2/00009.png b/tests/snapshots/stax/test_transaction_slot/part2/00009.png new file mode 100644 index 00000000..1dac7479 Binary files /dev/null and b/tests/snapshots/stax/test_transaction_slot/part2/00009.png differ diff --git a/tests/snapshots/stax/test_transaction_slot/part3/00001.png b/tests/snapshots/stax/test_transaction_slot/part3/00001.png index b9933fd3..4b846bac 100644 Binary files a/tests/snapshots/stax/test_transaction_slot/part3/00001.png and b/tests/snapshots/stax/test_transaction_slot/part3/00001.png differ diff --git a/tests/snapshots/stax/test_transaction_slot/part3/00002.png b/tests/snapshots/stax/test_transaction_slot/part3/00002.png index dffed1e1..c44eed83 100644 Binary files a/tests/snapshots/stax/test_transaction_slot/part3/00002.png and b/tests/snapshots/stax/test_transaction_slot/part3/00002.png differ diff --git a/tests/snapshots/stax/test_transaction_slot/part3/00003.png b/tests/snapshots/stax/test_transaction_slot/part3/00003.png index cbfc6f79..0202c9f2 100644 Binary files a/tests/snapshots/stax/test_transaction_slot/part3/00003.png and b/tests/snapshots/stax/test_transaction_slot/part3/00003.png differ diff --git a/tests/snapshots/stax/test_transaction_slot/part3/00004.png b/tests/snapshots/stax/test_transaction_slot/part3/00004.png index ef6cce46..5c8ec2c1 100644 Binary files a/tests/snapshots/stax/test_transaction_slot/part3/00004.png and b/tests/snapshots/stax/test_transaction_slot/part3/00004.png differ diff --git a/tests/snapshots/stax/test_transaction_slot/part3/00005.png b/tests/snapshots/stax/test_transaction_slot/part3/00005.png index cd2f5275..30d3b010 100644 Binary files a/tests/snapshots/stax/test_transaction_slot/part3/00005.png and b/tests/snapshots/stax/test_transaction_slot/part3/00005.png differ diff --git a/tests/snapshots/stax/test_transaction_slot/part3/00006.png b/tests/snapshots/stax/test_transaction_slot/part3/00006.png index 1dac7479..828aeeab 100644 Binary files a/tests/snapshots/stax/test_transaction_slot/part3/00006.png and b/tests/snapshots/stax/test_transaction_slot/part3/00006.png differ diff --git a/tests/snapshots/stax/test_transaction_slot/part3/00007.png b/tests/snapshots/stax/test_transaction_slot/part3/00007.png new file mode 100644 index 00000000..59aa6484 Binary files /dev/null and b/tests/snapshots/stax/test_transaction_slot/part3/00007.png differ diff --git a/tests/snapshots/stax/test_transaction_slot/part3/00008.png b/tests/snapshots/stax/test_transaction_slot/part3/00008.png new file mode 100644 index 00000000..cd2f5275 Binary files /dev/null and b/tests/snapshots/stax/test_transaction_slot/part3/00008.png differ diff --git a/tests/snapshots/stax/test_transaction_slot/part3/00009.png b/tests/snapshots/stax/test_transaction_slot/part3/00009.png new file mode 100644 index 00000000..1dac7479 Binary files /dev/null and b/tests/snapshots/stax/test_transaction_slot/part3/00009.png differ diff --git a/tests/snapshots/stax/test_transaction_slot/part4/00001.png b/tests/snapshots/stax/test_transaction_slot/part4/00001.png index af66a9c6..4b846bac 100644 Binary files a/tests/snapshots/stax/test_transaction_slot/part4/00001.png and b/tests/snapshots/stax/test_transaction_slot/part4/00001.png differ diff --git a/tests/snapshots/stax/test_transaction_slot/part4/00002.png b/tests/snapshots/stax/test_transaction_slot/part4/00002.png index b3abe178..c44eed83 100644 Binary files a/tests/snapshots/stax/test_transaction_slot/part4/00002.png and b/tests/snapshots/stax/test_transaction_slot/part4/00002.png differ diff --git a/tests/snapshots/stax/test_transaction_slot/part4/00003.png b/tests/snapshots/stax/test_transaction_slot/part4/00003.png index f1f28241..0202c9f2 100644 Binary files a/tests/snapshots/stax/test_transaction_slot/part4/00003.png and b/tests/snapshots/stax/test_transaction_slot/part4/00003.png differ diff --git a/tests/snapshots/stax/test_transaction_slot/part4/00004.png b/tests/snapshots/stax/test_transaction_slot/part4/00004.png index e70ab30a..5c8ec2c1 100644 Binary files a/tests/snapshots/stax/test_transaction_slot/part4/00004.png and b/tests/snapshots/stax/test_transaction_slot/part4/00004.png differ diff --git a/tests/snapshots/stax/test_transaction_slot/part4/00005.png b/tests/snapshots/stax/test_transaction_slot/part4/00005.png index c3138c77..30d3b010 100644 Binary files a/tests/snapshots/stax/test_transaction_slot/part4/00005.png and b/tests/snapshots/stax/test_transaction_slot/part4/00005.png differ diff --git a/tests/snapshots/stax/test_transaction_slot/part4/00006.png b/tests/snapshots/stax/test_transaction_slot/part4/00006.png index cd2f5275..828aeeab 100644 Binary files a/tests/snapshots/stax/test_transaction_slot/part4/00006.png and b/tests/snapshots/stax/test_transaction_slot/part4/00006.png differ diff --git a/tests/snapshots/stax/test_transaction_slot/part4/00007.png b/tests/snapshots/stax/test_transaction_slot/part4/00007.png index 1dac7479..59aa6484 100644 Binary files a/tests/snapshots/stax/test_transaction_slot/part4/00007.png and b/tests/snapshots/stax/test_transaction_slot/part4/00007.png differ diff --git a/tests/snapshots/stax/test_transaction_slot/part4/00008.png b/tests/snapshots/stax/test_transaction_slot/part4/00008.png new file mode 100644 index 00000000..cd2f5275 Binary files /dev/null and b/tests/snapshots/stax/test_transaction_slot/part4/00008.png differ diff --git a/tests/snapshots/stax/test_transaction_slot/part4/00009.png b/tests/snapshots/stax/test_transaction_slot/part4/00009.png new file mode 100644 index 00000000..1dac7479 Binary files /dev/null and b/tests/snapshots/stax/test_transaction_slot/part4/00009.png differ diff --git a/tests/snapshots/stax/test_transaction_slot/part6/00001.png b/tests/snapshots/stax/test_transaction_slot/part6/00001.png index b9933fd3..8a445a2c 100644 Binary files a/tests/snapshots/stax/test_transaction_slot/part6/00001.png and b/tests/snapshots/stax/test_transaction_slot/part6/00001.png differ diff --git a/tests/snapshots/stax/test_transaction_slot/part6/00002.png b/tests/snapshots/stax/test_transaction_slot/part6/00002.png index 3da0a583..4a493d61 100644 Binary files a/tests/snapshots/stax/test_transaction_slot/part6/00002.png and b/tests/snapshots/stax/test_transaction_slot/part6/00002.png differ diff --git a/tests/snapshots/stax/test_transaction_slot/part6/00003.png b/tests/snapshots/stax/test_transaction_slot/part6/00003.png index 134da5a7..9cc61fc1 100644 Binary files a/tests/snapshots/stax/test_transaction_slot/part6/00003.png and b/tests/snapshots/stax/test_transaction_slot/part6/00003.png differ diff --git a/tests/snapshots/stax/test_transaction_slot/part6/00004.png b/tests/snapshots/stax/test_transaction_slot/part6/00004.png index ef6cce46..33d6f225 100644 Binary files a/tests/snapshots/stax/test_transaction_slot/part6/00004.png and b/tests/snapshots/stax/test_transaction_slot/part6/00004.png differ diff --git a/tests/snapshots/stax/test_transaction_slot/part6/00005.png b/tests/snapshots/stax/test_transaction_slot/part6/00005.png index cd2f5275..5567d721 100644 Binary files a/tests/snapshots/stax/test_transaction_slot/part6/00005.png and b/tests/snapshots/stax/test_transaction_slot/part6/00005.png differ diff --git a/tests/snapshots/stax/test_transaction_slot/part6/00006.png b/tests/snapshots/stax/test_transaction_slot/part6/00006.png index 1dac7479..d8282095 100644 Binary files a/tests/snapshots/stax/test_transaction_slot/part6/00006.png and b/tests/snapshots/stax/test_transaction_slot/part6/00006.png differ diff --git a/tests/snapshots/stax/test_transaction_slot/part6/00007.png b/tests/snapshots/stax/test_transaction_slot/part6/00007.png new file mode 100644 index 00000000..cd2f5275 Binary files /dev/null and b/tests/snapshots/stax/test_transaction_slot/part6/00007.png differ diff --git a/tests/snapshots/stax/test_transaction_slot/part6/00008.png b/tests/snapshots/stax/test_transaction_slot/part6/00008.png new file mode 100644 index 00000000..1dac7479 Binary files /dev/null and b/tests/snapshots/stax/test_transaction_slot/part6/00008.png differ diff --git a/tests/snapshots/stax/test_transaction_slot/part8/00001.png b/tests/snapshots/stax/test_transaction_slot/part8/00001.png index b12a589c..782053a9 100644 Binary files a/tests/snapshots/stax/test_transaction_slot/part8/00001.png and b/tests/snapshots/stax/test_transaction_slot/part8/00001.png differ diff --git a/tests/snapshots/stax/test_transaction_slot/part8/00002.png b/tests/snapshots/stax/test_transaction_slot/part8/00002.png index dffed1e1..4a493d61 100644 Binary files a/tests/snapshots/stax/test_transaction_slot/part8/00002.png and b/tests/snapshots/stax/test_transaction_slot/part8/00002.png differ diff --git a/tests/snapshots/stax/test_transaction_slot/part8/00003.png b/tests/snapshots/stax/test_transaction_slot/part8/00003.png index 0e943ecf..9cc61fc1 100644 Binary files a/tests/snapshots/stax/test_transaction_slot/part8/00003.png and b/tests/snapshots/stax/test_transaction_slot/part8/00003.png differ diff --git a/tests/snapshots/stax/test_transaction_slot/part8/00004.png b/tests/snapshots/stax/test_transaction_slot/part8/00004.png index ef6cce46..30aeb712 100644 Binary files a/tests/snapshots/stax/test_transaction_slot/part8/00004.png and b/tests/snapshots/stax/test_transaction_slot/part8/00004.png differ diff --git a/tests/snapshots/stax/test_transaction_slot/part8/00005.png b/tests/snapshots/stax/test_transaction_slot/part8/00005.png index cd2f5275..a2187726 100644 Binary files a/tests/snapshots/stax/test_transaction_slot/part8/00005.png and b/tests/snapshots/stax/test_transaction_slot/part8/00005.png differ diff --git a/tests/snapshots/stax/test_transaction_slot/part8/00006.png b/tests/snapshots/stax/test_transaction_slot/part8/00006.png index 1dac7479..d8282095 100644 Binary files a/tests/snapshots/stax/test_transaction_slot/part8/00006.png and b/tests/snapshots/stax/test_transaction_slot/part8/00006.png differ diff --git a/tests/snapshots/stax/test_transaction_slot/part8/00007.png b/tests/snapshots/stax/test_transaction_slot/part8/00007.png new file mode 100644 index 00000000..cd2f5275 Binary files /dev/null and b/tests/snapshots/stax/test_transaction_slot/part8/00007.png differ diff --git a/tests/snapshots/stax/test_transaction_slot/part8/00008.png b/tests/snapshots/stax/test_transaction_slot/part8/00008.png new file mode 100644 index 00000000..1dac7479 Binary files /dev/null and b/tests/snapshots/stax/test_transaction_slot/part8/00008.png differ diff --git a/tests/test_sign_cmd.py b/tests/test_sign_cmd.py index e3f41f2a..c51ccdb2 100644 --- a/tests/test_sign_cmd.py +++ b/tests/test_sign_cmd.py @@ -1,8 +1,10 @@ from pathlib import Path import pytest +import re from application_client.flow_command_sender import FlowCommandSender, Errors, HashType, ClaType, InsType, P1 from application_client.flow_response_unpacker import unpack_sign_tx_response +from application_client.txMerkleTree import merkleTree, merkleIndex from ragger.bip import CurveChoice from ragger.error import ExceptionRAPDU @@ -51,42 +53,70 @@ def _check_transaction( # Check the signature util_check_signature(public_key, der_sig, message, curve, hash_t, signable_type) +def get_tx_and_hash(titles, network): + # Retrieve FA.01, FA.02, FA.03 from manifest + with open(MANIFEST_FILE) as json_file: + transactions = json.load(json_file) + + transactionsAndScriptHashes = [] + for transaction in transactions: + tx_name = transaction["title"].split()[0] + chain = transaction["chainID"] + if tx_name in titles and chain == network: + transactionsAndScriptHashes.append((transaction["encodedTransactionEnvelopeHex"], transaction["hash"])) + + return transactionsAndScriptHashes def test_transaction_metadata_errors(firmware, backend, navigator, test_name): - """ Check transaction signing with different parameters """ + """ Check metadata proofs. """ # Use the app interface instead of raw interface client = FlowCommandSender(backend) - # Test parameters - def send_tx_body() -> None: + + def send_tx_body() -> bytes: dataToSend: List[bytes]= [ bytes.fromhex("2c0000801b0200800102008000000000000000000103"), - bytes.fromhex("f9023ff9023bb90195696d706f72742046756e6769626c65546f6b656e2066726f6d203078656538323835366266323065326161360a7472616e73616374696f6e28616d6f756e743a205546697836342c20746f3a204164647265737329207b0a6c6574207661756c743a204046756e6769626c65546f6b656e2e5661756c740a70726570617265287369676e65723a20417574684163636f756e7429207b0a73656c662e7661756c74203c2d207369676e65720a2e626f72726f773c267b46756e6769626c65546f6b656e2e50726f76696465727d3e2866726f6d3a202f73746f726167652f666c6f77546f6b656e5661756c7429210a2e776974686472"), - bytes.fromhex("617728616d6f756e743a20616d6f756e74290a7d0a65786563757465207b0a6765744163636f756e7428746f290a2e6765744361706162696c697479282f7075626c69632f666c6f77546f6b656e526563656976657229210a2e626f72726f773c267b46756e6769626c65546f6b656e2e52656365697665727d3e2829210a2e6465706f7369742866726f6d3a203c2d73656c662e7661756c74290a7d0a7df861b07b2274797065223a22554669783634222c2276616c7565223a223138343436373434303733372e39353531363135227daf7b2274797065223a2241646472657373222c2276616c7565223a223078663864366530353836623061323063"), - bytes.fromhex("37227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f8d6e0586b0a20c7040a88f8d6e0586b0a20c7c988f8d6e0586b0a20c7c0"), + # This is FA.01 on Testnet, when the transaction changes, you need to modify the strings below according to the manifest + bytes.fromhex("f90458f90454b902fe696d706f72742043727970746f0a0a7472616e73616374696f6e286b65793a20537472696e672c207369676e6174757265416c676f726974686d3a2055496e74382c2068617368416c676f726974686d3a2055496e74382c207765696768743a2055466978363429207b0a0970726570617265287369676e65723a206175746828426f72726f7756616c75652c2053746f726167652920264163636f756e7429207b0a0909707265207b0a0909097369676e6174757265416c676f726974686d203e3d2031202626207369676e6174757265416c676f726974686d203c3d20333a20224d7573742070726f766964652061207369676e"), + bytes.fromhex("617475726520616c676f7269746d207261772076616c7565207468617420697320312c20322c206f722033220a09090968617368416c676f726974686d203e3d20312026262068617368416c676f726974686d203c3d20363a20224d7573742070726f766964652061206861736820616c676f7269746d207261772076616c75652074686174206973206265747765656e203120616e642036220a090909776569676874203c3d20313030302e303a2022546865206b657920776569676874206d757374206265206265747765656e203020616e642031303030220a09097d0a0a09096c6574207075626c69634b6579203d205075626c69634b6579280a09"), + bytes.fromhex("09097075626c69634b65793a206b65792e6465636f646548657828292c0a0909097369676e6174757265416c676f726974686d3a205369676e6174757265416c676f726974686d2872617756616c75653a207369676e6174757265416c676f726974686d29210a0909290a0a09096c6574206163636f756e74203d204163636f756e742870617965723a207369676e6572290a0a09096163636f756e742e6b6579732e616464287075626c69634b65793a207075626c69634b65792c2068617368416c676f726974686d3a2048617368416c676f726974686d2872617756616c75653a2068617368416c676f726974686d29212c207765696768743a207765"), + bytes.fromhex("69676874290a097d0a7df90110b8aa7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634227d9c7b2276616c7565223a2231222c2274797065223a2255496e7438227d9c7b2276616c7565223a2231222c2274797065223a2255496e7438227da97b2276616c7565223a2231"), + bytes.fromhex("3030302e3030303030303030222c2274797065223a22554669783634227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0"), ] + backend.exchange(cla=ClaType.CLA_APP, ins=InsType.SIGN, p1=P1.P1_INIT, data=dataToSend[0]) - backend.exchange(cla=ClaType.CLA_APP, ins=InsType.SIGN, p1=P1.P1_ADD, data=dataToSend[1]) - backend.exchange(cla=ClaType.CLA_APP, ins=InsType.SIGN, p1=P1.P1_ADD, data=dataToSend[2]) - backend.exchange(cla=ClaType.CLA_APP, ins=InsType.SIGN, p1=P1.P1_ADD, data=dataToSend[3]) + for i in range(1, len(dataToSend)): + backend.exchange(cla=ClaType.CLA_APP, ins=InsType.SIGN, p1=P1.P1_ADD, data=dataToSend[i]) + + #This is FA.01 on Testnet script hash. When the script changes, you need to update this according to the manifest + scriptHash = "63d8b6a045bf8e6196198184db685c2cf22932503ccb2dcb85c7d2dc04c882ba" + + sI = merkleIndex[scriptHash[0:16]] + correctMetadata: bytes = bytes.fromhex(merkleTree["children"][sI[0]]["children"][sI[1]]["children"][sI[2]]["children"][sI[3]]["children"][0]) - correctMetadata: bytes = bytes.fromhex("03ca80b628d985b358ae1cb136bcd976997c942fa10dbabfeafb4e20fa66a5a5e2d56f4e1d2355cdcfacfd01e471459c6ef168bfdf84371a685ccf31cf3cdedc2d47851586d962335e3f7d9e5d11a4c527ee4b5fd1c3895e3ce1b9c2821f60b166546f6b656e205472616e73666572000201416d6f756e74000055466978363400030144657374696e6174696f6e0001416464726573730003") + def get_proof_hex(merkleNode): + return "".join(x["hash"] for x in merkleNode["children"]) + + # When transactions change, yo uneed to update the correct proof from merkle tree correctProof: List[bytes]= [ - bytes.fromhex("27b42f7104fa842ba664b1c199325f8339dd65db575938cef8498d082727c3efcaf67b7d0995d18f289676386108de6b4c134059b000a6f1ec0c80b857b0ec380c538359a1be1553e729aad363de4eec2dcdcc666320eb85899c2f978c5fbf94033592e53bc3280098d0043e4770cfaf7675a56b9c56d836a5e2252de61dc3a85f7f784ed0a40905ed96c8b96588a84b025eb04d593a7662bb66b9eb3a7e962a12c65f0494d2165cbeaa141d705647d8071b528999782dd54a84a44ad2cf3d7b6730cd08974b8ccd1102dd2f5159a8181cc1ede512f6d537d8eea46556e16944"), - bytes.fromhex("aa44049d7eb26d667c3714b8fcf78380878e658e22268510ff9f72e69b29decda0affd7f78688c482a5a5bc416fa49f5844288fc61b0ee1b40cd38e3c2fbeb36a1b4c2165e1fceba7324712485844e04e5e955706ae328f6cfd64c49686a8104d0b4592fc4f996b16fea83ab8dede757ea8bc270f4e1fbf2301e02fd38d175e3c9967fd752058341822bc98880abb34e04d3afef58de0e256f2264991e54812353b33a3b57dd772b1dff0636374eb01bc7839efd7677d32399380c37f9a2d03604b126988dc8f00c41d922c13e0ae5a4e7d83f18b44935103cdbbd7c2229d53f"), - bytes.fromhex("07ea7f7407fda8657a35aeb24075cc654b9f06ae61d6cd1a772920ee3c6209a188bd487007bf1a5be47cea944d797895181258aba33c77e8c75fe7e38ad9192988bd487007bf1a5be47cea944d797895181258aba33c77e8c75fe7e38ad9192988bd487007bf1a5be47cea944d797895181258aba33c77e8c75fe7e38ad9192988bd487007bf1a5be47cea944d797895181258aba33c77e8c75fe7e38ad9192988bd487007bf1a5be47cea944d797895181258aba33c77e8c75fe7e38ad9192988bd487007bf1a5be47cea944d797895181258aba33c77e8c75fe7e38ad91929"), - bytes.fromhex("9053a0e87b7e66413b6552205fa31f3c2ed42cdb97bd3d543a130aebb29dda1e94a4bf5f458f2def50f807bf419501bfd5e77a084c30592aa3803a522a3c272e94a4bf5f458f2def50f807bf419501bfd5e77a084c30592aa3803a522a3c272e94a4bf5f458f2def50f807bf419501bfd5e77a084c30592aa3803a522a3c272e94a4bf5f458f2def50f807bf419501bfd5e77a084c30592aa3803a522a3c272e94a4bf5f458f2def50f807bf419501bfd5e77a084c30592aa3803a522a3c272e94a4bf5f458f2def50f807bf419501bfd5e77a084c30592aa3803a522a3c272e"), + bytes.fromhex(get_proof_hex(merkleTree["children"][sI[0]]["children"][sI[1]]["children"][sI[2]])), + bytes.fromhex(get_proof_hex(merkleTree["children"][sI[0]]["children"][sI[1]])), + bytes.fromhex(get_proof_hex(merkleTree["children"][sI[0]])), + bytes.fromhex(get_proof_hex(merkleTree)), ] - - # Test metadata not matching the transaction - otherMetadata: bytes = bytes.fromhex("330203004001595c86561441b32b2b91ee03f9e10ca6efa7b41bcc994f51317ec0aa9d8f8a42416464204e6577204b6579000101507562206b65790000537472696e670003") + + + # Test metadata not matching the transaction + # We send metadata from the same node so that the proof is correct for otherMetadata + assert sI[3] != 6 # if it is the case change [sI[3]+1] to [sI[3]-1] and change this assert to sI[3] != 0 + otherMetadata: bytes = bytes.fromhex(merkleTree["children"][sI[0]]["children"][sI[1]]["children"][sI[2]]["children"][sI[3]+1]["children"][0]) # Proof in correctProof is correct send_tx_body() + backend.exchange(cla=ClaType.CLA_APP, ins=InsType.SIGN, p1=P1.P1_METADATA, data=otherMetadata) + backend.exchange(cla=ClaType.CLA_APP, ins=InsType.SIGN, p1=P1.P1_PROOF_ONGOING, data=correctProof[0]) + backend.exchange(cla=ClaType.CLA_APP, ins=InsType.SIGN, p1=P1.P1_PROOF_ONGOING, data=correctProof[1]) + backend.exchange(cla=ClaType.CLA_APP, ins=InsType.SIGN, p1=P1.P1_PROOF_ONGOING, data=correctProof[2]) with pytest.raises(ExceptionRAPDU) as err: - backend.exchange(cla=ClaType.CLA_APP, ins=InsType.SIGN, p1=P1.P1_METADATA, data=otherMetadata) - backend.exchange(cla=ClaType.CLA_APP, ins=InsType.SIGN, p1=P1.P1_PROOF_ONGOING, data=correctProof[0]) - backend.exchange(cla=ClaType.CLA_APP, ins=InsType.SIGN, p1=P1.P1_PROOF_ONGOING, data=correctProof[1]) - backend.exchange(cla=ClaType.CLA_APP, ins=InsType.SIGN, p1=P1.P1_PROOF_ONGOING, data=correctProof[2]) backend.exchange(cla=ClaType.CLA_APP, ins=InsType.SIGN, p1=P1.P1_PROOF_LAST, data=correctProof[3]) assert err.value.status == Errors.SW_DATA_INVALID @@ -116,8 +146,8 @@ def send_tx_body() -> None: backend.exchange(cla=ClaType.CLA_APP, ins=InsType.SIGN, p1=P1.P1_PROOF_LAST, data=wrongProofStep) assert err.value.status == Errors.SW_DATA_INVALID - # Error comparing final hashes, last yte different - wrongLastProofStep: bytes = bytes.fromhex("9053a0e87b7e66413b6552205fa31f3c2ed42cdb97bd3d543a130aebb29dda1e94a4bf5f458f2def50f807bf419501bfd5e77a084c30592aa3803a522a3c272e94a4bf5f458f2def50f807bf419501bfd5e77a084c30592aa3803a522a3c272e94a4bf5f458f2def50f807bf419501bfd5e77a084c30592aa3803a522a3c272e94a4bf5f458f2def50f807bf419501bfd5e77a084c30592aa3803a522a3c272e94a4bf5f458f2def50f807bf419501bfd5e77a084c30592aa3803a522a3c272e94a4bf5f458f2def50f807bf419501bfd5e77a084c30592aa3803a522a3c272f") + # Error comparing final hashes, last byte different + wrongLastProofStep: bytes = correctProof[3][0:-1]+bytes.fromhex("00") send_tx_body() backend.exchange(cla=ClaType.CLA_APP, ins=InsType.SIGN, p1=P1.P1_METADATA, data=correctMetadata) backend.exchange(cla=ClaType.CLA_APP, ins=InsType.SIGN, p1=P1.P1_PROOF_ONGOING, data=correctProof[0]) @@ -129,10 +159,15 @@ def send_tx_body() -> None: def test_transaction_params(firmware, backend, navigator, test_name): - """ Check transaction signing with different parameters """ + """ Check transaction signing with different parameters. + Uses FA.01, FA.02, FA.03 mainnet transactions from manifest.""" # Use the app interface instead of raw interface client = FlowCommandSender(backend) + + # Retrieve FA.01, FA.02, FA.03 from manifest + transactionsAndScriptHashes = get_tx_and_hash(("FA.01", "FA.02", "FA.03"), "Mainnet") + # Test parameters path: str = "m/44'/539'/513'/0/0" curve_list = [ @@ -144,21 +179,6 @@ def test_transaction_params(firmware, backend, navigator, test_name): HashType.HASH_SHA3, ] - transactionsAndScriptHashes = [ - ( - "f9023ff9023bb90195696d706f72742046756e6769626c65546f6b656e2066726f6d203078656538323835366266323065326161360a7472616e73616374696f6e28616d6f756e743a205546697836342c20746f3a204164647265737329207b0a6c6574207661756c743a204046756e6769626c65546f6b656e2e5661756c740a70726570617265287369676e65723a20417574684163636f756e7429207b0a73656c662e7661756c74203c2d207369676e65720a2e626f72726f773c267b46756e6769626c65546f6b656e2e50726f76696465727d3e2866726f6d3a202f73746f726167652f666c6f77546f6b656e5661756c7429210a2e776974686472617728616d6f756e743a20616d6f756e74290a7d0a65786563757465207b0a6765744163636f756e7428746f290a2e6765744361706162696c697479282f7075626c69632f666c6f77546f6b656e526563656976657229210a2e626f72726f773c267b46756e6769626c65546f6b656e2e52656365697665727d3e2829210a2e6465706f7369742866726f6d3a203c2d73656c662e7661756c74290a7d0a7df861b07b2274797065223a22554669783634222c2276616c7565223a223138343436373434303733372e39353531363135227daf7b2274797065223a2241646472657373222c2276616c7565223a22307866386436653035383662306132306337227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f8d6e0586b0a20c7040a88f8d6e0586b0a20c7c988f8d6e0586b0a20c7c0", - "ca80b628d985b358ae1cb136bcd976997c942fa10dbabfeafb4e20fa66a5a5e2" - ), - ( - "f90289f90261b8a97472616e73616374696f6e287075626c69634b6579733a205b537472696e675d29207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a6c65742061636374203d20417574684163636f756e742870617965723a207369676e6572290a666f72206b657920696e207075626c69634b657973207b0a616363742e6164645075626c69634b6579286b65792e6465636f64654865782829290a7d0a7d0a7df90173b901707b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303934343838613739356130373730306336666238336530363663663537646664383766393263653730636263383163623362643366656132646637623637303733623730653336623434663335373862343364363464336661613265386534313565663663326235666534333930643561373865323338353831633665346263333033303330227d2c7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303934343838613739356130373730306336666238336530363663663537646664383766393263653730636263383163623362643366656132646637623637303733623730653336623434663335373862343364363464336661613265386534313565663663326235666534333930643561373865323338353831633665346263333033303331227d5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f8d6e0586b0a20c7040a88f8d6e0586b0a20c7c988f8d6e0586b0a20c7e4e38004a0f7225388c1d69d57e6251c9fda50cbbf9e05131e5adb81e5aa0422402f048162", - "eef2d0494448554177612e63026256258339230cbc6931ded78d6149443c6173" - ), - ( - "f90186f9015eb86e7472616e73616374696f6e287075626c69634b65793a20537472696e6729207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a7369676e65722e6164645075626c69634b6579287075626c69634b65792e6465636f64654865782829290a7d0a7df8acb8aa7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303934343838613739356130373730306336666238336530363663663537646664383766393263653730636263383163623362643366656132646637623637303733623730653336623434663335373862343364363464336661613265386534313565663663326235666534333930643561373865323338353831633665346263333033303330227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f8d6e0586b0a20c7040a88f8d6e0586b0a20c7c988f8d6e0586b0a20c7e4e38004a0f7225388c1d69d57e6251c9fda50cbbf9e05131e5adb81e5aa0422402f048162", - "595c86561441b32b2b91ee03f9e10ca6efa7b41bcc994f51317ec0aa9d8f8a42" - ) - ] - # Send the APDU and check the results part = 0 for transaction in transactionsAndScriptHashes: @@ -170,10 +190,12 @@ def test_transaction_params(firmware, backend, navigator, test_name): class Test_EXPERT(): def test_transaction_expert(self, firmware, backend, navigator, test_name): - """ Check transaction signing with expert mode """ + """ Check transaction signing with expert mode. + Uses FA.03 mainnet transaction """ # Use the app interface instead of raw interface client = FlowCommandSender(backend) + # Test parameters path: str = "m/44'/539'/0'/0/0" test_cfg = [ @@ -186,8 +208,12 @@ def test_transaction_expert(self, firmware, backend, navigator, test_name): "hash": HashType.HASH_SHA3, }, ] - transaction = "f9023ff9023bb90195696d706f72742046756e6769626c65546f6b656e2066726f6d203078656538323835366266323065326161360a7472616e73616374696f6e28616d6f756e743a205546697836342c20746f3a204164647265737329207b0a6c6574207661756c743a204046756e6769626c65546f6b656e2e5661756c740a70726570617265287369676e65723a20417574684163636f756e7429207b0a73656c662e7661756c74203c2d207369676e65720a2e626f72726f773c267b46756e6769626c65546f6b656e2e50726f76696465727d3e2866726f6d3a202f73746f726167652f666c6f77546f6b656e5661756c7429210a2e776974686472617728616d6f756e743a20616d6f756e74290a7d0a65786563757465207b0a6765744163636f756e7428746f290a2e6765744361706162696c697479282f7075626c69632f666c6f77546f6b656e526563656976657229210a2e626f72726f773c267b46756e6769626c65546f6b656e2e52656365697665727d3e2829210a2e6465706f7369742866726f6d3a203c2d73656c662e7661756c74290a7d0a7df861b07b2274797065223a22554669783634222c2276616c7565223a223138343436373434303733372e39353531363135227daf7b2274797065223a2241646472657373222c2276616c7565223a22307866386436653035383662306132306337227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f8d6e0586b0a20c7040a88f8d6e0586b0a20c7c988f8d6e0586b0a20c7c0" - txHash = "ca80b628d985b358ae1cb136bcd976997c942fa10dbabfeafb4e20fa66a5a5e2" + + # Retrieve FA.03 from manifest + transactionsAndScriptHashes = get_tx_and_hash(("FA.03",), "Mainnet") + + transaction = transactionsAndScriptHashes[0][0] + txHash = transactionsAndScriptHashes[0][1] part = 0 # Navigate in the main menu to change to expert mode @@ -211,10 +237,13 @@ def test_transaction_slot(firmware, backend, navigator, test_name): hash_t: HashType = HashType.HASH_SHA3 bad_hash: HashType = HashType.HASH_SHA2 slot = 0 - transaction = "f9023ff9023bb90195696d706f72742046756e6769626c65546f6b656e2066726f6d203078656538323835366266323065326161360a7472616e73616374696f6e28616d6f756e743a205546697836342c20746f3a204164647265737329207b0a6c6574207661756c743a204046756e6769626c65546f6b656e2e5661756c740a70726570617265287369676e65723a20417574684163636f756e7429207b0a73656c662e7661756c74203c2d207369676e65720a2e626f72726f773c267b46756e6769626c65546f6b656e2e50726f76696465727d3e2866726f6d3a202f73746f726167652f666c6f77546f6b656e5661756c7429210a2e776974686472617728616d6f756e743a20616d6f756e74290a7d0a65786563757465207b0a6765744163636f756e7428746f290a2e6765744361706162696c697479282f7075626c69632f666c6f77546f6b656e526563656976657229210a2e626f72726f773c267b46756e6769626c65546f6b656e2e52656365697665727d3e2829210a2e6465706f7369742866726f6d3a203c2d73656c662e7661756c74290a7d0a7df861b07b2274797065223a22554669783634222c2276616c7565223a223138343436373434303733372e39353531363135227daf7b2274797065223a2241646472657373222c2276616c7565223a22307866386436653035383662306132306337227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f8d6e0586b0a20c7040a88f8d6e0586b0a20c7c988f8d6e0586b0a20c7c0" - scriptHash = "ca80b628d985b358ae1cb136bcd976997c942fa10dbabfeafb4e20fa66a5a5e2" address = "f8d6e0586b0a20c7" + # Retrieve FA.02 from manifest + transactionsAndScriptHashes = get_tx_and_hash(("FA.02",), "Mainnet") + transaction = transactionsAndScriptHashes[0][0] + scriptHash = transactionsAndScriptHashes[0][1] + # Send the APDU and check the results part = 0 _check_transaction(client, firmware, navigator, f"{test_name}/part{part}", transaction, path, curve, hash_t, scriptHash) @@ -231,21 +260,27 @@ def test_transaction_slot(firmware, backend, navigator, test_name): part += 1 _check_transaction(client, firmware, navigator, f"{test_name}/part{part}", transaction, path, curve, hash_t, scriptHash) - # e467b9dd11fa00df - used as incorrect address; f8d6e0586b0a20c7 - correct one - transactions = [ - # tx - no match single authorizer, - "f9023ff9023bb90195696d706f72742046756e6769626c65546f6b656e2066726f6d203078656538323835366266323065326161360a7472616e73616374696f6e28616d6f756e743a205546697836342c20746f3a204164647265737329207b0a6c6574207661756c743a204046756e6769626c65546f6b656e2e5661756c740a70726570617265287369676e65723a20417574684163636f756e7429207b0a73656c662e7661756c74203c2d207369676e65720a2e626f72726f773c267b46756e6769626c65546f6b656e2e50726f76696465727d3e2866726f6d3a202f73746f726167652f666c6f77546f6b656e5661756c7429210a2e776974686472617728616d6f756e743a20616d6f756e74290a7d0a65786563757465207b0a6765744163636f756e7428746f290a2e6765744361706162696c697479282f7075626c69632f666c6f77546f6b656e526563656976657229210a2e626f72726f773c267b46756e6769626c65546f6b656e2e52656365697665727d3e2829210a2e6465706f7369742866726f6d3a203c2d73656c662e7661756c74290a7d0a7df861b07b2274797065223a22554669783634222c2276616c7565223a223138343436373434303733372e39353531363135227daf7b2274797065223a2241646472657373222c2276616c7565223a22307866386436653035383662306132306337227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88e467b9dd11fa00df040a88e467b9dd11fa00dfc988e467b9dd11fa00dfc0", - # tx - address matches payer - "f9023ff9023bb90195696d706f72742046756e6769626c65546f6b656e2066726f6d203078656538323835366266323065326161360a7472616e73616374696f6e28616d6f756e743a205546697836342c20746f3a204164647265737329207b0a6c6574207661756c743a204046756e6769626c65546f6b656e2e5661756c740a70726570617265287369676e65723a20417574684163636f756e7429207b0a73656c662e7661756c74203c2d207369676e65720a2e626f72726f773c267b46756e6769626c65546f6b656e2e50726f76696465727d3e2866726f6d3a202f73746f726167652f666c6f77546f6b656e5661756c7429210a2e776974686472617728616d6f756e743a20616d6f756e74290a7d0a65786563757465207b0a6765744163636f756e7428746f290a2e6765744361706162696c697479282f7075626c69632f666c6f77546f6b656e526563656976657229210a2e626f72726f773c267b46756e6769626c65546f6b656e2e52656365697665727d3e2829210a2e6465706f7369742866726f6d3a203c2d73656c662e7661756c74290a7d0a7df861b07b2274797065223a22554669783634222c2276616c7565223a223138343436373434303733372e39353531363135227daf7b2274797065223a2241646472657373222c2276616c7565223a22307866386436653035383662306132306337227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88e467b9dd11fa00df040a88f8d6e0586b0a20c7c988e467b9dd11fa00dfc0", - # tx - address matches proposer - "f9023ff9023bb90195696d706f72742046756e6769626c65546f6b656e2066726f6d203078656538323835366266323065326161360a7472616e73616374696f6e28616d6f756e743a205546697836342c20746f3a204164647265737329207b0a6c6574207661756c743a204046756e6769626c65546f6b656e2e5661756c740a70726570617265287369676e65723a20417574684163636f756e7429207b0a73656c662e7661756c74203c2d207369676e65720a2e626f72726f773c267b46756e6769626c65546f6b656e2e50726f76696465727d3e2866726f6d3a202f73746f726167652f666c6f77546f6b656e5661756c7429210a2e776974686472617728616d6f756e743a20616d6f756e74290a7d0a65786563757465207b0a6765744163636f756e7428746f290a2e6765744361706162696c697479282f7075626c69632f666c6f77546f6b656e526563656976657229210a2e626f72726f773c267b46756e6769626c65546f6b656e2e52656365697665727d3e2829210a2e6465706f7369742866726f6d3a203c2d73656c662e7661756c74290a7d0a7df861b07b2274797065223a22554669783634222c2276616c7565223a223138343436373434303733372e39353531363135227daf7b2274797065223a2241646472657373222c2276616c7565223a22307866386436653035383662306132306337227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f8d6e0586b0a20c7040a88e467b9dd11fa00dfc988e467b9dd11fa00dfc0", - # tx - address matches sole authorizer - "f9023ff9023bb90195696d706f72742046756e6769626c65546f6b656e2066726f6d203078656538323835366266323065326161360a7472616e73616374696f6e28616d6f756e743a205546697836342c20746f3a204164647265737329207b0a6c6574207661756c743a204046756e6769626c65546f6b656e2e5661756c740a70726570617265287369676e65723a20417574684163636f756e7429207b0a73656c662e7661756c74203c2d207369676e65720a2e626f72726f773c267b46756e6769626c65546f6b656e2e50726f76696465727d3e2866726f6d3a202f73746f726167652f666c6f77546f6b656e5661756c7429210a2e776974686472617728616d6f756e743a20616d6f756e74290a7d0a65786563757465207b0a6765744163636f756e7428746f290a2e6765744361706162696c697479282f7075626c69632f666c6f77546f6b656e526563656976657229210a2e626f72726f773c267b46756e6769626c65546f6b656e2e52656365697665727d3e2829210a2e6465706f7369742866726f6d3a203c2d73656c662e7661756c74290a7d0a7df861b07b2274797065223a22554669783634222c2276616c7565223a223138343436373434303733372e39353531363135227daf7b2274797065223a2241646472657373222c2276616c7565223a22307866386436653035383662306132306337227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88e467b9dd11fa00df040a88e467b9dd11fa00dfc988f8d6e0586b0a20c7c0", - # tx - no match multiple authorizers - "f90251f9024db90195696d706f72742046756e6769626c65546f6b656e2066726f6d203078656538323835366266323065326161360a7472616e73616374696f6e28616d6f756e743a205546697836342c20746f3a204164647265737329207b0a6c6574207661756c743a204046756e6769626c65546f6b656e2e5661756c740a70726570617265287369676e65723a20417574684163636f756e7429207b0a73656c662e7661756c74203c2d207369676e65720a2e626f72726f773c267b46756e6769626c65546f6b656e2e50726f76696465727d3e2866726f6d3a202f73746f726167652f666c6f77546f6b656e5661756c7429210a2e776974686472617728616d6f756e743a20616d6f756e74290a7d0a65786563757465207b0a6765744163636f756e7428746f290a2e6765744361706162696c697479282f7075626c69632f666c6f77546f6b656e526563656976657229210a2e626f72726f773c267b46756e6769626c65546f6b656e2e52656365697665727d3e2829210a2e6465706f7369742866726f6d3a203c2d73656c662e7661756c74290a7d0a7df861b07b2274797065223a22554669783634222c2276616c7565223a223138343436373434303733372e39353531363135227daf7b2274797065223a2241646472657373222c2276616c7565223a22307866386436653035383662306132306337227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88e467b9dd11fa00df040a88e467b9dd11fa00dfdb88e467b9dd11fa00df88e467b9dd11fa00df88e467b9dd11fa00dfc0", - # tx - address matches 3rd auhorizer out of three - "f90251f9024db90195696d706f72742046756e6769626c65546f6b656e2066726f6d203078656538323835366266323065326161360a7472616e73616374696f6e28616d6f756e743a205546697836342c20746f3a204164647265737329207b0a6c6574207661756c743a204046756e6769626c65546f6b656e2e5661756c740a70726570617265287369676e65723a20417574684163636f756e7429207b0a73656c662e7661756c74203c2d207369676e65720a2e626f72726f773c267b46756e6769626c65546f6b656e2e50726f76696465727d3e2866726f6d3a202f73746f726167652f666c6f77546f6b656e5661756c7429210a2e776974686472617728616d6f756e743a20616d6f756e74290a7d0a65786563757465207b0a6765744163636f756e7428746f290a2e6765744361706162696c697479282f7075626c69632f666c6f77546f6b656e526563656976657229210a2e626f72726f773c267b46756e6769626c65546f6b656e2e52656365697665727d3e2829210a2e6465706f7369742866726f6d3a203c2d73656c662e7661756c74290a7d0a7df861b07b2274797065223a22554669783634222c2276616c7565223a223138343436373434303733372e39353531363135227daf7b2274797065223a2241646472657373222c2276616c7565223a22307866386436653035383662306132306337227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88e467b9dd11fa00df040a88e467b9dd11fa00dfdb88e467b9dd11fa00df88e467b9dd11fa00df88f8d6e0586b0a20c7c0", - ] + # f19c161bc24cf4b4 - used as incorrect address; f8d6e0586b0a20c7 - correct one + print(transaction) + ap = [m.start() for m in re.finditer("f19c161bc24cf4b4", transaction)] + assert len(ap) == 3 + + # tx - no match single authorizer, + tx1 = transaction[:ap[0]]+"f19c161bc24cf4b4"+transaction[(ap[0]+16):ap[1]]+"f19c161bc24cf4b4"+transaction[(ap[1]+16):ap[2]]+"f19c161bc24cf4b4"+transaction[(ap[2]+16):] + # tx - address matches payer + tx2 = transaction[:ap[0]]+"f19c161bc24cf4b4"+transaction[(ap[0]+16):ap[1]]+"f8d6e0586b0a20c7"+transaction[(ap[1]+16):ap[2]]+"f19c161bc24cf4b4"+transaction[(ap[2]+16):] + # tx - address matches proposer + tx3 = transaction[:ap[0]]+"f8d6e0586b0a20c7"+transaction[(ap[0]+16):ap[1]]+"f19c161bc24cf4b4"+transaction[(ap[1]+16):ap[2]]+"f19c161bc24cf4b4"+transaction[(ap[2]+16):] + # tx - address matches sole authorizer + tx4 = transaction[:ap[0]]+"f19c161bc24cf4b4"+transaction[(ap[0]+16):ap[1]]+"f19c161bc24cf4b4"+transaction[(ap[1]+16):ap[2]]+"f8d6e0586b0a20c7"+transaction[(ap[2]+16):] + + # multiple authorisers, no match + # use online rlp encoder/decoder to fix these when FA.02 changes + tx5 = "f90433f9042fb902c7696d706f72742043727970746f0a0a7472616e73616374696f6e286b65793a20537472696e672c207369676e6174757265416c676f726974686d3a2055496e74382c2068617368416c676f726974686d3a2055496e74382c207765696768743a2055466978363429207b0a0a0970726570617265287369676e65723a2061757468284164644b65792920264163636f756e7429207b0a0909707265207b0a0909097369676e6174757265416c676f726974686d203e3d2031202626207369676e6174757265416c676f726974686d203c3d20333a20224d7573742070726f766964652061207369676e617475726520616c676f7269746d207261772076616c7565207468617420697320312c20322c206f722033220a09090968617368416c676f726974686d203e3d20312026262068617368416c676f726974686d203c3d20363a20224d7573742070726f766964652061206861736820616c676f7269746d207261772076616c75652074686174206973206265747765656e203120616e642036220a090909776569676874203c3d20313030302e303a2022546865206b657920776569676874206d757374206265206265747765656e203020616e642031303030220a09097d0a09096c6574207075626c69634b6579203d205075626c69634b6579280a0909097075626c69634b65793a206b65792e6465636f646548657828292c0a0909097369676e6174757265416c676f726974686d3a205369676e6174757265416c676f726974686d2872617756616c75653a207369676e6174757265416c676f726974686d29210a0909290a0a09097369676e65722e6b6579732e616464287075626c69634b65793a207075626c69634b65792c2068617368416c676f726974686d3a2048617368416c676f726974686d2872617756616c75653a2068617368416c676f726974686d29212c207765696768743a20776569676874290a097d0a7df90110b8aa7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634227d9c7b2276616c7565223a2231222c2274797065223a2255496e7438227d9c7b2276616c7565223a2231222c2274797065223a2255496e7438227da97b2276616c7565223a22313030302e3030303030303030222c2274797065223a22554669783634227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4db88f19c161bc24cf4b488f19c161bc24cf4b488f19c161bc24cf4b4c0" + # tx - address matches 3rd auhorizer out of three + tx6 = "f90433f9042fb902c7696d706f72742043727970746f0a0a7472616e73616374696f6e286b65793a20537472696e672c207369676e6174757265416c676f726974686d3a2055496e74382c2068617368416c676f726974686d3a2055496e74382c207765696768743a2055466978363429207b0a0a0970726570617265287369676e65723a2061757468284164644b65792920264163636f756e7429207b0a0909707265207b0a0909097369676e6174757265416c676f726974686d203e3d2031202626207369676e6174757265416c676f726974686d203c3d20333a20224d7573742070726f766964652061207369676e617475726520616c676f7269746d207261772076616c7565207468617420697320312c20322c206f722033220a09090968617368416c676f726974686d203e3d20312026262068617368416c676f726974686d203c3d20363a20224d7573742070726f766964652061206861736820616c676f7269746d207261772076616c75652074686174206973206265747765656e203120616e642036220a090909776569676874203c3d20313030302e303a2022546865206b657920776569676874206d757374206265206265747765656e203020616e642031303030220a09097d0a09096c6574207075626c69634b6579203d205075626c69634b6579280a0909097075626c69634b65793a206b65792e6465636f646548657828292c0a0909097369676e6174757265416c676f726974686d3a205369676e6174757265416c676f726974686d2872617756616c75653a207369676e6174757265416c676f726974686d29210a0909290a0a09097369676e65722e6b6579732e616464287075626c69634b65793a207075626c69634b65792c2068617368416c676f726974686d3a2048617368416c676f726974686d2872617756616c75653a2068617368416c676f726974686d29212c207765696768743a20776569676874290a097d0a7df90110b8aa7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634227d9c7b2276616c7565223a2231222c2274797065223a2255496e7438227d9c7b2276616c7565223a2231222c2274797065223a2255496e7438227da97b2276616c7565223a22313030302e3030303030303030222c2274797065223a22554669783634227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4db88f19c161bc24cf4b488f19c161bc24cf4b488f8d6e0586b0a20c7c0" + + transactions = [tx1, tx2, tx3, tx4, tx5, tx6] # Send the APDU and check the results for blob in transactions: @@ -270,8 +305,8 @@ def test_transaction_invalid(firmware, backend, navigator, test_name): curve: CurveChoice = CurveChoice.Secp256k1 hash_t: HashType = HashType.HASH_SHA2 # Prepare an invalid message - bad_essage = "1234567890" - transaction = bad_essage.encode("utf-8").hex() + bad_message = "1234567890" + transaction = bad_message.encode("utf-8").hex() # Send the APDU and check the results try: @@ -289,8 +324,11 @@ def test_transaction_refused(firmware, backend, navigator, test_name): path: str = "m/44'/539'/0'/0/0" curve: CurveChoice = CurveChoice.Nist256p1 hash_t = HashType.HASH_SHA2 - transaction = "f9023ff9023bb90195696d706f72742046756e6769626c65546f6b656e2066726f6d203078656538323835366266323065326161360a7472616e73616374696f6e28616d6f756e743a205546697836342c20746f3a204164647265737329207b0a6c6574207661756c743a204046756e6769626c65546f6b656e2e5661756c740a70726570617265287369676e65723a20417574684163636f756e7429207b0a73656c662e7661756c74203c2d207369676e65720a2e626f72726f773c267b46756e6769626c65546f6b656e2e50726f76696465727d3e2866726f6d3a202f73746f726167652f666c6f77546f6b656e5661756c7429210a2e776974686472617728616d6f756e743a20616d6f756e74290a7d0a65786563757465207b0a6765744163636f756e7428746f290a2e6765744361706162696c697479282f7075626c69632f666c6f77546f6b656e526563656976657229210a2e626f72726f773c267b46756e6769626c65546f6b656e2e52656365697665727d3e2829210a2e6465706f7369742866726f6d3a203c2d73656c662e7661756c74290a7d0a7df861b07b2274797065223a22554669783634222c2276616c7565223a223138343436373434303733372e39353531363135227daf7b2274797065223a2241646472657373222c2276616c7565223a22307866386436653035383662306132306337227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f8d6e0586b0a20c7040a88f8d6e0586b0a20c7c988f8d6e0586b0a20c7c0" - scriptHash = "ca80b628d985b358ae1cb136bcd976997c942fa10dbabfeafb4e20fa66a5a5e2" + + # Retrieve FA.01 from manifest + transactionsAndScriptHashes = get_tx_and_hash(("FA.01",), "Mainnet") + transaction = transactionsAndScriptHashes[0][0] + scriptHash = transactionsAndScriptHashes[0][1] # Convert message to bytes message = bytes.fromhex(transaction) diff --git a/transaction_metadata/manifest.mainnet.json b/transaction_metadata/manifest.mainnet.json index 5bd9254a..c709b7b6 100644 --- a/transaction_metadata/manifest.mainnet.json +++ b/transaction_metadata/manifest.mainnet.json @@ -2,184 +2,166 @@ "network": "mainnet", "templates": [ { - "id": "TH.01", - "name": "Withdraw Unlocked FLOW", - "source": "import FungibleToken from 0xf233dcee88fe0abe\nimport FlowToken from 0x1654653399040a61\nimport LockedTokens from 0x8d0e87b65159ae63\n\ntransaction(amount: UFix64) {\n\n let holderRef: \u0026LockedTokens.TokenHolder\n let vaultRef: \u0026FlowToken.Vault\n\n prepare(acct: AuthAccount) {\n self.holderRef = acct.borrow\u003c\u0026LockedTokens.TokenHolder\u003e(from: LockedTokens.TokenHolderStoragePath)\n ?? panic(\"Could not borrow a reference to TokenHolder\")\n\n self.vaultRef = acct.borrow\u003c\u0026FlowToken.Vault\u003e(from: /storage/flowTokenVault)\n ?? panic(\"Could not borrow flow token vault ref\")\n }\n\n execute {\n self.vaultRef.deposit(from: \u003c-self.holderRef.withdraw(amount: amount))\n }\n}\n", + "id": "FA.01", + "name": "Create Account", + "source": "import Crypto\n\ntransaction(key: String, signatureAlgorithm: UInt8, hashAlgorithm: UInt8, weight: UFix64) {\n\tprepare(signer: auth(BorrowValue, Storage) \u0026Account) {\n\t\tpre {\n\t\t\tsignatureAlgorithm \u003e= 1 \u0026\u0026 signatureAlgorithm \u003c= 3: \"Must provide a signature algoritm raw value that is 1, 2, or 3\"\n\t\t\thashAlgorithm \u003e= 1 \u0026\u0026 hashAlgorithm \u003c= 6: \"Must provide a hash algoritm raw value that is between 1 and 6\"\n\t\t\tweight \u003c= 1000.0: \"The key weight must be between 0 and 1000\"\n\t\t}\n\n\t\tlet publicKey = PublicKey(\n\t\t\tpublicKey: key.decodeHex(),\n\t\t\tsignatureAlgorithm: SignatureAlgorithm(rawValue: signatureAlgorithm)!\n\t\t)\n\n\t\tlet account = Account(payer: signer)\n\n\t\taccount.keys.add(publicKey: publicKey, hashAlgorithm: HashAlgorithm(rawValue: hashAlgorithm)!, weight: weight)\n\t}\n}", "arguments": [ { - "type": "UFix64", - "name": "amount", - "label": "Amount", + "type": "String", + "name": "key", + "label": "Public Key", "sampleValues": [ { - "type": "UFix64", - "value": "92233720368.54775808" + "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164", + "type": "String" } ] - } - ], - "network": "mainnet", - "hash": "a2146e3e6e7718779ce59376b88760c154d82b7d132fe2c377114ec7cf434e7b" - }, - { - "id": "TH.02", - "name": "Deposit Unlocked FLOW", - "source": "import FungibleToken from 0xf233dcee88fe0abe\nimport FlowToken from 0x1654653399040a61\nimport LockedTokens from 0x8d0e87b65159ae63\n\ntransaction(amount: UFix64) {\n\n let holderRef: \u0026LockedTokens.TokenHolder\n let vaultRef: \u0026FlowToken.Vault\n\n prepare(acct: AuthAccount) {\n self.holderRef = acct.borrow\u003c\u0026LockedTokens.TokenHolder\u003e(from: LockedTokens.TokenHolderStoragePath)\n ?? panic(\"Could not borrow a reference to TokenHolder\")\n\n self.vaultRef = acct.borrow\u003c\u0026FlowToken.Vault\u003e(from: /storage/flowTokenVault)\n ?? panic(\"Could not borrow flow token vault ref\")\n }\n\n execute {\n self.holderRef.deposit(from: \u003c-self.vaultRef.withdraw(amount: amount))\n }\n}\n", - "arguments": [ + }, { - "type": "UFix64", - "name": "amount", - "label": "Amount", + "type": "UInt8", + "name": "signatureAlgorithm", + "label": "Raw Value for Signature Algorithm Enum", "sampleValues": [ { - "type": "UFix64", - "value": "92233720368.54775808" + "value": "1", + "type": "UInt8" } ] - } - ], - "network": "mainnet", - "hash": "74355dc8df221bc0d170b2fe8deacd6f1f554d6beea58ad9fee7a07f740eaefe" - }, - { - "id": "TH.06", - "name": "Register Node", - "source": "import FlowToken from 0x1654653399040a61\nimport LockedTokens from 0x8d0e87b65159ae63\nimport StakingProxy from 0x62430cf28c26d095\n\ntransaction(id: String, role: UInt8, networkingAddress: String, networkingKey: String, stakingKey: String, amount: UFix64) {\n\n let holderRef: \u0026LockedTokens.TokenHolder\n\n let vaultRef: \u0026FlowToken.Vault\n\n prepare(account: AuthAccount) {\n self.holderRef = account.borrow\u003c\u0026LockedTokens.TokenHolder\u003e(from: LockedTokens.TokenHolderStoragePath)\n ?? panic(\"Could not borrow ref to TokenHolder\")\n\n self.vaultRef = account.borrow\u003c\u0026FlowToken.Vault\u003e(from: /storage/flowTokenVault)\n ?? panic(\"Could not borrow flow token vault reference\")\n }\n\n execute {\n let nodeInfo = StakingProxy.NodeInfo(id: id, role: role, networkingAddress: networkingAddress, networkingKey: networkingKey, stakingKey: stakingKey)\n\n let lockedBalance = self.holderRef.getLockedAccountBalance()\n\n if amount \u003c= lockedBalance {\n\n self.holderRef.createNodeStaker(nodeInfo: nodeInfo, amount: amount)\n\n } else if ((amount - lockedBalance) \u003c= self.vaultRef.balance) {\n\n self.holderRef.deposit(from: \u003c-self.vaultRef.withdraw(amount: amount - lockedBalance))\n\n self.holderRef.createNodeStaker(nodeInfo: nodeInfo, amount: amount)\n\n } else {\n panic(\"Not enough tokens to stake!\")\n }\n \n }\n}\n", - "arguments": [ + }, { - "type": "String", - "name": "id", - "label": "Node ID", + "type": "UInt8", + "name": "hashAlgorithm", + "label": "Raw Value for Hash Algorithm Enum", "sampleValues": [ { - "type": "String", - "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" + "value": "1", + "type": "UInt8" } ] }, { - "type": "UInt8", - "name": "role", - "label": "Node Role", + "type": "UFix64", + "name": "weight", + "label": "Key Weight", "sampleValues": [ { - "type": "UInt8", - "value": "1" + "value": "1000.00000000", + "type": "UFix64" } ] - }, + } + ], + "network": "mainnet", + "hash": "63d8b6a045bf8e6196198184db685c2cf22932503ccb2dcb85c7d2dc04c882ba" + }, + { + "id": "FA.02", + "name": "Add Key", + "source": "import Crypto\n\ntransaction(key: String, signatureAlgorithm: UInt8, hashAlgorithm: UInt8, weight: UFix64) {\n\n\tprepare(signer: auth(AddKey) \u0026Account) {\n\t\tpre {\n\t\t\tsignatureAlgorithm \u003e= 1 \u0026\u0026 signatureAlgorithm \u003c= 3: \"Must provide a signature algoritm raw value that is 1, 2, or 3\"\n\t\t\thashAlgorithm \u003e= 1 \u0026\u0026 hashAlgorithm \u003c= 6: \"Must provide a hash algoritm raw value that is between 1 and 6\"\n\t\t\tweight \u003c= 1000.0: \"The key weight must be between 0 and 1000\"\n\t\t}\n\t\tlet publicKey = PublicKey(\n\t\t\tpublicKey: key.decodeHex(),\n\t\t\tsignatureAlgorithm: SignatureAlgorithm(rawValue: signatureAlgorithm)!\n\t\t)\n\n\t\tsigner.keys.add(publicKey: publicKey, hashAlgorithm: HashAlgorithm(rawValue: hashAlgorithm)!, weight: weight)\n\t}\n}", + "arguments": [ { "type": "String", - "name": "networkingAddress", - "label": "Networking Address", + "name": "key", + "label": "Public Key", "sampleValues": [ { - "type": "String", - "value": "flow-node.test:3569" + "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164", + "type": "String" } ] }, { - "type": "String", - "name": "networkingKey", - "label": "Networking Key", + "type": "UInt8", + "name": "signatureAlgorithm", + "label": "Raw Value for Signature Algorithm Enum", "sampleValues": [ { - "type": "String", - "value": "1348307bc77c688e80049de9d081aa09755da33e6997605fa059db2144fc85e560cbe6f7da8d74b453f5916618cb8fd392c2db856f3e78221dc68db1b1d914e4" + "value": "1", + "type": "UInt8" } ] }, { - "type": "String", - "name": "stakingKey", - "label": "Staking Key", + "type": "UInt8", + "name": "hashAlgorithm", + "label": "Raw Value for Hash Algorithm Enum", "sampleValues": [ { - "type": "String", - "value": "9e9ae0d645fd5fd9050792e0b0daa82cc1686d9133afa0f81a784b375c42ae48567d1545e7a9e1965f2c1a32f73cf8575ebb7a967f6e4d104d2df78eb8be409135d12da0499b8a00771f642c1b9c49397f22b440439f036c3bdee82f5309dab3" + "value": "1", + "type": "UInt8" } ] }, { "type": "UFix64", - "name": "amount", - "label": "Amount", + "name": "weight", + "label": "Key Weight", "sampleValues": [ { - "type": "UFix64", - "value": "92233720368.54775808" + "value": "1000.00000000", + "type": "UFix64" } ] } ], "network": "mainnet", - "hash": "b64e0e3ed9eb28789198f2b0437f55f750bfa76da99450f63be6543bde66122a" + "hash": "21d4e87df171ccbe015efe69dc2ffd24814c5fc0f2e364daf5c80515ce4a8bd9" }, { - "id": "TH.08", - "name": "Stake New Locked FLOW", - "source": "import FlowToken from 0x1654653399040a61\nimport FungibleToken from 0xf233dcee88fe0abe\n\nimport LockedTokens from 0x8d0e87b65159ae63\nimport StakingProxy from 0x62430cf28c26d095\n\ntransaction(amount: UFix64) {\n\n let holderRef: \u0026LockedTokens.TokenHolder\n\n let vaultRef: \u0026FlowToken.Vault\n\n prepare(account: AuthAccount) {\n self.holderRef = account.borrow\u003c\u0026LockedTokens.TokenHolder\u003e(from: LockedTokens.TokenHolderStoragePath)\n ?? panic(\"Could not borrow reference to TokenHolder\")\n\n self.vaultRef = account.borrow\u003c\u0026FlowToken.Vault\u003e(from: /storage/flowTokenVault)\n ?? panic(\"Could not borrow flow token vault reference\")\n }\n\n execute {\n let stakerProxy = self.holderRef.borrowStaker()\n\n let lockedBalance = self.holderRef.getLockedAccountBalance()\n\n if amount \u003c= lockedBalance {\n\n stakerProxy.stakeNewTokens(amount: amount)\n\n } else if ((amount - lockedBalance) \u003c= self.vaultRef.balance) {\n\n self.holderRef.deposit(from: \u003c-self.vaultRef.withdraw(amount: amount - lockedBalance))\n\n stakerProxy.stakeNewTokens(amount: amount)\n \n } else {\n panic(\"Not enough tokens to stake!\")\n }\n }\n}\n", + "id": "FA.03", + "name": "Remove Key", + "source": "transaction(keyIndex: Int) {\n\tprepare(signer: auth(RevokeKey) \u0026Account) {\n\t\tif let key = signer.keys.get(keyIndex: keyIndex) {\n\t\t\tsigner.keys.revoke(keyIndex: keyIndex)\n\t\t} else {\n\t\t\tpanic(\"No key with the given index exists on the authorizer's account\")\n\t\t}\n\t}\n}", "arguments": [ { - "type": "UFix64", - "name": "amount", - "label": "Amount", + "type": "Int", + "name": "keyIndex", + "label": "Key Index", "sampleValues": [ { - "type": "UFix64", - "value": "92233720368.54775808" + "value": "1", + "type": "Int" } ] } ], "network": "mainnet", - "hash": "1929e4f38894b8641848a3c0a3b9d35495b35083d42e8a3d4c928b9db4174ee8" + "hash": "6c7ab72837fdce77a910f6fc0c622c6c4d5b17f6fbf7295f345d50d3508dd515" }, { - "id": "TH.09", - "name": "Re-stake Unstaked FLOW", - "source": "import LockedTokens from 0x8d0e87b65159ae63\nimport StakingProxy from 0x62430cf28c26d095\n\ntransaction(amount: UFix64) {\n\n let holderRef: \u0026LockedTokens.TokenHolder\n\n prepare(account: AuthAccount) {\n self.holderRef = account.borrow\u003c\u0026LockedTokens.TokenHolder\u003e(from: LockedTokens.TokenHolderStoragePath)\n ?? panic(\"Could not borrow reference to TokenHolder\")\n }\n\n execute {\n let stakerProxy = self.holderRef.borrowStaker()\n\n stakerProxy.stakeUnstakedTokens(amount: amount)\n }\n}\n", + "id": "FT.01", + "name": "Setup Fungible Token Vault", + "source": "import FungibleToken from 0xf233dcee88fe0abe\nimport FungibleTokenMetadataViews from 0xf233dcee88fe0abe\n\n/// This transaction is what an account would run\n/// to set itself up to manage fungible tokens. This function\n/// uses views to know where to set up the vault\n/// in storage and to create the empty vault.\n\ntransaction(contractAddress: Address, contractName: String) {\n\n prepare(signer: auth(SaveValue, Capabilities) \u0026Account) {\n // Borrow a reference to the vault stored on the passed account at the passed publicPath\n let resolverRef = getAccount(contractAddress)\n .contracts.borrow\u003c\u0026{FungibleToken}\u003e(name: contractName)\n ?? panic(\"Could not borrow a reference to the fungible token contract\")\n\n // Use that reference to retrieve the FTView \n let ftVaultData = resolverRef.resolveContractView(resourceType: nil, viewType: Type\u003cFungibleTokenMetadataViews.FTVaultData\u003e()) as! FungibleTokenMetadataViews.FTVaultData?\n ?? panic(\"Could not resolve the FTVaultData view for the given Fungible token contract\")\n\n // Create a new empty vault using the createEmptyVault function inside the FTVaultData\n let emptyVault \u003c-ftVaultData.createEmptyVault()\n\n // Save it to the account\n signer.storage.save(\u003c-emptyVault, to: ftVaultData.storagePath)\n \n // Create a public capability for the vault which includes the .Resolver interface\n let vaultCap = signer.capabilities.storage.issue\u003c\u0026{FungibleToken.Vault}\u003e(ftVaultData.storagePath)\n signer.capabilities.publish(vaultCap, at: ftVaultData.metadataPath)\n\n // Create a public capability for the vault exposing the receiver interface\n let receiverCap = signer.capabilities.storage.issue\u003c\u0026{FungibleToken.Receiver}\u003e(ftVaultData.storagePath)\n signer.capabilities.publish(receiverCap, at: ftVaultData.receiverPath)\n\n }\n}\n ", "arguments": [ { - "type": "UFix64", - "name": "amount", - "label": "Amount", + "type": "Address", + "name": "contractAddress", + "label": "FT Contract Address", "sampleValues": [ { - "type": "UFix64", - "value": "92233720368.54775808" + "value": "0xe467b9dd11fa00df", + "type": "Address" } ] - } - ], - "network": "mainnet", - "hash": "677cc0ac3962ec136ca26dbec0aa942d926640ecf8418433f0db4b7925f5d0fe" - }, - { - "id": "TH.10", - "name": "Re-stake Rewarded FLOW", - "source": "import LockedTokens from 0x8d0e87b65159ae63\nimport StakingProxy from 0x62430cf28c26d095\n\ntransaction(amount: UFix64) {\n\n let holderRef: \u0026LockedTokens.TokenHolder\n\n prepare(account: AuthAccount) {\n self.holderRef = account.borrow\u003c\u0026LockedTokens.TokenHolder\u003e(from: LockedTokens.TokenHolderStoragePath)\n ?? panic(\"Could not borrow reference to TokenHolder\")\n }\n\n execute {\n let stakerProxy = self.holderRef.borrowStaker()\n\n stakerProxy.stakeRewardedTokens(amount: amount)\n }\n}\n", - "arguments": [ + }, { - "type": "UFix64", - "name": "amount", - "label": "Amount", + "type": "String", + "name": "contractName", + "label": "FT Contract Name", "sampleValues": [ { - "type": "UFix64", - "value": "92233720368.54775808" + "value": "FiatToken", + "type": "String" } ] } ], "network": "mainnet", - "hash": "28d1719c5b21c88c62665db5ba04886809f3234c27057b057c36d5f265ee9de4" + "hash": "0246076f1cf5d3160397766a9227b35f592f4d15c014848044c509818328b62b" }, { - "id": "TH.11", - "name": "Request Unstake of FLOW", - "source": "import LockedTokens from 0x8d0e87b65159ae63\nimport StakingProxy from 0x62430cf28c26d095\n\ntransaction(amount: UFix64) {\n\n let holderRef: \u0026LockedTokens.TokenHolder\n\n prepare(account: AuthAccount) {\n self.holderRef = account.borrow\u003c\u0026LockedTokens.TokenHolder\u003e(from: LockedTokens.TokenHolderStoragePath)\n ?? panic(\"Could not borrow reference to TokenHolder\")\n }\n\n execute {\n let stakerProxy = self.holderRef.borrowStaker()\n\n stakerProxy.requestUnstaking(amount: amount)\n }\n}\n", + "id": "FT.02", + "name": "Transfer Fungible Token with Paths", + "source": "import FungibleToken from 0xf233dcee88fe0abe\n\n/// Can pass in any storage path and receiver path identifier instead of just the default.\n/// This lets you choose the token you want to send as well the capability you want to send it to.\n///\n/// Any token path can be passed as an argument here, so wallets should\n/// should check argument values to make sure the intended token path is passed in\n///\ntransaction(amount: UFix64, to: Address, senderPathIdentifier: String, receiverPathIdentifier: String) {\n\n // The Vault resource that holds the tokens that are being transferred\n let tempVault: @{FungibleToken.Vault}\n\n prepare(signer: auth(BorrowValue) \u0026Account) {\n\n let storagePath = StoragePath(identifier: senderPathIdentifier)\n ?? panic(\"Could not construct a storage path from the provided path identifier string\")\n\n // Get a reference to the signer's stored vault\n let vaultRef = signer.storage.borrow\u003cauth(FungibleToken.Withdraw) \u0026{FungibleToken.Provider}\u003e(from: storagePath)\n\t\t\t?? panic(\"Could not borrow reference to the owner's Vault!\")\n\n self.tempVault \u003c- vaultRef.withdraw(amount: amount)\n }\n\n execute {\n let publicPath = PublicPath(identifier: receiverPathIdentifier)\n ?? panic(\"Could not construct a public path from the provided path identifier string\")\n\n let recipient = getAccount(to)\n let receiverRef = recipient.capabilities.borrow\u003c\u0026{FungibleToken.Receiver}\u003e(publicPath)\n ?? panic(\"Could not borrow reference to the recipient's Receiver!\")\n\n // Transfer tokens from the signer's stored vault to the receiver capability\n receiverRef.deposit(from: \u003c-self.tempVault)\n }\n}", "arguments": [ { "type": "UFix64", @@ -187,47 +169,52 @@ "label": "Amount", "sampleValues": [ { - "type": "UFix64", - "value": "92233720368.54775808" + "value": "92233720368.54775808", + "type": "UFix64" } ] - } - ], - "network": "mainnet", - "hash": "4e2a35541453f89c55e5dc6dbc963290380d779c81df0b3bf89c29b2a8d7a9fe" - }, - { - "id": "TH.12", - "name": "Unstake All FLOW", - "source": "import LockedTokens from 0x8d0e87b65159ae63\nimport StakingProxy from 0x62430cf28c26d095\n\ntransaction() {\n\n let holderRef: \u0026LockedTokens.TokenHolder\n\n prepare(account: AuthAccount) {\n self.holderRef = account.borrow\u003c\u0026LockedTokens.TokenHolder\u003e(from: LockedTokens.TokenHolderStoragePath)\n ?? panic(\"Could not borrow reference to TokenHolder\")\n }\n\n execute {\n let stakerProxy = self.holderRef.borrowStaker()\n\n stakerProxy.unstakeAll()\n }\n}\n", - "arguments": [], - "network": "mainnet", - "hash": "7099904b953b062e81e2575a2c2081b3d98bfccf5c743b4bdb224b937e292dad" - }, - { - "id": "TH.13", - "name": "Withdraw Unstaked FLOW", - "source": "import LockedTokens from 0x8d0e87b65159ae63\nimport StakingProxy from 0x62430cf28c26d095\n\ntransaction(amount: UFix64) {\n\n let holderRef: \u0026LockedTokens.TokenHolder\n\n prepare(account: AuthAccount) {\n self.holderRef = account.borrow\u003c\u0026LockedTokens.TokenHolder\u003e(from: LockedTokens.TokenHolderStoragePath)\n ?? panic(\"Could not borrow reference to TokenHolder\")\n }\n\n execute {\n let stakerProxy = self.holderRef.borrowStaker()\n\n stakerProxy.withdrawUnstakedTokens(amount: amount)\n }\n}\n", - "arguments": [ + }, { - "type": "UFix64", - "name": "amount", - "label": "Amount", + "type": "Address", + "name": "to", + "label": "Recipient", + "sampleValues": [ + { + "value": "0xe467b9dd11fa00df", + "type": "Address" + } + ] + }, + { + "type": "String", + "name": "senderPathIdentifier", + "label": "Sender's Collection Path Identifier", "sampleValues": [ { - "type": "UFix64", - "value": "92233720368.54775808" + "value": "flowTokenVault", + "type": "String" + } + ] + }, + { + "type": "String", + "name": "receiverPathIdentifier", + "label": "Recipient's Receiver Path Identifier", + "sampleValues": [ + { + "value": "flowTokenReceiver", + "type": "String" } ] } ], "network": "mainnet", - "hash": "dcae4faa6d689873f7caf7c5efef669f9fe1d4113e58b474b7aec1e07113a7ff" + "hash": "6e5b8c83a3e8445eaa4bed391978443f124d9aa457fabdbaa016e0f65b57591e" }, { - "id": "TH.14", - "name": "Withdraw Rewarded FLOW", - "source": "import LockedTokens from 0x8d0e87b65159ae63\nimport FlowToken from 0x1654653399040a61\n\ntransaction(amount: UFix64) {\n\n let holderRef: \u0026LockedTokens.TokenHolder\n let vaultRef: \u0026FlowToken.Vault\n\n prepare(account: AuthAccount) {\n self.holderRef = account.borrow\u003c\u0026LockedTokens.TokenHolder\u003e(from: LockedTokens.TokenHolderStoragePath)\n ?? panic(\"Could not borrow reference to TokenHolder\")\n\n self.vaultRef = account.borrow\u003c\u0026FlowToken.Vault\u003e(from: /storage/flowTokenVault)\n ?? panic(\"Could not borrow reference to FlowToken value\")\n }\n\n execute {\n let stakerProxy = self.holderRef.borrowStaker()\n\n stakerProxy.withdrawRewardedTokens(amount: amount)\n self.vaultRef.deposit(from: \u003c-self.holderRef.withdraw(amount: amount))\n }\n}\n", + "id": "FT.03", + "name": "Transfer Fungible Token with Address", + "source": "import FungibleToken from 0xf233dcee88fe0abe\nimport FungibleTokenMetadataViews from 0xf233dcee88fe0abe\n\n/// Can pass in any contract address and name to transfer a token from that contract\n/// This lets you choose the token you want to send\n///\n/// Any contract can be chosen here, so wallets should check argument values\n/// to make sure the intended token path is passed in\n///\ntransaction(amount: UFix64, to: Address, contractAddress: Address, contractName: String) {\n\n // The Vault resource that holds the tokens that are being transferred\n let tempVault: @{FungibleToken.Vault}\n\n // FTVaultData struct to get paths from\n let vaultData: FungibleTokenMetadataViews.FTVaultData\n\n prepare(signer: auth(BorrowValue) \u0026Account) {\n\n // Borrow a reference to the vault stored on the passed account at the passed publicPath\n let resolverRef = getAccount(contractAddress)\n .contracts.borrow\u003c\u0026{FungibleToken}\u003e(name: contractName)\n ?? panic(\"Could not borrow a reference to the fungible token contract\")\n\n // Use that reference to retrieve the FTView \n self.vaultData = resolverRef.resolveContractView(resourceType: nil, viewType: Type\u003cFungibleTokenMetadataViews.FTVaultData\u003e()) as! FungibleTokenMetadataViews.FTVaultData?\n ?? panic(\"Could not resolve the FTVaultData view for the given Fungible token contract\")\n\n // Get a reference to the signer's stored vault\n let vaultRef = signer.storage.borrow\u003cauth(FungibleToken.Withdraw) \u0026{FungibleToken.Provider}\u003e(from: self.vaultData.storagePath)\n\t\t\t?? panic(\"Could not borrow reference to the owner's Vault!\")\n\n self.tempVault \u003c- vaultRef.withdraw(amount: amount)\n }\n\n execute {\n let recipient = getAccount(to)\n let receiverRef = recipient.capabilities.borrow\u003c\u0026{FungibleToken.Receiver}\u003e(self.vaultData.receiverPath)\n ?? panic(\"Could not borrow reference to the recipient's Receiver!\")\n\n // Transfer tokens from the signer's stored vault to the receiver capability\n receiverRef.deposit(from: \u003c-self.tempVault)\n }\n}", "arguments": [ { "type": "UFix64", @@ -235,192 +222,189 @@ "label": "Amount", "sampleValues": [ { - "type": "UFix64", - "value": "92233720368.54775808" + "value": "92233720368.54775808", + "type": "UFix64" } ] - } - ], - "network": "mainnet", - "hash": "9bb8f0562eea5e45c11f9289540f39c99a21c9a0fb060a7d3f832e98c2696f2d" - }, - { - "id": "TH.16", - "name": "Register Operator Node", - "source": "import LockedTokens from 0x8d0e87b65159ae63\nimport StakingProxy from 0x62430cf28c26d095\n\ntransaction(address: Address, id: String, amount: UFix64) {\n\n let holderRef: \u0026LockedTokens.TokenHolder\n\n prepare(account: AuthAccount) {\n self.holderRef = account.borrow\u003c\u0026LockedTokens.TokenHolder\u003e(from: LockedTokens.TokenHolderStoragePath)\n ?? panic(\"Could not borrow reference to TokenHolder\")\n }\n\n execute {\n let nodeOperatorRef = getAccount(address).getCapability\n \u003c\u0026StakingProxy.NodeStakerProxyHolder{StakingProxy.NodeStakerProxyHolderPublic}\u003e\n (StakingProxy.NodeOperatorCapabilityPublicPath)!.borrow() \n ?? panic(\"Could not borrow node operator public capability\")\n\n let nodeInfo = nodeOperatorRef.getNodeInfo(nodeID: id)\n ?? panic(\"Couldn't get info for nodeID=\".concat(id))\n\n self.holderRef.createNodeStaker(nodeInfo: nodeInfo, amount: amount)\n\n let nodeStakerProxy = self.holderRef.borrowStaker()\n\n nodeOperatorRef.addStakingProxy(nodeID: nodeInfo.id, proxy: nodeStakerProxy)\n }\n}\n", - "arguments": [ + }, { "type": "Address", - "name": "address", - "label": "Operator Address", + "name": "to", + "label": "Recipient", "sampleValues": [ { - "type": "Address", - "value": "0xe467b9dd11fa00df" + "value": "0xe467b9dd11fa00df", + "type": "Address" } ] }, { - "type": "String", - "name": "id", - "label": "Node ID", + "type": "Address", + "name": "contractAddress", + "label": "FT Contract Address", "sampleValues": [ { - "type": "String", - "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" + "value": "0xe467b9dd11fa00df", + "type": "Address" } ] }, { - "type": "UFix64", - "name": "amount", - "label": "Amount", + "type": "String", + "name": "contractName", + "label": "FT Contract Name", "sampleValues": [ { - "type": "UFix64", - "value": "92233720368.54775808" + "value": "FiatToken", + "type": "String" } ] } ], "network": "mainnet", - "hash": "97b3436482c5aefc1baf8b850e92c829202e468c57241dec707b6c27bd89d15c" + "hash": "697ad2a90da93cbd02b7658f174c9c32e2016a574edb89cf24b57a8155c343e4" }, { - "id": "TH.17", - "name": "Register Delegator", - "source": "import FlowToken from 0x1654653399040a61\nimport LockedTokens from 0x8d0e87b65159ae63\n\ntransaction(id: String, amount: UFix64) {\n\n let holderRef: \u0026LockedTokens.TokenHolder\n\n let vaultRef: \u0026FlowToken.Vault\n\n prepare(account: AuthAccount) {\n self.holderRef = account.borrow\u003c\u0026LockedTokens.TokenHolder\u003e(from: LockedTokens.TokenHolderStoragePath) \n ?? panic(\"TokenHolder is not saved at specified path\")\n\n self.vaultRef = account.borrow\u003c\u0026FlowToken.Vault\u003e(from: /storage/flowTokenVault)\n ?? panic(\"Could not borrow flow token vault reference\")\n }\n\n execute {\n self.holderRef.createNodeDelegator(nodeID: id)\n\n let delegatorProxy = self.holderRef.borrowDelegator()\n\n let lockedBalance = self.holderRef.getLockedAccountBalance()\n\n if amount \u003c= lockedBalance {\n\n delegatorProxy.delegateNewTokens(amount: amount)\n\n } else if ((amount - lockedBalance) \u003c= self.vaultRef.balance) {\n\n self.holderRef.deposit(from: \u003c-self.vaultRef.withdraw(amount: amount - lockedBalance))\n\n delegatorProxy.delegateNewTokens(amount: amount)\n\n } else {\n panic(\"Not enough tokens to stake!\")\n }\n }\n}\n", + "id": "NFT.01", + "name": "Setup NFT Collection", + "source": "/// This transaction is what an account would run\n/// to set itself up to receive NFTs. This function\n/// uses views to know where to set up the collection\n/// in storage and to create the empty collection.\n\nimport 0x1d7e57aa55817448\nimport 0x1d7e57aa55817448\n\ntransaction(contractAddress: Address, contractName: String) {\n\n prepare(signer: auth(IssueStorageCapabilityController, PublishCapability, SaveValue) \u0026Account) {\n // Borrow a reference to the nft contract deployed to the passed account\n let resolverRef = getAccount(contractAddress)\n .contracts.borrow\u003c\u0026{NonFungibleToken}\u003e(name: contractName)\n ?? panic(\"Could not borrow a reference to the non-fungible token contract\")\n\n // Use that reference to retrieve the NFTCollectionData view \n let collectionData = resolverRef.resolveContractView(resourceType: nil, viewType: Type\u003cMetadataViews.NFTCollectionData\u003e()) as! MetadataViews.NFTCollectionData?\n ?? panic(\"Could not resolve the NFTCollectionData view for the given non-fungible token contract\")\n\n // Create a new empty collections\n let emptyCollection \u003c- collectionData.createEmptyCollection()\n\n // save it to the account\n signer.storage.save(\u003c-emptyCollection, to: collectionData.storagePath)\n\n // create a public capability for the collection\n let collectionCap = signer.capabilities.storage.issue\u003c\u0026{NonFungibleToken.Collection}\u003e(\n collectionData.storagePath\n )\n signer.capabilities.publish(collectionCap, at: collectionData.publicPath)\n }\n}\n", "arguments": [ { - "type": "String", - "name": "id", - "label": "Node ID", + "type": "Address", + "name": "contractAddress", + "label": "NFT Contract Address", "sampleValues": [ { - "type": "String", - "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" + "value": "0xe467b9dd11fa00df", + "type": "Address" } ] }, { - "type": "UFix64", - "name": "amount", - "label": "Amount", + "type": "String", + "name": "contractName", + "label": "NFT Contract Name", "sampleValues": [ { - "type": "UFix64", - "value": "92233720368.54775808" + "value": "TopShot", + "type": "String" } ] } ], "network": "mainnet", - "hash": "3cb357a97a57d9abbe5c68f0df342ee96ba97ade2013753fd2ddf47695a8c08a" + "hash": "1d12c005fa7a08277204e5d54e29b725c52b9e8e3dd6ff6e01f8d47d7be1626c" }, { - "id": "TH.19", - "name": "Delegate New Locked FLOW", - "source": "import FlowToken from 0x1654653399040a61\nimport FungibleToken from 0xf233dcee88fe0abe\nimport LockedTokens from 0x8d0e87b65159ae63\n\ntransaction(amount: UFix64) {\n\n let holderRef: \u0026LockedTokens.TokenHolder\n\n let vaultRef: \u0026FlowToken.Vault\n\n prepare(account: AuthAccount) {\n self.holderRef = account.borrow\u003c\u0026LockedTokens.TokenHolder\u003e(from: LockedTokens.TokenHolderStoragePath)\n ?? panic(\"Could not borrow reference to TokenHolder\")\n\n self.vaultRef = account.borrow\u003c\u0026FlowToken.Vault\u003e(from: /storage/flowTokenVault)\n ?? panic(\"Could not borrow flow token vault reference\")\n }\n\n execute {\n let stakerProxy = self.holderRef.borrowDelegator()\n\n let lockedBalance = self.holderRef.getLockedAccountBalance()\n\n if amount \u003c= lockedBalance {\n\n stakerProxy.delegateNewTokens(amount: amount)\n\n } else if ((amount - lockedBalance) \u003c= self.vaultRef.balance) {\n\n self.holderRef.deposit(from: \u003c-self.vaultRef.withdraw(amount: amount - lockedBalance))\n\n stakerProxy.delegateNewTokens(amount: amount)\n } else {\n panic(\"Not enough tokens to stake!\")\n }\n }\n}\n", + "id": "NFT.02", + "name": "Transfer NFT with Paths", + "source": "import 0x1d7e57aa55817448\n\n/// Can pass in any storage path and receiver path instead of just the default.\n/// This lets you choose the token you want to send as well the capability you want to send it to.\n///\n/// Any token path can be passed as an argument here, so wallets should\n/// should check argument values to make sure the intended token path is passed in\n///\ntransaction(to: Address, id: UInt64, senderPathIdentifier: String, receiverPathIdentifier: String) {\n\n // The NFT resource to be transferred\n let tempNFT: @{NonFungibleToken.NFT}\n\n prepare(signer: auth(BorrowValue) \u0026Account) {\n\n let storagePath = StoragePath(identifier: senderPathIdentifier)\n ?? panic(\"Could not construct a storage path from the provided path identifier string\")\n\n // borrow a reference to the signer's NFT collection\n let withdrawRef = signer.storage.borrow\u003cauth(NonFungibleToken.Withdraw) \u0026{NonFungibleToken.Collection}\u003e(\n from: storagePath\n ) ?? panic(\"Account does not store a collection object at the specified path\")\n\n self.tempNFT \u003c- withdrawRef.withdraw(withdrawID: id)\n }\n\n execute {\n let publicPath = PublicPath(identifier: receiverPathIdentifier)\n ?? panic(\"Could not construct a public path from the provided path identifier string\")\n\n // get the recipients public account object\n let recipient = getAccount(to)\n\n // borrow a public reference to the receivers collection\n let receiverCap = recipient.capabilities.get\u003c\u0026{NonFungibleToken.Receiver}\u003e(publicPath)\n ?? panic(\"Could not get the recipient's Receiver Capability\")\n\n let receiverRef = receiverCap.borrow()\n ?? panic(\"Could not borrow reference to the recipient's receiver\")\n\n // Deposit the NFT to the receiver\n receiverRef.deposit(token: \u003c-self.tempNFT)\n }\n}", "arguments": [ { - "type": "UFix64", - "name": "amount", - "label": "Amount", + "type": "Address", + "name": "to", + "label": "Recipient", "sampleValues": [ { - "type": "UFix64", - "value": "92233720368.54775808" + "value": "0xe467b9dd11fa00df", + "type": "Address" } ] - } - ], - "network": "mainnet", - "hash": "802354d8b3e7908e584bcb5217637fb9f4ef045427c32d57d81ad4a390ed1a60" - }, - { - "id": "TH.20", - "name": "Re-delegate Unstaked FLOW", - "source": "import LockedTokens from 0x8d0e87b65159ae63\n\ntransaction(amount: UFix64) {\n let nodeDelegatorProxy: LockedTokens.LockedNodeDelegatorProxy\n\n prepare(account: AuthAccount) {\n let holderRef = account.borrow\u003c\u0026LockedTokens.TokenHolder\u003e(from: LockedTokens.TokenHolderStoragePath) \n ?? panic(\"TokenHolder is not saved at specified path\")\n\n self.nodeDelegatorProxy = holderRef.borrowDelegator()\n }\n\n execute {\n self.nodeDelegatorProxy.delegateUnstakedTokens(amount: amount)\n }\n}\n", - "arguments": [ + }, { - "type": "UFix64", - "name": "amount", - "label": "Amount", + "type": "UInt64", + "name": "id", + "label": "NFT ID to Transfer", "sampleValues": [ { - "type": "UFix64", - "value": "92233720368.54775808" + "value": "10", + "type": "UInt64" } ] - } - ], - "network": "mainnet", - "hash": "2027331b72d8710a1a05feb6ecebadb5858d134bc8c95d6f261319cd9fa1bb95" - }, - { - "id": "TH.21", - "name": "Re-delegate Rewarded FLOW", - "source": "import LockedTokens from 0x8d0e87b65159ae63\n\ntransaction(amount: UFix64) {\n let nodeDelegatorProxy: LockedTokens.LockedNodeDelegatorProxy\n\n prepare(account: AuthAccount) {\n let holderRef = account.borrow\u003c\u0026LockedTokens.TokenHolder\u003e(from: LockedTokens.TokenHolderStoragePath) \n ?? panic(\"TokenHolder is not saved at specified path\")\n \n self.nodeDelegatorProxy = holderRef.borrowDelegator()\n }\n\n execute {\n self.nodeDelegatorProxy.delegateRewardedTokens(amount: amount)\n }\n}\n", - "arguments": [ + }, { - "type": "UFix64", - "name": "amount", - "label": "Amount", + "type": "String", + "name": "senderPathIdentifier", + "label": "Sender's Collection Path Identifier", "sampleValues": [ { - "type": "UFix64", - "value": "92233720368.54775808" + "value": "flowTokenVault", + "type": "String" } ] - } - ], - "network": "mainnet", - "hash": "864edbff384335ef21c26b3bcf17d36b2b1d894afbe2b203f58099cc457971e4" - }, - { - "id": "TH.22", - "name": "Unstake Delegated FLOW", - "source": "import LockedTokens from 0x8d0e87b65159ae63\n\ntransaction(amount: UFix64) {\n let nodeDelegatorProxy: LockedTokens.LockedNodeDelegatorProxy\n\n prepare(account: AuthAccount) {\n let holderRef = account.borrow\u003c\u0026LockedTokens.TokenHolder\u003e(from: LockedTokens.TokenHolderStoragePath) \n ?? panic(\"TokenHolder is not saved at specified path\")\n \n self.nodeDelegatorProxy = holderRef.borrowDelegator()\n }\n\n execute {\n self.nodeDelegatorProxy.requestUnstaking(amount: amount)\n }\n}\n", - "arguments": [ + }, { - "type": "UFix64", - "name": "amount", - "label": "Amount", + "type": "String", + "name": "receiverPathIdentifier", + "label": "Recipient's Receiver Path Identifier", "sampleValues": [ { - "type": "UFix64", - "value": "92233720368.54775808" + "value": "flowTokenReceiver", + "type": "String" } ] } ], "network": "mainnet", - "hash": "262aeddd3f49fd6222d706c02696bd7d359ba962b6c30232cc93d7cf4166a23e" + "hash": "a56eb0c3e6c3456eee86d5cb62ddf700b0d1e5e65f12fe6926edd6d181658285" }, { - "id": "TH.23", - "name": "Withdraw Unstaked FLOW", - "source": "import LockedTokens from 0x8d0e87b65159ae63\n\ntransaction(amount: UFix64) {\n let nodeDelegatorProxy: LockedTokens.LockedNodeDelegatorProxy\n\n prepare(account: AuthAccount) {\n let holderRef = account.borrow\u003c\u0026LockedTokens.TokenHolder\u003e(from: LockedTokens.TokenHolderStoragePath) \n ?? panic(\"TokenHolder is not saved at specified path\")\n \n self.nodeDelegatorProxy = holderRef.borrowDelegator()\n }\n\n execute {\n self.nodeDelegatorProxy.withdrawUnstakedTokens(amount: amount)\n }\n}\n", + "id": "NFT.03", + "name": "Transfer NFT with Address", + "source": "import 0x1d7e57aa55817448\nimport 0x1d7e57aa55817448\n\n/// Can pass in any contract address and name\n/// This lets you choose the token you want to send because\n/// the transaction gets the metadata from the provided contract.\n///\ntransaction(to: Address, id: UInt64, contractAddress: Address, contractName: String) {\n\n // The NFT resource to be transferred\n let tempNFT: @{NonFungibleToken.NFT}\n\n // NFTCollectionData struct to get paths from\n let collectionData: MetadataViews.NFTCollectionData\n\n prepare(signer: auth(BorrowValue) \u0026Account) {\n\n // Borrow a reference to the nft contract deployed to the passed account\n let resolverRef = getAccount(contractAddress)\n .contracts.borrow\u003c\u0026{NonFungibleToken}\u003e(name: contractName)\n ?? panic(\"Could not borrow a reference to the non-fungible token contract\")\n\n // Use that reference to retrieve the NFTCollectionData view \n self.collectionData = resolverRef.resolveContractView(resourceType: nil, viewType: Type\u003cMetadataViews.NFTCollectionData\u003e()) as! MetadataViews.NFTCollectionData?\n ?? panic(\"Could not resolve the NFTCollectionData view for the given non-fungible token contract\")\n\n\n // borrow a reference to the signer's NFT collection\n let withdrawRef = signer.storage.borrow\u003cauth(NonFungibleToken.Withdraw) \u0026{NonFungibleToken.Collection}\u003e(\n from: self.collectionData.storagePath\n ) ?? panic(\"Account does not store a collection object at the specified path\")\n\n self.tempNFT \u003c- withdrawRef.withdraw(withdrawID: id)\n }\n\n execute {\n // get the recipients public account object\n let recipient = getAccount(to)\n\n // borrow a public reference to the receivers collection\n let receiverCap = recipient.capabilities.get\u003c\u0026{NonFungibleToken.Receiver}\u003e(self.collectionData.publicPath)\n ?? panic(\"Could not get the recipient's Receiver Capability\")\n\n let receiverRef = receiverCap.borrow()\n ?? panic(\"Could not borrow reference to the recipient's receiver\")\n\n // Deposit the NFT to the receiver\n receiverRef.deposit(token: \u003c-self.tempNFT)\n }\n}", "arguments": [ { - "type": "UFix64", - "name": "amount", - "label": "Amount", + "type": "Address", + "name": "to", + "label": "Recipient", + "sampleValues": [ + { + "value": "0xe467b9dd11fa00df", + "type": "Address" + } + ] + }, + { + "type": "UInt64", + "name": "id", + "label": "NFT ID to Transfer", + "sampleValues": [ + { + "value": "10", + "type": "UInt64" + } + ] + }, + { + "type": "Address", + "name": "contractAddress", + "label": "NFT Contract Address", "sampleValues": [ { - "type": "UFix64", - "value": "92233720368.54775808" + "value": "0xe467b9dd11fa00df", + "type": "Address" + } + ] + }, + { + "type": "String", + "name": "contractName", + "label": "NFT Contract Name", + "sampleValues": [ + { + "value": "TopShot", + "type": "String" } ] } ], "network": "mainnet", - "hash": "12675a013c064b6d0ef11dbf13f92210489bf2b3d299b2f14cd09be70b37577f" + "hash": "111142945f27d91bf3be630737805eba25d586b0c292bb3818e5d4cf4287e31c" }, { - "id": "TH.24", - "name": "Withdraw Rewarded FLOW", - "source": "import LockedTokens from 0x8d0e87b65159ae63\nimport FlowToken from 0x1654653399040a61\n\ntransaction(amount: UFix64) {\n\n let holderRef: \u0026LockedTokens.TokenHolder\n let vaultRef: \u0026FlowToken.Vault\n\n prepare(account: AuthAccount) {\n self.holderRef = account.borrow\u003c\u0026LockedTokens.TokenHolder\u003e(from: LockedTokens.TokenHolderStoragePath) \n ?? panic(\"Could not borrow reference to TokenHolder\")\n\n self.vaultRef = account.borrow\u003c\u0026FlowToken.Vault\u003e(from: /storage/flowTokenVault)\n ?? panic(\"Could not borrow reference to FlowToken value\")\n }\n\n execute {\n let delegatorProxy = self.holderRef.borrowDelegator()\n\n delegatorProxy.withdrawRewardedTokens(amount: amount)\n self.vaultRef.deposit(from: \u003c-self.holderRef.withdraw(amount: amount))\n }\n}\n", + "id": "TH.01", + "name": "Withdraw Unlocked FLOW", + "source": "import FungibleToken from 0xf233dcee88fe0abe\nimport FlowToken from 0x1654653399040a61\nimport LockedTokens from 0x8d0e87b65159ae63\n\ntransaction(amount: UFix64) {\n\n let holderRef: auth(LockedTokens.TokenOperations, FungibleToken.Withdraw) \u0026LockedTokens.TokenHolder\n let vaultRef: auth(FungibleToken.Withdraw) \u0026FlowToken.Vault\n\n prepare(acct: auth(BorrowValue) \u0026Account) {\n self.holderRef = acct.storage.borrow\u003cauth(LockedTokens.TokenOperations, FungibleToken.Withdraw) \u0026LockedTokens.TokenHolder\u003e(from: LockedTokens.TokenHolderStoragePath)\n ?? panic(\"The primary user account does not have an associated locked account\")\n\n self.vaultRef = acct.storage.borrow\u003cauth(FungibleToken.Withdraw) \u0026FlowToken.Vault\u003e(from: /storage/flowTokenVault)\n ?? panic(\"Could not borrow flow token vault ref\")\n }\n\n execute {\n self.vaultRef.deposit(from: \u003c-self.holderRef.withdraw(amount: amount))\n }\n}\n", "arguments": [ { "type": "UFix64", @@ -428,47 +412,47 @@ "label": "Amount", "sampleValues": [ { - "type": "UFix64", - "value": "92233720368.54775808" + "value": "92233720368.54775808", + "type": "UFix64" } ] } ], "network": "mainnet", - "hash": "239ffa449eae5560eec3e99633dcf9c63b1e9c99996d1c5636644dceef9ec44b" + "hash": "4a830e6f93f74179a99e17c7ae762980c7fdc428bc949767529be2f071ac52b9" }, { - "id": "TH.25", - "name": "Update Networking Address", - "source": "import FlowIDTableStaking from 0x8624b52f9ddcd04a\n\ntransaction(newAddress: String) {\n\n // Local variable for a reference to the node object\n let stakerRef: \u0026FlowIDTableStaking.NodeStaker\n\n prepare(acct: AuthAccount) {\n // borrow a reference to the node object\n self.stakerRef = acct.borrow\u003c\u0026FlowIDTableStaking.NodeStaker\u003e(from: FlowIDTableStaking.NodeStakerStoragePath)\n ?? panic(\"Could not borrow reference to staking admin\")\n }\n\n execute {\n\n self.stakerRef.updateNetworkingAddress(newAddress)\n\n }\n}", + "id": "TH.02", + "name": "Deposit Unlocked FLOW", + "source": "import FungibleToken from 0xf233dcee88fe0abe\nimport FlowToken from 0x1654653399040a61\nimport LockedTokens from 0x8d0e87b65159ae63\n\ntransaction(amount: UFix64) {\n\n let holderRef: \u0026LockedTokens.TokenHolder\n let vaultRef: auth(FungibleToken.Withdraw) \u0026FlowToken.Vault\n\n prepare(acct: auth(BorrowValue) \u0026Account) {\n self.holderRef = acct.storage.borrow\u003c\u0026LockedTokens.TokenHolder\u003e(from: LockedTokens.TokenHolderStoragePath)\n ?? panic(\"The primary user account does not have an associated locked account\")\n\n self.vaultRef = acct.storage.borrow\u003cauth(FungibleToken.Withdraw) \u0026FlowToken.Vault\u003e(from: /storage/flowTokenVault)\n ?? panic(\"Could not borrow flow token vault ref\")\n }\n\n execute {\n self.holderRef.deposit(from: \u003c-self.vaultRef.withdraw(amount: amount))\n }\n}\n", "arguments": [ { - "type": "String", - "name": "address", - "label": "Address", + "type": "UFix64", + "name": "amount", + "label": "Amount", "sampleValues": [ { - "type": "String", - "value": "flow-node.test:3569" + "value": "92233720368.54775808", + "type": "UFix64" } ] } ], "network": "mainnet", - "hash": "e79cb076f2f7da7a3039b5061916e081a823087f1560bdf3caea773992892873" + "hash": "038382a947fa96bf2f4dfe5aa9b4b2abee1ef0975955175e80cf911c3edf4b61" }, { "id": "SCO.01", "name": "Setup Staking Collection", - "source": "import FungibleToken from 0xf233dcee88fe0abe\nimport FlowToken from 0x1654653399040a61\nimport FlowIDTableStaking from 0x8624b52f9ddcd04a\nimport LockedTokens from 0x8d0e87b65159ae63\nimport FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// This transaction sets up an account to use a staking collection\n/// It will work regardless of whether they have a regular account, a two-account locked tokens setup,\n/// or staking objects stored in the unlocked account\n\ntransaction {\n prepare(signer: AuthAccount) {\n\n // If there isn't already a staking collection\n if signer.borrow\u003c\u0026FlowStakingCollection.StakingCollection\u003e(from: FlowStakingCollection.StakingCollectionStoragePath) == nil {\n\n // Create private capabilities for the token holder and unlocked vault\n let lockedHolder = signer.link\u003c\u0026LockedTokens.TokenHolder\u003e(/private/flowTokenHolder, target: LockedTokens.TokenHolderStoragePath)!\n let flowToken = signer.link\u003c\u0026FlowToken.Vault\u003e(/private/flowTokenVault, target: /storage/flowTokenVault)!\n \n // Create a new Staking Collection and put it in storage\n if lockedHolder.check() {\n signer.save(\u003c-FlowStakingCollection.createStakingCollection(unlockedVault: flowToken, tokenHolder: lockedHolder), to: FlowStakingCollection.StakingCollectionStoragePath)\n } else {\n signer.save(\u003c-FlowStakingCollection.createStakingCollection(unlockedVault: flowToken, tokenHolder: nil), to: FlowStakingCollection.StakingCollectionStoragePath)\n }\n\n // Create a public link to the staking collection\n signer.link\u003c\u0026FlowStakingCollection.StakingCollection{FlowStakingCollection.StakingCollectionPublic}\u003e(\n FlowStakingCollection.StakingCollectionPublicPath,\n target: FlowStakingCollection.StakingCollectionStoragePath\n )\n }\n\n // borrow a reference to the staking collection\n let collectionRef = signer.borrow\u003c\u0026FlowStakingCollection.StakingCollection\u003e(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow staking collection reference\")\n\n // If there is a node staker object in the account, put it in the staking collection\n if signer.borrow\u003c\u0026FlowIDTableStaking.NodeStaker\u003e(from: FlowIDTableStaking.NodeStakerStoragePath) != nil {\n let node \u003c- signer.load\u003c@FlowIDTableStaking.NodeStaker\u003e(from: FlowIDTableStaking.NodeStakerStoragePath)!\n collectionRef.addNodeObject(\u003c-node, machineAccountInfo: nil)\n }\n\n // If there is a delegator object in the account, put it in the staking collection\n if signer.borrow\u003c\u0026FlowIDTableStaking.NodeDelegator\u003e(from: FlowIDTableStaking.DelegatorStoragePath) != nil {\n let delegator \u003c- signer.load\u003c@FlowIDTableStaking.NodeDelegator\u003e(from: FlowIDTableStaking.DelegatorStoragePath)!\n collectionRef.addDelegatorObject(\u003c-delegator)\n }\n }\n}\n", + "source": "import FungibleToken from 0xf233dcee88fe0abe\nimport FlowToken from 0x1654653399040a61\nimport FlowIDTableStaking from 0x8624b52f9ddcd04a\nimport LockedTokens from 0x8d0e87b65159ae63\nimport FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// This transaction sets up an account to use a staking collection\n/// It will work regardless of whether they have a regular account, a two-account locked tokens setup,\n/// or staking objects stored in the unlocked account\n\ntransaction {\n prepare(signer: auth(BorrowValue, Storage, Capabilities) \u0026Account) {\n\n // If there isn't already a staking collection\n if signer.storage.borrow\u003c\u0026FlowStakingCollection.StakingCollection\u003e(from: FlowStakingCollection.StakingCollectionStoragePath) == nil {\n\n // Create private capabilities for the token holder and unlocked vault\n let lockedHolder = signer.capabilities.storage.issue\u003cauth(FungibleToken.Withdraw, LockedTokens.TokenOperations) \u0026LockedTokens.TokenHolder\u003e(LockedTokens.TokenHolderStoragePath)!\n let flowToken = signer.capabilities.storage.issue\u003cauth(FungibleToken.Withdraw) \u0026FlowToken.Vault\u003e(/storage/flowTokenVault)!\n\n // Create a new Staking Collection and put it in storage\n if lockedHolder.check() {\n signer.storage.save(\n \u003c- FlowStakingCollection.createStakingCollection(\n unlockedVault: flowToken,\n tokenHolder: lockedHolder\n ),\n to: FlowStakingCollection.StakingCollectionStoragePath\n )\n } else {\n signer.storage.save(\n \u003c- FlowStakingCollection.createStakingCollection(\n unlockedVault: flowToken,\n tokenHolder: nil\n ),\n to: FlowStakingCollection.StakingCollectionStoragePath\n )\n }\n\n // Publish a capability to the created staking collection.\n let stakingCollectionCap = signer.capabilities.storage.issue\u003c\u0026FlowStakingCollection.StakingCollection\u003e(\n FlowStakingCollection.StakingCollectionStoragePath\n )\n\n signer.capabilities.publish(\n stakingCollectionCap,\n at: FlowStakingCollection.StakingCollectionPublicPath\n )\n }\n\n // borrow a reference to the staking collection\n let collectionRef = signer.storage.borrow\u003c\u0026FlowStakingCollection.StakingCollection\u003e(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow staking collection reference\")\n\n // If there is a node staker object in the account, put it in the staking collection\n if signer.storage.borrow\u003c\u0026FlowIDTableStaking.NodeStaker\u003e(from: FlowIDTableStaking.NodeStakerStoragePath) != nil {\n let node \u003c- signer.storage.load\u003c@FlowIDTableStaking.NodeStaker\u003e(from: FlowIDTableStaking.NodeStakerStoragePath)!\n collectionRef.addNodeObject(\u003c-node, machineAccountInfo: nil)\n }\n\n // If there is a delegator object in the account, put it in the staking collection\n if signer.storage.borrow\u003c\u0026FlowIDTableStaking.NodeDelegator\u003e(from: FlowIDTableStaking.DelegatorStoragePath) != nil {\n let delegator \u003c- signer.storage.load\u003c@FlowIDTableStaking.NodeDelegator\u003e(from: FlowIDTableStaking.DelegatorStoragePath)!\n collectionRef.addDelegatorObject(\u003c-delegator)\n }\n }\n}\n", "arguments": [], "network": "mainnet", - "hash": "0e5c2445c0b1016eed4f60c429f233aa0bb223a0d9ff2aedffce00a58037a2bf" + "hash": "69f30decc15bd78107c631e200963398e8ddbc58bb61e577d223725f348fc2d9" }, { "id": "SCO.02", "name": "Register Delegator", - "source": "import FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// Registers a delegator in the staking collection resource\n/// for the specified nodeID and the amount of tokens to commit\n\ntransaction(id: String, amount: UFix64) {\n \n let stakingCollectionRef: \u0026FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow\u003c\u0026FlowStakingCollection.StakingCollection\u003e(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n }\n\n execute {\n self.stakingCollectionRef.registerDelegator(nodeID: id, amount: amount) \n }\n}\n", + "source": "import FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// Registers a delegator in the staking collection resource\n/// for the specified nodeID and the amount of tokens to commit\n\ntransaction(id: String, amount: UFix64) {\n \n let stakingCollectionRef: auth(FlowStakingCollection.CollectionOwner) \u0026FlowStakingCollection.StakingCollection\n\n prepare(account: auth(BorrowValue) \u0026Account) {\n self.stakingCollectionRef = account.storage.borrow\u003cauth(FlowStakingCollection.CollectionOwner) \u0026FlowStakingCollection.StakingCollection\u003e(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow a reference to a StakingCollection in the primary user's account\")\n }\n\n execute {\n self.stakingCollectionRef.registerDelegator(nodeID: id, amount: amount) \n }\n}\n", "arguments": [ { "type": "String", @@ -476,8 +460,8 @@ "label": "Node ID", "sampleValues": [ { - "type": "String", - "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" + "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6", + "type": "String" } ] }, @@ -487,19 +471,19 @@ "label": "Amount", "sampleValues": [ { - "type": "UFix64", - "value": "92233720368.54775808" + "value": "92233720368.54775808", + "type": "UFix64" } ] } ], "network": "mainnet", - "hash": "c5636d510872a16eb06996dacb43d6a28f8f72ff1b05b2eb03416cc711d9bb1f" + "hash": "0a41e53ad3c9c1c16c8732dd8331b8ca66063617d433b01d4d09c47300448744" }, { "id": "SCO.03", "name": "Register Node", - "source": "import FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// Registers a delegator in the staking collection resource\n/// for the specified node information and the amount of tokens to commit\n\ntransaction(id: String,\n role: UInt8,\n networkingAddress: String,\n networkingKey: String,\n stakingKey: String,\n amount: UFix64,\n publicKeys: [String]?) {\n \n let stakingCollectionRef: \u0026FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow\u003c\u0026FlowStakingCollection.StakingCollection\u003e(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n\n if let machineAccount = self.stakingCollectionRef.registerNode(\n id: id,\n role: role,\n networkingAddress: networkingAddress,\n networkingKey: networkingKey,\n stakingKey: stakingKey,\n amount: amount,\n payer: account) \n {\n if publicKeys == nil || publicKeys!.length == 0 {\n panic(\"Cannot provide zero keys for the machine account\")\n }\n for key in publicKeys! {\n machineAccount.addPublicKey(key.decodeHex())\n }\n }\n }\n}\n", + "source": "import Crypto\nimport FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// Registers a delegator in the staking collection resource\n/// for the specified node information and the amount of tokens to commit\n\ntransaction(id: String,\n role: UInt8,\n networkingAddress: String,\n networkingKey: String,\n stakingKey: String,\n amount: UFix64,\n machineAccountKey: String, \n machineAccountKeySignatureAlgorithm: UInt8, \n machineAccountKeyHashAlgorithm: UInt8) {\n\n let stakingCollectionRef: auth(FlowStakingCollection.CollectionOwner) \u0026FlowStakingCollection.StakingCollection\n\n prepare(account: auth(BorrowValue) \u0026Account) {\n self.stakingCollectionRef = account.storage.borrow\u003cauth(FlowStakingCollection.CollectionOwner) \u0026FlowStakingCollection.StakingCollection\u003e(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow a reference to a StakingCollection in the primary user's account\")\n\n if let machineAccount = self.stakingCollectionRef.registerNode(\n id: id,\n role: role,\n networkingAddress: networkingAddress,\n networkingKey: networkingKey,\n stakingKey: stakingKey,\n amount: amount,\n payer: account\n ) {\n let sigAlgo = SignatureAlgorithm(rawValue: machineAccountKeySignatureAlgorithm)\n ?? panic(\"Could not get a signature algorithm from the raw enum value provided\")\n\n let hashAlgo = HashAlgorithm(rawValue: machineAccountKeyHashAlgorithm)\n ?? panic(\"Could not get a hash algorithm from the raw enum value provided\")\n \n let publicKey = PublicKey(\n\t\t\t publicKey: machineAccountKey.decodeHex(),\n\t\t\t signatureAlgorithm: sigAlgo\n\t\t )\n machineAccount.keys.add(publicKey: publicKey, hashAlgorithm: hashAlgo, weight: 1000.0)\n }\n }\n}\n", "arguments": [ { "type": "String", @@ -507,8 +491,8 @@ "label": "Node ID", "sampleValues": [ { - "type": "String", - "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" + "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6", + "type": "String" } ] }, @@ -518,8 +502,8 @@ "label": "Node Role", "sampleValues": [ { - "type": "UInt8", - "value": "1" + "value": "1", + "type": "UInt8" } ] }, @@ -529,8 +513,8 @@ "label": "Networking Address", "sampleValues": [ { - "type": "String", - "value": "flow-node.test:3569" + "value": "flow-node.test:3569", + "type": "String" } ] }, @@ -540,8 +524,8 @@ "label": "Networking Key", "sampleValues": [ { - "type": "String", - "value": "1348307bc77c688e80049de9d081aa09755da33e6997605fa059db2144fc85e560cbe6f7da8d74b453f5916618cb8fd392c2db856f3e78221dc68db1b1d914e4" + "value": "1348307bc77c688e80049de9d081aa09755da33e6997605fa059db2144fc85e560cbe6f7da8d74b453f5916618cb8fd392c2db856f3e78221dc68db1b1d914e4", + "type": "String" } ] }, @@ -551,8 +535,8 @@ "label": "Staking Key", "sampleValues": [ { - "type": "String", - "value": "9e9ae0d645fd5fd9050792e0b0daa82cc1686d9133afa0f81a784b375c42ae48567d1545e7a9e1965f2c1a32f73cf8575ebb7a967f6e4d104d2df78eb8be409135d12da0499b8a00771f642c1b9c49397f22b440439f036c3bdee82f5309dab3" + "value": "9e9ae0d645fd5fd9050792e0b0daa82cc1686d9133afa0f81a784b375c42ae48567d1545e7a9e1965f2c1a32f73cf8575ebb7a967f6e4d104d2df78eb8be409135d12da0499b8a00771f642c1b9c49397f22b440439f036c3bdee82f5309dab3", + "type": "String" } ] }, @@ -562,69 +546,52 @@ "label": "Amount", "sampleValues": [ { - "type": "UFix64", - "value": "92233720368.54775808" + "value": "92233720368.54775808", + "type": "UFix64" } ] }, { - "type": "[String]?", - "name": "publicKeys", - "label": "Public Keys", + "type": "String", + "name": "machineAccountKey", + "label": "Machine Account Public Key", "sampleValues": [ { - "type": "Optional", - "value": null - }, - { - "type": "Optional", - "value": { - "type": "Array", - "value": [] - } - }, + "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164", + "type": "String" + } + ] + }, + { + "type": "UInt8", + "name": "machineAccountKeySignatureAlgorithm", + "label": "Raw Value for Machine Account Signature Algorithm Enum", + "sampleValues": [ { - "type": "Optional", - "value": { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164" - } - ] - } - }, + "value": "1", + "type": "UInt8" + } + ] + }, + { + "type": "UInt8", + "name": "machineAccountKeyHashAlgorithm", + "label": "Raw Value for Machine Account Hash Algorithm Enum", + "sampleValues": [ { - "type": "Optional", - "value": { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164" - }, - { - "type": "String", - "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164" - }, - { - "type": "String", - "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164" - } - ] - } + "value": "1", + "type": "UInt8" } ] } ], "network": "mainnet", - "hash": "99997236b6d76caa298331d5cef77cbdf83c1af64584ece537a780ba4ac46883" + "hash": "3b0b2bbc3a2ad674122c182112f7008a8d3d1b60b107033c0ebe7bbe50df5267" }, { "id": "SCO.04", "name": "Create Machine Account", - "source": "import FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// Creates a machine account for a node that is already in the staking collection\n/// and adds public keys to the new account\n\ntransaction(nodeID: String, publicKeys: [String]) {\n \n let stakingCollectionRef: \u0026FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow\u003c\u0026FlowStakingCollection.StakingCollection\u003e(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n\n if let machineAccount = self.stakingCollectionRef.createMachineAccountForExistingNode(nodeID: nodeID, payer: account) {\n if publicKeys == nil || publicKeys!.length == 0 {\n panic(\"Cannot provide zero keys for the machine account\")\n }\n for key in publicKeys! {\n machineAccount.addPublicKey(key.decodeHex())\n }\n } else {\n panic(\"Could not create a machine account for the node\")\n }\n }\n}\n", + "source": "import Crypto\nimport FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// Creates a machine account for a node that is already in the staking collection\n/// and adds public keys to the new account\n\ntransaction(nodeID: String, \n machineAccountKey: String, \n machineAccountKeySignatureAlgorithm: UInt8, \n machineAccountKeyHashAlgorithm: UInt8) {\n \n let stakingCollectionRef: auth(FlowStakingCollection.CollectionOwner) \u0026FlowStakingCollection.StakingCollection\n\n prepare(account: auth(BorrowValue) \u0026Account) {\n self.stakingCollectionRef = account.storage.borrow\u003cauth(FlowStakingCollection.CollectionOwner) \u0026FlowStakingCollection.StakingCollection\u003e(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow a reference to a StakingCollection in the primary user's account\")\n\n if let machineAccount = self.stakingCollectionRef.createMachineAccountForExistingNode(nodeID: nodeID, payer: account) {\n let sigAlgo = SignatureAlgorithm(rawValue: machineAccountKeySignatureAlgorithm)\n ?? panic(\"Could not get a signature algorithm from the raw enum value provided\")\n\n let hashAlgo = HashAlgorithm(rawValue: machineAccountKeyHashAlgorithm)\n ?? panic(\"Could not get a hash algorithm from the raw enum value provided\")\n \n let publicKey = PublicKey(\n\t\t\t publicKey: machineAccountKey.decodeHex(),\n\t\t\t signatureAlgorithm: sigAlgo\n\t\t )\n machineAccount.keys.add(publicKey: publicKey, hashAlgorithm: hashAlgo, weight: 1000.0)\n } else {\n panic(\"Could not create a machine account for the node\")\n }\n }\n}\n", "arguments": [ { "type": "String", @@ -632,56 +599,52 @@ "label": "Node ID", "sampleValues": [ { - "type": "String", - "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" + "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6", + "type": "String" } ] }, { - "type": "[String]", - "name": "publicKeys", - "label": "Public Keys", + "type": "String", + "name": "machineAccountKey", + "label": "Machine Account Public Key", "sampleValues": [ { - "type": "Array", - "value": [] - }, + "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164", + "type": "String" + } + ] + }, + { + "type": "UInt8", + "name": "machineAccountKeySignatureAlgorithm", + "label": "Raw Value for Machine Account Signature Algorithm Enum", + "sampleValues": [ { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164" - } - ] - }, + "value": "1", + "type": "UInt8" + } + ] + }, + { + "type": "UInt8", + "name": "machineAccountKeyHashAlgorithm", + "label": "Raw Value for Machine Account Hash Algorithm Enum", + "sampleValues": [ { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164" - }, - { - "type": "String", - "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164" - }, - { - "type": "String", - "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164" - } - ] + "value": "1", + "type": "UInt8" } ] } ], "network": "mainnet", - "hash": "c2442b498eea025099815ea613d6407407192dc12ad70e1a4f47936db804a841" + "hash": "f0a6cedb6703cd4ce4cc3b735e5edb5a7e5b17a87a725343d745e5d53b7c0a01" }, { "id": "SCO.05", "name": "Request Unstaking", - "source": "import FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// Requests unstaking for the specified node or delegator in the staking collection\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: \u0026FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow\u003c\u0026FlowStakingCollection.StakingCollection\u003e(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n }\n\n execute {\n self.stakingCollectionRef.requestUnstaking(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", + "source": "import FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// Requests unstaking for the specified node or delegator in the staking collection\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: auth(FlowStakingCollection.CollectionOwner) \u0026FlowStakingCollection.StakingCollection\n\n prepare(account: auth(BorrowValue) \u0026Account) {\n self.stakingCollectionRef = account.storage.borrow\u003cauth(FlowStakingCollection.CollectionOwner) \u0026FlowStakingCollection.StakingCollection\u003e(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow a reference to a StakingCollection in the primary user's account\")\n }\n\n execute {\n self.stakingCollectionRef.requestUnstaking(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", "arguments": [ { "type": "String", @@ -689,8 +652,8 @@ "label": "Node ID", "sampleValues": [ { - "type": "String", - "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" + "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6", + "type": "String" } ] }, @@ -700,15 +663,15 @@ "label": "Delegator ID", "sampleValues": [ { - "type": "Optional", - "value": null + "value": null, + "type": "Optional" }, { - "type": "Optional", "value": { - "type": "UInt32", - "value": "42" - } + "value": "42", + "type": "UInt32" + }, + "type": "Optional" } ] }, @@ -718,19 +681,19 @@ "label": "Amount", "sampleValues": [ { - "type": "UFix64", - "value": "92233720368.54775808" + "value": "92233720368.54775808", + "type": "UFix64" } ] } ], "network": "mainnet", - "hash": "a552951c5e6300a118610fbf2d36b3073ee266e1d26787d04717c141976ef78c" + "hash": "f26c058a127500fcd8445ba9fcf55149fe8f1a1a7cd212688d13fcd6ee276529" }, { "id": "SCO.06", "name": "Stake New Tokens", - "source": "import FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// Commits new tokens to stake for the specified node or delegator in the staking collection\n/// The tokens from the locked vault are used first, if it exists\n/// followed by the tokens from the unlocked vault\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: \u0026FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow\u003c\u0026FlowStakingCollection.StakingCollection\u003e(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n }\n\n execute {\n self.stakingCollectionRef.stakeNewTokens(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", + "source": "import FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// Commits new tokens to stake for the specified node or delegator in the staking collection\n/// The tokens from the locked vault are used first, if it exists\n/// followed by the tokens from the unlocked vault\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: auth(FlowStakingCollection.CollectionOwner) \u0026FlowStakingCollection.StakingCollection\n\n prepare(account: auth(BorrowValue) \u0026Account) {\n self.stakingCollectionRef = account.storage.borrow\u003cauth(FlowStakingCollection.CollectionOwner) \u0026FlowStakingCollection.StakingCollection\u003e(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow a reference to a StakingCollection in the primary user's account\")\n }\n\n execute {\n self.stakingCollectionRef.stakeNewTokens(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", "arguments": [ { "type": "String", @@ -738,8 +701,8 @@ "label": "Node ID", "sampleValues": [ { - "type": "String", - "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" + "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6", + "type": "String" } ] }, @@ -749,15 +712,15 @@ "label": "Delegator ID", "sampleValues": [ { - "type": "Optional", - "value": null + "value": null, + "type": "Optional" }, { - "type": "Optional", "value": { - "type": "UInt32", - "value": "42" - } + "value": "42", + "type": "UInt32" + }, + "type": "Optional" } ] }, @@ -767,19 +730,19 @@ "label": "Amount", "sampleValues": [ { - "type": "UFix64", - "value": "92233720368.54775808" + "value": "92233720368.54775808", + "type": "UFix64" } ] } ], "network": "mainnet", - "hash": "8e10ac56db8ec5d5e0051d3c9608fabc8edd6abed983f6d3a254e7668a54b32b" + "hash": "4c0658934352486097cc89fa06b98bac21e514770fc6a4d70a7adc4bec6d711d" }, { "id": "SCO.07", "name": "Stake Rewarded Tokens", - "source": "import FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// Commits rewarded tokens to stake for the specified node or delegator in the staking collection\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: \u0026FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow\u003c\u0026FlowStakingCollection.StakingCollection\u003e(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n }\n\n execute {\n self.stakingCollectionRef.stakeRewardedTokens(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", + "source": "import FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// Commits rewarded tokens to stake for the specified node or delegator in the staking collection\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: auth(FlowStakingCollection.CollectionOwner) \u0026FlowStakingCollection.StakingCollection\n\n prepare(account: auth(BorrowValue) \u0026Account) {\n self.stakingCollectionRef = account.storage.borrow\u003cauth(FlowStakingCollection.CollectionOwner) \u0026FlowStakingCollection.StakingCollection\u003e(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow a reference to a StakingCollection in the primary user's account\")\n }\n\n execute {\n self.stakingCollectionRef.stakeRewardedTokens(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", "arguments": [ { "type": "String", @@ -787,8 +750,8 @@ "label": "Node ID", "sampleValues": [ { - "type": "String", - "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" + "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6", + "type": "String" } ] }, @@ -798,15 +761,15 @@ "label": "Delegator ID", "sampleValues": [ { - "type": "Optional", - "value": null + "value": null, + "type": "Optional" }, { - "type": "Optional", "value": { - "type": "UInt32", - "value": "42" - } + "value": "42", + "type": "UInt32" + }, + "type": "Optional" } ] }, @@ -816,19 +779,19 @@ "label": "Amount", "sampleValues": [ { - "type": "UFix64", - "value": "92233720368.54775808" + "value": "92233720368.54775808", + "type": "UFix64" } ] } ], "network": "mainnet", - "hash": "907c4cfd67a98a8003393c64dc74eb7a957b229352a266139a542bb105ac4c40" + "hash": "c989e8b3beb9c2eb5af2ee1e11d592c9f1131e76e7ef105a0d40cf1610d1e348" }, { "id": "SCO.08", "name": "Stake Unstaked Tokens", - "source": "import FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// Commits unstaked tokens to stake for the specified node or delegator in the staking collection\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: \u0026FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow\u003c\u0026FlowStakingCollection.StakingCollection\u003e(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n }\n\n execute {\n self.stakingCollectionRef.stakeUnstakedTokens(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", + "source": "import FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// Commits unstaked tokens to stake for the specified node or delegator in the staking collection\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: auth(FlowStakingCollection.CollectionOwner) \u0026FlowStakingCollection.StakingCollection\n\n prepare(account: auth(BorrowValue) \u0026Account) {\n self.stakingCollectionRef = account.storage.borrow\u003cauth(FlowStakingCollection.CollectionOwner) \u0026FlowStakingCollection.StakingCollection\u003e(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow a reference to a StakingCollection in the primary user's account\")\n }\n\n execute {\n self.stakingCollectionRef.stakeUnstakedTokens(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", "arguments": [ { "type": "String", @@ -836,8 +799,8 @@ "label": "Node ID", "sampleValues": [ { - "type": "String", - "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" + "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6", + "type": "String" } ] }, @@ -847,15 +810,15 @@ "label": "Delegator ID", "sampleValues": [ { - "type": "Optional", - "value": null + "value": null, + "type": "Optional" }, { - "type": "Optional", "value": { - "type": "UInt32", - "value": "42" - } + "value": "42", + "type": "UInt32" + }, + "type": "Optional" } ] }, @@ -865,19 +828,19 @@ "label": "Amount", "sampleValues": [ { - "type": "UFix64", - "value": "92233720368.54775808" + "value": "92233720368.54775808", + "type": "UFix64" } ] } ], "network": "mainnet", - "hash": "082e690b9647182cf6969db1a0fa8e0f1728da6db01fe0d462e9f0841c268cbb" + "hash": "fe6adb75bf22b2033800e916fa7e3a7810417e9a36d35320de7f4b5f7ec4f1b8" }, { "id": "SCO.09", "name": "Unstake All", - "source": "import FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// Requests to unstake ALL tokens for the specified node or delegator in the staking collection\n\ntransaction(nodeID: String) {\n \n let stakingCollectionRef: \u0026FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow\u003c\u0026FlowStakingCollection.StakingCollection\u003e(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n }\n\n execute {\n self.stakingCollectionRef.unstakeAll(nodeID: nodeID)\n }\n}\n", + "source": "import FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// Requests to unstake ALL tokens for the specified node or delegator in the staking collection\n\ntransaction(nodeID: String) {\n \n let stakingCollectionRef: auth(FlowStakingCollection.CollectionOwner) \u0026FlowStakingCollection.StakingCollection\n\n prepare(account: auth(BorrowValue) \u0026Account) {\n self.stakingCollectionRef = account.storage.borrow\u003cauth(FlowStakingCollection.CollectionOwner) \u0026FlowStakingCollection.StakingCollection\u003e(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow a reference to a StakingCollection in the primary user's account\")\n }\n\n execute {\n self.stakingCollectionRef.unstakeAll(nodeID: nodeID)\n }\n}\n", "arguments": [ { "type": "String", @@ -885,19 +848,19 @@ "label": "Node ID", "sampleValues": [ { - "type": "String", - "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" + "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6", + "type": "String" } ] } ], "network": "mainnet", - "hash": "df9c6486baa6f8f685368ea216659239cb81fa8ebd9062a9723edb54ca0d7525" + "hash": "1c8256fb857f6c6fd929511ecac8624d0159877cf72c884f7128297dfb069510" }, { "id": "SCO.10", "name": "Withdraw Rewarded Tokens", - "source": "import FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// Request to withdraw rewarded tokens for the specified node or delegator in the staking collection\n/// The tokens are automatically deposited to the unlocked account vault first,\n/// And then any locked tokens are deposited into the locked account vault\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: \u0026FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow\u003c\u0026FlowStakingCollection.StakingCollection\u003e(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n }\n\n execute {\n self.stakingCollectionRef.withdrawRewardedTokens(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", + "source": "import FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// Request to withdraw rewarded tokens for the specified node or delegator in the staking collection\n/// The tokens are automatically deposited to the unlocked account vault first,\n/// And then any locked tokens are deposited into the locked account vault\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: auth(FlowStakingCollection.CollectionOwner) \u0026FlowStakingCollection.StakingCollection\n\n prepare(account: auth(BorrowValue) \u0026Account) {\n self.stakingCollectionRef = account.storage.borrow\u003cauth(FlowStakingCollection.CollectionOwner) \u0026FlowStakingCollection.StakingCollection\u003e(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow a reference to a StakingCollection in the primary user's account\")\n }\n\n execute {\n self.stakingCollectionRef.withdrawRewardedTokens(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", "arguments": [ { "type": "String", @@ -905,8 +868,8 @@ "label": "Node ID", "sampleValues": [ { - "type": "String", - "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" + "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6", + "type": "String" } ] }, @@ -916,15 +879,15 @@ "label": "Delegator ID", "sampleValues": [ { - "type": "Optional", "value": { - "type": "UInt32", - "value": "42" - } + "value": "42", + "type": "UInt32" + }, + "type": "Optional" }, { - "type": "Optional", - "value": null + "value": null, + "type": "Optional" } ] }, @@ -934,19 +897,19 @@ "label": "Amount", "sampleValues": [ { - "type": "UFix64", - "value": "92233720368.54775808" + "value": "92233720368.54775808", + "type": "UFix64" } ] } ], "network": "mainnet", - "hash": "27a2b60d538b8bb883b602ea83d1697986a29dd69a44a9209dc75affb9e63299" + "hash": "fbd8ebbfff7a88b6b667ff4e3f9f904eaaba71cbf02a140f3b7007c61fbd8f34" }, { "id": "SCO.11", "name": "Withdraw Unstaked Tokens", - "source": "import FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// Request to withdraw unstaked tokens for the specified node or delegator in the staking collection\n/// The tokens are automatically deposited to the unlocked account vault first,\n/// And then any locked tokens are deposited into the locked account vault if it is there\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: \u0026FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow\u003c\u0026FlowStakingCollection.StakingCollection\u003e(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n }\n\n execute {\n self.stakingCollectionRef.withdrawUnstakedTokens(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", + "source": "import FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// Request to withdraw unstaked tokens for the specified node or delegator in the staking collection\n/// The tokens are automatically deposited to the unlocked account vault first,\n/// And then any locked tokens are deposited into the locked account vault if it is there\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: auth(FlowStakingCollection.CollectionOwner) \u0026FlowStakingCollection.StakingCollection\n\n prepare(account: auth(BorrowValue) \u0026Account) {\n self.stakingCollectionRef = account.storage.borrow\u003cauth(FlowStakingCollection.CollectionOwner) \u0026FlowStakingCollection.StakingCollection\u003e(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow a reference to a StakingCollection in the primary user's account\")\n }\n\n execute {\n self.stakingCollectionRef.withdrawUnstakedTokens(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", "arguments": [ { "type": "String", @@ -954,8 +917,8 @@ "label": "Node ID", "sampleValues": [ { - "type": "String", - "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" + "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6", + "type": "String" } ] }, @@ -965,15 +928,15 @@ "label": "Delegator ID", "sampleValues": [ { - "type": "Optional", - "value": null + "value": null, + "type": "Optional" }, { - "type": "Optional", "value": { - "type": "UInt32", - "value": "42" - } + "value": "42", + "type": "UInt32" + }, + "type": "Optional" } ] }, @@ -983,19 +946,19 @@ "label": "Amount", "sampleValues": [ { - "type": "UFix64", - "value": "92233720368.54775808" + "value": "92233720368.54775808", + "type": "UFix64" } ] } ], "network": "mainnet", - "hash": "6d50ab1ef3d74203081c38306da74f5ad8fdd489e49fba732f8ba194d0c781c8" + "hash": "c2484f17e640e285769c3edaa6f2d090dcef1f2f57983f82b7179c3c047290ca" }, { "id": "SCO.12", "name": "Close Stake", - "source": "import FlowStakingCollection from 0x8d0e87b65159ae63\n\n// Closes out a staking object in the staking collection\n// This does not remove the record from the identity table,\n// but it does mean that the account that closes it cannot ever access it again\n\ntransaction(nodeID: String, delegatorID: UInt32?) {\n \n let stakingCollectionRef: \u0026FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow\u003c\u0026FlowStakingCollection.StakingCollection\u003e(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n }\n\n execute {\n self.stakingCollectionRef.closeStake(nodeID: nodeID, delegatorID: delegatorID)\n }\n}\n", + "source": "import FlowStakingCollection from 0x8d0e87b65159ae63\n\n// Closes out a staking object in the staking collection\n// This does not remove the record from the identity table,\n// but it does mean that the account that closes it cannot ever access it again\n\ntransaction(nodeID: String, delegatorID: UInt32?) {\n \n let stakingCollectionRef: auth(FlowStakingCollection.CollectionOwner) \u0026FlowStakingCollection.StakingCollection\n\n prepare(account: auth(BorrowValue) \u0026Account) {\n self.stakingCollectionRef = account.storage.borrow\u003cauth(FlowStakingCollection.CollectionOwner) \u0026FlowStakingCollection.StakingCollection\u003e(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow a reference to a StakingCollection in the primary user's account\")\n }\n\n execute {\n self.stakingCollectionRef.closeStake(nodeID: nodeID, delegatorID: delegatorID)\n }\n}\n", "arguments": [ { "type": "String", @@ -1003,8 +966,8 @@ "label": "Node ID", "sampleValues": [ { - "type": "String", - "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" + "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6", + "type": "String" } ] }, @@ -1014,26 +977,26 @@ "label": "Delegator ID", "sampleValues": [ { - "type": "Optional", "value": { - "type": "UInt32", - "value": "42" - } + "value": "42", + "type": "UInt32" + }, + "type": "Optional" }, { - "type": "Optional", - "value": null + "value": null, + "type": "Optional" } ] } ], "network": "mainnet", - "hash": "ecdffc1ae67479bc20c06eba6c776ff37b9523660ff1cd3129a3924d92484884" + "hash": "a0fad319bf8aede66212257ad0d21532858381e2c9d7c4cec179b28180f5be93" }, { "id": "SCO.13", "name": "Transfer Node", - "source": "import FlowStakingCollection from 0x8d0e87b65159ae63\n\n// Transfers a NodeStaker object from an authorizers accoount\n// and adds the NodeStaker to another accounts Staking Collection\n// identified by the to Address.\n\ntransaction(nodeID: String, to: Address) {\n let fromStakingCollectionRef: \u0026FlowStakingCollection.StakingCollection\n let toStakingCollectionCap: \u0026FlowStakingCollection.StakingCollection{FlowStakingCollection.StakingCollectionPublic}\n\n prepare(account: AuthAccount) {\n // The account to transfer the NodeStaker object to must have a valid Staking Collection in order to receive the NodeStaker.\n if (!FlowStakingCollection.doesAccountHaveStakingCollection(address: to)) {\n panic(\"Destination account must have a Staking Collection set up.\")\n }\n\n // Get a reference to the authorizers StakingCollection\n self.fromStakingCollectionRef = account.borrow\u003c\u0026FlowStakingCollection.StakingCollection\u003e(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n\n // Get the PublicAccount of the account to transfer the NodeStaker to. \n let toAccount = getAccount(to)\n\n // Borrow a capability to the public methods available on the receivers StakingCollection.\n self.toStakingCollectionCap = toAccount.getCapability\u003c\u0026FlowStakingCollection.StakingCollection{FlowStakingCollection.StakingCollectionPublic}\u003e(FlowStakingCollection.StakingCollectionPublicPath).borrow()\n ?? panic(\"Could not borrow ref to StakingCollection\")\n\n let machineAccountInfo = self.fromStakingCollectionRef.getMachineAccounts()[nodeID]\n ?? panic(\"Could not get machine account info for the specified node ID\")\n\n // Remove the NodeStaker from the authorizers StakingCollection.\n let nodeStaker \u003c- self.fromStakingCollectionRef.removeNode(nodeID: nodeID)\n\n // Deposit the NodeStaker to the receivers StakingCollection.\n self.toStakingCollectionCap.addNodeObject(\u003c- nodeStaker!, machineAccountInfo: machineAccountInfo)\n }\n}", + "source": "import FlowStakingCollection from 0x8d0e87b65159ae63\n\n// Transfers a NodeStaker object from an authorizers accoount\n// and adds the NodeStaker to another accounts Staking Collection\n// identified by the to Address.\n\ntransaction(nodeID: String, to: Address) {\n let fromStakingCollectionRef: auth(FlowStakingCollection.CollectionOwner) \u0026FlowStakingCollection.StakingCollection\n let toStakingCollectionCap: \u0026FlowStakingCollection.StakingCollection\n\n prepare(account: auth(BorrowValue) \u0026Account) {\n // The account to transfer the NodeStaker object to must have a valid Staking Collection in order to receive the NodeStaker.\n if (!FlowStakingCollection.doesAccountHaveStakingCollection(address: to)) {\n panic(\"Destination account must have a Staking Collection set up.\")\n }\n\n // Get a reference to the authorizers StakingCollection\n self.fromStakingCollectionRef = account.storage.borrow\u003cauth(FlowStakingCollection.CollectionOwner) \u0026FlowStakingCollection.StakingCollection\u003e(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow a reference to a StakingCollection in the primary user's account\")\n\n // Get the PublicAccount of the account to transfer the NodeStaker to. \n let toAccount = getAccount(to)\n\n // Borrow a capability to the public methods available on the receivers StakingCollection.\n self.toStakingCollectionCap = toAccount.capabilities\n .borrow\u003c\u0026FlowStakingCollection.StakingCollection\u003e(FlowStakingCollection.StakingCollectionPublicPath)\n ?? panic(\"Could not borrow a reference to a StakingCollection in the receiver's account\")\n\n let machineAccountInfo = self.fromStakingCollectionRef.getMachineAccounts()[nodeID]\n ?? panic(\"Could not get machine account info for the specified node ID\")\n\n // Remove the NodeStaker from the authorizers StakingCollection.\n let nodeStaker \u003c- self.fromStakingCollectionRef.removeNode(nodeID: nodeID)\n\n // Deposit the NodeStaker to the receivers StakingCollection.\n self.toStakingCollectionCap.addNodeObject(\u003c- nodeStaker!, machineAccountInfo: machineAccountInfo)\n }\n}", "arguments": [ { "type": "String", @@ -1041,8 +1004,8 @@ "label": "Node ID", "sampleValues": [ { - "type": "String", - "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" + "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6", + "type": "String" } ] }, @@ -1052,19 +1015,19 @@ "label": "Address", "sampleValues": [ { - "type": "Address", - "value": "0xe467b9dd11fa00df" + "value": "0xe467b9dd11fa00df", + "type": "Address" } ] } ], "network": "mainnet", - "hash": "cdc3a63d0c75ea95b414becb6fbb8f5a8004236d48661cd3c3d4f540ee4d422e" + "hash": "38bfd23b200ecef4d13fa3c2ea998b51e6a24f3a8ceb260d2affab7c918a97d0" }, { "id": "SCO.14", "name": "Transfer Delegator", - "source": "import FlowStakingCollection from 0x8d0e87b65159ae63\n\n// Transfers a NodeDelegator object from an authorizers accoount\n// and adds the NodeDelegator to another accounts Staking Collection\n// identified by the to Address.\n\ntransaction(nodeID: String, delegatorID: UInt32, to: Address) {\n let fromStakingCollectionRef: \u0026FlowStakingCollection.StakingCollection\n let toStakingCollectionCap: \u0026FlowStakingCollection.StakingCollection{FlowStakingCollection.StakingCollectionPublic}\n\n prepare(account: AuthAccount) {\n // The account to transfer the NodeDelegator object to must have a valid Staking Collection in order to receive the NodeDelegator.\n if (!FlowStakingCollection.doesAccountHaveStakingCollection(address: to)) {\n panic(\"Destination account must have a Staking Collection set up.\")\n }\n\n // Get a reference to the authorizers StakingCollection\n self.fromStakingCollectionRef = account.borrow\u003c\u0026FlowStakingCollection.StakingCollection\u003e(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n\n // Get the PublicAccount of the account to transfer the NodeDelegator to. \n let toAccount = getAccount(to)\n\n // Borrow a capability to the public methods available on the receivers StakingCollection.\n self.toStakingCollectionCap = toAccount.getCapability\u003c\u0026FlowStakingCollection.StakingCollection{FlowStakingCollection.StakingCollectionPublic}\u003e(FlowStakingCollection.StakingCollectionPublicPath).borrow()\n ?? panic(\"Could not borrow ref to StakingCollection\")\n }\n\n execute {\n // Remove the NodeDelegator from the authorizers StakingCollection.\n let nodeDelegator \u003c- self.fromStakingCollectionRef.removeDelegator(nodeID: nodeID, delegatorID: delegatorID)\n\n // Deposit the NodeDelegator to the receivers StakingCollection.\n self.toStakingCollectionCap.addDelegatorObject(\u003c- nodeDelegator!)\n }\n}", + "source": "import FlowStakingCollection from 0x8d0e87b65159ae63\n\n// Transfers a NodeDelegator object from an authorizers accoount\n// and adds the NodeDelegator to another accounts Staking Collection\n// identified by the to Address.\n\ntransaction(nodeID: String, delegatorID: UInt32, to: Address) {\n let fromStakingCollectionRef: auth(FlowStakingCollection.CollectionOwner) \u0026FlowStakingCollection.StakingCollection\n let toStakingCollectionCap: \u0026FlowStakingCollection.StakingCollection\n\n prepare(account: auth(BorrowValue) \u0026Account) {\n // The account to transfer the NodeDelegator object to must have a valid Staking Collection in order to receive the NodeDelegator.\n if (!FlowStakingCollection.doesAccountHaveStakingCollection(address: to)) {\n panic(\"Destination account must have a Staking Collection set up.\")\n }\n\n // Get a reference to the authorizers StakingCollection\n self.fromStakingCollectionRef = account.storage.borrow\u003cauth(FlowStakingCollection.CollectionOwner) \u0026FlowStakingCollection.StakingCollection\u003e(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow a reference to a StakingCollection in the primary user's account\")\n\n // Get the PublicAccount of the account to transfer the NodeDelegator to. \n let toAccount = getAccount(to)\n\n // Borrow a capability to the public methods available on the receivers StakingCollection.\n self.toStakingCollectionCap = toAccount.capabilities\n .borrow\u003c\u0026FlowStakingCollection.StakingCollection\u003e(FlowStakingCollection.StakingCollectionPublicPath)\n ?? panic(\"Could not borrow a referamce to a StakingCollection in the receiver's account\")\n }\n\n execute {\n // Remove the NodeDelegator from the authorizers StakingCollection.\n let nodeDelegator \u003c- self.fromStakingCollectionRef.removeDelegator(nodeID: nodeID, delegatorID: delegatorID)\n\n // Deposit the NodeDelegator to the receivers StakingCollection.\n self.toStakingCollectionCap.addDelegatorObject(\u003c- nodeDelegator!)\n }\n}", "arguments": [ { "type": "String", @@ -1072,8 +1035,8 @@ "label": "Node ID", "sampleValues": [ { - "type": "String", - "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" + "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6", + "type": "String" } ] }, @@ -1083,8 +1046,8 @@ "label": "Delegator ID", "sampleValues": [ { - "type": "UInt32", - "value": "42" + "value": "42", + "type": "UInt32" } ] }, @@ -1094,19 +1057,19 @@ "label": "Address", "sampleValues": [ { - "type": "Address", - "value": "0xe467b9dd11fa00df" + "value": "0xe467b9dd11fa00df", + "type": "Address" } ] } ], "network": "mainnet", - "hash": "b34d6fafcc5a4d0ed9cf92e168a08d0674c93341e2393ee72dde6664918ec240" + "hash": "11e2107d2ccd96cb6b3fa3a704491dcd9e1736215137304e0494243c21befc76" }, { "id": "SCO.15", "name": "Withdraw From Machine Account", - "source": "import FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// Request to withdraw tokens from the machine account\n/// The tokens are automatically deposited to the unlocked account vault\n\ntransaction(nodeID: String, amount: UFix64) {\n \n let stakingCollectionRef: \u0026FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow\u003c\u0026FlowStakingCollection.StakingCollection\u003e(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n }\n\n execute {\n self.stakingCollectionRef.withdrawFromMachineAccount(nodeID: nodeID, amount: amount)\n }\n}\n", + "source": "import FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// Request to withdraw tokens from the machine account\n/// The tokens are automatically deposited to the unlocked account vault\n\ntransaction(nodeID: String, amount: UFix64) {\n \n let stakingCollectionRef: auth(FlowStakingCollection.CollectionOwner) \u0026FlowStakingCollection.StakingCollection\n\n prepare(account: auth(BorrowValue) \u0026Account) {\n self.stakingCollectionRef = account.storage.borrow\u003cauth(FlowStakingCollection.CollectionOwner) \u0026FlowStakingCollection.StakingCollection\u003e(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow a reference to a StakingCollection in the primary user's account\")\n }\n\n execute {\n self.stakingCollectionRef.withdrawFromMachineAccount(nodeID: nodeID, amount: amount)\n }\n}\n", "arguments": [ { "type": "String", @@ -1114,8 +1077,8 @@ "label": "Node ID", "sampleValues": [ { - "type": "String", - "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" + "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6", + "type": "String" } ] }, @@ -1125,19 +1088,19 @@ "label": "Amount", "sampleValues": [ { - "type": "UFix64", - "value": "92233720368.54775808" + "value": "92233720368.54775808", + "type": "UFix64" } ] } ], "network": "mainnet", - "hash": "f9c48e18bda7f113e82711a4c95dfd151c6600ed9fbf46ceb22566d6c5728c6f" + "hash": "e12b16ef4218b8ce52189ae5814b381272bf473436978fae94d01c10c0369034" }, { "id": "SCO.16", "name": "Update Networking Address", - "source": "import FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// Changes the networking address for the specified node\n\ntransaction(nodeID: String, newAddress: String) {\n \n let stakingCollectionRef: \u0026FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow\u003c\u0026FlowStakingCollection.StakingCollection\u003e(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n }\n\n execute {\n self.stakingCollectionRef.updateNetworkingAddress(nodeID: nodeID, newAddress: newAddress)\n }\n}\n", + "source": "import FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// Changes the networking address for the specified node\n\ntransaction(nodeID: String, newAddress: String) {\n \n let stakingCollectionRef: auth(FlowStakingCollection.CollectionOwner) \u0026FlowStakingCollection.StakingCollection\n\n prepare(account: auth(BorrowValue) \u0026Account) {\n self.stakingCollectionRef = account.storage.borrow\u003cauth(FlowStakingCollection.CollectionOwner) \u0026FlowStakingCollection.StakingCollection\u003e(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow a reference to a StakingCollection in the primary user's account\")\n }\n\n execute {\n self.stakingCollectionRef.updateNetworkingAddress(nodeID: nodeID, newAddress: newAddress)\n }\n}\n", "arguments": [ { "type": "String", @@ -1145,8 +1108,8 @@ "label": "Node ID", "sampleValues": [ { - "type": "String", - "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" + "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6", + "type": "String" } ] }, @@ -1156,313 +1119,14 @@ "label": "Address", "sampleValues": [ { - "type": "String", - "value": "flow-node.test:3569" - } - ] - } - ], - "network": "mainnet", - "hash": "ff067b40ac67020ef864cd14842f62023254da34dd2ded56affa1364305bf1c5" - }, - { - "id": "FUSD.01", - "name": "Setup FUSD Vault", - "source": "// This transaction configures the signer's account with an empty FUSD vault.\n//\n// It also links the following capabilities:\n//\n// - FungibleToken.Receiver: this capability allows this account to accept FUSD deposits.\n// - FungibleToken.Balance: this capability allows anybody to inspect the FUSD balance of this account.\n\nimport FungibleToken from 0xf233dcee88fe0abe\nimport FUSD from 0x3c5959b568896393\n\ntransaction {\n\n prepare(signer: AuthAccount) {\n\n // It's OK if the account already has a Vault, but we don't want to replace it\n if(signer.borrow\u003c\u0026FUSD.Vault\u003e(from: /storage/fusdVault) != nil) {\n return\n }\n \n // Create a new FUSD Vault and put it in storage\n signer.save(\u003c-FUSD.createEmptyVault(), to: /storage/fusdVault)\n\n // Create a public capability to the Vault that only exposes\n // the deposit function through the Receiver interface\n signer.link\u003c\u0026FUSD.Vault{FungibleToken.Receiver}\u003e(\n /public/fusdReceiver,\n target: /storage/fusdVault\n )\n\n // Create a public capability to the Vault that only exposes\n // the balance field through the Balance interface\n signer.link\u003c\u0026FUSD.Vault{FungibleToken.Balance}\u003e(\n /public/fusdBalance,\n target: /storage/fusdVault\n )\n }\n}\n", - "arguments": [], - "network": "mainnet", - "hash": "aa7fecdf159e71bd0b029e40b22643fb443161e67796f42bac68e9bab4630e29" - }, - { - "id": "FUSD.02", - "name": "Transfer FUSD", - "source": "// This transaction withdraws FUSD from the signer's account and deposits it into a recipient account. \n// This transaction will fail if the recipient does not have an FUSD receiver. \n// No funds are transferred or lost if the transaction fails.\n//\n// Parameters:\n// - amount: The amount of FUSD to transfer (e.g. 10.0)\n// - to: The recipient account address.\n//\n// This transaction will fail if either the sender or recipient does not have\n// an FUSD vault stored in their account. To check if an account has a vault\n// or initialize a new vault, use check_fusd_vault_setup.cdc and setup_fusd_vault.cdc\n// respectively.\n\nimport FungibleToken from 0xf233dcee88fe0abe\nimport FUSD from 0x3c5959b568896393\n\ntransaction(amount: UFix64, to: Address) {\n\n // The Vault resource that holds the tokens that are being transferred\n let sentVault: @FungibleToken.Vault\n\n prepare(signer: AuthAccount) {\n // Get a reference to the signer's stored vault\n let vaultRef = signer.borrow\u003c\u0026FUSD.Vault\u003e(from: /storage/fusdVault)\n ?? panic(\"Could not borrow reference to the owner's Vault!\")\n\n // Withdraw tokens from the signer's stored vault\n self.sentVault \u003c- vaultRef.withdraw(amount: amount)\n }\n\n execute {\n // Get the recipient's public account object\n let recipient = getAccount(to)\n\n // Get a reference to the recipient's Receiver\n let receiverRef = recipient.getCapability(/public/fusdReceiver)!.borrow\u003c\u0026{FungibleToken.Receiver}\u003e()\n ?? panic(\"Could not borrow receiver reference to the recipient's Vault\")\n\n // Deposit the withdrawn tokens in the recipient's receiver\n receiverRef.deposit(from: \u003c-self.sentVault)\n }\n}\n", - "arguments": [ - { - "type": "UFix64", - "name": "amount", - "label": "Amount", - "sampleValues": [ - { - "type": "UFix64", - "value": "92233720368.54775808" - } - ] - }, - { - "type": "Address", - "name": "recipient", - "label": "Recipient", - "sampleValues": [ - { - "type": "Address", - "value": "0xe467b9dd11fa00df" - } - ] - } - ], - "network": "mainnet", - "hash": "180cef7053a5f0ae66e19e3a96cc3b9eb7da29767fb5d6938239bf1f8e1dc284" - }, - { - "id": "TS.01", - "name": "Set up Top Shot Collection", - "source": "import TopShot from 0x0b2a3299cc857e29\n\n// This transaction sets up an account to use Top Shot\n// by storing an empty moment collection and creating\n// a public capability for it\n\ntransaction {\n\n prepare(acct: AuthAccount) {\n\n // First, check to see if a moment collection already exists\n if acct.borrow\u003c\u0026TopShot.Collection\u003e(from: /storage/MomentCollection) == nil {\n\n // create a new TopShot Collection\n let collection \u003c- TopShot.createEmptyCollection() as! @TopShot.Collection\n\n // Put the new Collection in storage\n acct.save(\u003c-collection, to: /storage/MomentCollection)\n\n // create a public capability for the collection\n acct.link\u003c\u0026{TopShot.MomentCollectionPublic}\u003e(/public/MomentCollection, target: /storage/MomentCollection)\n }\n }\n}", - "arguments": [], - "network": "mainnet", - "hash": "7511848f1c27a173d966f4b868fd7efead7eeb1bbf04fc3f3e60dabc6c7f7593" - }, - { - "id": "TS.02", - "name": "Transfer Top Shot Moment", - "source": "import NonFungibleToken from 0x1d7e57aa55817448\nimport TopShot from 0x0b2a3299cc857e29\n\n// This transaction transfers a moment to a recipient\n\n// This transaction is how a topshot user would transfer a moment\n// from their account to another account\n// The recipient must have a TopShot Collection object stored\n// and a public MomentCollectionPublic capability stored at\n// `/public/MomentCollection`\n\n// Parameters:\n//\n// recipient: The Flow address of the account to receive the moment.\n// withdrawID: The id of the moment to be transferred\n\ntransaction(recipient: Address, withdrawID: UInt64) {\n\n // local variable for storing the transferred token\n let transferToken: @NonFungibleToken.NFT\n \n prepare(acct: AuthAccount) {\n\n // borrow a reference to the owner's collection\n let collectionRef = acct.borrow\u003c\u0026TopShot.Collection\u003e(from: /storage/MomentCollection)\n ?? panic(\"Could not borrow a reference to the stored Moment collection\")\n \n // withdraw the NFT\n self.transferToken \u003c- collectionRef.withdraw(withdrawID: withdrawID)\n }\n\n execute {\n \n // get the recipient's public account object\n let recipient = getAccount(recipient)\n\n // get the Collection reference for the receiver\n let receiverRef = recipient.getCapability(/public/MomentCollection).borrow\u003c\u0026{TopShot.MomentCollectionPublic}\u003e()!\n\n // deposit the NFT in the receivers collection\n receiverRef.deposit(token: \u003c-self.transferToken)\n }\n}", - "arguments": [ - { - "type": "Address", - "name": "recipient", - "label": "Recipient", - "sampleValues": [ - { - "type": "Address", - "value": "0xe467b9dd11fa00df" - } - ] - }, - { - "type": "UInt64", - "name": "withdrawID", - "label": "Moment ID", - "sampleValues": [ - { - "type": "UInt64", - "value": "42" - } - ] - } - ], - "network": "mainnet", - "hash": "09d5ad21bf70dfe4f8d800db9e61a77f2f64837ae0e818c3cd67e9cea837a1cf" - }, - { - "id": "USDC.01", - "name": "Setup USDC Vault", - "source": "import FungibleToken from 0xf233dcee88fe0abe\nimport FiatToken from 0xb19436aae4d94622\n\ntransaction {\n\n prepare(signer: AuthAccount) {\n\n // Return early if the account already stores a FiatToken Vault\n if signer.borrow\u003c\u0026FiatToken.Vault\u003e(from: FiatToken.VaultStoragePath) != nil {\n return\n }\n\n // Create a new ExampleToken Vault and put it in storage\n signer.save(\n \u003c-FiatToken.createEmptyVault(),\n to: FiatToken.VaultStoragePath\n )\n\n // Create a public capability to the Vault that only exposes\n // the deposit function through the Receiver interface\n signer.link\u003c\u0026FiatToken.Vault{FungibleToken.Receiver}\u003e(\n FiatToken.VaultReceiverPubPath,\n target: FiatToken.VaultStoragePath\n )\n\n // Create a public capability to the Vault that only exposes\n // the UUID() function through the VaultUUID interface\n signer.link\u003c\u0026FiatToken.Vault{FiatToken.ResourceId}\u003e(\n FiatToken.VaultUUIDPubPath,\n target: FiatToken.VaultStoragePath\n )\n\n // Create a public capability to the Vault that only exposes\n // the balance field through the Balance interface\n signer.link\u003c\u0026FiatToken.Vault{FungibleToken.Balance}\u003e(\n FiatToken.VaultBalancePubPath,\n target: FiatToken.VaultStoragePath\n )\n\n }\n}\n", - "arguments": [], - "network": "mainnet", - "hash": "887673892a2e2c12337394570dfa30c5669e93f537ae426690f402799514a9a1" - }, - { - "id": "USDC.02", - "name": "Transfer USDC", - "source": "import FungibleToken from 0xf233dcee88fe0abe\nimport FiatToken from 0xb19436aae4d94622\n\ntransaction(amount: UFix64, to: Address) {\n\n // The Vault resource that holds the tokens that are being transferred\n let sentVault: @FungibleToken.Vault\n\n prepare(signer: AuthAccount) {\n\n // Get a reference to the signer's stored vault\n let vaultRef = signer.borrow\u003c\u0026FiatToken.Vault\u003e(from: FiatToken.VaultStoragePath)\n ?? panic(\"Could not borrow reference to the owner's Vault!\")\n\n // Withdraw tokens from the signer's stored vault\n self.sentVault \u003c- vaultRef.withdraw(amount: amount)\n }\n\n execute {\n\n // Get the recipient's public account object\n let recipient = getAccount(to)\n\n // Get a reference to the recipient's Receiver\n let receiverRef = recipient.getCapability(FiatToken.VaultReceiverPubPath)\n .borrow\u003c\u0026{FungibleToken.Receiver}\u003e()\n ?? panic(\"Could not borrow receiver reference to the recipient's Vault\")\n\n // Deposit the withdrawn tokens in the recipient's receiver\n receiverRef.deposit(from: \u003c-self.sentVault)\n }\n}\n", - "arguments": [ - { - "type": "UFix64", - "name": "amount", - "label": "Amount", - "sampleValues": [ - { - "type": "UFix64", - "value": "42" - } - ] - }, - { - "type": "Address", - "name": "recipient", - "label": "Recipient", - "sampleValues": [ - { - "type": "Address", - "value": "0xe467b9dd11fa00df" - } - ] - } - ], - "network": "mainnet", - "hash": "7ff4d9f53ba5eebda556d0ead0ca13911bc8996e2c91c5147f8787d10a324483" - }, - { - "id": "SCO.03", - "name": "Register Node", - "source": "import Crypto\nimport FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// Registers a delegator in the staking collection resource\n/// for the specified node information and the amount of tokens to commit\n\ntransaction(id: String,\n role: UInt8,\n networkingAddress: String,\n networkingKey: String,\n stakingKey: String,\n amount: UFix64,\n publicKeys: [Crypto.KeyListEntry]?) {\n \n let stakingCollectionRef: \u0026FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow\u003c\u0026FlowStakingCollection.StakingCollection\u003e(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n\n if let machineAccount = self.stakingCollectionRef.registerNode(\n id: id,\n role: role,\n networkingAddress: networkingAddress,\n networkingKey: networkingKey,\n stakingKey: stakingKey,\n amount: amount,\n payer: account) \n {\n if publicKeys == nil || publicKeys!.length == 0 {\n panic(\"Cannot provide zero keys for the machine account\")\n }\n for key in publicKeys! {\n machineAccount.keys.add(publicKey: key.publicKey, hashAlgorithm: key.hashAlgorithm, weight: key.weight)\n }\n }\n }\n}\n", - "arguments": [ - { - "type": "String", - "name": "id", - "label": "Node ID", - "sampleValues": [ - { - "type": "String", - "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" - } - ] - }, - { - "type": "UInt8", - "name": "role", - "label": "Node Role", - "sampleValues": [ - { - "type": "UInt8", - "value": "1" - } - ] - }, - { - "type": "String", - "name": "networkingAddress", - "label": "Networking Address", - "sampleValues": [ - { - "type": "String", - "value": "flow-node.test:3569" - } - ] - }, - { - "type": "String", - "name": "networkingKey", - "label": "Networking Key", - "sampleValues": [ - { - "type": "String", - "value": "1348307bc77c688e80049de9d081aa09755da33e6997605fa059db2144fc85e560cbe6f7da8d74b453f5916618cb8fd392c2db856f3e78221dc68db1b1d914e4" - } - ] - }, - { - "type": "String", - "name": "stakingKey", - "label": "Staking Key", - "sampleValues": [ - { - "type": "String", - "value": "9e9ae0d645fd5fd9050792e0b0daa82cc1686d9133afa0f81a784b375c42ae48567d1545e7a9e1965f2c1a32f73cf8575ebb7a967f6e4d104d2df78eb8be409135d12da0499b8a00771f642c1b9c49397f22b440439f036c3bdee82f5309dab3" - } - ] - }, - { - "type": "UFix64", - "name": "amount", - "label": "Amount", - "sampleValues": [ - { - "type": "UFix64", - "value": "92233720368.54775808" - } - ] - }, - { - "type": "[String]?", - "name": "publicKeys", - "label": "Public Keys", - "sampleValues": [ - { - "type": "Optional", - "value": null - }, - { - "type": "Optional", - "value": { - "type": "Array", - "value": [] - } - }, - { - "type": "Optional", - "value": { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164" - } - ] - } - }, - { - "type": "Optional", - "value": { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164" - }, - { - "type": "String", - "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164" - }, - { - "type": "String", - "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164" - } - ] - } - } - ] - } - ], - "network": "mainnet", - "hash": "79de7119aea61bdafb39cc3d1f4fa17ca802c2732726a86d2c636dbc19808b68" - }, - { - "id": "SCO.04", - "name": "Create Machine Account", - "source": "import Crypto\nimport FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// Creates a machine account for a node that is already in the staking collection\n/// and adds public keys to the new account\n\ntransaction(nodeID: String, publicKeys: [Crypto.KeyListEntry]) {\n \n let stakingCollectionRef: \u0026FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow\u003c\u0026FlowStakingCollection.StakingCollection\u003e(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n\n if let machineAccount = self.stakingCollectionRef.createMachineAccountForExistingNode(nodeID: nodeID, payer: account) {\n if publicKeys == nil || publicKeys!.length == 0 {\n panic(\"Cannot provide zero keys for the machine account\")\n }\n for key in publicKeys {\n machineAccount.keys.add(publicKey: key.publicKey, hashAlgorithm: key.hashAlgorithm, weight: key.weight)\n }\n } else {\n panic(\"Could not create a machine account for the node\")\n }\n }\n}\n", - "arguments": [ - { - "type": "String", - "name": "id", - "label": "Node ID", - "sampleValues": [ - { - "type": "String", - "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" - } - ] - }, - { - "type": "[String]", - "name": "publicKeys", - "label": "Public Keys", - "sampleValues": [ - { - "type": "Array", - "value": [] - }, - { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164" - } - ] - }, - { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164" - }, - { - "type": "String", - "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164" - }, - { - "type": "String", - "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164" - } - ] + "value": "flow-node.test:3569", + "type": "String" } ] } ], "network": "mainnet", - "hash": "dd3b327b09087ea7f8e92a22a6b04a3c6ca33b868b430c4f15f251658c38c1b7" + "hash": "68d24560d9e49318dca82ab0975f526a8663d934225f0cb715cd1ff188def16d" } ] -} +} \ No newline at end of file diff --git a/transaction_metadata/manifest.testnet.json b/transaction_metadata/manifest.testnet.json index b1997841..681b2deb 100644 --- a/transaction_metadata/manifest.testnet.json +++ b/transaction_metadata/manifest.testnet.json @@ -2,184 +2,166 @@ "network": "testnet", "templates": [ { - "id": "TH.01", - "name": "Withdraw Unlocked FLOW", - "source": "import FungibleToken from 0x9a0766d93b6608b7\nimport FlowToken from 0x7e60df042a9c0868\nimport LockedTokens from 0x95e019a17d0e23d7\n\ntransaction(amount: UFix64) {\n\n let holderRef: \u0026LockedTokens.TokenHolder\n let vaultRef: \u0026FlowToken.Vault\n\n prepare(acct: AuthAccount) {\n self.holderRef = acct.borrow\u003c\u0026LockedTokens.TokenHolder\u003e(from: LockedTokens.TokenHolderStoragePath)\n ?? panic(\"Could not borrow a reference to TokenHolder\")\n\n self.vaultRef = acct.borrow\u003c\u0026FlowToken.Vault\u003e(from: /storage/flowTokenVault)\n ?? panic(\"Could not borrow flow token vault ref\")\n }\n\n execute {\n self.vaultRef.deposit(from: \u003c-self.holderRef.withdraw(amount: amount))\n }\n}\n", + "id": "FA.01", + "name": "Create Account", + "source": "import Crypto\n\ntransaction(key: String, signatureAlgorithm: UInt8, hashAlgorithm: UInt8, weight: UFix64) {\n\tprepare(signer: auth(BorrowValue, Storage) \u0026Account) {\n\t\tpre {\n\t\t\tsignatureAlgorithm \u003e= 1 \u0026\u0026 signatureAlgorithm \u003c= 3: \"Must provide a signature algoritm raw value that is 1, 2, or 3\"\n\t\t\thashAlgorithm \u003e= 1 \u0026\u0026 hashAlgorithm \u003c= 6: \"Must provide a hash algoritm raw value that is between 1 and 6\"\n\t\t\tweight \u003c= 1000.0: \"The key weight must be between 0 and 1000\"\n\t\t}\n\n\t\tlet publicKey = PublicKey(\n\t\t\tpublicKey: key.decodeHex(),\n\t\t\tsignatureAlgorithm: SignatureAlgorithm(rawValue: signatureAlgorithm)!\n\t\t)\n\n\t\tlet account = Account(payer: signer)\n\n\t\taccount.keys.add(publicKey: publicKey, hashAlgorithm: HashAlgorithm(rawValue: hashAlgorithm)!, weight: weight)\n\t}\n}", "arguments": [ { - "type": "UFix64", - "name": "amount", - "label": "Amount", + "type": "String", + "name": "key", + "label": "Public Key", "sampleValues": [ { - "type": "UFix64", - "value": "92233720368.54775808" + "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164", + "type": "String" } ] - } - ], - "network": "testnet", - "hash": "6e73db6edd0190f5311f6adc5f2b1f27e9e60c68574b00ee90da867da52cdbb1" - }, - { - "id": "TH.02", - "name": "Deposit Unlocked FLOW", - "source": "import FungibleToken from 0x9a0766d93b6608b7\nimport FlowToken from 0x7e60df042a9c0868\nimport LockedTokens from 0x95e019a17d0e23d7\n\ntransaction(amount: UFix64) {\n\n let holderRef: \u0026LockedTokens.TokenHolder\n let vaultRef: \u0026FlowToken.Vault\n\n prepare(acct: AuthAccount) {\n self.holderRef = acct.borrow\u003c\u0026LockedTokens.TokenHolder\u003e(from: LockedTokens.TokenHolderStoragePath)\n ?? panic(\"Could not borrow a reference to TokenHolder\")\n\n self.vaultRef = acct.borrow\u003c\u0026FlowToken.Vault\u003e(from: /storage/flowTokenVault)\n ?? panic(\"Could not borrow flow token vault ref\")\n }\n\n execute {\n self.holderRef.deposit(from: \u003c-self.vaultRef.withdraw(amount: amount))\n }\n}\n", - "arguments": [ + }, { - "type": "UFix64", - "name": "amount", - "label": "Amount", + "type": "UInt8", + "name": "signatureAlgorithm", + "label": "Raw Value for Signature Algorithm Enum", "sampleValues": [ { - "type": "UFix64", - "value": "92233720368.54775808" + "value": "1", + "type": "UInt8" } ] - } - ], - "network": "testnet", - "hash": "0cb11c10b86d2afeae086ef511d28b14760eb854935a0b0dcfeecc85db847f48" - }, - { - "id": "TH.06", - "name": "Register Node", - "source": "import FlowToken from 0x7e60df042a9c0868\nimport LockedTokens from 0x95e019a17d0e23d7\nimport StakingProxy from 0x7aad92e5a0715d21\n\ntransaction(id: String, role: UInt8, networkingAddress: String, networkingKey: String, stakingKey: String, amount: UFix64) {\n\n let holderRef: \u0026LockedTokens.TokenHolder\n\n let vaultRef: \u0026FlowToken.Vault\n\n prepare(account: AuthAccount) {\n self.holderRef = account.borrow\u003c\u0026LockedTokens.TokenHolder\u003e(from: LockedTokens.TokenHolderStoragePath)\n ?? panic(\"Could not borrow ref to TokenHolder\")\n\n self.vaultRef = account.borrow\u003c\u0026FlowToken.Vault\u003e(from: /storage/flowTokenVault)\n ?? panic(\"Could not borrow flow token vault reference\")\n }\n\n execute {\n let nodeInfo = StakingProxy.NodeInfo(id: id, role: role, networkingAddress: networkingAddress, networkingKey: networkingKey, stakingKey: stakingKey)\n\n let lockedBalance = self.holderRef.getLockedAccountBalance()\n\n if amount \u003c= lockedBalance {\n\n self.holderRef.createNodeStaker(nodeInfo: nodeInfo, amount: amount)\n\n } else if ((amount - lockedBalance) \u003c= self.vaultRef.balance) {\n\n self.holderRef.deposit(from: \u003c-self.vaultRef.withdraw(amount: amount - lockedBalance))\n\n self.holderRef.createNodeStaker(nodeInfo: nodeInfo, amount: amount)\n\n } else {\n panic(\"Not enough tokens to stake!\")\n }\n \n }\n}\n", - "arguments": [ + }, { - "type": "String", - "name": "id", - "label": "Node ID", + "type": "UInt8", + "name": "hashAlgorithm", + "label": "Raw Value for Hash Algorithm Enum", "sampleValues": [ { - "type": "String", - "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" + "value": "1", + "type": "UInt8" } ] }, { - "type": "UInt8", - "name": "role", - "label": "Node Role", + "type": "UFix64", + "name": "weight", + "label": "Key Weight", "sampleValues": [ { - "type": "UInt8", - "value": "1" + "value": "1000.00000000", + "type": "UFix64" } ] - }, + } + ], + "network": "testnet", + "hash": "63d8b6a045bf8e6196198184db685c2cf22932503ccb2dcb85c7d2dc04c882ba" + }, + { + "id": "FA.02", + "name": "Add Key", + "source": "import Crypto\n\ntransaction(key: String, signatureAlgorithm: UInt8, hashAlgorithm: UInt8, weight: UFix64) {\n\n\tprepare(signer: auth(AddKey) \u0026Account) {\n\t\tpre {\n\t\t\tsignatureAlgorithm \u003e= 1 \u0026\u0026 signatureAlgorithm \u003c= 3: \"Must provide a signature algoritm raw value that is 1, 2, or 3\"\n\t\t\thashAlgorithm \u003e= 1 \u0026\u0026 hashAlgorithm \u003c= 6: \"Must provide a hash algoritm raw value that is between 1 and 6\"\n\t\t\tweight \u003c= 1000.0: \"The key weight must be between 0 and 1000\"\n\t\t}\n\t\tlet publicKey = PublicKey(\n\t\t\tpublicKey: key.decodeHex(),\n\t\t\tsignatureAlgorithm: SignatureAlgorithm(rawValue: signatureAlgorithm)!\n\t\t)\n\n\t\tsigner.keys.add(publicKey: publicKey, hashAlgorithm: HashAlgorithm(rawValue: hashAlgorithm)!, weight: weight)\n\t}\n}", + "arguments": [ { "type": "String", - "name": "networkingAddress", - "label": "Networking Address", + "name": "key", + "label": "Public Key", "sampleValues": [ { - "type": "String", - "value": "flow-node.test:3569" + "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164", + "type": "String" } ] }, { - "type": "String", - "name": "networkingKey", - "label": "Networking Key", + "type": "UInt8", + "name": "signatureAlgorithm", + "label": "Raw Value for Signature Algorithm Enum", "sampleValues": [ { - "type": "String", - "value": "1348307bc77c688e80049de9d081aa09755da33e6997605fa059db2144fc85e560cbe6f7da8d74b453f5916618cb8fd392c2db856f3e78221dc68db1b1d914e4" + "value": "1", + "type": "UInt8" } ] }, { - "type": "String", - "name": "stakingKey", - "label": "Staking Key", + "type": "UInt8", + "name": "hashAlgorithm", + "label": "Raw Value for Hash Algorithm Enum", "sampleValues": [ { - "type": "String", - "value": "9e9ae0d645fd5fd9050792e0b0daa82cc1686d9133afa0f81a784b375c42ae48567d1545e7a9e1965f2c1a32f73cf8575ebb7a967f6e4d104d2df78eb8be409135d12da0499b8a00771f642c1b9c49397f22b440439f036c3bdee82f5309dab3" + "value": "1", + "type": "UInt8" } ] }, { "type": "UFix64", - "name": "amount", - "label": "Amount", + "name": "weight", + "label": "Key Weight", "sampleValues": [ { - "type": "UFix64", - "value": "92233720368.54775808" + "value": "1000.00000000", + "type": "UFix64" } ] } ], "network": "testnet", - "hash": "b6a3502d2205eb05ec18772c13b91cc88a056b325c2617c57948d38cab8db600" + "hash": "21d4e87df171ccbe015efe69dc2ffd24814c5fc0f2e364daf5c80515ce4a8bd9" }, { - "id": "TH.08", - "name": "Stake New Locked FLOW", - "source": "import FlowToken from 0x7e60df042a9c0868\nimport FungibleToken from 0x9a0766d93b6608b7\n\nimport LockedTokens from 0x95e019a17d0e23d7\nimport StakingProxy from 0x7aad92e5a0715d21\n\ntransaction(amount: UFix64) {\n\n let holderRef: \u0026LockedTokens.TokenHolder\n\n let vaultRef: \u0026FlowToken.Vault\n\n prepare(account: AuthAccount) {\n self.holderRef = account.borrow\u003c\u0026LockedTokens.TokenHolder\u003e(from: LockedTokens.TokenHolderStoragePath)\n ?? panic(\"Could not borrow reference to TokenHolder\")\n\n self.vaultRef = account.borrow\u003c\u0026FlowToken.Vault\u003e(from: /storage/flowTokenVault)\n ?? panic(\"Could not borrow flow token vault reference\")\n }\n\n execute {\n let stakerProxy = self.holderRef.borrowStaker()\n\n let lockedBalance = self.holderRef.getLockedAccountBalance()\n\n if amount \u003c= lockedBalance {\n\n stakerProxy.stakeNewTokens(amount: amount)\n\n } else if ((amount - lockedBalance) \u003c= self.vaultRef.balance) {\n\n self.holderRef.deposit(from: \u003c-self.vaultRef.withdraw(amount: amount - lockedBalance))\n\n stakerProxy.stakeNewTokens(amount: amount)\n \n } else {\n panic(\"Not enough tokens to stake!\")\n }\n }\n}\n", + "id": "FA.03", + "name": "Remove Key", + "source": "transaction(keyIndex: Int) {\n\tprepare(signer: auth(RevokeKey) \u0026Account) {\n\t\tif let key = signer.keys.get(keyIndex: keyIndex) {\n\t\t\tsigner.keys.revoke(keyIndex: keyIndex)\n\t\t} else {\n\t\t\tpanic(\"No key with the given index exists on the authorizer's account\")\n\t\t}\n\t}\n}", "arguments": [ { - "type": "UFix64", - "name": "amount", - "label": "Amount", + "type": "Int", + "name": "keyIndex", + "label": "Key Index", "sampleValues": [ { - "type": "UFix64", - "value": "92233720368.54775808" + "value": "1", + "type": "Int" } ] } ], "network": "testnet", - "hash": "d5689b89f53214e7ce9ba7be2bb651961f7e3036b85f9250494290da9e9ba989" + "hash": "6c7ab72837fdce77a910f6fc0c622c6c4d5b17f6fbf7295f345d50d3508dd515" }, { - "id": "TH.09", - "name": "Re-stake Unstaked FLOW", - "source": "import LockedTokens from 0x95e019a17d0e23d7\nimport StakingProxy from 0x7aad92e5a0715d21\n\ntransaction(amount: UFix64) {\n\n let holderRef: \u0026LockedTokens.TokenHolder\n\n prepare(account: AuthAccount) {\n self.holderRef = account.borrow\u003c\u0026LockedTokens.TokenHolder\u003e(from: LockedTokens.TokenHolderStoragePath)\n ?? panic(\"Could not borrow reference to TokenHolder\")\n }\n\n execute {\n let stakerProxy = self.holderRef.borrowStaker()\n\n stakerProxy.stakeUnstakedTokens(amount: amount)\n }\n}\n", + "id": "FT.01", + "name": "Setup Fungible Token Vault", + "source": "import FungibleToken from 0x9a0766d93b6608b7\nimport FungibleTokenMetadataViews from 0x9a0766d93b6608b7\n\n/// This transaction is what an account would run\n/// to set itself up to manage fungible tokens. This function\n/// uses views to know where to set up the vault\n/// in storage and to create the empty vault.\n\ntransaction(contractAddress: Address, contractName: String) {\n\n prepare(signer: auth(SaveValue, Capabilities) \u0026Account) {\n // Borrow a reference to the vault stored on the passed account at the passed publicPath\n let resolverRef = getAccount(contractAddress)\n .contracts.borrow\u003c\u0026{FungibleToken}\u003e(name: contractName)\n ?? panic(\"Could not borrow a reference to the fungible token contract\")\n\n // Use that reference to retrieve the FTView \n let ftVaultData = resolverRef.resolveContractView(resourceType: nil, viewType: Type\u003cFungibleTokenMetadataViews.FTVaultData\u003e()) as! FungibleTokenMetadataViews.FTVaultData?\n ?? panic(\"Could not resolve the FTVaultData view for the given Fungible token contract\")\n\n // Create a new empty vault using the createEmptyVault function inside the FTVaultData\n let emptyVault \u003c-ftVaultData.createEmptyVault()\n\n // Save it to the account\n signer.storage.save(\u003c-emptyVault, to: ftVaultData.storagePath)\n \n // Create a public capability for the vault which includes the .Resolver interface\n let vaultCap = signer.capabilities.storage.issue\u003c\u0026{FungibleToken.Vault}\u003e(ftVaultData.storagePath)\n signer.capabilities.publish(vaultCap, at: ftVaultData.metadataPath)\n\n // Create a public capability for the vault exposing the receiver interface\n let receiverCap = signer.capabilities.storage.issue\u003c\u0026{FungibleToken.Receiver}\u003e(ftVaultData.storagePath)\n signer.capabilities.publish(receiverCap, at: ftVaultData.receiverPath)\n\n }\n}\n ", "arguments": [ { - "type": "UFix64", - "name": "amount", - "label": "Amount", + "type": "Address", + "name": "contractAddress", + "label": "FT Contract Address", "sampleValues": [ { - "type": "UFix64", - "value": "92233720368.54775808" + "value": "0x8c5303eaa26202d6", + "type": "Address" } ] - } - ], - "network": "testnet", - "hash": "23e5bfd594bb3245090e3e0bafb9cb9246fc84d30e4a35a7fde1b51085624d86" - }, - { - "id": "TH.10", - "name": "Re-stake Rewarded FLOW", - "source": "import LockedTokens from 0x95e019a17d0e23d7\nimport StakingProxy from 0x7aad92e5a0715d21\n\ntransaction(amount: UFix64) {\n\n let holderRef: \u0026LockedTokens.TokenHolder\n\n prepare(account: AuthAccount) {\n self.holderRef = account.borrow\u003c\u0026LockedTokens.TokenHolder\u003e(from: LockedTokens.TokenHolderStoragePath)\n ?? panic(\"Could not borrow reference to TokenHolder\")\n }\n\n execute {\n let stakerProxy = self.holderRef.borrowStaker()\n\n stakerProxy.stakeRewardedTokens(amount: amount)\n }\n}\n", - "arguments": [ + }, { - "type": "UFix64", - "name": "amount", - "label": "Amount", + "type": "String", + "name": "contractName", + "label": "FT Contract Name", "sampleValues": [ { - "type": "UFix64", - "value": "92233720368.54775808" + "value": "FiatToken", + "type": "String" } ] } ], "network": "testnet", - "hash": "239319825ad68178e76465b5ea18cb43f06c4ee11341f8fe9424809163a027a5" + "hash": "3ccbbfebf10c47c49e4058a33fd9a29c4191c545de52c9afd27a29d38110aa28" }, { - "id": "TH.11", - "name": "Request Unstake of FLOW", - "source": "import LockedTokens from 0x95e019a17d0e23d7\nimport StakingProxy from 0x7aad92e5a0715d21\n\ntransaction(amount: UFix64) {\n\n let holderRef: \u0026LockedTokens.TokenHolder\n\n prepare(account: AuthAccount) {\n self.holderRef = account.borrow\u003c\u0026LockedTokens.TokenHolder\u003e(from: LockedTokens.TokenHolderStoragePath)\n ?? panic(\"Could not borrow reference to TokenHolder\")\n }\n\n execute {\n let stakerProxy = self.holderRef.borrowStaker()\n\n stakerProxy.requestUnstaking(amount: amount)\n }\n}\n", + "id": "FT.02", + "name": "Transfer Fungible Token with Paths", + "source": "import FungibleToken from 0x9a0766d93b6608b7\n\n/// Can pass in any storage path and receiver path identifier instead of just the default.\n/// This lets you choose the token you want to send as well the capability you want to send it to.\n///\n/// Any token path can be passed as an argument here, so wallets should\n/// should check argument values to make sure the intended token path is passed in\n///\ntransaction(amount: UFix64, to: Address, senderPathIdentifier: String, receiverPathIdentifier: String) {\n\n // The Vault resource that holds the tokens that are being transferred\n let tempVault: @{FungibleToken.Vault}\n\n prepare(signer: auth(BorrowValue) \u0026Account) {\n\n let storagePath = StoragePath(identifier: senderPathIdentifier)\n ?? panic(\"Could not construct a storage path from the provided path identifier string\")\n\n // Get a reference to the signer's stored vault\n let vaultRef = signer.storage.borrow\u003cauth(FungibleToken.Withdraw) \u0026{FungibleToken.Provider}\u003e(from: storagePath)\n\t\t\t?? panic(\"Could not borrow reference to the owner's Vault!\")\n\n self.tempVault \u003c- vaultRef.withdraw(amount: amount)\n }\n\n execute {\n let publicPath = PublicPath(identifier: receiverPathIdentifier)\n ?? panic(\"Could not construct a public path from the provided path identifier string\")\n\n let recipient = getAccount(to)\n let receiverRef = recipient.capabilities.borrow\u003c\u0026{FungibleToken.Receiver}\u003e(publicPath)\n ?? panic(\"Could not borrow reference to the recipient's Receiver!\")\n\n // Transfer tokens from the signer's stored vault to the receiver capability\n receiverRef.deposit(from: \u003c-self.tempVault)\n }\n}", "arguments": [ { "type": "UFix64", @@ -187,47 +169,52 @@ "label": "Amount", "sampleValues": [ { - "type": "UFix64", - "value": "92233720368.54775808" + "value": "92233720368.54775808", + "type": "UFix64" } ] - } - ], - "network": "testnet", - "hash": "33e3977c45e7c23c1472bcf334d00b03ebf91b06b67c57b63b562c7b1ff5c59f" - }, - { - "id": "TH.12", - "name": "Unstake All FLOW", - "source": "import LockedTokens from 0x95e019a17d0e23d7\nimport StakingProxy from 0x7aad92e5a0715d21\n\ntransaction() {\n\n let holderRef: \u0026LockedTokens.TokenHolder\n\n prepare(account: AuthAccount) {\n self.holderRef = account.borrow\u003c\u0026LockedTokens.TokenHolder\u003e(from: LockedTokens.TokenHolderStoragePath)\n ?? panic(\"Could not borrow reference to TokenHolder\")\n }\n\n execute {\n let stakerProxy = self.holderRef.borrowStaker()\n\n stakerProxy.unstakeAll()\n }\n}\n", - "arguments": [], - "network": "testnet", - "hash": "f92c4cd663b2e335cd821a656bb2ebcf239b222036a7825af5e512fad4d82035" - }, - { - "id": "TH.13", - "name": "Withdraw Unstaked FLOW", - "source": "import LockedTokens from 0x95e019a17d0e23d7\nimport StakingProxy from 0x7aad92e5a0715d21\n\ntransaction(amount: UFix64) {\n\n let holderRef: \u0026LockedTokens.TokenHolder\n\n prepare(account: AuthAccount) {\n self.holderRef = account.borrow\u003c\u0026LockedTokens.TokenHolder\u003e(from: LockedTokens.TokenHolderStoragePath)\n ?? panic(\"Could not borrow reference to TokenHolder\")\n }\n\n execute {\n let stakerProxy = self.holderRef.borrowStaker()\n\n stakerProxy.withdrawUnstakedTokens(amount: amount)\n }\n}\n", - "arguments": [ + }, { - "type": "UFix64", - "name": "amount", - "label": "Amount", + "type": "Address", + "name": "to", + "label": "Recipient", + "sampleValues": [ + { + "value": "0x8c5303eaa26202d6", + "type": "Address" + } + ] + }, + { + "type": "String", + "name": "senderPathIdentifier", + "label": "Sender's Collection Path Identifier", "sampleValues": [ { - "type": "UFix64", - "value": "92233720368.54775808" + "value": "flowTokenVault", + "type": "String" + } + ] + }, + { + "type": "String", + "name": "receiverPathIdentifier", + "label": "Recipient's Receiver Path Identifier", + "sampleValues": [ + { + "value": "flowTokenReceiver", + "type": "String" } ] } ], "network": "testnet", - "hash": "90097e3aff9b67f65bbada3cdedbb73d45d093ff333aaaff38809bf9910a3e39" + "hash": "c9b9a6156280812703c15dde74df95cd0d7d1034dd2d8bf0cccf72b607142988" }, { - "id": "TH.14", - "name": "Withdraw Rewarded FLOW", - "source": "import LockedTokens from 0x95e019a17d0e23d7\nimport FlowToken from 0x7e60df042a9c0868\n\ntransaction(amount: UFix64) {\n\n let holderRef: \u0026LockedTokens.TokenHolder\n let vaultRef: \u0026FlowToken.Vault\n\n prepare(account: AuthAccount) {\n self.holderRef = account.borrow\u003c\u0026LockedTokens.TokenHolder\u003e(from: LockedTokens.TokenHolderStoragePath)\n ?? panic(\"Could not borrow reference to TokenHolder\")\n\n self.vaultRef = account.borrow\u003c\u0026FlowToken.Vault\u003e(from: /storage/flowTokenVault)\n ?? panic(\"Could not borrow reference to FlowToken value\")\n }\n\n execute {\n let stakerProxy = self.holderRef.borrowStaker()\n\n stakerProxy.withdrawRewardedTokens(amount: amount)\n self.vaultRef.deposit(from: \u003c-self.holderRef.withdraw(amount: amount))\n }\n}\n", + "id": "FT.03", + "name": "Transfer Fungible Token with Address", + "source": "import FungibleToken from 0x9a0766d93b6608b7\nimport FungibleTokenMetadataViews from 0x9a0766d93b6608b7\n\n/// Can pass in any contract address and name to transfer a token from that contract\n/// This lets you choose the token you want to send\n///\n/// Any contract can be chosen here, so wallets should check argument values\n/// to make sure the intended token path is passed in\n///\ntransaction(amount: UFix64, to: Address, contractAddress: Address, contractName: String) {\n\n // The Vault resource that holds the tokens that are being transferred\n let tempVault: @{FungibleToken.Vault}\n\n // FTVaultData struct to get paths from\n let vaultData: FungibleTokenMetadataViews.FTVaultData\n\n prepare(signer: auth(BorrowValue) \u0026Account) {\n\n // Borrow a reference to the vault stored on the passed account at the passed publicPath\n let resolverRef = getAccount(contractAddress)\n .contracts.borrow\u003c\u0026{FungibleToken}\u003e(name: contractName)\n ?? panic(\"Could not borrow a reference to the fungible token contract\")\n\n // Use that reference to retrieve the FTView \n self.vaultData = resolverRef.resolveContractView(resourceType: nil, viewType: Type\u003cFungibleTokenMetadataViews.FTVaultData\u003e()) as! FungibleTokenMetadataViews.FTVaultData?\n ?? panic(\"Could not resolve the FTVaultData view for the given Fungible token contract\")\n\n // Get a reference to the signer's stored vault\n let vaultRef = signer.storage.borrow\u003cauth(FungibleToken.Withdraw) \u0026{FungibleToken.Provider}\u003e(from: self.vaultData.storagePath)\n\t\t\t?? panic(\"Could not borrow reference to the owner's Vault!\")\n\n self.tempVault \u003c- vaultRef.withdraw(amount: amount)\n }\n\n execute {\n let recipient = getAccount(to)\n let receiverRef = recipient.capabilities.borrow\u003c\u0026{FungibleToken.Receiver}\u003e(self.vaultData.receiverPath)\n ?? panic(\"Could not borrow reference to the recipient's Receiver!\")\n\n // Transfer tokens from the signer's stored vault to the receiver capability\n receiverRef.deposit(from: \u003c-self.tempVault)\n }\n}", "arguments": [ { "type": "UFix64", @@ -235,192 +222,189 @@ "label": "Amount", "sampleValues": [ { - "type": "UFix64", - "value": "92233720368.54775808" + "value": "92233720368.54775808", + "type": "UFix64" } ] - } - ], - "network": "testnet", - "hash": "f23406ff402f02418629432912ce732be0441b1a7e71f16c03d688a165ff7f49" - }, - { - "id": "TH.16", - "name": "Register Operator Node", - "source": "import LockedTokens from 0x95e019a17d0e23d7\nimport StakingProxy from 0x7aad92e5a0715d21\n\ntransaction(address: Address, id: String, amount: UFix64) {\n\n let holderRef: \u0026LockedTokens.TokenHolder\n\n prepare(account: AuthAccount) {\n self.holderRef = account.borrow\u003c\u0026LockedTokens.TokenHolder\u003e(from: LockedTokens.TokenHolderStoragePath)\n ?? panic(\"Could not borrow reference to TokenHolder\")\n }\n\n execute {\n let nodeOperatorRef = getAccount(address).getCapability\n \u003c\u0026StakingProxy.NodeStakerProxyHolder{StakingProxy.NodeStakerProxyHolderPublic}\u003e\n (StakingProxy.NodeOperatorCapabilityPublicPath)!.borrow() \n ?? panic(\"Could not borrow node operator public capability\")\n\n let nodeInfo = nodeOperatorRef.getNodeInfo(nodeID: id)\n ?? panic(\"Couldn't get info for nodeID=\".concat(id))\n\n self.holderRef.createNodeStaker(nodeInfo: nodeInfo, amount: amount)\n\n let nodeStakerProxy = self.holderRef.borrowStaker()\n\n nodeOperatorRef.addStakingProxy(nodeID: nodeInfo.id, proxy: nodeStakerProxy)\n }\n}\n", - "arguments": [ + }, { "type": "Address", - "name": "address", - "label": "Operator Address", + "name": "to", + "label": "Recipient", "sampleValues": [ { - "type": "Address", - "value": "0x8c5303eaa26202d6" + "value": "0x8c5303eaa26202d6", + "type": "Address" } ] }, { - "type": "String", - "name": "id", - "label": "Node ID", + "type": "Address", + "name": "contractAddress", + "label": "FT Contract Address", "sampleValues": [ { - "type": "String", - "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" + "value": "0x8c5303eaa26202d6", + "type": "Address" } ] }, { - "type": "UFix64", - "name": "amount", - "label": "Amount", + "type": "String", + "name": "contractName", + "label": "FT Contract Name", "sampleValues": [ { - "type": "UFix64", - "value": "92233720368.54775808" + "value": "FiatToken", + "type": "String" } ] } ], "network": "testnet", - "hash": "c29d4024aaeb71ab478182542499e0ba3d5d303ec027252e3b8333515ee3de48" + "hash": "c1518742a95f9b49259abed8364b05d616ee8acebe123e9979f762b9e7522f93" }, { - "id": "TH.17", - "name": "Register Delegator", - "source": "import FlowToken from 0x7e60df042a9c0868\nimport LockedTokens from 0x95e019a17d0e23d7\n\ntransaction(id: String, amount: UFix64) {\n\n let holderRef: \u0026LockedTokens.TokenHolder\n\n let vaultRef: \u0026FlowToken.Vault\n\n prepare(account: AuthAccount) {\n self.holderRef = account.borrow\u003c\u0026LockedTokens.TokenHolder\u003e(from: LockedTokens.TokenHolderStoragePath) \n ?? panic(\"TokenHolder is not saved at specified path\")\n\n self.vaultRef = account.borrow\u003c\u0026FlowToken.Vault\u003e(from: /storage/flowTokenVault)\n ?? panic(\"Could not borrow flow token vault reference\")\n }\n\n execute {\n self.holderRef.createNodeDelegator(nodeID: id)\n\n let delegatorProxy = self.holderRef.borrowDelegator()\n\n let lockedBalance = self.holderRef.getLockedAccountBalance()\n\n if amount \u003c= lockedBalance {\n\n delegatorProxy.delegateNewTokens(amount: amount)\n\n } else if ((amount - lockedBalance) \u003c= self.vaultRef.balance) {\n\n self.holderRef.deposit(from: \u003c-self.vaultRef.withdraw(amount: amount - lockedBalance))\n\n delegatorProxy.delegateNewTokens(amount: amount)\n\n } else {\n panic(\"Not enough tokens to stake!\")\n }\n }\n}\n", + "id": "NFT.01", + "name": "Setup NFT Collection", + "source": "/// This transaction is what an account would run\n/// to set itself up to receive NFTs. This function\n/// uses views to know where to set up the collection\n/// in storage and to create the empty collection.\n\nimport 0x631e88ae7f1d7c20\nimport 0x631e88ae7f1d7c20\n\ntransaction(contractAddress: Address, contractName: String) {\n\n prepare(signer: auth(IssueStorageCapabilityController, PublishCapability, SaveValue) \u0026Account) {\n // Borrow a reference to the nft contract deployed to the passed account\n let resolverRef = getAccount(contractAddress)\n .contracts.borrow\u003c\u0026{NonFungibleToken}\u003e(name: contractName)\n ?? panic(\"Could not borrow a reference to the non-fungible token contract\")\n\n // Use that reference to retrieve the NFTCollectionData view \n let collectionData = resolverRef.resolveContractView(resourceType: nil, viewType: Type\u003cMetadataViews.NFTCollectionData\u003e()) as! MetadataViews.NFTCollectionData?\n ?? panic(\"Could not resolve the NFTCollectionData view for the given non-fungible token contract\")\n\n // Create a new empty collections\n let emptyCollection \u003c- collectionData.createEmptyCollection()\n\n // save it to the account\n signer.storage.save(\u003c-emptyCollection, to: collectionData.storagePath)\n\n // create a public capability for the collection\n let collectionCap = signer.capabilities.storage.issue\u003c\u0026{NonFungibleToken.Collection}\u003e(\n collectionData.storagePath\n )\n signer.capabilities.publish(collectionCap, at: collectionData.publicPath)\n }\n}\n", "arguments": [ { - "type": "String", - "name": "id", - "label": "Node ID", + "type": "Address", + "name": "contractAddress", + "label": "NFT Contract Address", "sampleValues": [ { - "type": "String", - "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" + "value": "0x8c5303eaa26202d6", + "type": "Address" } ] }, { - "type": "UFix64", - "name": "amount", - "label": "Amount", + "type": "String", + "name": "contractName", + "label": "NFT Contract Name", "sampleValues": [ { - "type": "UFix64", - "value": "92233720368.54775808" + "value": "TopShot", + "type": "String" } ] } ], "network": "testnet", - "hash": "1378405c85e0c966344b196c0fce602f39e79f3938ec7b689e0c96a8703b018a" + "hash": "d9ef3b05f8b06d43c3a0ef4066e88e6248323c5f235f9a5d1f8a85d6e2bc9bfa" }, { - "id": "TH.19", - "name": "Delegate New Locked FLOW", - "source": "import FlowToken from 0x7e60df042a9c0868\nimport FungibleToken from 0x9a0766d93b6608b7\nimport LockedTokens from 0x95e019a17d0e23d7\n\ntransaction(amount: UFix64) {\n\n let holderRef: \u0026LockedTokens.TokenHolder\n\n let vaultRef: \u0026FlowToken.Vault\n\n prepare(account: AuthAccount) {\n self.holderRef = account.borrow\u003c\u0026LockedTokens.TokenHolder\u003e(from: LockedTokens.TokenHolderStoragePath)\n ?? panic(\"Could not borrow reference to TokenHolder\")\n\n self.vaultRef = account.borrow\u003c\u0026FlowToken.Vault\u003e(from: /storage/flowTokenVault)\n ?? panic(\"Could not borrow flow token vault reference\")\n }\n\n execute {\n let stakerProxy = self.holderRef.borrowDelegator()\n\n let lockedBalance = self.holderRef.getLockedAccountBalance()\n\n if amount \u003c= lockedBalance {\n\n stakerProxy.delegateNewTokens(amount: amount)\n\n } else if ((amount - lockedBalance) \u003c= self.vaultRef.balance) {\n\n self.holderRef.deposit(from: \u003c-self.vaultRef.withdraw(amount: amount - lockedBalance))\n\n stakerProxy.delegateNewTokens(amount: amount)\n } else {\n panic(\"Not enough tokens to stake!\")\n }\n }\n}\n", + "id": "NFT.02", + "name": "Transfer NFT with Paths", + "source": "import 0x631e88ae7f1d7c20\n\n/// Can pass in any storage path and receiver path instead of just the default.\n/// This lets you choose the token you want to send as well the capability you want to send it to.\n///\n/// Any token path can be passed as an argument here, so wallets should\n/// should check argument values to make sure the intended token path is passed in\n///\ntransaction(to: Address, id: UInt64, senderPathIdentifier: String, receiverPathIdentifier: String) {\n\n // The NFT resource to be transferred\n let tempNFT: @{NonFungibleToken.NFT}\n\n prepare(signer: auth(BorrowValue) \u0026Account) {\n\n let storagePath = StoragePath(identifier: senderPathIdentifier)\n ?? panic(\"Could not construct a storage path from the provided path identifier string\")\n\n // borrow a reference to the signer's NFT collection\n let withdrawRef = signer.storage.borrow\u003cauth(NonFungibleToken.Withdraw) \u0026{NonFungibleToken.Collection}\u003e(\n from: storagePath\n ) ?? panic(\"Account does not store a collection object at the specified path\")\n\n self.tempNFT \u003c- withdrawRef.withdraw(withdrawID: id)\n }\n\n execute {\n let publicPath = PublicPath(identifier: receiverPathIdentifier)\n ?? panic(\"Could not construct a public path from the provided path identifier string\")\n\n // get the recipients public account object\n let recipient = getAccount(to)\n\n // borrow a public reference to the receivers collection\n let receiverCap = recipient.capabilities.get\u003c\u0026{NonFungibleToken.Receiver}\u003e(publicPath)\n ?? panic(\"Could not get the recipient's Receiver Capability\")\n\n let receiverRef = receiverCap.borrow()\n ?? panic(\"Could not borrow reference to the recipient's receiver\")\n\n // Deposit the NFT to the receiver\n receiverRef.deposit(token: \u003c-self.tempNFT)\n }\n}", "arguments": [ { - "type": "UFix64", - "name": "amount", - "label": "Amount", + "type": "Address", + "name": "to", + "label": "Recipient", "sampleValues": [ { - "type": "UFix64", - "value": "92233720368.54775808" + "value": "0x8c5303eaa26202d6", + "type": "Address" } ] - } - ], - "network": "testnet", - "hash": "18fad68368a4394b245db91217d7dc979e1316ab757388d416eaef831f565ab3" - }, - { - "id": "TH.20", - "name": "Re-delegate Unstaked FLOW", - "source": "import LockedTokens from 0x95e019a17d0e23d7\n\ntransaction(amount: UFix64) {\n let nodeDelegatorProxy: LockedTokens.LockedNodeDelegatorProxy\n\n prepare(account: AuthAccount) {\n let holderRef = account.borrow\u003c\u0026LockedTokens.TokenHolder\u003e(from: LockedTokens.TokenHolderStoragePath) \n ?? panic(\"TokenHolder is not saved at specified path\")\n\n self.nodeDelegatorProxy = holderRef.borrowDelegator()\n }\n\n execute {\n self.nodeDelegatorProxy.delegateUnstakedTokens(amount: amount)\n }\n}\n", - "arguments": [ + }, { - "type": "UFix64", - "name": "amount", - "label": "Amount", + "type": "UInt64", + "name": "id", + "label": "NFT ID to Transfer", "sampleValues": [ { - "type": "UFix64", - "value": "92233720368.54775808" + "value": "10", + "type": "UInt64" } ] - } - ], - "network": "testnet", - "hash": "8776b1521b04395754734f8f40d4a0482863274f8d832973d9e011b3cbb48c85" - }, - { - "id": "TH.21", - "name": "Re-delegate Rewarded FLOW", - "source": "import LockedTokens from 0x95e019a17d0e23d7\n\ntransaction(amount: UFix64) {\n let nodeDelegatorProxy: LockedTokens.LockedNodeDelegatorProxy\n\n prepare(account: AuthAccount) {\n let holderRef = account.borrow\u003c\u0026LockedTokens.TokenHolder\u003e(from: LockedTokens.TokenHolderStoragePath) \n ?? panic(\"TokenHolder is not saved at specified path\")\n \n self.nodeDelegatorProxy = holderRef.borrowDelegator()\n }\n\n execute {\n self.nodeDelegatorProxy.delegateRewardedTokens(amount: amount)\n }\n}\n", - "arguments": [ + }, { - "type": "UFix64", - "name": "amount", - "label": "Amount", + "type": "String", + "name": "senderPathIdentifier", + "label": "Sender's Collection Path Identifier", "sampleValues": [ { - "type": "UFix64", - "value": "92233720368.54775808" + "value": "flowTokenVault", + "type": "String" } ] - } - ], - "network": "testnet", - "hash": "6b40ffc9169abd75107a45da5974c7e502d38773275abb231d747e4760b7ebee" - }, - { - "id": "TH.22", - "name": "Unstake Delegated FLOW", - "source": "import LockedTokens from 0x95e019a17d0e23d7\n\ntransaction(amount: UFix64) {\n let nodeDelegatorProxy: LockedTokens.LockedNodeDelegatorProxy\n\n prepare(account: AuthAccount) {\n let holderRef = account.borrow\u003c\u0026LockedTokens.TokenHolder\u003e(from: LockedTokens.TokenHolderStoragePath) \n ?? panic(\"TokenHolder is not saved at specified path\")\n \n self.nodeDelegatorProxy = holderRef.borrowDelegator()\n }\n\n execute {\n self.nodeDelegatorProxy.requestUnstaking(amount: amount)\n }\n}\n", - "arguments": [ + }, { - "type": "UFix64", - "name": "amount", - "label": "Amount", + "type": "String", + "name": "receiverPathIdentifier", + "label": "Recipient's Receiver Path Identifier", "sampleValues": [ { - "type": "UFix64", - "value": "92233720368.54775808" + "value": "flowTokenReceiver", + "type": "String" } ] } ], "network": "testnet", - "hash": "61cbcd1c31bbfc9ceb4a5ac726e2f8b3d845a4fdf59b0ab23cbbfa8f16d7a024" + "hash": "f08815a2f535512a65e5c95c391dd6ff89662dad8fd68da836d11d0827a52bd4" }, { - "id": "TH.23", - "name": "Withdraw Unstaked FLOW", - "source": "import LockedTokens from 0x95e019a17d0e23d7\n\ntransaction(amount: UFix64) {\n let nodeDelegatorProxy: LockedTokens.LockedNodeDelegatorProxy\n\n prepare(account: AuthAccount) {\n let holderRef = account.borrow\u003c\u0026LockedTokens.TokenHolder\u003e(from: LockedTokens.TokenHolderStoragePath) \n ?? panic(\"TokenHolder is not saved at specified path\")\n \n self.nodeDelegatorProxy = holderRef.borrowDelegator()\n }\n\n execute {\n self.nodeDelegatorProxy.withdrawUnstakedTokens(amount: amount)\n }\n}\n", + "id": "NFT.03", + "name": "Transfer NFT with Address", + "source": "import 0x631e88ae7f1d7c20\nimport 0x631e88ae7f1d7c20\n\n/// Can pass in any contract address and name\n/// This lets you choose the token you want to send because\n/// the transaction gets the metadata from the provided contract.\n///\ntransaction(to: Address, id: UInt64, contractAddress: Address, contractName: String) {\n\n // The NFT resource to be transferred\n let tempNFT: @{NonFungibleToken.NFT}\n\n // NFTCollectionData struct to get paths from\n let collectionData: MetadataViews.NFTCollectionData\n\n prepare(signer: auth(BorrowValue) \u0026Account) {\n\n // Borrow a reference to the nft contract deployed to the passed account\n let resolverRef = getAccount(contractAddress)\n .contracts.borrow\u003c\u0026{NonFungibleToken}\u003e(name: contractName)\n ?? panic(\"Could not borrow a reference to the non-fungible token contract\")\n\n // Use that reference to retrieve the NFTCollectionData view \n self.collectionData = resolverRef.resolveContractView(resourceType: nil, viewType: Type\u003cMetadataViews.NFTCollectionData\u003e()) as! MetadataViews.NFTCollectionData?\n ?? panic(\"Could not resolve the NFTCollectionData view for the given non-fungible token contract\")\n\n\n // borrow a reference to the signer's NFT collection\n let withdrawRef = signer.storage.borrow\u003cauth(NonFungibleToken.Withdraw) \u0026{NonFungibleToken.Collection}\u003e(\n from: self.collectionData.storagePath\n ) ?? panic(\"Account does not store a collection object at the specified path\")\n\n self.tempNFT \u003c- withdrawRef.withdraw(withdrawID: id)\n }\n\n execute {\n // get the recipients public account object\n let recipient = getAccount(to)\n\n // borrow a public reference to the receivers collection\n let receiverCap = recipient.capabilities.get\u003c\u0026{NonFungibleToken.Receiver}\u003e(self.collectionData.publicPath)\n ?? panic(\"Could not get the recipient's Receiver Capability\")\n\n let receiverRef = receiverCap.borrow()\n ?? panic(\"Could not borrow reference to the recipient's receiver\")\n\n // Deposit the NFT to the receiver\n receiverRef.deposit(token: \u003c-self.tempNFT)\n }\n}", "arguments": [ { - "type": "UFix64", - "name": "amount", - "label": "Amount", + "type": "Address", + "name": "to", + "label": "Recipient", + "sampleValues": [ + { + "value": "0x8c5303eaa26202d6", + "type": "Address" + } + ] + }, + { + "type": "UInt64", + "name": "id", + "label": "NFT ID to Transfer", + "sampleValues": [ + { + "value": "10", + "type": "UInt64" + } + ] + }, + { + "type": "Address", + "name": "contractAddress", + "label": "NFT Contract Address", "sampleValues": [ { - "type": "UFix64", - "value": "92233720368.54775808" + "value": "0x8c5303eaa26202d6", + "type": "Address" + } + ] + }, + { + "type": "String", + "name": "contractName", + "label": "NFT Contract Name", + "sampleValues": [ + { + "value": "TopShot", + "type": "String" } ] } ], "network": "testnet", - "hash": "2ae983f78e32b989fafa58ee7910b131fb51a2a74356f7916624695cb8bf5964" + "hash": "b7892b30d7a68531db8af3aa73eec7bf899bd039bc9883c4d0270e44c78cec30" }, { - "id": "TH.24", - "name": "Withdraw Rewarded FLOW", - "source": "import LockedTokens from 0x95e019a17d0e23d7\nimport FlowToken from 0x7e60df042a9c0868\n\ntransaction(amount: UFix64) {\n\n let holderRef: \u0026LockedTokens.TokenHolder\n let vaultRef: \u0026FlowToken.Vault\n\n prepare(account: AuthAccount) {\n self.holderRef = account.borrow\u003c\u0026LockedTokens.TokenHolder\u003e(from: LockedTokens.TokenHolderStoragePath) \n ?? panic(\"Could not borrow reference to TokenHolder\")\n\n self.vaultRef = account.borrow\u003c\u0026FlowToken.Vault\u003e(from: /storage/flowTokenVault)\n ?? panic(\"Could not borrow reference to FlowToken value\")\n }\n\n execute {\n let delegatorProxy = self.holderRef.borrowDelegator()\n\n delegatorProxy.withdrawRewardedTokens(amount: amount)\n self.vaultRef.deposit(from: \u003c-self.holderRef.withdraw(amount: amount))\n }\n}\n", + "id": "TH.01", + "name": "Withdraw Unlocked FLOW", + "source": "import FungibleToken from 0x9a0766d93b6608b7\nimport FlowToken from 0x7e60df042a9c0868\nimport LockedTokens from 0x95e019a17d0e23d7\n\ntransaction(amount: UFix64) {\n\n let holderRef: auth(LockedTokens.TokenOperations, FungibleToken.Withdraw) \u0026LockedTokens.TokenHolder\n let vaultRef: auth(FungibleToken.Withdraw) \u0026FlowToken.Vault\n\n prepare(acct: auth(BorrowValue) \u0026Account) {\n self.holderRef = acct.storage.borrow\u003cauth(LockedTokens.TokenOperations, FungibleToken.Withdraw) \u0026LockedTokens.TokenHolder\u003e(from: LockedTokens.TokenHolderStoragePath)\n ?? panic(\"The primary user account does not have an associated locked account\")\n\n self.vaultRef = acct.storage.borrow\u003cauth(FungibleToken.Withdraw) \u0026FlowToken.Vault\u003e(from: /storage/flowTokenVault)\n ?? panic(\"Could not borrow flow token vault ref\")\n }\n\n execute {\n self.vaultRef.deposit(from: \u003c-self.holderRef.withdraw(amount: amount))\n }\n}\n", "arguments": [ { "type": "UFix64", @@ -428,47 +412,47 @@ "label": "Amount", "sampleValues": [ { - "type": "UFix64", - "value": "92233720368.54775808" + "value": "92233720368.54775808", + "type": "UFix64" } ] } ], "network": "testnet", - "hash": "385042aa453566fcff0b2bd418b837d8f46fbc23b1b46e6651b25a395bc04be8" + "hash": "094798e93daeacaa9ff262486a3683ec5a5e2204407e7d00bc3416fbf3efa3b1" }, { - "id": "TH.25", - "name": "Update Networking Address", - "source": "import FlowIDTableStaking from 0x9eca2b38b18b5dfe\n\ntransaction(newAddress: String) {\n\n // Local variable for a reference to the node object\n let stakerRef: \u0026FlowIDTableStaking.NodeStaker\n\n prepare(acct: AuthAccount) {\n // borrow a reference to the node object\n self.stakerRef = acct.borrow\u003c\u0026FlowIDTableStaking.NodeStaker\u003e(from: FlowIDTableStaking.NodeStakerStoragePath)\n ?? panic(\"Could not borrow reference to staking admin\")\n }\n\n execute {\n\n self.stakerRef.updateNetworkingAddress(newAddress)\n\n }\n}", + "id": "TH.02", + "name": "Deposit Unlocked FLOW", + "source": "import FungibleToken from 0x9a0766d93b6608b7\nimport FlowToken from 0x7e60df042a9c0868\nimport LockedTokens from 0x95e019a17d0e23d7\n\ntransaction(amount: UFix64) {\n\n let holderRef: \u0026LockedTokens.TokenHolder\n let vaultRef: auth(FungibleToken.Withdraw) \u0026FlowToken.Vault\n\n prepare(acct: auth(BorrowValue) \u0026Account) {\n self.holderRef = acct.storage.borrow\u003c\u0026LockedTokens.TokenHolder\u003e(from: LockedTokens.TokenHolderStoragePath)\n ?? panic(\"The primary user account does not have an associated locked account\")\n\n self.vaultRef = acct.storage.borrow\u003cauth(FungibleToken.Withdraw) \u0026FlowToken.Vault\u003e(from: /storage/flowTokenVault)\n ?? panic(\"Could not borrow flow token vault ref\")\n }\n\n execute {\n self.holderRef.deposit(from: \u003c-self.vaultRef.withdraw(amount: amount))\n }\n}\n", "arguments": [ { - "type": "String", - "name": "address", - "label": "Address", + "type": "UFix64", + "name": "amount", + "label": "Amount", "sampleValues": [ { - "type": "String", - "value": "flow-node.test:3569" + "value": "92233720368.54775808", + "type": "UFix64" } ] } ], "network": "testnet", - "hash": "6cbe81c71d2b04dc403ea0db89377f0abc5db14d3d2bd014397b2776aa29bc3e" + "hash": "17ffcd60667893674d8d4044bdd8232959dc8b694df1dd88d1b9c5443352f253" }, { "id": "SCO.01", "name": "Setup Staking Collection", - "source": "import FungibleToken from 0x9a0766d93b6608b7\nimport FlowToken from 0x7e60df042a9c0868\nimport FlowIDTableStaking from 0x9eca2b38b18b5dfe\nimport LockedTokens from 0x95e019a17d0e23d7\nimport FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// This transaction sets up an account to use a staking collection\n/// It will work regardless of whether they have a regular account, a two-account locked tokens setup,\n/// or staking objects stored in the unlocked account\n\ntransaction {\n prepare(signer: AuthAccount) {\n\n // If there isn't already a staking collection\n if signer.borrow\u003c\u0026FlowStakingCollection.StakingCollection\u003e(from: FlowStakingCollection.StakingCollectionStoragePath) == nil {\n\n // Create private capabilities for the token holder and unlocked vault\n let lockedHolder = signer.link\u003c\u0026LockedTokens.TokenHolder\u003e(/private/flowTokenHolder, target: LockedTokens.TokenHolderStoragePath)!\n let flowToken = signer.link\u003c\u0026FlowToken.Vault\u003e(/private/flowTokenVault, target: /storage/flowTokenVault)!\n \n // Create a new Staking Collection and put it in storage\n if lockedHolder.check() {\n signer.save(\u003c-FlowStakingCollection.createStakingCollection(unlockedVault: flowToken, tokenHolder: lockedHolder), to: FlowStakingCollection.StakingCollectionStoragePath)\n } else {\n signer.save(\u003c-FlowStakingCollection.createStakingCollection(unlockedVault: flowToken, tokenHolder: nil), to: FlowStakingCollection.StakingCollectionStoragePath)\n }\n\n // Create a public link to the staking collection\n signer.link\u003c\u0026FlowStakingCollection.StakingCollection{FlowStakingCollection.StakingCollectionPublic}\u003e(\n FlowStakingCollection.StakingCollectionPublicPath,\n target: FlowStakingCollection.StakingCollectionStoragePath\n )\n }\n\n // borrow a reference to the staking collection\n let collectionRef = signer.borrow\u003c\u0026FlowStakingCollection.StakingCollection\u003e(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow staking collection reference\")\n\n // If there is a node staker object in the account, put it in the staking collection\n if signer.borrow\u003c\u0026FlowIDTableStaking.NodeStaker\u003e(from: FlowIDTableStaking.NodeStakerStoragePath) != nil {\n let node \u003c- signer.load\u003c@FlowIDTableStaking.NodeStaker\u003e(from: FlowIDTableStaking.NodeStakerStoragePath)!\n collectionRef.addNodeObject(\u003c-node, machineAccountInfo: nil)\n }\n\n // If there is a delegator object in the account, put it in the staking collection\n if signer.borrow\u003c\u0026FlowIDTableStaking.NodeDelegator\u003e(from: FlowIDTableStaking.DelegatorStoragePath) != nil {\n let delegator \u003c- signer.load\u003c@FlowIDTableStaking.NodeDelegator\u003e(from: FlowIDTableStaking.DelegatorStoragePath)!\n collectionRef.addDelegatorObject(\u003c-delegator)\n }\n }\n}\n", + "source": "import FungibleToken from 0x9a0766d93b6608b7\nimport FlowToken from 0x7e60df042a9c0868\nimport FlowIDTableStaking from 0x9eca2b38b18b5dfe\nimport LockedTokens from 0x95e019a17d0e23d7\nimport FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// This transaction sets up an account to use a staking collection\n/// It will work regardless of whether they have a regular account, a two-account locked tokens setup,\n/// or staking objects stored in the unlocked account\n\ntransaction {\n prepare(signer: auth(BorrowValue, Storage, Capabilities) \u0026Account) {\n\n // If there isn't already a staking collection\n if signer.storage.borrow\u003c\u0026FlowStakingCollection.StakingCollection\u003e(from: FlowStakingCollection.StakingCollectionStoragePath) == nil {\n\n // Create private capabilities for the token holder and unlocked vault\n let lockedHolder = signer.capabilities.storage.issue\u003cauth(FungibleToken.Withdraw, LockedTokens.TokenOperations) \u0026LockedTokens.TokenHolder\u003e(LockedTokens.TokenHolderStoragePath)!\n let flowToken = signer.capabilities.storage.issue\u003cauth(FungibleToken.Withdraw) \u0026FlowToken.Vault\u003e(/storage/flowTokenVault)!\n\n // Create a new Staking Collection and put it in storage\n if lockedHolder.check() {\n signer.storage.save(\n \u003c- FlowStakingCollection.createStakingCollection(\n unlockedVault: flowToken,\n tokenHolder: lockedHolder\n ),\n to: FlowStakingCollection.StakingCollectionStoragePath\n )\n } else {\n signer.storage.save(\n \u003c- FlowStakingCollection.createStakingCollection(\n unlockedVault: flowToken,\n tokenHolder: nil\n ),\n to: FlowStakingCollection.StakingCollectionStoragePath\n )\n }\n\n // Publish a capability to the created staking collection.\n let stakingCollectionCap = signer.capabilities.storage.issue\u003c\u0026FlowStakingCollection.StakingCollection\u003e(\n FlowStakingCollection.StakingCollectionStoragePath\n )\n\n signer.capabilities.publish(\n stakingCollectionCap,\n at: FlowStakingCollection.StakingCollectionPublicPath\n )\n }\n\n // borrow a reference to the staking collection\n let collectionRef = signer.storage.borrow\u003c\u0026FlowStakingCollection.StakingCollection\u003e(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow staking collection reference\")\n\n // If there is a node staker object in the account, put it in the staking collection\n if signer.storage.borrow\u003c\u0026FlowIDTableStaking.NodeStaker\u003e(from: FlowIDTableStaking.NodeStakerStoragePath) != nil {\n let node \u003c- signer.storage.load\u003c@FlowIDTableStaking.NodeStaker\u003e(from: FlowIDTableStaking.NodeStakerStoragePath)!\n collectionRef.addNodeObject(\u003c-node, machineAccountInfo: nil)\n }\n\n // If there is a delegator object in the account, put it in the staking collection\n if signer.storage.borrow\u003c\u0026FlowIDTableStaking.NodeDelegator\u003e(from: FlowIDTableStaking.DelegatorStoragePath) != nil {\n let delegator \u003c- signer.storage.load\u003c@FlowIDTableStaking.NodeDelegator\u003e(from: FlowIDTableStaking.DelegatorStoragePath)!\n collectionRef.addDelegatorObject(\u003c-delegator)\n }\n }\n}\n", "arguments": [], "network": "testnet", - "hash": "a524b4094fcaf1051dbf43ac33ff80bb2f553670c58eeeb719757972a25d6b50" + "hash": "861784e7ac135a9cfec90decdff2e53971a4d63135db77bcef3b273b710b1814" }, { "id": "SCO.02", "name": "Register Delegator", - "source": "import FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// Registers a delegator in the staking collection resource\n/// for the specified nodeID and the amount of tokens to commit\n\ntransaction(id: String, amount: UFix64) {\n \n let stakingCollectionRef: \u0026FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow\u003c\u0026FlowStakingCollection.StakingCollection\u003e(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n }\n\n execute {\n self.stakingCollectionRef.registerDelegator(nodeID: id, amount: amount) \n }\n}\n", + "source": "import FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// Registers a delegator in the staking collection resource\n/// for the specified nodeID and the amount of tokens to commit\n\ntransaction(id: String, amount: UFix64) {\n \n let stakingCollectionRef: auth(FlowStakingCollection.CollectionOwner) \u0026FlowStakingCollection.StakingCollection\n\n prepare(account: auth(BorrowValue) \u0026Account) {\n self.stakingCollectionRef = account.storage.borrow\u003cauth(FlowStakingCollection.CollectionOwner) \u0026FlowStakingCollection.StakingCollection\u003e(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow a reference to a StakingCollection in the primary user's account\")\n }\n\n execute {\n self.stakingCollectionRef.registerDelegator(nodeID: id, amount: amount) \n }\n}\n", "arguments": [ { "type": "String", @@ -476,8 +460,8 @@ "label": "Node ID", "sampleValues": [ { - "type": "String", - "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" + "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6", + "type": "String" } ] }, @@ -487,19 +471,19 @@ "label": "Amount", "sampleValues": [ { - "type": "UFix64", - "value": "92233720368.54775808" + "value": "92233720368.54775808", + "type": "UFix64" } ] } ], "network": "testnet", - "hash": "c26f69a33ead535e7d597cec4567c6c70170e86fd85ec708f5381e50d43871e2" + "hash": "e093df9c425be9cdbee44bdbbd721f6aff523e41802a50cf0ff353873e9f9483" }, { "id": "SCO.03", "name": "Register Node", - "source": "import FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// Registers a delegator in the staking collection resource\n/// for the specified node information and the amount of tokens to commit\n\ntransaction(id: String,\n role: UInt8,\n networkingAddress: String,\n networkingKey: String,\n stakingKey: String,\n amount: UFix64,\n publicKeys: [String]?) {\n \n let stakingCollectionRef: \u0026FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow\u003c\u0026FlowStakingCollection.StakingCollection\u003e(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n\n if let machineAccount = self.stakingCollectionRef.registerNode(\n id: id,\n role: role,\n networkingAddress: networkingAddress,\n networkingKey: networkingKey,\n stakingKey: stakingKey,\n amount: amount,\n payer: account) \n {\n if publicKeys == nil || publicKeys!.length == 0 {\n panic(\"Cannot provide zero keys for the machine account\")\n }\n for key in publicKeys! {\n machineAccount.addPublicKey(key.decodeHex())\n }\n }\n }\n}\n", + "source": "import Crypto\nimport FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// Registers a delegator in the staking collection resource\n/// for the specified node information and the amount of tokens to commit\n\ntransaction(id: String,\n role: UInt8,\n networkingAddress: String,\n networkingKey: String,\n stakingKey: String,\n amount: UFix64,\n machineAccountKey: String, \n machineAccountKeySignatureAlgorithm: UInt8, \n machineAccountKeyHashAlgorithm: UInt8) {\n\n let stakingCollectionRef: auth(FlowStakingCollection.CollectionOwner) \u0026FlowStakingCollection.StakingCollection\n\n prepare(account: auth(BorrowValue) \u0026Account) {\n self.stakingCollectionRef = account.storage.borrow\u003cauth(FlowStakingCollection.CollectionOwner) \u0026FlowStakingCollection.StakingCollection\u003e(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow a reference to a StakingCollection in the primary user's account\")\n\n if let machineAccount = self.stakingCollectionRef.registerNode(\n id: id,\n role: role,\n networkingAddress: networkingAddress,\n networkingKey: networkingKey,\n stakingKey: stakingKey,\n amount: amount,\n payer: account\n ) {\n let sigAlgo = SignatureAlgorithm(rawValue: machineAccountKeySignatureAlgorithm)\n ?? panic(\"Could not get a signature algorithm from the raw enum value provided\")\n\n let hashAlgo = HashAlgorithm(rawValue: machineAccountKeyHashAlgorithm)\n ?? panic(\"Could not get a hash algorithm from the raw enum value provided\")\n \n let publicKey = PublicKey(\n\t\t\t publicKey: machineAccountKey.decodeHex(),\n\t\t\t signatureAlgorithm: sigAlgo\n\t\t )\n machineAccount.keys.add(publicKey: publicKey, hashAlgorithm: hashAlgo, weight: 1000.0)\n }\n }\n}\n", "arguments": [ { "type": "String", @@ -507,8 +491,8 @@ "label": "Node ID", "sampleValues": [ { - "type": "String", - "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" + "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6", + "type": "String" } ] }, @@ -518,8 +502,8 @@ "label": "Node Role", "sampleValues": [ { - "type": "UInt8", - "value": "1" + "value": "1", + "type": "UInt8" } ] }, @@ -529,8 +513,8 @@ "label": "Networking Address", "sampleValues": [ { - "type": "String", - "value": "flow-node.test:3569" + "value": "flow-node.test:3569", + "type": "String" } ] }, @@ -540,8 +524,8 @@ "label": "Networking Key", "sampleValues": [ { - "type": "String", - "value": "1348307bc77c688e80049de9d081aa09755da33e6997605fa059db2144fc85e560cbe6f7da8d74b453f5916618cb8fd392c2db856f3e78221dc68db1b1d914e4" + "value": "1348307bc77c688e80049de9d081aa09755da33e6997605fa059db2144fc85e560cbe6f7da8d74b453f5916618cb8fd392c2db856f3e78221dc68db1b1d914e4", + "type": "String" } ] }, @@ -551,8 +535,8 @@ "label": "Staking Key", "sampleValues": [ { - "type": "String", - "value": "9e9ae0d645fd5fd9050792e0b0daa82cc1686d9133afa0f81a784b375c42ae48567d1545e7a9e1965f2c1a32f73cf8575ebb7a967f6e4d104d2df78eb8be409135d12da0499b8a00771f642c1b9c49397f22b440439f036c3bdee82f5309dab3" + "value": "9e9ae0d645fd5fd9050792e0b0daa82cc1686d9133afa0f81a784b375c42ae48567d1545e7a9e1965f2c1a32f73cf8575ebb7a967f6e4d104d2df78eb8be409135d12da0499b8a00771f642c1b9c49397f22b440439f036c3bdee82f5309dab3", + "type": "String" } ] }, @@ -562,69 +546,52 @@ "label": "Amount", "sampleValues": [ { - "type": "UFix64", - "value": "92233720368.54775808" + "value": "92233720368.54775808", + "type": "UFix64" } ] }, { - "type": "[String]?", - "name": "publicKeys", - "label": "Public Keys", + "type": "String", + "name": "machineAccountKey", + "label": "Machine Account Public Key", "sampleValues": [ { - "type": "Optional", - "value": null - }, - { - "type": "Optional", - "value": { - "type": "Array", - "value": [] - } - }, + "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164", + "type": "String" + } + ] + }, + { + "type": "UInt8", + "name": "machineAccountKeySignatureAlgorithm", + "label": "Raw Value for Machine Account Signature Algorithm Enum", + "sampleValues": [ { - "type": "Optional", - "value": { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164" - } - ] - } - }, + "value": "1", + "type": "UInt8" + } + ] + }, + { + "type": "UInt8", + "name": "machineAccountKeyHashAlgorithm", + "label": "Raw Value for Machine Account Hash Algorithm Enum", + "sampleValues": [ { - "type": "Optional", - "value": { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164" - }, - { - "type": "String", - "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164" - }, - { - "type": "String", - "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164" - } - ] - } + "value": "1", + "type": "UInt8" } ] } ], "network": "testnet", - "hash": "f47efa834bc0559afae9a660b2efefddd0c6dc6e1bbcf9c3994e45ea9e5135ec" + "hash": "deb5f758f3eb3b125cd9b14a6528f18d535377709fcef41e743751eb82800921" }, { "id": "SCO.04", "name": "Create Machine Account", - "source": "import FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// Creates a machine account for a node that is already in the staking collection\n/// and adds public keys to the new account\n\ntransaction(nodeID: String, publicKeys: [String]) {\n \n let stakingCollectionRef: \u0026FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow\u003c\u0026FlowStakingCollection.StakingCollection\u003e(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n\n if let machineAccount = self.stakingCollectionRef.createMachineAccountForExistingNode(nodeID: nodeID, payer: account) {\n if publicKeys == nil || publicKeys!.length == 0 {\n panic(\"Cannot provide zero keys for the machine account\")\n }\n for key in publicKeys! {\n machineAccount.addPublicKey(key.decodeHex())\n }\n } else {\n panic(\"Could not create a machine account for the node\")\n }\n }\n}\n", + "source": "import Crypto\nimport FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// Creates a machine account for a node that is already in the staking collection\n/// and adds public keys to the new account\n\ntransaction(nodeID: String, \n machineAccountKey: String, \n machineAccountKeySignatureAlgorithm: UInt8, \n machineAccountKeyHashAlgorithm: UInt8) {\n \n let stakingCollectionRef: auth(FlowStakingCollection.CollectionOwner) \u0026FlowStakingCollection.StakingCollection\n\n prepare(account: auth(BorrowValue) \u0026Account) {\n self.stakingCollectionRef = account.storage.borrow\u003cauth(FlowStakingCollection.CollectionOwner) \u0026FlowStakingCollection.StakingCollection\u003e(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow a reference to a StakingCollection in the primary user's account\")\n\n if let machineAccount = self.stakingCollectionRef.createMachineAccountForExistingNode(nodeID: nodeID, payer: account) {\n let sigAlgo = SignatureAlgorithm(rawValue: machineAccountKeySignatureAlgorithm)\n ?? panic(\"Could not get a signature algorithm from the raw enum value provided\")\n\n let hashAlgo = HashAlgorithm(rawValue: machineAccountKeyHashAlgorithm)\n ?? panic(\"Could not get a hash algorithm from the raw enum value provided\")\n \n let publicKey = PublicKey(\n\t\t\t publicKey: machineAccountKey.decodeHex(),\n\t\t\t signatureAlgorithm: sigAlgo\n\t\t )\n machineAccount.keys.add(publicKey: publicKey, hashAlgorithm: hashAlgo, weight: 1000.0)\n } else {\n panic(\"Could not create a machine account for the node\")\n }\n }\n}\n", "arguments": [ { "type": "String", @@ -632,56 +599,52 @@ "label": "Node ID", "sampleValues": [ { - "type": "String", - "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" + "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6", + "type": "String" } ] }, { - "type": "[String]", - "name": "publicKeys", - "label": "Public Keys", + "type": "String", + "name": "machineAccountKey", + "label": "Machine Account Public Key", "sampleValues": [ { - "type": "Array", - "value": [] - }, + "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164", + "type": "String" + } + ] + }, + { + "type": "UInt8", + "name": "machineAccountKeySignatureAlgorithm", + "label": "Raw Value for Machine Account Signature Algorithm Enum", + "sampleValues": [ { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164" - } - ] - }, + "value": "1", + "type": "UInt8" + } + ] + }, + { + "type": "UInt8", + "name": "machineAccountKeyHashAlgorithm", + "label": "Raw Value for Machine Account Hash Algorithm Enum", + "sampleValues": [ { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164" - }, - { - "type": "String", - "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164" - }, - { - "type": "String", - "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164" - } - ] + "value": "1", + "type": "UInt8" } ] } ], "network": "testnet", - "hash": "e79df145af42488e3da1d1b2e50a38a2084229896d670884f278a2119dc3bf9e" + "hash": "4c1ad61500bcd0d32d7aa7eb84ca9b7417219ed6d524e05de8c55fb7d50940e4" }, { "id": "SCO.05", "name": "Request Unstaking", - "source": "import FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// Requests unstaking for the specified node or delegator in the staking collection\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: \u0026FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow\u003c\u0026FlowStakingCollection.StakingCollection\u003e(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n }\n\n execute {\n self.stakingCollectionRef.requestUnstaking(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", + "source": "import FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// Requests unstaking for the specified node or delegator in the staking collection\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: auth(FlowStakingCollection.CollectionOwner) \u0026FlowStakingCollection.StakingCollection\n\n prepare(account: auth(BorrowValue) \u0026Account) {\n self.stakingCollectionRef = account.storage.borrow\u003cauth(FlowStakingCollection.CollectionOwner) \u0026FlowStakingCollection.StakingCollection\u003e(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow a reference to a StakingCollection in the primary user's account\")\n }\n\n execute {\n self.stakingCollectionRef.requestUnstaking(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", "arguments": [ { "type": "String", @@ -689,8 +652,8 @@ "label": "Node ID", "sampleValues": [ { - "type": "String", - "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" + "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6", + "type": "String" } ] }, @@ -700,15 +663,15 @@ "label": "Delegator ID", "sampleValues": [ { - "type": "Optional", - "value": null + "value": null, + "type": "Optional" }, { - "type": "Optional", "value": { - "type": "UInt32", - "value": "42" - } + "value": "42", + "type": "UInt32" + }, + "type": "Optional" } ] }, @@ -718,19 +681,19 @@ "label": "Amount", "sampleValues": [ { - "type": "UFix64", - "value": "92233720368.54775808" + "value": "92233720368.54775808", + "type": "UFix64" } ] } ], "network": "testnet", - "hash": "b00f6b3b9d8d7d4a9a8ad14fce11ee0edb23c39c56a8c1351e6b597f53f2fb71" + "hash": "2d59f2c2c402f919c8dba30009e31480d54e2b250d2e10456e1ff029bd7cce99" }, { "id": "SCO.06", "name": "Stake New Tokens", - "source": "import FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// Commits new tokens to stake for the specified node or delegator in the staking collection\n/// The tokens from the locked vault are used first, if it exists\n/// followed by the tokens from the unlocked vault\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: \u0026FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow\u003c\u0026FlowStakingCollection.StakingCollection\u003e(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n }\n\n execute {\n self.stakingCollectionRef.stakeNewTokens(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", + "source": "import FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// Commits new tokens to stake for the specified node or delegator in the staking collection\n/// The tokens from the locked vault are used first, if it exists\n/// followed by the tokens from the unlocked vault\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: auth(FlowStakingCollection.CollectionOwner) \u0026FlowStakingCollection.StakingCollection\n\n prepare(account: auth(BorrowValue) \u0026Account) {\n self.stakingCollectionRef = account.storage.borrow\u003cauth(FlowStakingCollection.CollectionOwner) \u0026FlowStakingCollection.StakingCollection\u003e(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow a reference to a StakingCollection in the primary user's account\")\n }\n\n execute {\n self.stakingCollectionRef.stakeNewTokens(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", "arguments": [ { "type": "String", @@ -738,8 +701,8 @@ "label": "Node ID", "sampleValues": [ { - "type": "String", - "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" + "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6", + "type": "String" } ] }, @@ -749,15 +712,15 @@ "label": "Delegator ID", "sampleValues": [ { - "type": "Optional", - "value": null + "value": null, + "type": "Optional" }, { - "type": "Optional", "value": { - "type": "UInt32", - "value": "42" - } + "value": "42", + "type": "UInt32" + }, + "type": "Optional" } ] }, @@ -767,19 +730,19 @@ "label": "Amount", "sampleValues": [ { - "type": "UFix64", - "value": "92233720368.54775808" + "value": "92233720368.54775808", + "type": "UFix64" } ] } ], "network": "testnet", - "hash": "1307928440cee4289235793d6ff860a24315f7b6a5d5907a145dcc5f83702a2c" + "hash": "cf2b03950077352487e6344ab65edc3e1856731ab9cf68aa2ebbe279ae496d4b" }, { "id": "SCO.07", "name": "Stake Rewarded Tokens", - "source": "import FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// Commits rewarded tokens to stake for the specified node or delegator in the staking collection\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: \u0026FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow\u003c\u0026FlowStakingCollection.StakingCollection\u003e(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n }\n\n execute {\n self.stakingCollectionRef.stakeRewardedTokens(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", + "source": "import FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// Commits rewarded tokens to stake for the specified node or delegator in the staking collection\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: auth(FlowStakingCollection.CollectionOwner) \u0026FlowStakingCollection.StakingCollection\n\n prepare(account: auth(BorrowValue) \u0026Account) {\n self.stakingCollectionRef = account.storage.borrow\u003cauth(FlowStakingCollection.CollectionOwner) \u0026FlowStakingCollection.StakingCollection\u003e(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow a reference to a StakingCollection in the primary user's account\")\n }\n\n execute {\n self.stakingCollectionRef.stakeRewardedTokens(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", "arguments": [ { "type": "String", @@ -787,8 +750,8 @@ "label": "Node ID", "sampleValues": [ { - "type": "String", - "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" + "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6", + "type": "String" } ] }, @@ -798,15 +761,15 @@ "label": "Delegator ID", "sampleValues": [ { - "type": "Optional", - "value": null + "value": null, + "type": "Optional" }, { - "type": "Optional", "value": { - "type": "UInt32", - "value": "42" - } + "value": "42", + "type": "UInt32" + }, + "type": "Optional" } ] }, @@ -816,19 +779,19 @@ "label": "Amount", "sampleValues": [ { - "type": "UFix64", - "value": "92233720368.54775808" + "value": "92233720368.54775808", + "type": "UFix64" } ] } ], "network": "testnet", - "hash": "d7aca7113a7aa03e0afd20ee36f4873779708a02ac4c6985017740c2ecea3d62" + "hash": "4395faf2e515eea4d40f82416ad387575f0d5a580612223c361130e53e72f00b" }, { "id": "SCO.08", "name": "Stake Unstaked Tokens", - "source": "import FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// Commits unstaked tokens to stake for the specified node or delegator in the staking collection\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: \u0026FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow\u003c\u0026FlowStakingCollection.StakingCollection\u003e(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n }\n\n execute {\n self.stakingCollectionRef.stakeUnstakedTokens(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", + "source": "import FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// Commits unstaked tokens to stake for the specified node or delegator in the staking collection\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: auth(FlowStakingCollection.CollectionOwner) \u0026FlowStakingCollection.StakingCollection\n\n prepare(account: auth(BorrowValue) \u0026Account) {\n self.stakingCollectionRef = account.storage.borrow\u003cauth(FlowStakingCollection.CollectionOwner) \u0026FlowStakingCollection.StakingCollection\u003e(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow a reference to a StakingCollection in the primary user's account\")\n }\n\n execute {\n self.stakingCollectionRef.stakeUnstakedTokens(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", "arguments": [ { "type": "String", @@ -836,8 +799,8 @@ "label": "Node ID", "sampleValues": [ { - "type": "String", - "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" + "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6", + "type": "String" } ] }, @@ -847,15 +810,15 @@ "label": "Delegator ID", "sampleValues": [ { - "type": "Optional", - "value": null + "value": null, + "type": "Optional" }, { - "type": "Optional", "value": { - "type": "UInt32", - "value": "42" - } + "value": "42", + "type": "UInt32" + }, + "type": "Optional" } ] }, @@ -865,19 +828,19 @@ "label": "Amount", "sampleValues": [ { - "type": "UFix64", - "value": "92233720368.54775808" + "value": "92233720368.54775808", + "type": "UFix64" } ] } ], "network": "testnet", - "hash": "3595fcd68cff445c65ad99f8d4d726b5e28807b061800769c41cbe3adb98aeec" + "hash": "0b1721f2a8ef6c0c4121ef83c7b38f2141eebcd65c72dab9ebaafe1b4d66fea8" }, { "id": "SCO.09", "name": "Unstake All", - "source": "import FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// Requests to unstake ALL tokens for the specified node or delegator in the staking collection\n\ntransaction(nodeID: String) {\n \n let stakingCollectionRef: \u0026FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow\u003c\u0026FlowStakingCollection.StakingCollection\u003e(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n }\n\n execute {\n self.stakingCollectionRef.unstakeAll(nodeID: nodeID)\n }\n}\n", + "source": "import FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// Requests to unstake ALL tokens for the specified node or delegator in the staking collection\n\ntransaction(nodeID: String) {\n \n let stakingCollectionRef: auth(FlowStakingCollection.CollectionOwner) \u0026FlowStakingCollection.StakingCollection\n\n prepare(account: auth(BorrowValue) \u0026Account) {\n self.stakingCollectionRef = account.storage.borrow\u003cauth(FlowStakingCollection.CollectionOwner) \u0026FlowStakingCollection.StakingCollection\u003e(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow a reference to a StakingCollection in the primary user's account\")\n }\n\n execute {\n self.stakingCollectionRef.unstakeAll(nodeID: nodeID)\n }\n}\n", "arguments": [ { "type": "String", @@ -885,19 +848,19 @@ "label": "Node ID", "sampleValues": [ { - "type": "String", - "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" + "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6", + "type": "String" } ] } ], "network": "testnet", - "hash": "0bde358f3965ba2f4c18fb45b6536857c3f53d7d3b740fe66fe93a4ebf7524c1" + "hash": "c84843e3399be2ce95ea00e7c17d72db3c5c3363ec008c7a1c1cfa5b6afe70ae" }, { "id": "SCO.10", "name": "Withdraw Rewarded Tokens", - "source": "import FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// Request to withdraw rewarded tokens for the specified node or delegator in the staking collection\n/// The tokens are automatically deposited to the unlocked account vault first,\n/// And then any locked tokens are deposited into the locked account vault\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: \u0026FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow\u003c\u0026FlowStakingCollection.StakingCollection\u003e(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n }\n\n execute {\n self.stakingCollectionRef.withdrawRewardedTokens(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", + "source": "import FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// Request to withdraw rewarded tokens for the specified node or delegator in the staking collection\n/// The tokens are automatically deposited to the unlocked account vault first,\n/// And then any locked tokens are deposited into the locked account vault\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: auth(FlowStakingCollection.CollectionOwner) \u0026FlowStakingCollection.StakingCollection\n\n prepare(account: auth(BorrowValue) \u0026Account) {\n self.stakingCollectionRef = account.storage.borrow\u003cauth(FlowStakingCollection.CollectionOwner) \u0026FlowStakingCollection.StakingCollection\u003e(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow a reference to a StakingCollection in the primary user's account\")\n }\n\n execute {\n self.stakingCollectionRef.withdrawRewardedTokens(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", "arguments": [ { "type": "String", @@ -905,8 +868,8 @@ "label": "Node ID", "sampleValues": [ { - "type": "String", - "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" + "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6", + "type": "String" } ] }, @@ -916,15 +879,15 @@ "label": "Delegator ID", "sampleValues": [ { - "type": "Optional", "value": { - "type": "UInt32", - "value": "42" - } + "value": "42", + "type": "UInt32" + }, + "type": "Optional" }, { - "type": "Optional", - "value": null + "value": null, + "type": "Optional" } ] }, @@ -934,19 +897,19 @@ "label": "Amount", "sampleValues": [ { - "type": "UFix64", - "value": "92233720368.54775808" + "value": "92233720368.54775808", + "type": "UFix64" } ] } ], "network": "testnet", - "hash": "3af182f568b37a8067d3fb524afcfe96991c85a928bf7651e730be0e15fdb72d" + "hash": "5a07ca4c016973bdeb168590e111b2c2855833b5ece11ffb28b08b8668f258a8" }, { "id": "SCO.11", "name": "Withdraw Unstaked Tokens", - "source": "import FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// Request to withdraw unstaked tokens for the specified node or delegator in the staking collection\n/// The tokens are automatically deposited to the unlocked account vault first,\n/// And then any locked tokens are deposited into the locked account vault if it is there\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: \u0026FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow\u003c\u0026FlowStakingCollection.StakingCollection\u003e(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n }\n\n execute {\n self.stakingCollectionRef.withdrawUnstakedTokens(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", + "source": "import FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// Request to withdraw unstaked tokens for the specified node or delegator in the staking collection\n/// The tokens are automatically deposited to the unlocked account vault first,\n/// And then any locked tokens are deposited into the locked account vault if it is there\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: auth(FlowStakingCollection.CollectionOwner) \u0026FlowStakingCollection.StakingCollection\n\n prepare(account: auth(BorrowValue) \u0026Account) {\n self.stakingCollectionRef = account.storage.borrow\u003cauth(FlowStakingCollection.CollectionOwner) \u0026FlowStakingCollection.StakingCollection\u003e(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow a reference to a StakingCollection in the primary user's account\")\n }\n\n execute {\n self.stakingCollectionRef.withdrawUnstakedTokens(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", "arguments": [ { "type": "String", @@ -954,8 +917,8 @@ "label": "Node ID", "sampleValues": [ { - "type": "String", - "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" + "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6", + "type": "String" } ] }, @@ -965,15 +928,15 @@ "label": "Delegator ID", "sampleValues": [ { - "type": "Optional", - "value": null + "value": null, + "type": "Optional" }, { - "type": "Optional", "value": { - "type": "UInt32", - "value": "42" - } + "value": "42", + "type": "UInt32" + }, + "type": "Optional" } ] }, @@ -983,19 +946,19 @@ "label": "Amount", "sampleValues": [ { - "type": "UFix64", - "value": "92233720368.54775808" + "value": "92233720368.54775808", + "type": "UFix64" } ] } ], "network": "testnet", - "hash": "68879197d961bb104a56e1e7d35660436fe4c52ed78f79d97fa50aa9e96fabf0" + "hash": "01fd4ea83d20510d24ed9f245873a7ee2715aefb774495c80bce7e3e34d6442e" }, { "id": "SCO.12", "name": "Close Stake", - "source": "import FlowStakingCollection from 0x95e019a17d0e23d7\n\n// Closes out a staking object in the staking collection\n// This does not remove the record from the identity table,\n// but it does mean that the account that closes it cannot ever access it again\n\ntransaction(nodeID: String, delegatorID: UInt32?) {\n \n let stakingCollectionRef: \u0026FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow\u003c\u0026FlowStakingCollection.StakingCollection\u003e(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n }\n\n execute {\n self.stakingCollectionRef.closeStake(nodeID: nodeID, delegatorID: delegatorID)\n }\n}\n", + "source": "import FlowStakingCollection from 0x95e019a17d0e23d7\n\n// Closes out a staking object in the staking collection\n// This does not remove the record from the identity table,\n// but it does mean that the account that closes it cannot ever access it again\n\ntransaction(nodeID: String, delegatorID: UInt32?) {\n \n let stakingCollectionRef: auth(FlowStakingCollection.CollectionOwner) \u0026FlowStakingCollection.StakingCollection\n\n prepare(account: auth(BorrowValue) \u0026Account) {\n self.stakingCollectionRef = account.storage.borrow\u003cauth(FlowStakingCollection.CollectionOwner) \u0026FlowStakingCollection.StakingCollection\u003e(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow a reference to a StakingCollection in the primary user's account\")\n }\n\n execute {\n self.stakingCollectionRef.closeStake(nodeID: nodeID, delegatorID: delegatorID)\n }\n}\n", "arguments": [ { "type": "String", @@ -1003,8 +966,8 @@ "label": "Node ID", "sampleValues": [ { - "type": "String", - "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" + "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6", + "type": "String" } ] }, @@ -1014,26 +977,26 @@ "label": "Delegator ID", "sampleValues": [ { - "type": "Optional", "value": { - "type": "UInt32", - "value": "42" - } + "value": "42", + "type": "UInt32" + }, + "type": "Optional" }, { - "type": "Optional", - "value": null + "value": null, + "type": "Optional" } ] } ], "network": "testnet", - "hash": "079aaa9cfb22138415056b43d5d91e8d73bd8bd5f37ebff4f4023d33ea6d2f25" + "hash": "7e216d96d75414b27c2301a3b0a7816804d43014337a14731d1493531116d185" }, { "id": "SCO.13", "name": "Transfer Node", - "source": "import FlowStakingCollection from 0x95e019a17d0e23d7\n\n// Transfers a NodeStaker object from an authorizers accoount\n// and adds the NodeStaker to another accounts Staking Collection\n// identified by the to Address.\n\ntransaction(nodeID: String, to: Address) {\n let fromStakingCollectionRef: \u0026FlowStakingCollection.StakingCollection\n let toStakingCollectionCap: \u0026FlowStakingCollection.StakingCollection{FlowStakingCollection.StakingCollectionPublic}\n\n prepare(account: AuthAccount) {\n // The account to transfer the NodeStaker object to must have a valid Staking Collection in order to receive the NodeStaker.\n if (!FlowStakingCollection.doesAccountHaveStakingCollection(address: to)) {\n panic(\"Destination account must have a Staking Collection set up.\")\n }\n\n // Get a reference to the authorizers StakingCollection\n self.fromStakingCollectionRef = account.borrow\u003c\u0026FlowStakingCollection.StakingCollection\u003e(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n\n // Get the PublicAccount of the account to transfer the NodeStaker to. \n let toAccount = getAccount(to)\n\n // Borrow a capability to the public methods available on the receivers StakingCollection.\n self.toStakingCollectionCap = toAccount.getCapability\u003c\u0026FlowStakingCollection.StakingCollection{FlowStakingCollection.StakingCollectionPublic}\u003e(FlowStakingCollection.StakingCollectionPublicPath).borrow()\n ?? panic(\"Could not borrow ref to StakingCollection\")\n\n let machineAccountInfo = self.fromStakingCollectionRef.getMachineAccounts()[nodeID]\n ?? panic(\"Could not get machine account info for the specified node ID\")\n\n // Remove the NodeStaker from the authorizers StakingCollection.\n let nodeStaker \u003c- self.fromStakingCollectionRef.removeNode(nodeID: nodeID)\n\n // Deposit the NodeStaker to the receivers StakingCollection.\n self.toStakingCollectionCap.addNodeObject(\u003c- nodeStaker!, machineAccountInfo: machineAccountInfo)\n }\n}", + "source": "import FlowStakingCollection from 0x95e019a17d0e23d7\n\n// Transfers a NodeStaker object from an authorizers accoount\n// and adds the NodeStaker to another accounts Staking Collection\n// identified by the to Address.\n\ntransaction(nodeID: String, to: Address) {\n let fromStakingCollectionRef: auth(FlowStakingCollection.CollectionOwner) \u0026FlowStakingCollection.StakingCollection\n let toStakingCollectionCap: \u0026FlowStakingCollection.StakingCollection\n\n prepare(account: auth(BorrowValue) \u0026Account) {\n // The account to transfer the NodeStaker object to must have a valid Staking Collection in order to receive the NodeStaker.\n if (!FlowStakingCollection.doesAccountHaveStakingCollection(address: to)) {\n panic(\"Destination account must have a Staking Collection set up.\")\n }\n\n // Get a reference to the authorizers StakingCollection\n self.fromStakingCollectionRef = account.storage.borrow\u003cauth(FlowStakingCollection.CollectionOwner) \u0026FlowStakingCollection.StakingCollection\u003e(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow a reference to a StakingCollection in the primary user's account\")\n\n // Get the PublicAccount of the account to transfer the NodeStaker to. \n let toAccount = getAccount(to)\n\n // Borrow a capability to the public methods available on the receivers StakingCollection.\n self.toStakingCollectionCap = toAccount.capabilities\n .borrow\u003c\u0026FlowStakingCollection.StakingCollection\u003e(FlowStakingCollection.StakingCollectionPublicPath)\n ?? panic(\"Could not borrow a reference to a StakingCollection in the receiver's account\")\n\n let machineAccountInfo = self.fromStakingCollectionRef.getMachineAccounts()[nodeID]\n ?? panic(\"Could not get machine account info for the specified node ID\")\n\n // Remove the NodeStaker from the authorizers StakingCollection.\n let nodeStaker \u003c- self.fromStakingCollectionRef.removeNode(nodeID: nodeID)\n\n // Deposit the NodeStaker to the receivers StakingCollection.\n self.toStakingCollectionCap.addNodeObject(\u003c- nodeStaker!, machineAccountInfo: machineAccountInfo)\n }\n}", "arguments": [ { "type": "String", @@ -1041,8 +1004,8 @@ "label": "Node ID", "sampleValues": [ { - "type": "String", - "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" + "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6", + "type": "String" } ] }, @@ -1052,19 +1015,19 @@ "label": "Address", "sampleValues": [ { - "type": "Address", - "value": "0x8c5303eaa26202d6" + "value": "0x8c5303eaa26202d6", + "type": "Address" } ] } ], "network": "testnet", - "hash": "2386d7ae1a5b936e3914729ee34e01d53a8fbd2e403512ec1beccb4062c231eb" + "hash": "311f4071dda8b17ac6cbc6f0a27e98bd426026825d3c68308903fead884e616e" }, { "id": "SCO.14", "name": "Transfer Delegator", - "source": "import FlowStakingCollection from 0x95e019a17d0e23d7\n\n// Transfers a NodeDelegator object from an authorizers accoount\n// and adds the NodeDelegator to another accounts Staking Collection\n// identified by the to Address.\n\ntransaction(nodeID: String, delegatorID: UInt32, to: Address) {\n let fromStakingCollectionRef: \u0026FlowStakingCollection.StakingCollection\n let toStakingCollectionCap: \u0026FlowStakingCollection.StakingCollection{FlowStakingCollection.StakingCollectionPublic}\n\n prepare(account: AuthAccount) {\n // The account to transfer the NodeDelegator object to must have a valid Staking Collection in order to receive the NodeDelegator.\n if (!FlowStakingCollection.doesAccountHaveStakingCollection(address: to)) {\n panic(\"Destination account must have a Staking Collection set up.\")\n }\n\n // Get a reference to the authorizers StakingCollection\n self.fromStakingCollectionRef = account.borrow\u003c\u0026FlowStakingCollection.StakingCollection\u003e(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n\n // Get the PublicAccount of the account to transfer the NodeDelegator to. \n let toAccount = getAccount(to)\n\n // Borrow a capability to the public methods available on the receivers StakingCollection.\n self.toStakingCollectionCap = toAccount.getCapability\u003c\u0026FlowStakingCollection.StakingCollection{FlowStakingCollection.StakingCollectionPublic}\u003e(FlowStakingCollection.StakingCollectionPublicPath).borrow()\n ?? panic(\"Could not borrow ref to StakingCollection\")\n }\n\n execute {\n // Remove the NodeDelegator from the authorizers StakingCollection.\n let nodeDelegator \u003c- self.fromStakingCollectionRef.removeDelegator(nodeID: nodeID, delegatorID: delegatorID)\n\n // Deposit the NodeDelegator to the receivers StakingCollection.\n self.toStakingCollectionCap.addDelegatorObject(\u003c- nodeDelegator!)\n }\n}", + "source": "import FlowStakingCollection from 0x95e019a17d0e23d7\n\n// Transfers a NodeDelegator object from an authorizers accoount\n// and adds the NodeDelegator to another accounts Staking Collection\n// identified by the to Address.\n\ntransaction(nodeID: String, delegatorID: UInt32, to: Address) {\n let fromStakingCollectionRef: auth(FlowStakingCollection.CollectionOwner) \u0026FlowStakingCollection.StakingCollection\n let toStakingCollectionCap: \u0026FlowStakingCollection.StakingCollection\n\n prepare(account: auth(BorrowValue) \u0026Account) {\n // The account to transfer the NodeDelegator object to must have a valid Staking Collection in order to receive the NodeDelegator.\n if (!FlowStakingCollection.doesAccountHaveStakingCollection(address: to)) {\n panic(\"Destination account must have a Staking Collection set up.\")\n }\n\n // Get a reference to the authorizers StakingCollection\n self.fromStakingCollectionRef = account.storage.borrow\u003cauth(FlowStakingCollection.CollectionOwner) \u0026FlowStakingCollection.StakingCollection\u003e(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow a reference to a StakingCollection in the primary user's account\")\n\n // Get the PublicAccount of the account to transfer the NodeDelegator to. \n let toAccount = getAccount(to)\n\n // Borrow a capability to the public methods available on the receivers StakingCollection.\n self.toStakingCollectionCap = toAccount.capabilities\n .borrow\u003c\u0026FlowStakingCollection.StakingCollection\u003e(FlowStakingCollection.StakingCollectionPublicPath)\n ?? panic(\"Could not borrow a referamce to a StakingCollection in the receiver's account\")\n }\n\n execute {\n // Remove the NodeDelegator from the authorizers StakingCollection.\n let nodeDelegator \u003c- self.fromStakingCollectionRef.removeDelegator(nodeID: nodeID, delegatorID: delegatorID)\n\n // Deposit the NodeDelegator to the receivers StakingCollection.\n self.toStakingCollectionCap.addDelegatorObject(\u003c- nodeDelegator!)\n }\n}", "arguments": [ { "type": "String", @@ -1072,8 +1035,8 @@ "label": "Node ID", "sampleValues": [ { - "type": "String", - "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" + "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6", + "type": "String" } ] }, @@ -1083,8 +1046,8 @@ "label": "Delegator ID", "sampleValues": [ { - "type": "UInt32", - "value": "42" + "value": "42", + "type": "UInt32" } ] }, @@ -1094,19 +1057,19 @@ "label": "Address", "sampleValues": [ { - "type": "Address", - "value": "0x8c5303eaa26202d6" + "value": "0x8c5303eaa26202d6", + "type": "Address" } ] } ], "network": "testnet", - "hash": "53b096b4850a30894e7b272ec5c39e2b2f4a23f8c40e76a3c64cfc63dc2999b6" + "hash": "f9fa239cb78b3e07b8f8d56e173e2673b4b53aeb07d507a769c8d96eaf400b8d" }, { "id": "SCO.15", "name": "Withdraw From Machine Account", - "source": "import FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// Request to withdraw tokens from the machine account\n/// The tokens are automatically deposited to the unlocked account vault\n\ntransaction(nodeID: String, amount: UFix64) {\n \n let stakingCollectionRef: \u0026FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow\u003c\u0026FlowStakingCollection.StakingCollection\u003e(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n }\n\n execute {\n self.stakingCollectionRef.withdrawFromMachineAccount(nodeID: nodeID, amount: amount)\n }\n}\n", + "source": "import FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// Request to withdraw tokens from the machine account\n/// The tokens are automatically deposited to the unlocked account vault\n\ntransaction(nodeID: String, amount: UFix64) {\n \n let stakingCollectionRef: auth(FlowStakingCollection.CollectionOwner) \u0026FlowStakingCollection.StakingCollection\n\n prepare(account: auth(BorrowValue) \u0026Account) {\n self.stakingCollectionRef = account.storage.borrow\u003cauth(FlowStakingCollection.CollectionOwner) \u0026FlowStakingCollection.StakingCollection\u003e(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow a reference to a StakingCollection in the primary user's account\")\n }\n\n execute {\n self.stakingCollectionRef.withdrawFromMachineAccount(nodeID: nodeID, amount: amount)\n }\n}\n", "arguments": [ { "type": "String", @@ -1114,8 +1077,8 @@ "label": "Node ID", "sampleValues": [ { - "type": "String", - "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" + "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6", + "type": "String" } ] }, @@ -1125,19 +1088,19 @@ "label": "Amount", "sampleValues": [ { - "type": "UFix64", - "value": "92233720368.54775808" + "value": "92233720368.54775808", + "type": "UFix64" } ] } ], "network": "testnet", - "hash": "39a126038522c6c964d53aaf78dde55bfe80929091510792fe49678bb22cbd96" + "hash": "fdd40862af04dc36dd0e9e727966c6f81dd6be8246b9c70afd18297aac9e86a8" }, { "id": "SCO.16", "name": "Update Networking Address", - "source": "import FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// Changes the networking address for the specified node\n\ntransaction(nodeID: String, newAddress: String) {\n \n let stakingCollectionRef: \u0026FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow\u003c\u0026FlowStakingCollection.StakingCollection\u003e(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n }\n\n execute {\n self.stakingCollectionRef.updateNetworkingAddress(nodeID: nodeID, newAddress: newAddress)\n }\n}\n", + "source": "import FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// Changes the networking address for the specified node\n\ntransaction(nodeID: String, newAddress: String) {\n \n let stakingCollectionRef: auth(FlowStakingCollection.CollectionOwner) \u0026FlowStakingCollection.StakingCollection\n\n prepare(account: auth(BorrowValue) \u0026Account) {\n self.stakingCollectionRef = account.storage.borrow\u003cauth(FlowStakingCollection.CollectionOwner) \u0026FlowStakingCollection.StakingCollection\u003e(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow a reference to a StakingCollection in the primary user's account\")\n }\n\n execute {\n self.stakingCollectionRef.updateNetworkingAddress(nodeID: nodeID, newAddress: newAddress)\n }\n}\n", "arguments": [ { "type": "String", @@ -1145,8 +1108,8 @@ "label": "Node ID", "sampleValues": [ { - "type": "String", - "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" + "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6", + "type": "String" } ] }, @@ -1156,314 +1119,14 @@ "label": "Address", "sampleValues": [ { - "type": "String", - "value": "flow-node.test:3569" - } - ] - } - ], - "network": "testnet", - "hash": "60f2cf219d56b19dc7fd223caed42dda9143c87b1b0d2c21a9652e12a3714133" - }, - { - "id": "FUSD.01", - "name": "Setup FUSD Vault", - "source": "// This transaction configures the signer's account with an empty FUSD vault.\n//\n// It also links the following capabilities:\n//\n// - FungibleToken.Receiver: this capability allows this account to accept FUSD deposits.\n// - FungibleToken.Balance: this capability allows anybody to inspect the FUSD balance of this account.\n\nimport FungibleToken from 0x9a0766d93b6608b7\nimport FUSD from 0xe223d8a629e49c68\n\ntransaction {\n\n prepare(signer: AuthAccount) {\n\n // It's OK if the account already has a Vault, but we don't want to replace it\n if(signer.borrow\u003c\u0026FUSD.Vault\u003e(from: /storage/fusdVault) != nil) {\n return\n }\n \n // Create a new FUSD Vault and put it in storage\n signer.save(\u003c-FUSD.createEmptyVault(), to: /storage/fusdVault)\n\n // Create a public capability to the Vault that only exposes\n // the deposit function through the Receiver interface\n signer.link\u003c\u0026FUSD.Vault{FungibleToken.Receiver}\u003e(\n /public/fusdReceiver,\n target: /storage/fusdVault\n )\n\n // Create a public capability to the Vault that only exposes\n // the balance field through the Balance interface\n signer.link\u003c\u0026FUSD.Vault{FungibleToken.Balance}\u003e(\n /public/fusdBalance,\n target: /storage/fusdVault\n )\n }\n}\n", - "arguments": [], - "network": "testnet", - "hash": "0ffaf77ab320ce4cc9602d39b89c85f094ebcea571ed324537e703bc07b0fdc4" - }, - { - "id": "FUSD.02", - "name": "Transfer FUSD", - "source": "// This transaction withdraws FUSD from the signer's account and deposits it into a recipient account. \n// This transaction will fail if the recipient does not have an FUSD receiver. \n// No funds are transferred or lost if the transaction fails.\n//\n// Parameters:\n// - amount: The amount of FUSD to transfer (e.g. 10.0)\n// - to: The recipient account address.\n//\n// This transaction will fail if either the sender or recipient does not have\n// an FUSD vault stored in their account. To check if an account has a vault\n// or initialize a new vault, use check_fusd_vault_setup.cdc and setup_fusd_vault.cdc\n// respectively.\n\nimport FungibleToken from 0x9a0766d93b6608b7\nimport FUSD from 0xe223d8a629e49c68\n\ntransaction(amount: UFix64, to: Address) {\n\n // The Vault resource that holds the tokens that are being transferred\n let sentVault: @FungibleToken.Vault\n\n prepare(signer: AuthAccount) {\n // Get a reference to the signer's stored vault\n let vaultRef = signer.borrow\u003c\u0026FUSD.Vault\u003e(from: /storage/fusdVault)\n ?? panic(\"Could not borrow reference to the owner's Vault!\")\n\n // Withdraw tokens from the signer's stored vault\n self.sentVault \u003c- vaultRef.withdraw(amount: amount)\n }\n\n execute {\n // Get the recipient's public account object\n let recipient = getAccount(to)\n\n // Get a reference to the recipient's Receiver\n let receiverRef = recipient.getCapability(/public/fusdReceiver)!.borrow\u003c\u0026{FungibleToken.Receiver}\u003e()\n ?? panic(\"Could not borrow receiver reference to the recipient's Vault\")\n\n // Deposit the withdrawn tokens in the recipient's receiver\n receiverRef.deposit(from: \u003c-self.sentVault)\n }\n}\n", - "arguments": [ - { - "type": "UFix64", - "name": "amount", - "label": "Amount", - "sampleValues": [ - { - "type": "UFix64", - "value": "92233720368.54775808" - } - ] - }, - { - "type": "Address", - "name": "recipient", - "label": "Recipient", - "sampleValues": [ - { - "type": "Address", - "value": "0xe467b9dd11fa00df" - } - ] - } - ], - "network": "testnet", - "hash": "f22ca4b350a79c724f6471d5a6a7a0efa7ba9aeebb7fed2843a3ddd6e42c2e1c" - }, - { - "id": "TS.01", - "name": "Set up Top Shot Collection", - "source": "import TopShot from 0x877931736ee77cff\n\n// This transaction sets up an account to use Top Shot\n// by storing an empty moment collection and creating\n// a public capability for it\n\ntransaction {\n\n prepare(acct: AuthAccount) {\n\n // First, check to see if a moment collection already exists\n if acct.borrow\u003c\u0026TopShot.Collection\u003e(from: /storage/MomentCollection) == nil {\n\n // create a new TopShot Collection\n let collection \u003c- TopShot.createEmptyCollection() as! @TopShot.Collection\n\n // Put the new Collection in storage\n acct.save(\u003c-collection, to: /storage/MomentCollection)\n\n // create a public capability for the collection\n acct.link\u003c\u0026{TopShot.MomentCollectionPublic}\u003e(/public/MomentCollection, target: /storage/MomentCollection)\n }\n }\n}", - "arguments": [], - "network": "testnet", - "hash": "0f0baeef9353ceee607c5be3b7c0f86792dadf20b9e9c89e831adb0199e75882" - }, - { - "id": "TS.02", - "name": "Transfer Top Shot Moment", - "source": "import NonFungibleToken from 0x631e88ae7f1d7c20\nimport TopShot from 0x877931736ee77cff\n\n// This transaction transfers a moment to a recipient\n\n// This transaction is how a topshot user would transfer a moment\n// from their account to another account\n// The recipient must have a TopShot Collection object stored\n// and a public MomentCollectionPublic capability stored at\n// `/public/MomentCollection`\n\n// Parameters:\n//\n// recipient: The Flow address of the account to receive the moment.\n// withdrawID: The id of the moment to be transferred\n\ntransaction(recipient: Address, withdrawID: UInt64) {\n\n // local variable for storing the transferred token\n let transferToken: @NonFungibleToken.NFT\n \n prepare(acct: AuthAccount) {\n\n // borrow a reference to the owner's collection\n let collectionRef = acct.borrow\u003c\u0026TopShot.Collection\u003e(from: /storage/MomentCollection)\n ?? panic(\"Could not borrow a reference to the stored Moment collection\")\n \n // withdraw the NFT\n self.transferToken \u003c- collectionRef.withdraw(withdrawID: withdrawID)\n }\n\n execute {\n \n // get the recipient's public account object\n let recipient = getAccount(recipient)\n\n // get the Collection reference for the receiver\n let receiverRef = recipient.getCapability(/public/MomentCollection).borrow\u003c\u0026{TopShot.MomentCollectionPublic}\u003e()!\n\n // deposit the NFT in the receivers collection\n receiverRef.deposit(token: \u003c-self.transferToken)\n }\n}", - "arguments": [ - { - "type": "Address", - "name": "recipient", - "label": "Recipient", - "sampleValues": [ - { - "type": "Address", - "value": "0x8c5303eaa26202d6" - } - ] - }, - { - "type": "UInt64", - "name": "withdrawID", - "label": "Moment ID", - "sampleValues": [ - { - "type": "UInt64", - "value": "42" - } - ] - } - ], - "network": "testnet", - "hash": "1ec9aea0b51409610f882f5ae4278567da675542bb378eb999f05b7c4f12f7d8" - }, - { - "id": "USDC.01", - "name": "Setup USDC Vault", - "source": "import FungibleToken from 0x9a0766d93b6608b7\nimport FiatToken from 0x1ab3c177460e1e4a\n\ntransaction {\n\n prepare(signer: AuthAccount) {\n\n // Return early if the account already stores a FiatToken Vault\n if signer.borrow\u003c\u0026FiatToken.Vault\u003e(from: FiatToken.VaultStoragePath) != nil {\n return\n }\n\n // Create a new ExampleToken Vault and put it in storage\n signer.save(\n \u003c-FiatToken.createEmptyVault(),\n to: FiatToken.VaultStoragePath\n )\n\n // Create a public capability to the Vault that only exposes\n // the deposit function through the Receiver interface\n signer.link\u003c\u0026FiatToken.Vault{FungibleToken.Receiver}\u003e(\n FiatToken.VaultReceiverPubPath,\n target: FiatToken.VaultStoragePath\n )\n\n // Create a public capability to the Vault that only exposes\n // the UUID() function through the VaultUUID interface\n signer.link\u003c\u0026FiatToken.Vault{FiatToken.ResourceId}\u003e(\n FiatToken.VaultUUIDPubPath,\n target: FiatToken.VaultStoragePath\n )\n\n // Create a public capability to the Vault that only exposes\n // the balance field through the Balance interface\n signer.link\u003c\u0026FiatToken.Vault{FungibleToken.Balance}\u003e(\n FiatToken.VaultBalancePubPath,\n target: FiatToken.VaultStoragePath\n )\n\n }\n}\n", - "arguments": [], - "network": "testnet", - "hash": "2defee818c0c003ca519f83517f4c7bcf9dd8664a562ec80959cb6146428f971" - }, - { - "id": "USDC.02", - "name": "Transfer USDC", - "source": "import FungibleToken from 0x9a0766d93b6608b7\nimport FiatToken from 0x1ab3c177460e1e4a\n\ntransaction(amount: UFix64, to: Address) {\n\n // The Vault resource that holds the tokens that are being transferred\n let sentVault: @FungibleToken.Vault\n\n prepare(signer: AuthAccount) {\n\n // Get a reference to the signer's stored vault\n let vaultRef = signer.borrow\u003c\u0026FiatToken.Vault\u003e(from: FiatToken.VaultStoragePath)\n ?? panic(\"Could not borrow reference to the owner's Vault!\")\n\n // Withdraw tokens from the signer's stored vault\n self.sentVault \u003c- vaultRef.withdraw(amount: amount)\n }\n\n execute {\n\n // Get the recipient's public account object\n let recipient = getAccount(to)\n\n // Get a reference to the recipient's Receiver\n let receiverRef = recipient.getCapability(FiatToken.VaultReceiverPubPath)\n .borrow\u003c\u0026{FungibleToken.Receiver}\u003e()\n ?? panic(\"Could not borrow receiver reference to the recipient's Vault\")\n\n // Deposit the withdrawn tokens in the recipient's receiver\n receiverRef.deposit(from: \u003c-self.sentVault)\n }\n}\n", - "arguments": [ - { - "type": "UFix64", - "name": "amount", - "label": "Amount", - "sampleValues": [ - { - "type": "UFix64", - "value": "42" - } - ] - }, - { - "type": "Address", - "name": "recipient", - "label": "Recipient", - "sampleValues": [ - { - "type": "Address", - "value": "0x8c5303eaa26202d6" - } - ] - } - ], - "network": "testnet", - "hash": "512485ec3f8e007853b0ea2a22fb2b9f7e2fa55fd9819171c5d013282efee60a" - }, - { - "id": "SCO.03", - "name": "Register Node", - "source": "import Crypto\nimport FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// Registers a delegator in the staking collection resource\n/// for the specified node information and the amount of tokens to commit\n\ntransaction(id: String,\n role: UInt8,\n networkingAddress: String,\n networkingKey: String,\n stakingKey: String,\n amount: UFix64,\n publicKeys: [Crypto.KeyListEntry]?) {\n \n let stakingCollectionRef: \u0026FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow\u003c\u0026FlowStakingCollection.StakingCollection\u003e(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n\n if let machineAccount = self.stakingCollectionRef.registerNode(\n id: id,\n role: role,\n networkingAddress: networkingAddress,\n networkingKey: networkingKey,\n stakingKey: stakingKey,\n amount: amount,\n payer: account) \n {\n if publicKeys == nil || publicKeys!.length == 0 {\n panic(\"Cannot provide zero keys for the machine account\")\n }\n for key in publicKeys! {\n machineAccount.keys.add(publicKey: key.publicKey, hashAlgorithm: key.hashAlgorithm, weight: key.weight)\n }\n }\n }\n}\n", - "arguments": [ - { - "type": "String", - "name": "id", - "label": "Node ID", - "sampleValues": [ - { - "type": "String", - "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" - } - ] - }, - { - "type": "UInt8", - "name": "role", - "label": "Node Role", - "sampleValues": [ - { - "type": "UInt8", - "value": "1" - } - ] - }, - { - "type": "String", - "name": "networkingAddress", - "label": "Networking Address", - "sampleValues": [ - { - "type": "String", - "value": "flow-node.test:3569" - } - ] - }, - { - "type": "String", - "name": "networkingKey", - "label": "Networking Key", - "sampleValues": [ - { - "type": "String", - "value": "1348307bc77c688e80049de9d081aa09755da33e6997605fa059db2144fc85e560cbe6f7da8d74b453f5916618cb8fd392c2db856f3e78221dc68db1b1d914e4" - } - ] - }, - { - "type": "String", - "name": "stakingKey", - "label": "Staking Key", - "sampleValues": [ - { - "type": "String", - "value": "9e9ae0d645fd5fd9050792e0b0daa82cc1686d9133afa0f81a784b375c42ae48567d1545e7a9e1965f2c1a32f73cf8575ebb7a967f6e4d104d2df78eb8be409135d12da0499b8a00771f642c1b9c49397f22b440439f036c3bdee82f5309dab3" - } - ] - }, - { - "type": "UFix64", - "name": "amount", - "label": "Amount", - "sampleValues": [ - { - "type": "UFix64", - "value": "92233720368.54775808" - } - ] - }, - { - "type": "[String]?", - "name": "publicKeys", - "label": "Public Keys", - "sampleValues": [ - { - "type": "Optional", - "value": null - }, - { - "type": "Optional", - "value": { - "type": "Array", - "value": [] - } - }, - { - "type": "Optional", - "value": { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164" - } - ] - } - }, - { - "type": "Optional", - "value": { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164" - }, - { - "type": "String", - "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164" - }, - { - "type": "String", - "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164" - } - ] - } - } - ] - } - ], - "network": "testnet", - "hash": "9246ec9b7a5c81151156e7c2f6d356f68b1b884f88728daca46b968d9a46cd5a" - }, - { - "id": "SCO.04", - "name": "Create Machine Account", - "source": "import Crypto\nimport FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// Creates a machine account for a node that is already in the staking collection\n/// and adds public keys to the new account\n\ntransaction(nodeID: String, publicKeys: [Crypto.KeyListEntry]) {\n \n let stakingCollectionRef: \u0026FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow\u003c\u0026FlowStakingCollection.StakingCollection\u003e(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n\n if let machineAccount = self.stakingCollectionRef.createMachineAccountForExistingNode(nodeID: nodeID, payer: account) {\n if publicKeys == nil || publicKeys!.length == 0 {\n panic(\"Cannot provide zero keys for the machine account\")\n }\n for key in publicKeys {\n machineAccount.keys.add(publicKey: key.publicKey, hashAlgorithm: key.hashAlgorithm, weight: key.weight)\n }\n } else {\n panic(\"Could not create a machine account for the node\")\n }\n }\n}\n", - "arguments": [ - { - "type": "String", - "name": "id", - "label": "Node ID", - "sampleValues": [ - { - "type": "String", - "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" - } - ] - }, - { - "type": "[String]", - "name": "publicKeys", - "label": "Public Keys", - "sampleValues": [ - { - "type": "Array", - "value": [] - }, - { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164" - } - ] - }, - { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164" - }, - { - "type": "String", - "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164" - }, - { - "type": "String", - "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164" - } - ] + "value": "flow-node.test:3569", + "type": "String" } ] } ], "network": "testnet", - "hash": "86c69d731560f3bff549c5f180eb4219bfe650ae4efec8e0c5b5ad3ebed54a92" + "hash": "3a68789d8cd56e6c7b064057045a56340746aac710db57700de2c33eb6610e5f" } ] -} - +} \ No newline at end of file diff --git a/transaction_metadata/tests/index.js b/transaction_metadata/tests/index.js index d1daa3f5..1cca7397 100644 --- a/transaction_metadata/tests/index.js +++ b/transaction_metadata/tests/index.js @@ -6,164 +6,17 @@ import { encodeTransactionPayload, encodeTransactionEnvelope } from "@onflow/enc import {merkleIndex, merkleTree} from "../txMerkleTree.mjs"; import jsSHA from "jssha"; -const EMULATOR = "Emulator"; const TESTNET = "Testnet"; const MAINNET = "Mainnet"; -const ADDRESS_EMULATOR = "ed2d4f9eb8bcd4ac"; const ADDRESS_TESTNET = "99a8ac2c71d4f6bd"; const ADDRESS_MAINNET = "f19c161bc24cf4b4"; const ADDRESSES = { - [EMULATOR]: ADDRESS_EMULATOR, [TESTNET]: ADDRESS_TESTNET, [MAINNET]: ADDRESS_MAINNET, }; -const TX_HELLO_WORLD = `transaction(msg: String) { execute { log(msg) } }`; - -const TX_ADD_NEW_KEY = -`transaction(publicKey: String) { -prepare(signer: AuthAccount) { -signer.addPublicKey(publicKey.decodeHex()) -} -}`; - -const TX_CREATE_ACCOUNT = -`transaction(publicKeys: [String]) { -prepare(signer: AuthAccount) { -let acct = AuthAccount(payer: signer) -for key in publicKeys { -acct.addPublicKey(key.decodeHex()) -} -} -}`; - -const TX_TRANSFER_TOKENS_EMULATOR = -`import FungibleToken from 0xee82856bf20e2aa6 -transaction(amount: UFix64, to: Address) { -let vault: @FungibleToken.Vault -prepare(signer: AuthAccount) { -self.vault <- signer -.borrow<&{FungibleToken.Provider}>(from: /storage/flowTokenVault)! -.withdraw(amount: amount) -} -execute { -getAccount(to) -.getCapability(/public/flowTokenReceiver)! -.borrow<&{FungibleToken.Receiver}>()! -.deposit(from: <-self.vault) -} -}`; - -const TX_TRANSFER_TOKENS_TESTNET = -`import FungibleToken from 0x9a0766d93b6608b7 -transaction(amount: UFix64, to: Address) { -let vault: @FungibleToken.Vault -prepare(signer: AuthAccount) { -self.vault <- signer -.borrow<&{FungibleToken.Provider}>(from: /storage/flowTokenVault)! -.withdraw(amount: amount) -} -execute { -getAccount(to) -.getCapability(/public/flowTokenReceiver)! -.borrow<&{FungibleToken.Receiver}>()! -.deposit(from: <-self.vault) -} -}`; - -const TX_TRANSFER_TOKENS_MAINNET = -`import FungibleToken from 0xf233dcee88fe0abe -transaction(amount: UFix64, to: Address) { -let vault: @FungibleToken.Vault -prepare(signer: AuthAccount) { -self.vault <- signer -.borrow<&{FungibleToken.Provider}>(from: /storage/flowTokenVault)! -.withdraw(amount: amount) -} -execute { -getAccount(to) -.getCapability(/public/flowTokenReceiver)! -.borrow<&{FungibleToken.Receiver}>()! -.deposit(from: <-self.vault) -} -}`; - -const TX_REGISTER_NODE_SCO = -`import FlowStakingCollection from 0x8d0e87b65159ae63 - -/// Registers a delegator in the staking collection resource -/// for the specified node information and the amount of tokens to commit - -transaction(id: String, - role: UInt8, - networkingAddress: String, - networkingKey: String, - stakingKey: String, - amount: UFix64, - publicKeys: [String]?) { - - let stakingCollectionRef: &FlowStakingCollection.StakingCollection - - prepare(account: AuthAccount) { - self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath) - ?? panic("Could not borrow ref to StakingCollection") - - if let machineAccount = self.stakingCollectionRef.registerNode( - id: id, - role: role, - networkingAddress: networkingAddress, - networkingKey: networkingKey, - stakingKey: stakingKey, - amount: amount, - payer: account) - { - if publicKeys == nil || publicKeys!.length == 0 { - panic("Cannot provide zero keys for the machine account") - } - for key in publicKeys! { - machineAccount.addPublicKey(key.decodeHex()) - } - } - } -} -`; - -const TX_CREATE_MACHINE_ACCOUNT_SCO = -`import FlowStakingCollection from 0x8d0e87b65159ae63 - -/// Creates a machine account for a node that is already in the staking collection -/// and adds public keys to the new account - -transaction(nodeID: String, publicKeys: [String]) { - - let stakingCollectionRef: &FlowStakingCollection.StakingCollection - - prepare(account: AuthAccount) { - self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath) - ?? panic("Could not borrow ref to StakingCollection") - - if let machineAccount = self.stakingCollectionRef.createMachineAccountForExistingNode(nodeID: nodeID, payer: account) { - if publicKeys == nil || publicKeys!.length == 0 { - panic("Cannot provide zero keys for the machine account") - } - for key in publicKeys! { - machineAccount.addPublicKey(key.decodeHex()) - } - } else { - panic("Could not create a machine account for the node") - } - } -} -`; - -const TXS_TRANSFER_TOKENS = { - [EMULATOR]: TX_TRANSFER_TOKENS_EMULATOR, - [TESTNET]: TX_TRANSFER_TOKENS_TESTNET, - [MAINNET]: TX_TRANSFER_TOKENS_MAINNET, -}; - const encodeAccountKey = (publicKey, sigAlgo, hashAlgo, weight) => rlp .encode([ @@ -208,30 +61,8 @@ const WEIGHT_MAX = 1000; const WEIGHTS = [WEIGHT_MIN, WEIGHT_MID, WEIGHT_MAX]; -const ACCOUNT_KEYS = (() => { - const accountKeys = []; - - for (const sigAlgo of SIG_ALGOS) { - for (const hashAlgo of HASH_ALGOS) { - for (const weight of WEIGHTS) { - accountKeys.push(encodeAccountKey(PUBLIC_KEY, sigAlgo, hashAlgo, weight)); - } - } - } - - return accountKeys; -})(); - const DEFAULT_ACCOUNT_KEY = encodeAccountKey(PUBLIC_KEY, SIG_ALGO_ECDSA_P256, HASH_ALGO_SHA3_256, WEIGHT_MAX); -const FLOW_AMOUNT_MIN = "0.0"; -const FLOW_AMOUNT_MAX = "184467440737.9551615"; - -const FLOW_AMOUNTS = [ - FLOW_AMOUNT_MIN, - FLOW_AMOUNT_MAX, -]; - const calculateHash = (msg) => { const shaObj = new jsSHA("SHA-256", "BYTES"); shaObj.update(msg); @@ -269,7 +100,7 @@ const basePayloadTx = (network) => { const address = ADDRESSES[network]; return { - script: TX_ADD_NEW_KEY, + script: "", arguments: [{ type: "String", value: DEFAULT_ACCOUNT_KEY }], refBlock: "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", gasLimit: 42, @@ -417,545 +248,9 @@ const manifestEnvelopeCases = [ ...manifestMainnetEnvelopeCases, ].map(createEnvelopeTestcase(true)); -const invalidPayloadCases = [ - [ - "Example Transaction - Invalid Payload - Unapproved Script", - buildPayloadTx(MAINNET, {script: TX_HELLO_WORLD}), // TX_HELLO_WORLD is not an approved transaction template - MAINNET, - calculateHash(TX_ADD_NEW_KEY), - ], - [ - "Example Transaction - Invalid Payload - Empty Script", - buildPayloadTx(MAINNET, {script: ""}), - MAINNET, - calculateHash(TX_ADD_NEW_KEY), - ], - [ - "Example Transaction - Invalid Payload - Too Many Authorizers", - buildPayloadTx(MAINNET, { - // Maximum authorizer count is 16 - authorizers: [ - "a3a627d47f628e9b", - "b5f242e7e66684fa", - "5195fb3af79c8425", - "4254874588d9dcde", - - "a6333e989923dc01", - "b0675bab0027d660", - "5400e27611ddd6bf", - "bb4d6932cca2a849", - - "5f2ad0efdd58a896", - "497eb5dc445ca2f7", - "ad190c0155a6a228", - "1ff233dcee8f96d6", - - "fb958a01ff759609", - "edc1ef3266719c68", - "09a656ef778b9cb7", - "e6ebddabaaf4e241", - - "028c6476bb0ee29e", - ], - }), - MAINNET, - calculateHash(TX_ADD_NEW_KEY), - ], - [ - "Example Transaction - Invalid Payload - SCO.03 - Too Many Public Keys", - buildPayloadTx(MAINNET, { - script: TX_REGISTER_NODE_SCO, - arguments: [ - { - "type": "String", - "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" - }, - { - "type": "UInt8", - "value": "1" - }, - { - "type": "String", - "value": "flow-node.test:3569" - }, - { - "type": "String", - "value": "1348307bc77c688e80049de9d081aa09755da33e6997605fa059db2144fc85e560cbe6f7da8d74b453f5916618cb8fd392c2db856f3e78221dc68db1b1d914e4" - }, - { - "type": "String", - "value": "9e9ae0d645fd5fd9050792e0b0daa82cc1686d9133afa0f81a784b375c42ae48567d1545e7a9e1965f2c1a32f73cf8575ebb7a967f6e4d104d2df78eb8be409135d12da0499b8a00771f642c1b9c49397f22b440439f036c3bdee82f5309dab3" - }, - { - "type": "UFix64", - "value": "92233720368.54775808" - }, - { - "type": "Optional", - "value": { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164" - }, - { - "type": "String", - "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164" - }, - { - "type": "String", - "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164" - }, - { - "type": "String", - "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164" - } - ] - } - } - ] - }), - MAINNET, - calculateHash(TX_REGISTER_NODE_SCO), - ], - [ - "Example Transaction - Invalid Payload - SCO.04 - Too Many Public Keys", - buildPayloadTx(MAINNET, { - script: TX_CREATE_MACHINE_ACCOUNT_SCO, - arguments: [ - { - "type": "String", - "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" - }, - { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164" - }, - { - "type": "String", - "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164" - }, - { - "type": "String", - "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164" - }, - { - "type": "String", - "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164" - } - ] - } - ] - }), - MAINNET, - calculateHash(TX_CREATE_MACHINE_ACCOUNT_SCO), - ], - [ - "Example Transaction - Invalid Payload - Create Account - Too Many Public Keys", - buildPayloadTx(MAINNET, { - script: TX_CREATE_ACCOUNT, - arguments: [ - { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164" - }, - { - "type": "String", - "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164" - }, - { - "type": "String", - "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164" - }, - { - "type": "String", - "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164" - }, - { - "type": "String", - "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164" - }, - { - "type": "String", - "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164" - } - ] - } - ] - }), - MAINNET, - calculateHash(TX_CREATE_ACCOUNT), - ], -].map(createPayloadTestcase(false)); - -const validPayloadTransferCases = - Object.entries(TXS_TRANSFER_TOKENS). - reduce((list, [network, script]) => [ - ...list, - ...(FLOW_AMOUNTS.map((amount) => - [ - `Send Flow Token Transaction (${network}) - Valid Payload - Valid Amount ${amount}`, - buildPayloadTx(network, { - script: script, - arguments: [ - { - type: "UFix64", - value: amount, - }, - { - type: "Address", - value: `0x${ADDRESSES[network]}`, - } - ] - }), - network, - calculateHash(script), - ] - )), - ], []); - -const validPayloadCases = [ - [ - "Example Transaction - Valid Payload - Zero Gas Limit", - buildPayloadTx(MAINNET, {gasLimit: 0}), - MAINNET, - calculateHash(TX_ADD_NEW_KEY), - ], - [ - "Example Transaction - Valid Payload - Zero proposerKey.keyId", - buildPayloadTx(MAINNET, {proposalKey: {keyId: 0}}), - MAINNET, - calculateHash(TX_ADD_NEW_KEY), - ], - [ - "Example Transaction - Valid Payload - Zero proposalKey.sequenceNum", - buildPayloadTx(MAINNET, {proposalKey: {sequenceNum: 0}}), - MAINNET, - calculateHash(TX_ADD_NEW_KEY), - ], - [ - "Example Transaction - Valid Payload - Empty Authorizers", - buildPayloadTx(MAINNET, {authorizers: []}), - MAINNET, - calculateHash(TX_ADD_NEW_KEY), - ], - [ - "Example Transaction - Valid Envelope - Maximum Authorizers", - buildPayloadTx(MAINNET, { - // Maximum authorizer count is 16 - authorizers: [ - // Lists are merged in buildPayloadTx, so first authorizer is already added - "a3a627d47f628e9b", - "b5f242e7e66684fa", - "5195fb3af79c8425", - - "4254874588d9dcde", - "a6333e989923dc01", - "b0675bab0027d660", - "5400e27611ddd6bf", - - "bb4d6932cca2a849", - "5f2ad0efdd58a896", - "497eb5dc445ca2f7", - "ad190c0155a6a228", - - "1ff233dcee8f96d6", - "fb958a01ff759609", - "edc1ef3266719c68", - "09a656ef778b9cb7", - ], - }), - MAINNET, - calculateHash(TX_ADD_NEW_KEY), - ], - ...validPayloadTransferCases, - ...(ACCOUNT_KEYS.map((accountKey, i) => - [ - `Create Account Transaction - Valid Payload - Single Account Key #${i}`, - buildPayloadTx(MAINNET, { - script: TX_CREATE_ACCOUNT, - arguments: [ - { - type: "Array", - value: [ - { - type: "String", - value: accountKey, - } - ] - } - ] - }), - MAINNET, - calculateHash(TX_CREATE_ACCOUNT), - ] - )), - ...(range(1, 6).map((i) => - [ - `Create Account Transaction - Valid Payload - Multiple Account Keys #${i}`, - buildPayloadTx(MAINNET, { - script: TX_CREATE_ACCOUNT, - arguments: [ - { - type: "Array", - value: range(0, i).map((j) => ( - { - type: "String", - value: ACCOUNT_KEYS[j], - } - )) - } - ] - }), - MAINNET, - calculateHash(TX_CREATE_ACCOUNT), - ] - )), - ...(ACCOUNT_KEYS.map((accountKey, i) => - [ - `Add New Key Transaction - Valid Envelope - Valid Account Key ${i}`, - buildEnvelopeTx(MAINNET, { - script: TX_ADD_NEW_KEY, - arguments: [ - { - type: "String", - value: accountKey, - } - ] - }), - MAINNET, - calculateHash(TX_ADD_NEW_KEY), - ] - )), -].map(createPayloadTestcase(true)); - -const invalidEnvelopeCases = [ - [ - "Example Transaction - Invalid Envelope - Script does not match template", - buildEnvelopeTx(MAINNET, {script: TX_HELLO_WORLD}), - MAINNET, - calculateHash(TX_ADD_NEW_KEY), - ], - [ - "Example Transaction - Invalid Envelope - Empty Script", - buildEnvelopeTx(MAINNET, {script: ""}), - MAINNET, - calculateHash(TX_ADD_NEW_KEY), - ], - [ - "Example Transaction - Invalid Envelope - Too Many Authorizers", - buildEnvelopeTx(MAINNET, { - // Maximum authorizer count is 16 - authorizers: [ - "a3a627d47f628e9b", - "b5f242e7e66684fa", - "5195fb3af79c8425", - "4254874588d9dcde", - - "a6333e989923dc01", - "b0675bab0027d660", - "5400e27611ddd6bf", - "bb4d6932cca2a849", - - "5f2ad0efdd58a896", - "497eb5dc445ca2f7", - "ad190c0155a6a228", - "1ff233dcee8f96d6", - - "fb958a01ff759609", - "edc1ef3266719c68", - "09a656ef778b9cb7", - "e6ebddabaaf4e241", - - "028c6476bb0ee29e", - ], - }), - MAINNET, - calculateHash(TX_ADD_NEW_KEY), - ], -].map(createEnvelopeTestcase(false)); - -const validEnvelopeTransferCases = - Object.entries(TXS_TRANSFER_TOKENS). - reduce((list, [network, script]) => [ - ...list, - ...(FLOW_AMOUNTS.map((amount) => - [ - `Send Flow Token Transaction (${network}) - Valid Envelope - Valid Amount ${amount}`, - buildEnvelopeTx(network, { - script: script, - arguments: [ - { - type: "UFix64", - value: amount, - }, - { - type: "Address", - value: `0x${ADDRESSES[network]}` - } - ] - }), - network, - calculateHash(script), - ] - )), - ], []); - -const validEnvelopeCases = [ - [ - "Example Transaction - Valid Envelope - Zero Gas Limit", - buildEnvelopeTx(MAINNET, {gasLimit: 0}), - MAINNET, - calculateHash(TX_ADD_NEW_KEY), - ], - [ - "Example Transaction - Valid Envelope - Zero proposerKey.keyId", - buildEnvelopeTx(MAINNET, {proposalKey: {keyId: 0}}), - MAINNET, - calculateHash(TX_ADD_NEW_KEY), - ], - [ - "Example Transaction - Valid Envelope - Zero proposalKey.sequenceNum", - buildEnvelopeTx(MAINNET, {proposalKey: {sequenceNum: 0}}), - MAINNET, - calculateHash(TX_ADD_NEW_KEY), - ], - [ - "Example Transaction - Valid Envelope - Empty Authorizers", - buildEnvelopeTx(MAINNET, {authorizers: []}), - MAINNET, - calculateHash(TX_ADD_NEW_KEY), - ], - [ - "Example Transaction - Valid Envelope - Maximum Authorizers", - buildEnvelopeTx(MAINNET, { - // Maximum authorizer count is 16 - authorizers: [ - // Lists are merged in buildEnvelopeTx, so first authorizer is already added - "a3a627d47f628e9b", - "b5f242e7e66684fa", - "5195fb3af79c8425", - - "4254874588d9dcde", - "a6333e989923dc01", - "b0675bab0027d660", - "5400e27611ddd6bf", - - "bb4d6932cca2a849", - "5f2ad0efdd58a896", - "497eb5dc445ca2f7", - "ad190c0155a6a228", - - "1ff233dcee8f96d6", - "fb958a01ff759609", - "edc1ef3266719c68", - "09a656ef778b9cb7", - ], - }), - MAINNET, - calculateHash(TX_ADD_NEW_KEY), - ], - [ - "Example Transaction - Valid Envelope - Empty payloadSigs", - buildEnvelopeTx(MAINNET, {payloadSigs: []}), - MAINNET, - calculateHash(TX_ADD_NEW_KEY), - ], - [ - "Example Transaction - Valid Envelope - Zero payloadSigs.0.key", - buildEnvelopeTx(MAINNET, {payloadSigs: [{keyId: 0}]}), - MAINNET, - calculateHash(TX_ADD_NEW_KEY), - ], - [ - "Example Transaction - Valid Envelope - Out-of-order payloadSigs -- By keyId", - buildEnvelopeTx(MAINNET, { - authorizers: [ADDRESS_MAINNET], - payloadSigs: [ - {address: ADDRESS_MAINNET, keyId: 2, sig: "c"}, - {address: ADDRESS_MAINNET, keyId: 0, sig: "a"}, - {address: ADDRESS_MAINNET, keyId: 1, sig: "b"}, - ], - }), - MAINNET, - calculateHash(TX_ADD_NEW_KEY), - ], - ...validEnvelopeTransferCases, - ...(ACCOUNT_KEYS.map((accountKey, i) => - [ - `Create Account Transaction - Valid Envelope - Single Account Key #${i}`, - buildEnvelopeTx(MAINNET, { - script: TX_CREATE_ACCOUNT, - arguments: [ - { - type: "Array", - value: [ - { - type: "String", - value: accountKey, - } - ] - } - ] - }), - MAINNET, - calculateHash(TX_CREATE_ACCOUNT), - ] - )), - ...(range(1, 6).map((i) => - [ - `Create Account Transaction - Valid Envelope - Multiple Account Keys #${i}`, - buildEnvelopeTx(MAINNET, { - script: TX_CREATE_ACCOUNT, - arguments: [ - { - type: "Array", - value: range(0, i).map((j) => ( - { - type: "String", - value: ACCOUNT_KEYS[j], - } - )) - } - ] - }), - MAINNET, - calculateHash(TX_CREATE_ACCOUNT), - ] - )), - ...(ACCOUNT_KEYS.map((accountKey, i) => - [ - `Add New Key Transaction - Valid Envelope - Valid Account Key ${i}`, - buildEnvelopeTx(MAINNET, { - script: TX_ADD_NEW_KEY, - arguments: [ - { - type: "String", - value: accountKey, - } - ] - }), - MAINNET, - calculateHash(TX_ADD_NEW_KEY), - ] - )), -].map(createEnvelopeTestcase(true)); - const args = process.argv.slice(2); const outDir = args[0]; -fs.writeFileSync(path.join(outDir, "validPayloadCases.json"), JSON.stringify(validPayloadCases, null, 2)); -fs.writeFileSync(path.join(outDir, "invalidPayloadCases.json"), JSON.stringify(invalidPayloadCases, null, 2)); -fs.writeFileSync(path.join(outDir, "validEnvelopeCases.json"), JSON.stringify(validEnvelopeCases, null, 2)); -fs.writeFileSync(path.join(outDir, "invalidEnvelopeCases.json"), JSON.stringify(invalidEnvelopeCases, null, 2)); - fs.writeFileSync(path.join(outDir, "manifestEnvelopeCases.json"), JSON.stringify(manifestEnvelopeCases, null, 2)); fs.writeFileSync(path.join(outDir, "manifestPayloadCases.json"), JSON.stringify(manifestPayloadCases, null, 2)); diff --git a/transaction_metadata/testvectors/invalidEnvelopeCases.json b/transaction_metadata/testvectors/invalidEnvelopeCases.json deleted file mode 100644 index 04f87009..00000000 --- a/transaction_metadata/testvectors/invalidEnvelopeCases.json +++ /dev/null @@ -1,207 +0,0 @@ -[ - { - "title": "Example Transaction - Invalid Envelope - Script does not match template", - "valid": false, - "chainID": "Mainnet", - "payloadMessage": { - "script": "transaction(msg: String) { execute { log(msg) } }", - "arguments": [ - { - "type": "String", - "value": "f847b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc02038203e8" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [ - { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sig": "f7225388c1d69d57e6251c9fda50cbbf9e05131e5adb81e5aa0422402f048162" - } - ] - }, - "envelopeMessage": { - "script": "transaction(msg: String) { execute { log(msg) } }", - "arguments": [ - { - "type": "String", - "value": "f847b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc02038203e8" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f90124b17472616e73616374696f6e286d73673a20537472696e6729207b2065786563757465207b206c6f67286d736729207d207df8b0b8ae7b2274797065223a22537472696e67222c2276616c7565223a226638343762383430393434383861373935613037373030633666623833653036366366353764666438376639326365373063626338316362336264336665613264663762363730373362373065333662343466333537386234336436346433666161326538653431356566366332623566653433393064356137386532333835383163366534626330323033383230336538227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f90128f90124b17472616e73616374696f6e286d73673a20537472696e6729207b2065786563757465207b206c6f67286d736729207d207df8b0b8ae7b2274797065223a22537472696e67222c2276616c7565223a226638343762383430393434383861373935613037373030633666623833653036366366353764666438376639326365373063626338316362336264336665613264663762363730373362373065333662343466333537386234336436346433666161326538653431356566366332623566653433393064356137386532333835383163366534626330323033383230336538227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "01595c86561441b32b2b91ee03f9e10ca6efa7b41bcc994f51317ec0aa9d8f8a42416464204e6577204b6579000101507562206b65790000537472696e670003", - "hash": "595c86561441b32b2b91ee03f9e10ca6efa7b41bcc994f51317ec0aa9d8f8a42" - }, - { - "title": "Example Transaction - Invalid Envelope - Empty Script", - "valid": false, - "chainID": "Mainnet", - "payloadMessage": { - "script": "", - "arguments": [ - { - "type": "String", - "value": "f847b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc02038203e8" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [ - { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sig": "f7225388c1d69d57e6251c9fda50cbbf9e05131e5adb81e5aa0422402f048162" - } - ] - }, - "envelopeMessage": { - "script": "", - "arguments": [ - { - "type": "String", - "value": "f847b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc02038203e8" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f8f380f8b0b8ae7b2274797065223a22537472696e67222c2276616c7565223a226638343762383430393434383861373935613037373030633666623833653036366366353764666438376639326365373063626338316362336264336665613264663762363730373362373065333662343466333537386234336436346433666161326538653431356566366332623566653433393064356137386532333835383163366534626330323033383230336538227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f8f6f8f380f8b0b8ae7b2274797065223a22537472696e67222c2276616c7565223a226638343762383430393434383861373935613037373030633666623833653036366366353764666438376639326365373063626338316362336264336665613264663762363730373362373065333662343466333537386234336436346433666161326538653431356566366332623566653433393064356137386532333835383163366534626330323033383230336538227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "01595c86561441b32b2b91ee03f9e10ca6efa7b41bcc994f51317ec0aa9d8f8a42416464204e6577204b6579000101507562206b65790000537472696e670003", - "hash": "595c86561441b32b2b91ee03f9e10ca6efa7b41bcc994f51317ec0aa9d8f8a42" - }, - { - "title": "Example Transaction - Invalid Envelope - Too Many Authorizers", - "valid": false, - "chainID": "Mainnet", - "payloadMessage": { - "script": "transaction(publicKey: String) {\nprepare(signer: AuthAccount) {\nsigner.addPublicKey(publicKey.decodeHex())\n}\n}", - "arguments": [ - { - "type": "String", - "value": "f847b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc02038203e8" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4", - "a3a627d47f628e9b", - "b5f242e7e66684fa", - "5195fb3af79c8425", - "4254874588d9dcde", - "a6333e989923dc01", - "b0675bab0027d660", - "5400e27611ddd6bf", - "bb4d6932cca2a849", - "5f2ad0efdd58a896", - "497eb5dc445ca2f7", - "ad190c0155a6a228", - "1ff233dcee8f96d6", - "fb958a01ff759609", - "edc1ef3266719c68", - "09a656ef778b9cb7", - "e6ebddabaaf4e241", - "028c6476bb0ee29e" - ], - "payloadSigs": [ - { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sig": "f7225388c1d69d57e6251c9fda50cbbf9e05131e5adb81e5aa0422402f048162" - } - ] - }, - "envelopeMessage": { - "script": "transaction(publicKey: String) {\nprepare(signer: AuthAccount) {\nsigner.addPublicKey(publicKey.decodeHex())\n}\n}", - "arguments": [ - { - "type": "String", - "value": "f847b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc02038203e8" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4", - "a3a627d47f628e9b", - "b5f242e7e66684fa", - "5195fb3af79c8425", - "4254874588d9dcde", - "a6333e989923dc01", - "b0675bab0027d660", - "5400e27611ddd6bf", - "bb4d6932cca2a849", - "5f2ad0efdd58a896", - "497eb5dc445ca2f7", - "ad190c0155a6a228", - "1ff233dcee8f96d6", - "fb958a01ff759609", - "edc1ef3266719c68", - "09a656ef778b9cb7", - "e6ebddabaaf4e241", - "028c6476bb0ee29e" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f901fcb86e7472616e73616374696f6e287075626c69634b65793a20537472696e6729207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a7369676e65722e6164645075626c69634b6579287075626c69634b65792e6465636f64654865782829290a7d0a7df8b0b8ae7b2274797065223a22537472696e67222c2276616c7565223a226638343762383430393434383861373935613037373030633666623833653036366366353764666438376639326365373063626338316362336264336665613264663762363730373362373065333662343466333537386234336436346433666161326538653431356566366332623566653433393064356137386532333835383163366534626330323033383230336538227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4f8a288f19c161bc24cf4b488a3a627d47f628e9b88b5f242e7e66684fa885195fb3af79c8425884254874588d9dcde88a6333e989923dc0188b0675bab0027d660885400e27611ddd6bf88bb4d6932cca2a849885f2ad0efdd58a89688497eb5dc445ca2f788ad190c0155a6a228881ff233dcee8f96d688fb958a01ff75960988edc1ef3266719c688809a656ef778b9cb788e6ebddabaaf4e24188028c6476bb0ee29e", - "encodedTransactionEnvelopeHex": "f90200f901fcb86e7472616e73616374696f6e287075626c69634b65793a20537472696e6729207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a7369676e65722e6164645075626c69634b6579287075626c69634b65792e6465636f64654865782829290a7d0a7df8b0b8ae7b2274797065223a22537472696e67222c2276616c7565223a226638343762383430393434383861373935613037373030633666623833653036366366353764666438376639326365373063626338316362336264336665613264663762363730373362373065333662343466333537386234336436346433666161326538653431356566366332623566653433393064356137386532333835383163366534626330323033383230336538227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4f8a288f19c161bc24cf4b488a3a627d47f628e9b88b5f242e7e66684fa885195fb3af79c8425884254874588d9dcde88a6333e989923dc0188b0675bab0027d660885400e27611ddd6bf88bb4d6932cca2a849885f2ad0efdd58a89688497eb5dc445ca2f788ad190c0155a6a228881ff233dcee8f96d688fb958a01ff75960988edc1ef3266719c688809a656ef778b9cb788e6ebddabaaf4e24188028c6476bb0ee29ec0", - "metadata": "01595c86561441b32b2b91ee03f9e10ca6efa7b41bcc994f51317ec0aa9d8f8a42416464204e6577204b6579000101507562206b65790000537472696e670003", - "hash": "595c86561441b32b2b91ee03f9e10ca6efa7b41bcc994f51317ec0aa9d8f8a42" - } -] \ No newline at end of file diff --git a/transaction_metadata/testvectors/invalidPayloadCases.json b/transaction_metadata/testvectors/invalidPayloadCases.json deleted file mode 100644 index fe65d556..00000000 --- a/transaction_metadata/testvectors/invalidPayloadCases.json +++ /dev/null @@ -1,516 +0,0 @@ -[ - { - "title": "Example Transaction - Invalid Payload - Unapproved Script", - "valid": false, - "chainID": "Mainnet", - "payloadMessage": { - "script": "transaction(msg: String) { execute { log(msg) } }", - "arguments": [ - { - "type": "String", - "value": "f847b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc02038203e8" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ] - }, - "envelopeMessage": { - "script": "transaction(msg: String) { execute { log(msg) } }", - "arguments": [ - { - "type": "String", - "value": "f847b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc02038203e8" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f90124b17472616e73616374696f6e286d73673a20537472696e6729207b2065786563757465207b206c6f67286d736729207d207df8b0b8ae7b2274797065223a22537472696e67222c2276616c7565223a226638343762383430393434383861373935613037373030633666623833653036366366353764666438376639326365373063626338316362336264336665613264663762363730373362373065333662343466333537386234336436346433666161326538653431356566366332623566653433393064356137386532333835383163366534626330323033383230336538227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f90128f90124b17472616e73616374696f6e286d73673a20537472696e6729207b2065786563757465207b206c6f67286d736729207d207df8b0b8ae7b2274797065223a22537472696e67222c2276616c7565223a226638343762383430393434383861373935613037373030633666623833653036366366353764666438376639326365373063626338316362336264336665613264663762363730373362373065333662343466333537386234336436346433666161326538653431356566366332623566653433393064356137386532333835383163366534626330323033383230336538227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "01595c86561441b32b2b91ee03f9e10ca6efa7b41bcc994f51317ec0aa9d8f8a42416464204e6577204b6579000101507562206b65790000537472696e670003", - "hash": "595c86561441b32b2b91ee03f9e10ca6efa7b41bcc994f51317ec0aa9d8f8a42" - }, - { - "title": "Example Transaction - Invalid Payload - Empty Script", - "valid": false, - "chainID": "Mainnet", - "payloadMessage": { - "script": "", - "arguments": [ - { - "type": "String", - "value": "f847b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc02038203e8" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ] - }, - "envelopeMessage": { - "script": "", - "arguments": [ - { - "type": "String", - "value": "f847b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc02038203e8" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f8f380f8b0b8ae7b2274797065223a22537472696e67222c2276616c7565223a226638343762383430393434383861373935613037373030633666623833653036366366353764666438376639326365373063626338316362336264336665613264663762363730373362373065333662343466333537386234336436346433666161326538653431356566366332623566653433393064356137386532333835383163366534626330323033383230336538227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f8f6f8f380f8b0b8ae7b2274797065223a22537472696e67222c2276616c7565223a226638343762383430393434383861373935613037373030633666623833653036366366353764666438376639326365373063626338316362336264336665613264663762363730373362373065333662343466333537386234336436346433666161326538653431356566366332623566653433393064356137386532333835383163366534626330323033383230336538227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "01595c86561441b32b2b91ee03f9e10ca6efa7b41bcc994f51317ec0aa9d8f8a42416464204e6577204b6579000101507562206b65790000537472696e670003", - "hash": "595c86561441b32b2b91ee03f9e10ca6efa7b41bcc994f51317ec0aa9d8f8a42" - }, - { - "title": "Example Transaction - Invalid Payload - Too Many Authorizers", - "valid": false, - "chainID": "Mainnet", - "payloadMessage": { - "script": "transaction(publicKey: String) {\nprepare(signer: AuthAccount) {\nsigner.addPublicKey(publicKey.decodeHex())\n}\n}", - "arguments": [ - { - "type": "String", - "value": "f847b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc02038203e8" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4", - "a3a627d47f628e9b", - "b5f242e7e66684fa", - "5195fb3af79c8425", - "4254874588d9dcde", - "a6333e989923dc01", - "b0675bab0027d660", - "5400e27611ddd6bf", - "bb4d6932cca2a849", - "5f2ad0efdd58a896", - "497eb5dc445ca2f7", - "ad190c0155a6a228", - "1ff233dcee8f96d6", - "fb958a01ff759609", - "edc1ef3266719c68", - "09a656ef778b9cb7", - "e6ebddabaaf4e241", - "028c6476bb0ee29e" - ] - }, - "envelopeMessage": { - "script": "transaction(publicKey: String) {\nprepare(signer: AuthAccount) {\nsigner.addPublicKey(publicKey.decodeHex())\n}\n}", - "arguments": [ - { - "type": "String", - "value": "f847b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc02038203e8" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4", - "a3a627d47f628e9b", - "b5f242e7e66684fa", - "5195fb3af79c8425", - "4254874588d9dcde", - "a6333e989923dc01", - "b0675bab0027d660", - "5400e27611ddd6bf", - "bb4d6932cca2a849", - "5f2ad0efdd58a896", - "497eb5dc445ca2f7", - "ad190c0155a6a228", - "1ff233dcee8f96d6", - "fb958a01ff759609", - "edc1ef3266719c68", - "09a656ef778b9cb7", - "e6ebddabaaf4e241", - "028c6476bb0ee29e" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f901fcb86e7472616e73616374696f6e287075626c69634b65793a20537472696e6729207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a7369676e65722e6164645075626c69634b6579287075626c69634b65792e6465636f64654865782829290a7d0a7df8b0b8ae7b2274797065223a22537472696e67222c2276616c7565223a226638343762383430393434383861373935613037373030633666623833653036366366353764666438376639326365373063626338316362336264336665613264663762363730373362373065333662343466333537386234336436346433666161326538653431356566366332623566653433393064356137386532333835383163366534626330323033383230336538227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4f8a288f19c161bc24cf4b488a3a627d47f628e9b88b5f242e7e66684fa885195fb3af79c8425884254874588d9dcde88a6333e989923dc0188b0675bab0027d660885400e27611ddd6bf88bb4d6932cca2a849885f2ad0efdd58a89688497eb5dc445ca2f788ad190c0155a6a228881ff233dcee8f96d688fb958a01ff75960988edc1ef3266719c688809a656ef778b9cb788e6ebddabaaf4e24188028c6476bb0ee29e", - "encodedTransactionEnvelopeHex": "f90200f901fcb86e7472616e73616374696f6e287075626c69634b65793a20537472696e6729207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a7369676e65722e6164645075626c69634b6579287075626c69634b65792e6465636f64654865782829290a7d0a7df8b0b8ae7b2274797065223a22537472696e67222c2276616c7565223a226638343762383430393434383861373935613037373030633666623833653036366366353764666438376639326365373063626338316362336264336665613264663762363730373362373065333662343466333537386234336436346433666161326538653431356566366332623566653433393064356137386532333835383163366534626330323033383230336538227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4f8a288f19c161bc24cf4b488a3a627d47f628e9b88b5f242e7e66684fa885195fb3af79c8425884254874588d9dcde88a6333e989923dc0188b0675bab0027d660885400e27611ddd6bf88bb4d6932cca2a849885f2ad0efdd58a89688497eb5dc445ca2f788ad190c0155a6a228881ff233dcee8f96d688fb958a01ff75960988edc1ef3266719c688809a656ef778b9cb788e6ebddabaaf4e24188028c6476bb0ee29ec0", - "metadata": "01595c86561441b32b2b91ee03f9e10ca6efa7b41bcc994f51317ec0aa9d8f8a42416464204e6577204b6579000101507562206b65790000537472696e670003", - "hash": "595c86561441b32b2b91ee03f9e10ca6efa7b41bcc994f51317ec0aa9d8f8a42" - }, - { - "title": "Example Transaction - Invalid Payload - SCO.03 - Too Many Public Keys", - "valid": false, - "chainID": "Mainnet", - "payloadMessage": { - "script": "import FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// Registers a delegator in the staking collection resource\n/// for the specified node information and the amount of tokens to commit\n\ntransaction(id: String,\n role: UInt8,\n networkingAddress: String,\n networkingKey: String,\n stakingKey: String,\n amount: UFix64,\n publicKeys: [String]?) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n\n if let machineAccount = self.stakingCollectionRef.registerNode(\n id: id,\n role: role,\n networkingAddress: networkingAddress,\n networkingKey: networkingKey,\n stakingKey: stakingKey,\n amount: amount,\n payer: account) \n {\n if publicKeys == nil || publicKeys!.length == 0 {\n panic(\"Cannot provide zero keys for the machine account\")\n }\n for key in publicKeys! {\n machineAccount.addPublicKey(key.decodeHex())\n }\n }\n }\n}\n", - "arguments": [ - { - "type": "String", - "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" - }, - { - "type": "UInt8", - "value": "1" - }, - { - "type": "String", - "value": "flow-node.test:3569" - }, - { - "type": "String", - "value": "1348307bc77c688e80049de9d081aa09755da33e6997605fa059db2144fc85e560cbe6f7da8d74b453f5916618cb8fd392c2db856f3e78221dc68db1b1d914e4" - }, - { - "type": "String", - "value": "9e9ae0d645fd5fd9050792e0b0daa82cc1686d9133afa0f81a784b375c42ae48567d1545e7a9e1965f2c1a32f73cf8575ebb7a967f6e4d104d2df78eb8be409135d12da0499b8a00771f642c1b9c49397f22b440439f036c3bdee82f5309dab3" - }, - { - "type": "UFix64", - "value": "92233720368.54775808" - }, - { - "type": "Optional", - "value": { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164" - }, - { - "type": "String", - "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164" - }, - { - "type": "String", - "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164" - }, - { - "type": "String", - "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164" - } - ] - } - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ] - }, - "envelopeMessage": { - "script": "import FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// Registers a delegator in the staking collection resource\n/// for the specified node information and the amount of tokens to commit\n\ntransaction(id: String,\n role: UInt8,\n networkingAddress: String,\n networkingKey: String,\n stakingKey: String,\n amount: UFix64,\n publicKeys: [String]?) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n\n if let machineAccount = self.stakingCollectionRef.registerNode(\n id: id,\n role: role,\n networkingAddress: networkingAddress,\n networkingKey: networkingKey,\n stakingKey: stakingKey,\n amount: amount,\n payer: account) \n {\n if publicKeys == nil || publicKeys!.length == 0 {\n panic(\"Cannot provide zero keys for the machine account\")\n }\n for key in publicKeys! {\n machineAccount.addPublicKey(key.decodeHex())\n }\n }\n }\n}\n", - "arguments": [ - { - "type": "String", - "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" - }, - { - "type": "UInt8", - "value": "1" - }, - { - "type": "String", - "value": "flow-node.test:3569" - }, - { - "type": "String", - "value": "1348307bc77c688e80049de9d081aa09755da33e6997605fa059db2144fc85e560cbe6f7da8d74b453f5916618cb8fd392c2db856f3e78221dc68db1b1d914e4" - }, - { - "type": "String", - "value": "9e9ae0d645fd5fd9050792e0b0daa82cc1686d9133afa0f81a784b375c42ae48567d1545e7a9e1965f2c1a32f73cf8575ebb7a967f6e4d104d2df78eb8be409135d12da0499b8a00771f642c1b9c49397f22b440439f036c3bdee82f5309dab3" - }, - { - "type": "UFix64", - "value": "92233720368.54775808" - }, - { - "type": "Optional", - "value": { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164" - }, - { - "type": "String", - "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164" - }, - { - "type": "String", - "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164" - }, - { - "type": "String", - "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164" - } - ] - } - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f90ab7b90534696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f2052656769737465727320612064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e207265736f757263650a2f2f2f20666f722074686520737065636966696564206e6f646520696e666f726d6174696f6e20616e642074686520616d6f756e74206f6620746f6b656e7320746f20636f6d6d69740a0a7472616e73616374696f6e2869643a20537472696e672c0a202020202020202020202020726f6c653a2055496e74382c0a2020202020202020202020206e6574776f726b696e67416464726573733a20537472696e672c0a2020202020202020202020206e6574776f726b696e674b65793a20537472696e672c0a2020202020202020202020207374616b696e674b65793a20537472696e672c0a202020202020202020202020616d6f756e743a205546697836342c0a2020202020202020202020207075626c69634b6579733a205b537472696e675d3f29207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a0a20202020202020206966206c6574206d616368696e654163636f756e74203d2073656c662e7374616b696e67436f6c6c656374696f6e5265662e72656769737465724e6f6465280a20202020202020202020202069643a2069642c0a202020202020202020202020726f6c653a20726f6c652c0a2020202020202020202020206e6574776f726b696e67416464726573733a206e6574776f726b696e67416464726573732c0a2020202020202020202020206e6574776f726b696e674b65793a206e6574776f726b696e674b65792c0a2020202020202020202020207374616b696e674b65793a207374616b696e674b65792c0a202020202020202020202020616d6f756e743a20616d6f756e742c0a20202020202020202020202070617965723a206163636f756e7429200a20202020202020207b0a2020202020202020202020206966207075626c69634b657973203d3d206e696c207c7c207075626c69634b657973212e6c656e677468203d3d2030207b0a2020202020202020202020202020202070616e6963282243616e6e6f742070726f76696465207a65726f206b65797320666f7220746865206d616368696e65206163636f756e7422290a2020202020202020202020207d0a202020202020202020202020666f72206b657920696e207075626c69634b65797321207b0a202020202020202020202020202020206d616368696e654163636f756e742e6164645075626c69634b6579286b65792e6465636f64654865782829290a2020202020202020202020207d0a20202020202020207d0a202020207d0a7d0af9053db85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227d9c7b2274797065223a2255496e7438222c2276616c7565223a2231227daf7b2274797065223a22537472696e67222c2276616c7565223a22666c6f772d6e6f64652e746573743a33353639227db89c7b2274797065223a22537472696e67222c2276616c7565223a223133343833303762633737633638386538303034396465396430383161613039373535646133336536393937363035666130353964623231343466633835653536306362653666376461386437346234353366353931363631386362386664333932633264623835366633653738323231646336386462316231643931346534227db8dc7b2274797065223a22537472696e67222c2276616c7565223a22396539616530643634356664356664393035303739326530623064616138326363313638366439313333616661306638316137383462333735633432616534383536376431353435653761396531393635663263316133326637336366383537356562623761393637663665346431303464326466373865623862653430393133356431326461303439396238613030373731663634326331623963343933393766323262343430343339663033366333626465653832663533303964616233227db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227db902e27b2274797065223a224f7074696f6e616c222c2276616c7565223a7b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634227d2c7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634227d2c7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634227d2c7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634227d5d7d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f90abbf90ab7b90534696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f2052656769737465727320612064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e207265736f757263650a2f2f2f20666f722074686520737065636966696564206e6f646520696e666f726d6174696f6e20616e642074686520616d6f756e74206f6620746f6b656e7320746f20636f6d6d69740a0a7472616e73616374696f6e2869643a20537472696e672c0a202020202020202020202020726f6c653a2055496e74382c0a2020202020202020202020206e6574776f726b696e67416464726573733a20537472696e672c0a2020202020202020202020206e6574776f726b696e674b65793a20537472696e672c0a2020202020202020202020207374616b696e674b65793a20537472696e672c0a202020202020202020202020616d6f756e743a205546697836342c0a2020202020202020202020207075626c69634b6579733a205b537472696e675d3f29207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a0a20202020202020206966206c6574206d616368696e654163636f756e74203d2073656c662e7374616b696e67436f6c6c656374696f6e5265662e72656769737465724e6f6465280a20202020202020202020202069643a2069642c0a202020202020202020202020726f6c653a20726f6c652c0a2020202020202020202020206e6574776f726b696e67416464726573733a206e6574776f726b696e67416464726573732c0a2020202020202020202020206e6574776f726b696e674b65793a206e6574776f726b696e674b65792c0a2020202020202020202020207374616b696e674b65793a207374616b696e674b65792c0a202020202020202020202020616d6f756e743a20616d6f756e742c0a20202020202020202020202070617965723a206163636f756e7429200a20202020202020207b0a2020202020202020202020206966207075626c69634b657973203d3d206e696c207c7c207075626c69634b657973212e6c656e677468203d3d2030207b0a2020202020202020202020202020202070616e6963282243616e6e6f742070726f76696465207a65726f206b65797320666f7220746865206d616368696e65206163636f756e7422290a2020202020202020202020207d0a202020202020202020202020666f72206b657920696e207075626c69634b65797321207b0a202020202020202020202020202020206d616368696e654163636f756e742e6164645075626c69634b6579286b65792e6465636f64654865782829290a2020202020202020202020207d0a20202020202020207d0a202020207d0a7d0af9053db85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227d9c7b2274797065223a2255496e7438222c2276616c7565223a2231227daf7b2274797065223a22537472696e67222c2276616c7565223a22666c6f772d6e6f64652e746573743a33353639227db89c7b2274797065223a22537472696e67222c2276616c7565223a223133343833303762633737633638386538303034396465396430383161613039373535646133336536393937363035666130353964623231343466633835653536306362653666376461386437346234353366353931363631386362386664333932633264623835366633653738323231646336386462316231643931346534227db8dc7b2274797065223a22537472696e67222c2276616c7565223a22396539616530643634356664356664393035303739326530623064616138326363313638366439313333616661306638316137383462333735633432616534383536376431353435653761396531393635663263316133326637336366383537356562623761393637663665346431303464326466373865623862653430393133356431326461303439396238613030373731663634326331623963343933393766323262343430343339663033366333626465653832663533303964616233227db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227db902e27b2274797065223a224f7074696f6e616c222c2276616c7565223a7b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634227d2c7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634227d2c7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634227d2c7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634227d5d7d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "02f47efa834bc0559afae9a660b2efefddd0c6dc6e1bbcf9c3994e45ea9e5135ec99997236b6d76caa298331d5cef77cbdf83c1af64584ece537a780ba4ac468835265676973746572204e6f64650007014e6f64652049440000537472696e670003014e6f646520526f6c65000155496e74380003014e6574772e20416464726573730002537472696e670003014e6574772e204b65790003537472696e670003015374616b696e67204b65790004537472696e67000301416d6f756e74000555466978363400030400035075622e204b65790006537472696e670003", - "hash": "99997236b6d76caa298331d5cef77cbdf83c1af64584ece537a780ba4ac46883" - }, - { - "title": "Example Transaction - Invalid Payload - SCO.04 - Too Many Public Keys", - "valid": false, - "chainID": "Mainnet", - "payloadMessage": { - "script": "import FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// Creates a machine account for a node that is already in the staking collection\n/// and adds public keys to the new account\n\ntransaction(nodeID: String, publicKeys: [String]) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n\n if let machineAccount = self.stakingCollectionRef.createMachineAccountForExistingNode(nodeID: nodeID, payer: account) {\n if publicKeys == nil || publicKeys!.length == 0 {\n panic(\"Cannot provide zero keys for the machine account\")\n }\n for key in publicKeys! {\n machineAccount.addPublicKey(key.decodeHex())\n }\n } else {\n panic(\"Could not create a machine account for the node\")\n }\n }\n}\n", - "arguments": [ - { - "type": "String", - "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" - }, - { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164" - }, - { - "type": "String", - "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164" - }, - { - "type": "String", - "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164" - }, - { - "type": "String", - "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164" - } - ] - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ] - }, - "envelopeMessage": { - "script": "import FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// Creates a machine account for a node that is already in the staking collection\n/// and adds public keys to the new account\n\ntransaction(nodeID: String, publicKeys: [String]) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n\n if let machineAccount = self.stakingCollectionRef.createMachineAccountForExistingNode(nodeID: nodeID, payer: account) {\n if publicKeys == nil || publicKeys!.length == 0 {\n panic(\"Cannot provide zero keys for the machine account\")\n }\n for key in publicKeys! {\n machineAccount.addPublicKey(key.decodeHex())\n }\n } else {\n panic(\"Could not create a machine account for the node\")\n }\n }\n}\n", - "arguments": [ - { - "type": "String", - "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" - }, - { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164" - }, - { - "type": "String", - "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164" - }, - { - "type": "String", - "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164" - }, - { - "type": "String", - "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164" - } - ] - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f90790b90423696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f20437265617465732061206d616368696e65206163636f756e7420666f722061206e6f6465207468617420697320616c726561647920696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f20616e642061646473207075626c6963206b65797320746f20746865206e6577206163636f756e740a0a7472616e73616374696f6e286e6f646549443a20537472696e672c207075626c69634b6579733a205b537472696e675d29207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a0a20202020202020206966206c6574206d616368696e654163636f756e74203d2073656c662e7374616b696e67436f6c6c656374696f6e5265662e6372656174654d616368696e654163636f756e74466f724578697374696e674e6f6465286e6f646549443a206e6f646549442c2070617965723a206163636f756e7429207b0a2020202020202020202020206966207075626c69634b657973203d3d206e696c207c7c207075626c69634b657973212e6c656e677468203d3d2030207b0a2020202020202020202020202020202070616e6963282243616e6e6f742070726f76696465207a65726f206b65797320666f7220746865206d616368696e65206163636f756e7422290a2020202020202020202020207d0a202020202020202020202020666f72206b657920696e207075626c69634b65797321207b0a202020202020202020202020202020206d616368696e654163636f756e742e6164645075626c69634b6579286b65792e6465636f64654865782829290a2020202020202020202020207d0a20202020202020207d20656c7365207b0a20202020202020202020202070616e69632822436f756c64206e6f74206372656174652061206d616368696e65206163636f756e7420666f7220746865206e6f646522290a20202020202020207d0a202020207d0a7d0af90327b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db902c67b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634227d2c7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634227d2c7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634227d2c7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634227d5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f90794f90790b90423696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f20437265617465732061206d616368696e65206163636f756e7420666f722061206e6f6465207468617420697320616c726561647920696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f20616e642061646473207075626c6963206b65797320746f20746865206e6577206163636f756e740a0a7472616e73616374696f6e286e6f646549443a20537472696e672c207075626c69634b6579733a205b537472696e675d29207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a0a20202020202020206966206c6574206d616368696e654163636f756e74203d2073656c662e7374616b696e67436f6c6c656374696f6e5265662e6372656174654d616368696e654163636f756e74466f724578697374696e674e6f6465286e6f646549443a206e6f646549442c2070617965723a206163636f756e7429207b0a2020202020202020202020206966207075626c69634b657973203d3d206e696c207c7c207075626c69634b657973212e6c656e677468203d3d2030207b0a2020202020202020202020202020202070616e6963282243616e6e6f742070726f76696465207a65726f206b65797320666f7220746865206d616368696e65206163636f756e7422290a2020202020202020202020207d0a202020202020202020202020666f72206b657920696e207075626c69634b65797321207b0a202020202020202020202020202020206d616368696e654163636f756e742e6164645075626c69634b6579286b65792e6465636f64654865782829290a2020202020202020202020207d0a20202020202020207d20656c7365207b0a20202020202020202020202070616e69632822436f756c64206e6f74206372656174652061206d616368696e65206163636f756e7420666f7220746865206e6f646522290a20202020202020207d0a202020207d0a7d0af90327b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db902c67b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634227d2c7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634227d2c7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634227d2c7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634227d5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "02e79df145af42488e3da1d1b2e50a38a2084229896d670884f278a2119dc3bf9ec2442b498eea025099815ea613d6407407192dc12ad70e1a4f47936db804a841437265617465204d616368696e65204163636f756e740002014e6f64652049440000537472696e6700030300035075622e204b65790001537472696e670003", - "hash": "c2442b498eea025099815ea613d6407407192dc12ad70e1a4f47936db804a841" - }, - { - "title": "Example Transaction - Invalid Payload - Create Account - Too Many Public Keys", - "valid": false, - "chainID": "Mainnet", - "payloadMessage": { - "script": "transaction(publicKeys: [String]) {\nprepare(signer: AuthAccount) {\nlet acct = AuthAccount(payer: signer)\nfor key in publicKeys {\nacct.addPublicKey(key.decodeHex())\n}\n}\n}", - "arguments": [ - { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164" - }, - { - "type": "String", - "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164" - }, - { - "type": "String", - "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164" - }, - { - "type": "String", - "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164" - }, - { - "type": "String", - "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164" - }, - { - "type": "String", - "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164" - } - ] - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ] - }, - "envelopeMessage": { - "script": "transaction(publicKeys: [String]) {\nprepare(signer: AuthAccount) {\nlet acct = AuthAccount(payer: signer)\nfor key in publicKeys {\nacct.addPublicKey(key.decodeHex())\n}\n}\n}", - "arguments": [ - { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164" - }, - { - "type": "String", - "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164" - }, - { - "type": "String", - "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164" - }, - { - "type": "String", - "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164" - }, - { - "type": "String", - "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164" - }, - { - "type": "String", - "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164" - } - ] - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f9050db8a97472616e73616374696f6e287075626c69634b6579733a205b537472696e675d29207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a6c65742061636374203d20417574684163636f756e742870617965723a207369676e6572290a666f72206b657920696e207075626c69634b657973207b0a616363742e6164645075626c69634b6579286b65792e6465636f64654865782829290a7d0a7d0a7df9041fb9041c7b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634227d2c7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634227d2c7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634227d2c7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634227d2c7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634227d2c7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634227d5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f90511f9050db8a97472616e73616374696f6e287075626c69634b6579733a205b537472696e675d29207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a6c65742061636374203d20417574684163636f756e742870617965723a207369676e6572290a666f72206b657920696e207075626c69634b657973207b0a616363742e6164645075626c69634b6579286b65792e6465636f64654865782829290a7d0a7d0a7df9041fb9041c7b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634227d2c7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634227d2c7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634227d2c7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634227d2c7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634227d2c7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634227d5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "01eef2d0494448554177612e63026256258339230cbc6931ded78d6149443c6173437265617465204163636f756e740001030105507562206b65790000537472696e670003", - "hash": "eef2d0494448554177612e63026256258339230cbc6931ded78d6149443c6173" - } -] \ No newline at end of file diff --git a/transaction_metadata/testvectors/manifestEnvelopeCases.json b/transaction_metadata/testvectors/manifestEnvelopeCases.json index 8b6afd39..d86317ea 100644 --- a/transaction_metadata/testvectors/manifestEnvelopeCases.json +++ b/transaction_metadata/testvectors/manifestEnvelopeCases.json @@ -1,71 +1,26 @@ [ { - "title": "TH.01 - Withdraw Unlocked FLOW", + "title": "FA.01 - Create Account", "valid": true, "chainID": "Testnet", "payloadMessage": { - "script": "import FungibleToken from 0x9a0766d93b6608b7\nimport FlowToken from 0x7e60df042a9c0868\nimport LockedTokens from 0x95e019a17d0e23d7\n\ntransaction(amount: UFix64) {\n\n let holderRef: &LockedTokens.TokenHolder\n let vaultRef: &FlowToken.Vault\n\n prepare(acct: AuthAccount) {\n self.holderRef = acct.borrow<&LockedTokens.TokenHolder>(from: LockedTokens.TokenHolderStoragePath)\n ?? panic(\"Could not borrow a reference to TokenHolder\")\n\n self.vaultRef = acct.borrow<&FlowToken.Vault>(from: /storage/flowTokenVault)\n ?? panic(\"Could not borrow flow token vault ref\")\n }\n\n execute {\n self.vaultRef.deposit(from: <-self.holderRef.withdraw(amount: amount))\n }\n}\n", + "script": "import Crypto\n\ntransaction(key: String, signatureAlgorithm: UInt8, hashAlgorithm: UInt8, weight: UFix64) {\n\tprepare(signer: auth(BorrowValue, Storage) &Account) {\n\t\tpre {\n\t\t\tsignatureAlgorithm >= 1 && signatureAlgorithm <= 3: \"Must provide a signature algoritm raw value that is 1, 2, or 3\"\n\t\t\thashAlgorithm >= 1 && hashAlgorithm <= 6: \"Must provide a hash algoritm raw value that is between 1 and 6\"\n\t\t\tweight <= 1000.0: \"The key weight must be between 0 and 1000\"\n\t\t}\n\n\t\tlet publicKey = PublicKey(\n\t\t\tpublicKey: key.decodeHex(),\n\t\t\tsignatureAlgorithm: SignatureAlgorithm(rawValue: signatureAlgorithm)!\n\t\t)\n\n\t\tlet account = Account(payer: signer)\n\n\t\taccount.keys.add(publicKey: publicKey, hashAlgorithm: HashAlgorithm(rawValue: hashAlgorithm)!, weight: weight)\n\t}\n}", "arguments": [ { - "type": "UFix64", - "value": "92233720368.54775808" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "99a8ac2c71d4f6bd", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "99a8ac2c71d4f6bd", - "authorizers": [ - "99a8ac2c71d4f6bd" - ], - "payloadSigs": [ + "type": "String", + "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164" + }, { - "address": "99a8ac2c71d4f6bd", - "keyId": 4, - "sig": "f7225388c1d69d57e6251c9fda50cbbf9e05131e5adb81e5aa0422402f048162" - } - ] - }, - "envelopeMessage": { - "script": "import FungibleToken from 0x9a0766d93b6608b7\nimport FlowToken from 0x7e60df042a9c0868\nimport LockedTokens from 0x95e019a17d0e23d7\n\ntransaction(amount: UFix64) {\n\n let holderRef: &LockedTokens.TokenHolder\n let vaultRef: &FlowToken.Vault\n\n prepare(acct: AuthAccount) {\n self.holderRef = acct.borrow<&LockedTokens.TokenHolder>(from: LockedTokens.TokenHolderStoragePath)\n ?? panic(\"Could not borrow a reference to TokenHolder\")\n\n self.vaultRef = acct.borrow<&FlowToken.Vault>(from: /storage/flowTokenVault)\n ?? panic(\"Could not borrow flow token vault ref\")\n }\n\n execute {\n self.vaultRef.deposit(from: <-self.holderRef.withdraw(amount: amount))\n }\n}\n", - "arguments": [ + "value": "1", + "type": "UInt8" + }, { - "type": "UFix64", - "value": "92233720368.54775808" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "99a8ac2c71d4f6bd", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "99a8ac2c71d4f6bd", - "authorizers": [ - "99a8ac2c71d4f6bd" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f90338b902c3696d706f72742046756e6769626c65546f6b656e2066726f6d203078396130373636643933623636303862370a696d706f727420466c6f77546f6b656e2066726f6d203078376536306466303432613963303836380a696d706f7274204c6f636b6564546f6b656e732066726f6d203078393565303139613137643065323364370a0a7472616e73616374696f6e28616d6f756e743a2055466978363429207b0a0a202020206c657420686f6c6465725265663a20264c6f636b6564546f6b656e732e546f6b656e486f6c6465720a202020206c6574207661756c745265663a2026466c6f77546f6b656e2e5661756c740a0a202020207072657061726528616363743a20417574684163636f756e7429207b0a202020202020202073656c662e686f6c646572526566203d20616363742e626f72726f773c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f20546f6b656e486f6c64657222290a0a202020202020202073656c662e7661756c74526566203d20616363742e626f72726f773c26466c6f77546f6b656e2e5661756c743e2866726f6d3a202f73746f726167652f666c6f77546f6b656e5661756c74290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f7720666c6f7720746f6b656e207661756c742072656622290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7661756c745265662e6465706f7369742866726f6d3a203c2d73656c662e686f6c6465725265662e776974686472617728616d6f756e743a20616d6f756e7429290a202020207d0a7d0af1b07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", - "encodedTransactionEnvelopeHex": "f9033cf90338b902c3696d706f72742046756e6769626c65546f6b656e2066726f6d203078396130373636643933623636303862370a696d706f727420466c6f77546f6b656e2066726f6d203078376536306466303432613963303836380a696d706f7274204c6f636b6564546f6b656e732066726f6d203078393565303139613137643065323364370a0a7472616e73616374696f6e28616d6f756e743a2055466978363429207b0a0a202020206c657420686f6c6465725265663a20264c6f636b6564546f6b656e732e546f6b656e486f6c6465720a202020206c6574207661756c745265663a2026466c6f77546f6b656e2e5661756c740a0a202020207072657061726528616363743a20417574684163636f756e7429207b0a202020202020202073656c662e686f6c646572526566203d20616363742e626f72726f773c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f20546f6b656e486f6c64657222290a0a202020202020202073656c662e7661756c74526566203d20616363742e626f72726f773c26466c6f77546f6b656e2e5661756c743e2866726f6d3a202f73746f726167652f666c6f77546f6b656e5661756c74290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f7720666c6f7720746f6b656e207661756c742072656622290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7661756c745265662e6465706f7369742866726f6d3a203c2d73656c662e686f6c6465725265662e776974686472617728616d6f756e743a20616d6f756e7429290a202020207d0a7d0af1b07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", - "metadata": "026e73db6edd0190f5311f6adc5f2b1f27e9e60c68574b00ee90da867da52cdbb1a2146e3e6e7718779ce59376b88760c154d82b7d132fe2c377114ec7cf434e7b576974686472617720556e6c6f636b656420464c4f57000101416d6f756e7400005546697836340003", - "hash": "6e73db6edd0190f5311f6adc5f2b1f27e9e60c68574b00ee90da867da52cdbb1" - }, - { - "title": "TH.02 - Deposit Unlocked FLOW", - "valid": true, - "chainID": "Testnet", - "payloadMessage": { - "script": "import FungibleToken from 0x9a0766d93b6608b7\nimport FlowToken from 0x7e60df042a9c0868\nimport LockedTokens from 0x95e019a17d0e23d7\n\ntransaction(amount: UFix64) {\n\n let holderRef: &LockedTokens.TokenHolder\n let vaultRef: &FlowToken.Vault\n\n prepare(acct: AuthAccount) {\n self.holderRef = acct.borrow<&LockedTokens.TokenHolder>(from: LockedTokens.TokenHolderStoragePath)\n ?? panic(\"Could not borrow a reference to TokenHolder\")\n\n self.vaultRef = acct.borrow<&FlowToken.Vault>(from: /storage/flowTokenVault)\n ?? panic(\"Could not borrow flow token vault ref\")\n }\n\n execute {\n self.holderRef.deposit(from: <-self.vaultRef.withdraw(amount: amount))\n }\n}\n", - "arguments": [ + "value": "1", + "type": "UInt8" + }, { - "type": "UFix64", - "value": "92233720368.54775808" + "value": "1000.00000000", + "type": "UFix64" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -88,11 +43,23 @@ ] }, "envelopeMessage": { - "script": "import FungibleToken from 0x9a0766d93b6608b7\nimport FlowToken from 0x7e60df042a9c0868\nimport LockedTokens from 0x95e019a17d0e23d7\n\ntransaction(amount: UFix64) {\n\n let holderRef: &LockedTokens.TokenHolder\n let vaultRef: &FlowToken.Vault\n\n prepare(acct: AuthAccount) {\n self.holderRef = acct.borrow<&LockedTokens.TokenHolder>(from: LockedTokens.TokenHolderStoragePath)\n ?? panic(\"Could not borrow a reference to TokenHolder\")\n\n self.vaultRef = acct.borrow<&FlowToken.Vault>(from: /storage/flowTokenVault)\n ?? panic(\"Could not borrow flow token vault ref\")\n }\n\n execute {\n self.holderRef.deposit(from: <-self.vaultRef.withdraw(amount: amount))\n }\n}\n", + "script": "import Crypto\n\ntransaction(key: String, signatureAlgorithm: UInt8, hashAlgorithm: UInt8, weight: UFix64) {\n\tprepare(signer: auth(BorrowValue, Storage) &Account) {\n\t\tpre {\n\t\t\tsignatureAlgorithm >= 1 && signatureAlgorithm <= 3: \"Must provide a signature algoritm raw value that is 1, 2, or 3\"\n\t\t\thashAlgorithm >= 1 && hashAlgorithm <= 6: \"Must provide a hash algoritm raw value that is between 1 and 6\"\n\t\t\tweight <= 1000.0: \"The key weight must be between 0 and 1000\"\n\t\t}\n\n\t\tlet publicKey = PublicKey(\n\t\t\tpublicKey: key.decodeHex(),\n\t\t\tsignatureAlgorithm: SignatureAlgorithm(rawValue: signatureAlgorithm)!\n\t\t)\n\n\t\tlet account = Account(payer: signer)\n\n\t\taccount.keys.add(publicKey: publicKey, hashAlgorithm: HashAlgorithm(rawValue: hashAlgorithm)!, weight: weight)\n\t}\n}", "arguments": [ { - "type": "UFix64", - "value": "92233720368.54775808" + "type": "String", + "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164" + }, + { + "value": "1", + "type": "UInt8" + }, + { + "value": "1", + "type": "UInt8" + }, + { + "value": "1000.00000000", + "type": "UFix64" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -108,41 +75,33 @@ ], "payloadSigs": [] }, - "encodedTransactionPayloadHex": "f90338b902c3696d706f72742046756e6769626c65546f6b656e2066726f6d203078396130373636643933623636303862370a696d706f727420466c6f77546f6b656e2066726f6d203078376536306466303432613963303836380a696d706f7274204c6f636b6564546f6b656e732066726f6d203078393565303139613137643065323364370a0a7472616e73616374696f6e28616d6f756e743a2055466978363429207b0a0a202020206c657420686f6c6465725265663a20264c6f636b6564546f6b656e732e546f6b656e486f6c6465720a202020206c6574207661756c745265663a2026466c6f77546f6b656e2e5661756c740a0a202020207072657061726528616363743a20417574684163636f756e7429207b0a202020202020202073656c662e686f6c646572526566203d20616363742e626f72726f773c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f20546f6b656e486f6c64657222290a0a202020202020202073656c662e7661756c74526566203d20616363742e626f72726f773c26466c6f77546f6b656e2e5661756c743e2866726f6d3a202f73746f726167652f666c6f77546f6b656e5661756c74290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f7720666c6f7720746f6b656e207661756c742072656622290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e686f6c6465725265662e6465706f7369742866726f6d3a203c2d73656c662e7661756c745265662e776974686472617728616d6f756e743a20616d6f756e7429290a202020207d0a7d0af1b07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", - "encodedTransactionEnvelopeHex": "f9033cf90338b902c3696d706f72742046756e6769626c65546f6b656e2066726f6d203078396130373636643933623636303862370a696d706f727420466c6f77546f6b656e2066726f6d203078376536306466303432613963303836380a696d706f7274204c6f636b6564546f6b656e732066726f6d203078393565303139613137643065323364370a0a7472616e73616374696f6e28616d6f756e743a2055466978363429207b0a0a202020206c657420686f6c6465725265663a20264c6f636b6564546f6b656e732e546f6b656e486f6c6465720a202020206c6574207661756c745265663a2026466c6f77546f6b656e2e5661756c740a0a202020207072657061726528616363743a20417574684163636f756e7429207b0a202020202020202073656c662e686f6c646572526566203d20616363742e626f72726f773c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f20546f6b656e486f6c64657222290a0a202020202020202073656c662e7661756c74526566203d20616363742e626f72726f773c26466c6f77546f6b656e2e5661756c743e2866726f6d3a202f73746f726167652f666c6f77546f6b656e5661756c74290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f7720666c6f7720746f6b656e207661756c742072656622290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e686f6c6465725265662e6465706f7369742866726f6d3a203c2d73656c662e7661756c745265662e776974686472617728616d6f756e743a20616d6f756e7429290a202020207d0a7d0af1b07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", - "metadata": "020cb11c10b86d2afeae086ef511d28b14760eb854935a0b0dcfeecc85db847f4874355dc8df221bc0d170b2fe8deacd6f1f554d6beea58ad9fee7a07f740eaefe4465706f73697420556e6c6f636b656420464c4f57000101416d6f756e7400005546697836340003", - "hash": "0cb11c10b86d2afeae086ef511d28b14760eb854935a0b0dcfeecc85db847f48" + "encodedTransactionPayloadHex": "f90454b902fe696d706f72742043727970746f0a0a7472616e73616374696f6e286b65793a20537472696e672c207369676e6174757265416c676f726974686d3a2055496e74382c2068617368416c676f726974686d3a2055496e74382c207765696768743a2055466978363429207b0a0970726570617265287369676e65723a206175746828426f72726f7756616c75652c2053746f726167652920264163636f756e7429207b0a0909707265207b0a0909097369676e6174757265416c676f726974686d203e3d2031202626207369676e6174757265416c676f726974686d203c3d20333a20224d7573742070726f766964652061207369676e617475726520616c676f7269746d207261772076616c7565207468617420697320312c20322c206f722033220a09090968617368416c676f726974686d203e3d20312026262068617368416c676f726974686d203c3d20363a20224d7573742070726f766964652061206861736820616c676f7269746d207261772076616c75652074686174206973206265747765656e203120616e642036220a090909776569676874203c3d20313030302e303a2022546865206b657920776569676874206d757374206265206265747765656e203020616e642031303030220a09097d0a0a09096c6574207075626c69634b6579203d205075626c69634b6579280a0909097075626c69634b65793a206b65792e6465636f646548657828292c0a0909097369676e6174757265416c676f726974686d3a205369676e6174757265416c676f726974686d2872617756616c75653a207369676e6174757265416c676f726974686d29210a0909290a0a09096c6574206163636f756e74203d204163636f756e742870617965723a207369676e6572290a0a09096163636f756e742e6b6579732e616464287075626c69634b65793a207075626c69634b65792c2068617368416c676f726974686d3a2048617368416c676f726974686d2872617756616c75653a2068617368416c676f726974686d29212c207765696768743a20776569676874290a097d0a7df90110b8aa7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634227d9c7b2276616c7565223a2231222c2274797065223a2255496e7438227d9c7b2276616c7565223a2231222c2274797065223a2255496e7438227da97b2276616c7565223a22313030302e3030303030303030222c2274797065223a22554669783634227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", + "encodedTransactionEnvelopeHex": "f90458f90454b902fe696d706f72742043727970746f0a0a7472616e73616374696f6e286b65793a20537472696e672c207369676e6174757265416c676f726974686d3a2055496e74382c2068617368416c676f726974686d3a2055496e74382c207765696768743a2055466978363429207b0a0970726570617265287369676e65723a206175746828426f72726f7756616c75652c2053746f726167652920264163636f756e7429207b0a0909707265207b0a0909097369676e6174757265416c676f726974686d203e3d2031202626207369676e6174757265416c676f726974686d203c3d20333a20224d7573742070726f766964652061207369676e617475726520616c676f7269746d207261772076616c7565207468617420697320312c20322c206f722033220a09090968617368416c676f726974686d203e3d20312026262068617368416c676f726974686d203c3d20363a20224d7573742070726f766964652061206861736820616c676f7269746d207261772076616c75652074686174206973206265747765656e203120616e642036220a090909776569676874203c3d20313030302e303a2022546865206b657920776569676874206d757374206265206265747765656e203020616e642031303030220a09097d0a0a09096c6574207075626c69634b6579203d205075626c69634b6579280a0909097075626c69634b65793a206b65792e6465636f646548657828292c0a0909097369676e6174757265416c676f726974686d3a205369676e6174757265416c676f726974686d2872617756616c75653a207369676e6174757265416c676f726974686d29210a0909290a0a09096c6574206163636f756e74203d204163636f756e742870617965723a207369676e6572290a0a09096163636f756e742e6b6579732e616464287075626c69634b65793a207075626c69634b65792c2068617368416c676f726974686d3a2048617368416c676f726974686d2872617756616c75653a2068617368416c676f726974686d29212c207765696768743a20776569676874290a097d0a7df90110b8aa7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634227d9c7b2276616c7565223a2231222c2274797065223a2255496e7438227d9c7b2276616c7565223a2231222c2274797065223a2255496e7438227da97b2276616c7565223a22313030302e3030303030303030222c2274797065223a22554669783634227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", + "metadata": "0263d8b6a045bf8e6196198184db685c2cf22932503ccb2dcb85c7d2dc04c882ba63d8b6a045bf8e6196198184db685c2cf22932503ccb2dcb85c7d2dc04c882ba437265617465204163636f756e740004015075626c6963204b65790000537472696e670003015261772056616c756520666f72205369676e617475726520416c676f726974686d20456e756d000155496e74380003015261772056616c756520666f72204861736820416c676f726974686d20456e756d000255496e74380003014b65792057656967687400035546697836340003", + "hash": "63d8b6a045bf8e6196198184db685c2cf22932503ccb2dcb85c7d2dc04c882ba" }, { - "title": "TH.06 - Register Node", + "title": "FA.02 - Add Key", "valid": true, "chainID": "Testnet", "payloadMessage": { - "script": "import FlowToken from 0x7e60df042a9c0868\nimport LockedTokens from 0x95e019a17d0e23d7\nimport StakingProxy from 0x7aad92e5a0715d21\n\ntransaction(id: String, role: UInt8, networkingAddress: String, networkingKey: String, stakingKey: String, amount: UFix64) {\n\n let holderRef: &LockedTokens.TokenHolder\n\n let vaultRef: &FlowToken.Vault\n\n prepare(account: AuthAccount) {\n self.holderRef = account.borrow<&LockedTokens.TokenHolder>(from: LockedTokens.TokenHolderStoragePath)\n ?? panic(\"Could not borrow ref to TokenHolder\")\n\n self.vaultRef = account.borrow<&FlowToken.Vault>(from: /storage/flowTokenVault)\n ?? panic(\"Could not borrow flow token vault reference\")\n }\n\n execute {\n let nodeInfo = StakingProxy.NodeInfo(id: id, role: role, networkingAddress: networkingAddress, networkingKey: networkingKey, stakingKey: stakingKey)\n\n let lockedBalance = self.holderRef.getLockedAccountBalance()\n\n if amount <= lockedBalance {\n\n self.holderRef.createNodeStaker(nodeInfo: nodeInfo, amount: amount)\n\n } else if ((amount - lockedBalance) <= self.vaultRef.balance) {\n\n self.holderRef.deposit(from: <-self.vaultRef.withdraw(amount: amount - lockedBalance))\n\n self.holderRef.createNodeStaker(nodeInfo: nodeInfo, amount: amount)\n\n } else {\n panic(\"Not enough tokens to stake!\")\n }\n \n }\n}\n", + "script": "import Crypto\n\ntransaction(key: String, signatureAlgorithm: UInt8, hashAlgorithm: UInt8, weight: UFix64) {\n\n\tprepare(signer: auth(AddKey) &Account) {\n\t\tpre {\n\t\t\tsignatureAlgorithm >= 1 && signatureAlgorithm <= 3: \"Must provide a signature algoritm raw value that is 1, 2, or 3\"\n\t\t\thashAlgorithm >= 1 && hashAlgorithm <= 6: \"Must provide a hash algoritm raw value that is between 1 and 6\"\n\t\t\tweight <= 1000.0: \"The key weight must be between 0 and 1000\"\n\t\t}\n\t\tlet publicKey = PublicKey(\n\t\t\tpublicKey: key.decodeHex(),\n\t\t\tsignatureAlgorithm: SignatureAlgorithm(rawValue: signatureAlgorithm)!\n\t\t)\n\n\t\tsigner.keys.add(publicKey: publicKey, hashAlgorithm: HashAlgorithm(rawValue: hashAlgorithm)!, weight: weight)\n\t}\n}", "arguments": [ { "type": "String", - "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" - }, - { - "type": "UInt8", - "value": "1" + "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164" }, { - "type": "String", - "value": "flow-node.test:3569" - }, - { - "type": "String", - "value": "1348307bc77c688e80049de9d081aa09755da33e6997605fa059db2144fc85e560cbe6f7da8d74b453f5916618cb8fd392c2db856f3e78221dc68db1b1d914e4" + "value": "1", + "type": "UInt8" }, { - "type": "String", - "value": "9e9ae0d645fd5fd9050792e0b0daa82cc1686d9133afa0f81a784b375c42ae48567d1545e7a9e1965f2c1a32f73cf8575ebb7a967f6e4d104d2df78eb8be409135d12da0499b8a00771f642c1b9c49397f22b440439f036c3bdee82f5309dab3" + "value": "1", + "type": "UInt8" }, { - "type": "UFix64", - "value": "92233720368.54775808" + "value": "1000.00000000", + "type": "UFix64" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -165,31 +124,23 @@ ] }, "envelopeMessage": { - "script": "import FlowToken from 0x7e60df042a9c0868\nimport LockedTokens from 0x95e019a17d0e23d7\nimport StakingProxy from 0x7aad92e5a0715d21\n\ntransaction(id: String, role: UInt8, networkingAddress: String, networkingKey: String, stakingKey: String, amount: UFix64) {\n\n let holderRef: &LockedTokens.TokenHolder\n\n let vaultRef: &FlowToken.Vault\n\n prepare(account: AuthAccount) {\n self.holderRef = account.borrow<&LockedTokens.TokenHolder>(from: LockedTokens.TokenHolderStoragePath)\n ?? panic(\"Could not borrow ref to TokenHolder\")\n\n self.vaultRef = account.borrow<&FlowToken.Vault>(from: /storage/flowTokenVault)\n ?? panic(\"Could not borrow flow token vault reference\")\n }\n\n execute {\n let nodeInfo = StakingProxy.NodeInfo(id: id, role: role, networkingAddress: networkingAddress, networkingKey: networkingKey, stakingKey: stakingKey)\n\n let lockedBalance = self.holderRef.getLockedAccountBalance()\n\n if amount <= lockedBalance {\n\n self.holderRef.createNodeStaker(nodeInfo: nodeInfo, amount: amount)\n\n } else if ((amount - lockedBalance) <= self.vaultRef.balance) {\n\n self.holderRef.deposit(from: <-self.vaultRef.withdraw(amount: amount - lockedBalance))\n\n self.holderRef.createNodeStaker(nodeInfo: nodeInfo, amount: amount)\n\n } else {\n panic(\"Not enough tokens to stake!\")\n }\n \n }\n}\n", + "script": "import Crypto\n\ntransaction(key: String, signatureAlgorithm: UInt8, hashAlgorithm: UInt8, weight: UFix64) {\n\n\tprepare(signer: auth(AddKey) &Account) {\n\t\tpre {\n\t\t\tsignatureAlgorithm >= 1 && signatureAlgorithm <= 3: \"Must provide a signature algoritm raw value that is 1, 2, or 3\"\n\t\t\thashAlgorithm >= 1 && hashAlgorithm <= 6: \"Must provide a hash algoritm raw value that is between 1 and 6\"\n\t\t\tweight <= 1000.0: \"The key weight must be between 0 and 1000\"\n\t\t}\n\t\tlet publicKey = PublicKey(\n\t\t\tpublicKey: key.decodeHex(),\n\t\t\tsignatureAlgorithm: SignatureAlgorithm(rawValue: signatureAlgorithm)!\n\t\t)\n\n\t\tsigner.keys.add(publicKey: publicKey, hashAlgorithm: HashAlgorithm(rawValue: hashAlgorithm)!, weight: weight)\n\t}\n}", "arguments": [ { "type": "String", - "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" - }, - { - "type": "UInt8", - "value": "1" - }, - { - "type": "String", - "value": "flow-node.test:3569" + "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164" }, { - "type": "String", - "value": "1348307bc77c688e80049de9d081aa09755da33e6997605fa059db2144fc85e560cbe6f7da8d74b453f5916618cb8fd392c2db856f3e78221dc68db1b1d914e4" + "value": "1", + "type": "UInt8" }, { - "type": "String", - "value": "9e9ae0d645fd5fd9050792e0b0daa82cc1686d9133afa0f81a784b375c42ae48567d1545e7a9e1965f2c1a32f73cf8575ebb7a967f6e4d104d2df78eb8be409135d12da0499b8a00771f642c1b9c49397f22b440439f036c3bdee82f5309dab3" + "value": "1", + "type": "UInt8" }, { - "type": "UFix64", - "value": "92233720368.54775808" + "value": "1000.00000000", + "type": "UFix64" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -205,21 +156,21 @@ ], "payloadSigs": [] }, - "encodedTransactionPayloadHex": "f90826b90588696d706f727420466c6f77546f6b656e2066726f6d203078376536306466303432613963303836380a696d706f7274204c6f636b6564546f6b656e732066726f6d203078393565303139613137643065323364370a696d706f7274205374616b696e6750726f78792066726f6d203078376161643932653561303731356432310a0a7472616e73616374696f6e2869643a20537472696e672c20726f6c653a2055496e74382c206e6574776f726b696e67416464726573733a20537472696e672c206e6574776f726b696e674b65793a20537472696e672c207374616b696e674b65793a20537472696e672c20616d6f756e743a2055466978363429207b0a0a202020206c657420686f6c6465725265663a20264c6f636b6564546f6b656e732e546f6b656e486f6c6465720a0a202020206c6574207661756c745265663a2026466c6f77546f6b656e2e5661756c740a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e686f6c646572526566203d206163636f756e742e626f72726f773c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f20546f6b656e486f6c64657222290a0a202020202020202073656c662e7661756c74526566203d206163636f756e742e626f72726f773c26466c6f77546f6b656e2e5661756c743e2866726f6d3a202f73746f726167652f666c6f77546f6b656e5661756c74290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f7720666c6f7720746f6b656e207661756c74207265666572656e636522290a202020207d0a0a2020202065786563757465207b0a20202020202020206c6574206e6f6465496e666f203d205374616b696e6750726f78792e4e6f6465496e666f2869643a2069642c20726f6c653a20726f6c652c206e6574776f726b696e67416464726573733a206e6574776f726b696e67416464726573732c206e6574776f726b696e674b65793a206e6574776f726b696e674b65792c207374616b696e674b65793a207374616b696e674b6579290a0a20202020202020206c6574206c6f636b656442616c616e6365203d2073656c662e686f6c6465725265662e6765744c6f636b65644163636f756e7442616c616e636528290a0a2020202020202020696620616d6f756e74203c3d206c6f636b656442616c616e6365207b0a0a20202020202020202020202073656c662e686f6c6465725265662e6372656174654e6f64655374616b6572286e6f6465496e666f3a206e6f6465496e666f2c20616d6f756e743a20616d6f756e74290a0a20202020202020207d20656c7365206966202828616d6f756e74202d206c6f636b656442616c616e636529203c3d2073656c662e7661756c745265662e62616c616e636529207b0a0a20202020202020202020202073656c662e686f6c6465725265662e6465706f7369742866726f6d3a203c2d73656c662e7661756c745265662e776974686472617728616d6f756e743a20616d6f756e74202d206c6f636b656442616c616e636529290a0a20202020202020202020202073656c662e686f6c6465725265662e6372656174654e6f64655374616b6572286e6f6465496e666f3a206e6f6465496e666f2c20616d6f756e743a20616d6f756e74290a0a20202020202020207d20656c7365207b0a20202020202020202020202070616e696328224e6f7420656e6f75676820746f6b656e7320746f207374616b652122290a20202020202020207d0a20202020202020200a202020207d0a7d0af90258b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227d9c7b2274797065223a2255496e7438222c2276616c7565223a2231227daf7b2274797065223a22537472696e67222c2276616c7565223a22666c6f772d6e6f64652e746573743a33353639227db89c7b2274797065223a22537472696e67222c2276616c7565223a223133343833303762633737633638386538303034396465396430383161613039373535646133336536393937363035666130353964623231343466633835653536306362653666376461386437346234353366353931363631386362386664333932633264623835366633653738323231646336386462316231643931346534227db8dc7b2274797065223a22537472696e67222c2276616c7565223a22396539616530643634356664356664393035303739326530623064616138326363313638366439313333616661306638316137383462333735633432616534383536376431353435653761396531393635663263316133326637336366383537356562623761393637663665346431303464326466373865623862653430393133356431326461303439396238613030373731663634326331623963343933393766323262343430343339663033366333626465653832663533303964616233227db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", - "encodedTransactionEnvelopeHex": "f9082af90826b90588696d706f727420466c6f77546f6b656e2066726f6d203078376536306466303432613963303836380a696d706f7274204c6f636b6564546f6b656e732066726f6d203078393565303139613137643065323364370a696d706f7274205374616b696e6750726f78792066726f6d203078376161643932653561303731356432310a0a7472616e73616374696f6e2869643a20537472696e672c20726f6c653a2055496e74382c206e6574776f726b696e67416464726573733a20537472696e672c206e6574776f726b696e674b65793a20537472696e672c207374616b696e674b65793a20537472696e672c20616d6f756e743a2055466978363429207b0a0a202020206c657420686f6c6465725265663a20264c6f636b6564546f6b656e732e546f6b656e486f6c6465720a0a202020206c6574207661756c745265663a2026466c6f77546f6b656e2e5661756c740a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e686f6c646572526566203d206163636f756e742e626f72726f773c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f20546f6b656e486f6c64657222290a0a202020202020202073656c662e7661756c74526566203d206163636f756e742e626f72726f773c26466c6f77546f6b656e2e5661756c743e2866726f6d3a202f73746f726167652f666c6f77546f6b656e5661756c74290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f7720666c6f7720746f6b656e207661756c74207265666572656e636522290a202020207d0a0a2020202065786563757465207b0a20202020202020206c6574206e6f6465496e666f203d205374616b696e6750726f78792e4e6f6465496e666f2869643a2069642c20726f6c653a20726f6c652c206e6574776f726b696e67416464726573733a206e6574776f726b696e67416464726573732c206e6574776f726b696e674b65793a206e6574776f726b696e674b65792c207374616b696e674b65793a207374616b696e674b6579290a0a20202020202020206c6574206c6f636b656442616c616e6365203d2073656c662e686f6c6465725265662e6765744c6f636b65644163636f756e7442616c616e636528290a0a2020202020202020696620616d6f756e74203c3d206c6f636b656442616c616e6365207b0a0a20202020202020202020202073656c662e686f6c6465725265662e6372656174654e6f64655374616b6572286e6f6465496e666f3a206e6f6465496e666f2c20616d6f756e743a20616d6f756e74290a0a20202020202020207d20656c7365206966202828616d6f756e74202d206c6f636b656442616c616e636529203c3d2073656c662e7661756c745265662e62616c616e636529207b0a0a20202020202020202020202073656c662e686f6c6465725265662e6465706f7369742866726f6d3a203c2d73656c662e7661756c745265662e776974686472617728616d6f756e743a20616d6f756e74202d206c6f636b656442616c616e636529290a0a20202020202020202020202073656c662e686f6c6465725265662e6372656174654e6f64655374616b6572286e6f6465496e666f3a206e6f6465496e666f2c20616d6f756e743a20616d6f756e74290a0a20202020202020207d20656c7365207b0a20202020202020202020202070616e696328224e6f7420656e6f75676820746f6b656e7320746f207374616b652122290a20202020202020207d0a20202020202020200a202020207d0a7d0af90258b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227d9c7b2274797065223a2255496e7438222c2276616c7565223a2231227daf7b2274797065223a22537472696e67222c2276616c7565223a22666c6f772d6e6f64652e746573743a33353639227db89c7b2274797065223a22537472696e67222c2276616c7565223a223133343833303762633737633638386538303034396465396430383161613039373535646133336536393937363035666130353964623231343466633835653536306362653666376461386437346234353366353931363631386362386664333932633264623835366633653738323231646336386462316231643931346534227db8dc7b2274797065223a22537472696e67222c2276616c7565223a22396539616530643634356664356664393035303739326530623064616138326363313638366439313333616661306638316137383462333735633432616534383536376431353435653761396531393635663263316133326637336366383537356562623761393637663665346431303464326466373865623862653430393133356431326461303439396238613030373731663634326331623963343933393766323262343430343339663033366333626465653832663533303964616233227db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", - "metadata": "02b6a3502d2205eb05ec18772c13b91cc88a056b325c2617c57948d38cab8db600b64e0e3ed9eb28789198f2b0437f55f750bfa76da99450f63be6543bde66122a5265676973746572204e6f64650006014e6f64652049440000537472696e670003014e6f646520526f6c65000155496e74380003014e6574772e20416464726573730002537472696e670003014e6574772e204b65790003537472696e670003015374616b696e67204b65790004537472696e67000301416d6f756e7400055546697836340003", - "hash": "b6a3502d2205eb05ec18772c13b91cc88a056b325c2617c57948d38cab8db600" + "encodedTransactionPayloadHex": "f9041db902c7696d706f72742043727970746f0a0a7472616e73616374696f6e286b65793a20537472696e672c207369676e6174757265416c676f726974686d3a2055496e74382c2068617368416c676f726974686d3a2055496e74382c207765696768743a2055466978363429207b0a0a0970726570617265287369676e65723a2061757468284164644b65792920264163636f756e7429207b0a0909707265207b0a0909097369676e6174757265416c676f726974686d203e3d2031202626207369676e6174757265416c676f726974686d203c3d20333a20224d7573742070726f766964652061207369676e617475726520616c676f7269746d207261772076616c7565207468617420697320312c20322c206f722033220a09090968617368416c676f726974686d203e3d20312026262068617368416c676f726974686d203c3d20363a20224d7573742070726f766964652061206861736820616c676f7269746d207261772076616c75652074686174206973206265747765656e203120616e642036220a090909776569676874203c3d20313030302e303a2022546865206b657920776569676874206d757374206265206265747765656e203020616e642031303030220a09097d0a09096c6574207075626c69634b6579203d205075626c69634b6579280a0909097075626c69634b65793a206b65792e6465636f646548657828292c0a0909097369676e6174757265416c676f726974686d3a205369676e6174757265416c676f726974686d2872617756616c75653a207369676e6174757265416c676f726974686d29210a0909290a0a09097369676e65722e6b6579732e616464287075626c69634b65793a207075626c69634b65792c2068617368416c676f726974686d3a2048617368416c676f726974686d2872617756616c75653a2068617368416c676f726974686d29212c207765696768743a20776569676874290a097d0a7df90110b8aa7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634227d9c7b2276616c7565223a2231222c2274797065223a2255496e7438227d9c7b2276616c7565223a2231222c2274797065223a2255496e7438227da97b2276616c7565223a22313030302e3030303030303030222c2274797065223a22554669783634227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", + "encodedTransactionEnvelopeHex": "f90421f9041db902c7696d706f72742043727970746f0a0a7472616e73616374696f6e286b65793a20537472696e672c207369676e6174757265416c676f726974686d3a2055496e74382c2068617368416c676f726974686d3a2055496e74382c207765696768743a2055466978363429207b0a0a0970726570617265287369676e65723a2061757468284164644b65792920264163636f756e7429207b0a0909707265207b0a0909097369676e6174757265416c676f726974686d203e3d2031202626207369676e6174757265416c676f726974686d203c3d20333a20224d7573742070726f766964652061207369676e617475726520616c676f7269746d207261772076616c7565207468617420697320312c20322c206f722033220a09090968617368416c676f726974686d203e3d20312026262068617368416c676f726974686d203c3d20363a20224d7573742070726f766964652061206861736820616c676f7269746d207261772076616c75652074686174206973206265747765656e203120616e642036220a090909776569676874203c3d20313030302e303a2022546865206b657920776569676874206d757374206265206265747765656e203020616e642031303030220a09097d0a09096c6574207075626c69634b6579203d205075626c69634b6579280a0909097075626c69634b65793a206b65792e6465636f646548657828292c0a0909097369676e6174757265416c676f726974686d3a205369676e6174757265416c676f726974686d2872617756616c75653a207369676e6174757265416c676f726974686d29210a0909290a0a09097369676e65722e6b6579732e616464287075626c69634b65793a207075626c69634b65792c2068617368416c676f726974686d3a2048617368416c676f726974686d2872617756616c75653a2068617368416c676f726974686d29212c207765696768743a20776569676874290a097d0a7df90110b8aa7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634227d9c7b2276616c7565223a2231222c2274797065223a2255496e7438227d9c7b2276616c7565223a2231222c2274797065223a2255496e7438227da97b2276616c7565223a22313030302e3030303030303030222c2274797065223a22554669783634227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", + "metadata": "0221d4e87df171ccbe015efe69dc2ffd24814c5fc0f2e364daf5c80515ce4a8bd921d4e87df171ccbe015efe69dc2ffd24814c5fc0f2e364daf5c80515ce4a8bd9416464204b65790004015075626c6963204b65790000537472696e670003015261772056616c756520666f72205369676e617475726520416c676f726974686d20456e756d000155496e74380003015261772056616c756520666f72204861736820416c676f726974686d20456e756d000255496e74380003014b65792057656967687400035546697836340003", + "hash": "21d4e87df171ccbe015efe69dc2ffd24814c5fc0f2e364daf5c80515ce4a8bd9" }, { - "title": "TH.08 - Stake New Locked FLOW", + "title": "FA.03 - Remove Key", "valid": true, "chainID": "Testnet", "payloadMessage": { - "script": "import FlowToken from 0x7e60df042a9c0868\nimport FungibleToken from 0x9a0766d93b6608b7\n\nimport LockedTokens from 0x95e019a17d0e23d7\nimport StakingProxy from 0x7aad92e5a0715d21\n\ntransaction(amount: UFix64) {\n\n let holderRef: &LockedTokens.TokenHolder\n\n let vaultRef: &FlowToken.Vault\n\n prepare(account: AuthAccount) {\n self.holderRef = account.borrow<&LockedTokens.TokenHolder>(from: LockedTokens.TokenHolderStoragePath)\n ?? panic(\"Could not borrow reference to TokenHolder\")\n\n self.vaultRef = account.borrow<&FlowToken.Vault>(from: /storage/flowTokenVault)\n ?? panic(\"Could not borrow flow token vault reference\")\n }\n\n execute {\n let stakerProxy = self.holderRef.borrowStaker()\n\n let lockedBalance = self.holderRef.getLockedAccountBalance()\n\n if amount <= lockedBalance {\n\n stakerProxy.stakeNewTokens(amount: amount)\n\n } else if ((amount - lockedBalance) <= self.vaultRef.balance) {\n\n self.holderRef.deposit(from: <-self.vaultRef.withdraw(amount: amount - lockedBalance))\n\n stakerProxy.stakeNewTokens(amount: amount)\n \n } else {\n panic(\"Not enough tokens to stake!\")\n }\n }\n}\n", + "script": "transaction(keyIndex: Int) {\n\tprepare(signer: auth(RevokeKey) &Account) {\n\t\tif let key = signer.keys.get(keyIndex: keyIndex) {\n\t\t\tsigner.keys.revoke(keyIndex: keyIndex)\n\t\t} else {\n\t\t\tpanic(\"No key with the given index exists on the authorizer's account\")\n\t\t}\n\t}\n}", "arguments": [ { - "type": "UFix64", - "value": "92233720368.54775808" + "type": "Int", + "value": "1" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -242,11 +193,11 @@ ] }, "envelopeMessage": { - "script": "import FlowToken from 0x7e60df042a9c0868\nimport FungibleToken from 0x9a0766d93b6608b7\n\nimport LockedTokens from 0x95e019a17d0e23d7\nimport StakingProxy from 0x7aad92e5a0715d21\n\ntransaction(amount: UFix64) {\n\n let holderRef: &LockedTokens.TokenHolder\n\n let vaultRef: &FlowToken.Vault\n\n prepare(account: AuthAccount) {\n self.holderRef = account.borrow<&LockedTokens.TokenHolder>(from: LockedTokens.TokenHolderStoragePath)\n ?? panic(\"Could not borrow reference to TokenHolder\")\n\n self.vaultRef = account.borrow<&FlowToken.Vault>(from: /storage/flowTokenVault)\n ?? panic(\"Could not borrow flow token vault reference\")\n }\n\n execute {\n let stakerProxy = self.holderRef.borrowStaker()\n\n let lockedBalance = self.holderRef.getLockedAccountBalance()\n\n if amount <= lockedBalance {\n\n stakerProxy.stakeNewTokens(amount: amount)\n\n } else if ((amount - lockedBalance) <= self.vaultRef.balance) {\n\n self.holderRef.deposit(from: <-self.vaultRef.withdraw(amount: amount - lockedBalance))\n\n stakerProxy.stakeNewTokens(amount: amount)\n \n } else {\n panic(\"Not enough tokens to stake!\")\n }\n }\n}\n", + "script": "transaction(keyIndex: Int) {\n\tprepare(signer: auth(RevokeKey) &Account) {\n\t\tif let key = signer.keys.get(keyIndex: keyIndex) {\n\t\t\tsigner.keys.revoke(keyIndex: keyIndex)\n\t\t} else {\n\t\t\tpanic(\"No key with the given index exists on the authorizer's account\")\n\t\t}\n\t}\n}", "arguments": [ { - "type": "UFix64", - "value": "92233720368.54775808" + "type": "Int", + "value": "1" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -262,21 +213,25 @@ ], "payloadSigs": [] }, - "encodedTransactionPayloadHex": "f9053eb904c9696d706f727420466c6f77546f6b656e2066726f6d203078376536306466303432613963303836380a696d706f72742046756e6769626c65546f6b656e2066726f6d203078396130373636643933623636303862370a0a696d706f7274204c6f636b6564546f6b656e732066726f6d203078393565303139613137643065323364370a696d706f7274205374616b696e6750726f78792066726f6d203078376161643932653561303731356432310a0a7472616e73616374696f6e28616d6f756e743a2055466978363429207b0a0a202020206c657420686f6c6465725265663a20264c6f636b6564546f6b656e732e546f6b656e486f6c6465720a0a202020206c6574207661756c745265663a2026466c6f77546f6b656e2e5661756c740a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e686f6c646572526566203d206163636f756e742e626f72726f773c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f20546f6b656e486f6c64657222290a0a202020202020202073656c662e7661756c74526566203d206163636f756e742e626f72726f773c26466c6f77546f6b656e2e5661756c743e2866726f6d3a202f73746f726167652f666c6f77546f6b656e5661756c74290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f7720666c6f7720746f6b656e207661756c74207265666572656e636522290a202020207d0a0a2020202065786563757465207b0a20202020202020206c6574207374616b657250726f7879203d2073656c662e686f6c6465725265662e626f72726f775374616b657228290a0a20202020202020206c6574206c6f636b656442616c616e6365203d2073656c662e686f6c6465725265662e6765744c6f636b65644163636f756e7442616c616e636528290a0a2020202020202020696620616d6f756e74203c3d206c6f636b656442616c616e6365207b0a0a2020202020202020202020207374616b657250726f78792e7374616b654e6577546f6b656e7328616d6f756e743a20616d6f756e74290a0a20202020202020207d20656c7365206966202828616d6f756e74202d206c6f636b656442616c616e636529203c3d2073656c662e7661756c745265662e62616c616e636529207b0a0a20202020202020202020202073656c662e686f6c6465725265662e6465706f7369742866726f6d3a203c2d73656c662e7661756c745265662e776974686472617728616d6f756e743a20616d6f756e74202d206c6f636b656442616c616e636529290a0a2020202020202020202020207374616b657250726f78792e7374616b654e6577546f6b656e7328616d6f756e743a20616d6f756e74290a2020202020202020202020200a20202020202020207d20656c7365207b0a20202020202020202020202070616e696328224e6f7420656e6f75676820746f6b656e7320746f207374616b652122290a20202020202020207d0a202020207d0a7d0af1b07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", - "encodedTransactionEnvelopeHex": "f90542f9053eb904c9696d706f727420466c6f77546f6b656e2066726f6d203078376536306466303432613963303836380a696d706f72742046756e6769626c65546f6b656e2066726f6d203078396130373636643933623636303862370a0a696d706f7274204c6f636b6564546f6b656e732066726f6d203078393565303139613137643065323364370a696d706f7274205374616b696e6750726f78792066726f6d203078376161643932653561303731356432310a0a7472616e73616374696f6e28616d6f756e743a2055466978363429207b0a0a202020206c657420686f6c6465725265663a20264c6f636b6564546f6b656e732e546f6b656e486f6c6465720a0a202020206c6574207661756c745265663a2026466c6f77546f6b656e2e5661756c740a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e686f6c646572526566203d206163636f756e742e626f72726f773c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f20546f6b656e486f6c64657222290a0a202020202020202073656c662e7661756c74526566203d206163636f756e742e626f72726f773c26466c6f77546f6b656e2e5661756c743e2866726f6d3a202f73746f726167652f666c6f77546f6b656e5661756c74290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f7720666c6f7720746f6b656e207661756c74207265666572656e636522290a202020207d0a0a2020202065786563757465207b0a20202020202020206c6574207374616b657250726f7879203d2073656c662e686f6c6465725265662e626f72726f775374616b657228290a0a20202020202020206c6574206c6f636b656442616c616e6365203d2073656c662e686f6c6465725265662e6765744c6f636b65644163636f756e7442616c616e636528290a0a2020202020202020696620616d6f756e74203c3d206c6f636b656442616c616e6365207b0a0a2020202020202020202020207374616b657250726f78792e7374616b654e6577546f6b656e7328616d6f756e743a20616d6f756e74290a0a20202020202020207d20656c7365206966202828616d6f756e74202d206c6f636b656442616c616e636529203c3d2073656c662e7661756c745265662e62616c616e636529207b0a0a20202020202020202020202073656c662e686f6c6465725265662e6465706f7369742866726f6d3a203c2d73656c662e7661756c745265662e776974686472617728616d6f756e743a20616d6f756e74202d206c6f636b656442616c616e636529290a0a2020202020202020202020207374616b657250726f78792e7374616b654e6577546f6b656e7328616d6f756e743a20616d6f756e74290a2020202020202020202020200a20202020202020207d20656c7365207b0a20202020202020202020202070616e696328224e6f7420656e6f75676820746f6b656e7320746f207374616b652122290a20202020202020207d0a202020207d0a7d0af1b07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", - "metadata": "02d5689b89f53214e7ce9ba7be2bb651961f7e3036b85f9250494290da9e9ba9891929e4f38894b8641848a3c0a3b9d35495b35083d42e8a3d4c928b9db4174ee85374616b65204e6577204c6f636b656420464c4f57000101416d6f756e7400005546697836340003", - "hash": "d5689b89f53214e7ce9ba7be2bb651961f7e3036b85f9250494290da9e9ba989" + "encodedTransactionPayloadHex": "f90166b901077472616e73616374696f6e286b6579496e6465783a20496e7429207b0a0970726570617265287369676e65723a2061757468285265766f6b654b65792920264163636f756e7429207b0a09096966206c6574206b6579203d207369676e65722e6b6579732e676574286b6579496e6465783a206b6579496e64657829207b0a0909097369676e65722e6b6579732e7265766f6b65286b6579496e6465783a206b6579496e646578290a09097d20656c7365207b0a09090970616e696328224e6f206b657920776974682074686520676976656e20696e64657820657869737473206f6e2074686520617574686f72697a65722773206163636f756e7422290a09097d0a097d0a7ddb9a7b2274797065223a22496e74222c2276616c7565223a2231227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", + "encodedTransactionEnvelopeHex": "f9016af90166b901077472616e73616374696f6e286b6579496e6465783a20496e7429207b0a0970726570617265287369676e65723a2061757468285265766f6b654b65792920264163636f756e7429207b0a09096966206c6574206b6579203d207369676e65722e6b6579732e676574286b6579496e6465783a206b6579496e64657829207b0a0909097369676e65722e6b6579732e7265766f6b65286b6579496e6465783a206b6579496e646578290a09097d20656c7365207b0a09090970616e696328224e6f206b657920776974682074686520676976656e20696e64657820657869737473206f6e2074686520617574686f72697a65722773206163636f756e7422290a09097d0a097d0a7ddb9a7b2274797065223a22496e74222c2276616c7565223a2231227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", + "metadata": "026c7ab72837fdce77a910f6fc0c622c6c4d5b17f6fbf7295f345d50d3508dd5156c7ab72837fdce77a910f6fc0c622c6c4d5b17f6fbf7295f345d50d3508dd51552656d6f7665204b65790001014b657920496e6465780000496e740003", + "hash": "6c7ab72837fdce77a910f6fc0c622c6c4d5b17f6fbf7295f345d50d3508dd515" }, { - "title": "TH.09 - Re-stake Unstaked FLOW", + "title": "FT.01 - Setup Fungible Token Vault", "valid": true, "chainID": "Testnet", "payloadMessage": { - "script": "import LockedTokens from 0x95e019a17d0e23d7\nimport StakingProxy from 0x7aad92e5a0715d21\n\ntransaction(amount: UFix64) {\n\n let holderRef: &LockedTokens.TokenHolder\n\n prepare(account: AuthAccount) {\n self.holderRef = account.borrow<&LockedTokens.TokenHolder>(from: LockedTokens.TokenHolderStoragePath)\n ?? panic(\"Could not borrow reference to TokenHolder\")\n }\n\n execute {\n let stakerProxy = self.holderRef.borrowStaker()\n\n stakerProxy.stakeUnstakedTokens(amount: amount)\n }\n}\n", + "script": "import FungibleToken from 0x9a0766d93b6608b7\nimport FungibleTokenMetadataViews from 0x9a0766d93b6608b7\n\n/// This transaction is what an account would run\n/// to set itself up to manage fungible tokens. This function\n/// uses views to know where to set up the vault\n/// in storage and to create the empty vault.\n\ntransaction(contractAddress: Address, contractName: String) {\n\n prepare(signer: auth(SaveValue, Capabilities) &Account) {\n // Borrow a reference to the vault stored on the passed account at the passed publicPath\n let resolverRef = getAccount(contractAddress)\n .contracts.borrow<&{FungibleToken}>(name: contractName)\n ?? panic(\"Could not borrow a reference to the fungible token contract\")\n\n // Use that reference to retrieve the FTView \n let ftVaultData = resolverRef.resolveContractView(resourceType: nil, viewType: Type()) as! FungibleTokenMetadataViews.FTVaultData?\n ?? panic(\"Could not resolve the FTVaultData view for the given Fungible token contract\")\n\n // Create a new empty vault using the createEmptyVault function inside the FTVaultData\n let emptyVault <-ftVaultData.createEmptyVault()\n\n // Save it to the account\n signer.storage.save(<-emptyVault, to: ftVaultData.storagePath)\n \n // Create a public capability for the vault which includes the .Resolver interface\n let vaultCap = signer.capabilities.storage.issue<&{FungibleToken.Vault}>(ftVaultData.storagePath)\n signer.capabilities.publish(vaultCap, at: ftVaultData.metadataPath)\n\n // Create a public capability for the vault exposing the receiver interface\n let receiverCap = signer.capabilities.storage.issue<&{FungibleToken.Receiver}>(ftVaultData.storagePath)\n signer.capabilities.publish(receiverCap, at: ftVaultData.receiverPath)\n\n }\n}\n ", "arguments": [ { - "type": "UFix64", - "value": "92233720368.54775808" + "type": "Address", + "value": "0x8c5303eaa26202d6" + }, + { + "value": "FiatToken", + "type": "String" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -299,11 +254,15 @@ ] }, "envelopeMessage": { - "script": "import LockedTokens from 0x95e019a17d0e23d7\nimport StakingProxy from 0x7aad92e5a0715d21\n\ntransaction(amount: UFix64) {\n\n let holderRef: &LockedTokens.TokenHolder\n\n prepare(account: AuthAccount) {\n self.holderRef = account.borrow<&LockedTokens.TokenHolder>(from: LockedTokens.TokenHolderStoragePath)\n ?? panic(\"Could not borrow reference to TokenHolder\")\n }\n\n execute {\n let stakerProxy = self.holderRef.borrowStaker()\n\n stakerProxy.stakeUnstakedTokens(amount: amount)\n }\n}\n", + "script": "import FungibleToken from 0x9a0766d93b6608b7\nimport FungibleTokenMetadataViews from 0x9a0766d93b6608b7\n\n/// This transaction is what an account would run\n/// to set itself up to manage fungible tokens. This function\n/// uses views to know where to set up the vault\n/// in storage and to create the empty vault.\n\ntransaction(contractAddress: Address, contractName: String) {\n\n prepare(signer: auth(SaveValue, Capabilities) &Account) {\n // Borrow a reference to the vault stored on the passed account at the passed publicPath\n let resolverRef = getAccount(contractAddress)\n .contracts.borrow<&{FungibleToken}>(name: contractName)\n ?? panic(\"Could not borrow a reference to the fungible token contract\")\n\n // Use that reference to retrieve the FTView \n let ftVaultData = resolverRef.resolveContractView(resourceType: nil, viewType: Type()) as! FungibleTokenMetadataViews.FTVaultData?\n ?? panic(\"Could not resolve the FTVaultData view for the given Fungible token contract\")\n\n // Create a new empty vault using the createEmptyVault function inside the FTVaultData\n let emptyVault <-ftVaultData.createEmptyVault()\n\n // Save it to the account\n signer.storage.save(<-emptyVault, to: ftVaultData.storagePath)\n \n // Create a public capability for the vault which includes the .Resolver interface\n let vaultCap = signer.capabilities.storage.issue<&{FungibleToken.Vault}>(ftVaultData.storagePath)\n signer.capabilities.publish(vaultCap, at: ftVaultData.metadataPath)\n\n // Create a public capability for the vault exposing the receiver interface\n let receiverCap = signer.capabilities.storage.issue<&{FungibleToken.Receiver}>(ftVaultData.storagePath)\n signer.capabilities.publish(receiverCap, at: ftVaultData.receiverPath)\n\n }\n}\n ", "arguments": [ { - "type": "UFix64", - "value": "92233720368.54775808" + "type": "Address", + "value": "0x8c5303eaa26202d6" + }, + { + "value": "FiatToken", + "type": "String" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -319,21 +278,33 @@ ], "payloadSigs": [] }, - "encodedTransactionPayloadHex": "f9027db90208696d706f7274204c6f636b6564546f6b656e732066726f6d203078393565303139613137643065323364370a696d706f7274205374616b696e6750726f78792066726f6d203078376161643932653561303731356432310a0a7472616e73616374696f6e28616d6f756e743a2055466978363429207b0a0a202020206c657420686f6c6465725265663a20264c6f636b6564546f6b656e732e546f6b656e486f6c6465720a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e686f6c646572526566203d206163636f756e742e626f72726f773c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f20546f6b656e486f6c64657222290a202020207d0a0a2020202065786563757465207b0a20202020202020206c6574207374616b657250726f7879203d2073656c662e686f6c6465725265662e626f72726f775374616b657228290a0a20202020202020207374616b657250726f78792e7374616b65556e7374616b6564546f6b656e7328616d6f756e743a20616d6f756e74290a202020207d0a7d0af1b07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", - "encodedTransactionEnvelopeHex": "f90281f9027db90208696d706f7274204c6f636b6564546f6b656e732066726f6d203078393565303139613137643065323364370a696d706f7274205374616b696e6750726f78792066726f6d203078376161643932653561303731356432310a0a7472616e73616374696f6e28616d6f756e743a2055466978363429207b0a0a202020206c657420686f6c6465725265663a20264c6f636b6564546f6b656e732e546f6b656e486f6c6465720a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e686f6c646572526566203d206163636f756e742e626f72726f773c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f20546f6b656e486f6c64657222290a202020207d0a0a2020202065786563757465207b0a20202020202020206c6574207374616b657250726f7879203d2073656c662e686f6c6465725265662e626f72726f775374616b657228290a0a20202020202020207374616b657250726f78792e7374616b65556e7374616b6564546f6b656e7328616d6f756e743a20616d6f756e74290a202020207d0a7d0af1b07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", - "metadata": "0223e5bfd594bb3245090e3e0bafb9cb9246fc84d30e4a35a7fde1b51085624d86677cc0ac3962ec136ca26dbec0aa942d926640ecf8418433f0db4b7925f5d0fe52652d7374616b6520556e7374616b656420464c4f57000101416d6f756e7400005546697836340003", - "hash": "23e5bfd594bb3245090e3e0bafb9cb9246fc84d30e4a35a7fde1b51085624d86" + "encodedTransactionPayloadHex": "f90808b9076d696d706f72742046756e6769626c65546f6b656e2066726f6d203078396130373636643933623636303862370a696d706f72742046756e6769626c65546f6b656e4d6574616461746156696577732066726f6d203078396130373636643933623636303862370a0a2f2f2f2054686973207472616e73616374696f6e206973207768617420616e206163636f756e7420776f756c642072756e0a2f2f2f20746f2073657420697473656c6620757020746f206d616e6167652066756e6769626c6520746f6b656e732e20546869732066756e6374696f6e0a2f2f2f207573657320766965777320746f206b6e6f7720776865726520746f2073657420757020746865207661756c740a2f2f2f20696e2073746f7261676520616e6420746f206372656174652074686520656d707479207661756c742e0a0a7472616e73616374696f6e28636f6e7472616374416464726573733a20416464726573732c20636f6e74726163744e616d653a20537472696e6729207b0a0a2020202070726570617265287369676e65723a2061757468285361766556616c75652c204361706162696c69746965732920264163636f756e7429207b0a20202020202020202f2f20426f72726f772061207265666572656e636520746f20746865207661756c742073746f726564206f6e2074686520706173736564206163636f756e742061742074686520706173736564207075626c6963506174680a20202020202020206c6574207265736f6c766572526566203d206765744163636f756e7428636f6e747261637441646472657373290a2020202020202020202020202e636f6e7472616374732e626f72726f773c267b46756e6769626c65546f6b656e7d3e286e616d653a20636f6e74726163744e616d65290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f207468652066756e6769626c6520746f6b656e20636f6e747261637422290a0a20202020202020202f2f205573652074686174207265666572656e636520746f2072657472696576652074686520465456696577200a20202020202020206c65742066745661756c7444617461203d207265736f6c7665725265662e7265736f6c7665436f6e747261637456696577287265736f75726365547970653a206e696c2c2076696577547970653a20547970653c46756e6769626c65546f6b656e4d6574616461746156696577732e46545661756c74446174613e282929206173212046756e6769626c65546f6b656e4d6574616461746156696577732e46545661756c74446174613f0a2020202020202020202020203f3f2070616e69632822436f756c64206e6f74207265736f6c7665207468652046545661756c7444617461207669657720666f722074686520676976656e2046756e6769626c6520746f6b656e20636f6e747261637422290a0a20202020202020202f2f204372656174652061206e657720656d707479207661756c74207573696e672074686520637265617465456d7074795661756c742066756e6374696f6e20696e73696465207468652046545661756c74446174610a20202020202020206c657420656d7074795661756c74203c2d66745661756c74446174612e637265617465456d7074795661756c7428290a0a20202020202020202f2f205361766520697420746f20746865206163636f756e740a20202020202020207369676e65722e73746f726167652e73617665283c2d656d7074795661756c742c20746f3a2066745661756c74446174612e73746f7261676550617468290a20202020202020200a20202020202020202f2f204372656174652061207075626c6963206361706162696c69747920666f7220746865207661756c7420776869636820696e636c7564657320746865202e5265736f6c76657220696e746572666163650a20202020202020206c6574207661756c74436170203d207369676e65722e6361706162696c69746965732e73746f726167652e69737375653c267b46756e6769626c65546f6b656e2e5661756c747d3e2866745661756c74446174612e73746f7261676550617468290a20202020202020207369676e65722e6361706162696c69746965732e7075626c697368287661756c744361702c2061743a2066745661756c74446174612e6d6574616461746150617468290a0a20202020202020202f2f204372656174652061207075626c6963206361706162696c69747920666f7220746865207661756c74206578706f73696e672074686520726563656976657220696e746572666163650a20202020202020206c6574207265636569766572436170203d207369676e65722e6361706162696c69746965732e73746f726167652e69737375653c267b46756e6769626c65546f6b656e2e52656365697665727d3e2866745661756c74446174612e73746f7261676550617468290a20202020202020207369676e65722e6361706162696c69746965732e7075626c6973682872656365697665724361702c2061743a2066745661756c74446174612e726563656976657250617468290a0a202020207d0a7d0a20f856af7b2274797065223a2241646472657373222c2276616c7565223a22307838633533303365616132363230326436227da57b2276616c7565223a2246696174546f6b656e222c2274797065223a22537472696e67227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", + "encodedTransactionEnvelopeHex": "f9080cf90808b9076d696d706f72742046756e6769626c65546f6b656e2066726f6d203078396130373636643933623636303862370a696d706f72742046756e6769626c65546f6b656e4d6574616461746156696577732066726f6d203078396130373636643933623636303862370a0a2f2f2f2054686973207472616e73616374696f6e206973207768617420616e206163636f756e7420776f756c642072756e0a2f2f2f20746f2073657420697473656c6620757020746f206d616e6167652066756e6769626c6520746f6b656e732e20546869732066756e6374696f6e0a2f2f2f207573657320766965777320746f206b6e6f7720776865726520746f2073657420757020746865207661756c740a2f2f2f20696e2073746f7261676520616e6420746f206372656174652074686520656d707479207661756c742e0a0a7472616e73616374696f6e28636f6e7472616374416464726573733a20416464726573732c20636f6e74726163744e616d653a20537472696e6729207b0a0a2020202070726570617265287369676e65723a2061757468285361766556616c75652c204361706162696c69746965732920264163636f756e7429207b0a20202020202020202f2f20426f72726f772061207265666572656e636520746f20746865207661756c742073746f726564206f6e2074686520706173736564206163636f756e742061742074686520706173736564207075626c6963506174680a20202020202020206c6574207265736f6c766572526566203d206765744163636f756e7428636f6e747261637441646472657373290a2020202020202020202020202e636f6e7472616374732e626f72726f773c267b46756e6769626c65546f6b656e7d3e286e616d653a20636f6e74726163744e616d65290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f207468652066756e6769626c6520746f6b656e20636f6e747261637422290a0a20202020202020202f2f205573652074686174207265666572656e636520746f2072657472696576652074686520465456696577200a20202020202020206c65742066745661756c7444617461203d207265736f6c7665725265662e7265736f6c7665436f6e747261637456696577287265736f75726365547970653a206e696c2c2076696577547970653a20547970653c46756e6769626c65546f6b656e4d6574616461746156696577732e46545661756c74446174613e282929206173212046756e6769626c65546f6b656e4d6574616461746156696577732e46545661756c74446174613f0a2020202020202020202020203f3f2070616e69632822436f756c64206e6f74207265736f6c7665207468652046545661756c7444617461207669657720666f722074686520676976656e2046756e6769626c6520746f6b656e20636f6e747261637422290a0a20202020202020202f2f204372656174652061206e657720656d707479207661756c74207573696e672074686520637265617465456d7074795661756c742066756e6374696f6e20696e73696465207468652046545661756c74446174610a20202020202020206c657420656d7074795661756c74203c2d66745661756c74446174612e637265617465456d7074795661756c7428290a0a20202020202020202f2f205361766520697420746f20746865206163636f756e740a20202020202020207369676e65722e73746f726167652e73617665283c2d656d7074795661756c742c20746f3a2066745661756c74446174612e73746f7261676550617468290a20202020202020200a20202020202020202f2f204372656174652061207075626c6963206361706162696c69747920666f7220746865207661756c7420776869636820696e636c7564657320746865202e5265736f6c76657220696e746572666163650a20202020202020206c6574207661756c74436170203d207369676e65722e6361706162696c69746965732e73746f726167652e69737375653c267b46756e6769626c65546f6b656e2e5661756c747d3e2866745661756c74446174612e73746f7261676550617468290a20202020202020207369676e65722e6361706162696c69746965732e7075626c697368287661756c744361702c2061743a2066745661756c74446174612e6d6574616461746150617468290a0a20202020202020202f2f204372656174652061207075626c6963206361706162696c69747920666f7220746865207661756c74206578706f73696e672074686520726563656976657220696e746572666163650a20202020202020206c6574207265636569766572436170203d207369676e65722e6361706162696c69746965732e73746f726167652e69737375653c267b46756e6769626c65546f6b656e2e52656365697665727d3e2866745661756c74446174612e73746f7261676550617468290a20202020202020207369676e65722e6361706162696c69746965732e7075626c6973682872656365697665724361702c2061743a2066745661756c74446174612e726563656976657250617468290a0a202020207d0a7d0a20f856af7b2274797065223a2241646472657373222c2276616c7565223a22307838633533303365616132363230326436227da57b2276616c7565223a2246696174546f6b656e222c2274797065223a22537472696e67227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", + "metadata": "023ccbbfebf10c47c49e4058a33fd9a29c4191c545de52c9afd27a29d38110aa280246076f1cf5d3160397766a9227b35f592f4d15c014848044c509818328b62b53657475702046756e6769626c6520546f6b656e205661756c74000201465420436f6e74726163742041646472657373000041646472657373000301465420436f6e7472616374204e616d650001537472696e670003", + "hash": "3ccbbfebf10c47c49e4058a33fd9a29c4191c545de52c9afd27a29d38110aa28" }, { - "title": "TH.10 - Re-stake Rewarded FLOW", + "title": "FT.02 - Transfer Fungible Token with Paths", "valid": true, "chainID": "Testnet", "payloadMessage": { - "script": "import LockedTokens from 0x95e019a17d0e23d7\nimport StakingProxy from 0x7aad92e5a0715d21\n\ntransaction(amount: UFix64) {\n\n let holderRef: &LockedTokens.TokenHolder\n\n prepare(account: AuthAccount) {\n self.holderRef = account.borrow<&LockedTokens.TokenHolder>(from: LockedTokens.TokenHolderStoragePath)\n ?? panic(\"Could not borrow reference to TokenHolder\")\n }\n\n execute {\n let stakerProxy = self.holderRef.borrowStaker()\n\n stakerProxy.stakeRewardedTokens(amount: amount)\n }\n}\n", + "script": "import FungibleToken from 0x9a0766d93b6608b7\n\n/// Can pass in any storage path and receiver path identifier instead of just the default.\n/// This lets you choose the token you want to send as well the capability you want to send it to.\n///\n/// Any token path can be passed as an argument here, so wallets should\n/// should check argument values to make sure the intended token path is passed in\n///\ntransaction(amount: UFix64, to: Address, senderPathIdentifier: String, receiverPathIdentifier: String) {\n\n // The Vault resource that holds the tokens that are being transferred\n let tempVault: @{FungibleToken.Vault}\n\n prepare(signer: auth(BorrowValue) &Account) {\n\n let storagePath = StoragePath(identifier: senderPathIdentifier)\n ?? panic(\"Could not construct a storage path from the provided path identifier string\")\n\n // Get a reference to the signer's stored vault\n let vaultRef = signer.storage.borrow(from: storagePath)\n\t\t\t?? panic(\"Could not borrow reference to the owner's Vault!\")\n\n self.tempVault <- vaultRef.withdraw(amount: amount)\n }\n\n execute {\n let publicPath = PublicPath(identifier: receiverPathIdentifier)\n ?? panic(\"Could not construct a public path from the provided path identifier string\")\n\n let recipient = getAccount(to)\n let receiverRef = recipient.capabilities.borrow<&{FungibleToken.Receiver}>(publicPath)\n ?? panic(\"Could not borrow reference to the recipient's Receiver!\")\n\n // Transfer tokens from the signer's stored vault to the receiver capability\n receiverRef.deposit(from: <-self.tempVault)\n }\n}", "arguments": [ { "type": "UFix64", "value": "92233720368.54775808" + }, + { + "value": "0x8c5303eaa26202d6", + "type": "Address" + }, + { + "value": "flowTokenVault", + "type": "String" + }, + { + "value": "flowTokenReceiver", + "type": "String" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -356,11 +327,23 @@ ] }, "envelopeMessage": { - "script": "import LockedTokens from 0x95e019a17d0e23d7\nimport StakingProxy from 0x7aad92e5a0715d21\n\ntransaction(amount: UFix64) {\n\n let holderRef: &LockedTokens.TokenHolder\n\n prepare(account: AuthAccount) {\n self.holderRef = account.borrow<&LockedTokens.TokenHolder>(from: LockedTokens.TokenHolderStoragePath)\n ?? panic(\"Could not borrow reference to TokenHolder\")\n }\n\n execute {\n let stakerProxy = self.holderRef.borrowStaker()\n\n stakerProxy.stakeRewardedTokens(amount: amount)\n }\n}\n", + "script": "import FungibleToken from 0x9a0766d93b6608b7\n\n/// Can pass in any storage path and receiver path identifier instead of just the default.\n/// This lets you choose the token you want to send as well the capability you want to send it to.\n///\n/// Any token path can be passed as an argument here, so wallets should\n/// should check argument values to make sure the intended token path is passed in\n///\ntransaction(amount: UFix64, to: Address, senderPathIdentifier: String, receiverPathIdentifier: String) {\n\n // The Vault resource that holds the tokens that are being transferred\n let tempVault: @{FungibleToken.Vault}\n\n prepare(signer: auth(BorrowValue) &Account) {\n\n let storagePath = StoragePath(identifier: senderPathIdentifier)\n ?? panic(\"Could not construct a storage path from the provided path identifier string\")\n\n // Get a reference to the signer's stored vault\n let vaultRef = signer.storage.borrow(from: storagePath)\n\t\t\t?? panic(\"Could not borrow reference to the owner's Vault!\")\n\n self.tempVault <- vaultRef.withdraw(amount: amount)\n }\n\n execute {\n let publicPath = PublicPath(identifier: receiverPathIdentifier)\n ?? panic(\"Could not construct a public path from the provided path identifier string\")\n\n let recipient = getAccount(to)\n let receiverRef = recipient.capabilities.borrow<&{FungibleToken.Receiver}>(publicPath)\n ?? panic(\"Could not borrow reference to the recipient's Receiver!\")\n\n // Transfer tokens from the signer's stored vault to the receiver capability\n receiverRef.deposit(from: <-self.tempVault)\n }\n}", "arguments": [ { "type": "UFix64", "value": "92233720368.54775808" + }, + { + "value": "0x8c5303eaa26202d6", + "type": "Address" + }, + { + "value": "flowTokenVault", + "type": "String" + }, + { + "value": "flowTokenReceiver", + "type": "String" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -376,21 +359,33 @@ ], "payloadSigs": [] }, - "encodedTransactionPayloadHex": "f9027db90208696d706f7274204c6f636b6564546f6b656e732066726f6d203078393565303139613137643065323364370a696d706f7274205374616b696e6750726f78792066726f6d203078376161643932653561303731356432310a0a7472616e73616374696f6e28616d6f756e743a2055466978363429207b0a0a202020206c657420686f6c6465725265663a20264c6f636b6564546f6b656e732e546f6b656e486f6c6465720a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e686f6c646572526566203d206163636f756e742e626f72726f773c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f20546f6b656e486f6c64657222290a202020207d0a0a2020202065786563757465207b0a20202020202020206c6574207374616b657250726f7879203d2073656c662e686f6c6465725265662e626f72726f775374616b657228290a0a20202020202020207374616b657250726f78792e7374616b655265776172646564546f6b656e7328616d6f756e743a20616d6f756e74290a202020207d0a7d0af1b07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", - "encodedTransactionEnvelopeHex": "f90281f9027db90208696d706f7274204c6f636b6564546f6b656e732066726f6d203078393565303139613137643065323364370a696d706f7274205374616b696e6750726f78792066726f6d203078376161643932653561303731356432310a0a7472616e73616374696f6e28616d6f756e743a2055466978363429207b0a0a202020206c657420686f6c6465725265663a20264c6f636b6564546f6b656e732e546f6b656e486f6c6465720a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e686f6c646572526566203d206163636f756e742e626f72726f773c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f20546f6b656e486f6c64657222290a202020207d0a0a2020202065786563757465207b0a20202020202020206c6574207374616b657250726f7879203d2073656c662e686f6c6465725265662e626f72726f775374616b657228290a0a20202020202020207374616b657250726f78792e7374616b655265776172646564546f6b656e7328616d6f756e743a20616d6f756e74290a202020207d0a7d0af1b07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", - "metadata": "02239319825ad68178e76465b5ea18cb43f06c4ee11341f8fe9424809163a027a528d1719c5b21c88c62665db5ba04886809f3234c27057b057c36d5f265ee9de452652d7374616b6520526577617264656420464c4f57000101416d6f756e7400005546697836340003", - "hash": "239319825ad68178e76465b5ea18cb43f06c4ee11341f8fe9424809163a027a5" + "encodedTransactionPayloadHex": "f907a3b906a4696d706f72742046756e6769626c65546f6b656e2066726f6d203078396130373636643933623636303862370a0a2f2f2f2043616e207061737320696e20616e792073746f72616765207061746820616e642072656365697665722070617468206964656e74696669657220696e7374656164206f66206a757374207468652064656661756c742e0a2f2f2f2054686973206c65747320796f752063686f6f73652074686520746f6b656e20796f752077616e7420746f2073656e642061732077656c6c20746865206361706162696c69747920796f752077616e7420746f2073656e6420697420746f2e0a2f2f2f0a2f2f2f20416e7920746f6b656e20706174682063616e2062652070617373656420617320616e20617267756d656e7420686572652c20736f2077616c6c6574732073686f756c640a2f2f2f2073686f756c6420636865636b20617267756d656e742076616c75657320746f206d616b6520737572652074686520696e74656e64656420746f6b656e20706174682069732070617373656420696e0a2f2f2f0a7472616e73616374696f6e28616d6f756e743a205546697836342c20746f3a20416464726573732c2073656e646572506174684964656e7469666965723a20537472696e672c207265636569766572506174684964656e7469666965723a20537472696e6729207b0a0a202020202f2f20546865205661756c74207265736f75726365207468617420686f6c64732074686520746f6b656e73207468617420617265206265696e67207472616e736665727265640a202020206c65742074656d705661756c743a20407b46756e6769626c65546f6b656e2e5661756c747d0a0a2020202070726570617265287369676e65723a206175746828426f72726f7756616c75652920264163636f756e7429207b0a0a20202020202020206c65742073746f7261676550617468203d2053746f7261676550617468286964656e7469666965723a2073656e646572506174684964656e746966696572290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420636f6e73747275637420612073746f7261676520706174682066726f6d207468652070726f76696465642070617468206964656e74696669657220737472696e6722290a0a20202020202020202f2f204765742061207265666572656e636520746f20746865207369676e657227732073746f726564207661756c740a20202020202020206c6574207661756c74526566203d207369676e65722e73746f726167652e626f72726f773c617574682846756e6769626c65546f6b656e2e57697468647261772920267b46756e6769626c65546f6b656e2e50726f76696465727d3e2866726f6d3a2073746f7261676550617468290a0909093f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f20746865206f776e65722773205661756c742122290a0a202020202020202073656c662e74656d705661756c74203c2d207661756c745265662e776974686472617728616d6f756e743a20616d6f756e74290a202020207d0a0a2020202065786563757465207b0a20202020202020206c6574207075626c696350617468203d205075626c696350617468286964656e7469666965723a207265636569766572506174684964656e746966696572290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420636f6e7374727563742061207075626c696320706174682066726f6d207468652070726f76696465642070617468206964656e74696669657220737472696e6722290a0a20202020202020206c657420726563697069656e74203d206765744163636f756e7428746f290a20202020202020206c6574207265636569766572526566203d20726563697069656e742e6361706162696c69746965732e626f72726f773c267b46756e6769626c65546f6b656e2e52656365697665727d3e287075626c696350617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f2074686520726563697069656e7427732052656365697665722122290a0a20202020202020202f2f205472616e7366657220746f6b656e732066726f6d20746865207369676e657227732073746f726564207661756c7420746f20746865207265636569766572206361706162696c6974790a202020202020202072656365697665725265662e6465706f7369742866726f6d3a203c2d73656c662e74656d705661756c74290a202020207d0a7df8bab07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227daf7b2276616c7565223a22307838633533303365616132363230326436222c2274797065223a2241646472657373227daa7b2276616c7565223a22666c6f77546f6b656e5661756c74222c2274797065223a22537472696e67227dad7b2276616c7565223a22666c6f77546f6b656e5265636569766572222c2274797065223a22537472696e67227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", + "encodedTransactionEnvelopeHex": "f907a7f907a3b906a4696d706f72742046756e6769626c65546f6b656e2066726f6d203078396130373636643933623636303862370a0a2f2f2f2043616e207061737320696e20616e792073746f72616765207061746820616e642072656365697665722070617468206964656e74696669657220696e7374656164206f66206a757374207468652064656661756c742e0a2f2f2f2054686973206c65747320796f752063686f6f73652074686520746f6b656e20796f752077616e7420746f2073656e642061732077656c6c20746865206361706162696c69747920796f752077616e7420746f2073656e6420697420746f2e0a2f2f2f0a2f2f2f20416e7920746f6b656e20706174682063616e2062652070617373656420617320616e20617267756d656e7420686572652c20736f2077616c6c6574732073686f756c640a2f2f2f2073686f756c6420636865636b20617267756d656e742076616c75657320746f206d616b6520737572652074686520696e74656e64656420746f6b656e20706174682069732070617373656420696e0a2f2f2f0a7472616e73616374696f6e28616d6f756e743a205546697836342c20746f3a20416464726573732c2073656e646572506174684964656e7469666965723a20537472696e672c207265636569766572506174684964656e7469666965723a20537472696e6729207b0a0a202020202f2f20546865205661756c74207265736f75726365207468617420686f6c64732074686520746f6b656e73207468617420617265206265696e67207472616e736665727265640a202020206c65742074656d705661756c743a20407b46756e6769626c65546f6b656e2e5661756c747d0a0a2020202070726570617265287369676e65723a206175746828426f72726f7756616c75652920264163636f756e7429207b0a0a20202020202020206c65742073746f7261676550617468203d2053746f7261676550617468286964656e7469666965723a2073656e646572506174684964656e746966696572290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420636f6e73747275637420612073746f7261676520706174682066726f6d207468652070726f76696465642070617468206964656e74696669657220737472696e6722290a0a20202020202020202f2f204765742061207265666572656e636520746f20746865207369676e657227732073746f726564207661756c740a20202020202020206c6574207661756c74526566203d207369676e65722e73746f726167652e626f72726f773c617574682846756e6769626c65546f6b656e2e57697468647261772920267b46756e6769626c65546f6b656e2e50726f76696465727d3e2866726f6d3a2073746f7261676550617468290a0909093f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f20746865206f776e65722773205661756c742122290a0a202020202020202073656c662e74656d705661756c74203c2d207661756c745265662e776974686472617728616d6f756e743a20616d6f756e74290a202020207d0a0a2020202065786563757465207b0a20202020202020206c6574207075626c696350617468203d205075626c696350617468286964656e7469666965723a207265636569766572506174684964656e746966696572290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420636f6e7374727563742061207075626c696320706174682066726f6d207468652070726f76696465642070617468206964656e74696669657220737472696e6722290a0a20202020202020206c657420726563697069656e74203d206765744163636f756e7428746f290a20202020202020206c6574207265636569766572526566203d20726563697069656e742e6361706162696c69746965732e626f72726f773c267b46756e6769626c65546f6b656e2e52656365697665727d3e287075626c696350617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f2074686520726563697069656e7427732052656365697665722122290a0a20202020202020202f2f205472616e7366657220746f6b656e732066726f6d20746865207369676e657227732073746f726564207661756c7420746f20746865207265636569766572206361706162696c6974790a202020202020202072656365697665725265662e6465706f7369742866726f6d3a203c2d73656c662e74656d705661756c74290a202020207d0a7df8bab07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227daf7b2276616c7565223a22307838633533303365616132363230326436222c2274797065223a2241646472657373227daa7b2276616c7565223a22666c6f77546f6b656e5661756c74222c2274797065223a22537472696e67227dad7b2276616c7565223a22666c6f77546f6b656e5265636569766572222c2274797065223a22537472696e67227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", + "metadata": "02c9b9a6156280812703c15dde74df95cd0d7d1034dd2d8bf0cccf72b6071429886e5b8c83a3e8445eaa4bed391978443f124d9aa457fabdbaa016e0f65b57591e5472616e736665722046756e6769626c6520546f6b656e2077697468205061746873000401416d6f756e740000554669783634000301526563697069656e7400014164647265737300030153656e646572277320436f6c6c656374696f6e2050617468204964656e7469666965720002537472696e67000301526563697069656e7427732052656365697665722050617468204964656e7469666965720003537472696e670003", + "hash": "c9b9a6156280812703c15dde74df95cd0d7d1034dd2d8bf0cccf72b607142988" }, { - "title": "TH.11 - Request Unstake of FLOW", + "title": "FT.03 - Transfer Fungible Token with Address", "valid": true, "chainID": "Testnet", "payloadMessage": { - "script": "import LockedTokens from 0x95e019a17d0e23d7\nimport StakingProxy from 0x7aad92e5a0715d21\n\ntransaction(amount: UFix64) {\n\n let holderRef: &LockedTokens.TokenHolder\n\n prepare(account: AuthAccount) {\n self.holderRef = account.borrow<&LockedTokens.TokenHolder>(from: LockedTokens.TokenHolderStoragePath)\n ?? panic(\"Could not borrow reference to TokenHolder\")\n }\n\n execute {\n let stakerProxy = self.holderRef.borrowStaker()\n\n stakerProxy.requestUnstaking(amount: amount)\n }\n}\n", + "script": "import FungibleToken from 0x9a0766d93b6608b7\nimport FungibleTokenMetadataViews from 0x9a0766d93b6608b7\n\n/// Can pass in any contract address and name to transfer a token from that contract\n/// This lets you choose the token you want to send\n///\n/// Any contract can be chosen here, so wallets should check argument values\n/// to make sure the intended token path is passed in\n///\ntransaction(amount: UFix64, to: Address, contractAddress: Address, contractName: String) {\n\n // The Vault resource that holds the tokens that are being transferred\n let tempVault: @{FungibleToken.Vault}\n\n // FTVaultData struct to get paths from\n let vaultData: FungibleTokenMetadataViews.FTVaultData\n\n prepare(signer: auth(BorrowValue) &Account) {\n\n // Borrow a reference to the vault stored on the passed account at the passed publicPath\n let resolverRef = getAccount(contractAddress)\n .contracts.borrow<&{FungibleToken}>(name: contractName)\n ?? panic(\"Could not borrow a reference to the fungible token contract\")\n\n // Use that reference to retrieve the FTView \n self.vaultData = resolverRef.resolveContractView(resourceType: nil, viewType: Type()) as! FungibleTokenMetadataViews.FTVaultData?\n ?? panic(\"Could not resolve the FTVaultData view for the given Fungible token contract\")\n\n // Get a reference to the signer's stored vault\n let vaultRef = signer.storage.borrow(from: self.vaultData.storagePath)\n\t\t\t?? panic(\"Could not borrow reference to the owner's Vault!\")\n\n self.tempVault <- vaultRef.withdraw(amount: amount)\n }\n\n execute {\n let recipient = getAccount(to)\n let receiverRef = recipient.capabilities.borrow<&{FungibleToken.Receiver}>(self.vaultData.receiverPath)\n ?? panic(\"Could not borrow reference to the recipient's Receiver!\")\n\n // Transfer tokens from the signer's stored vault to the receiver capability\n receiverRef.deposit(from: <-self.tempVault)\n }\n}", "arguments": [ { "type": "UFix64", "value": "92233720368.54775808" + }, + { + "value": "0x8c5303eaa26202d6", + "type": "Address" + }, + { + "value": "0x8c5303eaa26202d6", + "type": "Address" + }, + { + "value": "FiatToken", + "type": "String" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -413,60 +408,25 @@ ] }, "envelopeMessage": { - "script": "import LockedTokens from 0x95e019a17d0e23d7\nimport StakingProxy from 0x7aad92e5a0715d21\n\ntransaction(amount: UFix64) {\n\n let holderRef: &LockedTokens.TokenHolder\n\n prepare(account: AuthAccount) {\n self.holderRef = account.borrow<&LockedTokens.TokenHolder>(from: LockedTokens.TokenHolderStoragePath)\n ?? panic(\"Could not borrow reference to TokenHolder\")\n }\n\n execute {\n let stakerProxy = self.holderRef.borrowStaker()\n\n stakerProxy.requestUnstaking(amount: amount)\n }\n}\n", + "script": "import FungibleToken from 0x9a0766d93b6608b7\nimport FungibleTokenMetadataViews from 0x9a0766d93b6608b7\n\n/// Can pass in any contract address and name to transfer a token from that contract\n/// This lets you choose the token you want to send\n///\n/// Any contract can be chosen here, so wallets should check argument values\n/// to make sure the intended token path is passed in\n///\ntransaction(amount: UFix64, to: Address, contractAddress: Address, contractName: String) {\n\n // The Vault resource that holds the tokens that are being transferred\n let tempVault: @{FungibleToken.Vault}\n\n // FTVaultData struct to get paths from\n let vaultData: FungibleTokenMetadataViews.FTVaultData\n\n prepare(signer: auth(BorrowValue) &Account) {\n\n // Borrow a reference to the vault stored on the passed account at the passed publicPath\n let resolverRef = getAccount(contractAddress)\n .contracts.borrow<&{FungibleToken}>(name: contractName)\n ?? panic(\"Could not borrow a reference to the fungible token contract\")\n\n // Use that reference to retrieve the FTView \n self.vaultData = resolverRef.resolveContractView(resourceType: nil, viewType: Type()) as! FungibleTokenMetadataViews.FTVaultData?\n ?? panic(\"Could not resolve the FTVaultData view for the given Fungible token contract\")\n\n // Get a reference to the signer's stored vault\n let vaultRef = signer.storage.borrow(from: self.vaultData.storagePath)\n\t\t\t?? panic(\"Could not borrow reference to the owner's Vault!\")\n\n self.tempVault <- vaultRef.withdraw(amount: amount)\n }\n\n execute {\n let recipient = getAccount(to)\n let receiverRef = recipient.capabilities.borrow<&{FungibleToken.Receiver}>(self.vaultData.receiverPath)\n ?? panic(\"Could not borrow reference to the recipient's Receiver!\")\n\n // Transfer tokens from the signer's stored vault to the receiver capability\n receiverRef.deposit(from: <-self.tempVault)\n }\n}", "arguments": [ { "type": "UFix64", "value": "92233720368.54775808" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "99a8ac2c71d4f6bd", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "99a8ac2c71d4f6bd", - "authorizers": [ - "99a8ac2c71d4f6bd" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f9027ab90205696d706f7274204c6f636b6564546f6b656e732066726f6d203078393565303139613137643065323364370a696d706f7274205374616b696e6750726f78792066726f6d203078376161643932653561303731356432310a0a7472616e73616374696f6e28616d6f756e743a2055466978363429207b0a0a202020206c657420686f6c6465725265663a20264c6f636b6564546f6b656e732e546f6b656e486f6c6465720a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e686f6c646572526566203d206163636f756e742e626f72726f773c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f20546f6b656e486f6c64657222290a202020207d0a0a2020202065786563757465207b0a20202020202020206c6574207374616b657250726f7879203d2073656c662e686f6c6465725265662e626f72726f775374616b657228290a0a20202020202020207374616b657250726f78792e72657175657374556e7374616b696e6728616d6f756e743a20616d6f756e74290a202020207d0a7d0af1b07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", - "encodedTransactionEnvelopeHex": "f9027ef9027ab90205696d706f7274204c6f636b6564546f6b656e732066726f6d203078393565303139613137643065323364370a696d706f7274205374616b696e6750726f78792066726f6d203078376161643932653561303731356432310a0a7472616e73616374696f6e28616d6f756e743a2055466978363429207b0a0a202020206c657420686f6c6465725265663a20264c6f636b6564546f6b656e732e546f6b656e486f6c6465720a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e686f6c646572526566203d206163636f756e742e626f72726f773c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f20546f6b656e486f6c64657222290a202020207d0a0a2020202065786563757465207b0a20202020202020206c6574207374616b657250726f7879203d2073656c662e686f6c6465725265662e626f72726f775374616b657228290a0a20202020202020207374616b657250726f78792e72657175657374556e7374616b696e6728616d6f756e743a20616d6f756e74290a202020207d0a7d0af1b07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", - "metadata": "0233e3977c45e7c23c1472bcf334d00b03ebf91b06b67c57b63b562c7b1ff5c59f4e2a35541453f89c55e5dc6dbc963290380d779c81df0b3bf89c29b2a8d7a9fe5265717565737420556e7374616b65206f6620464c4f57000101416d6f756e7400005546697836340003", - "hash": "33e3977c45e7c23c1472bcf334d00b03ebf91b06b67c57b63b562c7b1ff5c59f" - }, - { - "title": "TH.12 - Unstake All FLOW", - "valid": true, - "chainID": "Testnet", - "payloadMessage": { - "script": "import LockedTokens from 0x95e019a17d0e23d7\nimport StakingProxy from 0x7aad92e5a0715d21\n\ntransaction() {\n\n let holderRef: &LockedTokens.TokenHolder\n\n prepare(account: AuthAccount) {\n self.holderRef = account.borrow<&LockedTokens.TokenHolder>(from: LockedTokens.TokenHolderStoragePath)\n ?? panic(\"Could not borrow reference to TokenHolder\")\n }\n\n execute {\n let stakerProxy = self.holderRef.borrowStaker()\n\n stakerProxy.unstakeAll()\n }\n}\n", - "arguments": [], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "99a8ac2c71d4f6bd", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "99a8ac2c71d4f6bd", - "authorizers": [ - "99a8ac2c71d4f6bd" - ], - "payloadSigs": [ + }, { - "address": "99a8ac2c71d4f6bd", - "keyId": 4, - "sig": "f7225388c1d69d57e6251c9fda50cbbf9e05131e5adb81e5aa0422402f048162" + "value": "0x8c5303eaa26202d6", + "type": "Address" + }, + { + "value": "0x8c5303eaa26202d6", + "type": "Address" + }, + { + "value": "FiatToken", + "type": "String" } - ] - }, - "envelopeMessage": { - "script": "import LockedTokens from 0x95e019a17d0e23d7\nimport StakingProxy from 0x7aad92e5a0715d21\n\ntransaction() {\n\n let holderRef: &LockedTokens.TokenHolder\n\n prepare(account: AuthAccount) {\n self.holderRef = account.borrow<&LockedTokens.TokenHolder>(from: LockedTokens.TokenHolderStoragePath)\n ?? panic(\"Could not borrow reference to TokenHolder\")\n }\n\n execute {\n let stakerProxy = self.holderRef.borrowStaker()\n\n stakerProxy.unstakeAll()\n }\n}\n", - "arguments": [], + ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", "gasLimit": 42, "proposalKey": { @@ -480,21 +440,25 @@ ], "payloadSigs": [] }, - "encodedTransactionPayloadHex": "f90227b901e3696d706f7274204c6f636b6564546f6b656e732066726f6d203078393565303139613137643065323364370a696d706f7274205374616b696e6750726f78792066726f6d203078376161643932653561303731356432310a0a7472616e73616374696f6e2829207b0a0a202020206c657420686f6c6465725265663a20264c6f636b6564546f6b656e732e546f6b656e486f6c6465720a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e686f6c646572526566203d206163636f756e742e626f72726f773c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f20546f6b656e486f6c64657222290a202020207d0a0a2020202065786563757465207b0a20202020202020206c6574207374616b657250726f7879203d2073656c662e686f6c6465725265662e626f72726f775374616b657228290a0a20202020202020207374616b657250726f78792e756e7374616b65416c6c28290a202020207d0a7d0ac0a0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", - "encodedTransactionEnvelopeHex": "f9022bf90227b901e3696d706f7274204c6f636b6564546f6b656e732066726f6d203078393565303139613137643065323364370a696d706f7274205374616b696e6750726f78792066726f6d203078376161643932653561303731356432310a0a7472616e73616374696f6e2829207b0a0a202020206c657420686f6c6465725265663a20264c6f636b6564546f6b656e732e546f6b656e486f6c6465720a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e686f6c646572526566203d206163636f756e742e626f72726f773c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f20546f6b656e486f6c64657222290a202020207d0a0a2020202065786563757465207b0a20202020202020206c6574207374616b657250726f7879203d2073656c662e686f6c6465725265662e626f72726f775374616b657228290a0a20202020202020207374616b657250726f78792e756e7374616b65416c6c28290a202020207d0a7d0ac0a0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", - "metadata": "02f92c4cd663b2e335cd821a656bb2ebcf239b222036a7825af5e512fad4d820357099904b953b062e81e2575a2c2081b3d98bfccf5c743b4bdb224b937e292dad556e7374616b6520416c6c20464c4f570000", - "hash": "f92c4cd663b2e335cd821a656bb2ebcf239b222036a7825af5e512fad4d82035" + "encodedTransactionPayloadHex": "f9092bb9082f696d706f72742046756e6769626c65546f6b656e2066726f6d203078396130373636643933623636303862370a696d706f72742046756e6769626c65546f6b656e4d6574616461746156696577732066726f6d203078396130373636643933623636303862370a0a2f2f2f2043616e207061737320696e20616e7920636f6e7472616374206164647265737320616e64206e616d6520746f207472616e73666572206120746f6b656e2066726f6d207468617420636f6e74726163740a2f2f2f2054686973206c65747320796f752063686f6f73652074686520746f6b656e20796f752077616e7420746f2073656e640a2f2f2f0a2f2f2f20416e7920636f6e74726163742063616e2062652063686f73656e20686572652c20736f2077616c6c6574732073686f756c6420636865636b20617267756d656e742076616c7565730a2f2f2f20746f206d616b6520737572652074686520696e74656e64656420746f6b656e20706174682069732070617373656420696e0a2f2f2f0a7472616e73616374696f6e28616d6f756e743a205546697836342c20746f3a20416464726573732c20636f6e7472616374416464726573733a20416464726573732c20636f6e74726163744e616d653a20537472696e6729207b0a0a202020202f2f20546865205661756c74207265736f75726365207468617420686f6c64732074686520746f6b656e73207468617420617265206265696e67207472616e736665727265640a202020206c65742074656d705661756c743a20407b46756e6769626c65546f6b656e2e5661756c747d0a0a202020202f2f2046545661756c74446174612073747275637420746f206765742070617468732066726f6d0a202020206c6574207661756c74446174613a2046756e6769626c65546f6b656e4d6574616461746156696577732e46545661756c74446174610a0a2020202070726570617265287369676e65723a206175746828426f72726f7756616c75652920264163636f756e7429207b0a0a20202020202020202f2f20426f72726f772061207265666572656e636520746f20746865207661756c742073746f726564206f6e2074686520706173736564206163636f756e742061742074686520706173736564207075626c6963506174680a20202020202020206c6574207265736f6c766572526566203d206765744163636f756e7428636f6e747261637441646472657373290a2020202020202020202020202e636f6e7472616374732e626f72726f773c267b46756e6769626c65546f6b656e7d3e286e616d653a20636f6e74726163744e616d65290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f207468652066756e6769626c6520746f6b656e20636f6e747261637422290a0a20202020202020202f2f205573652074686174207265666572656e636520746f2072657472696576652074686520465456696577200a202020202020202073656c662e7661756c7444617461203d207265736f6c7665725265662e7265736f6c7665436f6e747261637456696577287265736f75726365547970653a206e696c2c2076696577547970653a20547970653c46756e6769626c65546f6b656e4d6574616461746156696577732e46545661756c74446174613e282929206173212046756e6769626c65546f6b656e4d6574616461746156696577732e46545661756c74446174613f0a2020202020202020202020203f3f2070616e69632822436f756c64206e6f74207265736f6c7665207468652046545661756c7444617461207669657720666f722074686520676976656e2046756e6769626c6520746f6b656e20636f6e747261637422290a0a20202020202020202f2f204765742061207265666572656e636520746f20746865207369676e657227732073746f726564207661756c740a20202020202020206c6574207661756c74526566203d207369676e65722e73746f726167652e626f72726f773c617574682846756e6769626c65546f6b656e2e57697468647261772920267b46756e6769626c65546f6b656e2e50726f76696465727d3e2866726f6d3a2073656c662e7661756c74446174612e73746f7261676550617468290a0909093f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f20746865206f776e65722773205661756c742122290a0a202020202020202073656c662e74656d705661756c74203c2d207661756c745265662e776974686472617728616d6f756e743a20616d6f756e74290a202020207d0a0a2020202065786563757465207b0a20202020202020206c657420726563697069656e74203d206765744163636f756e7428746f290a20202020202020206c6574207265636569766572526566203d20726563697069656e742e6361706162696c69746965732e626f72726f773c267b46756e6769626c65546f6b656e2e52656365697665727d3e2873656c662e7661756c74446174612e726563656976657250617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f2074686520726563697069656e7427732052656365697665722122290a0a20202020202020202f2f205472616e7366657220746f6b656e732066726f6d20746865207369676e657227732073746f726564207661756c7420746f20746865207265636569766572206361706162696c6974790a202020202020202072656365697665725265662e6465706f7369742866726f6d3a203c2d73656c662e74656d705661756c74290a202020207d0a7df8b7b07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227daf7b2276616c7565223a22307838633533303365616132363230326436222c2274797065223a2241646472657373227daf7b2276616c7565223a22307838633533303365616132363230326436222c2274797065223a2241646472657373227da57b2276616c7565223a2246696174546f6b656e222c2274797065223a22537472696e67227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", + "encodedTransactionEnvelopeHex": "f9092ff9092bb9082f696d706f72742046756e6769626c65546f6b656e2066726f6d203078396130373636643933623636303862370a696d706f72742046756e6769626c65546f6b656e4d6574616461746156696577732066726f6d203078396130373636643933623636303862370a0a2f2f2f2043616e207061737320696e20616e7920636f6e7472616374206164647265737320616e64206e616d6520746f207472616e73666572206120746f6b656e2066726f6d207468617420636f6e74726163740a2f2f2f2054686973206c65747320796f752063686f6f73652074686520746f6b656e20796f752077616e7420746f2073656e640a2f2f2f0a2f2f2f20416e7920636f6e74726163742063616e2062652063686f73656e20686572652c20736f2077616c6c6574732073686f756c6420636865636b20617267756d656e742076616c7565730a2f2f2f20746f206d616b6520737572652074686520696e74656e64656420746f6b656e20706174682069732070617373656420696e0a2f2f2f0a7472616e73616374696f6e28616d6f756e743a205546697836342c20746f3a20416464726573732c20636f6e7472616374416464726573733a20416464726573732c20636f6e74726163744e616d653a20537472696e6729207b0a0a202020202f2f20546865205661756c74207265736f75726365207468617420686f6c64732074686520746f6b656e73207468617420617265206265696e67207472616e736665727265640a202020206c65742074656d705661756c743a20407b46756e6769626c65546f6b656e2e5661756c747d0a0a202020202f2f2046545661756c74446174612073747275637420746f206765742070617468732066726f6d0a202020206c6574207661756c74446174613a2046756e6769626c65546f6b656e4d6574616461746156696577732e46545661756c74446174610a0a2020202070726570617265287369676e65723a206175746828426f72726f7756616c75652920264163636f756e7429207b0a0a20202020202020202f2f20426f72726f772061207265666572656e636520746f20746865207661756c742073746f726564206f6e2074686520706173736564206163636f756e742061742074686520706173736564207075626c6963506174680a20202020202020206c6574207265736f6c766572526566203d206765744163636f756e7428636f6e747261637441646472657373290a2020202020202020202020202e636f6e7472616374732e626f72726f773c267b46756e6769626c65546f6b656e7d3e286e616d653a20636f6e74726163744e616d65290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f207468652066756e6769626c6520746f6b656e20636f6e747261637422290a0a20202020202020202f2f205573652074686174207265666572656e636520746f2072657472696576652074686520465456696577200a202020202020202073656c662e7661756c7444617461203d207265736f6c7665725265662e7265736f6c7665436f6e747261637456696577287265736f75726365547970653a206e696c2c2076696577547970653a20547970653c46756e6769626c65546f6b656e4d6574616461746156696577732e46545661756c74446174613e282929206173212046756e6769626c65546f6b656e4d6574616461746156696577732e46545661756c74446174613f0a2020202020202020202020203f3f2070616e69632822436f756c64206e6f74207265736f6c7665207468652046545661756c7444617461207669657720666f722074686520676976656e2046756e6769626c6520746f6b656e20636f6e747261637422290a0a20202020202020202f2f204765742061207265666572656e636520746f20746865207369676e657227732073746f726564207661756c740a20202020202020206c6574207661756c74526566203d207369676e65722e73746f726167652e626f72726f773c617574682846756e6769626c65546f6b656e2e57697468647261772920267b46756e6769626c65546f6b656e2e50726f76696465727d3e2866726f6d3a2073656c662e7661756c74446174612e73746f7261676550617468290a0909093f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f20746865206f776e65722773205661756c742122290a0a202020202020202073656c662e74656d705661756c74203c2d207661756c745265662e776974686472617728616d6f756e743a20616d6f756e74290a202020207d0a0a2020202065786563757465207b0a20202020202020206c657420726563697069656e74203d206765744163636f756e7428746f290a20202020202020206c6574207265636569766572526566203d20726563697069656e742e6361706162696c69746965732e626f72726f773c267b46756e6769626c65546f6b656e2e52656365697665727d3e2873656c662e7661756c74446174612e726563656976657250617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f2074686520726563697069656e7427732052656365697665722122290a0a20202020202020202f2f205472616e7366657220746f6b656e732066726f6d20746865207369676e657227732073746f726564207661756c7420746f20746865207265636569766572206361706162696c6974790a202020202020202072656365697665725265662e6465706f7369742866726f6d3a203c2d73656c662e74656d705661756c74290a202020207d0a7df8b7b07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227daf7b2276616c7565223a22307838633533303365616132363230326436222c2274797065223a2241646472657373227daf7b2276616c7565223a22307838633533303365616132363230326436222c2274797065223a2241646472657373227da57b2276616c7565223a2246696174546f6b656e222c2274797065223a22537472696e67227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", + "metadata": "02c1518742a95f9b49259abed8364b05d616ee8acebe123e9979f762b9e7522f93697ad2a90da93cbd02b7658f174c9c32e2016a574edb89cf24b57a8155c343e45472616e736665722046756e6769626c6520546f6b656e20776974682041646472657373000401416d6f756e740000554669783634000301526563697069656e74000141646472657373000301465420436f6e74726163742041646472657373000241646472657373000301465420436f6e7472616374204e616d650003537472696e670003", + "hash": "c1518742a95f9b49259abed8364b05d616ee8acebe123e9979f762b9e7522f93" }, { - "title": "TH.13 - Withdraw Unstaked FLOW", + "title": "NFT.01 - Setup NFT Collection", "valid": true, "chainID": "Testnet", "payloadMessage": { - "script": "import LockedTokens from 0x95e019a17d0e23d7\nimport StakingProxy from 0x7aad92e5a0715d21\n\ntransaction(amount: UFix64) {\n\n let holderRef: &LockedTokens.TokenHolder\n\n prepare(account: AuthAccount) {\n self.holderRef = account.borrow<&LockedTokens.TokenHolder>(from: LockedTokens.TokenHolderStoragePath)\n ?? panic(\"Could not borrow reference to TokenHolder\")\n }\n\n execute {\n let stakerProxy = self.holderRef.borrowStaker()\n\n stakerProxy.withdrawUnstakedTokens(amount: amount)\n }\n}\n", + "script": "/// This transaction is what an account would run\n/// to set itself up to receive NFTs. This function\n/// uses views to know where to set up the collection\n/// in storage and to create the empty collection.\n\nimport 0x631e88ae7f1d7c20\nimport 0x631e88ae7f1d7c20\n\ntransaction(contractAddress: Address, contractName: String) {\n\n prepare(signer: auth(IssueStorageCapabilityController, PublishCapability, SaveValue) &Account) {\n // Borrow a reference to the nft contract deployed to the passed account\n let resolverRef = getAccount(contractAddress)\n .contracts.borrow<&{NonFungibleToken}>(name: contractName)\n ?? panic(\"Could not borrow a reference to the non-fungible token contract\")\n\n // Use that reference to retrieve the NFTCollectionData view \n let collectionData = resolverRef.resolveContractView(resourceType: nil, viewType: Type()) as! MetadataViews.NFTCollectionData?\n ?? panic(\"Could not resolve the NFTCollectionData view for the given non-fungible token contract\")\n\n // Create a new empty collections\n let emptyCollection <- collectionData.createEmptyCollection()\n\n // save it to the account\n signer.storage.save(<-emptyCollection, to: collectionData.storagePath)\n\n // create a public capability for the collection\n let collectionCap = signer.capabilities.storage.issue<&{NonFungibleToken.Collection}>(\n collectionData.storagePath\n )\n signer.capabilities.publish(collectionCap, at: collectionData.publicPath)\n }\n}\n", "arguments": [ { - "type": "UFix64", - "value": "92233720368.54775808" + "type": "Address", + "value": "0x8c5303eaa26202d6" + }, + { + "value": "TopShot", + "type": "String" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -517,11 +481,15 @@ ] }, "envelopeMessage": { - "script": "import LockedTokens from 0x95e019a17d0e23d7\nimport StakingProxy from 0x7aad92e5a0715d21\n\ntransaction(amount: UFix64) {\n\n let holderRef: &LockedTokens.TokenHolder\n\n prepare(account: AuthAccount) {\n self.holderRef = account.borrow<&LockedTokens.TokenHolder>(from: LockedTokens.TokenHolderStoragePath)\n ?? panic(\"Could not borrow reference to TokenHolder\")\n }\n\n execute {\n let stakerProxy = self.holderRef.borrowStaker()\n\n stakerProxy.withdrawUnstakedTokens(amount: amount)\n }\n}\n", + "script": "/// This transaction is what an account would run\n/// to set itself up to receive NFTs. This function\n/// uses views to know where to set up the collection\n/// in storage and to create the empty collection.\n\nimport 0x631e88ae7f1d7c20\nimport 0x631e88ae7f1d7c20\n\ntransaction(contractAddress: Address, contractName: String) {\n\n prepare(signer: auth(IssueStorageCapabilityController, PublishCapability, SaveValue) &Account) {\n // Borrow a reference to the nft contract deployed to the passed account\n let resolverRef = getAccount(contractAddress)\n .contracts.borrow<&{NonFungibleToken}>(name: contractName)\n ?? panic(\"Could not borrow a reference to the non-fungible token contract\")\n\n // Use that reference to retrieve the NFTCollectionData view \n let collectionData = resolverRef.resolveContractView(resourceType: nil, viewType: Type()) as! MetadataViews.NFTCollectionData?\n ?? panic(\"Could not resolve the NFTCollectionData view for the given non-fungible token contract\")\n\n // Create a new empty collections\n let emptyCollection <- collectionData.createEmptyCollection()\n\n // save it to the account\n signer.storage.save(<-emptyCollection, to: collectionData.storagePath)\n\n // create a public capability for the collection\n let collectionCap = signer.capabilities.storage.issue<&{NonFungibleToken.Collection}>(\n collectionData.storagePath\n )\n signer.capabilities.publish(collectionCap, at: collectionData.publicPath)\n }\n}\n", "arguments": [ { - "type": "UFix64", - "value": "92233720368.54775808" + "type": "Address", + "value": "0x8c5303eaa26202d6" + }, + { + "value": "TopShot", + "type": "String" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -537,21 +505,33 @@ ], "payloadSigs": [] }, - "encodedTransactionPayloadHex": "f90280b9020b696d706f7274204c6f636b6564546f6b656e732066726f6d203078393565303139613137643065323364370a696d706f7274205374616b696e6750726f78792066726f6d203078376161643932653561303731356432310a0a7472616e73616374696f6e28616d6f756e743a2055466978363429207b0a0a202020206c657420686f6c6465725265663a20264c6f636b6564546f6b656e732e546f6b656e486f6c6465720a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e686f6c646572526566203d206163636f756e742e626f72726f773c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f20546f6b656e486f6c64657222290a202020207d0a0a2020202065786563757465207b0a20202020202020206c6574207374616b657250726f7879203d2073656c662e686f6c6465725265662e626f72726f775374616b657228290a0a20202020202020207374616b657250726f78792e7769746864726177556e7374616b6564546f6b656e7328616d6f756e743a20616d6f756e74290a202020207d0a7d0af1b07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", - "encodedTransactionEnvelopeHex": "f90284f90280b9020b696d706f7274204c6f636b6564546f6b656e732066726f6d203078393565303139613137643065323364370a696d706f7274205374616b696e6750726f78792066726f6d203078376161643932653561303731356432310a0a7472616e73616374696f6e28616d6f756e743a2055466978363429207b0a0a202020206c657420686f6c6465725265663a20264c6f636b6564546f6b656e732e546f6b656e486f6c6465720a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e686f6c646572526566203d206163636f756e742e626f72726f773c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f20546f6b656e486f6c64657222290a202020207d0a0a2020202065786563757465207b0a20202020202020206c6574207374616b657250726f7879203d2073656c662e686f6c6465725265662e626f72726f775374616b657228290a0a20202020202020207374616b657250726f78792e7769746864726177556e7374616b6564546f6b656e7328616d6f756e743a20616d6f756e74290a202020207d0a7d0af1b07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", - "metadata": "0290097e3aff9b67f65bbada3cdedbb73d45d093ff333aaaff38809bf9910a3e39dcae4faa6d689873f7caf7c5efef669f9fe1d4113e58b474b7aec1e07113a7ff576974686472617720556e7374616b656420464c4f57000101416d6f756e7400005546697836340003", - "hash": "90097e3aff9b67f65bbada3cdedbb73d45d093ff333aaaff38809bf9910a3e39" + "encodedTransactionPayloadHex": "f906d5b9063c2f2f2f2054686973207472616e73616374696f6e206973207768617420616e206163636f756e7420776f756c642072756e0a2f2f2f20746f2073657420697473656c6620757020746f2072656365697665204e4654732e20546869732066756e6374696f6e0a2f2f2f207573657320766965777320746f206b6e6f7720776865726520746f207365742075702074686520636f6c6c656374696f6e0a2f2f2f20696e2073746f7261676520616e6420746f206372656174652074686520656d70747920636f6c6c656374696f6e2e0a0a696d706f7274203078363331653838616537663164376332300a696d706f7274203078363331653838616537663164376332300a0a7472616e73616374696f6e28636f6e7472616374416464726573733a20416464726573732c20636f6e74726163744e616d653a20537472696e6729207b0a0a2020202070726570617265287369676e65723a206175746828497373756553746f726167654361706162696c697479436f6e74726f6c6c65722c205075626c6973684361706162696c6974792c205361766556616c75652920264163636f756e7429207b0a20202020202020202f2f20426f72726f772061207265666572656e636520746f20746865206e667420636f6e7472616374206465706c6f79656420746f2074686520706173736564206163636f756e740a20202020202020206c6574207265736f6c766572526566203d206765744163636f756e7428636f6e747261637441646472657373290a2020202020202020202020202e636f6e7472616374732e626f72726f773c267b4e6f6e46756e6769626c65546f6b656e7d3e286e616d653a20636f6e74726163744e616d65290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f20746865206e6f6e2d66756e6769626c6520746f6b656e20636f6e747261637422290a0a20202020202020202f2f205573652074686174207265666572656e636520746f20726574726965766520746865204e4654436f6c6c656374696f6e446174612076696577200a20202020202020206c657420636f6c6c656374696f6e44617461203d207265736f6c7665725265662e7265736f6c7665436f6e747261637456696577287265736f75726365547970653a206e696c2c2076696577547970653a20547970653c4d6574616461746156696577732e4e4654436f6c6c656374696f6e446174613e28292920617321204d6574616461746156696577732e4e4654436f6c6c656374696f6e446174613f0a2020202020202020202020203f3f2070616e69632822436f756c64206e6f74207265736f6c766520746865204e4654436f6c6c656374696f6e44617461207669657720666f722074686520676976656e206e6f6e2d66756e6769626c6520746f6b656e20636f6e747261637422290a0a20202020202020202f2f204372656174652061206e657720656d70747920636f6c6c656374696f6e730a20202020202020206c657420656d707479436f6c6c656374696f6e203c2d20636f6c6c656374696f6e446174612e637265617465456d707479436f6c6c656374696f6e28290a0a20202020202020202f2f207361766520697420746f20746865206163636f756e740a20202020202020207369676e65722e73746f726167652e73617665283c2d656d707479436f6c6c656374696f6e2c20746f3a20636f6c6c656374696f6e446174612e73746f7261676550617468290a0a20202020202020202f2f206372656174652061207075626c6963206361706162696c69747920666f722074686520636f6c6c656374696f6e0a20202020202020206c657420636f6c6c656374696f6e436170203d207369676e65722e6361706162696c69746965732e73746f726167652e69737375653c267b4e6f6e46756e6769626c65546f6b656e2e436f6c6c656374696f6e7d3e280a20202020202020202020202020202020636f6c6c656374696f6e446174612e73746f72616765506174680a202020202020202020202020290a20202020202020207369676e65722e6361706162696c69746965732e7075626c69736828636f6c6c656374696f6e4361702c2061743a20636f6c6c656374696f6e446174612e7075626c696350617468290a202020207d0a7d0af854af7b2274797065223a2241646472657373222c2276616c7565223a22307838633533303365616132363230326436227da37b2276616c7565223a22546f7053686f74222c2274797065223a22537472696e67227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", + "encodedTransactionEnvelopeHex": "f906d9f906d5b9063c2f2f2f2054686973207472616e73616374696f6e206973207768617420616e206163636f756e7420776f756c642072756e0a2f2f2f20746f2073657420697473656c6620757020746f2072656365697665204e4654732e20546869732066756e6374696f6e0a2f2f2f207573657320766965777320746f206b6e6f7720776865726520746f207365742075702074686520636f6c6c656374696f6e0a2f2f2f20696e2073746f7261676520616e6420746f206372656174652074686520656d70747920636f6c6c656374696f6e2e0a0a696d706f7274203078363331653838616537663164376332300a696d706f7274203078363331653838616537663164376332300a0a7472616e73616374696f6e28636f6e7472616374416464726573733a20416464726573732c20636f6e74726163744e616d653a20537472696e6729207b0a0a2020202070726570617265287369676e65723a206175746828497373756553746f726167654361706162696c697479436f6e74726f6c6c65722c205075626c6973684361706162696c6974792c205361766556616c75652920264163636f756e7429207b0a20202020202020202f2f20426f72726f772061207265666572656e636520746f20746865206e667420636f6e7472616374206465706c6f79656420746f2074686520706173736564206163636f756e740a20202020202020206c6574207265736f6c766572526566203d206765744163636f756e7428636f6e747261637441646472657373290a2020202020202020202020202e636f6e7472616374732e626f72726f773c267b4e6f6e46756e6769626c65546f6b656e7d3e286e616d653a20636f6e74726163744e616d65290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f20746865206e6f6e2d66756e6769626c6520746f6b656e20636f6e747261637422290a0a20202020202020202f2f205573652074686174207265666572656e636520746f20726574726965766520746865204e4654436f6c6c656374696f6e446174612076696577200a20202020202020206c657420636f6c6c656374696f6e44617461203d207265736f6c7665725265662e7265736f6c7665436f6e747261637456696577287265736f75726365547970653a206e696c2c2076696577547970653a20547970653c4d6574616461746156696577732e4e4654436f6c6c656374696f6e446174613e28292920617321204d6574616461746156696577732e4e4654436f6c6c656374696f6e446174613f0a2020202020202020202020203f3f2070616e69632822436f756c64206e6f74207265736f6c766520746865204e4654436f6c6c656374696f6e44617461207669657720666f722074686520676976656e206e6f6e2d66756e6769626c6520746f6b656e20636f6e747261637422290a0a20202020202020202f2f204372656174652061206e657720656d70747920636f6c6c656374696f6e730a20202020202020206c657420656d707479436f6c6c656374696f6e203c2d20636f6c6c656374696f6e446174612e637265617465456d707479436f6c6c656374696f6e28290a0a20202020202020202f2f207361766520697420746f20746865206163636f756e740a20202020202020207369676e65722e73746f726167652e73617665283c2d656d707479436f6c6c656374696f6e2c20746f3a20636f6c6c656374696f6e446174612e73746f7261676550617468290a0a20202020202020202f2f206372656174652061207075626c6963206361706162696c69747920666f722074686520636f6c6c656374696f6e0a20202020202020206c657420636f6c6c656374696f6e436170203d207369676e65722e6361706162696c69746965732e73746f726167652e69737375653c267b4e6f6e46756e6769626c65546f6b656e2e436f6c6c656374696f6e7d3e280a20202020202020202020202020202020636f6c6c656374696f6e446174612e73746f72616765506174680a202020202020202020202020290a20202020202020207369676e65722e6361706162696c69746965732e7075626c69736828636f6c6c656374696f6e4361702c2061743a20636f6c6c656374696f6e446174612e7075626c696350617468290a202020207d0a7d0af854af7b2274797065223a2241646472657373222c2276616c7565223a22307838633533303365616132363230326436227da37b2276616c7565223a22546f7053686f74222c2274797065223a22537472696e67227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", + "metadata": "02d9ef3b05f8b06d43c3a0ef4066e88e6248323c5f235f9a5d1f8a85d6e2bc9bfa1d12c005fa7a08277204e5d54e29b725c52b9e8e3dd6ff6e01f8d47d7be1626c5365747570204e465420436f6c6c656374696f6e0002014e465420436f6e747261637420416464726573730000416464726573730003014e465420436f6e7472616374204e616d650001537472696e670003", + "hash": "d9ef3b05f8b06d43c3a0ef4066e88e6248323c5f235f9a5d1f8a85d6e2bc9bfa" }, { - "title": "TH.14 - Withdraw Rewarded FLOW", + "title": "NFT.02 - Transfer NFT with Paths", "valid": true, "chainID": "Testnet", "payloadMessage": { - "script": "import LockedTokens from 0x95e019a17d0e23d7\nimport FlowToken from 0x7e60df042a9c0868\n\ntransaction(amount: UFix64) {\n\n let holderRef: &LockedTokens.TokenHolder\n let vaultRef: &FlowToken.Vault\n\n prepare(account: AuthAccount) {\n self.holderRef = account.borrow<&LockedTokens.TokenHolder>(from: LockedTokens.TokenHolderStoragePath)\n ?? panic(\"Could not borrow reference to TokenHolder\")\n\n self.vaultRef = account.borrow<&FlowToken.Vault>(from: /storage/flowTokenVault)\n ?? panic(\"Could not borrow reference to FlowToken value\")\n }\n\n execute {\n let stakerProxy = self.holderRef.borrowStaker()\n\n stakerProxy.withdrawRewardedTokens(amount: amount)\n self.vaultRef.deposit(from: <-self.holderRef.withdraw(amount: amount))\n }\n}\n", + "script": "import 0x631e88ae7f1d7c20\n\n/// Can pass in any storage path and receiver path instead of just the default.\n/// This lets you choose the token you want to send as well the capability you want to send it to.\n///\n/// Any token path can be passed as an argument here, so wallets should\n/// should check argument values to make sure the intended token path is passed in\n///\ntransaction(to: Address, id: UInt64, senderPathIdentifier: String, receiverPathIdentifier: String) {\n\n // The NFT resource to be transferred\n let tempNFT: @{NonFungibleToken.NFT}\n\n prepare(signer: auth(BorrowValue) &Account) {\n\n let storagePath = StoragePath(identifier: senderPathIdentifier)\n ?? panic(\"Could not construct a storage path from the provided path identifier string\")\n\n // borrow a reference to the signer's NFT collection\n let withdrawRef = signer.storage.borrow(\n from: storagePath\n ) ?? panic(\"Account does not store a collection object at the specified path\")\n\n self.tempNFT <- withdrawRef.withdraw(withdrawID: id)\n }\n\n execute {\n let publicPath = PublicPath(identifier: receiverPathIdentifier)\n ?? panic(\"Could not construct a public path from the provided path identifier string\")\n\n // get the recipients public account object\n let recipient = getAccount(to)\n\n // borrow a public reference to the receivers collection\n let receiverCap = recipient.capabilities.get<&{NonFungibleToken.Receiver}>(publicPath)\n ?? panic(\"Could not get the recipient's Receiver Capability\")\n\n let receiverRef = receiverCap.borrow()\n ?? panic(\"Could not borrow reference to the recipient's receiver\")\n\n // Deposit the NFT to the receiver\n receiverRef.deposit(token: <-self.tempNFT)\n }\n}", "arguments": [ { - "type": "UFix64", - "value": "92233720368.54775808" + "type": "Address", + "value": "0x8c5303eaa26202d6" + }, + { + "value": "10", + "type": "UInt64" + }, + { + "value": "flowTokenVault", + "type": "String" + }, + { + "value": "flowTokenReceiver", + "type": "String" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -574,11 +554,23 @@ ] }, "envelopeMessage": { - "script": "import LockedTokens from 0x95e019a17d0e23d7\nimport FlowToken from 0x7e60df042a9c0868\n\ntransaction(amount: UFix64) {\n\n let holderRef: &LockedTokens.TokenHolder\n let vaultRef: &FlowToken.Vault\n\n prepare(account: AuthAccount) {\n self.holderRef = account.borrow<&LockedTokens.TokenHolder>(from: LockedTokens.TokenHolderStoragePath)\n ?? panic(\"Could not borrow reference to TokenHolder\")\n\n self.vaultRef = account.borrow<&FlowToken.Vault>(from: /storage/flowTokenVault)\n ?? panic(\"Could not borrow reference to FlowToken value\")\n }\n\n execute {\n let stakerProxy = self.holderRef.borrowStaker()\n\n stakerProxy.withdrawRewardedTokens(amount: amount)\n self.vaultRef.deposit(from: <-self.holderRef.withdraw(amount: amount))\n }\n}\n", + "script": "import 0x631e88ae7f1d7c20\n\n/// Can pass in any storage path and receiver path instead of just the default.\n/// This lets you choose the token you want to send as well the capability you want to send it to.\n///\n/// Any token path can be passed as an argument here, so wallets should\n/// should check argument values to make sure the intended token path is passed in\n///\ntransaction(to: Address, id: UInt64, senderPathIdentifier: String, receiverPathIdentifier: String) {\n\n // The NFT resource to be transferred\n let tempNFT: @{NonFungibleToken.NFT}\n\n prepare(signer: auth(BorrowValue) &Account) {\n\n let storagePath = StoragePath(identifier: senderPathIdentifier)\n ?? panic(\"Could not construct a storage path from the provided path identifier string\")\n\n // borrow a reference to the signer's NFT collection\n let withdrawRef = signer.storage.borrow(\n from: storagePath\n ) ?? panic(\"Account does not store a collection object at the specified path\")\n\n self.tempNFT <- withdrawRef.withdraw(withdrawID: id)\n }\n\n execute {\n let publicPath = PublicPath(identifier: receiverPathIdentifier)\n ?? panic(\"Could not construct a public path from the provided path identifier string\")\n\n // get the recipients public account object\n let recipient = getAccount(to)\n\n // borrow a public reference to the receivers collection\n let receiverCap = recipient.capabilities.get<&{NonFungibleToken.Receiver}>(publicPath)\n ?? panic(\"Could not get the recipient's Receiver Capability\")\n\n let receiverRef = receiverCap.borrow()\n ?? panic(\"Could not borrow reference to the recipient's receiver\")\n\n // Deposit the NFT to the receiver\n receiverRef.deposit(token: <-self.tempNFT)\n }\n}", "arguments": [ { - "type": "UFix64", - "value": "92233720368.54775808" + "type": "Address", + "value": "0x8c5303eaa26202d6" + }, + { + "value": "10", + "type": "UInt64" + }, + { + "value": "flowTokenVault", + "type": "String" + }, + { + "value": "flowTokenReceiver", + "type": "String" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -594,29 +586,33 @@ ], "payloadSigs": [] }, - "encodedTransactionPayloadHex": "f9038eb90319696d706f7274204c6f636b6564546f6b656e732066726f6d203078393565303139613137643065323364370a696d706f727420466c6f77546f6b656e2066726f6d203078376536306466303432613963303836380a0a7472616e73616374696f6e28616d6f756e743a2055466978363429207b0a0a202020206c657420686f6c6465725265663a20264c6f636b6564546f6b656e732e546f6b656e486f6c6465720a202020206c6574207661756c745265663a2026466c6f77546f6b656e2e5661756c740a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e686f6c646572526566203d206163636f756e742e626f72726f773c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f20546f6b656e486f6c64657222290a0a202020202020202073656c662e7661756c74526566203d206163636f756e742e626f72726f773c26466c6f77546f6b656e2e5661756c743e2866726f6d3a202f73746f726167652f666c6f77546f6b656e5661756c74290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f20466c6f77546f6b656e2076616c756522290a202020207d0a0a2020202065786563757465207b0a20202020202020206c6574207374616b657250726f7879203d2073656c662e686f6c6465725265662e626f72726f775374616b657228290a0a20202020202020207374616b657250726f78792e77697468647261775265776172646564546f6b656e7328616d6f756e743a20616d6f756e74290a202020202020202073656c662e7661756c745265662e6465706f7369742866726f6d3a203c2d73656c662e686f6c6465725265662e776974686472617728616d6f756e743a20616d6f756e7429290a202020207d0a7d0af1b07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", - "encodedTransactionEnvelopeHex": "f90392f9038eb90319696d706f7274204c6f636b6564546f6b656e732066726f6d203078393565303139613137643065323364370a696d706f727420466c6f77546f6b656e2066726f6d203078376536306466303432613963303836380a0a7472616e73616374696f6e28616d6f756e743a2055466978363429207b0a0a202020206c657420686f6c6465725265663a20264c6f636b6564546f6b656e732e546f6b656e486f6c6465720a202020206c6574207661756c745265663a2026466c6f77546f6b656e2e5661756c740a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e686f6c646572526566203d206163636f756e742e626f72726f773c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f20546f6b656e486f6c64657222290a0a202020202020202073656c662e7661756c74526566203d206163636f756e742e626f72726f773c26466c6f77546f6b656e2e5661756c743e2866726f6d3a202f73746f726167652f666c6f77546f6b656e5661756c74290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f20466c6f77546f6b656e2076616c756522290a202020207d0a0a2020202065786563757465207b0a20202020202020206c6574207374616b657250726f7879203d2073656c662e686f6c6465725265662e626f72726f775374616b657228290a0a20202020202020207374616b657250726f78792e77697468647261775265776172646564546f6b656e7328616d6f756e743a20616d6f756e74290a202020202020202073656c662e7661756c745265662e6465706f7369742866726f6d3a203c2d73656c662e686f6c6465725265662e776974686472617728616d6f756e743a20616d6f756e7429290a202020207d0a7d0af1b07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", - "metadata": "02f23406ff402f02418629432912ce732be0441b1a7e71f16c03d688a165ff7f499bb8f0562eea5e45c11f9289540f39c99a21c9a0fb060a7d3f832e98c2696f2d576974686472617720526577617264656420464c4f57000101416d6f756e7400005546697836340003", - "hash": "f23406ff402f02418629432912ce732be0441b1a7e71f16c03d688a165ff7f49" + "encodedTransactionPayloadHex": "f9084db90760696d706f7274203078363331653838616537663164376332300a0a2f2f2f2043616e207061737320696e20616e792073746f72616765207061746820616e64207265636569766572207061746820696e7374656164206f66206a757374207468652064656661756c742e0a2f2f2f2054686973206c65747320796f752063686f6f73652074686520746f6b656e20796f752077616e7420746f2073656e642061732077656c6c20746865206361706162696c69747920796f752077616e7420746f2073656e6420697420746f2e0a2f2f2f0a2f2f2f20416e7920746f6b656e20706174682063616e2062652070617373656420617320616e20617267756d656e7420686572652c20736f2077616c6c6574732073686f756c640a2f2f2f2073686f756c6420636865636b20617267756d656e742076616c75657320746f206d616b6520737572652074686520696e74656e64656420746f6b656e20706174682069732070617373656420696e0a2f2f2f0a7472616e73616374696f6e28746f3a20416464726573732c2069643a2055496e7436342c2073656e646572506174684964656e7469666965723a20537472696e672c207265636569766572506174684964656e7469666965723a20537472696e6729207b0a0a202020202f2f20546865204e4654207265736f7572636520746f206265207472616e736665727265640a202020206c65742074656d704e46543a20407b4e6f6e46756e6769626c65546f6b656e2e4e46547d0a0a2020202070726570617265287369676e65723a206175746828426f72726f7756616c75652920264163636f756e7429207b0a0a20202020202020206c65742073746f7261676550617468203d2053746f7261676550617468286964656e7469666965723a2073656e646572506174684964656e746966696572290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420636f6e73747275637420612073746f7261676520706174682066726f6d207468652070726f76696465642070617468206964656e74696669657220737472696e6722290a0a20202020202020202f2f20626f72726f772061207265666572656e636520746f20746865207369676e65722773204e465420636f6c6c656374696f6e0a20202020202020206c6574207769746864726177526566203d207369676e65722e73746f726167652e626f72726f773c61757468284e6f6e46756e6769626c65546f6b656e2e57697468647261772920267b4e6f6e46756e6769626c65546f6b656e2e436f6c6c656374696f6e7d3e280a2020202020202020202020202020202066726f6d3a2073746f72616765506174680a20202020202020202020202029203f3f2070616e696328224163636f756e7420646f6573206e6f742073746f7265206120636f6c6c656374696f6e206f626a6563742061742074686520737065636966696564207061746822290a0a202020202020202073656c662e74656d704e4654203c2d2077697468647261775265662e776974686472617728776974686472617749443a206964290a202020207d0a0a2020202065786563757465207b0a20202020202020206c6574207075626c696350617468203d205075626c696350617468286964656e7469666965723a207265636569766572506174684964656e746966696572290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420636f6e7374727563742061207075626c696320706174682066726f6d207468652070726f76696465642070617468206964656e74696669657220737472696e6722290a0a20202020202020202f2f206765742074686520726563697069656e7473207075626c6963206163636f756e74206f626a6563740a20202020202020206c657420726563697069656e74203d206765744163636f756e7428746f290a0a20202020202020202f2f20626f72726f772061207075626c6963207265666572656e636520746f207468652072656365697665727320636f6c6c656374696f6e0a20202020202020206c6574207265636569766572436170203d20726563697069656e742e6361706162696c69746965732e6765743c267b4e6f6e46756e6769626c65546f6b656e2e52656365697665727d3e287075626c696350617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f74206765742074686520726563697069656e742773205265636569766572204361706162696c69747922290a0a20202020202020206c6574207265636569766572526566203d2072656365697665724361702e626f72726f7728290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f2074686520726563697069656e74277320726563656976657222290a0a20202020202020202f2f204465706f73697420746865204e465420746f207468652072656365697665720a202020202020202072656365697665725265662e6465706f73697428746f6b656e3a203c2d73656c662e74656d704e4654290a202020207d0a7df8a8af7b2274797065223a2241646472657373222c2276616c7565223a22307838633533303365616132363230326436227d9e7b2276616c7565223a223130222c2274797065223a2255496e743634227daa7b2276616c7565223a22666c6f77546f6b656e5661756c74222c2274797065223a22537472696e67227dad7b2276616c7565223a22666c6f77546f6b656e5265636569766572222c2274797065223a22537472696e67227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", + "encodedTransactionEnvelopeHex": "f90851f9084db90760696d706f7274203078363331653838616537663164376332300a0a2f2f2f2043616e207061737320696e20616e792073746f72616765207061746820616e64207265636569766572207061746820696e7374656164206f66206a757374207468652064656661756c742e0a2f2f2f2054686973206c65747320796f752063686f6f73652074686520746f6b656e20796f752077616e7420746f2073656e642061732077656c6c20746865206361706162696c69747920796f752077616e7420746f2073656e6420697420746f2e0a2f2f2f0a2f2f2f20416e7920746f6b656e20706174682063616e2062652070617373656420617320616e20617267756d656e7420686572652c20736f2077616c6c6574732073686f756c640a2f2f2f2073686f756c6420636865636b20617267756d656e742076616c75657320746f206d616b6520737572652074686520696e74656e64656420746f6b656e20706174682069732070617373656420696e0a2f2f2f0a7472616e73616374696f6e28746f3a20416464726573732c2069643a2055496e7436342c2073656e646572506174684964656e7469666965723a20537472696e672c207265636569766572506174684964656e7469666965723a20537472696e6729207b0a0a202020202f2f20546865204e4654207265736f7572636520746f206265207472616e736665727265640a202020206c65742074656d704e46543a20407b4e6f6e46756e6769626c65546f6b656e2e4e46547d0a0a2020202070726570617265287369676e65723a206175746828426f72726f7756616c75652920264163636f756e7429207b0a0a20202020202020206c65742073746f7261676550617468203d2053746f7261676550617468286964656e7469666965723a2073656e646572506174684964656e746966696572290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420636f6e73747275637420612073746f7261676520706174682066726f6d207468652070726f76696465642070617468206964656e74696669657220737472696e6722290a0a20202020202020202f2f20626f72726f772061207265666572656e636520746f20746865207369676e65722773204e465420636f6c6c656374696f6e0a20202020202020206c6574207769746864726177526566203d207369676e65722e73746f726167652e626f72726f773c61757468284e6f6e46756e6769626c65546f6b656e2e57697468647261772920267b4e6f6e46756e6769626c65546f6b656e2e436f6c6c656374696f6e7d3e280a2020202020202020202020202020202066726f6d3a2073746f72616765506174680a20202020202020202020202029203f3f2070616e696328224163636f756e7420646f6573206e6f742073746f7265206120636f6c6c656374696f6e206f626a6563742061742074686520737065636966696564207061746822290a0a202020202020202073656c662e74656d704e4654203c2d2077697468647261775265662e776974686472617728776974686472617749443a206964290a202020207d0a0a2020202065786563757465207b0a20202020202020206c6574207075626c696350617468203d205075626c696350617468286964656e7469666965723a207265636569766572506174684964656e746966696572290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420636f6e7374727563742061207075626c696320706174682066726f6d207468652070726f76696465642070617468206964656e74696669657220737472696e6722290a0a20202020202020202f2f206765742074686520726563697069656e7473207075626c6963206163636f756e74206f626a6563740a20202020202020206c657420726563697069656e74203d206765744163636f756e7428746f290a0a20202020202020202f2f20626f72726f772061207075626c6963207265666572656e636520746f207468652072656365697665727320636f6c6c656374696f6e0a20202020202020206c6574207265636569766572436170203d20726563697069656e742e6361706162696c69746965732e6765743c267b4e6f6e46756e6769626c65546f6b656e2e52656365697665727d3e287075626c696350617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f74206765742074686520726563697069656e742773205265636569766572204361706162696c69747922290a0a20202020202020206c6574207265636569766572526566203d2072656365697665724361702e626f72726f7728290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f2074686520726563697069656e74277320726563656976657222290a0a20202020202020202f2f204465706f73697420746865204e465420746f207468652072656365697665720a202020202020202072656365697665725265662e6465706f73697428746f6b656e3a203c2d73656c662e74656d704e4654290a202020207d0a7df8a8af7b2274797065223a2241646472657373222c2276616c7565223a22307838633533303365616132363230326436227d9e7b2276616c7565223a223130222c2274797065223a2255496e743634227daa7b2276616c7565223a22666c6f77546f6b656e5661756c74222c2274797065223a22537472696e67227dad7b2276616c7565223a22666c6f77546f6b656e5265636569766572222c2274797065223a22537472696e67227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", + "metadata": "02f08815a2f535512a65e5c95c391dd6ff89662dad8fd68da836d11d0827a52bd4a56eb0c3e6c3456eee86d5cb62ddf700b0d1e5e65f12fe6926edd6d1816582855472616e73666572204e46542077697468205061746873000401526563697069656e740000416464726573730003014e465420494420746f205472616e73666572000155496e74363400030153656e646572277320436f6c6c656374696f6e2050617468204964656e7469666965720002537472696e67000301526563697069656e7427732052656365697665722050617468204964656e7469666965720003537472696e670003", + "hash": "f08815a2f535512a65e5c95c391dd6ff89662dad8fd68da836d11d0827a52bd4" }, { - "title": "TH.16 - Register Operator Node", + "title": "NFT.03 - Transfer NFT with Address", "valid": true, "chainID": "Testnet", "payloadMessage": { - "script": "import LockedTokens from 0x95e019a17d0e23d7\nimport StakingProxy from 0x7aad92e5a0715d21\n\ntransaction(address: Address, id: String, amount: UFix64) {\n\n let holderRef: &LockedTokens.TokenHolder\n\n prepare(account: AuthAccount) {\n self.holderRef = account.borrow<&LockedTokens.TokenHolder>(from: LockedTokens.TokenHolderStoragePath)\n ?? panic(\"Could not borrow reference to TokenHolder\")\n }\n\n execute {\n let nodeOperatorRef = getAccount(address).getCapability\n <&StakingProxy.NodeStakerProxyHolder{StakingProxy.NodeStakerProxyHolderPublic}>\n (StakingProxy.NodeOperatorCapabilityPublicPath)!.borrow() \n ?? panic(\"Could not borrow node operator public capability\")\n\n let nodeInfo = nodeOperatorRef.getNodeInfo(nodeID: id)\n ?? panic(\"Couldn't get info for nodeID=\".concat(id))\n\n self.holderRef.createNodeStaker(nodeInfo: nodeInfo, amount: amount)\n\n let nodeStakerProxy = self.holderRef.borrowStaker()\n\n nodeOperatorRef.addStakingProxy(nodeID: nodeInfo.id, proxy: nodeStakerProxy)\n }\n}\n", + "script": "import 0x631e88ae7f1d7c20\nimport 0x631e88ae7f1d7c20\n\n/// Can pass in any contract address and name\n/// This lets you choose the token you want to send because\n/// the transaction gets the metadata from the provided contract.\n///\ntransaction(to: Address, id: UInt64, contractAddress: Address, contractName: String) {\n\n // The NFT resource to be transferred\n let tempNFT: @{NonFungibleToken.NFT}\n\n // NFTCollectionData struct to get paths from\n let collectionData: MetadataViews.NFTCollectionData\n\n prepare(signer: auth(BorrowValue) &Account) {\n\n // Borrow a reference to the nft contract deployed to the passed account\n let resolverRef = getAccount(contractAddress)\n .contracts.borrow<&{NonFungibleToken}>(name: contractName)\n ?? panic(\"Could not borrow a reference to the non-fungible token contract\")\n\n // Use that reference to retrieve the NFTCollectionData view \n self.collectionData = resolverRef.resolveContractView(resourceType: nil, viewType: Type()) as! MetadataViews.NFTCollectionData?\n ?? panic(\"Could not resolve the NFTCollectionData view for the given non-fungible token contract\")\n\n\n // borrow a reference to the signer's NFT collection\n let withdrawRef = signer.storage.borrow(\n from: self.collectionData.storagePath\n ) ?? panic(\"Account does not store a collection object at the specified path\")\n\n self.tempNFT <- withdrawRef.withdraw(withdrawID: id)\n }\n\n execute {\n // get the recipients public account object\n let recipient = getAccount(to)\n\n // borrow a public reference to the receivers collection\n let receiverCap = recipient.capabilities.get<&{NonFungibleToken.Receiver}>(self.collectionData.publicPath)\n ?? panic(\"Could not get the recipient's Receiver Capability\")\n\n let receiverRef = receiverCap.borrow()\n ?? panic(\"Could not borrow reference to the recipient's receiver\")\n\n // Deposit the NFT to the receiver\n receiverRef.deposit(token: <-self.tempNFT)\n }\n}", "arguments": [ { "type": "Address", "value": "0x8c5303eaa26202d6" }, { - "type": "String", - "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" + "value": "10", + "type": "UInt64" }, { - "type": "UFix64", - "value": "92233720368.54775808" + "value": "0x8c5303eaa26202d6", + "type": "Address" + }, + { + "value": "TopShot", + "type": "String" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -639,19 +635,23 @@ ] }, "envelopeMessage": { - "script": "import LockedTokens from 0x95e019a17d0e23d7\nimport StakingProxy from 0x7aad92e5a0715d21\n\ntransaction(address: Address, id: String, amount: UFix64) {\n\n let holderRef: &LockedTokens.TokenHolder\n\n prepare(account: AuthAccount) {\n self.holderRef = account.borrow<&LockedTokens.TokenHolder>(from: LockedTokens.TokenHolderStoragePath)\n ?? panic(\"Could not borrow reference to TokenHolder\")\n }\n\n execute {\n let nodeOperatorRef = getAccount(address).getCapability\n <&StakingProxy.NodeStakerProxyHolder{StakingProxy.NodeStakerProxyHolderPublic}>\n (StakingProxy.NodeOperatorCapabilityPublicPath)!.borrow() \n ?? panic(\"Could not borrow node operator public capability\")\n\n let nodeInfo = nodeOperatorRef.getNodeInfo(nodeID: id)\n ?? panic(\"Couldn't get info for nodeID=\".concat(id))\n\n self.holderRef.createNodeStaker(nodeInfo: nodeInfo, amount: amount)\n\n let nodeStakerProxy = self.holderRef.borrowStaker()\n\n nodeOperatorRef.addStakingProxy(nodeID: nodeInfo.id, proxy: nodeStakerProxy)\n }\n}\n", + "script": "import 0x631e88ae7f1d7c20\nimport 0x631e88ae7f1d7c20\n\n/// Can pass in any contract address and name\n/// This lets you choose the token you want to send because\n/// the transaction gets the metadata from the provided contract.\n///\ntransaction(to: Address, id: UInt64, contractAddress: Address, contractName: String) {\n\n // The NFT resource to be transferred\n let tempNFT: @{NonFungibleToken.NFT}\n\n // NFTCollectionData struct to get paths from\n let collectionData: MetadataViews.NFTCollectionData\n\n prepare(signer: auth(BorrowValue) &Account) {\n\n // Borrow a reference to the nft contract deployed to the passed account\n let resolverRef = getAccount(contractAddress)\n .contracts.borrow<&{NonFungibleToken}>(name: contractName)\n ?? panic(\"Could not borrow a reference to the non-fungible token contract\")\n\n // Use that reference to retrieve the NFTCollectionData view \n self.collectionData = resolverRef.resolveContractView(resourceType: nil, viewType: Type()) as! MetadataViews.NFTCollectionData?\n ?? panic(\"Could not resolve the NFTCollectionData view for the given non-fungible token contract\")\n\n\n // borrow a reference to the signer's NFT collection\n let withdrawRef = signer.storage.borrow(\n from: self.collectionData.storagePath\n ) ?? panic(\"Account does not store a collection object at the specified path\")\n\n self.tempNFT <- withdrawRef.withdraw(withdrawID: id)\n }\n\n execute {\n // get the recipients public account object\n let recipient = getAccount(to)\n\n // borrow a public reference to the receivers collection\n let receiverCap = recipient.capabilities.get<&{NonFungibleToken.Receiver}>(self.collectionData.publicPath)\n ?? panic(\"Could not get the recipient's Receiver Capability\")\n\n let receiverRef = receiverCap.borrow()\n ?? panic(\"Could not borrow reference to the recipient's receiver\")\n\n // Deposit the NFT to the receiver\n receiverRef.deposit(token: <-self.tempNFT)\n }\n}", "arguments": [ { "type": "Address", "value": "0x8c5303eaa26202d6" }, { - "type": "String", - "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" + "value": "10", + "type": "UInt64" }, { - "type": "UFix64", - "value": "92233720368.54775808" + "value": "0x8c5303eaa26202d6", + "type": "Address" + }, + { + "value": "TopShot", + "type": "String" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -667,22 +667,18 @@ ], "payloadSigs": [] }, - "encodedTransactionPayloadHex": "f90546b90442696d706f7274204c6f636b6564546f6b656e732066726f6d203078393565303139613137643065323364370a696d706f7274205374616b696e6750726f78792066726f6d203078376161643932653561303731356432310a0a7472616e73616374696f6e28616464726573733a20416464726573732c2069643a20537472696e672c20616d6f756e743a2055466978363429207b0a0a202020206c657420686f6c6465725265663a20264c6f636b6564546f6b656e732e546f6b656e486f6c6465720a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e686f6c646572526566203d206163636f756e742e626f72726f773c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f20546f6b656e486f6c64657222290a202020207d0a0a2020202065786563757465207b0a20202020202020206c6574206e6f64654f70657261746f72526566203d206765744163636f756e742861646472657373292e6765744361706162696c6974790a2020202020202020202020203c265374616b696e6750726f78792e4e6f64655374616b657250726f7879486f6c6465727b5374616b696e6750726f78792e4e6f64655374616b657250726f7879486f6c6465725075626c69637d3e0a202020202020202020202020285374616b696e6750726f78792e4e6f64654f70657261746f724361706162696c6974795075626c69635061746829212e626f72726f772829200a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77206e6f6465206f70657261746f72207075626c6963206361706162696c69747922290a0a20202020202020206c6574206e6f6465496e666f203d206e6f64654f70657261746f725265662e6765744e6f6465496e666f286e6f646549443a206964290a2020202020202020202020203f3f2070616e69632822436f756c646e27742067657420696e666f20666f72206e6f646549443d222e636f6e63617428696429290a0a202020202020202073656c662e686f6c6465725265662e6372656174654e6f64655374616b6572286e6f6465496e666f3a206e6f6465496e666f2c20616d6f756e743a20616d6f756e74290a0a20202020202020206c6574206e6f64655374616b657250726f7879203d2073656c662e686f6c6465725265662e626f72726f775374616b657228290a0a20202020202020206e6f64654f70657261746f725265662e6164645374616b696e6750726f7879286e6f646549443a206e6f6465496e666f2e69642c2070726f78793a206e6f64655374616b657250726f7879290a202020207d0a7d0af8bfaf7b2274797065223a2241646472657373222c2276616c7565223a22307838633533303365616132363230326436227db85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", - "encodedTransactionEnvelopeHex": "f9054af90546b90442696d706f7274204c6f636b6564546f6b656e732066726f6d203078393565303139613137643065323364370a696d706f7274205374616b696e6750726f78792066726f6d203078376161643932653561303731356432310a0a7472616e73616374696f6e28616464726573733a20416464726573732c2069643a20537472696e672c20616d6f756e743a2055466978363429207b0a0a202020206c657420686f6c6465725265663a20264c6f636b6564546f6b656e732e546f6b656e486f6c6465720a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e686f6c646572526566203d206163636f756e742e626f72726f773c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f20546f6b656e486f6c64657222290a202020207d0a0a2020202065786563757465207b0a20202020202020206c6574206e6f64654f70657261746f72526566203d206765744163636f756e742861646472657373292e6765744361706162696c6974790a2020202020202020202020203c265374616b696e6750726f78792e4e6f64655374616b657250726f7879486f6c6465727b5374616b696e6750726f78792e4e6f64655374616b657250726f7879486f6c6465725075626c69637d3e0a202020202020202020202020285374616b696e6750726f78792e4e6f64654f70657261746f724361706162696c6974795075626c69635061746829212e626f72726f772829200a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77206e6f6465206f70657261746f72207075626c6963206361706162696c69747922290a0a20202020202020206c6574206e6f6465496e666f203d206e6f64654f70657261746f725265662e6765744e6f6465496e666f286e6f646549443a206964290a2020202020202020202020203f3f2070616e69632822436f756c646e27742067657420696e666f20666f72206e6f646549443d222e636f6e63617428696429290a0a202020202020202073656c662e686f6c6465725265662e6372656174654e6f64655374616b6572286e6f6465496e666f3a206e6f6465496e666f2c20616d6f756e743a20616d6f756e74290a0a20202020202020206c6574206e6f64655374616b657250726f7879203d2073656c662e686f6c6465725265662e626f72726f775374616b657228290a0a20202020202020206e6f64654f70657261746f725265662e6164645374616b696e6750726f7879286e6f646549443a206e6f6465496e666f2e69642c2070726f78793a206e6f64655374616b657250726f7879290a202020207d0a7d0af8bfaf7b2274797065223a2241646472657373222c2276616c7565223a22307838633533303365616132363230326436227db85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", - "metadata": "02c29d4024aaeb71ab478182542499e0ba3d5d303ec027252e3b8333515ee3de4897b3436482c5aefc1baf8b850e92c829202e468c57241dec707b6c27bd89d15c5265676973746572204f70657261746f72204e6f64650003014f70657261746f7220416464726573730000416464726573730003014e6f64652049440001537472696e67000301416d6f756e7400025546697836340003", - "hash": "c29d4024aaeb71ab478182542499e0ba3d5d303ec027252e3b8333515ee3de48" + "encodedTransactionPayloadHex": "f9096fb90887696d706f7274203078363331653838616537663164376332300a696d706f7274203078363331653838616537663164376332300a0a2f2f2f2043616e207061737320696e20616e7920636f6e7472616374206164647265737320616e64206e616d650a2f2f2f2054686973206c65747320796f752063686f6f73652074686520746f6b656e20796f752077616e7420746f2073656e6420626563617573650a2f2f2f20746865207472616e73616374696f6e206765747320746865206d657461646174612066726f6d207468652070726f766964656420636f6e74726163742e0a2f2f2f0a7472616e73616374696f6e28746f3a20416464726573732c2069643a2055496e7436342c20636f6e7472616374416464726573733a20416464726573732c20636f6e74726163744e616d653a20537472696e6729207b0a0a202020202f2f20546865204e4654207265736f7572636520746f206265207472616e736665727265640a202020206c65742074656d704e46543a20407b4e6f6e46756e6769626c65546f6b656e2e4e46547d0a0a202020202f2f204e4654436f6c6c656374696f6e446174612073747275637420746f206765742070617468732066726f6d0a202020206c657420636f6c6c656374696f6e446174613a204d6574616461746156696577732e4e4654436f6c6c656374696f6e446174610a0a2020202070726570617265287369676e65723a206175746828426f72726f7756616c75652920264163636f756e7429207b0a0a20202020202020202f2f20426f72726f772061207265666572656e636520746f20746865206e667420636f6e7472616374206465706c6f79656420746f2074686520706173736564206163636f756e740a20202020202020206c6574207265736f6c766572526566203d206765744163636f756e7428636f6e747261637441646472657373290a2020202020202020202020202e636f6e7472616374732e626f72726f773c267b4e6f6e46756e6769626c65546f6b656e7d3e286e616d653a20636f6e74726163744e616d65290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f20746865206e6f6e2d66756e6769626c6520746f6b656e20636f6e747261637422290a0a20202020202020202f2f205573652074686174207265666572656e636520746f20726574726965766520746865204e4654436f6c6c656374696f6e446174612076696577200a202020202020202073656c662e636f6c6c656374696f6e44617461203d207265736f6c7665725265662e7265736f6c7665436f6e747261637456696577287265736f75726365547970653a206e696c2c2076696577547970653a20547970653c4d6574616461746156696577732e4e4654436f6c6c656374696f6e446174613e28292920617321204d6574616461746156696577732e4e4654436f6c6c656374696f6e446174613f0a2020202020202020202020203f3f2070616e69632822436f756c64206e6f74207265736f6c766520746865204e4654436f6c6c656374696f6e44617461207669657720666f722074686520676976656e206e6f6e2d66756e6769626c6520746f6b656e20636f6e747261637422290a0a0a20202020202020202f2f20626f72726f772061207265666572656e636520746f20746865207369676e65722773204e465420636f6c6c656374696f6e0a20202020202020206c6574207769746864726177526566203d207369676e65722e73746f726167652e626f72726f773c61757468284e6f6e46756e6769626c65546f6b656e2e57697468647261772920267b4e6f6e46756e6769626c65546f6b656e2e436f6c6c656374696f6e7d3e280a2020202020202020202020202020202066726f6d3a2073656c662e636f6c6c656374696f6e446174612e73746f72616765506174680a20202020202020202020202029203f3f2070616e696328224163636f756e7420646f6573206e6f742073746f7265206120636f6c6c656374696f6e206f626a6563742061742074686520737065636966696564207061746822290a0a202020202020202073656c662e74656d704e4654203c2d2077697468647261775265662e776974686472617728776974686472617749443a206964290a202020207d0a0a2020202065786563757465207b0a20202020202020202f2f206765742074686520726563697069656e7473207075626c6963206163636f756e74206f626a6563740a20202020202020206c657420726563697069656e74203d206765744163636f756e7428746f290a0a20202020202020202f2f20626f72726f772061207075626c6963207265666572656e636520746f207468652072656365697665727320636f6c6c656374696f6e0a20202020202020206c6574207265636569766572436170203d20726563697069656e742e6361706162696c69746965732e6765743c267b4e6f6e46756e6769626c65546f6b656e2e52656365697665727d3e2873656c662e636f6c6c656374696f6e446174612e7075626c696350617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f74206765742074686520726563697069656e742773205265636569766572204361706162696c69747922290a0a20202020202020206c6574207265636569766572526566203d2072656365697665724361702e626f72726f7728290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f2074686520726563697069656e74277320726563656976657222290a0a20202020202020202f2f204465706f73697420746865204e465420746f207468652072656365697665720a202020202020202072656365697665725265662e6465706f73697428746f6b656e3a203c2d73656c662e74656d704e4654290a202020207d0a7df8a3af7b2274797065223a2241646472657373222c2276616c7565223a22307838633533303365616132363230326436227d9e7b2276616c7565223a223130222c2274797065223a2255496e743634227daf7b2276616c7565223a22307838633533303365616132363230326436222c2274797065223a2241646472657373227da37b2276616c7565223a22546f7053686f74222c2274797065223a22537472696e67227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", + "encodedTransactionEnvelopeHex": "f90973f9096fb90887696d706f7274203078363331653838616537663164376332300a696d706f7274203078363331653838616537663164376332300a0a2f2f2f2043616e207061737320696e20616e7920636f6e7472616374206164647265737320616e64206e616d650a2f2f2f2054686973206c65747320796f752063686f6f73652074686520746f6b656e20796f752077616e7420746f2073656e6420626563617573650a2f2f2f20746865207472616e73616374696f6e206765747320746865206d657461646174612066726f6d207468652070726f766964656420636f6e74726163742e0a2f2f2f0a7472616e73616374696f6e28746f3a20416464726573732c2069643a2055496e7436342c20636f6e7472616374416464726573733a20416464726573732c20636f6e74726163744e616d653a20537472696e6729207b0a0a202020202f2f20546865204e4654207265736f7572636520746f206265207472616e736665727265640a202020206c65742074656d704e46543a20407b4e6f6e46756e6769626c65546f6b656e2e4e46547d0a0a202020202f2f204e4654436f6c6c656374696f6e446174612073747275637420746f206765742070617468732066726f6d0a202020206c657420636f6c6c656374696f6e446174613a204d6574616461746156696577732e4e4654436f6c6c656374696f6e446174610a0a2020202070726570617265287369676e65723a206175746828426f72726f7756616c75652920264163636f756e7429207b0a0a20202020202020202f2f20426f72726f772061207265666572656e636520746f20746865206e667420636f6e7472616374206465706c6f79656420746f2074686520706173736564206163636f756e740a20202020202020206c6574207265736f6c766572526566203d206765744163636f756e7428636f6e747261637441646472657373290a2020202020202020202020202e636f6e7472616374732e626f72726f773c267b4e6f6e46756e6769626c65546f6b656e7d3e286e616d653a20636f6e74726163744e616d65290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f20746865206e6f6e2d66756e6769626c6520746f6b656e20636f6e747261637422290a0a20202020202020202f2f205573652074686174207265666572656e636520746f20726574726965766520746865204e4654436f6c6c656374696f6e446174612076696577200a202020202020202073656c662e636f6c6c656374696f6e44617461203d207265736f6c7665725265662e7265736f6c7665436f6e747261637456696577287265736f75726365547970653a206e696c2c2076696577547970653a20547970653c4d6574616461746156696577732e4e4654436f6c6c656374696f6e446174613e28292920617321204d6574616461746156696577732e4e4654436f6c6c656374696f6e446174613f0a2020202020202020202020203f3f2070616e69632822436f756c64206e6f74207265736f6c766520746865204e4654436f6c6c656374696f6e44617461207669657720666f722074686520676976656e206e6f6e2d66756e6769626c6520746f6b656e20636f6e747261637422290a0a0a20202020202020202f2f20626f72726f772061207265666572656e636520746f20746865207369676e65722773204e465420636f6c6c656374696f6e0a20202020202020206c6574207769746864726177526566203d207369676e65722e73746f726167652e626f72726f773c61757468284e6f6e46756e6769626c65546f6b656e2e57697468647261772920267b4e6f6e46756e6769626c65546f6b656e2e436f6c6c656374696f6e7d3e280a2020202020202020202020202020202066726f6d3a2073656c662e636f6c6c656374696f6e446174612e73746f72616765506174680a20202020202020202020202029203f3f2070616e696328224163636f756e7420646f6573206e6f742073746f7265206120636f6c6c656374696f6e206f626a6563742061742074686520737065636966696564207061746822290a0a202020202020202073656c662e74656d704e4654203c2d2077697468647261775265662e776974686472617728776974686472617749443a206964290a202020207d0a0a2020202065786563757465207b0a20202020202020202f2f206765742074686520726563697069656e7473207075626c6963206163636f756e74206f626a6563740a20202020202020206c657420726563697069656e74203d206765744163636f756e7428746f290a0a20202020202020202f2f20626f72726f772061207075626c6963207265666572656e636520746f207468652072656365697665727320636f6c6c656374696f6e0a20202020202020206c6574207265636569766572436170203d20726563697069656e742e6361706162696c69746965732e6765743c267b4e6f6e46756e6769626c65546f6b656e2e52656365697665727d3e2873656c662e636f6c6c656374696f6e446174612e7075626c696350617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f74206765742074686520726563697069656e742773205265636569766572204361706162696c69747922290a0a20202020202020206c6574207265636569766572526566203d2072656365697665724361702e626f72726f7728290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f2074686520726563697069656e74277320726563656976657222290a0a20202020202020202f2f204465706f73697420746865204e465420746f207468652072656365697665720a202020202020202072656365697665725265662e6465706f73697428746f6b656e3a203c2d73656c662e74656d704e4654290a202020207d0a7df8a3af7b2274797065223a2241646472657373222c2276616c7565223a22307838633533303365616132363230326436227d9e7b2276616c7565223a223130222c2274797065223a2255496e743634227daf7b2276616c7565223a22307838633533303365616132363230326436222c2274797065223a2241646472657373227da37b2276616c7565223a22546f7053686f74222c2274797065223a22537472696e67227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", + "metadata": "02b7892b30d7a68531db8af3aa73eec7bf899bd039bc9883c4d0270e44c78cec30111142945f27d91bf3be630737805eba25d586b0c292bb3818e5d4cf4287e31c5472616e73666572204e465420776974682041646472657373000401526563697069656e740000416464726573730003014e465420494420746f205472616e73666572000155496e7436340003014e465420436f6e747261637420416464726573730002416464726573730003014e465420436f6e7472616374204e616d650003537472696e670003", + "hash": "b7892b30d7a68531db8af3aa73eec7bf899bd039bc9883c4d0270e44c78cec30" }, { - "title": "TH.17 - Register Delegator", + "title": "TH.01 - Withdraw Unlocked FLOW", "valid": true, "chainID": "Testnet", "payloadMessage": { - "script": "import FlowToken from 0x7e60df042a9c0868\nimport LockedTokens from 0x95e019a17d0e23d7\n\ntransaction(id: String, amount: UFix64) {\n\n let holderRef: &LockedTokens.TokenHolder\n\n let vaultRef: &FlowToken.Vault\n\n prepare(account: AuthAccount) {\n self.holderRef = account.borrow<&LockedTokens.TokenHolder>(from: LockedTokens.TokenHolderStoragePath) \n ?? panic(\"TokenHolder is not saved at specified path\")\n\n self.vaultRef = account.borrow<&FlowToken.Vault>(from: /storage/flowTokenVault)\n ?? panic(\"Could not borrow flow token vault reference\")\n }\n\n execute {\n self.holderRef.createNodeDelegator(nodeID: id)\n\n let delegatorProxy = self.holderRef.borrowDelegator()\n\n let lockedBalance = self.holderRef.getLockedAccountBalance()\n\n if amount <= lockedBalance {\n\n delegatorProxy.delegateNewTokens(amount: amount)\n\n } else if ((amount - lockedBalance) <= self.vaultRef.balance) {\n\n self.holderRef.deposit(from: <-self.vaultRef.withdraw(amount: amount - lockedBalance))\n\n delegatorProxy.delegateNewTokens(amount: amount)\n\n } else {\n panic(\"Not enough tokens to stake!\")\n }\n }\n}\n", + "script": "import FungibleToken from 0x9a0766d93b6608b7\nimport FlowToken from 0x7e60df042a9c0868\nimport LockedTokens from 0x95e019a17d0e23d7\n\ntransaction(amount: UFix64) {\n\n let holderRef: auth(LockedTokens.TokenOperations, FungibleToken.Withdraw) &LockedTokens.TokenHolder\n let vaultRef: auth(FungibleToken.Withdraw) &FlowToken.Vault\n\n prepare(acct: auth(BorrowValue) &Account) {\n self.holderRef = acct.storage.borrow(from: LockedTokens.TokenHolderStoragePath)\n ?? panic(\"The primary user account does not have an associated locked account\")\n\n self.vaultRef = acct.storage.borrow(from: /storage/flowTokenVault)\n ?? panic(\"Could not borrow flow token vault ref\")\n }\n\n execute {\n self.vaultRef.deposit(from: <-self.holderRef.withdraw(amount: amount))\n }\n}\n", "arguments": [ - { - "type": "String", - "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" - }, { "type": "UFix64", "value": "92233720368.54775808" @@ -708,12 +704,8 @@ ] }, "envelopeMessage": { - "script": "import FlowToken from 0x7e60df042a9c0868\nimport LockedTokens from 0x95e019a17d0e23d7\n\ntransaction(id: String, amount: UFix64) {\n\n let holderRef: &LockedTokens.TokenHolder\n\n let vaultRef: &FlowToken.Vault\n\n prepare(account: AuthAccount) {\n self.holderRef = account.borrow<&LockedTokens.TokenHolder>(from: LockedTokens.TokenHolderStoragePath) \n ?? panic(\"TokenHolder is not saved at specified path\")\n\n self.vaultRef = account.borrow<&FlowToken.Vault>(from: /storage/flowTokenVault)\n ?? panic(\"Could not borrow flow token vault reference\")\n }\n\n execute {\n self.holderRef.createNodeDelegator(nodeID: id)\n\n let delegatorProxy = self.holderRef.borrowDelegator()\n\n let lockedBalance = self.holderRef.getLockedAccountBalance()\n\n if amount <= lockedBalance {\n\n delegatorProxy.delegateNewTokens(amount: amount)\n\n } else if ((amount - lockedBalance) <= self.vaultRef.balance) {\n\n self.holderRef.deposit(from: <-self.vaultRef.withdraw(amount: amount - lockedBalance))\n\n delegatorProxy.delegateNewTokens(amount: amount)\n\n } else {\n panic(\"Not enough tokens to stake!\")\n }\n }\n}\n", + "script": "import FungibleToken from 0x9a0766d93b6608b7\nimport FlowToken from 0x7e60df042a9c0868\nimport LockedTokens from 0x95e019a17d0e23d7\n\ntransaction(amount: UFix64) {\n\n let holderRef: auth(LockedTokens.TokenOperations, FungibleToken.Withdraw) &LockedTokens.TokenHolder\n let vaultRef: auth(FungibleToken.Withdraw) &FlowToken.Vault\n\n prepare(acct: auth(BorrowValue) &Account) {\n self.holderRef = acct.storage.borrow(from: LockedTokens.TokenHolderStoragePath)\n ?? panic(\"The primary user account does not have an associated locked account\")\n\n self.vaultRef = acct.storage.borrow(from: /storage/flowTokenVault)\n ?? panic(\"Could not borrow flow token vault ref\")\n }\n\n execute {\n self.vaultRef.deposit(from: <-self.holderRef.withdraw(amount: amount))\n }\n}\n", "arguments": [ - { - "type": "String", - "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" - }, { "type": "UFix64", "value": "92233720368.54775808" @@ -732,17 +724,17 @@ ], "payloadSigs": [] }, - "encodedTransactionPayloadHex": "f9058fb904bb696d706f727420466c6f77546f6b656e2066726f6d203078376536306466303432613963303836380a696d706f7274204c6f636b6564546f6b656e732066726f6d203078393565303139613137643065323364370a0a7472616e73616374696f6e2869643a20537472696e672c20616d6f756e743a2055466978363429207b0a0a202020206c657420686f6c6465725265663a20264c6f636b6564546f6b656e732e546f6b656e486f6c6465720a0a202020206c6574207661756c745265663a2026466c6f77546f6b656e2e5661756c740a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e686f6c646572526566203d206163636f756e742e626f72726f773c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f726167655061746829200a2020202020202020202020203f3f2070616e69632822546f6b656e486f6c646572206973206e6f7420736176656420617420737065636966696564207061746822290a0a202020202020202073656c662e7661756c74526566203d206163636f756e742e626f72726f773c26466c6f77546f6b656e2e5661756c743e2866726f6d3a202f73746f726167652f666c6f77546f6b656e5661756c74290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f7720666c6f7720746f6b656e207661756c74207265666572656e636522290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e686f6c6465725265662e6372656174654e6f646544656c656761746f72286e6f646549443a206964290a0a20202020202020206c65742064656c656761746f7250726f7879203d2073656c662e686f6c6465725265662e626f72726f7744656c656761746f7228290a0a20202020202020206c6574206c6f636b656442616c616e6365203d2073656c662e686f6c6465725265662e6765744c6f636b65644163636f756e7442616c616e636528290a0a2020202020202020696620616d6f756e74203c3d206c6f636b656442616c616e6365207b0a0a20202020202020202020202064656c656761746f7250726f78792e64656c65676174654e6577546f6b656e7328616d6f756e743a20616d6f756e74290a0a20202020202020207d20656c7365206966202828616d6f756e74202d206c6f636b656442616c616e636529203c3d2073656c662e7661756c745265662e62616c616e636529207b0a0a20202020202020202020202073656c662e686f6c6465725265662e6465706f7369742866726f6d3a203c2d73656c662e7661756c745265662e776974686472617728616d6f756e743a20616d6f756e74202d206c6f636b656442616c616e636529290a0a20202020202020202020202064656c656761746f7250726f78792e64656c65676174654e6577546f6b656e7328616d6f756e743a20616d6f756e74290a0a20202020202020207d20656c7365207b0a20202020202020202020202070616e696328224e6f7420656e6f75676820746f6b656e7320746f207374616b652122290a20202020202020207d0a202020207d0a7d0af88fb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", - "encodedTransactionEnvelopeHex": "f90593f9058fb904bb696d706f727420466c6f77546f6b656e2066726f6d203078376536306466303432613963303836380a696d706f7274204c6f636b6564546f6b656e732066726f6d203078393565303139613137643065323364370a0a7472616e73616374696f6e2869643a20537472696e672c20616d6f756e743a2055466978363429207b0a0a202020206c657420686f6c6465725265663a20264c6f636b6564546f6b656e732e546f6b656e486f6c6465720a0a202020206c6574207661756c745265663a2026466c6f77546f6b656e2e5661756c740a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e686f6c646572526566203d206163636f756e742e626f72726f773c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f726167655061746829200a2020202020202020202020203f3f2070616e69632822546f6b656e486f6c646572206973206e6f7420736176656420617420737065636966696564207061746822290a0a202020202020202073656c662e7661756c74526566203d206163636f756e742e626f72726f773c26466c6f77546f6b656e2e5661756c743e2866726f6d3a202f73746f726167652f666c6f77546f6b656e5661756c74290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f7720666c6f7720746f6b656e207661756c74207265666572656e636522290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e686f6c6465725265662e6372656174654e6f646544656c656761746f72286e6f646549443a206964290a0a20202020202020206c65742064656c656761746f7250726f7879203d2073656c662e686f6c6465725265662e626f72726f7744656c656761746f7228290a0a20202020202020206c6574206c6f636b656442616c616e6365203d2073656c662e686f6c6465725265662e6765744c6f636b65644163636f756e7442616c616e636528290a0a2020202020202020696620616d6f756e74203c3d206c6f636b656442616c616e6365207b0a0a20202020202020202020202064656c656761746f7250726f78792e64656c65676174654e6577546f6b656e7328616d6f756e743a20616d6f756e74290a0a20202020202020207d20656c7365206966202828616d6f756e74202d206c6f636b656442616c616e636529203c3d2073656c662e7661756c745265662e62616c616e636529207b0a0a20202020202020202020202073656c662e686f6c6465725265662e6465706f7369742866726f6d3a203c2d73656c662e7661756c745265662e776974686472617728616d6f756e743a20616d6f756e74202d206c6f636b656442616c616e636529290a0a20202020202020202020202064656c656761746f7250726f78792e64656c65676174654e6577546f6b656e7328616d6f756e743a20616d6f756e74290a0a20202020202020207d20656c7365207b0a20202020202020202020202070616e696328224e6f7420656e6f75676820746f6b656e7320746f207374616b652122290a20202020202020207d0a202020207d0a7d0af88fb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", - "metadata": "021378405c85e0c966344b196c0fce602f39e79f3938ec7b689e0c96a8703b018a3cb357a97a57d9abbe5c68f0df342ee96ba97ade2013753fd2ddf47695a8c08a52656769737465722044656c656761746f720002014e6f64652049440000537472696e67000301416d6f756e7400015546697836340003", - "hash": "1378405c85e0c966344b196c0fce602f39e79f3938ec7b689e0c96a8703b018a" + "encodedTransactionPayloadHex": "f9041fb903aa696d706f72742046756e6769626c65546f6b656e2066726f6d203078396130373636643933623636303862370a696d706f727420466c6f77546f6b656e2066726f6d203078376536306466303432613963303836380a696d706f7274204c6f636b6564546f6b656e732066726f6d203078393565303139613137643065323364370a0a7472616e73616374696f6e28616d6f756e743a2055466978363429207b0a0a202020206c657420686f6c6465725265663a2061757468284c6f636b6564546f6b656e732e546f6b656e4f7065726174696f6e732c2046756e6769626c65546f6b656e2e57697468647261772920264c6f636b6564546f6b656e732e546f6b656e486f6c6465720a202020206c6574207661756c745265663a20617574682846756e6769626c65546f6b656e2e5769746864726177292026466c6f77546f6b656e2e5661756c740a0a202020207072657061726528616363743a206175746828426f72726f7756616c75652920264163636f756e7429207b0a202020202020202073656c662e686f6c646572526566203d20616363742e73746f726167652e626f72726f773c61757468284c6f636b6564546f6b656e732e546f6b656e4f7065726174696f6e732c2046756e6769626c65546f6b656e2e57697468647261772920264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f7261676550617468290a2020202020202020202020203f3f2070616e69632822546865207072696d6172792075736572206163636f756e7420646f6573206e6f74206861766520616e206173736f636961746564206c6f636b6564206163636f756e7422290a0a202020202020202073656c662e7661756c74526566203d20616363742e73746f726167652e626f72726f773c617574682846756e6769626c65546f6b656e2e5769746864726177292026466c6f77546f6b656e2e5661756c743e2866726f6d3a202f73746f726167652f666c6f77546f6b656e5661756c74290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f7720666c6f7720746f6b656e207661756c742072656622290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7661756c745265662e6465706f7369742866726f6d3a203c2d73656c662e686f6c6465725265662e776974686472617728616d6f756e743a20616d6f756e7429290a202020207d0a7d0af1b07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", + "encodedTransactionEnvelopeHex": "f90423f9041fb903aa696d706f72742046756e6769626c65546f6b656e2066726f6d203078396130373636643933623636303862370a696d706f727420466c6f77546f6b656e2066726f6d203078376536306466303432613963303836380a696d706f7274204c6f636b6564546f6b656e732066726f6d203078393565303139613137643065323364370a0a7472616e73616374696f6e28616d6f756e743a2055466978363429207b0a0a202020206c657420686f6c6465725265663a2061757468284c6f636b6564546f6b656e732e546f6b656e4f7065726174696f6e732c2046756e6769626c65546f6b656e2e57697468647261772920264c6f636b6564546f6b656e732e546f6b656e486f6c6465720a202020206c6574207661756c745265663a20617574682846756e6769626c65546f6b656e2e5769746864726177292026466c6f77546f6b656e2e5661756c740a0a202020207072657061726528616363743a206175746828426f72726f7756616c75652920264163636f756e7429207b0a202020202020202073656c662e686f6c646572526566203d20616363742e73746f726167652e626f72726f773c61757468284c6f636b6564546f6b656e732e546f6b656e4f7065726174696f6e732c2046756e6769626c65546f6b656e2e57697468647261772920264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f7261676550617468290a2020202020202020202020203f3f2070616e69632822546865207072696d6172792075736572206163636f756e7420646f6573206e6f74206861766520616e206173736f636961746564206c6f636b6564206163636f756e7422290a0a202020202020202073656c662e7661756c74526566203d20616363742e73746f726167652e626f72726f773c617574682846756e6769626c65546f6b656e2e5769746864726177292026466c6f77546f6b656e2e5661756c743e2866726f6d3a202f73746f726167652f666c6f77546f6b656e5661756c74290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f7720666c6f7720746f6b656e207661756c742072656622290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7661756c745265662e6465706f7369742866726f6d3a203c2d73656c662e686f6c6465725265662e776974686472617728616d6f756e743a20616d6f756e7429290a202020207d0a7d0af1b07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", + "metadata": "02094798e93daeacaa9ff262486a3683ec5a5e2204407e7d00bc3416fbf3efa3b14a830e6f93f74179a99e17c7ae762980c7fdc428bc949767529be2f071ac52b9576974686472617720556e6c6f636b656420464c4f57000101416d6f756e7400005546697836340003", + "hash": "094798e93daeacaa9ff262486a3683ec5a5e2204407e7d00bc3416fbf3efa3b1" }, { - "title": "TH.19 - Delegate New Locked FLOW", + "title": "TH.02 - Deposit Unlocked FLOW", "valid": true, "chainID": "Testnet", "payloadMessage": { - "script": "import FlowToken from 0x7e60df042a9c0868\nimport FungibleToken from 0x9a0766d93b6608b7\nimport LockedTokens from 0x95e019a17d0e23d7\n\ntransaction(amount: UFix64) {\n\n let holderRef: &LockedTokens.TokenHolder\n\n let vaultRef: &FlowToken.Vault\n\n prepare(account: AuthAccount) {\n self.holderRef = account.borrow<&LockedTokens.TokenHolder>(from: LockedTokens.TokenHolderStoragePath)\n ?? panic(\"Could not borrow reference to TokenHolder\")\n\n self.vaultRef = account.borrow<&FlowToken.Vault>(from: /storage/flowTokenVault)\n ?? panic(\"Could not borrow flow token vault reference\")\n }\n\n execute {\n let stakerProxy = self.holderRef.borrowDelegator()\n\n let lockedBalance = self.holderRef.getLockedAccountBalance()\n\n if amount <= lockedBalance {\n\n stakerProxy.delegateNewTokens(amount: amount)\n\n } else if ((amount - lockedBalance) <= self.vaultRef.balance) {\n\n self.holderRef.deposit(from: <-self.vaultRef.withdraw(amount: amount - lockedBalance))\n\n stakerProxy.delegateNewTokens(amount: amount)\n } else {\n panic(\"Not enough tokens to stake!\")\n }\n }\n}\n", + "script": "import FungibleToken from 0x9a0766d93b6608b7\nimport FlowToken from 0x7e60df042a9c0868\nimport LockedTokens from 0x95e019a17d0e23d7\n\ntransaction(amount: UFix64) {\n\n let holderRef: &LockedTokens.TokenHolder\n let vaultRef: auth(FungibleToken.Withdraw) &FlowToken.Vault\n\n prepare(acct: auth(BorrowValue) &Account) {\n self.holderRef = acct.storage.borrow<&LockedTokens.TokenHolder>(from: LockedTokens.TokenHolderStoragePath)\n ?? panic(\"The primary user account does not have an associated locked account\")\n\n self.vaultRef = acct.storage.borrow(from: /storage/flowTokenVault)\n ?? panic(\"Could not borrow flow token vault ref\")\n }\n\n execute {\n self.holderRef.deposit(from: <-self.vaultRef.withdraw(amount: amount))\n }\n}\n", "arguments": [ { "type": "UFix64", @@ -769,7 +761,7 @@ ] }, "envelopeMessage": { - "script": "import FlowToken from 0x7e60df042a9c0868\nimport FungibleToken from 0x9a0766d93b6608b7\nimport LockedTokens from 0x95e019a17d0e23d7\n\ntransaction(amount: UFix64) {\n\n let holderRef: &LockedTokens.TokenHolder\n\n let vaultRef: &FlowToken.Vault\n\n prepare(account: AuthAccount) {\n self.holderRef = account.borrow<&LockedTokens.TokenHolder>(from: LockedTokens.TokenHolderStoragePath)\n ?? panic(\"Could not borrow reference to TokenHolder\")\n\n self.vaultRef = account.borrow<&FlowToken.Vault>(from: /storage/flowTokenVault)\n ?? panic(\"Could not borrow flow token vault reference\")\n }\n\n execute {\n let stakerProxy = self.holderRef.borrowDelegator()\n\n let lockedBalance = self.holderRef.getLockedAccountBalance()\n\n if amount <= lockedBalance {\n\n stakerProxy.delegateNewTokens(amount: amount)\n\n } else if ((amount - lockedBalance) <= self.vaultRef.balance) {\n\n self.holderRef.deposit(from: <-self.vaultRef.withdraw(amount: amount - lockedBalance))\n\n stakerProxy.delegateNewTokens(amount: amount)\n } else {\n panic(\"Not enough tokens to stake!\")\n }\n }\n}\n", + "script": "import FungibleToken from 0x9a0766d93b6608b7\nimport FlowToken from 0x7e60df042a9c0868\nimport LockedTokens from 0x95e019a17d0e23d7\n\ntransaction(amount: UFix64) {\n\n let holderRef: &LockedTokens.TokenHolder\n let vaultRef: auth(FungibleToken.Withdraw) &FlowToken.Vault\n\n prepare(acct: auth(BorrowValue) &Account) {\n self.holderRef = acct.storage.borrow<&LockedTokens.TokenHolder>(from: LockedTokens.TokenHolderStoragePath)\n ?? panic(\"The primary user account does not have an associated locked account\")\n\n self.vaultRef = acct.storage.borrow(from: /storage/flowTokenVault)\n ?? panic(\"Could not borrow flow token vault ref\")\n }\n\n execute {\n self.holderRef.deposit(from: <-self.vaultRef.withdraw(amount: amount))\n }\n}\n", "arguments": [ { "type": "UFix64", @@ -789,23 +781,18 @@ ], "payloadSigs": [] }, - "encodedTransactionPayloadHex": "f9050db90498696d706f727420466c6f77546f6b656e2066726f6d203078376536306466303432613963303836380a696d706f72742046756e6769626c65546f6b656e2066726f6d203078396130373636643933623636303862370a696d706f7274204c6f636b6564546f6b656e732066726f6d203078393565303139613137643065323364370a0a7472616e73616374696f6e28616d6f756e743a2055466978363429207b0a0a202020206c657420686f6c6465725265663a20264c6f636b6564546f6b656e732e546f6b656e486f6c6465720a0a202020206c6574207661756c745265663a2026466c6f77546f6b656e2e5661756c740a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e686f6c646572526566203d206163636f756e742e626f72726f773c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f20546f6b656e486f6c64657222290a0a202020202020202073656c662e7661756c74526566203d206163636f756e742e626f72726f773c26466c6f77546f6b656e2e5661756c743e2866726f6d3a202f73746f726167652f666c6f77546f6b656e5661756c74290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f7720666c6f7720746f6b656e207661756c74207265666572656e636522290a202020207d0a0a2020202065786563757465207b0a20202020202020206c6574207374616b657250726f7879203d2073656c662e686f6c6465725265662e626f72726f7744656c656761746f7228290a0a20202020202020206c6574206c6f636b656442616c616e6365203d2073656c662e686f6c6465725265662e6765744c6f636b65644163636f756e7442616c616e636528290a0a2020202020202020696620616d6f756e74203c3d206c6f636b656442616c616e6365207b0a0a2020202020202020202020207374616b657250726f78792e64656c65676174654e6577546f6b656e7328616d6f756e743a20616d6f756e74290a0a20202020202020207d20656c7365206966202828616d6f756e74202d206c6f636b656442616c616e636529203c3d2073656c662e7661756c745265662e62616c616e636529207b0a0a20202020202020202020202073656c662e686f6c6465725265662e6465706f7369742866726f6d3a203c2d73656c662e7661756c745265662e776974686472617728616d6f756e743a20616d6f756e74202d206c6f636b656442616c616e636529290a0a2020202020202020202020207374616b657250726f78792e64656c65676174654e6577546f6b656e7328616d6f756e743a20616d6f756e74290a20202020202020207d20656c7365207b0a20202020202020202020202070616e696328224e6f7420656e6f75676820746f6b656e7320746f207374616b652122290a20202020202020207d0a202020207d0a7d0af1b07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", - "encodedTransactionEnvelopeHex": "f90511f9050db90498696d706f727420466c6f77546f6b656e2066726f6d203078376536306466303432613963303836380a696d706f72742046756e6769626c65546f6b656e2066726f6d203078396130373636643933623636303862370a696d706f7274204c6f636b6564546f6b656e732066726f6d203078393565303139613137643065323364370a0a7472616e73616374696f6e28616d6f756e743a2055466978363429207b0a0a202020206c657420686f6c6465725265663a20264c6f636b6564546f6b656e732e546f6b656e486f6c6465720a0a202020206c6574207661756c745265663a2026466c6f77546f6b656e2e5661756c740a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e686f6c646572526566203d206163636f756e742e626f72726f773c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f20546f6b656e486f6c64657222290a0a202020202020202073656c662e7661756c74526566203d206163636f756e742e626f72726f773c26466c6f77546f6b656e2e5661756c743e2866726f6d3a202f73746f726167652f666c6f77546f6b656e5661756c74290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f7720666c6f7720746f6b656e207661756c74207265666572656e636522290a202020207d0a0a2020202065786563757465207b0a20202020202020206c6574207374616b657250726f7879203d2073656c662e686f6c6465725265662e626f72726f7744656c656761746f7228290a0a20202020202020206c6574206c6f636b656442616c616e6365203d2073656c662e686f6c6465725265662e6765744c6f636b65644163636f756e7442616c616e636528290a0a2020202020202020696620616d6f756e74203c3d206c6f636b656442616c616e6365207b0a0a2020202020202020202020207374616b657250726f78792e64656c65676174654e6577546f6b656e7328616d6f756e743a20616d6f756e74290a0a20202020202020207d20656c7365206966202828616d6f756e74202d206c6f636b656442616c616e636529203c3d2073656c662e7661756c745265662e62616c616e636529207b0a0a20202020202020202020202073656c662e686f6c6465725265662e6465706f7369742866726f6d3a203c2d73656c662e7661756c745265662e776974686472617728616d6f756e743a20616d6f756e74202d206c6f636b656442616c616e636529290a0a2020202020202020202020207374616b657250726f78792e64656c65676174654e6577546f6b656e7328616d6f756e743a20616d6f756e74290a20202020202020207d20656c7365207b0a20202020202020202020202070616e696328224e6f7420656e6f75676820746f6b656e7320746f207374616b652122290a20202020202020207d0a202020207d0a7d0af1b07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", - "metadata": "0218fad68368a4394b245db91217d7dc979e1316ab757388d416eaef831f565ab3802354d8b3e7908e584bcb5217637fb9f4ef045427c32d57d81ad4a390ed1a6044656c6567617465204e6577204c6f636b656420464c4f57000101416d6f756e7400005546697836340003", - "hash": "18fad68368a4394b245db91217d7dc979e1316ab757388d416eaef831f565ab3" + "encodedTransactionPayloadHex": "f903a9b90334696d706f72742046756e6769626c65546f6b656e2066726f6d203078396130373636643933623636303862370a696d706f727420466c6f77546f6b656e2066726f6d203078376536306466303432613963303836380a696d706f7274204c6f636b6564546f6b656e732066726f6d203078393565303139613137643065323364370a0a7472616e73616374696f6e28616d6f756e743a2055466978363429207b0a0a202020206c657420686f6c6465725265663a20264c6f636b6564546f6b656e732e546f6b656e486f6c6465720a202020206c6574207661756c745265663a20617574682846756e6769626c65546f6b656e2e5769746864726177292026466c6f77546f6b656e2e5661756c740a0a202020207072657061726528616363743a206175746828426f72726f7756616c75652920264163636f756e7429207b0a202020202020202073656c662e686f6c646572526566203d20616363742e73746f726167652e626f72726f773c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f7261676550617468290a2020202020202020202020203f3f2070616e69632822546865207072696d6172792075736572206163636f756e7420646f6573206e6f74206861766520616e206173736f636961746564206c6f636b6564206163636f756e7422290a0a202020202020202073656c662e7661756c74526566203d20616363742e73746f726167652e626f72726f773c617574682846756e6769626c65546f6b656e2e5769746864726177292026466c6f77546f6b656e2e5661756c743e2866726f6d3a202f73746f726167652f666c6f77546f6b656e5661756c74290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f7720666c6f7720746f6b656e207661756c742072656622290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e686f6c6465725265662e6465706f7369742866726f6d3a203c2d73656c662e7661756c745265662e776974686472617728616d6f756e743a20616d6f756e7429290a202020207d0a7d0af1b07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", + "encodedTransactionEnvelopeHex": "f903adf903a9b90334696d706f72742046756e6769626c65546f6b656e2066726f6d203078396130373636643933623636303862370a696d706f727420466c6f77546f6b656e2066726f6d203078376536306466303432613963303836380a696d706f7274204c6f636b6564546f6b656e732066726f6d203078393565303139613137643065323364370a0a7472616e73616374696f6e28616d6f756e743a2055466978363429207b0a0a202020206c657420686f6c6465725265663a20264c6f636b6564546f6b656e732e546f6b656e486f6c6465720a202020206c6574207661756c745265663a20617574682846756e6769626c65546f6b656e2e5769746864726177292026466c6f77546f6b656e2e5661756c740a0a202020207072657061726528616363743a206175746828426f72726f7756616c75652920264163636f756e7429207b0a202020202020202073656c662e686f6c646572526566203d20616363742e73746f726167652e626f72726f773c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f7261676550617468290a2020202020202020202020203f3f2070616e69632822546865207072696d6172792075736572206163636f756e7420646f6573206e6f74206861766520616e206173736f636961746564206c6f636b6564206163636f756e7422290a0a202020202020202073656c662e7661756c74526566203d20616363742e73746f726167652e626f72726f773c617574682846756e6769626c65546f6b656e2e5769746864726177292026466c6f77546f6b656e2e5661756c743e2866726f6d3a202f73746f726167652f666c6f77546f6b656e5661756c74290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f7720666c6f7720746f6b656e207661756c742072656622290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e686f6c6465725265662e6465706f7369742866726f6d3a203c2d73656c662e7661756c745265662e776974686472617728616d6f756e743a20616d6f756e7429290a202020207d0a7d0af1b07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", + "metadata": "0217ffcd60667893674d8d4044bdd8232959dc8b694df1dd88d1b9c5443352f253038382a947fa96bf2f4dfe5aa9b4b2abee1ef0975955175e80cf911c3edf4b614465706f73697420556e6c6f636b656420464c4f57000101416d6f756e7400005546697836340003", + "hash": "17ffcd60667893674d8d4044bdd8232959dc8b694df1dd88d1b9c5443352f253" }, { - "title": "TH.20 - Re-delegate Unstaked FLOW", + "title": "SCO.01 - Setup Staking Collection", "valid": true, "chainID": "Testnet", "payloadMessage": { - "script": "import LockedTokens from 0x95e019a17d0e23d7\n\ntransaction(amount: UFix64) {\n let nodeDelegatorProxy: LockedTokens.LockedNodeDelegatorProxy\n\n prepare(account: AuthAccount) {\n let holderRef = account.borrow<&LockedTokens.TokenHolder>(from: LockedTokens.TokenHolderStoragePath) \n ?? panic(\"TokenHolder is not saved at specified path\")\n\n self.nodeDelegatorProxy = holderRef.borrowDelegator()\n }\n\n execute {\n self.nodeDelegatorProxy.delegateUnstakedTokens(amount: amount)\n }\n}\n", - "arguments": [ - { - "type": "UFix64", - "value": "92233720368.54775808" - } - ], + "script": "import FungibleToken from 0x9a0766d93b6608b7\nimport FlowToken from 0x7e60df042a9c0868\nimport FlowIDTableStaking from 0x9eca2b38b18b5dfe\nimport LockedTokens from 0x95e019a17d0e23d7\nimport FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// This transaction sets up an account to use a staking collection\n/// It will work regardless of whether they have a regular account, a two-account locked tokens setup,\n/// or staking objects stored in the unlocked account\n\ntransaction {\n prepare(signer: auth(BorrowValue, Storage, Capabilities) &Account) {\n\n // If there isn't already a staking collection\n if signer.storage.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath) == nil {\n\n // Create private capabilities for the token holder and unlocked vault\n let lockedHolder = signer.capabilities.storage.issue(LockedTokens.TokenHolderStoragePath)!\n let flowToken = signer.capabilities.storage.issue(/storage/flowTokenVault)!\n\n // Create a new Staking Collection and put it in storage\n if lockedHolder.check() {\n signer.storage.save(\n <- FlowStakingCollection.createStakingCollection(\n unlockedVault: flowToken,\n tokenHolder: lockedHolder\n ),\n to: FlowStakingCollection.StakingCollectionStoragePath\n )\n } else {\n signer.storage.save(\n <- FlowStakingCollection.createStakingCollection(\n unlockedVault: flowToken,\n tokenHolder: nil\n ),\n to: FlowStakingCollection.StakingCollectionStoragePath\n )\n }\n\n // Publish a capability to the created staking collection.\n let stakingCollectionCap = signer.capabilities.storage.issue<&FlowStakingCollection.StakingCollection>(\n FlowStakingCollection.StakingCollectionStoragePath\n )\n\n signer.capabilities.publish(\n stakingCollectionCap,\n at: FlowStakingCollection.StakingCollectionPublicPath\n )\n }\n\n // borrow a reference to the staking collection\n let collectionRef = signer.storage.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow staking collection reference\")\n\n // If there is a node staker object in the account, put it in the staking collection\n if signer.storage.borrow<&FlowIDTableStaking.NodeStaker>(from: FlowIDTableStaking.NodeStakerStoragePath) != nil {\n let node <- signer.storage.load<@FlowIDTableStaking.NodeStaker>(from: FlowIDTableStaking.NodeStakerStoragePath)!\n collectionRef.addNodeObject(<-node, machineAccountInfo: nil)\n }\n\n // If there is a delegator object in the account, put it in the staking collection\n if signer.storage.borrow<&FlowIDTableStaking.NodeDelegator>(from: FlowIDTableStaking.DelegatorStoragePath) != nil {\n let delegator <- signer.storage.load<@FlowIDTableStaking.NodeDelegator>(from: FlowIDTableStaking.DelegatorStoragePath)!\n collectionRef.addDelegatorObject(<-delegator)\n }\n }\n}\n", + "arguments": [], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", "gasLimit": 42, "proposalKey": { @@ -826,13 +813,8 @@ ] }, "envelopeMessage": { - "script": "import LockedTokens from 0x95e019a17d0e23d7\n\ntransaction(amount: UFix64) {\n let nodeDelegatorProxy: LockedTokens.LockedNodeDelegatorProxy\n\n prepare(account: AuthAccount) {\n let holderRef = account.borrow<&LockedTokens.TokenHolder>(from: LockedTokens.TokenHolderStoragePath) \n ?? panic(\"TokenHolder is not saved at specified path\")\n\n self.nodeDelegatorProxy = holderRef.borrowDelegator()\n }\n\n execute {\n self.nodeDelegatorProxy.delegateUnstakedTokens(amount: amount)\n }\n}\n", - "arguments": [ - { - "type": "UFix64", - "value": "92233720368.54775808" - } - ], + "script": "import FungibleToken from 0x9a0766d93b6608b7\nimport FlowToken from 0x7e60df042a9c0868\nimport FlowIDTableStaking from 0x9eca2b38b18b5dfe\nimport LockedTokens from 0x95e019a17d0e23d7\nimport FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// This transaction sets up an account to use a staking collection\n/// It will work regardless of whether they have a regular account, a two-account locked tokens setup,\n/// or staking objects stored in the unlocked account\n\ntransaction {\n prepare(signer: auth(BorrowValue, Storage, Capabilities) &Account) {\n\n // If there isn't already a staking collection\n if signer.storage.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath) == nil {\n\n // Create private capabilities for the token holder and unlocked vault\n let lockedHolder = signer.capabilities.storage.issue(LockedTokens.TokenHolderStoragePath)!\n let flowToken = signer.capabilities.storage.issue(/storage/flowTokenVault)!\n\n // Create a new Staking Collection and put it in storage\n if lockedHolder.check() {\n signer.storage.save(\n <- FlowStakingCollection.createStakingCollection(\n unlockedVault: flowToken,\n tokenHolder: lockedHolder\n ),\n to: FlowStakingCollection.StakingCollectionStoragePath\n )\n } else {\n signer.storage.save(\n <- FlowStakingCollection.createStakingCollection(\n unlockedVault: flowToken,\n tokenHolder: nil\n ),\n to: FlowStakingCollection.StakingCollectionStoragePath\n )\n }\n\n // Publish a capability to the created staking collection.\n let stakingCollectionCap = signer.capabilities.storage.issue<&FlowStakingCollection.StakingCollection>(\n FlowStakingCollection.StakingCollectionStoragePath\n )\n\n signer.capabilities.publish(\n stakingCollectionCap,\n at: FlowStakingCollection.StakingCollectionPublicPath\n )\n }\n\n // borrow a reference to the staking collection\n let collectionRef = signer.storage.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow staking collection reference\")\n\n // If there is a node staker object in the account, put it in the staking collection\n if signer.storage.borrow<&FlowIDTableStaking.NodeStaker>(from: FlowIDTableStaking.NodeStakerStoragePath) != nil {\n let node <- signer.storage.load<@FlowIDTableStaking.NodeStaker>(from: FlowIDTableStaking.NodeStakerStoragePath)!\n collectionRef.addNodeObject(<-node, machineAccountInfo: nil)\n }\n\n // If there is a delegator object in the account, put it in the staking collection\n if signer.storage.borrow<&FlowIDTableStaking.NodeDelegator>(from: FlowIDTableStaking.DelegatorStoragePath) != nil {\n let delegator <- signer.storage.load<@FlowIDTableStaking.NodeDelegator>(from: FlowIDTableStaking.DelegatorStoragePath)!\n collectionRef.addDelegatorObject(<-delegator)\n }\n }\n}\n", + "arguments": [], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", "gasLimit": 42, "proposalKey": { @@ -846,21 +828,25 @@ ], "payloadSigs": [] }, - "encodedTransactionPayloadHex": "f9027bb90206696d706f7274204c6f636b6564546f6b656e732066726f6d203078393565303139613137643065323364370a0a7472616e73616374696f6e28616d6f756e743a2055466978363429207b0a202020206c6574206e6f646544656c656761746f7250726f78793a204c6f636b6564546f6b656e732e4c6f636b65644e6f646544656c656761746f7250726f78790a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a20202020202020206c657420686f6c646572526566203d206163636f756e742e626f72726f773c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f726167655061746829200a2020202020202020202020203f3f2070616e69632822546f6b656e486f6c646572206973206e6f7420736176656420617420737065636966696564207061746822290a0a202020202020202073656c662e6e6f646544656c656761746f7250726f7879203d20686f6c6465725265662e626f72726f7744656c656761746f7228290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e6e6f646544656c656761746f7250726f78792e64656c6567617465556e7374616b6564546f6b656e7328616d6f756e743a20616d6f756e74290a202020207d0a7d0af1b07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", - "encodedTransactionEnvelopeHex": "f9027ff9027bb90206696d706f7274204c6f636b6564546f6b656e732066726f6d203078393565303139613137643065323364370a0a7472616e73616374696f6e28616d6f756e743a2055466978363429207b0a202020206c6574206e6f646544656c656761746f7250726f78793a204c6f636b6564546f6b656e732e4c6f636b65644e6f646544656c656761746f7250726f78790a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a20202020202020206c657420686f6c646572526566203d206163636f756e742e626f72726f773c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f726167655061746829200a2020202020202020202020203f3f2070616e69632822546f6b656e486f6c646572206973206e6f7420736176656420617420737065636966696564207061746822290a0a202020202020202073656c662e6e6f646544656c656761746f7250726f7879203d20686f6c6465725265662e626f72726f7744656c656761746f7228290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e6e6f646544656c656761746f7250726f78792e64656c6567617465556e7374616b6564546f6b656e7328616d6f756e743a20616d6f756e74290a202020207d0a7d0af1b07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", - "metadata": "028776b1521b04395754734f8f40d4a0482863274f8d832973d9e011b3cbb48c852027331b72d8710a1a05feb6ecebadb5858d134bc8c95d6f261319cd9fa1bb9552652d64656c656761746520556e7374616b656420464c4f57000101416d6f756e7400005546697836340003", - "hash": "8776b1521b04395754734f8f40d4a0482863274f8d832973d9e011b3cbb48c85" + "encodedTransactionPayloadHex": "f90df1b90dad696d706f72742046756e6769626c65546f6b656e2066726f6d203078396130373636643933623636303862370a696d706f727420466c6f77546f6b656e2066726f6d203078376536306466303432613963303836380a696d706f727420466c6f7749445461626c655374616b696e672066726f6d203078396563613262333862313862356466650a696d706f7274204c6f636b6564546f6b656e732066726f6d203078393565303139613137643065323364370a696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f2054686973207472616e73616374696f6e207365747320757020616e206163636f756e7420746f207573652061207374616b696e6720636f6c6c656374696f6e0a2f2f2f2049742077696c6c20776f726b207265676172646c657373206f66207768657468657220746865792068617665206120726567756c6172206163636f756e742c20612074776f2d6163636f756e74206c6f636b656420746f6b656e732073657475702c0a2f2f2f206f72207374616b696e67206f626a656374732073746f72656420696e2074686520756e6c6f636b6564206163636f756e740a0a7472616e73616374696f6e207b0a2020202070726570617265287369676e65723a206175746828426f72726f7756616c75652c2053746f726167652c204361706162696c69746965732920264163636f756e7429207b0a0a20202020202020202f2f2049662074686572652069736e277420616c72656164792061207374616b696e6720636f6c6c656374696f6e0a20202020202020206966207369676e65722e73746f726167652e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f726167655061746829203d3d206e696c207b0a0a2020202020202020202020202f2f204372656174652070726976617465206361706162696c697469657320666f722074686520746f6b656e20686f6c64657220616e6420756e6c6f636b6564207661756c740a2020202020202020202020206c6574206c6f636b6564486f6c646572203d207369676e65722e6361706162696c69746965732e73746f726167652e69737375653c617574682846756e6769626c65546f6b656e2e57697468647261772c204c6f636b6564546f6b656e732e546f6b656e4f7065726174696f6e732920264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e284c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f726167655061746829210a2020202020202020202020206c657420666c6f77546f6b656e203d207369676e65722e6361706162696c69746965732e73746f726167652e69737375653c617574682846756e6769626c65546f6b656e2e5769746864726177292026466c6f77546f6b656e2e5661756c743e282f73746f726167652f666c6f77546f6b656e5661756c7429210a0a2020202020202020202020202f2f204372656174652061206e6577205374616b696e6720436f6c6c656374696f6e20616e642070757420697420696e2073746f726167650a2020202020202020202020206966206c6f636b6564486f6c6465722e636865636b2829207b0a202020202020202020202020202020207369676e65722e73746f726167652e73617665280a20202020202020202020202020202020202020203c2d20466c6f775374616b696e67436f6c6c656374696f6e2e6372656174655374616b696e67436f6c6c656374696f6e280a202020202020202020202020202020202020202020202020756e6c6f636b65645661756c743a20666c6f77546f6b656e2c0a202020202020202020202020202020202020202020202020746f6b656e486f6c6465723a206c6f636b6564486f6c6465720a2020202020202020202020202020202020202020292c0a2020202020202020202020202020202020202020746f3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f72616765506174680a20202020202020202020202020202020290a2020202020202020202020207d20656c7365207b0a202020202020202020202020202020207369676e65722e73746f726167652e73617665280a20202020202020202020202020202020202020203c2d20466c6f775374616b696e67436f6c6c656374696f6e2e6372656174655374616b696e67436f6c6c656374696f6e280a202020202020202020202020202020202020202020202020756e6c6f636b65645661756c743a20666c6f77546f6b656e2c0a202020202020202020202020202020202020202020202020746f6b656e486f6c6465723a206e696c0a2020202020202020202020202020202020202020292c0a2020202020202020202020202020202020202020746f3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f72616765506174680a20202020202020202020202020202020290a2020202020202020202020207d0a0a2020202020202020202020202f2f205075626c6973682061206361706162696c69747920746f207468652063726561746564207374616b696e6720636f6c6c656374696f6e2e0a2020202020202020202020206c6574207374616b696e67436f6c6c656374696f6e436170203d207369676e65722e6361706162696c69746965732e73746f726167652e69737375653c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e280a20202020202020202020202020202020466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f72616765506174680a202020202020202020202020290a0a2020202020202020202020207369676e65722e6361706162696c69746965732e7075626c697368280a202020202020202020202020202020207374616b696e67436f6c6c656374696f6e4361702c0a2020202020202020202020202020202061743a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e5075626c6963506174680a202020202020202020202020290a20202020202020207d0a0a20202020202020202f2f20626f72726f772061207265666572656e636520746f20746865207374616b696e6720636f6c6c656374696f6e0a20202020202020206c657420636f6c6c656374696f6e526566203d207369676e65722e73746f726167652e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207374616b696e6720636f6c6c656374696f6e207265666572656e636522290a0a20202020202020202f2f2049662074686572652069732061206e6f6465207374616b6572206f626a65637420696e20746865206163636f756e742c2070757420697420696e20746865207374616b696e6720636f6c6c656374696f6e0a20202020202020206966207369676e65722e73746f726167652e626f72726f773c26466c6f7749445461626c655374616b696e672e4e6f64655374616b65723e2866726f6d3a20466c6f7749445461626c655374616b696e672e4e6f64655374616b657253746f72616765506174682920213d206e696c207b0a2020202020202020202020206c6574206e6f6465203c2d207369676e65722e73746f726167652e6c6f61643c40466c6f7749445461626c655374616b696e672e4e6f64655374616b65723e2866726f6d3a20466c6f7749445461626c655374616b696e672e4e6f64655374616b657253746f726167655061746829210a202020202020202020202020636f6c6c656374696f6e5265662e6164644e6f64654f626a656374283c2d6e6f64652c206d616368696e654163636f756e74496e666f3a206e696c290a20202020202020207d0a0a20202020202020202f2f20496620746865726520697320612064656c656761746f72206f626a65637420696e20746865206163636f756e742c2070757420697420696e20746865207374616b696e6720636f6c6c656374696f6e0a20202020202020206966207369676e65722e73746f726167652e626f72726f773c26466c6f7749445461626c655374616b696e672e4e6f646544656c656761746f723e2866726f6d3a20466c6f7749445461626c655374616b696e672e44656c656761746f7253746f72616765506174682920213d206e696c207b0a2020202020202020202020206c65742064656c656761746f72203c2d207369676e65722e73746f726167652e6c6f61643c40466c6f7749445461626c655374616b696e672e4e6f646544656c656761746f723e2866726f6d3a20466c6f7749445461626c655374616b696e672e44656c656761746f7253746f726167655061746829210a202020202020202020202020636f6c6c656374696f6e5265662e61646444656c656761746f724f626a656374283c2d64656c656761746f72290a20202020202020207d0a202020207d0a7d0ac0a0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", + "encodedTransactionEnvelopeHex": "f90df5f90df1b90dad696d706f72742046756e6769626c65546f6b656e2066726f6d203078396130373636643933623636303862370a696d706f727420466c6f77546f6b656e2066726f6d203078376536306466303432613963303836380a696d706f727420466c6f7749445461626c655374616b696e672066726f6d203078396563613262333862313862356466650a696d706f7274204c6f636b6564546f6b656e732066726f6d203078393565303139613137643065323364370a696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f2054686973207472616e73616374696f6e207365747320757020616e206163636f756e7420746f207573652061207374616b696e6720636f6c6c656374696f6e0a2f2f2f2049742077696c6c20776f726b207265676172646c657373206f66207768657468657220746865792068617665206120726567756c6172206163636f756e742c20612074776f2d6163636f756e74206c6f636b656420746f6b656e732073657475702c0a2f2f2f206f72207374616b696e67206f626a656374732073746f72656420696e2074686520756e6c6f636b6564206163636f756e740a0a7472616e73616374696f6e207b0a2020202070726570617265287369676e65723a206175746828426f72726f7756616c75652c2053746f726167652c204361706162696c69746965732920264163636f756e7429207b0a0a20202020202020202f2f2049662074686572652069736e277420616c72656164792061207374616b696e6720636f6c6c656374696f6e0a20202020202020206966207369676e65722e73746f726167652e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f726167655061746829203d3d206e696c207b0a0a2020202020202020202020202f2f204372656174652070726976617465206361706162696c697469657320666f722074686520746f6b656e20686f6c64657220616e6420756e6c6f636b6564207661756c740a2020202020202020202020206c6574206c6f636b6564486f6c646572203d207369676e65722e6361706162696c69746965732e73746f726167652e69737375653c617574682846756e6769626c65546f6b656e2e57697468647261772c204c6f636b6564546f6b656e732e546f6b656e4f7065726174696f6e732920264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e284c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f726167655061746829210a2020202020202020202020206c657420666c6f77546f6b656e203d207369676e65722e6361706162696c69746965732e73746f726167652e69737375653c617574682846756e6769626c65546f6b656e2e5769746864726177292026466c6f77546f6b656e2e5661756c743e282f73746f726167652f666c6f77546f6b656e5661756c7429210a0a2020202020202020202020202f2f204372656174652061206e6577205374616b696e6720436f6c6c656374696f6e20616e642070757420697420696e2073746f726167650a2020202020202020202020206966206c6f636b6564486f6c6465722e636865636b2829207b0a202020202020202020202020202020207369676e65722e73746f726167652e73617665280a20202020202020202020202020202020202020203c2d20466c6f775374616b696e67436f6c6c656374696f6e2e6372656174655374616b696e67436f6c6c656374696f6e280a202020202020202020202020202020202020202020202020756e6c6f636b65645661756c743a20666c6f77546f6b656e2c0a202020202020202020202020202020202020202020202020746f6b656e486f6c6465723a206c6f636b6564486f6c6465720a2020202020202020202020202020202020202020292c0a2020202020202020202020202020202020202020746f3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f72616765506174680a20202020202020202020202020202020290a2020202020202020202020207d20656c7365207b0a202020202020202020202020202020207369676e65722e73746f726167652e73617665280a20202020202020202020202020202020202020203c2d20466c6f775374616b696e67436f6c6c656374696f6e2e6372656174655374616b696e67436f6c6c656374696f6e280a202020202020202020202020202020202020202020202020756e6c6f636b65645661756c743a20666c6f77546f6b656e2c0a202020202020202020202020202020202020202020202020746f6b656e486f6c6465723a206e696c0a2020202020202020202020202020202020202020292c0a2020202020202020202020202020202020202020746f3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f72616765506174680a20202020202020202020202020202020290a2020202020202020202020207d0a0a2020202020202020202020202f2f205075626c6973682061206361706162696c69747920746f207468652063726561746564207374616b696e6720636f6c6c656374696f6e2e0a2020202020202020202020206c6574207374616b696e67436f6c6c656374696f6e436170203d207369676e65722e6361706162696c69746965732e73746f726167652e69737375653c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e280a20202020202020202020202020202020466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f72616765506174680a202020202020202020202020290a0a2020202020202020202020207369676e65722e6361706162696c69746965732e7075626c697368280a202020202020202020202020202020207374616b696e67436f6c6c656374696f6e4361702c0a2020202020202020202020202020202061743a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e5075626c6963506174680a202020202020202020202020290a20202020202020207d0a0a20202020202020202f2f20626f72726f772061207265666572656e636520746f20746865207374616b696e6720636f6c6c656374696f6e0a20202020202020206c657420636f6c6c656374696f6e526566203d207369676e65722e73746f726167652e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207374616b696e6720636f6c6c656374696f6e207265666572656e636522290a0a20202020202020202f2f2049662074686572652069732061206e6f6465207374616b6572206f626a65637420696e20746865206163636f756e742c2070757420697420696e20746865207374616b696e6720636f6c6c656374696f6e0a20202020202020206966207369676e65722e73746f726167652e626f72726f773c26466c6f7749445461626c655374616b696e672e4e6f64655374616b65723e2866726f6d3a20466c6f7749445461626c655374616b696e672e4e6f64655374616b657253746f72616765506174682920213d206e696c207b0a2020202020202020202020206c6574206e6f6465203c2d207369676e65722e73746f726167652e6c6f61643c40466c6f7749445461626c655374616b696e672e4e6f64655374616b65723e2866726f6d3a20466c6f7749445461626c655374616b696e672e4e6f64655374616b657253746f726167655061746829210a202020202020202020202020636f6c6c656374696f6e5265662e6164644e6f64654f626a656374283c2d6e6f64652c206d616368696e654163636f756e74496e666f3a206e696c290a20202020202020207d0a0a20202020202020202f2f20496620746865726520697320612064656c656761746f72206f626a65637420696e20746865206163636f756e742c2070757420697420696e20746865207374616b696e6720636f6c6c656374696f6e0a20202020202020206966207369676e65722e73746f726167652e626f72726f773c26466c6f7749445461626c655374616b696e672e4e6f646544656c656761746f723e2866726f6d3a20466c6f7749445461626c655374616b696e672e44656c656761746f7253746f72616765506174682920213d206e696c207b0a2020202020202020202020206c65742064656c656761746f72203c2d207369676e65722e73746f726167652e6c6f61643c40466c6f7749445461626c655374616b696e672e4e6f646544656c656761746f723e2866726f6d3a20466c6f7749445461626c655374616b696e672e44656c656761746f7253746f726167655061746829210a202020202020202020202020636f6c6c656374696f6e5265662e61646444656c656761746f724f626a656374283c2d64656c656761746f72290a20202020202020207d0a202020207d0a7d0ac0a0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", + "metadata": "02861784e7ac135a9cfec90decdff2e53971a4d63135db77bcef3b273b710b181469f30decc15bd78107c631e200963398e8ddbc58bb61e577d223725f348fc2d95365747570205374616b696e6720436f6c6c656374696f6e0000", + "hash": "861784e7ac135a9cfec90decdff2e53971a4d63135db77bcef3b273b710b1814" }, { - "title": "TH.21 - Re-delegate Rewarded FLOW", + "title": "SCO.02 - Register Delegator", "valid": true, "chainID": "Testnet", "payloadMessage": { - "script": "import LockedTokens from 0x95e019a17d0e23d7\n\ntransaction(amount: UFix64) {\n let nodeDelegatorProxy: LockedTokens.LockedNodeDelegatorProxy\n\n prepare(account: AuthAccount) {\n let holderRef = account.borrow<&LockedTokens.TokenHolder>(from: LockedTokens.TokenHolderStoragePath) \n ?? panic(\"TokenHolder is not saved at specified path\")\n \n self.nodeDelegatorProxy = holderRef.borrowDelegator()\n }\n\n execute {\n self.nodeDelegatorProxy.delegateRewardedTokens(amount: amount)\n }\n}\n", + "script": "import FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// Registers a delegator in the staking collection resource\n/// for the specified nodeID and the amount of tokens to commit\n\ntransaction(id: String, amount: UFix64) {\n \n let stakingCollectionRef: auth(FlowStakingCollection.CollectionOwner) &FlowStakingCollection.StakingCollection\n\n prepare(account: auth(BorrowValue) &Account) {\n self.stakingCollectionRef = account.storage.borrow(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow a reference to a StakingCollection in the primary user's account\")\n }\n\n execute {\n self.stakingCollectionRef.registerDelegator(nodeID: id, amount: amount) \n }\n}\n", "arguments": [ { - "type": "UFix64", - "value": "92233720368.54775808" + "type": "String", + "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" + }, + { + "value": "92233720368.54775808", + "type": "UFix64" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -883,11 +869,15 @@ ] }, "envelopeMessage": { - "script": "import LockedTokens from 0x95e019a17d0e23d7\n\ntransaction(amount: UFix64) {\n let nodeDelegatorProxy: LockedTokens.LockedNodeDelegatorProxy\n\n prepare(account: AuthAccount) {\n let holderRef = account.borrow<&LockedTokens.TokenHolder>(from: LockedTokens.TokenHolderStoragePath) \n ?? panic(\"TokenHolder is not saved at specified path\")\n \n self.nodeDelegatorProxy = holderRef.borrowDelegator()\n }\n\n execute {\n self.nodeDelegatorProxy.delegateRewardedTokens(amount: amount)\n }\n}\n", + "script": "import FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// Registers a delegator in the staking collection resource\n/// for the specified nodeID and the amount of tokens to commit\n\ntransaction(id: String, amount: UFix64) {\n \n let stakingCollectionRef: auth(FlowStakingCollection.CollectionOwner) &FlowStakingCollection.StakingCollection\n\n prepare(account: auth(BorrowValue) &Account) {\n self.stakingCollectionRef = account.storage.borrow(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow a reference to a StakingCollection in the primary user's account\")\n }\n\n execute {\n self.stakingCollectionRef.registerDelegator(nodeID: id, amount: amount) \n }\n}\n", "arguments": [ { - "type": "UFix64", - "value": "92233720368.54775808" + "type": "String", + "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" + }, + { + "value": "92233720368.54775808", + "type": "UFix64" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -903,25 +893,57 @@ ], "payloadSigs": [] }, - "encodedTransactionPayloadHex": "f90283b9020e696d706f7274204c6f636b6564546f6b656e732066726f6d203078393565303139613137643065323364370a0a7472616e73616374696f6e28616d6f756e743a2055466978363429207b0a202020206c6574206e6f646544656c656761746f7250726f78793a204c6f636b6564546f6b656e732e4c6f636b65644e6f646544656c656761746f7250726f78790a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a20202020202020206c657420686f6c646572526566203d206163636f756e742e626f72726f773c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f726167655061746829200a2020202020202020202020203f3f2070616e69632822546f6b656e486f6c646572206973206e6f7420736176656420617420737065636966696564207061746822290a20202020202020200a202020202020202073656c662e6e6f646544656c656761746f7250726f7879203d20686f6c6465725265662e626f72726f7744656c656761746f7228290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e6e6f646544656c656761746f7250726f78792e64656c65676174655265776172646564546f6b656e7328616d6f756e743a20616d6f756e74290a202020207d0a7d0af1b07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", - "encodedTransactionEnvelopeHex": "f90287f90283b9020e696d706f7274204c6f636b6564546f6b656e732066726f6d203078393565303139613137643065323364370a0a7472616e73616374696f6e28616d6f756e743a2055466978363429207b0a202020206c6574206e6f646544656c656761746f7250726f78793a204c6f636b6564546f6b656e732e4c6f636b65644e6f646544656c656761746f7250726f78790a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a20202020202020206c657420686f6c646572526566203d206163636f756e742e626f72726f773c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f726167655061746829200a2020202020202020202020203f3f2070616e69632822546f6b656e486f6c646572206973206e6f7420736176656420617420737065636966696564207061746822290a20202020202020200a202020202020202073656c662e6e6f646544656c656761746f7250726f7879203d20686f6c6465725265662e626f72726f7744656c656761746f7228290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e6e6f646544656c656761746f7250726f78792e64656c65676174655265776172646564546f6b656e7328616d6f756e743a20616d6f756e74290a202020207d0a7d0af1b07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", - "metadata": "026b40ffc9169abd75107a45da5974c7e502d38773275abb231d747e4760b7ebee864edbff384335ef21c26b3bcf17d36b2b1d894afbe2b203f58099cc457971e452652d64656c656761746520526577617264656420464c4f57000101416d6f756e7400005546697836340003", - "hash": "6b40ffc9169abd75107a45da5974c7e502d38773275abb231d747e4760b7ebee" + "encodedTransactionPayloadHex": "f90406b90332696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f2052656769737465727320612064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e207265736f757263650a2f2f2f20666f722074686520737065636966696564206e6f6465494420616e642074686520616d6f756e74206f6620746f6b656e7320746f20636f6d6d69740a0a7472616e73616374696f6e2869643a20537472696e672c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a206175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a206175746828426f72726f7756616c75652920264163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e73746f726167652e626f72726f773c6175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f2061205374616b696e67436f6c6c656374696f6e20696e20746865207072696d61727920757365722773206163636f756e7422290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e726567697374657244656c656761746f72286e6f646549443a2069642c20616d6f756e743a20616d6f756e74292020202020200a202020207d0a7d0af88fb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db07b2276616c7565223a2239323233333732303336382e3534373735383038222c2274797065223a22554669783634227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", + "encodedTransactionEnvelopeHex": "f9040af90406b90332696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f2052656769737465727320612064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e207265736f757263650a2f2f2f20666f722074686520737065636966696564206e6f6465494420616e642074686520616d6f756e74206f6620746f6b656e7320746f20636f6d6d69740a0a7472616e73616374696f6e2869643a20537472696e672c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a206175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a206175746828426f72726f7756616c75652920264163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e73746f726167652e626f72726f773c6175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f2061205374616b696e67436f6c6c656374696f6e20696e20746865207072696d61727920757365722773206163636f756e7422290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e726567697374657244656c656761746f72286e6f646549443a2069642c20616d6f756e743a20616d6f756e74292020202020200a202020207d0a7d0af88fb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db07b2276616c7565223a2239323233333732303336382e3534373735383038222c2274797065223a22554669783634227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", + "metadata": "02e093df9c425be9cdbee44bdbbd721f6aff523e41802a50cf0ff353873e9f94830a41e53ad3c9c1c16c8732dd8331b8ca66063617d433b01d4d09c4730044874452656769737465722044656c656761746f720002014e6f64652049440000537472696e67000301416d6f756e7400015546697836340003", + "hash": "e093df9c425be9cdbee44bdbbd721f6aff523e41802a50cf0ff353873e9f9483" }, { - "title": "TH.22 - Unstake Delegated FLOW", + "title": "SCO.03 - Register Node", "valid": true, "chainID": "Testnet", "payloadMessage": { - "script": "import LockedTokens from 0x95e019a17d0e23d7\n\ntransaction(amount: UFix64) {\n let nodeDelegatorProxy: LockedTokens.LockedNodeDelegatorProxy\n\n prepare(account: AuthAccount) {\n let holderRef = account.borrow<&LockedTokens.TokenHolder>(from: LockedTokens.TokenHolderStoragePath) \n ?? panic(\"TokenHolder is not saved at specified path\")\n \n self.nodeDelegatorProxy = holderRef.borrowDelegator()\n }\n\n execute {\n self.nodeDelegatorProxy.requestUnstaking(amount: amount)\n }\n}\n", + "script": "import Crypto\nimport FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// Registers a delegator in the staking collection resource\n/// for the specified node information and the amount of tokens to commit\n\ntransaction(id: String,\n role: UInt8,\n networkingAddress: String,\n networkingKey: String,\n stakingKey: String,\n amount: UFix64,\n machineAccountKey: String, \n machineAccountKeySignatureAlgorithm: UInt8, \n machineAccountKeyHashAlgorithm: UInt8) {\n\n let stakingCollectionRef: auth(FlowStakingCollection.CollectionOwner) &FlowStakingCollection.StakingCollection\n\n prepare(account: auth(BorrowValue) &Account) {\n self.stakingCollectionRef = account.storage.borrow(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow a reference to a StakingCollection in the primary user's account\")\n\n if let machineAccount = self.stakingCollectionRef.registerNode(\n id: id,\n role: role,\n networkingAddress: networkingAddress,\n networkingKey: networkingKey,\n stakingKey: stakingKey,\n amount: amount,\n payer: account\n ) {\n let sigAlgo = SignatureAlgorithm(rawValue: machineAccountKeySignatureAlgorithm)\n ?? panic(\"Could not get a signature algorithm from the raw enum value provided\")\n\n let hashAlgo = HashAlgorithm(rawValue: machineAccountKeyHashAlgorithm)\n ?? panic(\"Could not get a hash algorithm from the raw enum value provided\")\n \n let publicKey = PublicKey(\n\t\t\t publicKey: machineAccountKey.decodeHex(),\n\t\t\t signatureAlgorithm: sigAlgo\n\t\t )\n machineAccount.keys.add(publicKey: publicKey, hashAlgorithm: hashAlgo, weight: 1000.0)\n }\n }\n}\n", "arguments": [ { - "type": "UFix64", - "value": "92233720368.54775808" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, + "type": "String", + "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" + }, + { + "value": "1", + "type": "UInt8" + }, + { + "value": "flow-node.test:3569", + "type": "String" + }, + { + "value": "1348307bc77c688e80049de9d081aa09755da33e6997605fa059db2144fc85e560cbe6f7da8d74b453f5916618cb8fd392c2db856f3e78221dc68db1b1d914e4", + "type": "String" + }, + { + "value": "9e9ae0d645fd5fd9050792e0b0daa82cc1686d9133afa0f81a784b375c42ae48567d1545e7a9e1965f2c1a32f73cf8575ebb7a967f6e4d104d2df78eb8be409135d12da0499b8a00771f642c1b9c49397f22b440439f036c3bdee82f5309dab3", + "type": "String" + }, + { + "value": "92233720368.54775808", + "type": "UFix64" + }, + { + "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164", + "type": "String" + }, + { + "value": "1", + "type": "UInt8" + }, + { + "value": "1", + "type": "UInt8" + } + ], + "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", + "gasLimit": 42, "proposalKey": { "address": "99a8ac2c71d4f6bd", "keyId": 4, @@ -940,11 +962,43 @@ ] }, "envelopeMessage": { - "script": "import LockedTokens from 0x95e019a17d0e23d7\n\ntransaction(amount: UFix64) {\n let nodeDelegatorProxy: LockedTokens.LockedNodeDelegatorProxy\n\n prepare(account: AuthAccount) {\n let holderRef = account.borrow<&LockedTokens.TokenHolder>(from: LockedTokens.TokenHolderStoragePath) \n ?? panic(\"TokenHolder is not saved at specified path\")\n \n self.nodeDelegatorProxy = holderRef.borrowDelegator()\n }\n\n execute {\n self.nodeDelegatorProxy.requestUnstaking(amount: amount)\n }\n}\n", + "script": "import Crypto\nimport FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// Registers a delegator in the staking collection resource\n/// for the specified node information and the amount of tokens to commit\n\ntransaction(id: String,\n role: UInt8,\n networkingAddress: String,\n networkingKey: String,\n stakingKey: String,\n amount: UFix64,\n machineAccountKey: String, \n machineAccountKeySignatureAlgorithm: UInt8, \n machineAccountKeyHashAlgorithm: UInt8) {\n\n let stakingCollectionRef: auth(FlowStakingCollection.CollectionOwner) &FlowStakingCollection.StakingCollection\n\n prepare(account: auth(BorrowValue) &Account) {\n self.stakingCollectionRef = account.storage.borrow(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow a reference to a StakingCollection in the primary user's account\")\n\n if let machineAccount = self.stakingCollectionRef.registerNode(\n id: id,\n role: role,\n networkingAddress: networkingAddress,\n networkingKey: networkingKey,\n stakingKey: stakingKey,\n amount: amount,\n payer: account\n ) {\n let sigAlgo = SignatureAlgorithm(rawValue: machineAccountKeySignatureAlgorithm)\n ?? panic(\"Could not get a signature algorithm from the raw enum value provided\")\n\n let hashAlgo = HashAlgorithm(rawValue: machineAccountKeyHashAlgorithm)\n ?? panic(\"Could not get a hash algorithm from the raw enum value provided\")\n \n let publicKey = PublicKey(\n\t\t\t publicKey: machineAccountKey.decodeHex(),\n\t\t\t signatureAlgorithm: sigAlgo\n\t\t )\n machineAccount.keys.add(publicKey: publicKey, hashAlgorithm: hashAlgo, weight: 1000.0)\n }\n }\n}\n", "arguments": [ { - "type": "UFix64", - "value": "92233720368.54775808" + "type": "String", + "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" + }, + { + "value": "1", + "type": "UInt8" + }, + { + "value": "flow-node.test:3569", + "type": "String" + }, + { + "value": "1348307bc77c688e80049de9d081aa09755da33e6997605fa059db2144fc85e560cbe6f7da8d74b453f5916618cb8fd392c2db856f3e78221dc68db1b1d914e4", + "type": "String" + }, + { + "value": "9e9ae0d645fd5fd9050792e0b0daa82cc1686d9133afa0f81a784b375c42ae48567d1545e7a9e1965f2c1a32f73cf8575ebb7a967f6e4d104d2df78eb8be409135d12da0499b8a00771f642c1b9c49397f22b440439f036c3bdee82f5309dab3", + "type": "String" + }, + { + "value": "92233720368.54775808", + "type": "UFix64" + }, + { + "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164", + "type": "String" + }, + { + "value": "1", + "type": "UInt8" + }, + { + "value": "1", + "type": "UInt8" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -960,21 +1014,33 @@ ], "payloadSigs": [] }, - "encodedTransactionPayloadHex": "f9027db90208696d706f7274204c6f636b6564546f6b656e732066726f6d203078393565303139613137643065323364370a0a7472616e73616374696f6e28616d6f756e743a2055466978363429207b0a202020206c6574206e6f646544656c656761746f7250726f78793a204c6f636b6564546f6b656e732e4c6f636b65644e6f646544656c656761746f7250726f78790a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a20202020202020206c657420686f6c646572526566203d206163636f756e742e626f72726f773c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f726167655061746829200a2020202020202020202020203f3f2070616e69632822546f6b656e486f6c646572206973206e6f7420736176656420617420737065636966696564207061746822290a20202020202020200a202020202020202073656c662e6e6f646544656c656761746f7250726f7879203d20686f6c6465725265662e626f72726f7744656c656761746f7228290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e6e6f646544656c656761746f7250726f78792e72657175657374556e7374616b696e6728616d6f756e743a20616d6f756e74290a202020207d0a7d0af1b07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", - "encodedTransactionEnvelopeHex": "f90281f9027db90208696d706f7274204c6f636b6564546f6b656e732066726f6d203078393565303139613137643065323364370a0a7472616e73616374696f6e28616d6f756e743a2055466978363429207b0a202020206c6574206e6f646544656c656761746f7250726f78793a204c6f636b6564546f6b656e732e4c6f636b65644e6f646544656c656761746f7250726f78790a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a20202020202020206c657420686f6c646572526566203d206163636f756e742e626f72726f773c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f726167655061746829200a2020202020202020202020203f3f2070616e69632822546f6b656e486f6c646572206973206e6f7420736176656420617420737065636966696564207061746822290a20202020202020200a202020202020202073656c662e6e6f646544656c656761746f7250726f7879203d20686f6c6465725265662e626f72726f7744656c656761746f7228290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e6e6f646544656c656761746f7250726f78792e72657175657374556e7374616b696e6728616d6f756e743a20616d6f756e74290a202020207d0a7d0af1b07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", - "metadata": "0261cbcd1c31bbfc9ceb4a5ac726e2f8b3d845a4fdf59b0ab23cbbfa8f16d7a024262aeddd3f49fd6222d706c02696bd7d359ba962b6c30232cc93d7cf4166a23e556e7374616b652044656c65676174656420464c4f57000101416d6f756e7400005546697836340003", - "hash": "61cbcd1c31bbfc9ceb4a5ac726e2f8b3d845a4fdf59b0ab23cbbfa8f16d7a024" + "encodedTransactionPayloadHex": "f90b24b907a0696d706f72742043727970746f0a696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f2052656769737465727320612064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e207265736f757263650a2f2f2f20666f722074686520737065636966696564206e6f646520696e666f726d6174696f6e20616e642074686520616d6f756e74206f6620746f6b656e7320746f20636f6d6d69740a0a7472616e73616374696f6e2869643a20537472696e672c0a202020202020202020202020726f6c653a2055496e74382c0a2020202020202020202020206e6574776f726b696e67416464726573733a20537472696e672c0a2020202020202020202020206e6574776f726b696e674b65793a20537472696e672c0a2020202020202020202020207374616b696e674b65793a20537472696e672c0a202020202020202020202020616d6f756e743a205546697836342c0a2020202020202020202020206d616368696e654163636f756e744b65793a20537472696e672c200a2020202020202020202020206d616368696e654163636f756e744b65795369676e6174757265416c676f726974686d3a2055496e74382c200a2020202020202020202020206d616368696e654163636f756e744b657948617368416c676f726974686d3a2055496e743829207b0a0a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a206175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a206175746828426f72726f7756616c75652920264163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e73746f726167652e626f72726f773c6175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f2061205374616b696e67436f6c6c656374696f6e20696e20746865207072696d61727920757365722773206163636f756e7422290a0a20202020202020206966206c6574206d616368696e654163636f756e74203d2073656c662e7374616b696e67436f6c6c656374696f6e5265662e72656769737465724e6f6465280a20202020202020202020202069643a2069642c0a202020202020202020202020726f6c653a20726f6c652c0a2020202020202020202020206e6574776f726b696e67416464726573733a206e6574776f726b696e67416464726573732c0a2020202020202020202020206e6574776f726b696e674b65793a206e6574776f726b696e674b65792c0a2020202020202020202020207374616b696e674b65793a207374616b696e674b65792c0a202020202020202020202020616d6f756e743a20616d6f756e742c0a20202020202020202020202070617965723a206163636f756e740a202020202020202029207b0a2020202020202020202020206c657420736967416c676f203d205369676e6174757265416c676f726974686d2872617756616c75653a206d616368696e654163636f756e744b65795369676e6174757265416c676f726974686d290a202020202020202020202020202020203f3f2070616e69632822436f756c64206e6f74206765742061207369676e617475726520616c676f726974686d2066726f6d207468652072617720656e756d2076616c75652070726f766964656422290a0a2020202020202020202020206c65742068617368416c676f203d2048617368416c676f726974686d2872617756616c75653a206d616368696e654163636f756e744b657948617368416c676f726974686d290a202020202020202020202020202020203f3f2070616e69632822436f756c64206e6f74206765742061206861736820616c676f726974686d2066726f6d207468652072617720656e756d2076616c75652070726f766964656422290a2020202020202020202020200a2020202020202020202020206c6574207075626c69634b6579203d205075626c69634b6579280a090909202020207075626c69634b65793a206d616368696e654163636f756e744b65792e6465636f646548657828292c0a090909202020207369676e6174757265416c676f726974686d3a20736967416c676f0a090920202020290a2020202020202020202020206d616368696e654163636f756e742e6b6579732e616464287075626c69634b65793a207075626c69634b65792c2068617368416c676f726974686d3a2068617368416c676f2c207765696768743a20313030302e30290a20202020202020207d0a202020207d0a7d0af9033eb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227d9c7b2276616c7565223a2231222c2274797065223a2255496e7438227daf7b2276616c7565223a22666c6f772d6e6f64652e746573743a33353639222c2274797065223a22537472696e67227db89c7b2276616c7565223a223133343833303762633737633638386538303034396465396430383161613039373535646133336536393937363035666130353964623231343466633835653536306362653666376461386437346234353366353931363631386362386664333932633264623835366633653738323231646336386462316231643931346534222c2274797065223a22537472696e67227db8dc7b2276616c7565223a22396539616530643634356664356664393035303739326530623064616138326363313638366439313333616661306638316137383462333735633432616534383536376431353435653761396531393635663263316133326637336366383537356562623761393637663665346431303464326466373865623862653430393133356431326461303439396238613030373731663634326331623963343933393766323262343430343339663033366333626465653832663533303964616233222c2274797065223a22537472696e67227db07b2276616c7565223a2239323233333732303336382e3534373735383038222c2274797065223a22554669783634227db8aa7b2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634222c2274797065223a22537472696e67227d9c7b2276616c7565223a2231222c2274797065223a2255496e7438227d9c7b2276616c7565223a2231222c2274797065223a2255496e7438227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", + "encodedTransactionEnvelopeHex": "f90b28f90b24b907a0696d706f72742043727970746f0a696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f2052656769737465727320612064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e207265736f757263650a2f2f2f20666f722074686520737065636966696564206e6f646520696e666f726d6174696f6e20616e642074686520616d6f756e74206f6620746f6b656e7320746f20636f6d6d69740a0a7472616e73616374696f6e2869643a20537472696e672c0a202020202020202020202020726f6c653a2055496e74382c0a2020202020202020202020206e6574776f726b696e67416464726573733a20537472696e672c0a2020202020202020202020206e6574776f726b696e674b65793a20537472696e672c0a2020202020202020202020207374616b696e674b65793a20537472696e672c0a202020202020202020202020616d6f756e743a205546697836342c0a2020202020202020202020206d616368696e654163636f756e744b65793a20537472696e672c200a2020202020202020202020206d616368696e654163636f756e744b65795369676e6174757265416c676f726974686d3a2055496e74382c200a2020202020202020202020206d616368696e654163636f756e744b657948617368416c676f726974686d3a2055496e743829207b0a0a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a206175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a206175746828426f72726f7756616c75652920264163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e73746f726167652e626f72726f773c6175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f2061205374616b696e67436f6c6c656374696f6e20696e20746865207072696d61727920757365722773206163636f756e7422290a0a20202020202020206966206c6574206d616368696e654163636f756e74203d2073656c662e7374616b696e67436f6c6c656374696f6e5265662e72656769737465724e6f6465280a20202020202020202020202069643a2069642c0a202020202020202020202020726f6c653a20726f6c652c0a2020202020202020202020206e6574776f726b696e67416464726573733a206e6574776f726b696e67416464726573732c0a2020202020202020202020206e6574776f726b696e674b65793a206e6574776f726b696e674b65792c0a2020202020202020202020207374616b696e674b65793a207374616b696e674b65792c0a202020202020202020202020616d6f756e743a20616d6f756e742c0a20202020202020202020202070617965723a206163636f756e740a202020202020202029207b0a2020202020202020202020206c657420736967416c676f203d205369676e6174757265416c676f726974686d2872617756616c75653a206d616368696e654163636f756e744b65795369676e6174757265416c676f726974686d290a202020202020202020202020202020203f3f2070616e69632822436f756c64206e6f74206765742061207369676e617475726520616c676f726974686d2066726f6d207468652072617720656e756d2076616c75652070726f766964656422290a0a2020202020202020202020206c65742068617368416c676f203d2048617368416c676f726974686d2872617756616c75653a206d616368696e654163636f756e744b657948617368416c676f726974686d290a202020202020202020202020202020203f3f2070616e69632822436f756c64206e6f74206765742061206861736820616c676f726974686d2066726f6d207468652072617720656e756d2076616c75652070726f766964656422290a2020202020202020202020200a2020202020202020202020206c6574207075626c69634b6579203d205075626c69634b6579280a090909202020207075626c69634b65793a206d616368696e654163636f756e744b65792e6465636f646548657828292c0a090909202020207369676e6174757265416c676f726974686d3a20736967416c676f0a090920202020290a2020202020202020202020206d616368696e654163636f756e742e6b6579732e616464287075626c69634b65793a207075626c69634b65792c2068617368416c676f726974686d3a2068617368416c676f2c207765696768743a20313030302e30290a20202020202020207d0a202020207d0a7d0af9033eb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227d9c7b2276616c7565223a2231222c2274797065223a2255496e7438227daf7b2276616c7565223a22666c6f772d6e6f64652e746573743a33353639222c2274797065223a22537472696e67227db89c7b2276616c7565223a223133343833303762633737633638386538303034396465396430383161613039373535646133336536393937363035666130353964623231343466633835653536306362653666376461386437346234353366353931363631386362386664333932633264623835366633653738323231646336386462316231643931346534222c2274797065223a22537472696e67227db8dc7b2276616c7565223a22396539616530643634356664356664393035303739326530623064616138326363313638366439313333616661306638316137383462333735633432616534383536376431353435653761396531393635663263316133326637336366383537356562623761393637663665346431303464326466373865623862653430393133356431326461303439396238613030373731663634326331623963343933393766323262343430343339663033366333626465653832663533303964616233222c2274797065223a22537472696e67227db07b2276616c7565223a2239323233333732303336382e3534373735383038222c2274797065223a22554669783634227db8aa7b2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634222c2274797065223a22537472696e67227d9c7b2276616c7565223a2231222c2274797065223a2255496e7438227d9c7b2276616c7565223a2231222c2274797065223a2255496e7438227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", + "metadata": "02deb5f758f3eb3b125cd9b14a6528f18d535377709fcef41e743751eb828009213b0b2bbc3a2ad674122c182112f7008a8d3d1b60b107033c0ebe7bbe50df52675265676973746572204e6f64650009014e6f64652049440000537472696e670003014e6f646520526f6c65000155496e74380003014e6574772e20416464726573730002537472696e670003014e6574772e204b65790003537472696e670003015374616b696e67204b65790004537472696e67000301416d6f756e7400055546697836340003014d41205075624b65790006537472696e670003014d412053416c67000755496e74380003014d412048416c67000855496e74380003", + "hash": "deb5f758f3eb3b125cd9b14a6528f18d535377709fcef41e743751eb82800921" }, { - "title": "TH.23 - Withdraw Unstaked FLOW", + "title": "SCO.04 - Create Machine Account", "valid": true, "chainID": "Testnet", "payloadMessage": { - "script": "import LockedTokens from 0x95e019a17d0e23d7\n\ntransaction(amount: UFix64) {\n let nodeDelegatorProxy: LockedTokens.LockedNodeDelegatorProxy\n\n prepare(account: AuthAccount) {\n let holderRef = account.borrow<&LockedTokens.TokenHolder>(from: LockedTokens.TokenHolderStoragePath) \n ?? panic(\"TokenHolder is not saved at specified path\")\n \n self.nodeDelegatorProxy = holderRef.borrowDelegator()\n }\n\n execute {\n self.nodeDelegatorProxy.withdrawUnstakedTokens(amount: amount)\n }\n}\n", + "script": "import Crypto\nimport FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// Creates a machine account for a node that is already in the staking collection\n/// and adds public keys to the new account\n\ntransaction(nodeID: String, \n machineAccountKey: String, \n machineAccountKeySignatureAlgorithm: UInt8, \n machineAccountKeyHashAlgorithm: UInt8) {\n \n let stakingCollectionRef: auth(FlowStakingCollection.CollectionOwner) &FlowStakingCollection.StakingCollection\n\n prepare(account: auth(BorrowValue) &Account) {\n self.stakingCollectionRef = account.storage.borrow(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow a reference to a StakingCollection in the primary user's account\")\n\n if let machineAccount = self.stakingCollectionRef.createMachineAccountForExistingNode(nodeID: nodeID, payer: account) {\n let sigAlgo = SignatureAlgorithm(rawValue: machineAccountKeySignatureAlgorithm)\n ?? panic(\"Could not get a signature algorithm from the raw enum value provided\")\n\n let hashAlgo = HashAlgorithm(rawValue: machineAccountKeyHashAlgorithm)\n ?? panic(\"Could not get a hash algorithm from the raw enum value provided\")\n \n let publicKey = PublicKey(\n\t\t\t publicKey: machineAccountKey.decodeHex(),\n\t\t\t signatureAlgorithm: sigAlgo\n\t\t )\n machineAccount.keys.add(publicKey: publicKey, hashAlgorithm: hashAlgo, weight: 1000.0)\n } else {\n panic(\"Could not create a machine account for the node\")\n }\n }\n}\n", "arguments": [ { - "type": "UFix64", - "value": "92233720368.54775808" + "type": "String", + "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" + }, + { + "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164", + "type": "String" + }, + { + "value": "1", + "type": "UInt8" + }, + { + "value": "1", + "type": "UInt8" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -997,11 +1063,23 @@ ] }, "envelopeMessage": { - "script": "import LockedTokens from 0x95e019a17d0e23d7\n\ntransaction(amount: UFix64) {\n let nodeDelegatorProxy: LockedTokens.LockedNodeDelegatorProxy\n\n prepare(account: AuthAccount) {\n let holderRef = account.borrow<&LockedTokens.TokenHolder>(from: LockedTokens.TokenHolderStoragePath) \n ?? panic(\"TokenHolder is not saved at specified path\")\n \n self.nodeDelegatorProxy = holderRef.borrowDelegator()\n }\n\n execute {\n self.nodeDelegatorProxy.withdrawUnstakedTokens(amount: amount)\n }\n}\n", + "script": "import Crypto\nimport FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// Creates a machine account for a node that is already in the staking collection\n/// and adds public keys to the new account\n\ntransaction(nodeID: String, \n machineAccountKey: String, \n machineAccountKeySignatureAlgorithm: UInt8, \n machineAccountKeyHashAlgorithm: UInt8) {\n \n let stakingCollectionRef: auth(FlowStakingCollection.CollectionOwner) &FlowStakingCollection.StakingCollection\n\n prepare(account: auth(BorrowValue) &Account) {\n self.stakingCollectionRef = account.storage.borrow(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow a reference to a StakingCollection in the primary user's account\")\n\n if let machineAccount = self.stakingCollectionRef.createMachineAccountForExistingNode(nodeID: nodeID, payer: account) {\n let sigAlgo = SignatureAlgorithm(rawValue: machineAccountKeySignatureAlgorithm)\n ?? panic(\"Could not get a signature algorithm from the raw enum value provided\")\n\n let hashAlgo = HashAlgorithm(rawValue: machineAccountKeyHashAlgorithm)\n ?? panic(\"Could not get a hash algorithm from the raw enum value provided\")\n \n let publicKey = PublicKey(\n\t\t\t publicKey: machineAccountKey.decodeHex(),\n\t\t\t signatureAlgorithm: sigAlgo\n\t\t )\n machineAccount.keys.add(publicKey: publicKey, hashAlgorithm: hashAlgo, weight: 1000.0)\n } else {\n panic(\"Could not create a machine account for the node\")\n }\n }\n}\n", "arguments": [ { - "type": "UFix64", - "value": "92233720368.54775808" + "type": "String", + "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" + }, + { + "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164", + "type": "String" + }, + { + "value": "1", + "type": "UInt8" + }, + { + "value": "1", + "type": "UInt8" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -1017,21 +1095,29 @@ ], "payloadSigs": [] }, - "encodedTransactionPayloadHex": "f90283b9020e696d706f7274204c6f636b6564546f6b656e732066726f6d203078393565303139613137643065323364370a0a7472616e73616374696f6e28616d6f756e743a2055466978363429207b0a202020206c6574206e6f646544656c656761746f7250726f78793a204c6f636b6564546f6b656e732e4c6f636b65644e6f646544656c656761746f7250726f78790a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a20202020202020206c657420686f6c646572526566203d206163636f756e742e626f72726f773c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f726167655061746829200a2020202020202020202020203f3f2070616e69632822546f6b656e486f6c646572206973206e6f7420736176656420617420737065636966696564207061746822290a20202020202020200a202020202020202073656c662e6e6f646544656c656761746f7250726f7879203d20686f6c6465725265662e626f72726f7744656c656761746f7228290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e6e6f646544656c656761746f7250726f78792e7769746864726177556e7374616b6564546f6b656e7328616d6f756e743a20616d6f756e74290a202020207d0a7d0af1b07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", - "encodedTransactionEnvelopeHex": "f90287f90283b9020e696d706f7274204c6f636b6564546f6b656e732066726f6d203078393565303139613137643065323364370a0a7472616e73616374696f6e28616d6f756e743a2055466978363429207b0a202020206c6574206e6f646544656c656761746f7250726f78793a204c6f636b6564546f6b656e732e4c6f636b65644e6f646544656c656761746f7250726f78790a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a20202020202020206c657420686f6c646572526566203d206163636f756e742e626f72726f773c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f726167655061746829200a2020202020202020202020203f3f2070616e69632822546f6b656e486f6c646572206973206e6f7420736176656420617420737065636966696564207061746822290a20202020202020200a202020202020202073656c662e6e6f646544656c656761746f7250726f7879203d20686f6c6465725265662e626f72726f7744656c656761746f7228290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e6e6f646544656c656761746f7250726f78792e7769746864726177556e7374616b6564546f6b656e7328616d6f756e743a20616d6f756e74290a202020207d0a7d0af1b07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", - "metadata": "022ae983f78e32b989fafa58ee7910b131fb51a2a74356f7916624695cb8bf596412675a013c064b6d0ef11dbf13f92210489bf2b3d299b2f14cd09be70b37577f576974686472617720556e7374616b656420464c4f57000101416d6f756e7400005546697836340003", - "hash": "2ae983f78e32b989fafa58ee7910b131fb51a2a74356f7916624695cb8bf5964" + "encodedTransactionPayloadHex": "f9082bb906a1696d706f72742043727970746f0a696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f20437265617465732061206d616368696e65206163636f756e7420666f722061206e6f6465207468617420697320616c726561647920696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f20616e642061646473207075626c6963206b65797320746f20746865206e6577206163636f756e740a0a7472616e73616374696f6e286e6f646549443a20537472696e672c200a2020202020202020202020206d616368696e654163636f756e744b65793a20537472696e672c200a2020202020202020202020206d616368696e654163636f756e744b65795369676e6174757265416c676f726974686d3a2055496e74382c200a2020202020202020202020206d616368696e654163636f756e744b657948617368416c676f726974686d3a2055496e743829207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a206175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a206175746828426f72726f7756616c75652920264163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e73746f726167652e626f72726f773c6175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f2061205374616b696e67436f6c6c656374696f6e20696e20746865207072696d61727920757365722773206163636f756e7422290a0a20202020202020206966206c6574206d616368696e654163636f756e74203d2073656c662e7374616b696e67436f6c6c656374696f6e5265662e6372656174654d616368696e654163636f756e74466f724578697374696e674e6f6465286e6f646549443a206e6f646549442c2070617965723a206163636f756e7429207b0a2020202020202020202020206c657420736967416c676f203d205369676e6174757265416c676f726974686d2872617756616c75653a206d616368696e654163636f756e744b65795369676e6174757265416c676f726974686d290a202020202020202020202020202020203f3f2070616e69632822436f756c64206e6f74206765742061207369676e617475726520616c676f726974686d2066726f6d207468652072617720656e756d2076616c75652070726f766964656422290a0a2020202020202020202020206c65742068617368416c676f203d2048617368416c676f726974686d2872617756616c75653a206d616368696e654163636f756e744b657948617368416c676f726974686d290a202020202020202020202020202020203f3f2070616e69632822436f756c64206e6f74206765742061206861736820616c676f726974686d2066726f6d207468652072617720656e756d2076616c75652070726f766964656422290a2020202020202020202020200a2020202020202020202020206c6574207075626c69634b6579203d205075626c69634b6579280a090909202020207075626c69634b65793a206d616368696e654163636f756e744b65792e6465636f646548657828292c0a090909202020207369676e6174757265416c676f726974686d3a20736967416c676f0a090920202020290a2020202020202020202020206d616368696e654163636f756e742e6b6579732e616464287075626c69634b65793a207075626c69634b65792c2068617368416c676f726974686d3a2068617368416c676f2c207765696768743a20313030302e30290a20202020202020207d20656c7365207b0a20202020202020202020202070616e69632822436f756c64206e6f74206372656174652061206d616368696e65206163636f756e7420666f7220746865206e6f646522290a20202020202020207d0a202020207d0a7d0af90144b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db8aa7b2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634222c2274797065223a22537472696e67227d9c7b2276616c7565223a2231222c2274797065223a2255496e7438227d9c7b2276616c7565223a2231222c2274797065223a2255496e7438227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", + "encodedTransactionEnvelopeHex": "f9082ff9082bb906a1696d706f72742043727970746f0a696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f20437265617465732061206d616368696e65206163636f756e7420666f722061206e6f6465207468617420697320616c726561647920696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f20616e642061646473207075626c6963206b65797320746f20746865206e6577206163636f756e740a0a7472616e73616374696f6e286e6f646549443a20537472696e672c200a2020202020202020202020206d616368696e654163636f756e744b65793a20537472696e672c200a2020202020202020202020206d616368696e654163636f756e744b65795369676e6174757265416c676f726974686d3a2055496e74382c200a2020202020202020202020206d616368696e654163636f756e744b657948617368416c676f726974686d3a2055496e743829207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a206175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a206175746828426f72726f7756616c75652920264163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e73746f726167652e626f72726f773c6175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f2061205374616b696e67436f6c6c656374696f6e20696e20746865207072696d61727920757365722773206163636f756e7422290a0a20202020202020206966206c6574206d616368696e654163636f756e74203d2073656c662e7374616b696e67436f6c6c656374696f6e5265662e6372656174654d616368696e654163636f756e74466f724578697374696e674e6f6465286e6f646549443a206e6f646549442c2070617965723a206163636f756e7429207b0a2020202020202020202020206c657420736967416c676f203d205369676e6174757265416c676f726974686d2872617756616c75653a206d616368696e654163636f756e744b65795369676e6174757265416c676f726974686d290a202020202020202020202020202020203f3f2070616e69632822436f756c64206e6f74206765742061207369676e617475726520616c676f726974686d2066726f6d207468652072617720656e756d2076616c75652070726f766964656422290a0a2020202020202020202020206c65742068617368416c676f203d2048617368416c676f726974686d2872617756616c75653a206d616368696e654163636f756e744b657948617368416c676f726974686d290a202020202020202020202020202020203f3f2070616e69632822436f756c64206e6f74206765742061206861736820616c676f726974686d2066726f6d207468652072617720656e756d2076616c75652070726f766964656422290a2020202020202020202020200a2020202020202020202020206c6574207075626c69634b6579203d205075626c69634b6579280a090909202020207075626c69634b65793a206d616368696e654163636f756e744b65792e6465636f646548657828292c0a090909202020207369676e6174757265416c676f726974686d3a20736967416c676f0a090920202020290a2020202020202020202020206d616368696e654163636f756e742e6b6579732e616464287075626c69634b65793a207075626c69634b65792c2068617368416c676f726974686d3a2068617368416c676f2c207765696768743a20313030302e30290a20202020202020207d20656c7365207b0a20202020202020202020202070616e69632822436f756c64206e6f74206372656174652061206d616368696e65206163636f756e7420666f7220746865206e6f646522290a20202020202020207d0a202020207d0a7d0af90144b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db8aa7b2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634222c2274797065223a22537472696e67227d9c7b2276616c7565223a2231222c2274797065223a2255496e7438227d9c7b2276616c7565223a2231222c2274797065223a2255496e7438227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", + "metadata": "024c1ad61500bcd0d32d7aa7eb84ca9b7417219ed6d524e05de8c55fb7d50940e4f0a6cedb6703cd4ce4cc3b735e5edb5a7e5b17a87a725343d745e5d53b7c0a01437265617465204d616368696e65204163636f756e740004014e6f64652049440000537472696e670003014d41205075624b65790001537472696e670003014d412053416c67000255496e74380003014d412048416c67000355496e74380003", + "hash": "4c1ad61500bcd0d32d7aa7eb84ca9b7417219ed6d524e05de8c55fb7d50940e4" }, { - "title": "TH.24 - Withdraw Rewarded FLOW", + "title": "SCO.05 - Request Unstaking - 1", "valid": true, "chainID": "Testnet", "payloadMessage": { - "script": "import LockedTokens from 0x95e019a17d0e23d7\nimport FlowToken from 0x7e60df042a9c0868\n\ntransaction(amount: UFix64) {\n\n let holderRef: &LockedTokens.TokenHolder\n let vaultRef: &FlowToken.Vault\n\n prepare(account: AuthAccount) {\n self.holderRef = account.borrow<&LockedTokens.TokenHolder>(from: LockedTokens.TokenHolderStoragePath) \n ?? panic(\"Could not borrow reference to TokenHolder\")\n\n self.vaultRef = account.borrow<&FlowToken.Vault>(from: /storage/flowTokenVault)\n ?? panic(\"Could not borrow reference to FlowToken value\")\n }\n\n execute {\n let delegatorProxy = self.holderRef.borrowDelegator()\n\n delegatorProxy.withdrawRewardedTokens(amount: amount)\n self.vaultRef.deposit(from: <-self.holderRef.withdraw(amount: amount))\n }\n}\n", + "script": "import FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// Requests unstaking for the specified node or delegator in the staking collection\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: auth(FlowStakingCollection.CollectionOwner) &FlowStakingCollection.StakingCollection\n\n prepare(account: auth(BorrowValue) &Account) {\n self.stakingCollectionRef = account.storage.borrow(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow a reference to a StakingCollection in the primary user's account\")\n }\n\n execute {\n self.stakingCollectionRef.requestUnstaking(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", "arguments": [ { - "type": "UFix64", - "value": "92233720368.54775808" + "type": "String", + "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" + }, + { + "value": null, + "type": "Optional" + }, + { + "value": "92233720368.54775808", + "type": "UFix64" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -1054,11 +1140,19 @@ ] }, "envelopeMessage": { - "script": "import LockedTokens from 0x95e019a17d0e23d7\nimport FlowToken from 0x7e60df042a9c0868\n\ntransaction(amount: UFix64) {\n\n let holderRef: &LockedTokens.TokenHolder\n let vaultRef: &FlowToken.Vault\n\n prepare(account: AuthAccount) {\n self.holderRef = account.borrow<&LockedTokens.TokenHolder>(from: LockedTokens.TokenHolderStoragePath) \n ?? panic(\"Could not borrow reference to TokenHolder\")\n\n self.vaultRef = account.borrow<&FlowToken.Vault>(from: /storage/flowTokenVault)\n ?? panic(\"Could not borrow reference to FlowToken value\")\n }\n\n execute {\n let delegatorProxy = self.holderRef.borrowDelegator()\n\n delegatorProxy.withdrawRewardedTokens(amount: amount)\n self.vaultRef.deposit(from: <-self.holderRef.withdraw(amount: amount))\n }\n}\n", + "script": "import FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// Requests unstaking for the specified node or delegator in the staking collection\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: auth(FlowStakingCollection.CollectionOwner) &FlowStakingCollection.StakingCollection\n\n prepare(account: auth(BorrowValue) &Account) {\n self.stakingCollectionRef = account.storage.borrow(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow a reference to a StakingCollection in the primary user's account\")\n }\n\n execute {\n self.stakingCollectionRef.requestUnstaking(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", "arguments": [ { - "type": "UFix64", - "value": "92233720368.54775808" + "type": "String", + "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" + }, + { + "value": null, + "type": "Optional" + }, + { + "value": "92233720368.54775808", + "type": "UFix64" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -1074,21 +1168,32 @@ ], "payloadSigs": [] }, - "encodedTransactionPayloadHex": "f90398b90323696d706f7274204c6f636b6564546f6b656e732066726f6d203078393565303139613137643065323364370a696d706f727420466c6f77546f6b656e2066726f6d203078376536306466303432613963303836380a0a7472616e73616374696f6e28616d6f756e743a2055466978363429207b0a0a202020206c657420686f6c6465725265663a20264c6f636b6564546f6b656e732e546f6b656e486f6c6465720a202020206c6574207661756c745265663a2026466c6f77546f6b656e2e5661756c740a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e686f6c646572526566203d206163636f756e742e626f72726f773c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f726167655061746829200a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f20546f6b656e486f6c64657222290a0a202020202020202073656c662e7661756c74526566203d206163636f756e742e626f72726f773c26466c6f77546f6b656e2e5661756c743e2866726f6d3a202f73746f726167652f666c6f77546f6b656e5661756c74290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f20466c6f77546f6b656e2076616c756522290a202020207d0a0a2020202065786563757465207b0a20202020202020206c65742064656c656761746f7250726f7879203d2073656c662e686f6c6465725265662e626f72726f7744656c656761746f7228290a0a202020202020202064656c656761746f7250726f78792e77697468647261775265776172646564546f6b656e7328616d6f756e743a20616d6f756e74290a202020202020202073656c662e7661756c745265662e6465706f7369742866726f6d3a203c2d73656c662e686f6c6465725265662e776974686472617728616d6f756e743a20616d6f756e7429290a202020207d0a7d0af1b07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", - "encodedTransactionEnvelopeHex": "f9039cf90398b90323696d706f7274204c6f636b6564546f6b656e732066726f6d203078393565303139613137643065323364370a696d706f727420466c6f77546f6b656e2066726f6d203078376536306466303432613963303836380a0a7472616e73616374696f6e28616d6f756e743a2055466978363429207b0a0a202020206c657420686f6c6465725265663a20264c6f636b6564546f6b656e732e546f6b656e486f6c6465720a202020206c6574207661756c745265663a2026466c6f77546f6b656e2e5661756c740a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e686f6c646572526566203d206163636f756e742e626f72726f773c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f726167655061746829200a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f20546f6b656e486f6c64657222290a0a202020202020202073656c662e7661756c74526566203d206163636f756e742e626f72726f773c26466c6f77546f6b656e2e5661756c743e2866726f6d3a202f73746f726167652f666c6f77546f6b656e5661756c74290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f20466c6f77546f6b656e2076616c756522290a202020207d0a0a2020202065786563757465207b0a20202020202020206c65742064656c656761746f7250726f7879203d2073656c662e686f6c6465725265662e626f72726f7744656c656761746f7228290a0a202020202020202064656c656761746f7250726f78792e77697468647261775265776172646564546f6b656e7328616d6f756e743a20616d6f756e74290a202020202020202073656c662e7661756c745265662e6465706f7369742866726f6d3a203c2d73656c662e686f6c6465725265662e776974686472617728616d6f756e743a20616d6f756e7429290a202020207d0a7d0af1b07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", - "metadata": "02385042aa453566fcff0b2bd418b837d8f46fbc23b1b46e6651b25a395bc04be8239ffa449eae5560eec3e99633dcf9c63b1e9c99996d1c5636644dceef9ec44b576974686472617720526577617264656420464c4f57000101416d6f756e7400005546697836340003", - "hash": "385042aa453566fcff0b2bd418b837d8f46fbc23b1b46e6651b25a395bc04be8" + "encodedTransactionPayloadHex": "f90430b9033b696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f20526571756573747320756e7374616b696e6720666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a206175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a206175746828426f72726f7756616c75652920264163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e73746f726167652e626f72726f773c6175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f2061205374616b696e67436f6c6c656374696f6e20696e20746865207072696d61727920757365722773206163636f756e7422290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e72657175657374556e7374616b696e67286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8b0b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227da07b2276616c7565223a6e756c6c2c2274797065223a224f7074696f6e616c227db07b2276616c7565223a2239323233333732303336382e3534373735383038222c2274797065223a22554669783634227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", + "encodedTransactionEnvelopeHex": "f90434f90430b9033b696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f20526571756573747320756e7374616b696e6720666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a206175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a206175746828426f72726f7756616c75652920264163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e73746f726167652e626f72726f773c6175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f2061205374616b696e67436f6c6c656374696f6e20696e20746865207072696d61727920757365722773206163636f756e7422290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e72657175657374556e7374616b696e67286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8b0b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227da07b2276616c7565223a6e756c6c2c2274797065223a224f7074696f6e616c227db07b2276616c7565223a2239323233333732303336382e3534373735383038222c2274797065223a22554669783634227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", + "metadata": "022d59f2c2c402f919c8dba30009e31480d54e2b250d2e10456e1ff029bd7cce99f26c058a127500fcd8445ba9fcf55149fe8f1a1a7cd212688d13fcd6ee2765295265717565737420556e7374616b696e670003014e6f64652049440000537472696e6700030244656c656761746f72204944000155496e743332000301416d6f756e7400025546697836340003", + "hash": "2d59f2c2c402f919c8dba30009e31480d54e2b250d2e10456e1ff029bd7cce99" }, { - "title": "TH.25 - Update Networking Address", + "title": "SCO.05 - Request Unstaking - 2", "valid": true, "chainID": "Testnet", "payloadMessage": { - "script": "import FlowIDTableStaking from 0x9eca2b38b18b5dfe\n\ntransaction(newAddress: String) {\n\n // Local variable for a reference to the node object\n let stakerRef: &FlowIDTableStaking.NodeStaker\n\n prepare(acct: AuthAccount) {\n // borrow a reference to the node object\n self.stakerRef = acct.borrow<&FlowIDTableStaking.NodeStaker>(from: FlowIDTableStaking.NodeStakerStoragePath)\n ?? panic(\"Could not borrow reference to staking admin\")\n }\n\n execute {\n\n self.stakerRef.updateNetworkingAddress(newAddress)\n\n }\n}", + "script": "import FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// Requests unstaking for the specified node or delegator in the staking collection\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: auth(FlowStakingCollection.CollectionOwner) &FlowStakingCollection.StakingCollection\n\n prepare(account: auth(BorrowValue) &Account) {\n self.stakingCollectionRef = account.storage.borrow(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow a reference to a StakingCollection in the primary user's account\")\n }\n\n execute {\n self.stakingCollectionRef.requestUnstaking(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", "arguments": [ { "type": "String", - "value": "flow-node.test:3569" + "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" + }, + { + "value": { + "value": "42", + "type": "UInt32" + }, + "type": "Optional" + }, + { + "value": "92233720368.54775808", + "type": "UFix64" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -1111,11 +1216,22 @@ ] }, "envelopeMessage": { - "script": "import FlowIDTableStaking from 0x9eca2b38b18b5dfe\n\ntransaction(newAddress: String) {\n\n // Local variable for a reference to the node object\n let stakerRef: &FlowIDTableStaking.NodeStaker\n\n prepare(acct: AuthAccount) {\n // borrow a reference to the node object\n self.stakerRef = acct.borrow<&FlowIDTableStaking.NodeStaker>(from: FlowIDTableStaking.NodeStakerStoragePath)\n ?? panic(\"Could not borrow reference to staking admin\")\n }\n\n execute {\n\n self.stakerRef.updateNetworkingAddress(newAddress)\n\n }\n}", + "script": "import FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// Requests unstaking for the specified node or delegator in the staking collection\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: auth(FlowStakingCollection.CollectionOwner) &FlowStakingCollection.StakingCollection\n\n prepare(account: auth(BorrowValue) &Account) {\n self.stakingCollectionRef = account.storage.borrow(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow a reference to a StakingCollection in the primary user's account\")\n }\n\n execute {\n self.stakingCollectionRef.requestUnstaking(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", "arguments": [ { "type": "String", - "value": "flow-node.test:3569" + "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" + }, + { + "value": { + "value": "42", + "type": "UInt32" + }, + "type": "Optional" + }, + { + "value": "92233720368.54775808", + "type": "UFix64" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -1131,18 +1247,31 @@ ], "payloadSigs": [] }, - "encodedTransactionPayloadHex": "f9029ab90226696d706f727420466c6f7749445461626c655374616b696e672066726f6d203078396563613262333862313862356466650a0a7472616e73616374696f6e286e6577416464726573733a20537472696e6729207b0a0a202020202f2f204c6f63616c207661726961626c6520666f722061207265666572656e636520746f20746865206e6f6465206f626a6563740a202020206c6574207374616b65725265663a2026466c6f7749445461626c655374616b696e672e4e6f64655374616b65720a0a202020207072657061726528616363743a20417574684163636f756e7429207b0a20202020202020202f2f20626f72726f772061207265666572656e636520746f20746865206e6f6465206f626a6563740a202020202020202073656c662e7374616b6572526566203d20616363742e626f72726f773c26466c6f7749445461626c655374616b696e672e4e6f64655374616b65723e2866726f6d3a20466c6f7749445461626c655374616b696e672e4e6f64655374616b657253746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f207374616b696e672061646d696e22290a202020207d0a0a2020202065786563757465207b0a0a202020202020202073656c662e7374616b65725265662e7570646174654e6574776f726b696e6741646472657373286e657741646472657373290a0a202020207d0a7df0af7b2274797065223a22537472696e67222c2276616c7565223a22666c6f772d6e6f64652e746573743a33353639227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", - "encodedTransactionEnvelopeHex": "f9029ef9029ab90226696d706f727420466c6f7749445461626c655374616b696e672066726f6d203078396563613262333862313862356466650a0a7472616e73616374696f6e286e6577416464726573733a20537472696e6729207b0a0a202020202f2f204c6f63616c207661726961626c6520666f722061207265666572656e636520746f20746865206e6f6465206f626a6563740a202020206c6574207374616b65725265663a2026466c6f7749445461626c655374616b696e672e4e6f64655374616b65720a0a202020207072657061726528616363743a20417574684163636f756e7429207b0a20202020202020202f2f20626f72726f772061207265666572656e636520746f20746865206e6f6465206f626a6563740a202020202020202073656c662e7374616b6572526566203d20616363742e626f72726f773c26466c6f7749445461626c655374616b696e672e4e6f64655374616b65723e2866726f6d3a20466c6f7749445461626c655374616b696e672e4e6f64655374616b657253746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f207374616b696e672061646d696e22290a202020207d0a0a2020202065786563757465207b0a0a202020202020202073656c662e7374616b65725265662e7570646174654e6574776f726b696e6741646472657373286e657741646472657373290a0a202020207d0a7df0af7b2274797065223a22537472696e67222c2276616c7565223a22666c6f772d6e6f64652e746573743a33353639227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", - "metadata": "026cbe81c71d2b04dc403ea0db89377f0abc5db14d3d2bd014397b2776aa29bc3ee79cb076f2f7da7a3039b5061916e081a823087f1560bdf3caea773992892873557064617465204e6574776f726b696e672041646472657373000101416464726573730000537472696e670003", - "hash": "6cbe81c71d2b04dc403ea0db89377f0abc5db14d3d2bd014397b2776aa29bc3e" + "encodedTransactionPayloadHex": "f9044bb9033b696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f20526571756573747320756e7374616b696e6720666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a206175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a206175746828426f72726f7756616c75652920264163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e73746f726167652e626f72726f773c6175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f2061205374616b696e67436f6c6c656374696f6e20696e20746865207072696d61727920757365722773206163636f756e7422290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e72657175657374556e7374616b696e67286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8cbb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db83a7b2276616c7565223a7b2276616c7565223a223432222c2274797065223a2255496e743332227d2c2274797065223a224f7074696f6e616c227db07b2276616c7565223a2239323233333732303336382e3534373735383038222c2274797065223a22554669783634227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", + "encodedTransactionEnvelopeHex": "f9044ff9044bb9033b696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f20526571756573747320756e7374616b696e6720666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a206175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a206175746828426f72726f7756616c75652920264163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e73746f726167652e626f72726f773c6175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f2061205374616b696e67436f6c6c656374696f6e20696e20746865207072696d61727920757365722773206163636f756e7422290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e72657175657374556e7374616b696e67286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8cbb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db83a7b2276616c7565223a7b2276616c7565223a223432222c2274797065223a2255496e743332227d2c2274797065223a224f7074696f6e616c227db07b2276616c7565223a2239323233333732303336382e3534373735383038222c2274797065223a22554669783634227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", + "metadata": "022d59f2c2c402f919c8dba30009e31480d54e2b250d2e10456e1ff029bd7cce99f26c058a127500fcd8445ba9fcf55149fe8f1a1a7cd212688d13fcd6ee2765295265717565737420556e7374616b696e670003014e6f64652049440000537472696e6700030244656c656761746f72204944000155496e743332000301416d6f756e7400025546697836340003", + "hash": "2d59f2c2c402f919c8dba30009e31480d54e2b250d2e10456e1ff029bd7cce99" }, { - "title": "SCO.01 - Setup Staking Collection", + "title": "SCO.06 - Stake New Tokens - 1", "valid": true, "chainID": "Testnet", "payloadMessage": { - "script": "import FungibleToken from 0x9a0766d93b6608b7\nimport FlowToken from 0x7e60df042a9c0868\nimport FlowIDTableStaking from 0x9eca2b38b18b5dfe\nimport LockedTokens from 0x95e019a17d0e23d7\nimport FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// This transaction sets up an account to use a staking collection\n/// It will work regardless of whether they have a regular account, a two-account locked tokens setup,\n/// or staking objects stored in the unlocked account\n\ntransaction {\n prepare(signer: AuthAccount) {\n\n // If there isn't already a staking collection\n if signer.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath) == nil {\n\n // Create private capabilities for the token holder and unlocked vault\n let lockedHolder = signer.link<&LockedTokens.TokenHolder>(/private/flowTokenHolder, target: LockedTokens.TokenHolderStoragePath)!\n let flowToken = signer.link<&FlowToken.Vault>(/private/flowTokenVault, target: /storage/flowTokenVault)!\n \n // Create a new Staking Collection and put it in storage\n if lockedHolder.check() {\n signer.save(<-FlowStakingCollection.createStakingCollection(unlockedVault: flowToken, tokenHolder: lockedHolder), to: FlowStakingCollection.StakingCollectionStoragePath)\n } else {\n signer.save(<-FlowStakingCollection.createStakingCollection(unlockedVault: flowToken, tokenHolder: nil), to: FlowStakingCollection.StakingCollectionStoragePath)\n }\n\n // Create a public link to the staking collection\n signer.link<&FlowStakingCollection.StakingCollection{FlowStakingCollection.StakingCollectionPublic}>(\n FlowStakingCollection.StakingCollectionPublicPath,\n target: FlowStakingCollection.StakingCollectionStoragePath\n )\n }\n\n // borrow a reference to the staking collection\n let collectionRef = signer.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow staking collection reference\")\n\n // If there is a node staker object in the account, put it in the staking collection\n if signer.borrow<&FlowIDTableStaking.NodeStaker>(from: FlowIDTableStaking.NodeStakerStoragePath) != nil {\n let node <- signer.load<@FlowIDTableStaking.NodeStaker>(from: FlowIDTableStaking.NodeStakerStoragePath)!\n collectionRef.addNodeObject(<-node, machineAccountInfo: nil)\n }\n\n // If there is a delegator object in the account, put it in the staking collection\n if signer.borrow<&FlowIDTableStaking.NodeDelegator>(from: FlowIDTableStaking.DelegatorStoragePath) != nil {\n let delegator <- signer.load<@FlowIDTableStaking.NodeDelegator>(from: FlowIDTableStaking.DelegatorStoragePath)!\n collectionRef.addDelegatorObject(<-delegator)\n }\n }\n}\n", - "arguments": [], + "script": "import FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// Commits new tokens to stake for the specified node or delegator in the staking collection\n/// The tokens from the locked vault are used first, if it exists\n/// followed by the tokens from the unlocked vault\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: auth(FlowStakingCollection.CollectionOwner) &FlowStakingCollection.StakingCollection\n\n prepare(account: auth(BorrowValue) &Account) {\n self.stakingCollectionRef = account.storage.borrow(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow a reference to a StakingCollection in the primary user's account\")\n }\n\n execute {\n self.stakingCollectionRef.stakeNewTokens(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", + "arguments": [ + { + "type": "String", + "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" + }, + { + "value": null, + "type": "Optional" + }, + { + "value": "92233720368.54775808", + "type": "UFix64" + } + ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", "gasLimit": 42, "proposalKey": { @@ -1163,8 +1292,21 @@ ] }, "envelopeMessage": { - "script": "import FungibleToken from 0x9a0766d93b6608b7\nimport FlowToken from 0x7e60df042a9c0868\nimport FlowIDTableStaking from 0x9eca2b38b18b5dfe\nimport LockedTokens from 0x95e019a17d0e23d7\nimport FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// This transaction sets up an account to use a staking collection\n/// It will work regardless of whether they have a regular account, a two-account locked tokens setup,\n/// or staking objects stored in the unlocked account\n\ntransaction {\n prepare(signer: AuthAccount) {\n\n // If there isn't already a staking collection\n if signer.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath) == nil {\n\n // Create private capabilities for the token holder and unlocked vault\n let lockedHolder = signer.link<&LockedTokens.TokenHolder>(/private/flowTokenHolder, target: LockedTokens.TokenHolderStoragePath)!\n let flowToken = signer.link<&FlowToken.Vault>(/private/flowTokenVault, target: /storage/flowTokenVault)!\n \n // Create a new Staking Collection and put it in storage\n if lockedHolder.check() {\n signer.save(<-FlowStakingCollection.createStakingCollection(unlockedVault: flowToken, tokenHolder: lockedHolder), to: FlowStakingCollection.StakingCollectionStoragePath)\n } else {\n signer.save(<-FlowStakingCollection.createStakingCollection(unlockedVault: flowToken, tokenHolder: nil), to: FlowStakingCollection.StakingCollectionStoragePath)\n }\n\n // Create a public link to the staking collection\n signer.link<&FlowStakingCollection.StakingCollection{FlowStakingCollection.StakingCollectionPublic}>(\n FlowStakingCollection.StakingCollectionPublicPath,\n target: FlowStakingCollection.StakingCollectionStoragePath\n )\n }\n\n // borrow a reference to the staking collection\n let collectionRef = signer.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow staking collection reference\")\n\n // If there is a node staker object in the account, put it in the staking collection\n if signer.borrow<&FlowIDTableStaking.NodeStaker>(from: FlowIDTableStaking.NodeStakerStoragePath) != nil {\n let node <- signer.load<@FlowIDTableStaking.NodeStaker>(from: FlowIDTableStaking.NodeStakerStoragePath)!\n collectionRef.addNodeObject(<-node, machineAccountInfo: nil)\n }\n\n // If there is a delegator object in the account, put it in the staking collection\n if signer.borrow<&FlowIDTableStaking.NodeDelegator>(from: FlowIDTableStaking.DelegatorStoragePath) != nil {\n let delegator <- signer.load<@FlowIDTableStaking.NodeDelegator>(from: FlowIDTableStaking.DelegatorStoragePath)!\n collectionRef.addDelegatorObject(<-delegator)\n }\n }\n}\n", - "arguments": [], + "script": "import FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// Commits new tokens to stake for the specified node or delegator in the staking collection\n/// The tokens from the locked vault are used first, if it exists\n/// followed by the tokens from the unlocked vault\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: auth(FlowStakingCollection.CollectionOwner) &FlowStakingCollection.StakingCollection\n\n prepare(account: auth(BorrowValue) &Account) {\n self.stakingCollectionRef = account.storage.borrow(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow a reference to a StakingCollection in the primary user's account\")\n }\n\n execute {\n self.stakingCollectionRef.stakeNewTokens(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", + "arguments": [ + { + "type": "String", + "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" + }, + { + "value": null, + "type": "Optional" + }, + { + "value": "92233720368.54775808", + "type": "UFix64" + } + ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", "gasLimit": 42, "proposalKey": { @@ -1178,25 +1320,32 @@ ], "payloadSigs": [] }, - "encodedTransactionPayloadHex": "f90bf0b90bac696d706f72742046756e6769626c65546f6b656e2066726f6d203078396130373636643933623636303862370a696d706f727420466c6f77546f6b656e2066726f6d203078376536306466303432613963303836380a696d706f727420466c6f7749445461626c655374616b696e672066726f6d203078396563613262333862313862356466650a696d706f7274204c6f636b6564546f6b656e732066726f6d203078393565303139613137643065323364370a696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f2054686973207472616e73616374696f6e207365747320757020616e206163636f756e7420746f207573652061207374616b696e6720636f6c6c656374696f6e0a2f2f2f2049742077696c6c20776f726b207265676172646c657373206f66207768657468657220746865792068617665206120726567756c6172206163636f756e742c20612074776f2d6163636f756e74206c6f636b656420746f6b656e732073657475702c0a2f2f2f206f72207374616b696e67206f626a656374732073746f72656420696e2074686520756e6c6f636b6564206163636f756e740a0a7472616e73616374696f6e207b0a2020202070726570617265287369676e65723a20417574684163636f756e7429207b0a0a20202020202020202f2f2049662074686572652069736e277420616c72656164792061207374616b696e6720636f6c6c656374696f6e0a20202020202020206966207369676e65722e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f726167655061746829203d3d206e696c207b0a0a2020202020202020202020202f2f204372656174652070726976617465206361706162696c697469657320666f722074686520746f6b656e20686f6c64657220616e6420756e6c6f636b6564207661756c740a2020202020202020202020206c6574206c6f636b6564486f6c646572203d207369676e65722e6c696e6b3c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e282f707269766174652f666c6f77546f6b656e486f6c6465722c207461726765743a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f726167655061746829210a2020202020202020202020206c657420666c6f77546f6b656e203d207369676e65722e6c696e6b3c26466c6f77546f6b656e2e5661756c743e282f707269766174652f666c6f77546f6b656e5661756c742c207461726765743a202f73746f726167652f666c6f77546f6b656e5661756c7429210a2020202020202020202020200a2020202020202020202020202f2f204372656174652061206e6577205374616b696e6720436f6c6c656374696f6e20616e642070757420697420696e2073746f726167650a2020202020202020202020206966206c6f636b6564486f6c6465722e636865636b2829207b0a202020202020202020202020202020207369676e65722e73617665283c2d466c6f775374616b696e67436f6c6c656374696f6e2e6372656174655374616b696e67436f6c6c656374696f6e28756e6c6f636b65645661756c743a20666c6f77546f6b656e2c20746f6b656e486f6c6465723a206c6f636b6564486f6c646572292c20746f3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020207d20656c7365207b0a202020202020202020202020202020207369676e65722e73617665283c2d466c6f775374616b696e67436f6c6c656374696f6e2e6372656174655374616b696e67436f6c6c656374696f6e28756e6c6f636b65645661756c743a20666c6f77546f6b656e2c20746f6b656e486f6c6465723a206e696c292c20746f3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020207d0a0a2020202020202020202020202f2f204372656174652061207075626c6963206c696e6b20746f20746865207374616b696e6720636f6c6c656374696f6e0a2020202020202020202020207369676e65722e6c696e6b3c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e7b466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e5075626c69637d3e280a20202020202020202020202020202020466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e5075626c6963506174682c0a202020202020202020202020202020207461726765743a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f72616765506174680a202020202020202020202020290a20202020202020207d0a0a20202020202020202f2f20626f72726f772061207265666572656e636520746f20746865207374616b696e6720636f6c6c656374696f6e0a20202020202020206c657420636f6c6c656374696f6e526566203d207369676e65722e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207374616b696e6720636f6c6c656374696f6e207265666572656e636522290a0a20202020202020202f2f2049662074686572652069732061206e6f6465207374616b6572206f626a65637420696e20746865206163636f756e742c2070757420697420696e20746865207374616b696e6720636f6c6c656374696f6e0a20202020202020206966207369676e65722e626f72726f773c26466c6f7749445461626c655374616b696e672e4e6f64655374616b65723e2866726f6d3a20466c6f7749445461626c655374616b696e672e4e6f64655374616b657253746f72616765506174682920213d206e696c207b0a2020202020202020202020206c6574206e6f6465203c2d207369676e65722e6c6f61643c40466c6f7749445461626c655374616b696e672e4e6f64655374616b65723e2866726f6d3a20466c6f7749445461626c655374616b696e672e4e6f64655374616b657253746f726167655061746829210a202020202020202020202020636f6c6c656374696f6e5265662e6164644e6f64654f626a656374283c2d6e6f64652c206d616368696e654163636f756e74496e666f3a206e696c290a20202020202020207d0a0a20202020202020202f2f20496620746865726520697320612064656c656761746f72206f626a65637420696e20746865206163636f756e742c2070757420697420696e20746865207374616b696e6720636f6c6c656374696f6e0a20202020202020206966207369676e65722e626f72726f773c26466c6f7749445461626c655374616b696e672e4e6f646544656c656761746f723e2866726f6d3a20466c6f7749445461626c655374616b696e672e44656c656761746f7253746f72616765506174682920213d206e696c207b0a2020202020202020202020206c65742064656c656761746f72203c2d207369676e65722e6c6f61643c40466c6f7749445461626c655374616b696e672e4e6f646544656c656761746f723e2866726f6d3a20466c6f7749445461626c655374616b696e672e44656c656761746f7253746f726167655061746829210a202020202020202020202020636f6c6c656374696f6e5265662e61646444656c656761746f724f626a656374283c2d64656c656761746f72290a20202020202020207d0a202020207d0a7d0ac0a0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", - "encodedTransactionEnvelopeHex": "f90bf4f90bf0b90bac696d706f72742046756e6769626c65546f6b656e2066726f6d203078396130373636643933623636303862370a696d706f727420466c6f77546f6b656e2066726f6d203078376536306466303432613963303836380a696d706f727420466c6f7749445461626c655374616b696e672066726f6d203078396563613262333862313862356466650a696d706f7274204c6f636b6564546f6b656e732066726f6d203078393565303139613137643065323364370a696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f2054686973207472616e73616374696f6e207365747320757020616e206163636f756e7420746f207573652061207374616b696e6720636f6c6c656374696f6e0a2f2f2f2049742077696c6c20776f726b207265676172646c657373206f66207768657468657220746865792068617665206120726567756c6172206163636f756e742c20612074776f2d6163636f756e74206c6f636b656420746f6b656e732073657475702c0a2f2f2f206f72207374616b696e67206f626a656374732073746f72656420696e2074686520756e6c6f636b6564206163636f756e740a0a7472616e73616374696f6e207b0a2020202070726570617265287369676e65723a20417574684163636f756e7429207b0a0a20202020202020202f2f2049662074686572652069736e277420616c72656164792061207374616b696e6720636f6c6c656374696f6e0a20202020202020206966207369676e65722e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f726167655061746829203d3d206e696c207b0a0a2020202020202020202020202f2f204372656174652070726976617465206361706162696c697469657320666f722074686520746f6b656e20686f6c64657220616e6420756e6c6f636b6564207661756c740a2020202020202020202020206c6574206c6f636b6564486f6c646572203d207369676e65722e6c696e6b3c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e282f707269766174652f666c6f77546f6b656e486f6c6465722c207461726765743a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f726167655061746829210a2020202020202020202020206c657420666c6f77546f6b656e203d207369676e65722e6c696e6b3c26466c6f77546f6b656e2e5661756c743e282f707269766174652f666c6f77546f6b656e5661756c742c207461726765743a202f73746f726167652f666c6f77546f6b656e5661756c7429210a2020202020202020202020200a2020202020202020202020202f2f204372656174652061206e6577205374616b696e6720436f6c6c656374696f6e20616e642070757420697420696e2073746f726167650a2020202020202020202020206966206c6f636b6564486f6c6465722e636865636b2829207b0a202020202020202020202020202020207369676e65722e73617665283c2d466c6f775374616b696e67436f6c6c656374696f6e2e6372656174655374616b696e67436f6c6c656374696f6e28756e6c6f636b65645661756c743a20666c6f77546f6b656e2c20746f6b656e486f6c6465723a206c6f636b6564486f6c646572292c20746f3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020207d20656c7365207b0a202020202020202020202020202020207369676e65722e73617665283c2d466c6f775374616b696e67436f6c6c656374696f6e2e6372656174655374616b696e67436f6c6c656374696f6e28756e6c6f636b65645661756c743a20666c6f77546f6b656e2c20746f6b656e486f6c6465723a206e696c292c20746f3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020207d0a0a2020202020202020202020202f2f204372656174652061207075626c6963206c696e6b20746f20746865207374616b696e6720636f6c6c656374696f6e0a2020202020202020202020207369676e65722e6c696e6b3c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e7b466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e5075626c69637d3e280a20202020202020202020202020202020466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e5075626c6963506174682c0a202020202020202020202020202020207461726765743a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f72616765506174680a202020202020202020202020290a20202020202020207d0a0a20202020202020202f2f20626f72726f772061207265666572656e636520746f20746865207374616b696e6720636f6c6c656374696f6e0a20202020202020206c657420636f6c6c656374696f6e526566203d207369676e65722e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207374616b696e6720636f6c6c656374696f6e207265666572656e636522290a0a20202020202020202f2f2049662074686572652069732061206e6f6465207374616b6572206f626a65637420696e20746865206163636f756e742c2070757420697420696e20746865207374616b696e6720636f6c6c656374696f6e0a20202020202020206966207369676e65722e626f72726f773c26466c6f7749445461626c655374616b696e672e4e6f64655374616b65723e2866726f6d3a20466c6f7749445461626c655374616b696e672e4e6f64655374616b657253746f72616765506174682920213d206e696c207b0a2020202020202020202020206c6574206e6f6465203c2d207369676e65722e6c6f61643c40466c6f7749445461626c655374616b696e672e4e6f64655374616b65723e2866726f6d3a20466c6f7749445461626c655374616b696e672e4e6f64655374616b657253746f726167655061746829210a202020202020202020202020636f6c6c656374696f6e5265662e6164644e6f64654f626a656374283c2d6e6f64652c206d616368696e654163636f756e74496e666f3a206e696c290a20202020202020207d0a0a20202020202020202f2f20496620746865726520697320612064656c656761746f72206f626a65637420696e20746865206163636f756e742c2070757420697420696e20746865207374616b696e6720636f6c6c656374696f6e0a20202020202020206966207369676e65722e626f72726f773c26466c6f7749445461626c655374616b696e672e4e6f646544656c656761746f723e2866726f6d3a20466c6f7749445461626c655374616b696e672e44656c656761746f7253746f72616765506174682920213d206e696c207b0a2020202020202020202020206c65742064656c656761746f72203c2d207369676e65722e6c6f61643c40466c6f7749445461626c655374616b696e672e4e6f646544656c656761746f723e2866726f6d3a20466c6f7749445461626c655374616b696e672e44656c656761746f7253746f726167655061746829210a202020202020202020202020636f6c6c656374696f6e5265662e61646444656c656761746f724f626a656374283c2d64656c656761746f72290a20202020202020207d0a202020207d0a7d0ac0a0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", - "metadata": "02a524b4094fcaf1051dbf43ac33ff80bb2f553670c58eeeb719757972a25d6b500e5c2445c0b1016eed4f60c429f233aa0bb223a0d9ff2aedffce00a58037a2bf5365747570205374616b696e6720436f6c6c656374696f6e0000", - "hash": "a524b4094fcaf1051dbf43ac33ff80bb2f553670c58eeeb719757972a25d6b50" + "encodedTransactionPayloadHex": "f904acb903b7696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f20436f6d6d697473206e657720746f6b656e7320746f207374616b6520666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f2054686520746f6b656e732066726f6d20746865206c6f636b6564207661756c742061726520757365642066697273742c206966206974206578697374730a2f2f2f20666f6c6c6f7765642062792074686520746f6b656e732066726f6d2074686520756e6c6f636b6564207661756c740a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a206175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a206175746828426f72726f7756616c75652920264163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e73746f726167652e626f72726f773c6175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f2061205374616b696e67436f6c6c656374696f6e20696e20746865207072696d61727920757365722773206163636f756e7422290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e7374616b654e6577546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8b0b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227da07b2276616c7565223a6e756c6c2c2274797065223a224f7074696f6e616c227db07b2276616c7565223a2239323233333732303336382e3534373735383038222c2274797065223a22554669783634227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", + "encodedTransactionEnvelopeHex": "f904b0f904acb903b7696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f20436f6d6d697473206e657720746f6b656e7320746f207374616b6520666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f2054686520746f6b656e732066726f6d20746865206c6f636b6564207661756c742061726520757365642066697273742c206966206974206578697374730a2f2f2f20666f6c6c6f7765642062792074686520746f6b656e732066726f6d2074686520756e6c6f636b6564207661756c740a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a206175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a206175746828426f72726f7756616c75652920264163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e73746f726167652e626f72726f773c6175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f2061205374616b696e67436f6c6c656374696f6e20696e20746865207072696d61727920757365722773206163636f756e7422290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e7374616b654e6577546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8b0b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227da07b2276616c7565223a6e756c6c2c2274797065223a224f7074696f6e616c227db07b2276616c7565223a2239323233333732303336382e3534373735383038222c2274797065223a22554669783634227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", + "metadata": "02cf2b03950077352487e6344ab65edc3e1856731ab9cf68aa2ebbe279ae496d4b4c0658934352486097cc89fa06b98bac21e514770fc6a4d70a7adc4bec6d711d5374616b65204e657720546f6b656e730003014e6f64652049440000537472696e6700030244656c656761746f72204944000155496e743332000301416d6f756e7400025546697836340003", + "hash": "cf2b03950077352487e6344ab65edc3e1856731ab9cf68aa2ebbe279ae496d4b" }, { - "title": "SCO.02 - Register Delegator", + "title": "SCO.06 - Stake New Tokens - 2", "valid": true, "chainID": "Testnet", "payloadMessage": { - "script": "import FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// Registers a delegator in the staking collection resource\n/// for the specified nodeID and the amount of tokens to commit\n\ntransaction(id: String, amount: UFix64) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n }\n\n execute {\n self.stakingCollectionRef.registerDelegator(nodeID: id, amount: amount) \n }\n}\n", + "script": "import FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// Commits new tokens to stake for the specified node or delegator in the staking collection\n/// The tokens from the locked vault are used first, if it exists\n/// followed by the tokens from the unlocked vault\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: auth(FlowStakingCollection.CollectionOwner) &FlowStakingCollection.StakingCollection\n\n prepare(account: auth(BorrowValue) &Account) {\n self.stakingCollectionRef = account.storage.borrow(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow a reference to a StakingCollection in the primary user's account\")\n }\n\n execute {\n self.stakingCollectionRef.stakeNewTokens(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", "arguments": [ { "type": "String", "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" }, { - "type": "UFix64", - "value": "92233720368.54775808" + "value": { + "value": "42", + "type": "UInt32" + }, + "type": "Optional" + }, + { + "value": "92233720368.54775808", + "type": "UFix64" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -1219,15 +1368,22 @@ ] }, "envelopeMessage": { - "script": "import FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// Registers a delegator in the staking collection resource\n/// for the specified nodeID and the amount of tokens to commit\n\ntransaction(id: String, amount: UFix64) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n }\n\n execute {\n self.stakingCollectionRef.registerDelegator(nodeID: id, amount: amount) \n }\n}\n", + "script": "import FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// Commits new tokens to stake for the specified node or delegator in the staking collection\n/// The tokens from the locked vault are used first, if it exists\n/// followed by the tokens from the unlocked vault\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: auth(FlowStakingCollection.CollectionOwner) &FlowStakingCollection.StakingCollection\n\n prepare(account: auth(BorrowValue) &Account) {\n self.stakingCollectionRef = account.storage.borrow(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow a reference to a StakingCollection in the primary user's account\")\n }\n\n execute {\n self.stakingCollectionRef.stakeNewTokens(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", "arguments": [ { "type": "String", "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" }, { - "type": "UFix64", - "value": "92233720368.54775808" + "value": { + "value": "42", + "type": "UInt32" + }, + "type": "Optional" + }, + { + "value": "92233720368.54775808", + "type": "UFix64" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -1243,45 +1399,29 @@ ], "payloadSigs": [] }, - "encodedTransactionPayloadHex": "f9036fb9029b696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f2052656769737465727320612064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e207265736f757263650a2f2f2f20666f722074686520737065636966696564206e6f6465494420616e642074686520616d6f756e74206f6620746f6b656e7320746f20636f6d6d69740a0a7472616e73616374696f6e2869643a20537472696e672c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e726567697374657244656c656761746f72286e6f646549443a2069642c20616d6f756e743a20616d6f756e74292020202020200a202020207d0a7d0af88fb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", - "encodedTransactionEnvelopeHex": "f90373f9036fb9029b696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f2052656769737465727320612064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e207265736f757263650a2f2f2f20666f722074686520737065636966696564206e6f6465494420616e642074686520616d6f756e74206f6620746f6b656e7320746f20636f6d6d69740a0a7472616e73616374696f6e2869643a20537472696e672c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e726567697374657244656c656761746f72286e6f646549443a2069642c20616d6f756e743a20616d6f756e74292020202020200a202020207d0a7d0af88fb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", - "metadata": "02c26f69a33ead535e7d597cec4567c6c70170e86fd85ec708f5381e50d43871e2c5636d510872a16eb06996dacb43d6a28f8f72ff1b05b2eb03416cc711d9bb1f52656769737465722044656c656761746f720002014e6f64652049440000537472696e67000301416d6f756e7400015546697836340003", - "hash": "c26f69a33ead535e7d597cec4567c6c70170e86fd85ec708f5381e50d43871e2" + "encodedTransactionPayloadHex": "f904c7b903b7696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f20436f6d6d697473206e657720746f6b656e7320746f207374616b6520666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f2054686520746f6b656e732066726f6d20746865206c6f636b6564207661756c742061726520757365642066697273742c206966206974206578697374730a2f2f2f20666f6c6c6f7765642062792074686520746f6b656e732066726f6d2074686520756e6c6f636b6564207661756c740a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a206175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a206175746828426f72726f7756616c75652920264163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e73746f726167652e626f72726f773c6175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f2061205374616b696e67436f6c6c656374696f6e20696e20746865207072696d61727920757365722773206163636f756e7422290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e7374616b654e6577546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8cbb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db83a7b2276616c7565223a7b2276616c7565223a223432222c2274797065223a2255496e743332227d2c2274797065223a224f7074696f6e616c227db07b2276616c7565223a2239323233333732303336382e3534373735383038222c2274797065223a22554669783634227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", + "encodedTransactionEnvelopeHex": "f904cbf904c7b903b7696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f20436f6d6d697473206e657720746f6b656e7320746f207374616b6520666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f2054686520746f6b656e732066726f6d20746865206c6f636b6564207661756c742061726520757365642066697273742c206966206974206578697374730a2f2f2f20666f6c6c6f7765642062792074686520746f6b656e732066726f6d2074686520756e6c6f636b6564207661756c740a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a206175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a206175746828426f72726f7756616c75652920264163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e73746f726167652e626f72726f773c6175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f2061205374616b696e67436f6c6c656374696f6e20696e20746865207072696d61727920757365722773206163636f756e7422290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e7374616b654e6577546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8cbb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db83a7b2276616c7565223a7b2276616c7565223a223432222c2274797065223a2255496e743332227d2c2274797065223a224f7074696f6e616c227db07b2276616c7565223a2239323233333732303336382e3534373735383038222c2274797065223a22554669783634227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", + "metadata": "02cf2b03950077352487e6344ab65edc3e1856731ab9cf68aa2ebbe279ae496d4b4c0658934352486097cc89fa06b98bac21e514770fc6a4d70a7adc4bec6d711d5374616b65204e657720546f6b656e730003014e6f64652049440000537472696e6700030244656c656761746f72204944000155496e743332000301416d6f756e7400025546697836340003", + "hash": "cf2b03950077352487e6344ab65edc3e1856731ab9cf68aa2ebbe279ae496d4b" }, { - "title": "SCO.03 - Register Node - 1", + "title": "SCO.07 - Stake Rewarded Tokens - 1", "valid": true, "chainID": "Testnet", "payloadMessage": { - "script": "import FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// Registers a delegator in the staking collection resource\n/// for the specified node information and the amount of tokens to commit\n\ntransaction(id: String,\n role: UInt8,\n networkingAddress: String,\n networkingKey: String,\n stakingKey: String,\n amount: UFix64,\n publicKeys: [String]?) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n\n if let machineAccount = self.stakingCollectionRef.registerNode(\n id: id,\n role: role,\n networkingAddress: networkingAddress,\n networkingKey: networkingKey,\n stakingKey: stakingKey,\n amount: amount,\n payer: account) \n {\n if publicKeys == nil || publicKeys!.length == 0 {\n panic(\"Cannot provide zero keys for the machine account\")\n }\n for key in publicKeys! {\n machineAccount.addPublicKey(key.decodeHex())\n }\n }\n }\n}\n", + "script": "import FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// Commits rewarded tokens to stake for the specified node or delegator in the staking collection\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: auth(FlowStakingCollection.CollectionOwner) &FlowStakingCollection.StakingCollection\n\n prepare(account: auth(BorrowValue) &Account) {\n self.stakingCollectionRef = account.storage.borrow(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow a reference to a StakingCollection in the primary user's account\")\n }\n\n execute {\n self.stakingCollectionRef.stakeRewardedTokens(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", "arguments": [ { "type": "String", "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" }, { - "type": "UInt8", - "value": "1" - }, - { - "type": "String", - "value": "flow-node.test:3569" - }, - { - "type": "String", - "value": "1348307bc77c688e80049de9d081aa09755da33e6997605fa059db2144fc85e560cbe6f7da8d74b453f5916618cb8fd392c2db856f3e78221dc68db1b1d914e4" - }, - { - "type": "String", - "value": "9e9ae0d645fd5fd9050792e0b0daa82cc1686d9133afa0f81a784b375c42ae48567d1545e7a9e1965f2c1a32f73cf8575ebb7a967f6e4d104d2df78eb8be409135d12da0499b8a00771f642c1b9c49397f22b440439f036c3bdee82f5309dab3" - }, - { - "type": "UFix64", - "value": "92233720368.54775808" + "value": null, + "type": "Optional" }, { - "type": "Optional", - "value": null + "value": "92233720368.54775808", + "type": "UFix64" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -1304,35 +1444,19 @@ ] }, "envelopeMessage": { - "script": "import FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// Registers a delegator in the staking collection resource\n/// for the specified node information and the amount of tokens to commit\n\ntransaction(id: String,\n role: UInt8,\n networkingAddress: String,\n networkingKey: String,\n stakingKey: String,\n amount: UFix64,\n publicKeys: [String]?) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n\n if let machineAccount = self.stakingCollectionRef.registerNode(\n id: id,\n role: role,\n networkingAddress: networkingAddress,\n networkingKey: networkingKey,\n stakingKey: stakingKey,\n amount: amount,\n payer: account) \n {\n if publicKeys == nil || publicKeys!.length == 0 {\n panic(\"Cannot provide zero keys for the machine account\")\n }\n for key in publicKeys! {\n machineAccount.addPublicKey(key.decodeHex())\n }\n }\n }\n}\n", + "script": "import FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// Commits rewarded tokens to stake for the specified node or delegator in the staking collection\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: auth(FlowStakingCollection.CollectionOwner) &FlowStakingCollection.StakingCollection\n\n prepare(account: auth(BorrowValue) &Account) {\n self.stakingCollectionRef = account.storage.borrow(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow a reference to a StakingCollection in the primary user's account\")\n }\n\n execute {\n self.stakingCollectionRef.stakeRewardedTokens(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", "arguments": [ { "type": "String", "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" }, { - "type": "UInt8", - "value": "1" - }, - { - "type": "String", - "value": "flow-node.test:3569" - }, - { - "type": "String", - "value": "1348307bc77c688e80049de9d081aa09755da33e6997605fa059db2144fc85e560cbe6f7da8d74b453f5916618cb8fd392c2db856f3e78221dc68db1b1d914e4" - }, - { - "type": "String", - "value": "9e9ae0d645fd5fd9050792e0b0daa82cc1686d9133afa0f81a784b375c42ae48567d1545e7a9e1965f2c1a32f73cf8575ebb7a967f6e4d104d2df78eb8be409135d12da0499b8a00771f642c1b9c49397f22b440439f036c3bdee82f5309dab3" - }, - { - "type": "UFix64", - "value": "92233720368.54775808" + "value": null, + "type": "Optional" }, { - "type": "Optional", - "value": null + "value": "92233720368.54775808", + "type": "UFix64" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -1348,48 +1472,32 @@ ], "payloadSigs": [] }, - "encodedTransactionPayloadHex": "f907f3b90534696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f2052656769737465727320612064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e207265736f757263650a2f2f2f20666f722074686520737065636966696564206e6f646520696e666f726d6174696f6e20616e642074686520616d6f756e74206f6620746f6b656e7320746f20636f6d6d69740a0a7472616e73616374696f6e2869643a20537472696e672c0a202020202020202020202020726f6c653a2055496e74382c0a2020202020202020202020206e6574776f726b696e67416464726573733a20537472696e672c0a2020202020202020202020206e6574776f726b696e674b65793a20537472696e672c0a2020202020202020202020207374616b696e674b65793a20537472696e672c0a202020202020202020202020616d6f756e743a205546697836342c0a2020202020202020202020207075626c69634b6579733a205b537472696e675d3f29207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a0a20202020202020206966206c6574206d616368696e654163636f756e74203d2073656c662e7374616b696e67436f6c6c656374696f6e5265662e72656769737465724e6f6465280a20202020202020202020202069643a2069642c0a202020202020202020202020726f6c653a20726f6c652c0a2020202020202020202020206e6574776f726b696e67416464726573733a206e6574776f726b696e67416464726573732c0a2020202020202020202020206e6574776f726b696e674b65793a206e6574776f726b696e674b65792c0a2020202020202020202020207374616b696e674b65793a207374616b696e674b65792c0a202020202020202020202020616d6f756e743a20616d6f756e742c0a20202020202020202020202070617965723a206163636f756e7429200a20202020202020207b0a2020202020202020202020206966207075626c69634b657973203d3d206e696c207c7c207075626c69634b657973212e6c656e677468203d3d2030207b0a2020202020202020202020202020202070616e6963282243616e6e6f742070726f76696465207a65726f206b65797320666f7220746865206d616368696e65206163636f756e7422290a2020202020202020202020207d0a202020202020202020202020666f72206b657920696e207075626c69634b65797321207b0a202020202020202020202020202020206d616368696e654163636f756e742e6164645075626c69634b6579286b65792e6465636f64654865782829290a2020202020202020202020207d0a20202020202020207d0a202020207d0a7d0af90279b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227d9c7b2274797065223a2255496e7438222c2276616c7565223a2231227daf7b2274797065223a22537472696e67222c2276616c7565223a22666c6f772d6e6f64652e746573743a33353639227db89c7b2274797065223a22537472696e67222c2276616c7565223a223133343833303762633737633638386538303034396465396430383161613039373535646133336536393937363035666130353964623231343466633835653536306362653666376461386437346234353366353931363631386362386664333932633264623835366633653738323231646336386462316231643931346534227db8dc7b2274797065223a22537472696e67222c2276616c7565223a22396539616530643634356664356664393035303739326530623064616138326363313638366439313333616661306638316137383462333735633432616534383536376431353435653761396531393635663263316133326637336366383537356562623761393637663665346431303464326466373865623862653430393133356431326461303439396238613030373731663634326331623963343933393766323262343430343339663033366333626465653832663533303964616233227db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da07b2274797065223a224f7074696f6e616c222c2276616c7565223a6e756c6c7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", - "encodedTransactionEnvelopeHex": "f907f7f907f3b90534696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f2052656769737465727320612064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e207265736f757263650a2f2f2f20666f722074686520737065636966696564206e6f646520696e666f726d6174696f6e20616e642074686520616d6f756e74206f6620746f6b656e7320746f20636f6d6d69740a0a7472616e73616374696f6e2869643a20537472696e672c0a202020202020202020202020726f6c653a2055496e74382c0a2020202020202020202020206e6574776f726b696e67416464726573733a20537472696e672c0a2020202020202020202020206e6574776f726b696e674b65793a20537472696e672c0a2020202020202020202020207374616b696e674b65793a20537472696e672c0a202020202020202020202020616d6f756e743a205546697836342c0a2020202020202020202020207075626c69634b6579733a205b537472696e675d3f29207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a0a20202020202020206966206c6574206d616368696e654163636f756e74203d2073656c662e7374616b696e67436f6c6c656374696f6e5265662e72656769737465724e6f6465280a20202020202020202020202069643a2069642c0a202020202020202020202020726f6c653a20726f6c652c0a2020202020202020202020206e6574776f726b696e67416464726573733a206e6574776f726b696e67416464726573732c0a2020202020202020202020206e6574776f726b696e674b65793a206e6574776f726b696e674b65792c0a2020202020202020202020207374616b696e674b65793a207374616b696e674b65792c0a202020202020202020202020616d6f756e743a20616d6f756e742c0a20202020202020202020202070617965723a206163636f756e7429200a20202020202020207b0a2020202020202020202020206966207075626c69634b657973203d3d206e696c207c7c207075626c69634b657973212e6c656e677468203d3d2030207b0a2020202020202020202020202020202070616e6963282243616e6e6f742070726f76696465207a65726f206b65797320666f7220746865206d616368696e65206163636f756e7422290a2020202020202020202020207d0a202020202020202020202020666f72206b657920696e207075626c69634b65797321207b0a202020202020202020202020202020206d616368696e654163636f756e742e6164645075626c69634b6579286b65792e6465636f64654865782829290a2020202020202020202020207d0a20202020202020207d0a202020207d0a7d0af90279b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227d9c7b2274797065223a2255496e7438222c2276616c7565223a2231227daf7b2274797065223a22537472696e67222c2276616c7565223a22666c6f772d6e6f64652e746573743a33353639227db89c7b2274797065223a22537472696e67222c2276616c7565223a223133343833303762633737633638386538303034396465396430383161613039373535646133336536393937363035666130353964623231343466633835653536306362653666376461386437346234353366353931363631386362386664333932633264623835366633653738323231646336386462316231643931346534227db8dc7b2274797065223a22537472696e67222c2276616c7565223a22396539616530643634356664356664393035303739326530623064616138326363313638366439313333616661306638316137383462333735633432616534383536376431353435653761396531393635663263316133326637336366383537356562623761393637663665346431303464326466373865623862653430393133356431326461303439396238613030373731663634326331623963343933393766323262343430343339663033366333626465653832663533303964616233227db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da07b2274797065223a224f7074696f6e616c222c2276616c7565223a6e756c6c7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", - "metadata": "02f47efa834bc0559afae9a660b2efefddd0c6dc6e1bbcf9c3994e45ea9e5135ec99997236b6d76caa298331d5cef77cbdf83c1af64584ece537a780ba4ac468835265676973746572204e6f64650007014e6f64652049440000537472696e670003014e6f646520526f6c65000155496e74380003014e6574772e20416464726573730002537472696e670003014e6574772e204b65790003537472696e670003015374616b696e67204b65790004537472696e67000301416d6f756e74000555466978363400030400035075622e204b65790006537472696e670003", - "hash": "f47efa834bc0559afae9a660b2efefddd0c6dc6e1bbcf9c3994e45ea9e5135ec" + "encodedTransactionPayloadHex": "f90441b9034c696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f20436f6d6d69747320726577617264656420746f6b656e7320746f207374616b6520666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a206175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a206175746828426f72726f7756616c75652920264163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e73746f726167652e626f72726f773c6175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f2061205374616b696e67436f6c6c656374696f6e20696e20746865207072696d61727920757365722773206163636f756e7422290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e7374616b655265776172646564546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8b0b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227da07b2276616c7565223a6e756c6c2c2274797065223a224f7074696f6e616c227db07b2276616c7565223a2239323233333732303336382e3534373735383038222c2274797065223a22554669783634227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", + "encodedTransactionEnvelopeHex": "f90445f90441b9034c696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f20436f6d6d69747320726577617264656420746f6b656e7320746f207374616b6520666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a206175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a206175746828426f72726f7756616c75652920264163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e73746f726167652e626f72726f773c6175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f2061205374616b696e67436f6c6c656374696f6e20696e20746865207072696d61727920757365722773206163636f756e7422290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e7374616b655265776172646564546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8b0b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227da07b2276616c7565223a6e756c6c2c2274797065223a224f7074696f6e616c227db07b2276616c7565223a2239323233333732303336382e3534373735383038222c2274797065223a22554669783634227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", + "metadata": "024395faf2e515eea4d40f82416ad387575f0d5a580612223c361130e53e72f00bc989e8b3beb9c2eb5af2ee1e11d592c9f1131e76e7ef105a0d40cf1610d1e3485374616b6520526577617264656420546f6b656e730003014e6f64652049440000537472696e6700030244656c656761746f72204944000155496e743332000301416d6f756e7400025546697836340003", + "hash": "4395faf2e515eea4d40f82416ad387575f0d5a580612223c361130e53e72f00b" }, { - "title": "SCO.03 - Register Node - 2", + "title": "SCO.07 - Stake Rewarded Tokens - 2", "valid": true, "chainID": "Testnet", "payloadMessage": { - "script": "import FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// Registers a delegator in the staking collection resource\n/// for the specified node information and the amount of tokens to commit\n\ntransaction(id: String,\n role: UInt8,\n networkingAddress: String,\n networkingKey: String,\n stakingKey: String,\n amount: UFix64,\n publicKeys: [String]?) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n\n if let machineAccount = self.stakingCollectionRef.registerNode(\n id: id,\n role: role,\n networkingAddress: networkingAddress,\n networkingKey: networkingKey,\n stakingKey: stakingKey,\n amount: amount,\n payer: account) \n {\n if publicKeys == nil || publicKeys!.length == 0 {\n panic(\"Cannot provide zero keys for the machine account\")\n }\n for key in publicKeys! {\n machineAccount.addPublicKey(key.decodeHex())\n }\n }\n }\n}\n", + "script": "import FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// Commits rewarded tokens to stake for the specified node or delegator in the staking collection\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: auth(FlowStakingCollection.CollectionOwner) &FlowStakingCollection.StakingCollection\n\n prepare(account: auth(BorrowValue) &Account) {\n self.stakingCollectionRef = account.storage.borrow(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow a reference to a StakingCollection in the primary user's account\")\n }\n\n execute {\n self.stakingCollectionRef.stakeRewardedTokens(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", "arguments": [ { "type": "String", "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" }, { - "type": "UInt8", - "value": "1" - }, - { - "type": "String", - "value": "flow-node.test:3569" - }, - { - "type": "String", - "value": "1348307bc77c688e80049de9d081aa09755da33e6997605fa059db2144fc85e560cbe6f7da8d74b453f5916618cb8fd392c2db856f3e78221dc68db1b1d914e4" - }, - { - "type": "String", - "value": "9e9ae0d645fd5fd9050792e0b0daa82cc1686d9133afa0f81a784b375c42ae48567d1545e7a9e1965f2c1a32f73cf8575ebb7a967f6e4d104d2df78eb8be409135d12da0499b8a00771f642c1b9c49397f22b440439f036c3bdee82f5309dab3" - }, - { - "type": "UFix64", - "value": "92233720368.54775808" + "value": { + "value": "42", + "type": "UInt32" + }, + "type": "Optional" }, { - "type": "Optional", - "value": { - "type": "Array", - "value": [] - } + "value": "92233720368.54775808", + "type": "UFix64" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -1412,38 +1520,22 @@ ] }, "envelopeMessage": { - "script": "import FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// Registers a delegator in the staking collection resource\n/// for the specified node information and the amount of tokens to commit\n\ntransaction(id: String,\n role: UInt8,\n networkingAddress: String,\n networkingKey: String,\n stakingKey: String,\n amount: UFix64,\n publicKeys: [String]?) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n\n if let machineAccount = self.stakingCollectionRef.registerNode(\n id: id,\n role: role,\n networkingAddress: networkingAddress,\n networkingKey: networkingKey,\n stakingKey: stakingKey,\n amount: amount,\n payer: account) \n {\n if publicKeys == nil || publicKeys!.length == 0 {\n panic(\"Cannot provide zero keys for the machine account\")\n }\n for key in publicKeys! {\n machineAccount.addPublicKey(key.decodeHex())\n }\n }\n }\n}\n", + "script": "import FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// Commits rewarded tokens to stake for the specified node or delegator in the staking collection\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: auth(FlowStakingCollection.CollectionOwner) &FlowStakingCollection.StakingCollection\n\n prepare(account: auth(BorrowValue) &Account) {\n self.stakingCollectionRef = account.storage.borrow(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow a reference to a StakingCollection in the primary user's account\")\n }\n\n execute {\n self.stakingCollectionRef.stakeRewardedTokens(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", "arguments": [ { "type": "String", "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" }, { - "type": "UInt8", - "value": "1" - }, - { - "type": "String", - "value": "flow-node.test:3569" - }, - { - "type": "String", - "value": "1348307bc77c688e80049de9d081aa09755da33e6997605fa059db2144fc85e560cbe6f7da8d74b453f5916618cb8fd392c2db856f3e78221dc68db1b1d914e4" - }, - { - "type": "String", - "value": "9e9ae0d645fd5fd9050792e0b0daa82cc1686d9133afa0f81a784b375c42ae48567d1545e7a9e1965f2c1a32f73cf8575ebb7a967f6e4d104d2df78eb8be409135d12da0499b8a00771f642c1b9c49397f22b440439f036c3bdee82f5309dab3" - }, - { - "type": "UFix64", - "value": "92233720368.54775808" + "value": { + "value": "42", + "type": "UInt32" + }, + "type": "Optional" }, { - "type": "Optional", - "value": { - "type": "Array", - "value": [] - } + "value": "92233720368.54775808", + "type": "UFix64" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -1459,53 +1551,29 @@ ], "payloadSigs": [] }, - "encodedTransactionPayloadHex": "f9080ab90534696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f2052656769737465727320612064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e207265736f757263650a2f2f2f20666f722074686520737065636966696564206e6f646520696e666f726d6174696f6e20616e642074686520616d6f756e74206f6620746f6b656e7320746f20636f6d6d69740a0a7472616e73616374696f6e2869643a20537472696e672c0a202020202020202020202020726f6c653a2055496e74382c0a2020202020202020202020206e6574776f726b696e67416464726573733a20537472696e672c0a2020202020202020202020206e6574776f726b696e674b65793a20537472696e672c0a2020202020202020202020207374616b696e674b65793a20537472696e672c0a202020202020202020202020616d6f756e743a205546697836342c0a2020202020202020202020207075626c69634b6579733a205b537472696e675d3f29207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a0a20202020202020206966206c6574206d616368696e654163636f756e74203d2073656c662e7374616b696e67436f6c6c656374696f6e5265662e72656769737465724e6f6465280a20202020202020202020202069643a2069642c0a202020202020202020202020726f6c653a20726f6c652c0a2020202020202020202020206e6574776f726b696e67416464726573733a206e6574776f726b696e67416464726573732c0a2020202020202020202020206e6574776f726b696e674b65793a206e6574776f726b696e674b65792c0a2020202020202020202020207374616b696e674b65793a207374616b696e674b65792c0a202020202020202020202020616d6f756e743a20616d6f756e742c0a20202020202020202020202070617965723a206163636f756e7429200a20202020202020207b0a2020202020202020202020206966207075626c69634b657973203d3d206e696c207c7c207075626c69634b657973212e6c656e677468203d3d2030207b0a2020202020202020202020202020202070616e6963282243616e6e6f742070726f76696465207a65726f206b65797320666f7220746865206d616368696e65206163636f756e7422290a2020202020202020202020207d0a202020202020202020202020666f72206b657920696e207075626c69634b65797321207b0a202020202020202020202020202020206d616368696e654163636f756e742e6164645075626c69634b6579286b65792e6465636f64654865782829290a2020202020202020202020207d0a20202020202020207d0a202020207d0a7d0af90290b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227d9c7b2274797065223a2255496e7438222c2276616c7565223a2231227daf7b2274797065223a22537472696e67222c2276616c7565223a22666c6f772d6e6f64652e746573743a33353639227db89c7b2274797065223a22537472696e67222c2276616c7565223a223133343833303762633737633638386538303034396465396430383161613039373535646133336536393937363035666130353964623231343466633835653536306362653666376461386437346234353366353931363631386362386664333932633264623835366633653738323231646336386462316231643931346534227db8dc7b2274797065223a22537472696e67222c2276616c7565223a22396539616530643634356664356664393035303739326530623064616138326363313638366439313333616661306638316137383462333735633432616534383536376431353435653761396531393635663263316133326637336366383537356562623761393637663665346431303464326466373865623862653430393133356431326461303439396238613030373731663634326331623963343933393766323262343430343339663033366333626465653832663533303964616233227db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227db77b2274797065223a224f7074696f6e616c222c2276616c7565223a7b2274797065223a224172726179222c2276616c7565223a5b5d7d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", - "encodedTransactionEnvelopeHex": "f9080ef9080ab90534696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f2052656769737465727320612064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e207265736f757263650a2f2f2f20666f722074686520737065636966696564206e6f646520696e666f726d6174696f6e20616e642074686520616d6f756e74206f6620746f6b656e7320746f20636f6d6d69740a0a7472616e73616374696f6e2869643a20537472696e672c0a202020202020202020202020726f6c653a2055496e74382c0a2020202020202020202020206e6574776f726b696e67416464726573733a20537472696e672c0a2020202020202020202020206e6574776f726b696e674b65793a20537472696e672c0a2020202020202020202020207374616b696e674b65793a20537472696e672c0a202020202020202020202020616d6f756e743a205546697836342c0a2020202020202020202020207075626c69634b6579733a205b537472696e675d3f29207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a0a20202020202020206966206c6574206d616368696e654163636f756e74203d2073656c662e7374616b696e67436f6c6c656374696f6e5265662e72656769737465724e6f6465280a20202020202020202020202069643a2069642c0a202020202020202020202020726f6c653a20726f6c652c0a2020202020202020202020206e6574776f726b696e67416464726573733a206e6574776f726b696e67416464726573732c0a2020202020202020202020206e6574776f726b696e674b65793a206e6574776f726b696e674b65792c0a2020202020202020202020207374616b696e674b65793a207374616b696e674b65792c0a202020202020202020202020616d6f756e743a20616d6f756e742c0a20202020202020202020202070617965723a206163636f756e7429200a20202020202020207b0a2020202020202020202020206966207075626c69634b657973203d3d206e696c207c7c207075626c69634b657973212e6c656e677468203d3d2030207b0a2020202020202020202020202020202070616e6963282243616e6e6f742070726f76696465207a65726f206b65797320666f7220746865206d616368696e65206163636f756e7422290a2020202020202020202020207d0a202020202020202020202020666f72206b657920696e207075626c69634b65797321207b0a202020202020202020202020202020206d616368696e654163636f756e742e6164645075626c69634b6579286b65792e6465636f64654865782829290a2020202020202020202020207d0a20202020202020207d0a202020207d0a7d0af90290b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227d9c7b2274797065223a2255496e7438222c2276616c7565223a2231227daf7b2274797065223a22537472696e67222c2276616c7565223a22666c6f772d6e6f64652e746573743a33353639227db89c7b2274797065223a22537472696e67222c2276616c7565223a223133343833303762633737633638386538303034396465396430383161613039373535646133336536393937363035666130353964623231343466633835653536306362653666376461386437346234353366353931363631386362386664333932633264623835366633653738323231646336386462316231643931346534227db8dc7b2274797065223a22537472696e67222c2276616c7565223a22396539616530643634356664356664393035303739326530623064616138326363313638366439313333616661306638316137383462333735633432616534383536376431353435653761396531393635663263316133326637336366383537356562623761393637663665346431303464326466373865623862653430393133356431326461303439396238613030373731663634326331623963343933393766323262343430343339663033366333626465653832663533303964616233227db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227db77b2274797065223a224f7074696f6e616c222c2276616c7565223a7b2274797065223a224172726179222c2276616c7565223a5b5d7d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", - "metadata": "02f47efa834bc0559afae9a660b2efefddd0c6dc6e1bbcf9c3994e45ea9e5135ec99997236b6d76caa298331d5cef77cbdf83c1af64584ece537a780ba4ac468835265676973746572204e6f64650007014e6f64652049440000537472696e670003014e6f646520526f6c65000155496e74380003014e6574772e20416464726573730002537472696e670003014e6574772e204b65790003537472696e670003015374616b696e67204b65790004537472696e67000301416d6f756e74000555466978363400030400035075622e204b65790006537472696e670003", - "hash": "f47efa834bc0559afae9a660b2efefddd0c6dc6e1bbcf9c3994e45ea9e5135ec" + "encodedTransactionPayloadHex": "f9045cb9034c696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f20436f6d6d69747320726577617264656420746f6b656e7320746f207374616b6520666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a206175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a206175746828426f72726f7756616c75652920264163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e73746f726167652e626f72726f773c6175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f2061205374616b696e67436f6c6c656374696f6e20696e20746865207072696d61727920757365722773206163636f756e7422290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e7374616b655265776172646564546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8cbb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db83a7b2276616c7565223a7b2276616c7565223a223432222c2274797065223a2255496e743332227d2c2274797065223a224f7074696f6e616c227db07b2276616c7565223a2239323233333732303336382e3534373735383038222c2274797065223a22554669783634227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", + "encodedTransactionEnvelopeHex": "f90460f9045cb9034c696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f20436f6d6d69747320726577617264656420746f6b656e7320746f207374616b6520666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a206175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a206175746828426f72726f7756616c75652920264163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e73746f726167652e626f72726f773c6175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f2061205374616b696e67436f6c6c656374696f6e20696e20746865207072696d61727920757365722773206163636f756e7422290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e7374616b655265776172646564546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8cbb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db83a7b2276616c7565223a7b2276616c7565223a223432222c2274797065223a2255496e743332227d2c2274797065223a224f7074696f6e616c227db07b2276616c7565223a2239323233333732303336382e3534373735383038222c2274797065223a22554669783634227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", + "metadata": "024395faf2e515eea4d40f82416ad387575f0d5a580612223c361130e53e72f00bc989e8b3beb9c2eb5af2ee1e11d592c9f1131e76e7ef105a0d40cf1610d1e3485374616b6520526577617264656420546f6b656e730003014e6f64652049440000537472696e6700030244656c656761746f72204944000155496e743332000301416d6f756e7400025546697836340003", + "hash": "4395faf2e515eea4d40f82416ad387575f0d5a580612223c361130e53e72f00b" }, { - "title": "SCO.03 - Register Node - 3", + "title": "SCO.08 - Stake Unstaked Tokens - 1", "valid": true, "chainID": "Testnet", "payloadMessage": { - "script": "import FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// Registers a delegator in the staking collection resource\n/// for the specified node information and the amount of tokens to commit\n\ntransaction(id: String,\n role: UInt8,\n networkingAddress: String,\n networkingKey: String,\n stakingKey: String,\n amount: UFix64,\n publicKeys: [String]?) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n\n if let machineAccount = self.stakingCollectionRef.registerNode(\n id: id,\n role: role,\n networkingAddress: networkingAddress,\n networkingKey: networkingKey,\n stakingKey: stakingKey,\n amount: amount,\n payer: account) \n {\n if publicKeys == nil || publicKeys!.length == 0 {\n panic(\"Cannot provide zero keys for the machine account\")\n }\n for key in publicKeys! {\n machineAccount.addPublicKey(key.decodeHex())\n }\n }\n }\n}\n", + "script": "import FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// Commits unstaked tokens to stake for the specified node or delegator in the staking collection\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: auth(FlowStakingCollection.CollectionOwner) &FlowStakingCollection.StakingCollection\n\n prepare(account: auth(BorrowValue) &Account) {\n self.stakingCollectionRef = account.storage.borrow(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow a reference to a StakingCollection in the primary user's account\")\n }\n\n execute {\n self.stakingCollectionRef.stakeUnstakedTokens(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", "arguments": [ { "type": "String", "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" }, { - "type": "UInt8", - "value": "1" - }, - { - "type": "String", - "value": "flow-node.test:3569" - }, - { - "type": "String", - "value": "1348307bc77c688e80049de9d081aa09755da33e6997605fa059db2144fc85e560cbe6f7da8d74b453f5916618cb8fd392c2db856f3e78221dc68db1b1d914e4" - }, - { - "type": "String", - "value": "9e9ae0d645fd5fd9050792e0b0daa82cc1686d9133afa0f81a784b375c42ae48567d1545e7a9e1965f2c1a32f73cf8575ebb7a967f6e4d104d2df78eb8be409135d12da0499b8a00771f642c1b9c49397f22b440439f036c3bdee82f5309dab3" - }, - { - "type": "UFix64", - "value": "92233720368.54775808" + "value": null, + "type": "Optional" }, { - "type": "Optional", - "value": { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164" - } - ] - } + "value": "92233720368.54775808", + "type": "UFix64" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -1528,43 +1596,19 @@ ] }, "envelopeMessage": { - "script": "import FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// Registers a delegator in the staking collection resource\n/// for the specified node information and the amount of tokens to commit\n\ntransaction(id: String,\n role: UInt8,\n networkingAddress: String,\n networkingKey: String,\n stakingKey: String,\n amount: UFix64,\n publicKeys: [String]?) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n\n if let machineAccount = self.stakingCollectionRef.registerNode(\n id: id,\n role: role,\n networkingAddress: networkingAddress,\n networkingKey: networkingKey,\n stakingKey: stakingKey,\n amount: amount,\n payer: account) \n {\n if publicKeys == nil || publicKeys!.length == 0 {\n panic(\"Cannot provide zero keys for the machine account\")\n }\n for key in publicKeys! {\n machineAccount.addPublicKey(key.decodeHex())\n }\n }\n }\n}\n", + "script": "import FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// Commits unstaked tokens to stake for the specified node or delegator in the staking collection\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: auth(FlowStakingCollection.CollectionOwner) &FlowStakingCollection.StakingCollection\n\n prepare(account: auth(BorrowValue) &Account) {\n self.stakingCollectionRef = account.storage.borrow(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow a reference to a StakingCollection in the primary user's account\")\n }\n\n execute {\n self.stakingCollectionRef.stakeUnstakedTokens(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", "arguments": [ { "type": "String", "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" }, { - "type": "UInt8", - "value": "1" - }, - { - "type": "String", - "value": "flow-node.test:3569" - }, - { - "type": "String", - "value": "1348307bc77c688e80049de9d081aa09755da33e6997605fa059db2144fc85e560cbe6f7da8d74b453f5916618cb8fd392c2db856f3e78221dc68db1b1d914e4" - }, - { - "type": "String", - "value": "9e9ae0d645fd5fd9050792e0b0daa82cc1686d9133afa0f81a784b375c42ae48567d1545e7a9e1965f2c1a32f73cf8575ebb7a967f6e4d104d2df78eb8be409135d12da0499b8a00771f642c1b9c49397f22b440439f036c3bdee82f5309dab3" - }, - { - "type": "UFix64", - "value": "92233720368.54775808" + "value": null, + "type": "Optional" }, { - "type": "Optional", - "value": { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164" - } - ] - } + "value": "92233720368.54775808", + "type": "UFix64" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -1580,61 +1624,32 @@ ], "payloadSigs": [] }, - "encodedTransactionPayloadHex": "f908b5b90534696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f2052656769737465727320612064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e207265736f757263650a2f2f2f20666f722074686520737065636966696564206e6f646520696e666f726d6174696f6e20616e642074686520616d6f756e74206f6620746f6b656e7320746f20636f6d6d69740a0a7472616e73616374696f6e2869643a20537472696e672c0a202020202020202020202020726f6c653a2055496e74382c0a2020202020202020202020206e6574776f726b696e67416464726573733a20537472696e672c0a2020202020202020202020206e6574776f726b696e674b65793a20537472696e672c0a2020202020202020202020207374616b696e674b65793a20537472696e672c0a202020202020202020202020616d6f756e743a205546697836342c0a2020202020202020202020207075626c69634b6579733a205b537472696e675d3f29207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a0a20202020202020206966206c6574206d616368696e654163636f756e74203d2073656c662e7374616b696e67436f6c6c656374696f6e5265662e72656769737465724e6f6465280a20202020202020202020202069643a2069642c0a202020202020202020202020726f6c653a20726f6c652c0a2020202020202020202020206e6574776f726b696e67416464726573733a206e6574776f726b696e67416464726573732c0a2020202020202020202020206e6574776f726b696e674b65793a206e6574776f726b696e674b65792c0a2020202020202020202020207374616b696e674b65793a207374616b696e674b65792c0a202020202020202020202020616d6f756e743a20616d6f756e742c0a20202020202020202020202070617965723a206163636f756e7429200a20202020202020207b0a2020202020202020202020206966207075626c69634b657973203d3d206e696c207c7c207075626c69634b657973212e6c656e677468203d3d2030207b0a2020202020202020202020202020202070616e6963282243616e6e6f742070726f76696465207a65726f206b65797320666f7220746865206d616368696e65206163636f756e7422290a2020202020202020202020207d0a202020202020202020202020666f72206b657920696e207075626c69634b65797321207b0a202020202020202020202020202020206d616368696e654163636f756e742e6164645075626c69634b6579286b65792e6465636f64654865782829290a2020202020202020202020207d0a20202020202020207d0a202020207d0a7d0af9033bb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227d9c7b2274797065223a2255496e7438222c2276616c7565223a2231227daf7b2274797065223a22537472696e67222c2276616c7565223a22666c6f772d6e6f64652e746573743a33353639227db89c7b2274797065223a22537472696e67222c2276616c7565223a223133343833303762633737633638386538303034396465396430383161613039373535646133336536393937363035666130353964623231343466633835653536306362653666376461386437346234353366353931363631386362386664333932633264623835366633653738323231646336386462316231643931346534227db8dc7b2274797065223a22537472696e67222c2276616c7565223a22396539616530643634356664356664393035303739326530623064616138326363313638366439313333616661306638316137383462333735633432616534383536376431353435653761396531393635663263316133326637336366383537356562623761393637663665346431303464326466373865623862653430393133356431326461303439396238613030373731663634326331623963343933393766323262343430343339663033366333626465653832663533303964616233227db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227db8e17b2274797065223a224f7074696f6e616c222c2276616c7565223a7b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634227d5d7d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", - "encodedTransactionEnvelopeHex": "f908b9f908b5b90534696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f2052656769737465727320612064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e207265736f757263650a2f2f2f20666f722074686520737065636966696564206e6f646520696e666f726d6174696f6e20616e642074686520616d6f756e74206f6620746f6b656e7320746f20636f6d6d69740a0a7472616e73616374696f6e2869643a20537472696e672c0a202020202020202020202020726f6c653a2055496e74382c0a2020202020202020202020206e6574776f726b696e67416464726573733a20537472696e672c0a2020202020202020202020206e6574776f726b696e674b65793a20537472696e672c0a2020202020202020202020207374616b696e674b65793a20537472696e672c0a202020202020202020202020616d6f756e743a205546697836342c0a2020202020202020202020207075626c69634b6579733a205b537472696e675d3f29207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a0a20202020202020206966206c6574206d616368696e654163636f756e74203d2073656c662e7374616b696e67436f6c6c656374696f6e5265662e72656769737465724e6f6465280a20202020202020202020202069643a2069642c0a202020202020202020202020726f6c653a20726f6c652c0a2020202020202020202020206e6574776f726b696e67416464726573733a206e6574776f726b696e67416464726573732c0a2020202020202020202020206e6574776f726b696e674b65793a206e6574776f726b696e674b65792c0a2020202020202020202020207374616b696e674b65793a207374616b696e674b65792c0a202020202020202020202020616d6f756e743a20616d6f756e742c0a20202020202020202020202070617965723a206163636f756e7429200a20202020202020207b0a2020202020202020202020206966207075626c69634b657973203d3d206e696c207c7c207075626c69634b657973212e6c656e677468203d3d2030207b0a2020202020202020202020202020202070616e6963282243616e6e6f742070726f76696465207a65726f206b65797320666f7220746865206d616368696e65206163636f756e7422290a2020202020202020202020207d0a202020202020202020202020666f72206b657920696e207075626c69634b65797321207b0a202020202020202020202020202020206d616368696e654163636f756e742e6164645075626c69634b6579286b65792e6465636f64654865782829290a2020202020202020202020207d0a20202020202020207d0a202020207d0a7d0af9033bb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227d9c7b2274797065223a2255496e7438222c2276616c7565223a2231227daf7b2274797065223a22537472696e67222c2276616c7565223a22666c6f772d6e6f64652e746573743a33353639227db89c7b2274797065223a22537472696e67222c2276616c7565223a223133343833303762633737633638386538303034396465396430383161613039373535646133336536393937363035666130353964623231343466633835653536306362653666376461386437346234353366353931363631386362386664333932633264623835366633653738323231646336386462316231643931346534227db8dc7b2274797065223a22537472696e67222c2276616c7565223a22396539616530643634356664356664393035303739326530623064616138326363313638366439313333616661306638316137383462333735633432616534383536376431353435653761396531393635663263316133326637336366383537356562623761393637663665346431303464326466373865623862653430393133356431326461303439396238613030373731663634326331623963343933393766323262343430343339663033366333626465653832663533303964616233227db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227db8e17b2274797065223a224f7074696f6e616c222c2276616c7565223a7b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634227d5d7d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", - "metadata": "02f47efa834bc0559afae9a660b2efefddd0c6dc6e1bbcf9c3994e45ea9e5135ec99997236b6d76caa298331d5cef77cbdf83c1af64584ece537a780ba4ac468835265676973746572204e6f64650007014e6f64652049440000537472696e670003014e6f646520526f6c65000155496e74380003014e6574772e20416464726573730002537472696e670003014e6574772e204b65790003537472696e670003015374616b696e67204b65790004537472696e67000301416d6f756e74000555466978363400030400035075622e204b65790006537472696e670003", - "hash": "f47efa834bc0559afae9a660b2efefddd0c6dc6e1bbcf9c3994e45ea9e5135ec" + "encodedTransactionPayloadHex": "f90441b9034c696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f20436f6d6d69747320756e7374616b656420746f6b656e7320746f207374616b6520666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a206175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a206175746828426f72726f7756616c75652920264163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e73746f726167652e626f72726f773c6175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f2061205374616b696e67436f6c6c656374696f6e20696e20746865207072696d61727920757365722773206163636f756e7422290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e7374616b65556e7374616b6564546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8b0b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227da07b2276616c7565223a6e756c6c2c2274797065223a224f7074696f6e616c227db07b2276616c7565223a2239323233333732303336382e3534373735383038222c2274797065223a22554669783634227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", + "encodedTransactionEnvelopeHex": "f90445f90441b9034c696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f20436f6d6d69747320756e7374616b656420746f6b656e7320746f207374616b6520666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a206175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a206175746828426f72726f7756616c75652920264163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e73746f726167652e626f72726f773c6175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f2061205374616b696e67436f6c6c656374696f6e20696e20746865207072696d61727920757365722773206163636f756e7422290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e7374616b65556e7374616b6564546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8b0b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227da07b2276616c7565223a6e756c6c2c2274797065223a224f7074696f6e616c227db07b2276616c7565223a2239323233333732303336382e3534373735383038222c2274797065223a22554669783634227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", + "metadata": "020b1721f2a8ef6c0c4121ef83c7b38f2141eebcd65c72dab9ebaafe1b4d66fea8fe6adb75bf22b2033800e916fa7e3a7810417e9a36d35320de7f4b5f7ec4f1b85374616b6520556e7374616b656420546f6b656e730003014e6f64652049440000537472696e6700030244656c656761746f72204944000155496e743332000301416d6f756e7400025546697836340003", + "hash": "0b1721f2a8ef6c0c4121ef83c7b38f2141eebcd65c72dab9ebaafe1b4d66fea8" }, { - "title": "SCO.03 - Register Node - 4", + "title": "SCO.08 - Stake Unstaked Tokens - 2", "valid": true, "chainID": "Testnet", "payloadMessage": { - "script": "import FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// Registers a delegator in the staking collection resource\n/// for the specified node information and the amount of tokens to commit\n\ntransaction(id: String,\n role: UInt8,\n networkingAddress: String,\n networkingKey: String,\n stakingKey: String,\n amount: UFix64,\n publicKeys: [String]?) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n\n if let machineAccount = self.stakingCollectionRef.registerNode(\n id: id,\n role: role,\n networkingAddress: networkingAddress,\n networkingKey: networkingKey,\n stakingKey: stakingKey,\n amount: amount,\n payer: account) \n {\n if publicKeys == nil || publicKeys!.length == 0 {\n panic(\"Cannot provide zero keys for the machine account\")\n }\n for key in publicKeys! {\n machineAccount.addPublicKey(key.decodeHex())\n }\n }\n }\n}\n", + "script": "import FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// Commits unstaked tokens to stake for the specified node or delegator in the staking collection\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: auth(FlowStakingCollection.CollectionOwner) &FlowStakingCollection.StakingCollection\n\n prepare(account: auth(BorrowValue) &Account) {\n self.stakingCollectionRef = account.storage.borrow(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow a reference to a StakingCollection in the primary user's account\")\n }\n\n execute {\n self.stakingCollectionRef.stakeUnstakedTokens(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", "arguments": [ { "type": "String", "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" }, { - "type": "UInt8", - "value": "1" - }, - { - "type": "String", - "value": "flow-node.test:3569" - }, - { - "type": "String", - "value": "1348307bc77c688e80049de9d081aa09755da33e6997605fa059db2144fc85e560cbe6f7da8d74b453f5916618cb8fd392c2db856f3e78221dc68db1b1d914e4" - }, - { - "type": "String", - "value": "9e9ae0d645fd5fd9050792e0b0daa82cc1686d9133afa0f81a784b375c42ae48567d1545e7a9e1965f2c1a32f73cf8575ebb7a967f6e4d104d2df78eb8be409135d12da0499b8a00771f642c1b9c49397f22b440439f036c3bdee82f5309dab3" - }, - { - "type": "UFix64", - "value": "92233720368.54775808" + "value": { + "value": "42", + "type": "UInt32" + }, + "type": "Optional" }, { - "type": "Optional", - "value": { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164" - }, - { - "type": "String", - "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164" - }, - { - "type": "String", - "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164" - } - ] - } + "value": "92233720368.54775808", + "type": "UFix64" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -1657,51 +1672,22 @@ ] }, "envelopeMessage": { - "script": "import FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// Registers a delegator in the staking collection resource\n/// for the specified node information and the amount of tokens to commit\n\ntransaction(id: String,\n role: UInt8,\n networkingAddress: String,\n networkingKey: String,\n stakingKey: String,\n amount: UFix64,\n publicKeys: [String]?) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n\n if let machineAccount = self.stakingCollectionRef.registerNode(\n id: id,\n role: role,\n networkingAddress: networkingAddress,\n networkingKey: networkingKey,\n stakingKey: stakingKey,\n amount: amount,\n payer: account) \n {\n if publicKeys == nil || publicKeys!.length == 0 {\n panic(\"Cannot provide zero keys for the machine account\")\n }\n for key in publicKeys! {\n machineAccount.addPublicKey(key.decodeHex())\n }\n }\n }\n}\n", + "script": "import FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// Commits unstaked tokens to stake for the specified node or delegator in the staking collection\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: auth(FlowStakingCollection.CollectionOwner) &FlowStakingCollection.StakingCollection\n\n prepare(account: auth(BorrowValue) &Account) {\n self.stakingCollectionRef = account.storage.borrow(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow a reference to a StakingCollection in the primary user's account\")\n }\n\n execute {\n self.stakingCollectionRef.stakeUnstakedTokens(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", "arguments": [ { "type": "String", "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" }, { - "type": "UInt8", - "value": "1" - }, - { - "type": "String", - "value": "flow-node.test:3569" - }, - { - "type": "String", - "value": "1348307bc77c688e80049de9d081aa09755da33e6997605fa059db2144fc85e560cbe6f7da8d74b453f5916618cb8fd392c2db856f3e78221dc68db1b1d914e4" - }, - { - "type": "String", - "value": "9e9ae0d645fd5fd9050792e0b0daa82cc1686d9133afa0f81a784b375c42ae48567d1545e7a9e1965f2c1a32f73cf8575ebb7a967f6e4d104d2df78eb8be409135d12da0499b8a00771f642c1b9c49397f22b440439f036c3bdee82f5309dab3" - }, - { - "type": "UFix64", - "value": "92233720368.54775808" + "value": { + "value": "42", + "type": "UInt32" + }, + "type": "Optional" }, { - "type": "Optional", - "value": { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164" - }, - { - "type": "String", - "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164" - }, - { - "type": "String", - "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164" - } - ] - } + "value": "92233720368.54775808", + "type": "UFix64" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -1717,25 +1703,21 @@ ], "payloadSigs": [] }, - "encodedTransactionPayloadHex": "f90a0cb90534696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f2052656769737465727320612064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e207265736f757263650a2f2f2f20666f722074686520737065636966696564206e6f646520696e666f726d6174696f6e20616e642074686520616d6f756e74206f6620746f6b656e7320746f20636f6d6d69740a0a7472616e73616374696f6e2869643a20537472696e672c0a202020202020202020202020726f6c653a2055496e74382c0a2020202020202020202020206e6574776f726b696e67416464726573733a20537472696e672c0a2020202020202020202020206e6574776f726b696e674b65793a20537472696e672c0a2020202020202020202020207374616b696e674b65793a20537472696e672c0a202020202020202020202020616d6f756e743a205546697836342c0a2020202020202020202020207075626c69634b6579733a205b537472696e675d3f29207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a0a20202020202020206966206c6574206d616368696e654163636f756e74203d2073656c662e7374616b696e67436f6c6c656374696f6e5265662e72656769737465724e6f6465280a20202020202020202020202069643a2069642c0a202020202020202020202020726f6c653a20726f6c652c0a2020202020202020202020206e6574776f726b696e67416464726573733a206e6574776f726b696e67416464726573732c0a2020202020202020202020206e6574776f726b696e674b65793a206e6574776f726b696e674b65792c0a2020202020202020202020207374616b696e674b65793a207374616b696e674b65792c0a202020202020202020202020616d6f756e743a20616d6f756e742c0a20202020202020202020202070617965723a206163636f756e7429200a20202020202020207b0a2020202020202020202020206966207075626c69634b657973203d3d206e696c207c7c207075626c69634b657973212e6c656e677468203d3d2030207b0a2020202020202020202020202020202070616e6963282243616e6e6f742070726f76696465207a65726f206b65797320666f7220746865206d616368696e65206163636f756e7422290a2020202020202020202020207d0a202020202020202020202020666f72206b657920696e207075626c69634b65797321207b0a202020202020202020202020202020206d616368696e654163636f756e742e6164645075626c69634b6579286b65792e6465636f64654865782829290a2020202020202020202020207d0a20202020202020207d0a202020207d0a7d0af90492b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227d9c7b2274797065223a2255496e7438222c2276616c7565223a2231227daf7b2274797065223a22537472696e67222c2276616c7565223a22666c6f772d6e6f64652e746573743a33353639227db89c7b2274797065223a22537472696e67222c2276616c7565223a223133343833303762633737633638386538303034396465396430383161613039373535646133336536393937363035666130353964623231343466633835653536306362653666376461386437346234353366353931363631386362386664333932633264623835366633653738323231646336386462316231643931346534227db8dc7b2274797065223a22537472696e67222c2276616c7565223a22396539616530643634356664356664393035303739326530623064616138326363313638366439313333616661306638316137383462333735633432616534383536376431353435653761396531393635663263316133326637336366383537356562623761393637663665346431303464326466373865623862653430393133356431326461303439396238613030373731663634326331623963343933393766323262343430343339663033366333626465653832663533303964616233227db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227db902377b2274797065223a224f7074696f6e616c222c2276616c7565223a7b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634227d2c7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634227d2c7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634227d5d7d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", - "encodedTransactionEnvelopeHex": "f90a10f90a0cb90534696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f2052656769737465727320612064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e207265736f757263650a2f2f2f20666f722074686520737065636966696564206e6f646520696e666f726d6174696f6e20616e642074686520616d6f756e74206f6620746f6b656e7320746f20636f6d6d69740a0a7472616e73616374696f6e2869643a20537472696e672c0a202020202020202020202020726f6c653a2055496e74382c0a2020202020202020202020206e6574776f726b696e67416464726573733a20537472696e672c0a2020202020202020202020206e6574776f726b696e674b65793a20537472696e672c0a2020202020202020202020207374616b696e674b65793a20537472696e672c0a202020202020202020202020616d6f756e743a205546697836342c0a2020202020202020202020207075626c69634b6579733a205b537472696e675d3f29207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a0a20202020202020206966206c6574206d616368696e654163636f756e74203d2073656c662e7374616b696e67436f6c6c656374696f6e5265662e72656769737465724e6f6465280a20202020202020202020202069643a2069642c0a202020202020202020202020726f6c653a20726f6c652c0a2020202020202020202020206e6574776f726b696e67416464726573733a206e6574776f726b696e67416464726573732c0a2020202020202020202020206e6574776f726b696e674b65793a206e6574776f726b696e674b65792c0a2020202020202020202020207374616b696e674b65793a207374616b696e674b65792c0a202020202020202020202020616d6f756e743a20616d6f756e742c0a20202020202020202020202070617965723a206163636f756e7429200a20202020202020207b0a2020202020202020202020206966207075626c69634b657973203d3d206e696c207c7c207075626c69634b657973212e6c656e677468203d3d2030207b0a2020202020202020202020202020202070616e6963282243616e6e6f742070726f76696465207a65726f206b65797320666f7220746865206d616368696e65206163636f756e7422290a2020202020202020202020207d0a202020202020202020202020666f72206b657920696e207075626c69634b65797321207b0a202020202020202020202020202020206d616368696e654163636f756e742e6164645075626c69634b6579286b65792e6465636f64654865782829290a2020202020202020202020207d0a20202020202020207d0a202020207d0a7d0af90492b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227d9c7b2274797065223a2255496e7438222c2276616c7565223a2231227daf7b2274797065223a22537472696e67222c2276616c7565223a22666c6f772d6e6f64652e746573743a33353639227db89c7b2274797065223a22537472696e67222c2276616c7565223a223133343833303762633737633638386538303034396465396430383161613039373535646133336536393937363035666130353964623231343466633835653536306362653666376461386437346234353366353931363631386362386664333932633264623835366633653738323231646336386462316231643931346534227db8dc7b2274797065223a22537472696e67222c2276616c7565223a22396539616530643634356664356664393035303739326530623064616138326363313638366439313333616661306638316137383462333735633432616534383536376431353435653761396531393635663263316133326637336366383537356562623761393637663665346431303464326466373865623862653430393133356431326461303439396238613030373731663634326331623963343933393766323262343430343339663033366333626465653832663533303964616233227db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227db902377b2274797065223a224f7074696f6e616c222c2276616c7565223a7b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634227d2c7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634227d2c7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634227d5d7d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", - "metadata": "02f47efa834bc0559afae9a660b2efefddd0c6dc6e1bbcf9c3994e45ea9e5135ec99997236b6d76caa298331d5cef77cbdf83c1af64584ece537a780ba4ac468835265676973746572204e6f64650007014e6f64652049440000537472696e670003014e6f646520526f6c65000155496e74380003014e6574772e20416464726573730002537472696e670003014e6574772e204b65790003537472696e670003015374616b696e67204b65790004537472696e67000301416d6f756e74000555466978363400030400035075622e204b65790006537472696e670003", - "hash": "f47efa834bc0559afae9a660b2efefddd0c6dc6e1bbcf9c3994e45ea9e5135ec" + "encodedTransactionPayloadHex": "f9045cb9034c696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f20436f6d6d69747320756e7374616b656420746f6b656e7320746f207374616b6520666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a206175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a206175746828426f72726f7756616c75652920264163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e73746f726167652e626f72726f773c6175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f2061205374616b696e67436f6c6c656374696f6e20696e20746865207072696d61727920757365722773206163636f756e7422290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e7374616b65556e7374616b6564546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8cbb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db83a7b2276616c7565223a7b2276616c7565223a223432222c2274797065223a2255496e743332227d2c2274797065223a224f7074696f6e616c227db07b2276616c7565223a2239323233333732303336382e3534373735383038222c2274797065223a22554669783634227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", + "encodedTransactionEnvelopeHex": "f90460f9045cb9034c696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f20436f6d6d69747320756e7374616b656420746f6b656e7320746f207374616b6520666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a206175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a206175746828426f72726f7756616c75652920264163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e73746f726167652e626f72726f773c6175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f2061205374616b696e67436f6c6c656374696f6e20696e20746865207072696d61727920757365722773206163636f756e7422290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e7374616b65556e7374616b6564546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8cbb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db83a7b2276616c7565223a7b2276616c7565223a223432222c2274797065223a2255496e743332227d2c2274797065223a224f7074696f6e616c227db07b2276616c7565223a2239323233333732303336382e3534373735383038222c2274797065223a22554669783634227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", + "metadata": "020b1721f2a8ef6c0c4121ef83c7b38f2141eebcd65c72dab9ebaafe1b4d66fea8fe6adb75bf22b2033800e916fa7e3a7810417e9a36d35320de7f4b5f7ec4f1b85374616b6520556e7374616b656420546f6b656e730003014e6f64652049440000537472696e6700030244656c656761746f72204944000155496e743332000301416d6f756e7400025546697836340003", + "hash": "0b1721f2a8ef6c0c4121ef83c7b38f2141eebcd65c72dab9ebaafe1b4d66fea8" }, { - "title": "SCO.04 - Create Machine Account - 1", + "title": "SCO.09 - Unstake All", "valid": true, "chainID": "Testnet", "payloadMessage": { - "script": "import FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// Creates a machine account for a node that is already in the staking collection\n/// and adds public keys to the new account\n\ntransaction(nodeID: String, publicKeys: [String]) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n\n if let machineAccount = self.stakingCollectionRef.createMachineAccountForExistingNode(nodeID: nodeID, payer: account) {\n if publicKeys == nil || publicKeys!.length == 0 {\n panic(\"Cannot provide zero keys for the machine account\")\n }\n for key in publicKeys! {\n machineAccount.addPublicKey(key.decodeHex())\n }\n } else {\n panic(\"Could not create a machine account for the node\")\n }\n }\n}\n", + "script": "import FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// Requests to unstake ALL tokens for the specified node or delegator in the staking collection\n\ntransaction(nodeID: String) {\n \n let stakingCollectionRef: auth(FlowStakingCollection.CollectionOwner) &FlowStakingCollection.StakingCollection\n\n prepare(account: auth(BorrowValue) &Account) {\n self.stakingCollectionRef = account.storage.borrow(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow a reference to a StakingCollection in the primary user's account\")\n }\n\n execute {\n self.stakingCollectionRef.unstakeAll(nodeID: nodeID)\n }\n}\n", "arguments": [ { "type": "String", "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" - }, - { - "type": "Array", - "value": [] } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -1758,15 +1740,11 @@ ] }, "envelopeMessage": { - "script": "import FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// Creates a machine account for a node that is already in the staking collection\n/// and adds public keys to the new account\n\ntransaction(nodeID: String, publicKeys: [String]) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n\n if let machineAccount = self.stakingCollectionRef.createMachineAccountForExistingNode(nodeID: nodeID, payer: account) {\n if publicKeys == nil || publicKeys!.length == 0 {\n panic(\"Cannot provide zero keys for the machine account\")\n }\n for key in publicKeys! {\n machineAccount.addPublicKey(key.decodeHex())\n }\n } else {\n panic(\"Could not create a machine account for the node\")\n }\n }\n}\n", + "script": "import FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// Requests to unstake ALL tokens for the specified node or delegator in the staking collection\n\ntransaction(nodeID: String) {\n \n let stakingCollectionRef: auth(FlowStakingCollection.CollectionOwner) &FlowStakingCollection.StakingCollection\n\n prepare(account: auth(BorrowValue) &Account) {\n self.stakingCollectionRef = account.storage.borrow(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow a reference to a StakingCollection in the primary user's account\")\n }\n\n execute {\n self.stakingCollectionRef.unstakeAll(nodeID: nodeID)\n }\n}\n", "arguments": [ { "type": "String", "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" - }, - { - "type": "Array", - "value": [] } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -1782,113 +1760,32 @@ ], "payloadSigs": [] }, - "encodedTransactionPayloadHex": "f904e2b90423696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f20437265617465732061206d616368696e65206163636f756e7420666f722061206e6f6465207468617420697320616c726561647920696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f20616e642061646473207075626c6963206b65797320746f20746865206e6577206163636f756e740a0a7472616e73616374696f6e286e6f646549443a20537472696e672c207075626c69634b6579733a205b537472696e675d29207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a0a20202020202020206966206c6574206d616368696e654163636f756e74203d2073656c662e7374616b696e67436f6c6c656374696f6e5265662e6372656174654d616368696e654163636f756e74466f724578697374696e674e6f6465286e6f646549443a206e6f646549442c2070617965723a206163636f756e7429207b0a2020202020202020202020206966207075626c69634b657973203d3d206e696c207c7c207075626c69634b657973212e6c656e677468203d3d2030207b0a2020202020202020202020202020202070616e6963282243616e6e6f742070726f76696465207a65726f206b65797320666f7220746865206d616368696e65206163636f756e7422290a2020202020202020202020207d0a202020202020202020202020666f72206b657920696e207075626c69634b65797321207b0a202020202020202020202020202020206d616368696e654163636f756e742e6164645075626c69634b6579286b65792e6465636f64654865782829290a2020202020202020202020207d0a20202020202020207d20656c7365207b0a20202020202020202020202070616e69632822436f756c64206e6f74206372656174652061206d616368696e65206163636f756e7420666f7220746865206e6f646522290a20202020202020207d0a202020207d0a7d0af87ab85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227d9b7b2274797065223a224172726179222c2276616c7565223a5b5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", - "encodedTransactionEnvelopeHex": "f904e6f904e2b90423696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f20437265617465732061206d616368696e65206163636f756e7420666f722061206e6f6465207468617420697320616c726561647920696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f20616e642061646473207075626c6963206b65797320746f20746865206e6577206163636f756e740a0a7472616e73616374696f6e286e6f646549443a20537472696e672c207075626c69634b6579733a205b537472696e675d29207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a0a20202020202020206966206c6574206d616368696e654163636f756e74203d2073656c662e7374616b696e67436f6c6c656374696f6e5265662e6372656174654d616368696e654163636f756e74466f724578697374696e674e6f6465286e6f646549443a206e6f646549442c2070617965723a206163636f756e7429207b0a2020202020202020202020206966207075626c69634b657973203d3d206e696c207c7c207075626c69634b657973212e6c656e677468203d3d2030207b0a2020202020202020202020202020202070616e6963282243616e6e6f742070726f76696465207a65726f206b65797320666f7220746865206d616368696e65206163636f756e7422290a2020202020202020202020207d0a202020202020202020202020666f72206b657920696e207075626c69634b65797321207b0a202020202020202020202020202020206d616368696e654163636f756e742e6164645075626c69634b6579286b65792e6465636f64654865782829290a2020202020202020202020207d0a20202020202020207d20656c7365207b0a20202020202020202020202070616e69632822436f756c64206e6f74206372656174652061206d616368696e65206163636f756e7420666f7220746865206e6f646522290a20202020202020207d0a202020207d0a7d0af87ab85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227d9b7b2274797065223a224172726179222c2276616c7565223a5b5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", - "metadata": "02e79df145af42488e3da1d1b2e50a38a2084229896d670884f278a2119dc3bf9ec2442b498eea025099815ea613d6407407192dc12ad70e1a4f47936db804a841437265617465204d616368696e65204163636f756e740002014e6f64652049440000537472696e6700030300035075622e204b65790001537472696e670003", - "hash": "e79df145af42488e3da1d1b2e50a38a2084229896d670884f278a2119dc3bf9e" + "encodedTransactionPayloadHex": "f90394b902f1696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f20526571756573747320746f20756e7374616b6520414c4c20746f6b656e7320666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a0a7472616e73616374696f6e286e6f646549443a20537472696e6729207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a206175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a206175746828426f72726f7756616c75652920264163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e73746f726167652e626f72726f773c6175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f2061205374616b696e67436f6c6c656374696f6e20696e20746865207072696d61727920757365722773206163636f756e7422290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e756e7374616b65416c6c286e6f646549443a206e6f64654944290a202020207d0a7d0af85eb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", + "encodedTransactionEnvelopeHex": "f90398f90394b902f1696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f20526571756573747320746f20756e7374616b6520414c4c20746f6b656e7320666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a0a7472616e73616374696f6e286e6f646549443a20537472696e6729207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a206175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a206175746828426f72726f7756616c75652920264163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e73746f726167652e626f72726f773c6175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f2061205374616b696e67436f6c6c656374696f6e20696e20746865207072696d61727920757365722773206163636f756e7422290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e756e7374616b65416c6c286e6f646549443a206e6f64654944290a202020207d0a7d0af85eb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", + "metadata": "02c84843e3399be2ce95ea00e7c17d72db3c5c3363ec008c7a1c1cfa5b6afe70ae1c8256fb857f6c6fd929511ecac8624d0159877cf72c884f7128297dfb069510556e7374616b6520416c6c0001014e6f64652049440000537472696e670003", + "hash": "c84843e3399be2ce95ea00e7c17d72db3c5c3363ec008c7a1c1cfa5b6afe70ae" }, { - "title": "SCO.04 - Create Machine Account - 2", + "title": "SCO.10 - Withdraw Rewarded Tokens - 1", "valid": true, "chainID": "Testnet", "payloadMessage": { - "script": "import FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// Creates a machine account for a node that is already in the staking collection\n/// and adds public keys to the new account\n\ntransaction(nodeID: String, publicKeys: [String]) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n\n if let machineAccount = self.stakingCollectionRef.createMachineAccountForExistingNode(nodeID: nodeID, payer: account) {\n if publicKeys == nil || publicKeys!.length == 0 {\n panic(\"Cannot provide zero keys for the machine account\")\n }\n for key in publicKeys! {\n machineAccount.addPublicKey(key.decodeHex())\n }\n } else {\n panic(\"Could not create a machine account for the node\")\n }\n }\n}\n", - "arguments": [ - { - "type": "String", - "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" - }, - { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164" - } - ] - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "99a8ac2c71d4f6bd", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "99a8ac2c71d4f6bd", - "authorizers": [ - "99a8ac2c71d4f6bd" - ], - "payloadSigs": [ - { - "address": "99a8ac2c71d4f6bd", - "keyId": 4, - "sig": "f7225388c1d69d57e6251c9fda50cbbf9e05131e5adb81e5aa0422402f048162" - } - ] - }, - "envelopeMessage": { - "script": "import FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// Creates a machine account for a node that is already in the staking collection\n/// and adds public keys to the new account\n\ntransaction(nodeID: String, publicKeys: [String]) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n\n if let machineAccount = self.stakingCollectionRef.createMachineAccountForExistingNode(nodeID: nodeID, payer: account) {\n if publicKeys == nil || publicKeys!.length == 0 {\n panic(\"Cannot provide zero keys for the machine account\")\n }\n for key in publicKeys! {\n machineAccount.addPublicKey(key.decodeHex())\n }\n } else {\n panic(\"Could not create a machine account for the node\")\n }\n }\n}\n", + "script": "import FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// Request to withdraw rewarded tokens for the specified node or delegator in the staking collection\n/// The tokens are automatically deposited to the unlocked account vault first,\n/// And then any locked tokens are deposited into the locked account vault\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: auth(FlowStakingCollection.CollectionOwner) &FlowStakingCollection.StakingCollection\n\n prepare(account: auth(BorrowValue) &Account) {\n self.stakingCollectionRef = account.storage.borrow(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow a reference to a StakingCollection in the primary user's account\")\n }\n\n execute {\n self.stakingCollectionRef.withdrawRewardedTokens(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", "arguments": [ { "type": "String", "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" }, { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164" - } - ] - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "99a8ac2c71d4f6bd", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "99a8ac2c71d4f6bd", - "authorizers": [ - "99a8ac2c71d4f6bd" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f9058eb90423696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f20437265617465732061206d616368696e65206163636f756e7420666f722061206e6f6465207468617420697320616c726561647920696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f20616e642061646473207075626c6963206b65797320746f20746865206e6577206163636f756e740a0a7472616e73616374696f6e286e6f646549443a20537472696e672c207075626c69634b6579733a205b537472696e675d29207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a0a20202020202020206966206c6574206d616368696e654163636f756e74203d2073656c662e7374616b696e67436f6c6c656374696f6e5265662e6372656174654d616368696e654163636f756e74466f724578697374696e674e6f6465286e6f646549443a206e6f646549442c2070617965723a206163636f756e7429207b0a2020202020202020202020206966207075626c69634b657973203d3d206e696c207c7c207075626c69634b657973212e6c656e677468203d3d2030207b0a2020202020202020202020202020202070616e6963282243616e6e6f742070726f76696465207a65726f206b65797320666f7220746865206d616368696e65206163636f756e7422290a2020202020202020202020207d0a202020202020202020202020666f72206b657920696e207075626c69634b65797321207b0a202020202020202020202020202020206d616368696e654163636f756e742e6164645075626c69634b6579286b65792e6465636f64654865782829290a2020202020202020202020207d0a20202020202020207d20656c7365207b0a20202020202020202020202070616e69632822436f756c64206e6f74206372656174652061206d616368696e65206163636f756e7420666f7220746865206e6f646522290a20202020202020207d0a202020207d0a7d0af90125b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db8c57b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634227d5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", - "encodedTransactionEnvelopeHex": "f90592f9058eb90423696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f20437265617465732061206d616368696e65206163636f756e7420666f722061206e6f6465207468617420697320616c726561647920696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f20616e642061646473207075626c6963206b65797320746f20746865206e6577206163636f756e740a0a7472616e73616374696f6e286e6f646549443a20537472696e672c207075626c69634b6579733a205b537472696e675d29207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a0a20202020202020206966206c6574206d616368696e654163636f756e74203d2073656c662e7374616b696e67436f6c6c656374696f6e5265662e6372656174654d616368696e654163636f756e74466f724578697374696e674e6f6465286e6f646549443a206e6f646549442c2070617965723a206163636f756e7429207b0a2020202020202020202020206966207075626c69634b657973203d3d206e696c207c7c207075626c69634b657973212e6c656e677468203d3d2030207b0a2020202020202020202020202020202070616e6963282243616e6e6f742070726f76696465207a65726f206b65797320666f7220746865206d616368696e65206163636f756e7422290a2020202020202020202020207d0a202020202020202020202020666f72206b657920696e207075626c69634b65797321207b0a202020202020202020202020202020206d616368696e654163636f756e742e6164645075626c69634b6579286b65792e6465636f64654865782829290a2020202020202020202020207d0a20202020202020207d20656c7365207b0a20202020202020202020202070616e69632822436f756c64206e6f74206372656174652061206d616368696e65206163636f756e7420666f7220746865206e6f646522290a20202020202020207d0a202020207d0a7d0af90125b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db8c57b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634227d5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", - "metadata": "02e79df145af42488e3da1d1b2e50a38a2084229896d670884f278a2119dc3bf9ec2442b498eea025099815ea613d6407407192dc12ad70e1a4f47936db804a841437265617465204d616368696e65204163636f756e740002014e6f64652049440000537472696e6700030300035075622e204b65790001537472696e670003", - "hash": "e79df145af42488e3da1d1b2e50a38a2084229896d670884f278a2119dc3bf9e" - }, - { - "title": "SCO.04 - Create Machine Account - 3", - "valid": true, - "chainID": "Testnet", - "payloadMessage": { - "script": "import FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// Creates a machine account for a node that is already in the staking collection\n/// and adds public keys to the new account\n\ntransaction(nodeID: String, publicKeys: [String]) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n\n if let machineAccount = self.stakingCollectionRef.createMachineAccountForExistingNode(nodeID: nodeID, payer: account) {\n if publicKeys == nil || publicKeys!.length == 0 {\n panic(\"Cannot provide zero keys for the machine account\")\n }\n for key in publicKeys! {\n machineAccount.addPublicKey(key.decodeHex())\n }\n } else {\n panic(\"Could not create a machine account for the node\")\n }\n }\n}\n", - "arguments": [ - { - "type": "String", - "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" + "value": { + "value": "42", + "type": "UInt32" + }, + "type": "Optional" }, { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164" - }, - { - "type": "String", - "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164" - }, - { - "type": "String", - "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164" - } - ] + "value": "92233720368.54775808", + "type": "UFix64" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -1911,28 +1808,22 @@ ] }, "envelopeMessage": { - "script": "import FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// Creates a machine account for a node that is already in the staking collection\n/// and adds public keys to the new account\n\ntransaction(nodeID: String, publicKeys: [String]) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n\n if let machineAccount = self.stakingCollectionRef.createMachineAccountForExistingNode(nodeID: nodeID, payer: account) {\n if publicKeys == nil || publicKeys!.length == 0 {\n panic(\"Cannot provide zero keys for the machine account\")\n }\n for key in publicKeys! {\n machineAccount.addPublicKey(key.decodeHex())\n }\n } else {\n panic(\"Could not create a machine account for the node\")\n }\n }\n}\n", + "script": "import FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// Request to withdraw rewarded tokens for the specified node or delegator in the staking collection\n/// The tokens are automatically deposited to the unlocked account vault first,\n/// And then any locked tokens are deposited into the locked account vault\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: auth(FlowStakingCollection.CollectionOwner) &FlowStakingCollection.StakingCollection\n\n prepare(account: auth(BorrowValue) &Account) {\n self.stakingCollectionRef = account.storage.borrow(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow a reference to a StakingCollection in the primary user's account\")\n }\n\n execute {\n self.stakingCollectionRef.withdrawRewardedTokens(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", "arguments": [ { "type": "String", "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" }, { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164" - }, - { - "type": "String", - "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164" - }, - { - "type": "String", - "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164" - } - ] + "value": { + "value": "42", + "type": "UInt32" + }, + "type": "Optional" + }, + { + "value": "92233720368.54775808", + "type": "UFix64" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -1948,29 +1839,29 @@ ], "payloadSigs": [] }, - "encodedTransactionPayloadHex": "f906e5b90423696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f20437265617465732061206d616368696e65206163636f756e7420666f722061206e6f6465207468617420697320616c726561647920696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f20616e642061646473207075626c6963206b65797320746f20746865206e6577206163636f756e740a0a7472616e73616374696f6e286e6f646549443a20537472696e672c207075626c69634b6579733a205b537472696e675d29207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a0a20202020202020206966206c6574206d616368696e654163636f756e74203d2073656c662e7374616b696e67436f6c6c656374696f6e5265662e6372656174654d616368696e654163636f756e74466f724578697374696e674e6f6465286e6f646549443a206e6f646549442c2070617965723a206163636f756e7429207b0a2020202020202020202020206966207075626c69634b657973203d3d206e696c207c7c207075626c69634b657973212e6c656e677468203d3d2030207b0a2020202020202020202020202020202070616e6963282243616e6e6f742070726f76696465207a65726f206b65797320666f7220746865206d616368696e65206163636f756e7422290a2020202020202020202020207d0a202020202020202020202020666f72206b657920696e207075626c69634b65797321207b0a202020202020202020202020202020206d616368696e654163636f756e742e6164645075626c69634b6579286b65792e6465636f64654865782829290a2020202020202020202020207d0a20202020202020207d20656c7365207b0a20202020202020202020202070616e69632822436f756c64206e6f74206372656174652061206d616368696e65206163636f756e7420666f7220746865206e6f646522290a20202020202020207d0a202020207d0a7d0af9027cb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db9021b7b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634227d2c7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634227d2c7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634227d5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", - "encodedTransactionEnvelopeHex": "f906e9f906e5b90423696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f20437265617465732061206d616368696e65206163636f756e7420666f722061206e6f6465207468617420697320616c726561647920696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f20616e642061646473207075626c6963206b65797320746f20746865206e6577206163636f756e740a0a7472616e73616374696f6e286e6f646549443a20537472696e672c207075626c69634b6579733a205b537472696e675d29207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a0a20202020202020206966206c6574206d616368696e654163636f756e74203d2073656c662e7374616b696e67436f6c6c656374696f6e5265662e6372656174654d616368696e654163636f756e74466f724578697374696e674e6f6465286e6f646549443a206e6f646549442c2070617965723a206163636f756e7429207b0a2020202020202020202020206966207075626c69634b657973203d3d206e696c207c7c207075626c69634b657973212e6c656e677468203d3d2030207b0a2020202020202020202020202020202070616e6963282243616e6e6f742070726f76696465207a65726f206b65797320666f7220746865206d616368696e65206163636f756e7422290a2020202020202020202020207d0a202020202020202020202020666f72206b657920696e207075626c69634b65797321207b0a202020202020202020202020202020206d616368696e654163636f756e742e6164645075626c69634b6579286b65792e6465636f64654865782829290a2020202020202020202020207d0a20202020202020207d20656c7365207b0a20202020202020202020202070616e69632822436f756c64206e6f74206372656174652061206d616368696e65206163636f756e7420666f7220746865206e6f646522290a20202020202020207d0a202020207d0a7d0af9027cb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db9021b7b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634227d2c7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634227d2c7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634227d5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", - "metadata": "02e79df145af42488e3da1d1b2e50a38a2084229896d670884f278a2119dc3bf9ec2442b498eea025099815ea613d6407407192dc12ad70e1a4f47936db804a841437265617465204d616368696e65204163636f756e740002014e6f64652049440000537472696e6700030300035075622e204b65790001537472696e670003", - "hash": "e79df145af42488e3da1d1b2e50a38a2084229896d670884f278a2119dc3bf9e" + "encodedTransactionPayloadHex": "f904fdb903ed696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f205265717565737420746f20776974686472617720726577617264656420746f6b656e7320666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f2054686520746f6b656e7320617265206175746f6d61746963616c6c79206465706f736974656420746f2074686520756e6c6f636b6564206163636f756e74207661756c742066697273742c0a2f2f2f20416e64207468656e20616e79206c6f636b656420746f6b656e7320617265206465706f736974656420696e746f20746865206c6f636b6564206163636f756e74207661756c740a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a206175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a206175746828426f72726f7756616c75652920264163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e73746f726167652e626f72726f773c6175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f2061205374616b696e67436f6c6c656374696f6e20696e20746865207072696d61727920757365722773206163636f756e7422290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e77697468647261775265776172646564546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8cbb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db83a7b2276616c7565223a7b2276616c7565223a223432222c2274797065223a2255496e743332227d2c2274797065223a224f7074696f6e616c227db07b2276616c7565223a2239323233333732303336382e3534373735383038222c2274797065223a22554669783634227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", + "encodedTransactionEnvelopeHex": "f90501f904fdb903ed696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f205265717565737420746f20776974686472617720726577617264656420746f6b656e7320666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f2054686520746f6b656e7320617265206175746f6d61746963616c6c79206465706f736974656420746f2074686520756e6c6f636b6564206163636f756e74207661756c742066697273742c0a2f2f2f20416e64207468656e20616e79206c6f636b656420746f6b656e7320617265206465706f736974656420696e746f20746865206c6f636b6564206163636f756e74207661756c740a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a206175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a206175746828426f72726f7756616c75652920264163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e73746f726167652e626f72726f773c6175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f2061205374616b696e67436f6c6c656374696f6e20696e20746865207072696d61727920757365722773206163636f756e7422290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e77697468647261775265776172646564546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8cbb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db83a7b2276616c7565223a7b2276616c7565223a223432222c2274797065223a2255496e743332227d2c2274797065223a224f7074696f6e616c227db07b2276616c7565223a2239323233333732303336382e3534373735383038222c2274797065223a22554669783634227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", + "metadata": "025a07ca4c016973bdeb168590e111b2c2855833b5ece11ffb28b08b8668f258a8fbd8ebbfff7a88b6b667ff4e3f9f904eaaba71cbf02a140f3b7007c61fbd8f34576974686472617720526577617264656420546f6b656e730003014e6f64652049440000537472696e6700030244656c656761746f72204944000155496e743332000301416d6f756e7400025546697836340003", + "hash": "5a07ca4c016973bdeb168590e111b2c2855833b5ece11ffb28b08b8668f258a8" }, { - "title": "SCO.05 - Request Unstaking - 1", + "title": "SCO.10 - Withdraw Rewarded Tokens - 2", "valid": true, "chainID": "Testnet", "payloadMessage": { - "script": "import FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// Requests unstaking for the specified node or delegator in the staking collection\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n }\n\n execute {\n self.stakingCollectionRef.requestUnstaking(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", + "script": "import FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// Request to withdraw rewarded tokens for the specified node or delegator in the staking collection\n/// The tokens are automatically deposited to the unlocked account vault first,\n/// And then any locked tokens are deposited into the locked account vault\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: auth(FlowStakingCollection.CollectionOwner) &FlowStakingCollection.StakingCollection\n\n prepare(account: auth(BorrowValue) &Account) {\n self.stakingCollectionRef = account.storage.borrow(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow a reference to a StakingCollection in the primary user's account\")\n }\n\n execute {\n self.stakingCollectionRef.withdrawRewardedTokens(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", "arguments": [ { "type": "String", "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" }, { - "type": "Optional", - "value": null + "value": null, + "type": "Optional" }, { - "type": "UFix64", - "value": "92233720368.54775808" + "value": "92233720368.54775808", + "type": "UFix64" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -1993,19 +1884,19 @@ ] }, "envelopeMessage": { - "script": "import FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// Requests unstaking for the specified node or delegator in the staking collection\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n }\n\n execute {\n self.stakingCollectionRef.requestUnstaking(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", + "script": "import FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// Request to withdraw rewarded tokens for the specified node or delegator in the staking collection\n/// The tokens are automatically deposited to the unlocked account vault first,\n/// And then any locked tokens are deposited into the locked account vault\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: auth(FlowStakingCollection.CollectionOwner) &FlowStakingCollection.StakingCollection\n\n prepare(account: auth(BorrowValue) &Account) {\n self.stakingCollectionRef = account.storage.borrow(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow a reference to a StakingCollection in the primary user's account\")\n }\n\n execute {\n self.stakingCollectionRef.withdrawRewardedTokens(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", "arguments": [ { "type": "String", "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" }, { - "type": "Optional", - "value": null + "value": null, + "type": "Optional" }, { - "type": "UFix64", - "value": "92233720368.54775808" + "value": "92233720368.54775808", + "type": "UFix64" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -2021,32 +1912,29 @@ ], "payloadSigs": [] }, - "encodedTransactionPayloadHex": "f90399b902a4696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f20526571756573747320756e7374616b696e6720666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e72657175657374556e7374616b696e67286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8b0b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227da07b2274797065223a224f7074696f6e616c222c2276616c7565223a6e756c6c7db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", - "encodedTransactionEnvelopeHex": "f9039df90399b902a4696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f20526571756573747320756e7374616b696e6720666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e72657175657374556e7374616b696e67286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8b0b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227da07b2274797065223a224f7074696f6e616c222c2276616c7565223a6e756c6c7db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", - "metadata": "02b00f6b3b9d8d7d4a9a8ad14fce11ee0edb23c39c56a8c1351e6b597f53f2fb71a552951c5e6300a118610fbf2d36b3073ee266e1d26787d04717c141976ef78c5265717565737420556e7374616b696e670003014e6f64652049440000537472696e6700030244656c656761746f72204944000155496e743332000301416d6f756e7400025546697836340003", - "hash": "b00f6b3b9d8d7d4a9a8ad14fce11ee0edb23c39c56a8c1351e6b597f53f2fb71" + "encodedTransactionPayloadHex": "f904e2b903ed696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f205265717565737420746f20776974686472617720726577617264656420746f6b656e7320666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f2054686520746f6b656e7320617265206175746f6d61746963616c6c79206465706f736974656420746f2074686520756e6c6f636b6564206163636f756e74207661756c742066697273742c0a2f2f2f20416e64207468656e20616e79206c6f636b656420746f6b656e7320617265206465706f736974656420696e746f20746865206c6f636b6564206163636f756e74207661756c740a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a206175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a206175746828426f72726f7756616c75652920264163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e73746f726167652e626f72726f773c6175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f2061205374616b696e67436f6c6c656374696f6e20696e20746865207072696d61727920757365722773206163636f756e7422290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e77697468647261775265776172646564546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8b0b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227da07b2276616c7565223a6e756c6c2c2274797065223a224f7074696f6e616c227db07b2276616c7565223a2239323233333732303336382e3534373735383038222c2274797065223a22554669783634227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", + "encodedTransactionEnvelopeHex": "f904e6f904e2b903ed696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f205265717565737420746f20776974686472617720726577617264656420746f6b656e7320666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f2054686520746f6b656e7320617265206175746f6d61746963616c6c79206465706f736974656420746f2074686520756e6c6f636b6564206163636f756e74207661756c742066697273742c0a2f2f2f20416e64207468656e20616e79206c6f636b656420746f6b656e7320617265206465706f736974656420696e746f20746865206c6f636b6564206163636f756e74207661756c740a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a206175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a206175746828426f72726f7756616c75652920264163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e73746f726167652e626f72726f773c6175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f2061205374616b696e67436f6c6c656374696f6e20696e20746865207072696d61727920757365722773206163636f756e7422290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e77697468647261775265776172646564546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8b0b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227da07b2276616c7565223a6e756c6c2c2274797065223a224f7074696f6e616c227db07b2276616c7565223a2239323233333732303336382e3534373735383038222c2274797065223a22554669783634227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", + "metadata": "025a07ca4c016973bdeb168590e111b2c2855833b5ece11ffb28b08b8668f258a8fbd8ebbfff7a88b6b667ff4e3f9f904eaaba71cbf02a140f3b7007c61fbd8f34576974686472617720526577617264656420546f6b656e730003014e6f64652049440000537472696e6700030244656c656761746f72204944000155496e743332000301416d6f756e7400025546697836340003", + "hash": "5a07ca4c016973bdeb168590e111b2c2855833b5ece11ffb28b08b8668f258a8" }, { - "title": "SCO.05 - Request Unstaking - 2", + "title": "SCO.11 - Withdraw Unstaked Tokens - 1", "valid": true, "chainID": "Testnet", "payloadMessage": { - "script": "import FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// Requests unstaking for the specified node or delegator in the staking collection\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n }\n\n execute {\n self.stakingCollectionRef.requestUnstaking(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", + "script": "import FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// Request to withdraw unstaked tokens for the specified node or delegator in the staking collection\n/// The tokens are automatically deposited to the unlocked account vault first,\n/// And then any locked tokens are deposited into the locked account vault if it is there\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: auth(FlowStakingCollection.CollectionOwner) &FlowStakingCollection.StakingCollection\n\n prepare(account: auth(BorrowValue) &Account) {\n self.stakingCollectionRef = account.storage.borrow(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow a reference to a StakingCollection in the primary user's account\")\n }\n\n execute {\n self.stakingCollectionRef.withdrawUnstakedTokens(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", "arguments": [ { "type": "String", "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" }, { - "type": "Optional", - "value": { - "type": "UInt32", - "value": "42" - } + "value": null, + "type": "Optional" }, { - "type": "UFix64", - "value": "92233720368.54775808" + "value": "92233720368.54775808", + "type": "UFix64" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -2069,22 +1957,19 @@ ] }, "envelopeMessage": { - "script": "import FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// Requests unstaking for the specified node or delegator in the staking collection\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n }\n\n execute {\n self.stakingCollectionRef.requestUnstaking(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", + "script": "import FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// Request to withdraw unstaked tokens for the specified node or delegator in the staking collection\n/// The tokens are automatically deposited to the unlocked account vault first,\n/// And then any locked tokens are deposited into the locked account vault if it is there\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: auth(FlowStakingCollection.CollectionOwner) &FlowStakingCollection.StakingCollection\n\n prepare(account: auth(BorrowValue) &Account) {\n self.stakingCollectionRef = account.storage.borrow(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow a reference to a StakingCollection in the primary user's account\")\n }\n\n execute {\n self.stakingCollectionRef.withdrawUnstakedTokens(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", "arguments": [ { "type": "String", "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" }, { - "type": "Optional", - "value": { - "type": "UInt32", - "value": "42" - } + "value": null, + "type": "Optional" }, { - "type": "UFix64", - "value": "92233720368.54775808" + "value": "92233720368.54775808", + "type": "UFix64" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -2100,29 +1985,32 @@ ], "payloadSigs": [] }, - "encodedTransactionPayloadHex": "f903b4b902a4696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f20526571756573747320756e7374616b696e6720666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e72657175657374556e7374616b696e67286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8cbb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db83a7b2274797065223a224f7074696f6e616c222c2276616c7565223a7b2274797065223a2255496e743332222c2276616c7565223a223432227d7db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", - "encodedTransactionEnvelopeHex": "f903b8f903b4b902a4696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f20526571756573747320756e7374616b696e6720666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e72657175657374556e7374616b696e67286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8cbb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db83a7b2274797065223a224f7074696f6e616c222c2276616c7565223a7b2274797065223a2255496e743332222c2276616c7565223a223432227d7db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", - "metadata": "02b00f6b3b9d8d7d4a9a8ad14fce11ee0edb23c39c56a8c1351e6b597f53f2fb71a552951c5e6300a118610fbf2d36b3073ee266e1d26787d04717c141976ef78c5265717565737420556e7374616b696e670003014e6f64652049440000537472696e6700030244656c656761746f72204944000155496e743332000301416d6f756e7400025546697836340003", - "hash": "b00f6b3b9d8d7d4a9a8ad14fce11ee0edb23c39c56a8c1351e6b597f53f2fb71" + "encodedTransactionPayloadHex": "f904f1b903fc696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f205265717565737420746f20776974686472617720756e7374616b656420746f6b656e7320666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f2054686520746f6b656e7320617265206175746f6d61746963616c6c79206465706f736974656420746f2074686520756e6c6f636b6564206163636f756e74207661756c742066697273742c0a2f2f2f20416e64207468656e20616e79206c6f636b656420746f6b656e7320617265206465706f736974656420696e746f20746865206c6f636b6564206163636f756e74207661756c742069662069742069732074686572650a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a206175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a206175746828426f72726f7756616c75652920264163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e73746f726167652e626f72726f773c6175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f2061205374616b696e67436f6c6c656374696f6e20696e20746865207072696d61727920757365722773206163636f756e7422290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e7769746864726177556e7374616b6564546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8b0b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227da07b2276616c7565223a6e756c6c2c2274797065223a224f7074696f6e616c227db07b2276616c7565223a2239323233333732303336382e3534373735383038222c2274797065223a22554669783634227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", + "encodedTransactionEnvelopeHex": "f904f5f904f1b903fc696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f205265717565737420746f20776974686472617720756e7374616b656420746f6b656e7320666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f2054686520746f6b656e7320617265206175746f6d61746963616c6c79206465706f736974656420746f2074686520756e6c6f636b6564206163636f756e74207661756c742066697273742c0a2f2f2f20416e64207468656e20616e79206c6f636b656420746f6b656e7320617265206465706f736974656420696e746f20746865206c6f636b6564206163636f756e74207661756c742069662069742069732074686572650a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a206175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a206175746828426f72726f7756616c75652920264163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e73746f726167652e626f72726f773c6175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f2061205374616b696e67436f6c6c656374696f6e20696e20746865207072696d61727920757365722773206163636f756e7422290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e7769746864726177556e7374616b6564546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8b0b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227da07b2276616c7565223a6e756c6c2c2274797065223a224f7074696f6e616c227db07b2276616c7565223a2239323233333732303336382e3534373735383038222c2274797065223a22554669783634227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", + "metadata": "0201fd4ea83d20510d24ed9f245873a7ee2715aefb774495c80bce7e3e34d6442ec2484f17e640e285769c3edaa6f2d090dcef1f2f57983f82b7179c3c047290ca576974686472617720556e7374616b656420546f6b656e730003014e6f64652049440000537472696e6700030244656c656761746f72204944000155496e743332000301416d6f756e7400025546697836340003", + "hash": "01fd4ea83d20510d24ed9f245873a7ee2715aefb774495c80bce7e3e34d6442e" }, { - "title": "SCO.06 - Stake New Tokens - 1", + "title": "SCO.11 - Withdraw Unstaked Tokens - 2", "valid": true, "chainID": "Testnet", "payloadMessage": { - "script": "import FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// Commits new tokens to stake for the specified node or delegator in the staking collection\n/// The tokens from the locked vault are used first, if it exists\n/// followed by the tokens from the unlocked vault\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n }\n\n execute {\n self.stakingCollectionRef.stakeNewTokens(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", + "script": "import FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// Request to withdraw unstaked tokens for the specified node or delegator in the staking collection\n/// The tokens are automatically deposited to the unlocked account vault first,\n/// And then any locked tokens are deposited into the locked account vault if it is there\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: auth(FlowStakingCollection.CollectionOwner) &FlowStakingCollection.StakingCollection\n\n prepare(account: auth(BorrowValue) &Account) {\n self.stakingCollectionRef = account.storage.borrow(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow a reference to a StakingCollection in the primary user's account\")\n }\n\n execute {\n self.stakingCollectionRef.withdrawUnstakedTokens(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", "arguments": [ { "type": "String", "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" }, { - "type": "Optional", - "value": null + "value": { + "value": "42", + "type": "UInt32" + }, + "type": "Optional" }, { - "type": "UFix64", - "value": "92233720368.54775808" + "value": "92233720368.54775808", + "type": "UFix64" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -2145,19 +2033,22 @@ ] }, "envelopeMessage": { - "script": "import FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// Commits new tokens to stake for the specified node or delegator in the staking collection\n/// The tokens from the locked vault are used first, if it exists\n/// followed by the tokens from the unlocked vault\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n }\n\n execute {\n self.stakingCollectionRef.stakeNewTokens(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", + "script": "import FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// Request to withdraw unstaked tokens for the specified node or delegator in the staking collection\n/// The tokens are automatically deposited to the unlocked account vault first,\n/// And then any locked tokens are deposited into the locked account vault if it is there\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: auth(FlowStakingCollection.CollectionOwner) &FlowStakingCollection.StakingCollection\n\n prepare(account: auth(BorrowValue) &Account) {\n self.stakingCollectionRef = account.storage.borrow(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow a reference to a StakingCollection in the primary user's account\")\n }\n\n execute {\n self.stakingCollectionRef.withdrawUnstakedTokens(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", "arguments": [ { "type": "String", "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" }, { - "type": "Optional", - "value": null + "value": { + "value": "42", + "type": "UInt32" + }, + "type": "Optional" }, { - "type": "UFix64", - "value": "92233720368.54775808" + "value": "92233720368.54775808", + "type": "UFix64" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -2173,32 +2064,28 @@ ], "payloadSigs": [] }, - "encodedTransactionPayloadHex": "f90415b90320696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f20436f6d6d697473206e657720746f6b656e7320746f207374616b6520666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f2054686520746f6b656e732066726f6d20746865206c6f636b6564207661756c742061726520757365642066697273742c206966206974206578697374730a2f2f2f20666f6c6c6f7765642062792074686520746f6b656e732066726f6d2074686520756e6c6f636b6564207661756c740a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e7374616b654e6577546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8b0b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227da07b2274797065223a224f7074696f6e616c222c2276616c7565223a6e756c6c7db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", - "encodedTransactionEnvelopeHex": "f90419f90415b90320696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f20436f6d6d697473206e657720746f6b656e7320746f207374616b6520666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f2054686520746f6b656e732066726f6d20746865206c6f636b6564207661756c742061726520757365642066697273742c206966206974206578697374730a2f2f2f20666f6c6c6f7765642062792074686520746f6b656e732066726f6d2074686520756e6c6f636b6564207661756c740a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e7374616b654e6577546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8b0b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227da07b2274797065223a224f7074696f6e616c222c2276616c7565223a6e756c6c7db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", - "metadata": "021307928440cee4289235793d6ff860a24315f7b6a5d5907a145dcc5f83702a2c8e10ac56db8ec5d5e0051d3c9608fabc8edd6abed983f6d3a254e7668a54b32b5374616b65204e657720546f6b656e730003014e6f64652049440000537472696e6700030244656c656761746f72204944000155496e743332000301416d6f756e7400025546697836340003", - "hash": "1307928440cee4289235793d6ff860a24315f7b6a5d5907a145dcc5f83702a2c" + "encodedTransactionPayloadHex": "f9050cb903fc696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f205265717565737420746f20776974686472617720756e7374616b656420746f6b656e7320666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f2054686520746f6b656e7320617265206175746f6d61746963616c6c79206465706f736974656420746f2074686520756e6c6f636b6564206163636f756e74207661756c742066697273742c0a2f2f2f20416e64207468656e20616e79206c6f636b656420746f6b656e7320617265206465706f736974656420696e746f20746865206c6f636b6564206163636f756e74207661756c742069662069742069732074686572650a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a206175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a206175746828426f72726f7756616c75652920264163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e73746f726167652e626f72726f773c6175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f2061205374616b696e67436f6c6c656374696f6e20696e20746865207072696d61727920757365722773206163636f756e7422290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e7769746864726177556e7374616b6564546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8cbb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db83a7b2276616c7565223a7b2276616c7565223a223432222c2274797065223a2255496e743332227d2c2274797065223a224f7074696f6e616c227db07b2276616c7565223a2239323233333732303336382e3534373735383038222c2274797065223a22554669783634227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", + "encodedTransactionEnvelopeHex": "f90510f9050cb903fc696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f205265717565737420746f20776974686472617720756e7374616b656420746f6b656e7320666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f2054686520746f6b656e7320617265206175746f6d61746963616c6c79206465706f736974656420746f2074686520756e6c6f636b6564206163636f756e74207661756c742066697273742c0a2f2f2f20416e64207468656e20616e79206c6f636b656420746f6b656e7320617265206465706f736974656420696e746f20746865206c6f636b6564206163636f756e74207661756c742069662069742069732074686572650a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a206175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a206175746828426f72726f7756616c75652920264163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e73746f726167652e626f72726f773c6175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f2061205374616b696e67436f6c6c656374696f6e20696e20746865207072696d61727920757365722773206163636f756e7422290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e7769746864726177556e7374616b6564546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8cbb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db83a7b2276616c7565223a7b2276616c7565223a223432222c2274797065223a2255496e743332227d2c2274797065223a224f7074696f6e616c227db07b2276616c7565223a2239323233333732303336382e3534373735383038222c2274797065223a22554669783634227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", + "metadata": "0201fd4ea83d20510d24ed9f245873a7ee2715aefb774495c80bce7e3e34d6442ec2484f17e640e285769c3edaa6f2d090dcef1f2f57983f82b7179c3c047290ca576974686472617720556e7374616b656420546f6b656e730003014e6f64652049440000537472696e6700030244656c656761746f72204944000155496e743332000301416d6f756e7400025546697836340003", + "hash": "01fd4ea83d20510d24ed9f245873a7ee2715aefb774495c80bce7e3e34d6442e" }, { - "title": "SCO.06 - Stake New Tokens - 2", + "title": "SCO.12 - Close Stake - 1", "valid": true, "chainID": "Testnet", "payloadMessage": { - "script": "import FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// Commits new tokens to stake for the specified node or delegator in the staking collection\n/// The tokens from the locked vault are used first, if it exists\n/// followed by the tokens from the unlocked vault\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n }\n\n execute {\n self.stakingCollectionRef.stakeNewTokens(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", + "script": "import FlowStakingCollection from 0x95e019a17d0e23d7\n\n// Closes out a staking object in the staking collection\n// This does not remove the record from the identity table,\n// but it does mean that the account that closes it cannot ever access it again\n\ntransaction(nodeID: String, delegatorID: UInt32?) {\n \n let stakingCollectionRef: auth(FlowStakingCollection.CollectionOwner) &FlowStakingCollection.StakingCollection\n\n prepare(account: auth(BorrowValue) &Account) {\n self.stakingCollectionRef = account.storage.borrow(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow a reference to a StakingCollection in the primary user's account\")\n }\n\n execute {\n self.stakingCollectionRef.closeStake(nodeID: nodeID, delegatorID: delegatorID)\n }\n}\n", "arguments": [ { "type": "String", "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" }, { - "type": "Optional", "value": { - "type": "UInt32", - "value": "42" - } - }, - { - "type": "UFix64", - "value": "92233720368.54775808" + "value": "42", + "type": "UInt32" + }, + "type": "Optional" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -2221,22 +2108,18 @@ ] }, "envelopeMessage": { - "script": "import FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// Commits new tokens to stake for the specified node or delegator in the staking collection\n/// The tokens from the locked vault are used first, if it exists\n/// followed by the tokens from the unlocked vault\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n }\n\n execute {\n self.stakingCollectionRef.stakeNewTokens(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", + "script": "import FlowStakingCollection from 0x95e019a17d0e23d7\n\n// Closes out a staking object in the staking collection\n// This does not remove the record from the identity table,\n// but it does mean that the account that closes it cannot ever access it again\n\ntransaction(nodeID: String, delegatorID: UInt32?) {\n \n let stakingCollectionRef: auth(FlowStakingCollection.CollectionOwner) &FlowStakingCollection.StakingCollection\n\n prepare(account: auth(BorrowValue) &Account) {\n self.stakingCollectionRef = account.storage.borrow(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow a reference to a StakingCollection in the primary user's account\")\n }\n\n execute {\n self.stakingCollectionRef.closeStake(nodeID: nodeID, delegatorID: delegatorID)\n }\n}\n", "arguments": [ { "type": "String", "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" }, { - "type": "Optional", "value": { - "type": "UInt32", - "value": "42" - } - }, - { - "type": "UFix64", - "value": "92233720368.54775808" + "value": "42", + "type": "UInt32" + }, + "type": "Optional" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -2252,29 +2135,25 @@ ], "payloadSigs": [] }, - "encodedTransactionPayloadHex": "f90430b90320696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f20436f6d6d697473206e657720746f6b656e7320746f207374616b6520666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f2054686520746f6b656e732066726f6d20746865206c6f636b6564207661756c742061726520757365642066697273742c206966206974206578697374730a2f2f2f20666f6c6c6f7765642062792074686520746f6b656e732066726f6d2074686520756e6c6f636b6564207661756c740a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e7374616b654e6577546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8cbb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db83a7b2274797065223a224f7074696f6e616c222c2276616c7565223a7b2274797065223a2255496e743332222c2276616c7565223a223432227d7db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", - "encodedTransactionEnvelopeHex": "f90434f90430b90320696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f20436f6d6d697473206e657720746f6b656e7320746f207374616b6520666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f2054686520746f6b656e732066726f6d20746865206c6f636b6564207661756c742061726520757365642066697273742c206966206974206578697374730a2f2f2f20666f6c6c6f7765642062792074686520746f6b656e732066726f6d2074686520756e6c6f636b6564207661756c740a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e7374616b654e6577546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8cbb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db83a7b2274797065223a224f7074696f6e616c222c2276616c7565223a7b2274797065223a2255496e743332222c2276616c7565223a223432227d7db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", - "metadata": "021307928440cee4289235793d6ff860a24315f7b6a5d5907a145dcc5f83702a2c8e10ac56db8ec5d5e0051d3c9608fabc8edd6abed983f6d3a254e7668a54b32b5374616b65204e657720546f6b656e730003014e6f64652049440000537472696e6700030244656c656761746f72204944000155496e743332000301416d6f756e7400025546697836340003", - "hash": "1307928440cee4289235793d6ff860a24315f7b6a5d5907a145dcc5f83702a2c" + "encodedTransactionPayloadHex": "f90464b90385696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f20436c6f736573206f75742061207374616b696e67206f626a65637420696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f205468697320646f6573206e6f742072656d6f766520746865207265636f72642066726f6d20746865206964656e74697479207461626c652c0a2f2f2062757420697420646f6573206d65616e207468617420746865206163636f756e74207468617420636c6f7365732069742063616e6e6f7420657665722061636365737320697420616761696e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f29207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a206175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a206175746828426f72726f7756616c75652920264163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e73746f726167652e626f72726f773c6175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f2061205374616b696e67436f6c6c656374696f6e20696e20746865207072696d61727920757365722773206163636f756e7422290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e636c6f73655374616b65286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f724944290a202020207d0a7d0af89ab85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db83a7b2276616c7565223a7b2276616c7565223a223432222c2274797065223a2255496e743332227d2c2274797065223a224f7074696f6e616c227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", + "encodedTransactionEnvelopeHex": "f90468f90464b90385696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f20436c6f736573206f75742061207374616b696e67206f626a65637420696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f205468697320646f6573206e6f742072656d6f766520746865207265636f72642066726f6d20746865206964656e74697479207461626c652c0a2f2f2062757420697420646f6573206d65616e207468617420746865206163636f756e74207468617420636c6f7365732069742063616e6e6f7420657665722061636365737320697420616761696e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f29207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a206175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a206175746828426f72726f7756616c75652920264163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e73746f726167652e626f72726f773c6175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f2061205374616b696e67436f6c6c656374696f6e20696e20746865207072696d61727920757365722773206163636f756e7422290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e636c6f73655374616b65286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f724944290a202020207d0a7d0af89ab85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db83a7b2276616c7565223a7b2276616c7565223a223432222c2274797065223a2255496e743332227d2c2274797065223a224f7074696f6e616c227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", + "metadata": "027e216d96d75414b27c2301a3b0a7816804d43014337a14731d1493531116d185a0fad319bf8aede66212257ad0d21532858381e2c9d7c4cec179b28180f5be93436c6f7365205374616b650002014e6f64652049440000537472696e6700030244656c656761746f72204944000155496e7433320003", + "hash": "7e216d96d75414b27c2301a3b0a7816804d43014337a14731d1493531116d185" }, { - "title": "SCO.07 - Stake Rewarded Tokens - 1", + "title": "SCO.12 - Close Stake - 2", "valid": true, "chainID": "Testnet", "payloadMessage": { - "script": "import FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// Commits rewarded tokens to stake for the specified node or delegator in the staking collection\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n }\n\n execute {\n self.stakingCollectionRef.stakeRewardedTokens(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", + "script": "import FlowStakingCollection from 0x95e019a17d0e23d7\n\n// Closes out a staking object in the staking collection\n// This does not remove the record from the identity table,\n// but it does mean that the account that closes it cannot ever access it again\n\ntransaction(nodeID: String, delegatorID: UInt32?) {\n \n let stakingCollectionRef: auth(FlowStakingCollection.CollectionOwner) &FlowStakingCollection.StakingCollection\n\n prepare(account: auth(BorrowValue) &Account) {\n self.stakingCollectionRef = account.storage.borrow(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow a reference to a StakingCollection in the primary user's account\")\n }\n\n execute {\n self.stakingCollectionRef.closeStake(nodeID: nodeID, delegatorID: delegatorID)\n }\n}\n", "arguments": [ { "type": "String", "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" }, { - "type": "Optional", - "value": null - }, - { - "type": "UFix64", - "value": "92233720368.54775808" + "value": null, + "type": "Optional" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -2297,19 +2176,15 @@ ] }, "envelopeMessage": { - "script": "import FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// Commits rewarded tokens to stake for the specified node or delegator in the staking collection\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n }\n\n execute {\n self.stakingCollectionRef.stakeRewardedTokens(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", + "script": "import FlowStakingCollection from 0x95e019a17d0e23d7\n\n// Closes out a staking object in the staking collection\n// This does not remove the record from the identity table,\n// but it does mean that the account that closes it cannot ever access it again\n\ntransaction(nodeID: String, delegatorID: UInt32?) {\n \n let stakingCollectionRef: auth(FlowStakingCollection.CollectionOwner) &FlowStakingCollection.StakingCollection\n\n prepare(account: auth(BorrowValue) &Account) {\n self.stakingCollectionRef = account.storage.borrow(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow a reference to a StakingCollection in the primary user's account\")\n }\n\n execute {\n self.stakingCollectionRef.closeStake(nodeID: nodeID, delegatorID: delegatorID)\n }\n}\n", "arguments": [ { "type": "String", "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" }, { - "type": "Optional", - "value": null - }, - { - "type": "UFix64", - "value": "92233720368.54775808" + "value": null, + "type": "Optional" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -2325,32 +2200,25 @@ ], "payloadSigs": [] }, - "encodedTransactionPayloadHex": "f903aab902b5696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f20436f6d6d69747320726577617264656420746f6b656e7320746f207374616b6520666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e7374616b655265776172646564546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8b0b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227da07b2274797065223a224f7074696f6e616c222c2276616c7565223a6e756c6c7db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", - "encodedTransactionEnvelopeHex": "f903aef903aab902b5696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f20436f6d6d69747320726577617264656420746f6b656e7320746f207374616b6520666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e7374616b655265776172646564546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8b0b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227da07b2274797065223a224f7074696f6e616c222c2276616c7565223a6e756c6c7db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", - "metadata": "02d7aca7113a7aa03e0afd20ee36f4873779708a02ac4c6985017740c2ecea3d62907c4cfd67a98a8003393c64dc74eb7a957b229352a266139a542bb105ac4c405374616b6520526577617264656420546f6b656e730003014e6f64652049440000537472696e6700030244656c656761746f72204944000155496e743332000301416d6f756e7400025546697836340003", - "hash": "d7aca7113a7aa03e0afd20ee36f4873779708a02ac4c6985017740c2ecea3d62" + "encodedTransactionPayloadHex": "f90449b90385696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f20436c6f736573206f75742061207374616b696e67206f626a65637420696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f205468697320646f6573206e6f742072656d6f766520746865207265636f72642066726f6d20746865206964656e74697479207461626c652c0a2f2f2062757420697420646f6573206d65616e207468617420746865206163636f756e74207468617420636c6f7365732069742063616e6e6f7420657665722061636365737320697420616761696e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f29207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a206175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a206175746828426f72726f7756616c75652920264163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e73746f726167652e626f72726f773c6175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f2061205374616b696e67436f6c6c656374696f6e20696e20746865207072696d61727920757365722773206163636f756e7422290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e636c6f73655374616b65286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f724944290a202020207d0a7d0af87fb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227da07b2276616c7565223a6e756c6c2c2274797065223a224f7074696f6e616c227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", + "encodedTransactionEnvelopeHex": "f9044df90449b90385696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f20436c6f736573206f75742061207374616b696e67206f626a65637420696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f205468697320646f6573206e6f742072656d6f766520746865207265636f72642066726f6d20746865206964656e74697479207461626c652c0a2f2f2062757420697420646f6573206d65616e207468617420746865206163636f756e74207468617420636c6f7365732069742063616e6e6f7420657665722061636365737320697420616761696e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f29207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a206175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a206175746828426f72726f7756616c75652920264163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e73746f726167652e626f72726f773c6175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f2061205374616b696e67436f6c6c656374696f6e20696e20746865207072696d61727920757365722773206163636f756e7422290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e636c6f73655374616b65286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f724944290a202020207d0a7d0af87fb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227da07b2276616c7565223a6e756c6c2c2274797065223a224f7074696f6e616c227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", + "metadata": "027e216d96d75414b27c2301a3b0a7816804d43014337a14731d1493531116d185a0fad319bf8aede66212257ad0d21532858381e2c9d7c4cec179b28180f5be93436c6f7365205374616b650002014e6f64652049440000537472696e6700030244656c656761746f72204944000155496e7433320003", + "hash": "7e216d96d75414b27c2301a3b0a7816804d43014337a14731d1493531116d185" }, { - "title": "SCO.07 - Stake Rewarded Tokens - 2", + "title": "SCO.13 - Transfer Node", "valid": true, "chainID": "Testnet", "payloadMessage": { - "script": "import FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// Commits rewarded tokens to stake for the specified node or delegator in the staking collection\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n }\n\n execute {\n self.stakingCollectionRef.stakeRewardedTokens(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", + "script": "import FlowStakingCollection from 0x95e019a17d0e23d7\n\n// Transfers a NodeStaker object from an authorizers accoount\n// and adds the NodeStaker to another accounts Staking Collection\n// identified by the to Address.\n\ntransaction(nodeID: String, to: Address) {\n let fromStakingCollectionRef: auth(FlowStakingCollection.CollectionOwner) &FlowStakingCollection.StakingCollection\n let toStakingCollectionCap: &FlowStakingCollection.StakingCollection\n\n prepare(account: auth(BorrowValue) &Account) {\n // The account to transfer the NodeStaker object to must have a valid Staking Collection in order to receive the NodeStaker.\n if (!FlowStakingCollection.doesAccountHaveStakingCollection(address: to)) {\n panic(\"Destination account must have a Staking Collection set up.\")\n }\n\n // Get a reference to the authorizers StakingCollection\n self.fromStakingCollectionRef = account.storage.borrow(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow a reference to a StakingCollection in the primary user's account\")\n\n // Get the PublicAccount of the account to transfer the NodeStaker to. \n let toAccount = getAccount(to)\n\n // Borrow a capability to the public methods available on the receivers StakingCollection.\n self.toStakingCollectionCap = toAccount.capabilities\n .borrow<&FlowStakingCollection.StakingCollection>(FlowStakingCollection.StakingCollectionPublicPath)\n ?? panic(\"Could not borrow a reference to a StakingCollection in the receiver's account\")\n\n let machineAccountInfo = self.fromStakingCollectionRef.getMachineAccounts()[nodeID]\n ?? panic(\"Could not get machine account info for the specified node ID\")\n\n // Remove the NodeStaker from the authorizers StakingCollection.\n let nodeStaker <- self.fromStakingCollectionRef.removeNode(nodeID: nodeID)\n\n // Deposit the NodeStaker to the receivers StakingCollection.\n self.toStakingCollectionCap.addNodeObject(<- nodeStaker!, machineAccountInfo: machineAccountInfo)\n }\n}", "arguments": [ { "type": "String", "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" }, { - "type": "Optional", - "value": { - "type": "UInt32", - "value": "42" - } - }, - { - "type": "UFix64", - "value": "92233720368.54775808" + "value": "0x8c5303eaa26202d6", + "type": "Address" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -2373,22 +2241,15 @@ ] }, "envelopeMessage": { - "script": "import FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// Commits rewarded tokens to stake for the specified node or delegator in the staking collection\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n }\n\n execute {\n self.stakingCollectionRef.stakeRewardedTokens(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", + "script": "import FlowStakingCollection from 0x95e019a17d0e23d7\n\n// Transfers a NodeStaker object from an authorizers accoount\n// and adds the NodeStaker to another accounts Staking Collection\n// identified by the to Address.\n\ntransaction(nodeID: String, to: Address) {\n let fromStakingCollectionRef: auth(FlowStakingCollection.CollectionOwner) &FlowStakingCollection.StakingCollection\n let toStakingCollectionCap: &FlowStakingCollection.StakingCollection\n\n prepare(account: auth(BorrowValue) &Account) {\n // The account to transfer the NodeStaker object to must have a valid Staking Collection in order to receive the NodeStaker.\n if (!FlowStakingCollection.doesAccountHaveStakingCollection(address: to)) {\n panic(\"Destination account must have a Staking Collection set up.\")\n }\n\n // Get a reference to the authorizers StakingCollection\n self.fromStakingCollectionRef = account.storage.borrow(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow a reference to a StakingCollection in the primary user's account\")\n\n // Get the PublicAccount of the account to transfer the NodeStaker to. \n let toAccount = getAccount(to)\n\n // Borrow a capability to the public methods available on the receivers StakingCollection.\n self.toStakingCollectionCap = toAccount.capabilities\n .borrow<&FlowStakingCollection.StakingCollection>(FlowStakingCollection.StakingCollectionPublicPath)\n ?? panic(\"Could not borrow a reference to a StakingCollection in the receiver's account\")\n\n let machineAccountInfo = self.fromStakingCollectionRef.getMachineAccounts()[nodeID]\n ?? panic(\"Could not get machine account info for the specified node ID\")\n\n // Remove the NodeStaker from the authorizers StakingCollection.\n let nodeStaker <- self.fromStakingCollectionRef.removeNode(nodeID: nodeID)\n\n // Deposit the NodeStaker to the receivers StakingCollection.\n self.toStakingCollectionCap.addNodeObject(<- nodeStaker!, machineAccountInfo: machineAccountInfo)\n }\n}", "arguments": [ { "type": "String", "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" }, { - "type": "Optional", - "value": { - "type": "UInt32", - "value": "42" - } - }, - { - "type": "UFix64", - "value": "92233720368.54775808" + "value": "0x8c5303eaa26202d6", + "type": "Address" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -2404,29 +2265,29 @@ ], "payloadSigs": [] }, - "encodedTransactionPayloadHex": "f903c5b902b5696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f20436f6d6d69747320726577617264656420746f6b656e7320746f207374616b6520666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e7374616b655265776172646564546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8cbb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db83a7b2274797065223a224f7074696f6e616c222c2276616c7565223a7b2274797065223a2255496e743332222c2276616c7565223a223432227d7db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", - "encodedTransactionEnvelopeHex": "f903c9f903c5b902b5696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f20436f6d6d69747320726577617264656420746f6b656e7320746f207374616b6520666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e7374616b655265776172646564546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8cbb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db83a7b2274797065223a224f7074696f6e616c222c2276616c7565223a7b2274797065223a2255496e743332222c2276616c7565223a223432227d7db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", - "metadata": "02d7aca7113a7aa03e0afd20ee36f4873779708a02ac4c6985017740c2ecea3d62907c4cfd67a98a8003393c64dc74eb7a957b229352a266139a542bb105ac4c405374616b6520526577617264656420546f6b656e730003014e6f64652049440000537472696e6700030244656c656761746f72204944000155496e743332000301416d6f756e7400025546697836340003", - "hash": "d7aca7113a7aa03e0afd20ee36f4873779708a02ac4c6985017740c2ecea3d62" + "encodedTransactionPayloadHex": "f9096eb9089b696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f205472616e73666572732061204e6f64655374616b6572206f626a6563742066726f6d20616e20617574686f72697a657273206163636f6f756e740a2f2f20616e64206164647320746865204e6f64655374616b657220746f20616e6f74686572206163636f756e7473205374616b696e6720436f6c6c656374696f6e0a2f2f206964656e7469666965642062792074686520746f20416464726573732e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c20746f3a204164647265737329207b0a202020206c65742066726f6d5374616b696e67436f6c6c656374696f6e5265663a206175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a202020206c657420746f5374616b696e67436f6c6c656374696f6e4361703a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a206175746828426f72726f7756616c75652920264163636f756e7429207b0a20202020202020202f2f20546865206163636f756e7420746f207472616e7366657220746865204e6f64655374616b6572206f626a65637420746f206d757374206861766520612076616c6964205374616b696e6720436f6c6c656374696f6e20696e206f7264657220746f207265636569766520746865204e6f64655374616b65722e0a20202020202020206966202821466c6f775374616b696e67436f6c6c656374696f6e2e646f65734163636f756e74486176655374616b696e67436f6c6c656374696f6e28616464726573733a20746f2929207b0a20202020202020202020202070616e6963282244657374696e6174696f6e206163636f756e74206d75737420686176652061205374616b696e6720436f6c6c656374696f6e207365742075702e22290a20202020202020207d0a0a20202020202020202f2f204765742061207265666572656e636520746f2074686520617574686f72697a657273205374616b696e67436f6c6c656374696f6e0a202020202020202073656c662e66726f6d5374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e73746f726167652e626f72726f773c6175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f2061205374616b696e67436f6c6c656374696f6e20696e20746865207072696d61727920757365722773206163636f756e7422290a0a20202020202020202f2f2047657420746865205075626c69634163636f756e74206f6620746865206163636f756e7420746f207472616e7366657220746865204e6f64655374616b657220746f2e200a20202020202020206c657420746f4163636f756e74203d206765744163636f756e7428746f290a0a20202020202020202f2f20426f72726f772061206361706162696c69747920746f20746865207075626c6963206d6574686f647320617661696c61626c65206f6e2074686520726563656976657273205374616b696e67436f6c6c656374696f6e2e0a202020202020202073656c662e746f5374616b696e67436f6c6c656374696f6e436170203d20746f4163636f756e742e6361706162696c69746965730a2020202020202020202020202e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e28466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e5075626c696350617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f2061205374616b696e67436f6c6c656374696f6e20696e207468652072656365697665722773206163636f756e7422290a0a20202020202020206c6574206d616368696e654163636f756e74496e666f203d2073656c662e66726f6d5374616b696e67436f6c6c656374696f6e5265662e6765744d616368696e654163636f756e747328295b6e6f646549445d0a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420676574206d616368696e65206163636f756e7420696e666f20666f722074686520737065636966696564206e6f646520494422290a0a20202020202020202f2f2052656d6f766520746865204e6f64655374616b65722066726f6d2074686520617574686f72697a657273205374616b696e67436f6c6c656374696f6e2e0a20202020202020206c6574206e6f64655374616b6572203c2d2073656c662e66726f6d5374616b696e67436f6c6c656374696f6e5265662e72656d6f76654e6f6465286e6f646549443a206e6f64654944290a0a20202020202020202f2f204465706f73697420746865204e6f64655374616b657220746f2074686520726563656976657273205374616b696e67436f6c6c656374696f6e2e0a202020202020202073656c662e746f5374616b696e67436f6c6c656374696f6e4361702e6164644e6f64654f626a656374283c2d206e6f64655374616b6572212c206d616368696e654163636f756e74496e666f3a206d616368696e654163636f756e74496e666f290a202020207d0a7df88eb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227daf7b2276616c7565223a22307838633533303365616132363230326436222c2274797065223a2241646472657373227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", + "encodedTransactionEnvelopeHex": "f90972f9096eb9089b696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f205472616e73666572732061204e6f64655374616b6572206f626a6563742066726f6d20616e20617574686f72697a657273206163636f6f756e740a2f2f20616e64206164647320746865204e6f64655374616b657220746f20616e6f74686572206163636f756e7473205374616b696e6720436f6c6c656374696f6e0a2f2f206964656e7469666965642062792074686520746f20416464726573732e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c20746f3a204164647265737329207b0a202020206c65742066726f6d5374616b696e67436f6c6c656374696f6e5265663a206175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a202020206c657420746f5374616b696e67436f6c6c656374696f6e4361703a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a206175746828426f72726f7756616c75652920264163636f756e7429207b0a20202020202020202f2f20546865206163636f756e7420746f207472616e7366657220746865204e6f64655374616b6572206f626a65637420746f206d757374206861766520612076616c6964205374616b696e6720436f6c6c656374696f6e20696e206f7264657220746f207265636569766520746865204e6f64655374616b65722e0a20202020202020206966202821466c6f775374616b696e67436f6c6c656374696f6e2e646f65734163636f756e74486176655374616b696e67436f6c6c656374696f6e28616464726573733a20746f2929207b0a20202020202020202020202070616e6963282244657374696e6174696f6e206163636f756e74206d75737420686176652061205374616b696e6720436f6c6c656374696f6e207365742075702e22290a20202020202020207d0a0a20202020202020202f2f204765742061207265666572656e636520746f2074686520617574686f72697a657273205374616b696e67436f6c6c656374696f6e0a202020202020202073656c662e66726f6d5374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e73746f726167652e626f72726f773c6175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f2061205374616b696e67436f6c6c656374696f6e20696e20746865207072696d61727920757365722773206163636f756e7422290a0a20202020202020202f2f2047657420746865205075626c69634163636f756e74206f6620746865206163636f756e7420746f207472616e7366657220746865204e6f64655374616b657220746f2e200a20202020202020206c657420746f4163636f756e74203d206765744163636f756e7428746f290a0a20202020202020202f2f20426f72726f772061206361706162696c69747920746f20746865207075626c6963206d6574686f647320617661696c61626c65206f6e2074686520726563656976657273205374616b696e67436f6c6c656374696f6e2e0a202020202020202073656c662e746f5374616b696e67436f6c6c656374696f6e436170203d20746f4163636f756e742e6361706162696c69746965730a2020202020202020202020202e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e28466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e5075626c696350617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f2061205374616b696e67436f6c6c656374696f6e20696e207468652072656365697665722773206163636f756e7422290a0a20202020202020206c6574206d616368696e654163636f756e74496e666f203d2073656c662e66726f6d5374616b696e67436f6c6c656374696f6e5265662e6765744d616368696e654163636f756e747328295b6e6f646549445d0a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420676574206d616368696e65206163636f756e7420696e666f20666f722074686520737065636966696564206e6f646520494422290a0a20202020202020202f2f2052656d6f766520746865204e6f64655374616b65722066726f6d2074686520617574686f72697a657273205374616b696e67436f6c6c656374696f6e2e0a20202020202020206c6574206e6f64655374616b6572203c2d2073656c662e66726f6d5374616b696e67436f6c6c656374696f6e5265662e72656d6f76654e6f6465286e6f646549443a206e6f64654944290a0a20202020202020202f2f204465706f73697420746865204e6f64655374616b657220746f2074686520726563656976657273205374616b696e67436f6c6c656374696f6e2e0a202020202020202073656c662e746f5374616b696e67436f6c6c656374696f6e4361702e6164644e6f64654f626a656374283c2d206e6f64655374616b6572212c206d616368696e654163636f756e74496e666f3a206d616368696e654163636f756e74496e666f290a202020207d0a7df88eb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227daf7b2276616c7565223a22307838633533303365616132363230326436222c2274797065223a2241646472657373227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", + "metadata": "02311f4071dda8b17ac6cbc6f0a27e98bd426026825d3c68308903fead884e616e38bfd23b200ecef4d13fa3c2ea998b51e6a24f3a8ceb260d2affab7c918a97d05472616e73666572204e6f64650002014e6f64652049440000537472696e67000301416464726573730001416464726573730003", + "hash": "311f4071dda8b17ac6cbc6f0a27e98bd426026825d3c68308903fead884e616e" }, { - "title": "SCO.08 - Stake Unstaked Tokens - 1", + "title": "SCO.14 - Transfer Delegator", "valid": true, "chainID": "Testnet", "payloadMessage": { - "script": "import FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// Commits unstaked tokens to stake for the specified node or delegator in the staking collection\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n }\n\n execute {\n self.stakingCollectionRef.stakeUnstakedTokens(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", + "script": "import FlowStakingCollection from 0x95e019a17d0e23d7\n\n// Transfers a NodeDelegator object from an authorizers accoount\n// and adds the NodeDelegator to another accounts Staking Collection\n// identified by the to Address.\n\ntransaction(nodeID: String, delegatorID: UInt32, to: Address) {\n let fromStakingCollectionRef: auth(FlowStakingCollection.CollectionOwner) &FlowStakingCollection.StakingCollection\n let toStakingCollectionCap: &FlowStakingCollection.StakingCollection\n\n prepare(account: auth(BorrowValue) &Account) {\n // The account to transfer the NodeDelegator object to must have a valid Staking Collection in order to receive the NodeDelegator.\n if (!FlowStakingCollection.doesAccountHaveStakingCollection(address: to)) {\n panic(\"Destination account must have a Staking Collection set up.\")\n }\n\n // Get a reference to the authorizers StakingCollection\n self.fromStakingCollectionRef = account.storage.borrow(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow a reference to a StakingCollection in the primary user's account\")\n\n // Get the PublicAccount of the account to transfer the NodeDelegator to. \n let toAccount = getAccount(to)\n\n // Borrow a capability to the public methods available on the receivers StakingCollection.\n self.toStakingCollectionCap = toAccount.capabilities\n .borrow<&FlowStakingCollection.StakingCollection>(FlowStakingCollection.StakingCollectionPublicPath)\n ?? panic(\"Could not borrow a referamce to a StakingCollection in the receiver's account\")\n }\n\n execute {\n // Remove the NodeDelegator from the authorizers StakingCollection.\n let nodeDelegator <- self.fromStakingCollectionRef.removeDelegator(nodeID: nodeID, delegatorID: delegatorID)\n\n // Deposit the NodeDelegator to the receivers StakingCollection.\n self.toStakingCollectionCap.addDelegatorObject(<- nodeDelegator!)\n }\n}", "arguments": [ { "type": "String", "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" }, { - "type": "Optional", - "value": null + "value": "42", + "type": "UInt32" }, { - "type": "UFix64", - "value": "92233720368.54775808" + "value": "0x8c5303eaa26202d6", + "type": "Address" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -2449,19 +2310,19 @@ ] }, "envelopeMessage": { - "script": "import FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// Commits unstaked tokens to stake for the specified node or delegator in the staking collection\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n }\n\n execute {\n self.stakingCollectionRef.stakeUnstakedTokens(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", + "script": "import FlowStakingCollection from 0x95e019a17d0e23d7\n\n// Transfers a NodeDelegator object from an authorizers accoount\n// and adds the NodeDelegator to another accounts Staking Collection\n// identified by the to Address.\n\ntransaction(nodeID: String, delegatorID: UInt32, to: Address) {\n let fromStakingCollectionRef: auth(FlowStakingCollection.CollectionOwner) &FlowStakingCollection.StakingCollection\n let toStakingCollectionCap: &FlowStakingCollection.StakingCollection\n\n prepare(account: auth(BorrowValue) &Account) {\n // The account to transfer the NodeDelegator object to must have a valid Staking Collection in order to receive the NodeDelegator.\n if (!FlowStakingCollection.doesAccountHaveStakingCollection(address: to)) {\n panic(\"Destination account must have a Staking Collection set up.\")\n }\n\n // Get a reference to the authorizers StakingCollection\n self.fromStakingCollectionRef = account.storage.borrow(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow a reference to a StakingCollection in the primary user's account\")\n\n // Get the PublicAccount of the account to transfer the NodeDelegator to. \n let toAccount = getAccount(to)\n\n // Borrow a capability to the public methods available on the receivers StakingCollection.\n self.toStakingCollectionCap = toAccount.capabilities\n .borrow<&FlowStakingCollection.StakingCollection>(FlowStakingCollection.StakingCollectionPublicPath)\n ?? panic(\"Could not borrow a referamce to a StakingCollection in the receiver's account\")\n }\n\n execute {\n // Remove the NodeDelegator from the authorizers StakingCollection.\n let nodeDelegator <- self.fromStakingCollectionRef.removeDelegator(nodeID: nodeID, delegatorID: delegatorID)\n\n // Deposit the NodeDelegator to the receivers StakingCollection.\n self.toStakingCollectionCap.addDelegatorObject(<- nodeDelegator!)\n }\n}", "arguments": [ { "type": "String", "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" }, { - "type": "Optional", - "value": null + "value": "42", + "type": "UInt32" }, { - "type": "UFix64", - "value": "92233720368.54775808" + "value": "0x8c5303eaa26202d6", + "type": "Address" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -2477,32 +2338,25 @@ ], "payloadSigs": [] }, - "encodedTransactionPayloadHex": "f903aab902b5696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f20436f6d6d69747320756e7374616b656420746f6b656e7320746f207374616b6520666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e7374616b65556e7374616b6564546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8b0b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227da07b2274797065223a224f7074696f6e616c222c2276616c7565223a6e756c6c7db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", - "encodedTransactionEnvelopeHex": "f903aef903aab902b5696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f20436f6d6d69747320756e7374616b656420746f6b656e7320746f207374616b6520666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e7374616b65556e7374616b6564546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8b0b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227da07b2274797065223a224f7074696f6e616c222c2276616c7565223a6e756c6c7db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", - "metadata": "023595fcd68cff445c65ad99f8d4d726b5e28807b061800769c41cbe3adb98aeec082e690b9647182cf6969db1a0fa8e0f1728da6db01fe0d462e9f0841c268cbb5374616b6520556e7374616b656420546f6b656e730003014e6f64652049440000537472696e6700030244656c656761746f72204944000155496e743332000301416d6f756e7400025546697836340003", - "hash": "3595fcd68cff445c65ad99f8d4d726b5e28807b061800769c41cbe3adb98aeec" + "encodedTransactionPayloadHex": "f9091bb90829696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f205472616e73666572732061204e6f646544656c656761746f72206f626a6563742066726f6d20616e20617574686f72697a657273206163636f6f756e740a2f2f20616e64206164647320746865204e6f646544656c656761746f7220746f20616e6f74686572206163636f756e7473205374616b696e6720436f6c6c656374696f6e0a2f2f206964656e7469666965642062792074686520746f20416464726573732e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433322c20746f3a204164647265737329207b0a202020206c65742066726f6d5374616b696e67436f6c6c656374696f6e5265663a206175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a202020206c657420746f5374616b696e67436f6c6c656374696f6e4361703a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a206175746828426f72726f7756616c75652920264163636f756e7429207b0a20202020202020202f2f20546865206163636f756e7420746f207472616e7366657220746865204e6f646544656c656761746f72206f626a65637420746f206d757374206861766520612076616c6964205374616b696e6720436f6c6c656374696f6e20696e206f7264657220746f207265636569766520746865204e6f646544656c656761746f722e0a20202020202020206966202821466c6f775374616b696e67436f6c6c656374696f6e2e646f65734163636f756e74486176655374616b696e67436f6c6c656374696f6e28616464726573733a20746f2929207b0a20202020202020202020202070616e6963282244657374696e6174696f6e206163636f756e74206d75737420686176652061205374616b696e6720436f6c6c656374696f6e207365742075702e22290a20202020202020207d0a0a20202020202020202f2f204765742061207265666572656e636520746f2074686520617574686f72697a657273205374616b696e67436f6c6c656374696f6e0a202020202020202073656c662e66726f6d5374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e73746f726167652e626f72726f773c6175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f2061205374616b696e67436f6c6c656374696f6e20696e20746865207072696d61727920757365722773206163636f756e7422290a0a20202020202020202f2f2047657420746865205075626c69634163636f756e74206f6620746865206163636f756e7420746f207472616e7366657220746865204e6f646544656c656761746f7220746f2e200a20202020202020206c657420746f4163636f756e74203d206765744163636f756e7428746f290a0a20202020202020202f2f20426f72726f772061206361706162696c69747920746f20746865207075626c6963206d6574686f647320617661696c61626c65206f6e2074686520726563656976657273205374616b696e67436f6c6c656374696f6e2e0a202020202020202073656c662e746f5374616b696e67436f6c6c656374696f6e436170203d20746f4163636f756e742e6361706162696c69746965730a2020202020202020202020202e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e28466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e5075626c696350617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572616d636520746f2061205374616b696e67436f6c6c656374696f6e20696e207468652072656365697665722773206163636f756e7422290a202020207d0a0a2020202065786563757465207b0a20202020202020202f2f2052656d6f766520746865204e6f646544656c656761746f722066726f6d2074686520617574686f72697a657273205374616b696e67436f6c6c656374696f6e2e0a20202020202020206c6574206e6f646544656c656761746f72203c2d2073656c662e66726f6d5374616b696e67436f6c6c656374696f6e5265662e72656d6f766544656c656761746f72286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f724944290a0a20202020202020202f2f204465706f73697420746865204e6f646544656c656761746f7220746f2074686520726563656976657273205374616b696e67436f6c6c656374696f6e2e0a202020202020202073656c662e746f5374616b696e67436f6c6c656374696f6e4361702e61646444656c656761746f724f626a656374283c2d206e6f646544656c656761746f7221290a202020207d0a7df8adb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227d9e7b2276616c7565223a223432222c2274797065223a2255496e743332227daf7b2276616c7565223a22307838633533303365616132363230326436222c2274797065223a2241646472657373227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", + "encodedTransactionEnvelopeHex": "f9091ff9091bb90829696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f205472616e73666572732061204e6f646544656c656761746f72206f626a6563742066726f6d20616e20617574686f72697a657273206163636f6f756e740a2f2f20616e64206164647320746865204e6f646544656c656761746f7220746f20616e6f74686572206163636f756e7473205374616b696e6720436f6c6c656374696f6e0a2f2f206964656e7469666965642062792074686520746f20416464726573732e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433322c20746f3a204164647265737329207b0a202020206c65742066726f6d5374616b696e67436f6c6c656374696f6e5265663a206175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a202020206c657420746f5374616b696e67436f6c6c656374696f6e4361703a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a206175746828426f72726f7756616c75652920264163636f756e7429207b0a20202020202020202f2f20546865206163636f756e7420746f207472616e7366657220746865204e6f646544656c656761746f72206f626a65637420746f206d757374206861766520612076616c6964205374616b696e6720436f6c6c656374696f6e20696e206f7264657220746f207265636569766520746865204e6f646544656c656761746f722e0a20202020202020206966202821466c6f775374616b696e67436f6c6c656374696f6e2e646f65734163636f756e74486176655374616b696e67436f6c6c656374696f6e28616464726573733a20746f2929207b0a20202020202020202020202070616e6963282244657374696e6174696f6e206163636f756e74206d75737420686176652061205374616b696e6720436f6c6c656374696f6e207365742075702e22290a20202020202020207d0a0a20202020202020202f2f204765742061207265666572656e636520746f2074686520617574686f72697a657273205374616b696e67436f6c6c656374696f6e0a202020202020202073656c662e66726f6d5374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e73746f726167652e626f72726f773c6175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f2061205374616b696e67436f6c6c656374696f6e20696e20746865207072696d61727920757365722773206163636f756e7422290a0a20202020202020202f2f2047657420746865205075626c69634163636f756e74206f6620746865206163636f756e7420746f207472616e7366657220746865204e6f646544656c656761746f7220746f2e200a20202020202020206c657420746f4163636f756e74203d206765744163636f756e7428746f290a0a20202020202020202f2f20426f72726f772061206361706162696c69747920746f20746865207075626c6963206d6574686f647320617661696c61626c65206f6e2074686520726563656976657273205374616b696e67436f6c6c656374696f6e2e0a202020202020202073656c662e746f5374616b696e67436f6c6c656374696f6e436170203d20746f4163636f756e742e6361706162696c69746965730a2020202020202020202020202e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e28466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e5075626c696350617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572616d636520746f2061205374616b696e67436f6c6c656374696f6e20696e207468652072656365697665722773206163636f756e7422290a202020207d0a0a2020202065786563757465207b0a20202020202020202f2f2052656d6f766520746865204e6f646544656c656761746f722066726f6d2074686520617574686f72697a657273205374616b696e67436f6c6c656374696f6e2e0a20202020202020206c6574206e6f646544656c656761746f72203c2d2073656c662e66726f6d5374616b696e67436f6c6c656374696f6e5265662e72656d6f766544656c656761746f72286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f724944290a0a20202020202020202f2f204465706f73697420746865204e6f646544656c656761746f7220746f2074686520726563656976657273205374616b696e67436f6c6c656374696f6e2e0a202020202020202073656c662e746f5374616b696e67436f6c6c656374696f6e4361702e61646444656c656761746f724f626a656374283c2d206e6f646544656c656761746f7221290a202020207d0a7df8adb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227d9e7b2276616c7565223a223432222c2274797065223a2255496e743332227daf7b2276616c7565223a22307838633533303365616132363230326436222c2274797065223a2241646472657373227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", + "metadata": "02f9fa239cb78b3e07b8f8d56e173e2673b4b53aeb07d507a769c8d96eaf400b8d11e2107d2ccd96cb6b3fa3a704491dcd9e1736215137304e0494243c21befc765472616e736665722044656c656761746f720003014e6f64652049440000537472696e6700030144656c656761746f72204944000155496e743332000301416464726573730002416464726573730003", + "hash": "f9fa239cb78b3e07b8f8d56e173e2673b4b53aeb07d507a769c8d96eaf400b8d" }, { - "title": "SCO.08 - Stake Unstaked Tokens - 2", + "title": "SCO.15 - Withdraw From Machine Account", "valid": true, "chainID": "Testnet", "payloadMessage": { - "script": "import FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// Commits unstaked tokens to stake for the specified node or delegator in the staking collection\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n }\n\n execute {\n self.stakingCollectionRef.stakeUnstakedTokens(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", + "script": "import FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// Request to withdraw tokens from the machine account\n/// The tokens are automatically deposited to the unlocked account vault\n\ntransaction(nodeID: String, amount: UFix64) {\n \n let stakingCollectionRef: auth(FlowStakingCollection.CollectionOwner) &FlowStakingCollection.StakingCollection\n\n prepare(account: auth(BorrowValue) &Account) {\n self.stakingCollectionRef = account.storage.borrow(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow a reference to a StakingCollection in the primary user's account\")\n }\n\n execute {\n self.stakingCollectionRef.withdrawFromMachineAccount(nodeID: nodeID, amount: amount)\n }\n}\n", "arguments": [ { "type": "String", "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" }, { - "type": "Optional", - "value": { - "type": "UInt32", - "value": "42" - } - }, - { - "type": "UFix64", - "value": "92233720368.54775808" + "value": "92233720368.54775808", + "type": "UFix64" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -2525,22 +2379,15 @@ ] }, "envelopeMessage": { - "script": "import FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// Commits unstaked tokens to stake for the specified node or delegator in the staking collection\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n }\n\n execute {\n self.stakingCollectionRef.stakeUnstakedTokens(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", + "script": "import FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// Request to withdraw tokens from the machine account\n/// The tokens are automatically deposited to the unlocked account vault\n\ntransaction(nodeID: String, amount: UFix64) {\n \n let stakingCollectionRef: auth(FlowStakingCollection.CollectionOwner) &FlowStakingCollection.StakingCollection\n\n prepare(account: auth(BorrowValue) &Account) {\n self.stakingCollectionRef = account.storage.borrow(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow a reference to a StakingCollection in the primary user's account\")\n }\n\n execute {\n self.stakingCollectionRef.withdrawFromMachineAccount(nodeID: nodeID, amount: amount)\n }\n}\n", "arguments": [ { "type": "String", "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" }, { - "type": "Optional", - "value": { - "type": "UInt32", - "value": "42" - } - }, - { - "type": "UFix64", - "value": "92233720368.54775808" + "value": "92233720368.54775808", + "type": "UFix64" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -2556,21 +2403,25 @@ ], "payloadSigs": [] }, - "encodedTransactionPayloadHex": "f903c5b902b5696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f20436f6d6d69747320756e7374616b656420746f6b656e7320746f207374616b6520666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e7374616b65556e7374616b6564546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8cbb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db83a7b2274797065223a224f7074696f6e616c222c2276616c7565223a7b2274797065223a2255496e743332222c2276616c7565223a223432227d7db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", - "encodedTransactionEnvelopeHex": "f903c9f903c5b902b5696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f20436f6d6d69747320756e7374616b656420746f6b656e7320746f207374616b6520666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e7374616b65556e7374616b6564546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8cbb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db83a7b2274797065223a224f7074696f6e616c222c2276616c7565223a7b2274797065223a2255496e743332222c2276616c7565223a223432227d7db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", - "metadata": "023595fcd68cff445c65ad99f8d4d726b5e28807b061800769c41cbe3adb98aeec082e690b9647182cf6969db1a0fa8e0f1728da6db01fe0d462e9f0841c268cbb5374616b6520556e7374616b656420546f6b656e730003014e6f64652049440000537472696e6700030244656c656761746f72204944000155496e743332000301416d6f756e7400025546697836340003", - "hash": "3595fcd68cff445c65ad99f8d4d726b5e28807b061800769c41cbe3adb98aeec" + "encodedTransactionPayloadHex": "f90415b90341696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f205265717565737420746f20776974686472617720746f6b656e732066726f6d20746865206d616368696e65206163636f756e740a2f2f2f2054686520746f6b656e7320617265206175746f6d61746963616c6c79206465706f736974656420746f2074686520756e6c6f636b6564206163636f756e74207661756c740a0a7472616e73616374696f6e286e6f646549443a20537472696e672c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a206175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a206175746828426f72726f7756616c75652920264163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e73746f726167652e626f72726f773c6175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f2061205374616b696e67436f6c6c656374696f6e20696e20746865207072696d61727920757365722773206163636f756e7422290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e776974686472617746726f6d4d616368696e654163636f756e74286e6f646549443a206e6f646549442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af88fb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db07b2276616c7565223a2239323233333732303336382e3534373735383038222c2274797065223a22554669783634227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", + "encodedTransactionEnvelopeHex": "f90419f90415b90341696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f205265717565737420746f20776974686472617720746f6b656e732066726f6d20746865206d616368696e65206163636f756e740a2f2f2f2054686520746f6b656e7320617265206175746f6d61746963616c6c79206465706f736974656420746f2074686520756e6c6f636b6564206163636f756e74207661756c740a0a7472616e73616374696f6e286e6f646549443a20537472696e672c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a206175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a206175746828426f72726f7756616c75652920264163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e73746f726167652e626f72726f773c6175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f2061205374616b696e67436f6c6c656374696f6e20696e20746865207072696d61727920757365722773206163636f756e7422290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e776974686472617746726f6d4d616368696e654163636f756e74286e6f646549443a206e6f646549442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af88fb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db07b2276616c7565223a2239323233333732303336382e3534373735383038222c2274797065223a22554669783634227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", + "metadata": "02fdd40862af04dc36dd0e9e727966c6f81dd6be8246b9c70afd18297aac9e86a8e12b16ef4218b8ce52189ae5814b381272bf473436978fae94d01c10c036903457697468647261772046726f6d204d616368696e65204163636f756e740002014e6f64652049440000537472696e67000301416d6f756e7400015546697836340003", + "hash": "fdd40862af04dc36dd0e9e727966c6f81dd6be8246b9c70afd18297aac9e86a8" }, { - "title": "SCO.09 - Unstake All", + "title": "SCO.16 - Update Networking Address", "valid": true, "chainID": "Testnet", "payloadMessage": { - "script": "import FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// Requests to unstake ALL tokens for the specified node or delegator in the staking collection\n\ntransaction(nodeID: String) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n }\n\n execute {\n self.stakingCollectionRef.unstakeAll(nodeID: nodeID)\n }\n}\n", + "script": "import FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// Changes the networking address for the specified node\n\ntransaction(nodeID: String, newAddress: String) {\n \n let stakingCollectionRef: auth(FlowStakingCollection.CollectionOwner) &FlowStakingCollection.StakingCollection\n\n prepare(account: auth(BorrowValue) &Account) {\n self.stakingCollectionRef = account.storage.borrow(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow a reference to a StakingCollection in the primary user's account\")\n }\n\n execute {\n self.stakingCollectionRef.updateNetworkingAddress(nodeID: nodeID, newAddress: newAddress)\n }\n}\n", "arguments": [ { "type": "String", "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" + }, + { + "value": "flow-node.test:3569", + "type": "String" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -2593,11 +2444,15 @@ ] }, "envelopeMessage": { - "script": "import FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// Requests to unstake ALL tokens for the specified node or delegator in the staking collection\n\ntransaction(nodeID: String) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n }\n\n execute {\n self.stakingCollectionRef.unstakeAll(nodeID: nodeID)\n }\n}\n", + "script": "import FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// Changes the networking address for the specified node\n\ntransaction(nodeID: String, newAddress: String) {\n \n let stakingCollectionRef: auth(FlowStakingCollection.CollectionOwner) &FlowStakingCollection.StakingCollection\n\n prepare(account: auth(BorrowValue) &Account) {\n self.stakingCollectionRef = account.storage.borrow(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow a reference to a StakingCollection in the primary user's account\")\n }\n\n execute {\n self.stakingCollectionRef.updateNetworkingAddress(nodeID: nodeID, newAddress: newAddress)\n }\n}\n", "arguments": [ { "type": "String", "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" + }, + { + "value": "flow-node.test:3569", + "type": "String" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -2613,3808 +2468,244 @@ ], "payloadSigs": [] }, - "encodedTransactionPayloadHex": "f902fdb9025a696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f20526571756573747320746f20756e7374616b6520414c4c20746f6b656e7320666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a0a7472616e73616374696f6e286e6f646549443a20537472696e6729207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e756e7374616b65416c6c286e6f646549443a206e6f64654944290a202020207d0a7d0af85eb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", - "encodedTransactionEnvelopeHex": "f90301f902fdb9025a696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f20526571756573747320746f20756e7374616b6520414c4c20746f6b656e7320666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a0a7472616e73616374696f6e286e6f646549443a20537472696e6729207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e756e7374616b65416c6c286e6f646549443a206e6f64654944290a202020207d0a7d0af85eb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", - "metadata": "020bde358f3965ba2f4c18fb45b6536857c3f53d7d3b740fe66fe93a4ebf7524c1df9c6486baa6f8f685368ea216659239cb81fa8ebd9062a9723edb54ca0d7525556e7374616b6520416c6c0001014e6f64652049440000537472696e670003", - "hash": "0bde358f3965ba2f4c18fb45b6536857c3f53d7d3b740fe66fe93a4ebf7524c1" + "encodedTransactionPayloadHex": "f903d6b90303696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f204368616e67657320746865206e6574776f726b696e67206164647265737320666f722074686520737065636966696564206e6f64650a0a7472616e73616374696f6e286e6f646549443a20537472696e672c206e6577416464726573733a20537472696e6729207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a206175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a206175746828426f72726f7756616c75652920264163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e73746f726167652e626f72726f773c6175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f2061205374616b696e67436f6c6c656374696f6e20696e20746865207072696d61727920757365722773206163636f756e7422290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e7570646174654e6574776f726b696e6741646472657373286e6f646549443a206e6f646549442c206e6577416464726573733a206e657741646472657373290a202020207d0a7d0af88eb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227daf7b2276616c7565223a22666c6f772d6e6f64652e746573743a33353639222c2274797065223a22537472696e67227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", + "encodedTransactionEnvelopeHex": "f903daf903d6b90303696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f204368616e67657320746865206e6574776f726b696e67206164647265737320666f722074686520737065636966696564206e6f64650a0a7472616e73616374696f6e286e6f646549443a20537472696e672c206e6577416464726573733a20537472696e6729207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a206175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a206175746828426f72726f7756616c75652920264163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e73746f726167652e626f72726f773c6175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f2061205374616b696e67436f6c6c656374696f6e20696e20746865207072696d61727920757365722773206163636f756e7422290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e7570646174654e6574776f726b696e6741646472657373286e6f646549443a206e6f646549442c206e6577416464726573733a206e657741646472657373290a202020207d0a7d0af88eb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227daf7b2276616c7565223a22666c6f772d6e6f64652e746573743a33353639222c2274797065223a22537472696e67227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", + "metadata": "023a68789d8cd56e6c7b064057045a56340746aac710db57700de2c33eb6610e5f68d24560d9e49318dca82ab0975f526a8663d934225f0cb715cd1ff188def16d557064617465204e6574776f726b696e6720416464726573730002014e6f64652049440000537472696e67000301416464726573730001537472696e670003", + "hash": "3a68789d8cd56e6c7b064057045a56340746aac710db57700de2c33eb6610e5f" }, { - "title": "SCO.10 - Withdraw Rewarded Tokens - 1", + "title": "FA.01 - Create Account", "valid": true, - "chainID": "Testnet", + "chainID": "Mainnet", "payloadMessage": { - "script": "import FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// Request to withdraw rewarded tokens for the specified node or delegator in the staking collection\n/// The tokens are automatically deposited to the unlocked account vault first,\n/// And then any locked tokens are deposited into the locked account vault\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n }\n\n execute {\n self.stakingCollectionRef.withdrawRewardedTokens(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", + "script": "import Crypto\n\ntransaction(key: String, signatureAlgorithm: UInt8, hashAlgorithm: UInt8, weight: UFix64) {\n\tprepare(signer: auth(BorrowValue, Storage) &Account) {\n\t\tpre {\n\t\t\tsignatureAlgorithm >= 1 && signatureAlgorithm <= 3: \"Must provide a signature algoritm raw value that is 1, 2, or 3\"\n\t\t\thashAlgorithm >= 1 && hashAlgorithm <= 6: \"Must provide a hash algoritm raw value that is between 1 and 6\"\n\t\t\tweight <= 1000.0: \"The key weight must be between 0 and 1000\"\n\t\t}\n\n\t\tlet publicKey = PublicKey(\n\t\t\tpublicKey: key.decodeHex(),\n\t\t\tsignatureAlgorithm: SignatureAlgorithm(rawValue: signatureAlgorithm)!\n\t\t)\n\n\t\tlet account = Account(payer: signer)\n\n\t\taccount.keys.add(publicKey: publicKey, hashAlgorithm: HashAlgorithm(rawValue: hashAlgorithm)!, weight: weight)\n\t}\n}", "arguments": [ { "type": "String", - "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" + "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164" }, { - "type": "Optional", - "value": { - "type": "UInt32", - "value": "42" - } + "value": "1", + "type": "UInt8" }, { - "type": "UFix64", - "value": "92233720368.54775808" + "value": "1", + "type": "UInt8" + }, + { + "value": "1000.00000000", + "type": "UFix64" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", "gasLimit": 42, "proposalKey": { - "address": "99a8ac2c71d4f6bd", + "address": "f19c161bc24cf4b4", "keyId": 4, "sequenceNum": 10 }, - "payer": "99a8ac2c71d4f6bd", + "payer": "f19c161bc24cf4b4", "authorizers": [ - "99a8ac2c71d4f6bd" + "f19c161bc24cf4b4" ], "payloadSigs": [ { - "address": "99a8ac2c71d4f6bd", + "address": "f19c161bc24cf4b4", "keyId": 4, "sig": "f7225388c1d69d57e6251c9fda50cbbf9e05131e5adb81e5aa0422402f048162" } ] }, "envelopeMessage": { - "script": "import FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// Request to withdraw rewarded tokens for the specified node or delegator in the staking collection\n/// The tokens are automatically deposited to the unlocked account vault first,\n/// And then any locked tokens are deposited into the locked account vault\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n }\n\n execute {\n self.stakingCollectionRef.withdrawRewardedTokens(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", + "script": "import Crypto\n\ntransaction(key: String, signatureAlgorithm: UInt8, hashAlgorithm: UInt8, weight: UFix64) {\n\tprepare(signer: auth(BorrowValue, Storage) &Account) {\n\t\tpre {\n\t\t\tsignatureAlgorithm >= 1 && signatureAlgorithm <= 3: \"Must provide a signature algoritm raw value that is 1, 2, or 3\"\n\t\t\thashAlgorithm >= 1 && hashAlgorithm <= 6: \"Must provide a hash algoritm raw value that is between 1 and 6\"\n\t\t\tweight <= 1000.0: \"The key weight must be between 0 and 1000\"\n\t\t}\n\n\t\tlet publicKey = PublicKey(\n\t\t\tpublicKey: key.decodeHex(),\n\t\t\tsignatureAlgorithm: SignatureAlgorithm(rawValue: signatureAlgorithm)!\n\t\t)\n\n\t\tlet account = Account(payer: signer)\n\n\t\taccount.keys.add(publicKey: publicKey, hashAlgorithm: HashAlgorithm(rawValue: hashAlgorithm)!, weight: weight)\n\t}\n}", "arguments": [ { "type": "String", - "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" + "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164" }, { - "type": "Optional", - "value": { - "type": "UInt32", - "value": "42" - } + "value": "1", + "type": "UInt8" }, { - "type": "UFix64", - "value": "92233720368.54775808" + "value": "1", + "type": "UInt8" + }, + { + "value": "1000.00000000", + "type": "UFix64" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", "gasLimit": 42, "proposalKey": { - "address": "99a8ac2c71d4f6bd", + "address": "f19c161bc24cf4b4", "keyId": 4, "sequenceNum": 10 }, - "payer": "99a8ac2c71d4f6bd", + "payer": "f19c161bc24cf4b4", "authorizers": [ - "99a8ac2c71d4f6bd" + "f19c161bc24cf4b4" ], "payloadSigs": [] }, - "encodedTransactionPayloadHex": "f90466b90356696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f205265717565737420746f20776974686472617720726577617264656420746f6b656e7320666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f2054686520746f6b656e7320617265206175746f6d61746963616c6c79206465706f736974656420746f2074686520756e6c6f636b6564206163636f756e74207661756c742066697273742c0a2f2f2f20416e64207468656e20616e79206c6f636b656420746f6b656e7320617265206465706f736974656420696e746f20746865206c6f636b6564206163636f756e74207661756c740a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e77697468647261775265776172646564546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8cbb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db83a7b2274797065223a224f7074696f6e616c222c2276616c7565223a7b2274797065223a2255496e743332222c2276616c7565223a223432227d7db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", - "encodedTransactionEnvelopeHex": "f9046af90466b90356696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f205265717565737420746f20776974686472617720726577617264656420746f6b656e7320666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f2054686520746f6b656e7320617265206175746f6d61746963616c6c79206465706f736974656420746f2074686520756e6c6f636b6564206163636f756e74207661756c742066697273742c0a2f2f2f20416e64207468656e20616e79206c6f636b656420746f6b656e7320617265206465706f736974656420696e746f20746865206c6f636b6564206163636f756e74207661756c740a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e77697468647261775265776172646564546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8cbb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db83a7b2274797065223a224f7074696f6e616c222c2276616c7565223a7b2274797065223a2255496e743332222c2276616c7565223a223432227d7db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", - "metadata": "023af182f568b37a8067d3fb524afcfe96991c85a928bf7651e730be0e15fdb72d27a2b60d538b8bb883b602ea83d1697986a29dd69a44a9209dc75affb9e63299576974686472617720526577617264656420546f6b656e730003014e6f64652049440000537472696e6700030244656c656761746f72204944000155496e743332000301416d6f756e7400025546697836340003", - "hash": "3af182f568b37a8067d3fb524afcfe96991c85a928bf7651e730be0e15fdb72d" + "encodedTransactionPayloadHex": "f90454b902fe696d706f72742043727970746f0a0a7472616e73616374696f6e286b65793a20537472696e672c207369676e6174757265416c676f726974686d3a2055496e74382c2068617368416c676f726974686d3a2055496e74382c207765696768743a2055466978363429207b0a0970726570617265287369676e65723a206175746828426f72726f7756616c75652c2053746f726167652920264163636f756e7429207b0a0909707265207b0a0909097369676e6174757265416c676f726974686d203e3d2031202626207369676e6174757265416c676f726974686d203c3d20333a20224d7573742070726f766964652061207369676e617475726520616c676f7269746d207261772076616c7565207468617420697320312c20322c206f722033220a09090968617368416c676f726974686d203e3d20312026262068617368416c676f726974686d203c3d20363a20224d7573742070726f766964652061206861736820616c676f7269746d207261772076616c75652074686174206973206265747765656e203120616e642036220a090909776569676874203c3d20313030302e303a2022546865206b657920776569676874206d757374206265206265747765656e203020616e642031303030220a09097d0a0a09096c6574207075626c69634b6579203d205075626c69634b6579280a0909097075626c69634b65793a206b65792e6465636f646548657828292c0a0909097369676e6174757265416c676f726974686d3a205369676e6174757265416c676f726974686d2872617756616c75653a207369676e6174757265416c676f726974686d29210a0909290a0a09096c6574206163636f756e74203d204163636f756e742870617965723a207369676e6572290a0a09096163636f756e742e6b6579732e616464287075626c69634b65793a207075626c69634b65792c2068617368416c676f726974686d3a2048617368416c676f726974686d2872617756616c75653a2068617368416c676f726974686d29212c207765696768743a20776569676874290a097d0a7df90110b8aa7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634227d9c7b2276616c7565223a2231222c2274797065223a2255496e7438227d9c7b2276616c7565223a2231222c2274797065223a2255496e7438227da97b2276616c7565223a22313030302e3030303030303030222c2274797065223a22554669783634227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", + "encodedTransactionEnvelopeHex": "f90458f90454b902fe696d706f72742043727970746f0a0a7472616e73616374696f6e286b65793a20537472696e672c207369676e6174757265416c676f726974686d3a2055496e74382c2068617368416c676f726974686d3a2055496e74382c207765696768743a2055466978363429207b0a0970726570617265287369676e65723a206175746828426f72726f7756616c75652c2053746f726167652920264163636f756e7429207b0a0909707265207b0a0909097369676e6174757265416c676f726974686d203e3d2031202626207369676e6174757265416c676f726974686d203c3d20333a20224d7573742070726f766964652061207369676e617475726520616c676f7269746d207261772076616c7565207468617420697320312c20322c206f722033220a09090968617368416c676f726974686d203e3d20312026262068617368416c676f726974686d203c3d20363a20224d7573742070726f766964652061206861736820616c676f7269746d207261772076616c75652074686174206973206265747765656e203120616e642036220a090909776569676874203c3d20313030302e303a2022546865206b657920776569676874206d757374206265206265747765656e203020616e642031303030220a09097d0a0a09096c6574207075626c69634b6579203d205075626c69634b6579280a0909097075626c69634b65793a206b65792e6465636f646548657828292c0a0909097369676e6174757265416c676f726974686d3a205369676e6174757265416c676f726974686d2872617756616c75653a207369676e6174757265416c676f726974686d29210a0909290a0a09096c6574206163636f756e74203d204163636f756e742870617965723a207369676e6572290a0a09096163636f756e742e6b6579732e616464287075626c69634b65793a207075626c69634b65792c2068617368416c676f726974686d3a2048617368416c676f726974686d2872617756616c75653a2068617368416c676f726974686d29212c207765696768743a20776569676874290a097d0a7df90110b8aa7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634227d9c7b2276616c7565223a2231222c2274797065223a2255496e7438227d9c7b2276616c7565223a2231222c2274797065223a2255496e7438227da97b2276616c7565223a22313030302e3030303030303030222c2274797065223a22554669783634227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", + "metadata": "0263d8b6a045bf8e6196198184db685c2cf22932503ccb2dcb85c7d2dc04c882ba63d8b6a045bf8e6196198184db685c2cf22932503ccb2dcb85c7d2dc04c882ba437265617465204163636f756e740004015075626c6963204b65790000537472696e670003015261772056616c756520666f72205369676e617475726520416c676f726974686d20456e756d000155496e74380003015261772056616c756520666f72204861736820416c676f726974686d20456e756d000255496e74380003014b65792057656967687400035546697836340003", + "hash": "63d8b6a045bf8e6196198184db685c2cf22932503ccb2dcb85c7d2dc04c882ba" }, { - "title": "SCO.10 - Withdraw Rewarded Tokens - 2", + "title": "FA.02 - Add Key", "valid": true, - "chainID": "Testnet", + "chainID": "Mainnet", "payloadMessage": { - "script": "import FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// Request to withdraw rewarded tokens for the specified node or delegator in the staking collection\n/// The tokens are automatically deposited to the unlocked account vault first,\n/// And then any locked tokens are deposited into the locked account vault\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n }\n\n execute {\n self.stakingCollectionRef.withdrawRewardedTokens(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", + "script": "import Crypto\n\ntransaction(key: String, signatureAlgorithm: UInt8, hashAlgorithm: UInt8, weight: UFix64) {\n\n\tprepare(signer: auth(AddKey) &Account) {\n\t\tpre {\n\t\t\tsignatureAlgorithm >= 1 && signatureAlgorithm <= 3: \"Must provide a signature algoritm raw value that is 1, 2, or 3\"\n\t\t\thashAlgorithm >= 1 && hashAlgorithm <= 6: \"Must provide a hash algoritm raw value that is between 1 and 6\"\n\t\t\tweight <= 1000.0: \"The key weight must be between 0 and 1000\"\n\t\t}\n\t\tlet publicKey = PublicKey(\n\t\t\tpublicKey: key.decodeHex(),\n\t\t\tsignatureAlgorithm: SignatureAlgorithm(rawValue: signatureAlgorithm)!\n\t\t)\n\n\t\tsigner.keys.add(publicKey: publicKey, hashAlgorithm: HashAlgorithm(rawValue: hashAlgorithm)!, weight: weight)\n\t}\n}", "arguments": [ { "type": "String", - "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" + "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164" }, { - "type": "Optional", - "value": null + "value": "1", + "type": "UInt8" }, { - "type": "UFix64", - "value": "92233720368.54775808" + "value": "1", + "type": "UInt8" + }, + { + "value": "1000.00000000", + "type": "UFix64" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", "gasLimit": 42, "proposalKey": { - "address": "99a8ac2c71d4f6bd", + "address": "f19c161bc24cf4b4", "keyId": 4, "sequenceNum": 10 }, - "payer": "99a8ac2c71d4f6bd", + "payer": "f19c161bc24cf4b4", "authorizers": [ - "99a8ac2c71d4f6bd" + "f19c161bc24cf4b4" ], "payloadSigs": [ { - "address": "99a8ac2c71d4f6bd", + "address": "f19c161bc24cf4b4", "keyId": 4, "sig": "f7225388c1d69d57e6251c9fda50cbbf9e05131e5adb81e5aa0422402f048162" } ] }, "envelopeMessage": { - "script": "import FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// Request to withdraw rewarded tokens for the specified node or delegator in the staking collection\n/// The tokens are automatically deposited to the unlocked account vault first,\n/// And then any locked tokens are deposited into the locked account vault\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n }\n\n execute {\n self.stakingCollectionRef.withdrawRewardedTokens(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", + "script": "import Crypto\n\ntransaction(key: String, signatureAlgorithm: UInt8, hashAlgorithm: UInt8, weight: UFix64) {\n\n\tprepare(signer: auth(AddKey) &Account) {\n\t\tpre {\n\t\t\tsignatureAlgorithm >= 1 && signatureAlgorithm <= 3: \"Must provide a signature algoritm raw value that is 1, 2, or 3\"\n\t\t\thashAlgorithm >= 1 && hashAlgorithm <= 6: \"Must provide a hash algoritm raw value that is between 1 and 6\"\n\t\t\tweight <= 1000.0: \"The key weight must be between 0 and 1000\"\n\t\t}\n\t\tlet publicKey = PublicKey(\n\t\t\tpublicKey: key.decodeHex(),\n\t\t\tsignatureAlgorithm: SignatureAlgorithm(rawValue: signatureAlgorithm)!\n\t\t)\n\n\t\tsigner.keys.add(publicKey: publicKey, hashAlgorithm: HashAlgorithm(rawValue: hashAlgorithm)!, weight: weight)\n\t}\n}", "arguments": [ { "type": "String", - "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" + "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164" }, { - "type": "Optional", - "value": null + "value": "1", + "type": "UInt8" }, { - "type": "UFix64", - "value": "92233720368.54775808" + "value": "1", + "type": "UInt8" + }, + { + "value": "1000.00000000", + "type": "UFix64" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", "gasLimit": 42, "proposalKey": { - "address": "99a8ac2c71d4f6bd", + "address": "f19c161bc24cf4b4", "keyId": 4, "sequenceNum": 10 }, - "payer": "99a8ac2c71d4f6bd", + "payer": "f19c161bc24cf4b4", "authorizers": [ - "99a8ac2c71d4f6bd" + "f19c161bc24cf4b4" ], "payloadSigs": [] }, - "encodedTransactionPayloadHex": "f9044bb90356696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f205265717565737420746f20776974686472617720726577617264656420746f6b656e7320666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f2054686520746f6b656e7320617265206175746f6d61746963616c6c79206465706f736974656420746f2074686520756e6c6f636b6564206163636f756e74207661756c742066697273742c0a2f2f2f20416e64207468656e20616e79206c6f636b656420746f6b656e7320617265206465706f736974656420696e746f20746865206c6f636b6564206163636f756e74207661756c740a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e77697468647261775265776172646564546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8b0b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227da07b2274797065223a224f7074696f6e616c222c2276616c7565223a6e756c6c7db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", - "encodedTransactionEnvelopeHex": "f9044ff9044bb90356696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f205265717565737420746f20776974686472617720726577617264656420746f6b656e7320666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f2054686520746f6b656e7320617265206175746f6d61746963616c6c79206465706f736974656420746f2074686520756e6c6f636b6564206163636f756e74207661756c742066697273742c0a2f2f2f20416e64207468656e20616e79206c6f636b656420746f6b656e7320617265206465706f736974656420696e746f20746865206c6f636b6564206163636f756e74207661756c740a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e77697468647261775265776172646564546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8b0b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227da07b2274797065223a224f7074696f6e616c222c2276616c7565223a6e756c6c7db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", - "metadata": "023af182f568b37a8067d3fb524afcfe96991c85a928bf7651e730be0e15fdb72d27a2b60d538b8bb883b602ea83d1697986a29dd69a44a9209dc75affb9e63299576974686472617720526577617264656420546f6b656e730003014e6f64652049440000537472696e6700030244656c656761746f72204944000155496e743332000301416d6f756e7400025546697836340003", - "hash": "3af182f568b37a8067d3fb524afcfe96991c85a928bf7651e730be0e15fdb72d" + "encodedTransactionPayloadHex": "f9041db902c7696d706f72742043727970746f0a0a7472616e73616374696f6e286b65793a20537472696e672c207369676e6174757265416c676f726974686d3a2055496e74382c2068617368416c676f726974686d3a2055496e74382c207765696768743a2055466978363429207b0a0a0970726570617265287369676e65723a2061757468284164644b65792920264163636f756e7429207b0a0909707265207b0a0909097369676e6174757265416c676f726974686d203e3d2031202626207369676e6174757265416c676f726974686d203c3d20333a20224d7573742070726f766964652061207369676e617475726520616c676f7269746d207261772076616c7565207468617420697320312c20322c206f722033220a09090968617368416c676f726974686d203e3d20312026262068617368416c676f726974686d203c3d20363a20224d7573742070726f766964652061206861736820616c676f7269746d207261772076616c75652074686174206973206265747765656e203120616e642036220a090909776569676874203c3d20313030302e303a2022546865206b657920776569676874206d757374206265206265747765656e203020616e642031303030220a09097d0a09096c6574207075626c69634b6579203d205075626c69634b6579280a0909097075626c69634b65793a206b65792e6465636f646548657828292c0a0909097369676e6174757265416c676f726974686d3a205369676e6174757265416c676f726974686d2872617756616c75653a207369676e6174757265416c676f726974686d29210a0909290a0a09097369676e65722e6b6579732e616464287075626c69634b65793a207075626c69634b65792c2068617368416c676f726974686d3a2048617368416c676f726974686d2872617756616c75653a2068617368416c676f726974686d29212c207765696768743a20776569676874290a097d0a7df90110b8aa7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634227d9c7b2276616c7565223a2231222c2274797065223a2255496e7438227d9c7b2276616c7565223a2231222c2274797065223a2255496e7438227da97b2276616c7565223a22313030302e3030303030303030222c2274797065223a22554669783634227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", + "encodedTransactionEnvelopeHex": "f90421f9041db902c7696d706f72742043727970746f0a0a7472616e73616374696f6e286b65793a20537472696e672c207369676e6174757265416c676f726974686d3a2055496e74382c2068617368416c676f726974686d3a2055496e74382c207765696768743a2055466978363429207b0a0a0970726570617265287369676e65723a2061757468284164644b65792920264163636f756e7429207b0a0909707265207b0a0909097369676e6174757265416c676f726974686d203e3d2031202626207369676e6174757265416c676f726974686d203c3d20333a20224d7573742070726f766964652061207369676e617475726520616c676f7269746d207261772076616c7565207468617420697320312c20322c206f722033220a09090968617368416c676f726974686d203e3d20312026262068617368416c676f726974686d203c3d20363a20224d7573742070726f766964652061206861736820616c676f7269746d207261772076616c75652074686174206973206265747765656e203120616e642036220a090909776569676874203c3d20313030302e303a2022546865206b657920776569676874206d757374206265206265747765656e203020616e642031303030220a09097d0a09096c6574207075626c69634b6579203d205075626c69634b6579280a0909097075626c69634b65793a206b65792e6465636f646548657828292c0a0909097369676e6174757265416c676f726974686d3a205369676e6174757265416c676f726974686d2872617756616c75653a207369676e6174757265416c676f726974686d29210a0909290a0a09097369676e65722e6b6579732e616464287075626c69634b65793a207075626c69634b65792c2068617368416c676f726974686d3a2048617368416c676f726974686d2872617756616c75653a2068617368416c676f726974686d29212c207765696768743a20776569676874290a097d0a7df90110b8aa7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634227d9c7b2276616c7565223a2231222c2274797065223a2255496e7438227d9c7b2276616c7565223a2231222c2274797065223a2255496e7438227da97b2276616c7565223a22313030302e3030303030303030222c2274797065223a22554669783634227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", + "metadata": "0221d4e87df171ccbe015efe69dc2ffd24814c5fc0f2e364daf5c80515ce4a8bd921d4e87df171ccbe015efe69dc2ffd24814c5fc0f2e364daf5c80515ce4a8bd9416464204b65790004015075626c6963204b65790000537472696e670003015261772056616c756520666f72205369676e617475726520416c676f726974686d20456e756d000155496e74380003015261772056616c756520666f72204861736820416c676f726974686d20456e756d000255496e74380003014b65792057656967687400035546697836340003", + "hash": "21d4e87df171ccbe015efe69dc2ffd24814c5fc0f2e364daf5c80515ce4a8bd9" }, { - "title": "SCO.11 - Withdraw Unstaked Tokens - 1", + "title": "FA.03 - Remove Key", "valid": true, - "chainID": "Testnet", + "chainID": "Mainnet", "payloadMessage": { - "script": "import FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// Request to withdraw unstaked tokens for the specified node or delegator in the staking collection\n/// The tokens are automatically deposited to the unlocked account vault first,\n/// And then any locked tokens are deposited into the locked account vault if it is there\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n }\n\n execute {\n self.stakingCollectionRef.withdrawUnstakedTokens(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", + "script": "transaction(keyIndex: Int) {\n\tprepare(signer: auth(RevokeKey) &Account) {\n\t\tif let key = signer.keys.get(keyIndex: keyIndex) {\n\t\t\tsigner.keys.revoke(keyIndex: keyIndex)\n\t\t} else {\n\t\t\tpanic(\"No key with the given index exists on the authorizer's account\")\n\t\t}\n\t}\n}", "arguments": [ { - "type": "String", - "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" - }, - { - "type": "Optional", - "value": null - }, - { - "type": "UFix64", - "value": "92233720368.54775808" + "type": "Int", + "value": "1" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", "gasLimit": 42, "proposalKey": { - "address": "99a8ac2c71d4f6bd", + "address": "f19c161bc24cf4b4", "keyId": 4, "sequenceNum": 10 }, - "payer": "99a8ac2c71d4f6bd", + "payer": "f19c161bc24cf4b4", "authorizers": [ - "99a8ac2c71d4f6bd" + "f19c161bc24cf4b4" ], "payloadSigs": [ { - "address": "99a8ac2c71d4f6bd", + "address": "f19c161bc24cf4b4", "keyId": 4, "sig": "f7225388c1d69d57e6251c9fda50cbbf9e05131e5adb81e5aa0422402f048162" } ] }, "envelopeMessage": { - "script": "import FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// Request to withdraw unstaked tokens for the specified node or delegator in the staking collection\n/// The tokens are automatically deposited to the unlocked account vault first,\n/// And then any locked tokens are deposited into the locked account vault if it is there\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n }\n\n execute {\n self.stakingCollectionRef.withdrawUnstakedTokens(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", + "script": "transaction(keyIndex: Int) {\n\tprepare(signer: auth(RevokeKey) &Account) {\n\t\tif let key = signer.keys.get(keyIndex: keyIndex) {\n\t\t\tsigner.keys.revoke(keyIndex: keyIndex)\n\t\t} else {\n\t\t\tpanic(\"No key with the given index exists on the authorizer's account\")\n\t\t}\n\t}\n}", "arguments": [ { - "type": "String", - "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" - }, - { - "type": "Optional", - "value": null - }, - { - "type": "UFix64", - "value": "92233720368.54775808" + "type": "Int", + "value": "1" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", "gasLimit": 42, "proposalKey": { - "address": "99a8ac2c71d4f6bd", + "address": "f19c161bc24cf4b4", "keyId": 4, "sequenceNum": 10 }, - "payer": "99a8ac2c71d4f6bd", + "payer": "f19c161bc24cf4b4", "authorizers": [ - "99a8ac2c71d4f6bd" + "f19c161bc24cf4b4" ], "payloadSigs": [] }, - "encodedTransactionPayloadHex": "f9045ab90365696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f205265717565737420746f20776974686472617720756e7374616b656420746f6b656e7320666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f2054686520746f6b656e7320617265206175746f6d61746963616c6c79206465706f736974656420746f2074686520756e6c6f636b6564206163636f756e74207661756c742066697273742c0a2f2f2f20416e64207468656e20616e79206c6f636b656420746f6b656e7320617265206465706f736974656420696e746f20746865206c6f636b6564206163636f756e74207661756c742069662069742069732074686572650a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e7769746864726177556e7374616b6564546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8b0b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227da07b2274797065223a224f7074696f6e616c222c2276616c7565223a6e756c6c7db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", - "encodedTransactionEnvelopeHex": "f9045ef9045ab90365696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f205265717565737420746f20776974686472617720756e7374616b656420746f6b656e7320666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f2054686520746f6b656e7320617265206175746f6d61746963616c6c79206465706f736974656420746f2074686520756e6c6f636b6564206163636f756e74207661756c742066697273742c0a2f2f2f20416e64207468656e20616e79206c6f636b656420746f6b656e7320617265206465706f736974656420696e746f20746865206c6f636b6564206163636f756e74207661756c742069662069742069732074686572650a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e7769746864726177556e7374616b6564546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8b0b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227da07b2274797065223a224f7074696f6e616c222c2276616c7565223a6e756c6c7db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", - "metadata": "0268879197d961bb104a56e1e7d35660436fe4c52ed78f79d97fa50aa9e96fabf06d50ab1ef3d74203081c38306da74f5ad8fdd489e49fba732f8ba194d0c781c8576974686472617720556e7374616b656420546f6b656e730003014e6f64652049440000537472696e6700030244656c656761746f72204944000155496e743332000301416d6f756e7400025546697836340003", - "hash": "68879197d961bb104a56e1e7d35660436fe4c52ed78f79d97fa50aa9e96fabf0" + "encodedTransactionPayloadHex": "f90166b901077472616e73616374696f6e286b6579496e6465783a20496e7429207b0a0970726570617265287369676e65723a2061757468285265766f6b654b65792920264163636f756e7429207b0a09096966206c6574206b6579203d207369676e65722e6b6579732e676574286b6579496e6465783a206b6579496e64657829207b0a0909097369676e65722e6b6579732e7265766f6b65286b6579496e6465783a206b6579496e646578290a09097d20656c7365207b0a09090970616e696328224e6f206b657920776974682074686520676976656e20696e64657820657869737473206f6e2074686520617574686f72697a65722773206163636f756e7422290a09097d0a097d0a7ddb9a7b2274797065223a22496e74222c2276616c7565223a2231227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", + "encodedTransactionEnvelopeHex": "f9016af90166b901077472616e73616374696f6e286b6579496e6465783a20496e7429207b0a0970726570617265287369676e65723a2061757468285265766f6b654b65792920264163636f756e7429207b0a09096966206c6574206b6579203d207369676e65722e6b6579732e676574286b6579496e6465783a206b6579496e64657829207b0a0909097369676e65722e6b6579732e7265766f6b65286b6579496e6465783a206b6579496e646578290a09097d20656c7365207b0a09090970616e696328224e6f206b657920776974682074686520676976656e20696e64657820657869737473206f6e2074686520617574686f72697a65722773206163636f756e7422290a09097d0a097d0a7ddb9a7b2274797065223a22496e74222c2276616c7565223a2231227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", + "metadata": "026c7ab72837fdce77a910f6fc0c622c6c4d5b17f6fbf7295f345d50d3508dd5156c7ab72837fdce77a910f6fc0c622c6c4d5b17f6fbf7295f345d50d3508dd51552656d6f7665204b65790001014b657920496e6465780000496e740003", + "hash": "6c7ab72837fdce77a910f6fc0c622c6c4d5b17f6fbf7295f345d50d3508dd515" }, { - "title": "SCO.11 - Withdraw Unstaked Tokens - 2", + "title": "FT.01 - Setup Fungible Token Vault", "valid": true, - "chainID": "Testnet", + "chainID": "Mainnet", "payloadMessage": { - "script": "import FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// Request to withdraw unstaked tokens for the specified node or delegator in the staking collection\n/// The tokens are automatically deposited to the unlocked account vault first,\n/// And then any locked tokens are deposited into the locked account vault if it is there\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n }\n\n execute {\n self.stakingCollectionRef.withdrawUnstakedTokens(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", + "script": "import FungibleToken from 0xf233dcee88fe0abe\nimport FungibleTokenMetadataViews from 0xf233dcee88fe0abe\n\n/// This transaction is what an account would run\n/// to set itself up to manage fungible tokens. This function\n/// uses views to know where to set up the vault\n/// in storage and to create the empty vault.\n\ntransaction(contractAddress: Address, contractName: String) {\n\n prepare(signer: auth(SaveValue, Capabilities) &Account) {\n // Borrow a reference to the vault stored on the passed account at the passed publicPath\n let resolverRef = getAccount(contractAddress)\n .contracts.borrow<&{FungibleToken}>(name: contractName)\n ?? panic(\"Could not borrow a reference to the fungible token contract\")\n\n // Use that reference to retrieve the FTView \n let ftVaultData = resolverRef.resolveContractView(resourceType: nil, viewType: Type()) as! FungibleTokenMetadataViews.FTVaultData?\n ?? panic(\"Could not resolve the FTVaultData view for the given Fungible token contract\")\n\n // Create a new empty vault using the createEmptyVault function inside the FTVaultData\n let emptyVault <-ftVaultData.createEmptyVault()\n\n // Save it to the account\n signer.storage.save(<-emptyVault, to: ftVaultData.storagePath)\n \n // Create a public capability for the vault which includes the .Resolver interface\n let vaultCap = signer.capabilities.storage.issue<&{FungibleToken.Vault}>(ftVaultData.storagePath)\n signer.capabilities.publish(vaultCap, at: ftVaultData.metadataPath)\n\n // Create a public capability for the vault exposing the receiver interface\n let receiverCap = signer.capabilities.storage.issue<&{FungibleToken.Receiver}>(ftVaultData.storagePath)\n signer.capabilities.publish(receiverCap, at: ftVaultData.receiverPath)\n\n }\n}\n ", "arguments": [ - { - "type": "String", - "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" - }, - { - "type": "Optional", - "value": { - "type": "UInt32", - "value": "42" - } - }, - { - "type": "UFix64", - "value": "92233720368.54775808" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "99a8ac2c71d4f6bd", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "99a8ac2c71d4f6bd", - "authorizers": [ - "99a8ac2c71d4f6bd" - ], - "payloadSigs": [ - { - "address": "99a8ac2c71d4f6bd", - "keyId": 4, - "sig": "f7225388c1d69d57e6251c9fda50cbbf9e05131e5adb81e5aa0422402f048162" - } - ] - }, - "envelopeMessage": { - "script": "import FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// Request to withdraw unstaked tokens for the specified node or delegator in the staking collection\n/// The tokens are automatically deposited to the unlocked account vault first,\n/// And then any locked tokens are deposited into the locked account vault if it is there\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n }\n\n execute {\n self.stakingCollectionRef.withdrawUnstakedTokens(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", - "arguments": [ - { - "type": "String", - "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" - }, - { - "type": "Optional", - "value": { - "type": "UInt32", - "value": "42" - } - }, - { - "type": "UFix64", - "value": "92233720368.54775808" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "99a8ac2c71d4f6bd", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "99a8ac2c71d4f6bd", - "authorizers": [ - "99a8ac2c71d4f6bd" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f90475b90365696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f205265717565737420746f20776974686472617720756e7374616b656420746f6b656e7320666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f2054686520746f6b656e7320617265206175746f6d61746963616c6c79206465706f736974656420746f2074686520756e6c6f636b6564206163636f756e74207661756c742066697273742c0a2f2f2f20416e64207468656e20616e79206c6f636b656420746f6b656e7320617265206465706f736974656420696e746f20746865206c6f636b6564206163636f756e74207661756c742069662069742069732074686572650a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e7769746864726177556e7374616b6564546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8cbb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db83a7b2274797065223a224f7074696f6e616c222c2276616c7565223a7b2274797065223a2255496e743332222c2276616c7565223a223432227d7db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", - "encodedTransactionEnvelopeHex": "f90479f90475b90365696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f205265717565737420746f20776974686472617720756e7374616b656420746f6b656e7320666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f2054686520746f6b656e7320617265206175746f6d61746963616c6c79206465706f736974656420746f2074686520756e6c6f636b6564206163636f756e74207661756c742066697273742c0a2f2f2f20416e64207468656e20616e79206c6f636b656420746f6b656e7320617265206465706f736974656420696e746f20746865206c6f636b6564206163636f756e74207661756c742069662069742069732074686572650a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e7769746864726177556e7374616b6564546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8cbb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db83a7b2274797065223a224f7074696f6e616c222c2276616c7565223a7b2274797065223a2255496e743332222c2276616c7565223a223432227d7db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", - "metadata": "0268879197d961bb104a56e1e7d35660436fe4c52ed78f79d97fa50aa9e96fabf06d50ab1ef3d74203081c38306da74f5ad8fdd489e49fba732f8ba194d0c781c8576974686472617720556e7374616b656420546f6b656e730003014e6f64652049440000537472696e6700030244656c656761746f72204944000155496e743332000301416d6f756e7400025546697836340003", - "hash": "68879197d961bb104a56e1e7d35660436fe4c52ed78f79d97fa50aa9e96fabf0" - }, - { - "title": "SCO.12 - Close Stake - 1", - "valid": true, - "chainID": "Testnet", - "payloadMessage": { - "script": "import FlowStakingCollection from 0x95e019a17d0e23d7\n\n// Closes out a staking object in the staking collection\n// This does not remove the record from the identity table,\n// but it does mean that the account that closes it cannot ever access it again\n\ntransaction(nodeID: String, delegatorID: UInt32?) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n }\n\n execute {\n self.stakingCollectionRef.closeStake(nodeID: nodeID, delegatorID: delegatorID)\n }\n}\n", - "arguments": [ - { - "type": "String", - "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" - }, - { - "type": "Optional", - "value": { - "type": "UInt32", - "value": "42" - } - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "99a8ac2c71d4f6bd", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "99a8ac2c71d4f6bd", - "authorizers": [ - "99a8ac2c71d4f6bd" - ], - "payloadSigs": [ - { - "address": "99a8ac2c71d4f6bd", - "keyId": 4, - "sig": "f7225388c1d69d57e6251c9fda50cbbf9e05131e5adb81e5aa0422402f048162" - } - ] - }, - "envelopeMessage": { - "script": "import FlowStakingCollection from 0x95e019a17d0e23d7\n\n// Closes out a staking object in the staking collection\n// This does not remove the record from the identity table,\n// but it does mean that the account that closes it cannot ever access it again\n\ntransaction(nodeID: String, delegatorID: UInt32?) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n }\n\n execute {\n self.stakingCollectionRef.closeStake(nodeID: nodeID, delegatorID: delegatorID)\n }\n}\n", - "arguments": [ - { - "type": "String", - "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" - }, - { - "type": "Optional", - "value": { - "type": "UInt32", - "value": "42" - } - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "99a8ac2c71d4f6bd", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "99a8ac2c71d4f6bd", - "authorizers": [ - "99a8ac2c71d4f6bd" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f903cdb902ee696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f20436c6f736573206f75742061207374616b696e67206f626a65637420696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f205468697320646f6573206e6f742072656d6f766520746865207265636f72642066726f6d20746865206964656e74697479207461626c652c0a2f2f2062757420697420646f6573206d65616e207468617420746865206163636f756e74207468617420636c6f7365732069742063616e6e6f7420657665722061636365737320697420616761696e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f29207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e636c6f73655374616b65286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f724944290a202020207d0a7d0af89ab85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db83a7b2274797065223a224f7074696f6e616c222c2276616c7565223a7b2274797065223a2255496e743332222c2276616c7565223a223432227d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", - "encodedTransactionEnvelopeHex": "f903d1f903cdb902ee696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f20436c6f736573206f75742061207374616b696e67206f626a65637420696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f205468697320646f6573206e6f742072656d6f766520746865207265636f72642066726f6d20746865206964656e74697479207461626c652c0a2f2f2062757420697420646f6573206d65616e207468617420746865206163636f756e74207468617420636c6f7365732069742063616e6e6f7420657665722061636365737320697420616761696e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f29207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e636c6f73655374616b65286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f724944290a202020207d0a7d0af89ab85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db83a7b2274797065223a224f7074696f6e616c222c2276616c7565223a7b2274797065223a2255496e743332222c2276616c7565223a223432227d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", - "metadata": "02079aaa9cfb22138415056b43d5d91e8d73bd8bd5f37ebff4f4023d33ea6d2f25ecdffc1ae67479bc20c06eba6c776ff37b9523660ff1cd3129a3924d92484884436c6f7365205374616b650002014e6f64652049440000537472696e6700030244656c656761746f72204944000155496e7433320003", - "hash": "079aaa9cfb22138415056b43d5d91e8d73bd8bd5f37ebff4f4023d33ea6d2f25" - }, - { - "title": "SCO.12 - Close Stake - 2", - "valid": true, - "chainID": "Testnet", - "payloadMessage": { - "script": "import FlowStakingCollection from 0x95e019a17d0e23d7\n\n// Closes out a staking object in the staking collection\n// This does not remove the record from the identity table,\n// but it does mean that the account that closes it cannot ever access it again\n\ntransaction(nodeID: String, delegatorID: UInt32?) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n }\n\n execute {\n self.stakingCollectionRef.closeStake(nodeID: nodeID, delegatorID: delegatorID)\n }\n}\n", - "arguments": [ - { - "type": "String", - "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" - }, - { - "type": "Optional", - "value": null - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "99a8ac2c71d4f6bd", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "99a8ac2c71d4f6bd", - "authorizers": [ - "99a8ac2c71d4f6bd" - ], - "payloadSigs": [ - { - "address": "99a8ac2c71d4f6bd", - "keyId": 4, - "sig": "f7225388c1d69d57e6251c9fda50cbbf9e05131e5adb81e5aa0422402f048162" - } - ] - }, - "envelopeMessage": { - "script": "import FlowStakingCollection from 0x95e019a17d0e23d7\n\n// Closes out a staking object in the staking collection\n// This does not remove the record from the identity table,\n// but it does mean that the account that closes it cannot ever access it again\n\ntransaction(nodeID: String, delegatorID: UInt32?) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n }\n\n execute {\n self.stakingCollectionRef.closeStake(nodeID: nodeID, delegatorID: delegatorID)\n }\n}\n", - "arguments": [ - { - "type": "String", - "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" - }, - { - "type": "Optional", - "value": null - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "99a8ac2c71d4f6bd", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "99a8ac2c71d4f6bd", - "authorizers": [ - "99a8ac2c71d4f6bd" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f903b2b902ee696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f20436c6f736573206f75742061207374616b696e67206f626a65637420696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f205468697320646f6573206e6f742072656d6f766520746865207265636f72642066726f6d20746865206964656e74697479207461626c652c0a2f2f2062757420697420646f6573206d65616e207468617420746865206163636f756e74207468617420636c6f7365732069742063616e6e6f7420657665722061636365737320697420616761696e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f29207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e636c6f73655374616b65286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f724944290a202020207d0a7d0af87fb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227da07b2274797065223a224f7074696f6e616c222c2276616c7565223a6e756c6c7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", - "encodedTransactionEnvelopeHex": "f903b6f903b2b902ee696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f20436c6f736573206f75742061207374616b696e67206f626a65637420696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f205468697320646f6573206e6f742072656d6f766520746865207265636f72642066726f6d20746865206964656e74697479207461626c652c0a2f2f2062757420697420646f6573206d65616e207468617420746865206163636f756e74207468617420636c6f7365732069742063616e6e6f7420657665722061636365737320697420616761696e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f29207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e636c6f73655374616b65286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f724944290a202020207d0a7d0af87fb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227da07b2274797065223a224f7074696f6e616c222c2276616c7565223a6e756c6c7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", - "metadata": "02079aaa9cfb22138415056b43d5d91e8d73bd8bd5f37ebff4f4023d33ea6d2f25ecdffc1ae67479bc20c06eba6c776ff37b9523660ff1cd3129a3924d92484884436c6f7365205374616b650002014e6f64652049440000537472696e6700030244656c656761746f72204944000155496e7433320003", - "hash": "079aaa9cfb22138415056b43d5d91e8d73bd8bd5f37ebff4f4023d33ea6d2f25" - }, - { - "title": "SCO.13 - Transfer Node", - "valid": true, - "chainID": "Testnet", - "payloadMessage": { - "script": "import FlowStakingCollection from 0x95e019a17d0e23d7\n\n// Transfers a NodeStaker object from an authorizers accoount\n// and adds the NodeStaker to another accounts Staking Collection\n// identified by the to Address.\n\ntransaction(nodeID: String, to: Address) {\n let fromStakingCollectionRef: &FlowStakingCollection.StakingCollection\n let toStakingCollectionCap: &FlowStakingCollection.StakingCollection{FlowStakingCollection.StakingCollectionPublic}\n\n prepare(account: AuthAccount) {\n // The account to transfer the NodeStaker object to must have a valid Staking Collection in order to receive the NodeStaker.\n if (!FlowStakingCollection.doesAccountHaveStakingCollection(address: to)) {\n panic(\"Destination account must have a Staking Collection set up.\")\n }\n\n // Get a reference to the authorizers StakingCollection\n self.fromStakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n\n // Get the PublicAccount of the account to transfer the NodeStaker to. \n let toAccount = getAccount(to)\n\n // Borrow a capability to the public methods available on the receivers StakingCollection.\n self.toStakingCollectionCap = toAccount.getCapability<&FlowStakingCollection.StakingCollection{FlowStakingCollection.StakingCollectionPublic}>(FlowStakingCollection.StakingCollectionPublicPath).borrow()\n ?? panic(\"Could not borrow ref to StakingCollection\")\n\n let machineAccountInfo = self.fromStakingCollectionRef.getMachineAccounts()[nodeID]\n ?? panic(\"Could not get machine account info for the specified node ID\")\n\n // Remove the NodeStaker from the authorizers StakingCollection.\n let nodeStaker <- self.fromStakingCollectionRef.removeNode(nodeID: nodeID)\n\n // Deposit the NodeStaker to the receivers StakingCollection.\n self.toStakingCollectionCap.addNodeObject(<- nodeStaker!, machineAccountInfo: machineAccountInfo)\n }\n}", - "arguments": [ - { - "type": "String", - "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" - }, - { - "type": "Address", - "value": "0x8c5303eaa26202d6" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "99a8ac2c71d4f6bd", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "99a8ac2c71d4f6bd", - "authorizers": [ - "99a8ac2c71d4f6bd" - ], - "payloadSigs": [ - { - "address": "99a8ac2c71d4f6bd", - "keyId": 4, - "sig": "f7225388c1d69d57e6251c9fda50cbbf9e05131e5adb81e5aa0422402f048162" - } - ] - }, - "envelopeMessage": { - "script": "import FlowStakingCollection from 0x95e019a17d0e23d7\n\n// Transfers a NodeStaker object from an authorizers accoount\n// and adds the NodeStaker to another accounts Staking Collection\n// identified by the to Address.\n\ntransaction(nodeID: String, to: Address) {\n let fromStakingCollectionRef: &FlowStakingCollection.StakingCollection\n let toStakingCollectionCap: &FlowStakingCollection.StakingCollection{FlowStakingCollection.StakingCollectionPublic}\n\n prepare(account: AuthAccount) {\n // The account to transfer the NodeStaker object to must have a valid Staking Collection in order to receive the NodeStaker.\n if (!FlowStakingCollection.doesAccountHaveStakingCollection(address: to)) {\n panic(\"Destination account must have a Staking Collection set up.\")\n }\n\n // Get a reference to the authorizers StakingCollection\n self.fromStakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n\n // Get the PublicAccount of the account to transfer the NodeStaker to. \n let toAccount = getAccount(to)\n\n // Borrow a capability to the public methods available on the receivers StakingCollection.\n self.toStakingCollectionCap = toAccount.getCapability<&FlowStakingCollection.StakingCollection{FlowStakingCollection.StakingCollectionPublic}>(FlowStakingCollection.StakingCollectionPublicPath).borrow()\n ?? panic(\"Could not borrow ref to StakingCollection\")\n\n let machineAccountInfo = self.fromStakingCollectionRef.getMachineAccounts()[nodeID]\n ?? panic(\"Could not get machine account info for the specified node ID\")\n\n // Remove the NodeStaker from the authorizers StakingCollection.\n let nodeStaker <- self.fromStakingCollectionRef.removeNode(nodeID: nodeID)\n\n // Deposit the NodeStaker to the receivers StakingCollection.\n self.toStakingCollectionCap.addNodeObject(<- nodeStaker!, machineAccountInfo: machineAccountInfo)\n }\n}", - "arguments": [ - { - "type": "String", - "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" - }, - { - "type": "Address", - "value": "0x8c5303eaa26202d6" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "99a8ac2c71d4f6bd", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "99a8ac2c71d4f6bd", - "authorizers": [ - "99a8ac2c71d4f6bd" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f90907b90834696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f205472616e73666572732061204e6f64655374616b6572206f626a6563742066726f6d20616e20617574686f72697a657273206163636f6f756e740a2f2f20616e64206164647320746865204e6f64655374616b657220746f20616e6f74686572206163636f756e7473205374616b696e6720436f6c6c656374696f6e0a2f2f206964656e7469666965642062792074686520746f20416464726573732e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c20746f3a204164647265737329207b0a202020206c65742066726f6d5374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a202020206c657420746f5374616b696e67436f6c6c656374696f6e4361703a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e7b466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e5075626c69637d0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a20202020202020202f2f20546865206163636f756e7420746f207472616e7366657220746865204e6f64655374616b6572206f626a65637420746f206d757374206861766520612076616c6964205374616b696e6720436f6c6c656374696f6e20696e206f7264657220746f207265636569766520746865204e6f64655374616b65722e0a20202020202020206966202821466c6f775374616b696e67436f6c6c656374696f6e2e646f65734163636f756e74486176655374616b696e67436f6c6c656374696f6e28616464726573733a20746f2929207b0a20202020202020202020202070616e6963282244657374696e6174696f6e206163636f756e74206d75737420686176652061205374616b696e6720436f6c6c656374696f6e207365742075702e22290a20202020202020207d0a0a20202020202020202f2f204765742061207265666572656e636520746f2074686520617574686f72697a657273205374616b696e67436f6c6c656374696f6e0a202020202020202073656c662e66726f6d5374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a0a20202020202020202f2f2047657420746865205075626c69634163636f756e74206f6620746865206163636f756e7420746f207472616e7366657220746865204e6f64655374616b657220746f2e200a20202020202020206c657420746f4163636f756e74203d206765744163636f756e7428746f290a0a20202020202020202f2f20426f72726f772061206361706162696c69747920746f20746865207075626c6963206d6574686f647320617661696c61626c65206f6e2074686520726563656976657273205374616b696e67436f6c6c656374696f6e2e0a202020202020202073656c662e746f5374616b696e67436f6c6c656374696f6e436170203d20746f4163636f756e742e6765744361706162696c6974793c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e7b466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e5075626c69637d3e28466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e5075626c696350617468292e626f72726f7728290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a0a20202020202020206c6574206d616368696e654163636f756e74496e666f203d2073656c662e66726f6d5374616b696e67436f6c6c656374696f6e5265662e6765744d616368696e654163636f756e747328295b6e6f646549445d0a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420676574206d616368696e65206163636f756e7420696e666f20666f722074686520737065636966696564206e6f646520494422290a0a20202020202020202f2f2052656d6f766520746865204e6f64655374616b65722066726f6d2074686520617574686f72697a657273205374616b696e67436f6c6c656374696f6e2e0a20202020202020206c6574206e6f64655374616b6572203c2d2073656c662e66726f6d5374616b696e67436f6c6c656374696f6e5265662e72656d6f76654e6f6465286e6f646549443a206e6f64654944290a0a20202020202020202f2f204465706f73697420746865204e6f64655374616b657220746f2074686520726563656976657273205374616b696e67436f6c6c656374696f6e2e0a202020202020202073656c662e746f5374616b696e67436f6c6c656374696f6e4361702e6164644e6f64654f626a656374283c2d206e6f64655374616b6572212c206d616368696e654163636f756e74496e666f3a206d616368696e654163636f756e74496e666f290a202020207d0a7df88eb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227daf7b2274797065223a2241646472657373222c2276616c7565223a22307838633533303365616132363230326436227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", - "encodedTransactionEnvelopeHex": "f9090bf90907b90834696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f205472616e73666572732061204e6f64655374616b6572206f626a6563742066726f6d20616e20617574686f72697a657273206163636f6f756e740a2f2f20616e64206164647320746865204e6f64655374616b657220746f20616e6f74686572206163636f756e7473205374616b696e6720436f6c6c656374696f6e0a2f2f206964656e7469666965642062792074686520746f20416464726573732e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c20746f3a204164647265737329207b0a202020206c65742066726f6d5374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a202020206c657420746f5374616b696e67436f6c6c656374696f6e4361703a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e7b466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e5075626c69637d0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a20202020202020202f2f20546865206163636f756e7420746f207472616e7366657220746865204e6f64655374616b6572206f626a65637420746f206d757374206861766520612076616c6964205374616b696e6720436f6c6c656374696f6e20696e206f7264657220746f207265636569766520746865204e6f64655374616b65722e0a20202020202020206966202821466c6f775374616b696e67436f6c6c656374696f6e2e646f65734163636f756e74486176655374616b696e67436f6c6c656374696f6e28616464726573733a20746f2929207b0a20202020202020202020202070616e6963282244657374696e6174696f6e206163636f756e74206d75737420686176652061205374616b696e6720436f6c6c656374696f6e207365742075702e22290a20202020202020207d0a0a20202020202020202f2f204765742061207265666572656e636520746f2074686520617574686f72697a657273205374616b696e67436f6c6c656374696f6e0a202020202020202073656c662e66726f6d5374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a0a20202020202020202f2f2047657420746865205075626c69634163636f756e74206f6620746865206163636f756e7420746f207472616e7366657220746865204e6f64655374616b657220746f2e200a20202020202020206c657420746f4163636f756e74203d206765744163636f756e7428746f290a0a20202020202020202f2f20426f72726f772061206361706162696c69747920746f20746865207075626c6963206d6574686f647320617661696c61626c65206f6e2074686520726563656976657273205374616b696e67436f6c6c656374696f6e2e0a202020202020202073656c662e746f5374616b696e67436f6c6c656374696f6e436170203d20746f4163636f756e742e6765744361706162696c6974793c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e7b466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e5075626c69637d3e28466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e5075626c696350617468292e626f72726f7728290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a0a20202020202020206c6574206d616368696e654163636f756e74496e666f203d2073656c662e66726f6d5374616b696e67436f6c6c656374696f6e5265662e6765744d616368696e654163636f756e747328295b6e6f646549445d0a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420676574206d616368696e65206163636f756e7420696e666f20666f722074686520737065636966696564206e6f646520494422290a0a20202020202020202f2f2052656d6f766520746865204e6f64655374616b65722066726f6d2074686520617574686f72697a657273205374616b696e67436f6c6c656374696f6e2e0a20202020202020206c6574206e6f64655374616b6572203c2d2073656c662e66726f6d5374616b696e67436f6c6c656374696f6e5265662e72656d6f76654e6f6465286e6f646549443a206e6f64654944290a0a20202020202020202f2f204465706f73697420746865204e6f64655374616b657220746f2074686520726563656976657273205374616b696e67436f6c6c656374696f6e2e0a202020202020202073656c662e746f5374616b696e67436f6c6c656374696f6e4361702e6164644e6f64654f626a656374283c2d206e6f64655374616b6572212c206d616368696e654163636f756e74496e666f3a206d616368696e654163636f756e74496e666f290a202020207d0a7df88eb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227daf7b2274797065223a2241646472657373222c2276616c7565223a22307838633533303365616132363230326436227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", - "metadata": "022386d7ae1a5b936e3914729ee34e01d53a8fbd2e403512ec1beccb4062c231ebcdc3a63d0c75ea95b414becb6fbb8f5a8004236d48661cd3c3d4f540ee4d422e5472616e73666572204e6f64650002014e6f64652049440000537472696e67000301416464726573730001416464726573730003", - "hash": "2386d7ae1a5b936e3914729ee34e01d53a8fbd2e403512ec1beccb4062c231eb" - }, - { - "title": "SCO.14 - Transfer Delegator", - "valid": true, - "chainID": "Testnet", - "payloadMessage": { - "script": "import FlowStakingCollection from 0x95e019a17d0e23d7\n\n// Transfers a NodeDelegator object from an authorizers accoount\n// and adds the NodeDelegator to another accounts Staking Collection\n// identified by the to Address.\n\ntransaction(nodeID: String, delegatorID: UInt32, to: Address) {\n let fromStakingCollectionRef: &FlowStakingCollection.StakingCollection\n let toStakingCollectionCap: &FlowStakingCollection.StakingCollection{FlowStakingCollection.StakingCollectionPublic}\n\n prepare(account: AuthAccount) {\n // The account to transfer the NodeDelegator object to must have a valid Staking Collection in order to receive the NodeDelegator.\n if (!FlowStakingCollection.doesAccountHaveStakingCollection(address: to)) {\n panic(\"Destination account must have a Staking Collection set up.\")\n }\n\n // Get a reference to the authorizers StakingCollection\n self.fromStakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n\n // Get the PublicAccount of the account to transfer the NodeDelegator to. \n let toAccount = getAccount(to)\n\n // Borrow a capability to the public methods available on the receivers StakingCollection.\n self.toStakingCollectionCap = toAccount.getCapability<&FlowStakingCollection.StakingCollection{FlowStakingCollection.StakingCollectionPublic}>(FlowStakingCollection.StakingCollectionPublicPath).borrow()\n ?? panic(\"Could not borrow ref to StakingCollection\")\n }\n\n execute {\n // Remove the NodeDelegator from the authorizers StakingCollection.\n let nodeDelegator <- self.fromStakingCollectionRef.removeDelegator(nodeID: nodeID, delegatorID: delegatorID)\n\n // Deposit the NodeDelegator to the receivers StakingCollection.\n self.toStakingCollectionCap.addDelegatorObject(<- nodeDelegator!)\n }\n}", - "arguments": [ - { - "type": "String", - "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" - }, - { - "type": "UInt32", - "value": "42" - }, - { - "type": "Address", - "value": "0x8c5303eaa26202d6" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "99a8ac2c71d4f6bd", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "99a8ac2c71d4f6bd", - "authorizers": [ - "99a8ac2c71d4f6bd" - ], - "payloadSigs": [ - { - "address": "99a8ac2c71d4f6bd", - "keyId": 4, - "sig": "f7225388c1d69d57e6251c9fda50cbbf9e05131e5adb81e5aa0422402f048162" - } - ] - }, - "envelopeMessage": { - "script": "import FlowStakingCollection from 0x95e019a17d0e23d7\n\n// Transfers a NodeDelegator object from an authorizers accoount\n// and adds the NodeDelegator to another accounts Staking Collection\n// identified by the to Address.\n\ntransaction(nodeID: String, delegatorID: UInt32, to: Address) {\n let fromStakingCollectionRef: &FlowStakingCollection.StakingCollection\n let toStakingCollectionCap: &FlowStakingCollection.StakingCollection{FlowStakingCollection.StakingCollectionPublic}\n\n prepare(account: AuthAccount) {\n // The account to transfer the NodeDelegator object to must have a valid Staking Collection in order to receive the NodeDelegator.\n if (!FlowStakingCollection.doesAccountHaveStakingCollection(address: to)) {\n panic(\"Destination account must have a Staking Collection set up.\")\n }\n\n // Get a reference to the authorizers StakingCollection\n self.fromStakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n\n // Get the PublicAccount of the account to transfer the NodeDelegator to. \n let toAccount = getAccount(to)\n\n // Borrow a capability to the public methods available on the receivers StakingCollection.\n self.toStakingCollectionCap = toAccount.getCapability<&FlowStakingCollection.StakingCollection{FlowStakingCollection.StakingCollectionPublic}>(FlowStakingCollection.StakingCollectionPublicPath).borrow()\n ?? panic(\"Could not borrow ref to StakingCollection\")\n }\n\n execute {\n // Remove the NodeDelegator from the authorizers StakingCollection.\n let nodeDelegator <- self.fromStakingCollectionRef.removeDelegator(nodeID: nodeID, delegatorID: delegatorID)\n\n // Deposit the NodeDelegator to the receivers StakingCollection.\n self.toStakingCollectionCap.addDelegatorObject(<- nodeDelegator!)\n }\n}", - "arguments": [ - { - "type": "String", - "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" - }, - { - "type": "UInt32", - "value": "42" - }, { "type": "Address", - "value": "0x8c5303eaa26202d6" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "99a8ac2c71d4f6bd", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "99a8ac2c71d4f6bd", - "authorizers": [ - "99a8ac2c71d4f6bd" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f908b4b907c2696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f205472616e73666572732061204e6f646544656c656761746f72206f626a6563742066726f6d20616e20617574686f72697a657273206163636f6f756e740a2f2f20616e64206164647320746865204e6f646544656c656761746f7220746f20616e6f74686572206163636f756e7473205374616b696e6720436f6c6c656374696f6e0a2f2f206964656e7469666965642062792074686520746f20416464726573732e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433322c20746f3a204164647265737329207b0a202020206c65742066726f6d5374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a202020206c657420746f5374616b696e67436f6c6c656374696f6e4361703a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e7b466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e5075626c69637d0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a20202020202020202f2f20546865206163636f756e7420746f207472616e7366657220746865204e6f646544656c656761746f72206f626a65637420746f206d757374206861766520612076616c6964205374616b696e6720436f6c6c656374696f6e20696e206f7264657220746f207265636569766520746865204e6f646544656c656761746f722e0a20202020202020206966202821466c6f775374616b696e67436f6c6c656374696f6e2e646f65734163636f756e74486176655374616b696e67436f6c6c656374696f6e28616464726573733a20746f2929207b0a20202020202020202020202070616e6963282244657374696e6174696f6e206163636f756e74206d75737420686176652061205374616b696e6720436f6c6c656374696f6e207365742075702e22290a20202020202020207d0a0a20202020202020202f2f204765742061207265666572656e636520746f2074686520617574686f72697a657273205374616b696e67436f6c6c656374696f6e0a202020202020202073656c662e66726f6d5374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a0a20202020202020202f2f2047657420746865205075626c69634163636f756e74206f6620746865206163636f756e7420746f207472616e7366657220746865204e6f646544656c656761746f7220746f2e200a20202020202020206c657420746f4163636f756e74203d206765744163636f756e7428746f290a0a20202020202020202f2f20426f72726f772061206361706162696c69747920746f20746865207075626c6963206d6574686f647320617661696c61626c65206f6e2074686520726563656976657273205374616b696e67436f6c6c656374696f6e2e0a202020202020202073656c662e746f5374616b696e67436f6c6c656374696f6e436170203d20746f4163636f756e742e6765744361706162696c6974793c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e7b466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e5075626c69637d3e28466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e5075626c696350617468292e626f72726f7728290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a20202020202020202f2f2052656d6f766520746865204e6f646544656c656761746f722066726f6d2074686520617574686f72697a657273205374616b696e67436f6c6c656374696f6e2e0a20202020202020206c6574206e6f646544656c656761746f72203c2d2073656c662e66726f6d5374616b696e67436f6c6c656374696f6e5265662e72656d6f766544656c656761746f72286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f724944290a0a20202020202020202f2f204465706f73697420746865204e6f646544656c656761746f7220746f2074686520726563656976657273205374616b696e67436f6c6c656374696f6e2e0a202020202020202073656c662e746f5374616b696e67436f6c6c656374696f6e4361702e61646444656c656761746f724f626a656374283c2d206e6f646544656c656761746f7221290a202020207d0a7df8adb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227d9e7b2274797065223a2255496e743332222c2276616c7565223a223432227daf7b2274797065223a2241646472657373222c2276616c7565223a22307838633533303365616132363230326436227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", - "encodedTransactionEnvelopeHex": "f908b8f908b4b907c2696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f205472616e73666572732061204e6f646544656c656761746f72206f626a6563742066726f6d20616e20617574686f72697a657273206163636f6f756e740a2f2f20616e64206164647320746865204e6f646544656c656761746f7220746f20616e6f74686572206163636f756e7473205374616b696e6720436f6c6c656374696f6e0a2f2f206964656e7469666965642062792074686520746f20416464726573732e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433322c20746f3a204164647265737329207b0a202020206c65742066726f6d5374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a202020206c657420746f5374616b696e67436f6c6c656374696f6e4361703a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e7b466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e5075626c69637d0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a20202020202020202f2f20546865206163636f756e7420746f207472616e7366657220746865204e6f646544656c656761746f72206f626a65637420746f206d757374206861766520612076616c6964205374616b696e6720436f6c6c656374696f6e20696e206f7264657220746f207265636569766520746865204e6f646544656c656761746f722e0a20202020202020206966202821466c6f775374616b696e67436f6c6c656374696f6e2e646f65734163636f756e74486176655374616b696e67436f6c6c656374696f6e28616464726573733a20746f2929207b0a20202020202020202020202070616e6963282244657374696e6174696f6e206163636f756e74206d75737420686176652061205374616b696e6720436f6c6c656374696f6e207365742075702e22290a20202020202020207d0a0a20202020202020202f2f204765742061207265666572656e636520746f2074686520617574686f72697a657273205374616b696e67436f6c6c656374696f6e0a202020202020202073656c662e66726f6d5374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a0a20202020202020202f2f2047657420746865205075626c69634163636f756e74206f6620746865206163636f756e7420746f207472616e7366657220746865204e6f646544656c656761746f7220746f2e200a20202020202020206c657420746f4163636f756e74203d206765744163636f756e7428746f290a0a20202020202020202f2f20426f72726f772061206361706162696c69747920746f20746865207075626c6963206d6574686f647320617661696c61626c65206f6e2074686520726563656976657273205374616b696e67436f6c6c656374696f6e2e0a202020202020202073656c662e746f5374616b696e67436f6c6c656374696f6e436170203d20746f4163636f756e742e6765744361706162696c6974793c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e7b466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e5075626c69637d3e28466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e5075626c696350617468292e626f72726f7728290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a20202020202020202f2f2052656d6f766520746865204e6f646544656c656761746f722066726f6d2074686520617574686f72697a657273205374616b696e67436f6c6c656374696f6e2e0a20202020202020206c6574206e6f646544656c656761746f72203c2d2073656c662e66726f6d5374616b696e67436f6c6c656374696f6e5265662e72656d6f766544656c656761746f72286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f724944290a0a20202020202020202f2f204465706f73697420746865204e6f646544656c656761746f7220746f2074686520726563656976657273205374616b696e67436f6c6c656374696f6e2e0a202020202020202073656c662e746f5374616b696e67436f6c6c656374696f6e4361702e61646444656c656761746f724f626a656374283c2d206e6f646544656c656761746f7221290a202020207d0a7df8adb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227d9e7b2274797065223a2255496e743332222c2276616c7565223a223432227daf7b2274797065223a2241646472657373222c2276616c7565223a22307838633533303365616132363230326436227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", - "metadata": "0253b096b4850a30894e7b272ec5c39e2b2f4a23f8c40e76a3c64cfc63dc2999b6b34d6fafcc5a4d0ed9cf92e168a08d0674c93341e2393ee72dde6664918ec2405472616e736665722044656c656761746f720003014e6f64652049440000537472696e6700030144656c656761746f72204944000155496e743332000301416464726573730002416464726573730003", - "hash": "53b096b4850a30894e7b272ec5c39e2b2f4a23f8c40e76a3c64cfc63dc2999b6" - }, - { - "title": "SCO.15 - Withdraw From Machine Account", - "valid": true, - "chainID": "Testnet", - "payloadMessage": { - "script": "import FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// Request to withdraw tokens from the machine account\n/// The tokens are automatically deposited to the unlocked account vault\n\ntransaction(nodeID: String, amount: UFix64) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n }\n\n execute {\n self.stakingCollectionRef.withdrawFromMachineAccount(nodeID: nodeID, amount: amount)\n }\n}\n", - "arguments": [ - { - "type": "String", - "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" - }, - { - "type": "UFix64", - "value": "92233720368.54775808" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "99a8ac2c71d4f6bd", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "99a8ac2c71d4f6bd", - "authorizers": [ - "99a8ac2c71d4f6bd" - ], - "payloadSigs": [ - { - "address": "99a8ac2c71d4f6bd", - "keyId": 4, - "sig": "f7225388c1d69d57e6251c9fda50cbbf9e05131e5adb81e5aa0422402f048162" - } - ] - }, - "envelopeMessage": { - "script": "import FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// Request to withdraw tokens from the machine account\n/// The tokens are automatically deposited to the unlocked account vault\n\ntransaction(nodeID: String, amount: UFix64) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n }\n\n execute {\n self.stakingCollectionRef.withdrawFromMachineAccount(nodeID: nodeID, amount: amount)\n }\n}\n", - "arguments": [ - { - "type": "String", - "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" - }, - { - "type": "UFix64", - "value": "92233720368.54775808" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "99a8ac2c71d4f6bd", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "99a8ac2c71d4f6bd", - "authorizers": [ - "99a8ac2c71d4f6bd" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f9037eb902aa696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f205265717565737420746f20776974686472617720746f6b656e732066726f6d20746865206d616368696e65206163636f756e740a2f2f2f2054686520746f6b656e7320617265206175746f6d61746963616c6c79206465706f736974656420746f2074686520756e6c6f636b6564206163636f756e74207661756c740a0a7472616e73616374696f6e286e6f646549443a20537472696e672c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e776974686472617746726f6d4d616368696e654163636f756e74286e6f646549443a206e6f646549442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af88fb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", - "encodedTransactionEnvelopeHex": "f90382f9037eb902aa696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f205265717565737420746f20776974686472617720746f6b656e732066726f6d20746865206d616368696e65206163636f756e740a2f2f2f2054686520746f6b656e7320617265206175746f6d61746963616c6c79206465706f736974656420746f2074686520756e6c6f636b6564206163636f756e74207661756c740a0a7472616e73616374696f6e286e6f646549443a20537472696e672c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e776974686472617746726f6d4d616368696e654163636f756e74286e6f646549443a206e6f646549442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af88fb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", - "metadata": "0239a126038522c6c964d53aaf78dde55bfe80929091510792fe49678bb22cbd96f9c48e18bda7f113e82711a4c95dfd151c6600ed9fbf46ceb22566d6c5728c6f57697468647261772046726f6d204d616368696e65204163636f756e740002014e6f64652049440000537472696e67000301416d6f756e7400015546697836340003", - "hash": "39a126038522c6c964d53aaf78dde55bfe80929091510792fe49678bb22cbd96" - }, - { - "title": "SCO.16 - Update Networking Address", - "valid": true, - "chainID": "Testnet", - "payloadMessage": { - "script": "import FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// Changes the networking address for the specified node\n\ntransaction(nodeID: String, newAddress: String) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n }\n\n execute {\n self.stakingCollectionRef.updateNetworkingAddress(nodeID: nodeID, newAddress: newAddress)\n }\n}\n", - "arguments": [ - { - "type": "String", - "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" - }, - { - "type": "String", - "value": "flow-node.test:3569" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "99a8ac2c71d4f6bd", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "99a8ac2c71d4f6bd", - "authorizers": [ - "99a8ac2c71d4f6bd" - ], - "payloadSigs": [ - { - "address": "99a8ac2c71d4f6bd", - "keyId": 4, - "sig": "f7225388c1d69d57e6251c9fda50cbbf9e05131e5adb81e5aa0422402f048162" - } - ] - }, - "envelopeMessage": { - "script": "import FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// Changes the networking address for the specified node\n\ntransaction(nodeID: String, newAddress: String) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n }\n\n execute {\n self.stakingCollectionRef.updateNetworkingAddress(nodeID: nodeID, newAddress: newAddress)\n }\n}\n", - "arguments": [ - { - "type": "String", - "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" - }, - { - "type": "String", - "value": "flow-node.test:3569" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "99a8ac2c71d4f6bd", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "99a8ac2c71d4f6bd", - "authorizers": [ - "99a8ac2c71d4f6bd" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f9033fb9026c696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f204368616e67657320746865206e6574776f726b696e67206164647265737320666f722074686520737065636966696564206e6f64650a0a7472616e73616374696f6e286e6f646549443a20537472696e672c206e6577416464726573733a20537472696e6729207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e7570646174654e6574776f726b696e6741646472657373286e6f646549443a206e6f646549442c206e6577416464726573733a206e657741646472657373290a202020207d0a7d0af88eb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227daf7b2274797065223a22537472696e67222c2276616c7565223a22666c6f772d6e6f64652e746573743a33353639227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", - "encodedTransactionEnvelopeHex": "f90343f9033fb9026c696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f204368616e67657320746865206e6574776f726b696e67206164647265737320666f722074686520737065636966696564206e6f64650a0a7472616e73616374696f6e286e6f646549443a20537472696e672c206e6577416464726573733a20537472696e6729207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e7570646174654e6574776f726b696e6741646472657373286e6f646549443a206e6f646549442c206e6577416464726573733a206e657741646472657373290a202020207d0a7d0af88eb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227daf7b2274797065223a22537472696e67222c2276616c7565223a22666c6f772d6e6f64652e746573743a33353639227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", - "metadata": "0260f2cf219d56b19dc7fd223caed42dda9143c87b1b0d2c21a9652e12a3714133ff067b40ac67020ef864cd14842f62023254da34dd2ded56affa1364305bf1c5557064617465204e6574776f726b696e6720416464726573730002014e6f64652049440000537472696e67000301416464726573730001537472696e670003", - "hash": "60f2cf219d56b19dc7fd223caed42dda9143c87b1b0d2c21a9652e12a3714133" - }, - { - "title": "FUSD.01 - Setup FUSD Vault", - "valid": true, - "chainID": "Testnet", - "payloadMessage": { - "script": "// This transaction configures the signer's account with an empty FUSD vault.\n//\n// It also links the following capabilities:\n//\n// - FungibleToken.Receiver: this capability allows this account to accept FUSD deposits.\n// - FungibleToken.Balance: this capability allows anybody to inspect the FUSD balance of this account.\n\nimport FungibleToken from 0x9a0766d93b6608b7\nimport FUSD from 0xe223d8a629e49c68\n\ntransaction {\n\n prepare(signer: AuthAccount) {\n\n // It's OK if the account already has a Vault, but we don't want to replace it\n if(signer.borrow<&FUSD.Vault>(from: /storage/fusdVault) != nil) {\n return\n }\n \n // Create a new FUSD Vault and put it in storage\n signer.save(<-FUSD.createEmptyVault(), to: /storage/fusdVault)\n\n // Create a public capability to the Vault that only exposes\n // the deposit function through the Receiver interface\n signer.link<&FUSD.Vault{FungibleToken.Receiver}>(\n /public/fusdReceiver,\n target: /storage/fusdVault\n )\n\n // Create a public capability to the Vault that only exposes\n // the balance field through the Balance interface\n signer.link<&FUSD.Vault{FungibleToken.Balance}>(\n /public/fusdBalance,\n target: /storage/fusdVault\n )\n }\n}\n", - "arguments": [], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "99a8ac2c71d4f6bd", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "99a8ac2c71d4f6bd", - "authorizers": [ - "99a8ac2c71d4f6bd" - ], - "payloadSigs": [ - { - "address": "99a8ac2c71d4f6bd", - "keyId": 4, - "sig": "f7225388c1d69d57e6251c9fda50cbbf9e05131e5adb81e5aa0422402f048162" - } - ] - }, - "envelopeMessage": { - "script": "// This transaction configures the signer's account with an empty FUSD vault.\n//\n// It also links the following capabilities:\n//\n// - FungibleToken.Receiver: this capability allows this account to accept FUSD deposits.\n// - FungibleToken.Balance: this capability allows anybody to inspect the FUSD balance of this account.\n\nimport FungibleToken from 0x9a0766d93b6608b7\nimport FUSD from 0xe223d8a629e49c68\n\ntransaction {\n\n prepare(signer: AuthAccount) {\n\n // It's OK if the account already has a Vault, but we don't want to replace it\n if(signer.borrow<&FUSD.Vault>(from: /storage/fusdVault) != nil) {\n return\n }\n \n // Create a new FUSD Vault and put it in storage\n signer.save(<-FUSD.createEmptyVault(), to: /storage/fusdVault)\n\n // Create a public capability to the Vault that only exposes\n // the deposit function through the Receiver interface\n signer.link<&FUSD.Vault{FungibleToken.Receiver}>(\n /public/fusdReceiver,\n target: /storage/fusdVault\n )\n\n // Create a public capability to the Vault that only exposes\n // the balance field through the Balance interface\n signer.link<&FUSD.Vault{FungibleToken.Balance}>(\n /public/fusdBalance,\n target: /storage/fusdVault\n )\n }\n}\n", - "arguments": [], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "99a8ac2c71d4f6bd", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "99a8ac2c71d4f6bd", - "authorizers": [ - "99a8ac2c71d4f6bd" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f9057ab905362f2f2054686973207472616e73616374696f6e20636f6e6669677572657320746865207369676e65722773206163636f756e74207769746820616e20656d7074792046555344207661756c742e0a2f2f0a2f2f20497420616c736f206c696e6b732074686520666f6c6c6f77696e67206361706162696c69746965733a0a2f2f0a2f2f202d2046756e6769626c65546f6b656e2e52656365697665723a2074686973206361706162696c69747920616c6c6f77732074686973206163636f756e7420746f206163636570742046555344206465706f736974732e0a2f2f202d2046756e6769626c65546f6b656e2e42616c616e63653a2074686973206361706162696c69747920616c6c6f777320616e79626f647920746f20696e73706563742074686520465553442062616c616e6365206f662074686973206163636f756e742e0a0a696d706f72742046756e6769626c65546f6b656e2066726f6d203078396130373636643933623636303862370a696d706f727420465553442066726f6d203078653232336438613632396534396336380a0a7472616e73616374696f6e207b0a0a2020202070726570617265287369676e65723a20417574684163636f756e7429207b0a0a20202020202020202f2f2049742773204f4b20696620746865206163636f756e7420616c7265616479206861732061205661756c742c2062757420776520646f6e27742077616e7420746f207265706c6163652069740a20202020202020206966287369676e65722e626f72726f773c26465553442e5661756c743e2866726f6d3a202f73746f726167652f667573645661756c742920213d206e696c29207b0a20202020202020202020202072657475726e0a20202020202020207d0a20202020202020200a20202020202020202f2f204372656174652061206e65772046555344205661756c7420616e642070757420697420696e2073746f726167650a20202020202020207369676e65722e73617665283c2d465553442e637265617465456d7074795661756c7428292c20746f3a202f73746f726167652f667573645661756c74290a0a20202020202020202f2f204372656174652061207075626c6963206361706162696c69747920746f20746865205661756c742074686174206f6e6c79206578706f7365730a20202020202020202f2f20746865206465706f7369742066756e6374696f6e207468726f7567682074686520526563656976657220696e746572666163650a20202020202020207369676e65722e6c696e6b3c26465553442e5661756c747b46756e6769626c65546f6b656e2e52656365697665727d3e280a2020202020202020202020202f7075626c69632f6675736452656365697665722c0a2020202020202020202020207461726765743a202f73746f726167652f667573645661756c740a2020202020202020290a0a20202020202020202f2f204372656174652061207075626c6963206361706162696c69747920746f20746865205661756c742074686174206f6e6c79206578706f7365730a20202020202020202f2f207468652062616c616e6365206669656c64207468726f756768207468652042616c616e636520696e746572666163650a20202020202020207369676e65722e6c696e6b3c26465553442e5661756c747b46756e6769626c65546f6b656e2e42616c616e63657d3e280a2020202020202020202020202f7075626c69632f6675736442616c616e63652c0a2020202020202020202020207461726765743a202f73746f726167652f667573645661756c740a2020202020202020290a202020207d0a7d0ac0a0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", - "encodedTransactionEnvelopeHex": "f9057ef9057ab905362f2f2054686973207472616e73616374696f6e20636f6e6669677572657320746865207369676e65722773206163636f756e74207769746820616e20656d7074792046555344207661756c742e0a2f2f0a2f2f20497420616c736f206c696e6b732074686520666f6c6c6f77696e67206361706162696c69746965733a0a2f2f0a2f2f202d2046756e6769626c65546f6b656e2e52656365697665723a2074686973206361706162696c69747920616c6c6f77732074686973206163636f756e7420746f206163636570742046555344206465706f736974732e0a2f2f202d2046756e6769626c65546f6b656e2e42616c616e63653a2074686973206361706162696c69747920616c6c6f777320616e79626f647920746f20696e73706563742074686520465553442062616c616e6365206f662074686973206163636f756e742e0a0a696d706f72742046756e6769626c65546f6b656e2066726f6d203078396130373636643933623636303862370a696d706f727420465553442066726f6d203078653232336438613632396534396336380a0a7472616e73616374696f6e207b0a0a2020202070726570617265287369676e65723a20417574684163636f756e7429207b0a0a20202020202020202f2f2049742773204f4b20696620746865206163636f756e7420616c7265616479206861732061205661756c742c2062757420776520646f6e27742077616e7420746f207265706c6163652069740a20202020202020206966287369676e65722e626f72726f773c26465553442e5661756c743e2866726f6d3a202f73746f726167652f667573645661756c742920213d206e696c29207b0a20202020202020202020202072657475726e0a20202020202020207d0a20202020202020200a20202020202020202f2f204372656174652061206e65772046555344205661756c7420616e642070757420697420696e2073746f726167650a20202020202020207369676e65722e73617665283c2d465553442e637265617465456d7074795661756c7428292c20746f3a202f73746f726167652f667573645661756c74290a0a20202020202020202f2f204372656174652061207075626c6963206361706162696c69747920746f20746865205661756c742074686174206f6e6c79206578706f7365730a20202020202020202f2f20746865206465706f7369742066756e6374696f6e207468726f7567682074686520526563656976657220696e746572666163650a20202020202020207369676e65722e6c696e6b3c26465553442e5661756c747b46756e6769626c65546f6b656e2e52656365697665727d3e280a2020202020202020202020202f7075626c69632f6675736452656365697665722c0a2020202020202020202020207461726765743a202f73746f726167652f667573645661756c740a2020202020202020290a0a20202020202020202f2f204372656174652061207075626c6963206361706162696c69747920746f20746865205661756c742074686174206f6e6c79206578706f7365730a20202020202020202f2f207468652062616c616e6365206669656c64207468726f756768207468652042616c616e636520696e746572666163650a20202020202020207369676e65722e6c696e6b3c26465553442e5661756c747b46756e6769626c65546f6b656e2e42616c616e63657d3e280a2020202020202020202020202f7075626c69632f6675736442616c616e63652c0a2020202020202020202020207461726765743a202f73746f726167652f667573645661756c740a2020202020202020290a202020207d0a7d0ac0a0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", - "metadata": "020ffaf77ab320ce4cc9602d39b89c85f094ebcea571ed324537e703bc07b0fdc4aa7fecdf159e71bd0b029e40b22643fb443161e67796f42bac68e9bab4630e2953657475702046555344205661756c740000", - "hash": "0ffaf77ab320ce4cc9602d39b89c85f094ebcea571ed324537e703bc07b0fdc4" - }, - { - "title": "FUSD.02 - Transfer FUSD", - "valid": true, - "chainID": "Testnet", - "payloadMessage": { - "script": "// This transaction withdraws FUSD from the signer's account and deposits it into a recipient account. \n// This transaction will fail if the recipient does not have an FUSD receiver. \n// No funds are transferred or lost if the transaction fails.\n//\n// Parameters:\n// - amount: The amount of FUSD to transfer (e.g. 10.0)\n// - to: The recipient account address.\n//\n// This transaction will fail if either the sender or recipient does not have\n// an FUSD vault stored in their account. To check if an account has a vault\n// or initialize a new vault, use check_fusd_vault_setup.cdc and setup_fusd_vault.cdc\n// respectively.\n\nimport FungibleToken from 0x9a0766d93b6608b7\nimport FUSD from 0xe223d8a629e49c68\n\ntransaction(amount: UFix64, to: Address) {\n\n // The Vault resource that holds the tokens that are being transferred\n let sentVault: @FungibleToken.Vault\n\n prepare(signer: AuthAccount) {\n // Get a reference to the signer's stored vault\n let vaultRef = signer.borrow<&FUSD.Vault>(from: /storage/fusdVault)\n ?? panic(\"Could not borrow reference to the owner's Vault!\")\n\n // Withdraw tokens from the signer's stored vault\n self.sentVault <- vaultRef.withdraw(amount: amount)\n }\n\n execute {\n // Get the recipient's public account object\n let recipient = getAccount(to)\n\n // Get a reference to the recipient's Receiver\n let receiverRef = recipient.getCapability(/public/fusdReceiver)!.borrow<&{FungibleToken.Receiver}>()\n ?? panic(\"Could not borrow receiver reference to the recipient's Vault\")\n\n // Deposit the withdrawn tokens in the recipient's receiver\n receiverRef.deposit(from: <-self.sentVault)\n }\n}\n", - "arguments": [ - { - "type": "UFix64", - "value": "92233720368.54775808" - }, - { - "type": "Address", - "value": "0xe467b9dd11fa00df" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "99a8ac2c71d4f6bd", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "99a8ac2c71d4f6bd", - "authorizers": [ - "99a8ac2c71d4f6bd" - ], - "payloadSigs": [ - { - "address": "99a8ac2c71d4f6bd", - "keyId": 4, - "sig": "f7225388c1d69d57e6251c9fda50cbbf9e05131e5adb81e5aa0422402f048162" - } - ] - }, - "envelopeMessage": { - "script": "// This transaction withdraws FUSD from the signer's account and deposits it into a recipient account. \n// This transaction will fail if the recipient does not have an FUSD receiver. \n// No funds are transferred or lost if the transaction fails.\n//\n// Parameters:\n// - amount: The amount of FUSD to transfer (e.g. 10.0)\n// - to: The recipient account address.\n//\n// This transaction will fail if either the sender or recipient does not have\n// an FUSD vault stored in their account. To check if an account has a vault\n// or initialize a new vault, use check_fusd_vault_setup.cdc and setup_fusd_vault.cdc\n// respectively.\n\nimport FungibleToken from 0x9a0766d93b6608b7\nimport FUSD from 0xe223d8a629e49c68\n\ntransaction(amount: UFix64, to: Address) {\n\n // The Vault resource that holds the tokens that are being transferred\n let sentVault: @FungibleToken.Vault\n\n prepare(signer: AuthAccount) {\n // Get a reference to the signer's stored vault\n let vaultRef = signer.borrow<&FUSD.Vault>(from: /storage/fusdVault)\n ?? panic(\"Could not borrow reference to the owner's Vault!\")\n\n // Withdraw tokens from the signer's stored vault\n self.sentVault <- vaultRef.withdraw(amount: amount)\n }\n\n execute {\n // Get the recipient's public account object\n let recipient = getAccount(to)\n\n // Get a reference to the recipient's Receiver\n let receiverRef = recipient.getCapability(/public/fusdReceiver)!.borrow<&{FungibleToken.Receiver}>()\n ?? panic(\"Could not borrow receiver reference to the recipient's Vault\")\n\n // Deposit the withdrawn tokens in the recipient's receiver\n receiverRef.deposit(from: <-self.sentVault)\n }\n}\n", - "arguments": [ - { - "type": "UFix64", - "value": "92233720368.54775808" - }, - { - "type": "Address", - "value": "0xe467b9dd11fa00df" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "99a8ac2c71d4f6bd", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "99a8ac2c71d4f6bd", - "authorizers": [ - "99a8ac2c71d4f6bd" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f90759b906b32f2f2054686973207472616e73616374696f6e2077697468647261777320465553442066726f6d20746865207369676e65722773206163636f756e7420616e64206465706f7369747320697420696e746f206120726563697069656e74206163636f756e742e200a2f2f2054686973207472616e73616374696f6e2077696c6c206661696c2069662074686520726563697069656e7420646f6573206e6f74206861766520616e20465553442072656365697665722e200a2f2f204e6f2066756e647320617265207472616e73666572726564206f72206c6f737420696620746865207472616e73616374696f6e206661696c732e0a2f2f0a2f2f20506172616d65746572733a0a2f2f202d20616d6f756e743a2054686520616d6f756e74206f66204655534420746f207472616e736665722028652e672e2031302e30290a2f2f202d20746f3a2054686520726563697069656e74206163636f756e7420616464726573732e0a2f2f0a2f2f2054686973207472616e73616374696f6e2077696c6c206661696c20696620656974686572207468652073656e646572206f7220726563697069656e7420646f6573206e6f7420686176650a2f2f20616e2046555344207661756c742073746f72656420696e207468656972206163636f756e742e20546f20636865636b20696620616e206163636f756e74206861732061207661756c740a2f2f206f7220696e697469616c697a652061206e6577207661756c742c2075736520636865636b5f667573645f7661756c745f73657475702e63646320616e642073657475705f667573645f7661756c742e6364630a2f2f20726573706563746976656c792e0a0a696d706f72742046756e6769626c65546f6b656e2066726f6d203078396130373636643933623636303862370a696d706f727420465553442066726f6d203078653232336438613632396534396336380a0a7472616e73616374696f6e28616d6f756e743a205546697836342c20746f3a204164647265737329207b0a0a202020202f2f20546865205661756c74207265736f75726365207468617420686f6c64732074686520746f6b656e73207468617420617265206265696e67207472616e736665727265640a202020206c65742073656e745661756c743a204046756e6769626c65546f6b656e2e5661756c740a0a2020202070726570617265287369676e65723a20417574684163636f756e7429207b0a20202020202020202f2f204765742061207265666572656e636520746f20746865207369676e657227732073746f726564207661756c740a20202020202020206c6574207661756c74526566203d207369676e65722e626f72726f773c26465553442e5661756c743e2866726f6d3a202f73746f726167652f667573645661756c74290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f20746865206f776e65722773205661756c742122290a0a20202020202020202f2f20576974686472617720746f6b656e732066726f6d20746865207369676e657227732073746f726564207661756c740a202020202020202073656c662e73656e745661756c74203c2d207661756c745265662e776974686472617728616d6f756e743a20616d6f756e74290a202020207d0a0a2020202065786563757465207b0a20202020202020202f2f204765742074686520726563697069656e742773207075626c6963206163636f756e74206f626a6563740a20202020202020206c657420726563697069656e74203d206765744163636f756e7428746f290a0a20202020202020202f2f204765742061207265666572656e636520746f2074686520726563697069656e7427732052656365697665720a20202020202020206c6574207265636569766572526566203d20726563697069656e742e6765744361706162696c697479282f7075626c69632f66757364526563656976657229212e626f72726f773c267b46756e6769626c65546f6b656e2e52656365697665727d3e28290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265636569766572207265666572656e636520746f2074686520726563697069656e742773205661756c7422290a0a20202020202020202f2f204465706f736974207468652077697468647261776e20746f6b656e7320696e2074686520726563697069656e7427732072656365697665720a202020202020202072656365697665725265662e6465706f7369742866726f6d3a203c2d73656c662e73656e745661756c74290a202020207d0a7d0af861b07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227daf7b2274797065223a2241646472657373222c2276616c7565223a22307865343637623964643131666130306466227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", - "encodedTransactionEnvelopeHex": "f9075df90759b906b32f2f2054686973207472616e73616374696f6e2077697468647261777320465553442066726f6d20746865207369676e65722773206163636f756e7420616e64206465706f7369747320697420696e746f206120726563697069656e74206163636f756e742e200a2f2f2054686973207472616e73616374696f6e2077696c6c206661696c2069662074686520726563697069656e7420646f6573206e6f74206861766520616e20465553442072656365697665722e200a2f2f204e6f2066756e647320617265207472616e73666572726564206f72206c6f737420696620746865207472616e73616374696f6e206661696c732e0a2f2f0a2f2f20506172616d65746572733a0a2f2f202d20616d6f756e743a2054686520616d6f756e74206f66204655534420746f207472616e736665722028652e672e2031302e30290a2f2f202d20746f3a2054686520726563697069656e74206163636f756e7420616464726573732e0a2f2f0a2f2f2054686973207472616e73616374696f6e2077696c6c206661696c20696620656974686572207468652073656e646572206f7220726563697069656e7420646f6573206e6f7420686176650a2f2f20616e2046555344207661756c742073746f72656420696e207468656972206163636f756e742e20546f20636865636b20696620616e206163636f756e74206861732061207661756c740a2f2f206f7220696e697469616c697a652061206e6577207661756c742c2075736520636865636b5f667573645f7661756c745f73657475702e63646320616e642073657475705f667573645f7661756c742e6364630a2f2f20726573706563746976656c792e0a0a696d706f72742046756e6769626c65546f6b656e2066726f6d203078396130373636643933623636303862370a696d706f727420465553442066726f6d203078653232336438613632396534396336380a0a7472616e73616374696f6e28616d6f756e743a205546697836342c20746f3a204164647265737329207b0a0a202020202f2f20546865205661756c74207265736f75726365207468617420686f6c64732074686520746f6b656e73207468617420617265206265696e67207472616e736665727265640a202020206c65742073656e745661756c743a204046756e6769626c65546f6b656e2e5661756c740a0a2020202070726570617265287369676e65723a20417574684163636f756e7429207b0a20202020202020202f2f204765742061207265666572656e636520746f20746865207369676e657227732073746f726564207661756c740a20202020202020206c6574207661756c74526566203d207369676e65722e626f72726f773c26465553442e5661756c743e2866726f6d3a202f73746f726167652f667573645661756c74290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f20746865206f776e65722773205661756c742122290a0a20202020202020202f2f20576974686472617720746f6b656e732066726f6d20746865207369676e657227732073746f726564207661756c740a202020202020202073656c662e73656e745661756c74203c2d207661756c745265662e776974686472617728616d6f756e743a20616d6f756e74290a202020207d0a0a2020202065786563757465207b0a20202020202020202f2f204765742074686520726563697069656e742773207075626c6963206163636f756e74206f626a6563740a20202020202020206c657420726563697069656e74203d206765744163636f756e7428746f290a0a20202020202020202f2f204765742061207265666572656e636520746f2074686520726563697069656e7427732052656365697665720a20202020202020206c6574207265636569766572526566203d20726563697069656e742e6765744361706162696c697479282f7075626c69632f66757364526563656976657229212e626f72726f773c267b46756e6769626c65546f6b656e2e52656365697665727d3e28290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265636569766572207265666572656e636520746f2074686520726563697069656e742773205661756c7422290a0a20202020202020202f2f204465706f736974207468652077697468647261776e20746f6b656e7320696e2074686520726563697069656e7427732072656365697665720a202020202020202072656365697665725265662e6465706f7369742866726f6d3a203c2d73656c662e73656e745661756c74290a202020207d0a7d0af861b07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227daf7b2274797065223a2241646472657373222c2276616c7565223a22307865343637623964643131666130306466227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", - "metadata": "02f22ca4b350a79c724f6471d5a6a7a0efa7ba9aeebb7fed2843a3ddd6e42c2e1c180cef7053a5f0ae66e19e3a96cc3b9eb7da29767fb5d6938239bf1f8e1dc2845472616e736665722046555344000201416d6f756e740000554669783634000301526563697069656e740001416464726573730003", - "hash": "f22ca4b350a79c724f6471d5a6a7a0efa7ba9aeebb7fed2843a3ddd6e42c2e1c" - }, - { - "title": "TS.01 - Set up Top Shot Collection", - "valid": true, - "chainID": "Testnet", - "payloadMessage": { - "script": "import TopShot from 0x877931736ee77cff\n\n// This transaction sets up an account to use Top Shot\n// by storing an empty moment collection and creating\n// a public capability for it\n\ntransaction {\n\n prepare(acct: AuthAccount) {\n\n // First, check to see if a moment collection already exists\n if acct.borrow<&TopShot.Collection>(from: /storage/MomentCollection) == nil {\n\n // create a new TopShot Collection\n let collection <- TopShot.createEmptyCollection() as! @TopShot.Collection\n\n // Put the new Collection in storage\n acct.save(<-collection, to: /storage/MomentCollection)\n\n // create a public capability for the collection\n acct.link<&{TopShot.MomentCollectionPublic}>(/public/MomentCollection, target: /storage/MomentCollection)\n }\n }\n}", - "arguments": [], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "99a8ac2c71d4f6bd", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "99a8ac2c71d4f6bd", - "authorizers": [ - "99a8ac2c71d4f6bd" - ], - "payloadSigs": [ - { - "address": "99a8ac2c71d4f6bd", - "keyId": 4, - "sig": "f7225388c1d69d57e6251c9fda50cbbf9e05131e5adb81e5aa0422402f048162" - } - ] - }, - "envelopeMessage": { - "script": "import TopShot from 0x877931736ee77cff\n\n// This transaction sets up an account to use Top Shot\n// by storing an empty moment collection and creating\n// a public capability for it\n\ntransaction {\n\n prepare(acct: AuthAccount) {\n\n // First, check to see if a moment collection already exists\n if acct.borrow<&TopShot.Collection>(from: /storage/MomentCollection) == nil {\n\n // create a new TopShot Collection\n let collection <- TopShot.createEmptyCollection() as! @TopShot.Collection\n\n // Put the new Collection in storage\n acct.save(<-collection, to: /storage/MomentCollection)\n\n // create a public capability for the collection\n acct.link<&{TopShot.MomentCollectionPublic}>(/public/MomentCollection, target: /storage/MomentCollection)\n }\n }\n}", - "arguments": [], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "99a8ac2c71d4f6bd", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "99a8ac2c71d4f6bd", - "authorizers": [ - "99a8ac2c71d4f6bd" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f90384b90340696d706f727420546f7053686f742066726f6d203078383737393331373336656537376366660a0a2f2f2054686973207472616e73616374696f6e207365747320757020616e206163636f756e7420746f2075736520546f702053686f740a2f2f2062792073746f72696e6720616e20656d707479206d6f6d656e7420636f6c6c656374696f6e20616e64206372656174696e670a2f2f2061207075626c6963206361706162696c69747920666f722069740a0a7472616e73616374696f6e207b0a0a202020207072657061726528616363743a20417574684163636f756e7429207b0a0a20202020202020202f2f2046697273742c20636865636b20746f207365652069662061206d6f6d656e7420636f6c6c656374696f6e20616c7265616479206578697374730a2020202020202020696620616363742e626f72726f773c26546f7053686f742e436f6c6c656374696f6e3e2866726f6d3a202f73746f726167652f4d6f6d656e74436f6c6c656374696f6e29203d3d206e696c207b0a0a2020202020202020202020202f2f206372656174652061206e657720546f7053686f7420436f6c6c656374696f6e0a2020202020202020202020206c657420636f6c6c656374696f6e203c2d20546f7053686f742e637265617465456d707479436f6c6c656374696f6e2829206173212040546f7053686f742e436f6c6c656374696f6e0a0a2020202020202020202020202f2f2050757420746865206e657720436f6c6c656374696f6e20696e2073746f726167650a202020202020202020202020616363742e73617665283c2d636f6c6c656374696f6e2c20746f3a202f73746f726167652f4d6f6d656e74436f6c6c656374696f6e290a0a2020202020202020202020202f2f206372656174652061207075626c6963206361706162696c69747920666f722074686520636f6c6c656374696f6e0a202020202020202020202020616363742e6c696e6b3c267b546f7053686f742e4d6f6d656e74436f6c6c656374696f6e5075626c69637d3e282f7075626c69632f4d6f6d656e74436f6c6c656374696f6e2c207461726765743a202f73746f726167652f4d6f6d656e74436f6c6c656374696f6e290a20202020202020207d0a202020207d0a7dc0a0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", - "encodedTransactionEnvelopeHex": "f90388f90384b90340696d706f727420546f7053686f742066726f6d203078383737393331373336656537376366660a0a2f2f2054686973207472616e73616374696f6e207365747320757020616e206163636f756e7420746f2075736520546f702053686f740a2f2f2062792073746f72696e6720616e20656d707479206d6f6d656e7420636f6c6c656374696f6e20616e64206372656174696e670a2f2f2061207075626c6963206361706162696c69747920666f722069740a0a7472616e73616374696f6e207b0a0a202020207072657061726528616363743a20417574684163636f756e7429207b0a0a20202020202020202f2f2046697273742c20636865636b20746f207365652069662061206d6f6d656e7420636f6c6c656374696f6e20616c7265616479206578697374730a2020202020202020696620616363742e626f72726f773c26546f7053686f742e436f6c6c656374696f6e3e2866726f6d3a202f73746f726167652f4d6f6d656e74436f6c6c656374696f6e29203d3d206e696c207b0a0a2020202020202020202020202f2f206372656174652061206e657720546f7053686f7420436f6c6c656374696f6e0a2020202020202020202020206c657420636f6c6c656374696f6e203c2d20546f7053686f742e637265617465456d707479436f6c6c656374696f6e2829206173212040546f7053686f742e436f6c6c656374696f6e0a0a2020202020202020202020202f2f2050757420746865206e657720436f6c6c656374696f6e20696e2073746f726167650a202020202020202020202020616363742e73617665283c2d636f6c6c656374696f6e2c20746f3a202f73746f726167652f4d6f6d656e74436f6c6c656374696f6e290a0a2020202020202020202020202f2f206372656174652061207075626c6963206361706162696c69747920666f722074686520636f6c6c656374696f6e0a202020202020202020202020616363742e6c696e6b3c267b546f7053686f742e4d6f6d656e74436f6c6c656374696f6e5075626c69637d3e282f7075626c69632f4d6f6d656e74436f6c6c656374696f6e2c207461726765743a202f73746f726167652f4d6f6d656e74436f6c6c656374696f6e290a20202020202020207d0a202020207d0a7dc0a0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", - "metadata": "020f0baeef9353ceee607c5be3b7c0f86792dadf20b9e9c89e831adb0199e758827511848f1c27a173d966f4b868fd7efead7eeb1bbf04fc3f3e60dabc6c7f759353657420757020546f702053686f7420436f6c6c656374696f6e0000", - "hash": "0f0baeef9353ceee607c5be3b7c0f86792dadf20b9e9c89e831adb0199e75882" - }, - { - "title": "TS.02 - Transfer Top Shot Moment", - "valid": true, - "chainID": "Testnet", - "payloadMessage": { - "script": "import NonFungibleToken from 0x631e88ae7f1d7c20\nimport TopShot from 0x877931736ee77cff\n\n// This transaction transfers a moment to a recipient\n\n// This transaction is how a topshot user would transfer a moment\n// from their account to another account\n// The recipient must have a TopShot Collection object stored\n// and a public MomentCollectionPublic capability stored at\n// `/public/MomentCollection`\n\n// Parameters:\n//\n// recipient: The Flow address of the account to receive the moment.\n// withdrawID: The id of the moment to be transferred\n\ntransaction(recipient: Address, withdrawID: UInt64) {\n\n // local variable for storing the transferred token\n let transferToken: @NonFungibleToken.NFT\n \n prepare(acct: AuthAccount) {\n\n // borrow a reference to the owner's collection\n let collectionRef = acct.borrow<&TopShot.Collection>(from: /storage/MomentCollection)\n ?? panic(\"Could not borrow a reference to the stored Moment collection\")\n \n // withdraw the NFT\n self.transferToken <- collectionRef.withdraw(withdrawID: withdrawID)\n }\n\n execute {\n \n // get the recipient's public account object\n let recipient = getAccount(recipient)\n\n // get the Collection reference for the receiver\n let receiverRef = recipient.getCapability(/public/MomentCollection).borrow<&{TopShot.MomentCollectionPublic}>()!\n\n // deposit the NFT in the receivers collection\n receiverRef.deposit(token: <-self.transferToken)\n }\n}", - "arguments": [ - { - "type": "Address", - "value": "0x8c5303eaa26202d6" - }, - { - "type": "UInt64", - "value": "42" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "99a8ac2c71d4f6bd", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "99a8ac2c71d4f6bd", - "authorizers": [ - "99a8ac2c71d4f6bd" - ], - "payloadSigs": [ - { - "address": "99a8ac2c71d4f6bd", - "keyId": 4, - "sig": "f7225388c1d69d57e6251c9fda50cbbf9e05131e5adb81e5aa0422402f048162" - } - ] - }, - "envelopeMessage": { - "script": "import NonFungibleToken from 0x631e88ae7f1d7c20\nimport TopShot from 0x877931736ee77cff\n\n// This transaction transfers a moment to a recipient\n\n// This transaction is how a topshot user would transfer a moment\n// from their account to another account\n// The recipient must have a TopShot Collection object stored\n// and a public MomentCollectionPublic capability stored at\n// `/public/MomentCollection`\n\n// Parameters:\n//\n// recipient: The Flow address of the account to receive the moment.\n// withdrawID: The id of the moment to be transferred\n\ntransaction(recipient: Address, withdrawID: UInt64) {\n\n // local variable for storing the transferred token\n let transferToken: @NonFungibleToken.NFT\n \n prepare(acct: AuthAccount) {\n\n // borrow a reference to the owner's collection\n let collectionRef = acct.borrow<&TopShot.Collection>(from: /storage/MomentCollection)\n ?? panic(\"Could not borrow a reference to the stored Moment collection\")\n \n // withdraw the NFT\n self.transferToken <- collectionRef.withdraw(withdrawID: withdrawID)\n }\n\n execute {\n \n // get the recipient's public account object\n let recipient = getAccount(recipient)\n\n // get the Collection reference for the receiver\n let receiverRef = recipient.getCapability(/public/MomentCollection).borrow<&{TopShot.MomentCollectionPublic}>()!\n\n // deposit the NFT in the receivers collection\n receiverRef.deposit(token: <-self.transferToken)\n }\n}", - "arguments": [ - { - "type": "Address", - "value": "0x8c5303eaa26202d6" - }, - { - "type": "UInt64", - "value": "42" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "99a8ac2c71d4f6bd", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "99a8ac2c71d4f6bd", - "authorizers": [ - "99a8ac2c71d4f6bd" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f90681b905ed696d706f7274204e6f6e46756e6769626c65546f6b656e2066726f6d203078363331653838616537663164376332300a696d706f727420546f7053686f742066726f6d203078383737393331373336656537376366660a0a2f2f2054686973207472616e73616374696f6e207472616e73666572732061206d6f6d656e7420746f206120726563697069656e740a0a2f2f2054686973207472616e73616374696f6e20697320686f77206120746f7073686f74207573657220776f756c64207472616e736665722061206d6f6d656e740a2f2f2066726f6d207468656972206163636f756e7420746f20616e6f74686572206163636f756e740a2f2f2054686520726563697069656e74206d7573742068617665206120546f7053686f7420436f6c6c656374696f6e206f626a6563742073746f7265640a2f2f20616e642061207075626c6963204d6f6d656e74436f6c6c656374696f6e5075626c6963206361706162696c6974792073746f7265642061740a2f2f20602f7075626c69632f4d6f6d656e74436f6c6c656374696f6e600a0a2f2f20506172616d65746572733a0a2f2f0a2f2f20726563697069656e743a2054686520466c6f772061646472657373206f6620746865206163636f756e7420746f207265636569766520746865206d6f6d656e742e0a2f2f20776974686472617749443a20546865206964206f6620746865206d6f6d656e7420746f206265207472616e736665727265640a0a7472616e73616374696f6e28726563697069656e743a20416464726573732c20776974686472617749443a2055496e74363429207b0a0a202020202f2f206c6f63616c207661726961626c6520666f722073746f72696e6720746865207472616e7366657272656420746f6b656e0a202020206c6574207472616e73666572546f6b656e3a20404e6f6e46756e6769626c65546f6b656e2e4e46540a202020200a202020207072657061726528616363743a20417574684163636f756e7429207b0a0a20202020202020202f2f20626f72726f772061207265666572656e636520746f20746865206f776e6572277320636f6c6c656374696f6e0a20202020202020206c657420636f6c6c656374696f6e526566203d20616363742e626f72726f773c26546f7053686f742e436f6c6c656374696f6e3e2866726f6d3a202f73746f726167652f4d6f6d656e74436f6c6c656374696f6e290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f207468652073746f726564204d6f6d656e7420636f6c6c656374696f6e22290a20202020202020200a20202020202020202f2f20776974686472617720746865204e46540a202020202020202073656c662e7472616e73666572546f6b656e203c2d20636f6c6c656374696f6e5265662e776974686472617728776974686472617749443a2077697468647261774944290a202020207d0a0a2020202065786563757465207b0a20202020202020200a20202020202020202f2f206765742074686520726563697069656e742773207075626c6963206163636f756e74206f626a6563740a20202020202020206c657420726563697069656e74203d206765744163636f756e7428726563697069656e74290a0a20202020202020202f2f206765742074686520436f6c6c656374696f6e207265666572656e636520666f72207468652072656365697665720a20202020202020206c6574207265636569766572526566203d20726563697069656e742e6765744361706162696c697479282f7075626c69632f4d6f6d656e74436f6c6c656374696f6e292e626f72726f773c267b546f7053686f742e4d6f6d656e74436f6c6c656374696f6e5075626c69637d3e2829210a0a20202020202020202f2f206465706f73697420746865204e465420696e207468652072656365697665727320636f6c6c656374696f6e0a202020202020202072656365697665725265662e6465706f73697428746f6b656e3a203c2d73656c662e7472616e73666572546f6b656e290a202020207d0a7df84faf7b2274797065223a2241646472657373222c2276616c7565223a22307838633533303365616132363230326436227d9e7b2274797065223a2255496e743634222c2276616c7565223a223432227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", - "encodedTransactionEnvelopeHex": "f90685f90681b905ed696d706f7274204e6f6e46756e6769626c65546f6b656e2066726f6d203078363331653838616537663164376332300a696d706f727420546f7053686f742066726f6d203078383737393331373336656537376366660a0a2f2f2054686973207472616e73616374696f6e207472616e73666572732061206d6f6d656e7420746f206120726563697069656e740a0a2f2f2054686973207472616e73616374696f6e20697320686f77206120746f7073686f74207573657220776f756c64207472616e736665722061206d6f6d656e740a2f2f2066726f6d207468656972206163636f756e7420746f20616e6f74686572206163636f756e740a2f2f2054686520726563697069656e74206d7573742068617665206120546f7053686f7420436f6c6c656374696f6e206f626a6563742073746f7265640a2f2f20616e642061207075626c6963204d6f6d656e74436f6c6c656374696f6e5075626c6963206361706162696c6974792073746f7265642061740a2f2f20602f7075626c69632f4d6f6d656e74436f6c6c656374696f6e600a0a2f2f20506172616d65746572733a0a2f2f0a2f2f20726563697069656e743a2054686520466c6f772061646472657373206f6620746865206163636f756e7420746f207265636569766520746865206d6f6d656e742e0a2f2f20776974686472617749443a20546865206964206f6620746865206d6f6d656e7420746f206265207472616e736665727265640a0a7472616e73616374696f6e28726563697069656e743a20416464726573732c20776974686472617749443a2055496e74363429207b0a0a202020202f2f206c6f63616c207661726961626c6520666f722073746f72696e6720746865207472616e7366657272656420746f6b656e0a202020206c6574207472616e73666572546f6b656e3a20404e6f6e46756e6769626c65546f6b656e2e4e46540a202020200a202020207072657061726528616363743a20417574684163636f756e7429207b0a0a20202020202020202f2f20626f72726f772061207265666572656e636520746f20746865206f776e6572277320636f6c6c656374696f6e0a20202020202020206c657420636f6c6c656374696f6e526566203d20616363742e626f72726f773c26546f7053686f742e436f6c6c656374696f6e3e2866726f6d3a202f73746f726167652f4d6f6d656e74436f6c6c656374696f6e290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f207468652073746f726564204d6f6d656e7420636f6c6c656374696f6e22290a20202020202020200a20202020202020202f2f20776974686472617720746865204e46540a202020202020202073656c662e7472616e73666572546f6b656e203c2d20636f6c6c656374696f6e5265662e776974686472617728776974686472617749443a2077697468647261774944290a202020207d0a0a2020202065786563757465207b0a20202020202020200a20202020202020202f2f206765742074686520726563697069656e742773207075626c6963206163636f756e74206f626a6563740a20202020202020206c657420726563697069656e74203d206765744163636f756e7428726563697069656e74290a0a20202020202020202f2f206765742074686520436f6c6c656374696f6e207265666572656e636520666f72207468652072656365697665720a20202020202020206c6574207265636569766572526566203d20726563697069656e742e6765744361706162696c697479282f7075626c69632f4d6f6d656e74436f6c6c656374696f6e292e626f72726f773c267b546f7053686f742e4d6f6d656e74436f6c6c656374696f6e5075626c69637d3e2829210a0a20202020202020202f2f206465706f73697420746865204e465420696e207468652072656365697665727320636f6c6c656374696f6e0a202020202020202072656365697665725265662e6465706f73697428746f6b656e3a203c2d73656c662e7472616e73666572546f6b656e290a202020207d0a7df84faf7b2274797065223a2241646472657373222c2276616c7565223a22307838633533303365616132363230326436227d9e7b2274797065223a2255496e743634222c2276616c7565223a223432227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", - "metadata": "021ec9aea0b51409610f882f5ae4278567da675542bb378eb999f05b7c4f12f7d809d5ad21bf70dfe4f8d800db9e61a77f2f64837ae0e818c3cd67e9cea837a1cf5472616e7366657220546f702053686f74204d6f6d656e74000201526563697069656e740000416464726573730003014d6f6d656e74204944000155496e7436340003", - "hash": "1ec9aea0b51409610f882f5ae4278567da675542bb378eb999f05b7c4f12f7d8" - }, - { - "title": "USDC.01 - Setup USDC Vault", - "valid": true, - "chainID": "Testnet", - "payloadMessage": { - "script": "import FungibleToken from 0x9a0766d93b6608b7\nimport FiatToken from 0x1ab3c177460e1e4a\n\ntransaction {\n\n prepare(signer: AuthAccount) {\n\n // Return early if the account already stores a FiatToken Vault\n if signer.borrow<&FiatToken.Vault>(from: FiatToken.VaultStoragePath) != nil {\n return\n }\n\n // Create a new ExampleToken Vault and put it in storage\n signer.save(\n <-FiatToken.createEmptyVault(),\n to: FiatToken.VaultStoragePath\n )\n\n // Create a public capability to the Vault that only exposes\n // the deposit function through the Receiver interface\n signer.link<&FiatToken.Vault{FungibleToken.Receiver}>(\n FiatToken.VaultReceiverPubPath,\n target: FiatToken.VaultStoragePath\n )\n\n // Create a public capability to the Vault that only exposes\n // the UUID() function through the VaultUUID interface\n signer.link<&FiatToken.Vault{FiatToken.ResourceId}>(\n FiatToken.VaultUUIDPubPath,\n target: FiatToken.VaultStoragePath\n )\n\n // Create a public capability to the Vault that only exposes\n // the balance field through the Balance interface\n signer.link<&FiatToken.Vault{FungibleToken.Balance}>(\n FiatToken.VaultBalancePubPath,\n target: FiatToken.VaultStoragePath\n )\n\n }\n}\n", - "arguments": [], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "99a8ac2c71d4f6bd", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "99a8ac2c71d4f6bd", - "authorizers": [ - "99a8ac2c71d4f6bd" - ], - "payloadSigs": [ - { - "address": "99a8ac2c71d4f6bd", - "keyId": 4, - "sig": "f7225388c1d69d57e6251c9fda50cbbf9e05131e5adb81e5aa0422402f048162" - } - ] - }, - "envelopeMessage": { - "script": "import FungibleToken from 0x9a0766d93b6608b7\nimport FiatToken from 0x1ab3c177460e1e4a\n\ntransaction {\n\n prepare(signer: AuthAccount) {\n\n // Return early if the account already stores a FiatToken Vault\n if signer.borrow<&FiatToken.Vault>(from: FiatToken.VaultStoragePath) != nil {\n return\n }\n\n // Create a new ExampleToken Vault and put it in storage\n signer.save(\n <-FiatToken.createEmptyVault(),\n to: FiatToken.VaultStoragePath\n )\n\n // Create a public capability to the Vault that only exposes\n // the deposit function through the Receiver interface\n signer.link<&FiatToken.Vault{FungibleToken.Receiver}>(\n FiatToken.VaultReceiverPubPath,\n target: FiatToken.VaultStoragePath\n )\n\n // Create a public capability to the Vault that only exposes\n // the UUID() function through the VaultUUID interface\n signer.link<&FiatToken.Vault{FiatToken.ResourceId}>(\n FiatToken.VaultUUIDPubPath,\n target: FiatToken.VaultStoragePath\n )\n\n // Create a public capability to the Vault that only exposes\n // the balance field through the Balance interface\n signer.link<&FiatToken.Vault{FungibleToken.Balance}>(\n FiatToken.VaultBalancePubPath,\n target: FiatToken.VaultStoragePath\n )\n\n }\n}\n", - "arguments": [], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "99a8ac2c71d4f6bd", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "99a8ac2c71d4f6bd", - "authorizers": [ - "99a8ac2c71d4f6bd" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f905b9b90575696d706f72742046756e6769626c65546f6b656e2066726f6d203078396130373636643933623636303862370a696d706f72742046696174546f6b656e2066726f6d203078316162336331373734363065316534610a0a7472616e73616374696f6e207b0a0a2020202070726570617265287369676e65723a20417574684163636f756e7429207b0a0a20202020202020202f2f2052657475726e206561726c7920696620746865206163636f756e7420616c72656164792073746f72657320612046696174546f6b656e205661756c740a20202020202020206966207369676e65722e626f72726f773c2646696174546f6b656e2e5661756c743e2866726f6d3a2046696174546f6b656e2e5661756c7453746f72616765506174682920213d206e696c207b0a20202020202020202020202072657475726e0a20202020202020207d0a0a20202020202020202f2f204372656174652061206e6577204578616d706c65546f6b656e205661756c7420616e642070757420697420696e2073746f726167650a20202020202020207369676e65722e73617665280a2020202020202020202020203c2d46696174546f6b656e2e637265617465456d7074795661756c7428292c0a202020202020202020202020746f3a2046696174546f6b656e2e5661756c7453746f72616765506174680a2020202020202020290a0a20202020202020202f2f204372656174652061207075626c6963206361706162696c69747920746f20746865205661756c742074686174206f6e6c79206578706f7365730a20202020202020202f2f20746865206465706f7369742066756e6374696f6e207468726f7567682074686520526563656976657220696e746572666163650a20202020202020207369676e65722e6c696e6b3c2646696174546f6b656e2e5661756c747b46756e6769626c65546f6b656e2e52656365697665727d3e280a20202020202020202020202046696174546f6b656e2e5661756c745265636569766572507562506174682c0a2020202020202020202020207461726765743a2046696174546f6b656e2e5661756c7453746f72616765506174680a2020202020202020290a0a20202020202020202f2f204372656174652061207075626c6963206361706162696c69747920746f20746865205661756c742074686174206f6e6c79206578706f7365730a20202020202020202f2f20746865205555494428292066756e6374696f6e207468726f75676820746865205661756c745555494420696e746572666163650a20202020202020207369676e65722e6c696e6b3c2646696174546f6b656e2e5661756c747b46696174546f6b656e2e5265736f7572636549647d3e280a20202020202020202020202046696174546f6b656e2e5661756c7455554944507562506174682c0a2020202020202020202020207461726765743a2046696174546f6b656e2e5661756c7453746f72616765506174680a2020202020202020290a0a20202020202020202f2f204372656174652061207075626c6963206361706162696c69747920746f20746865205661756c742074686174206f6e6c79206578706f7365730a20202020202020202f2f207468652062616c616e6365206669656c64207468726f756768207468652042616c616e636520696e746572666163650a20202020202020207369676e65722e6c696e6b3c2646696174546f6b656e2e5661756c747b46756e6769626c65546f6b656e2e42616c616e63657d3e280a20202020202020202020202046696174546f6b656e2e5661756c7442616c616e6365507562506174682c0a2020202020202020202020207461726765743a2046696174546f6b656e2e5661756c7453746f72616765506174680a2020202020202020290a0a202020207d0a7d0ac0a0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", - "encodedTransactionEnvelopeHex": "f905bdf905b9b90575696d706f72742046756e6769626c65546f6b656e2066726f6d203078396130373636643933623636303862370a696d706f72742046696174546f6b656e2066726f6d203078316162336331373734363065316534610a0a7472616e73616374696f6e207b0a0a2020202070726570617265287369676e65723a20417574684163636f756e7429207b0a0a20202020202020202f2f2052657475726e206561726c7920696620746865206163636f756e7420616c72656164792073746f72657320612046696174546f6b656e205661756c740a20202020202020206966207369676e65722e626f72726f773c2646696174546f6b656e2e5661756c743e2866726f6d3a2046696174546f6b656e2e5661756c7453746f72616765506174682920213d206e696c207b0a20202020202020202020202072657475726e0a20202020202020207d0a0a20202020202020202f2f204372656174652061206e6577204578616d706c65546f6b656e205661756c7420616e642070757420697420696e2073746f726167650a20202020202020207369676e65722e73617665280a2020202020202020202020203c2d46696174546f6b656e2e637265617465456d7074795661756c7428292c0a202020202020202020202020746f3a2046696174546f6b656e2e5661756c7453746f72616765506174680a2020202020202020290a0a20202020202020202f2f204372656174652061207075626c6963206361706162696c69747920746f20746865205661756c742074686174206f6e6c79206578706f7365730a20202020202020202f2f20746865206465706f7369742066756e6374696f6e207468726f7567682074686520526563656976657220696e746572666163650a20202020202020207369676e65722e6c696e6b3c2646696174546f6b656e2e5661756c747b46756e6769626c65546f6b656e2e52656365697665727d3e280a20202020202020202020202046696174546f6b656e2e5661756c745265636569766572507562506174682c0a2020202020202020202020207461726765743a2046696174546f6b656e2e5661756c7453746f72616765506174680a2020202020202020290a0a20202020202020202f2f204372656174652061207075626c6963206361706162696c69747920746f20746865205661756c742074686174206f6e6c79206578706f7365730a20202020202020202f2f20746865205555494428292066756e6374696f6e207468726f75676820746865205661756c745555494420696e746572666163650a20202020202020207369676e65722e6c696e6b3c2646696174546f6b656e2e5661756c747b46696174546f6b656e2e5265736f7572636549647d3e280a20202020202020202020202046696174546f6b656e2e5661756c7455554944507562506174682c0a2020202020202020202020207461726765743a2046696174546f6b656e2e5661756c7453746f72616765506174680a2020202020202020290a0a20202020202020202f2f204372656174652061207075626c6963206361706162696c69747920746f20746865205661756c742074686174206f6e6c79206578706f7365730a20202020202020202f2f207468652062616c616e6365206669656c64207468726f756768207468652042616c616e636520696e746572666163650a20202020202020207369676e65722e6c696e6b3c2646696174546f6b656e2e5661756c747b46756e6769626c65546f6b656e2e42616c616e63657d3e280a20202020202020202020202046696174546f6b656e2e5661756c7442616c616e6365507562506174682c0a2020202020202020202020207461726765743a2046696174546f6b656e2e5661756c7453746f72616765506174680a2020202020202020290a0a202020207d0a7d0ac0a0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", - "metadata": "022defee818c0c003ca519f83517f4c7bcf9dd8664a562ec80959cb6146428f971887673892a2e2c12337394570dfa30c5669e93f537ae426690f402799514a9a153657475702055534443205661756c740000", - "hash": "2defee818c0c003ca519f83517f4c7bcf9dd8664a562ec80959cb6146428f971" - }, - { - "title": "USDC.02 - Transfer USDC", - "valid": true, - "chainID": "Testnet", - "payloadMessage": { - "script": "import FungibleToken from 0x9a0766d93b6608b7\nimport FiatToken from 0x1ab3c177460e1e4a\n\ntransaction(amount: UFix64, to: Address) {\n\n // The Vault resource that holds the tokens that are being transferred\n let sentVault: @FungibleToken.Vault\n\n prepare(signer: AuthAccount) {\n\n // Get a reference to the signer's stored vault\n let vaultRef = signer.borrow<&FiatToken.Vault>(from: FiatToken.VaultStoragePath)\n ?? panic(\"Could not borrow reference to the owner's Vault!\")\n\n // Withdraw tokens from the signer's stored vault\n self.sentVault <- vaultRef.withdraw(amount: amount)\n }\n\n execute {\n\n // Get the recipient's public account object\n let recipient = getAccount(to)\n\n // Get a reference to the recipient's Receiver\n let receiverRef = recipient.getCapability(FiatToken.VaultReceiverPubPath)\n .borrow<&{FungibleToken.Receiver}>()\n ?? panic(\"Could not borrow receiver reference to the recipient's Vault\")\n\n // Deposit the withdrawn tokens in the recipient's receiver\n receiverRef.deposit(from: <-self.sentVault)\n }\n}\n", - "arguments": [ - { - "type": "UFix64", - "value": "42" - }, - { - "type": "Address", - "value": "0x8c5303eaa26202d6" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "99a8ac2c71d4f6bd", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "99a8ac2c71d4f6bd", - "authorizers": [ - "99a8ac2c71d4f6bd" - ], - "payloadSigs": [ - { - "address": "99a8ac2c71d4f6bd", - "keyId": 4, - "sig": "f7225388c1d69d57e6251c9fda50cbbf9e05131e5adb81e5aa0422402f048162" - } - ] - }, - "envelopeMessage": { - "script": "import FungibleToken from 0x9a0766d93b6608b7\nimport FiatToken from 0x1ab3c177460e1e4a\n\ntransaction(amount: UFix64, to: Address) {\n\n // The Vault resource that holds the tokens that are being transferred\n let sentVault: @FungibleToken.Vault\n\n prepare(signer: AuthAccount) {\n\n // Get a reference to the signer's stored vault\n let vaultRef = signer.borrow<&FiatToken.Vault>(from: FiatToken.VaultStoragePath)\n ?? panic(\"Could not borrow reference to the owner's Vault!\")\n\n // Withdraw tokens from the signer's stored vault\n self.sentVault <- vaultRef.withdraw(amount: amount)\n }\n\n execute {\n\n // Get the recipient's public account object\n let recipient = getAccount(to)\n\n // Get a reference to the recipient's Receiver\n let receiverRef = recipient.getCapability(FiatToken.VaultReceiverPubPath)\n .borrow<&{FungibleToken.Receiver}>()\n ?? panic(\"Could not borrow receiver reference to the recipient's Vault\")\n\n // Deposit the withdrawn tokens in the recipient's receiver\n receiverRef.deposit(from: <-self.sentVault)\n }\n}\n", - "arguments": [ - { - "type": "UFix64", - "value": "42" - }, - { - "type": "Address", - "value": "0x8c5303eaa26202d6" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "99a8ac2c71d4f6bd", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "99a8ac2c71d4f6bd", - "authorizers": [ - "99a8ac2c71d4f6bd" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f90503b9046f696d706f72742046756e6769626c65546f6b656e2066726f6d203078396130373636643933623636303862370a696d706f72742046696174546f6b656e2066726f6d203078316162336331373734363065316534610a0a7472616e73616374696f6e28616d6f756e743a205546697836342c20746f3a204164647265737329207b0a0a202020202f2f20546865205661756c74207265736f75726365207468617420686f6c64732074686520746f6b656e73207468617420617265206265696e67207472616e736665727265640a202020206c65742073656e745661756c743a204046756e6769626c65546f6b656e2e5661756c740a0a2020202070726570617265287369676e65723a20417574684163636f756e7429207b0a0a20202020202020202f2f204765742061207265666572656e636520746f20746865207369676e657227732073746f726564207661756c740a20202020202020206c6574207661756c74526566203d207369676e65722e626f72726f773c2646696174546f6b656e2e5661756c743e2866726f6d3a2046696174546f6b656e2e5661756c7453746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f20746865206f776e65722773205661756c742122290a0a20202020202020202f2f20576974686472617720746f6b656e732066726f6d20746865207369676e657227732073746f726564207661756c740a202020202020202073656c662e73656e745661756c74203c2d207661756c745265662e776974686472617728616d6f756e743a20616d6f756e74290a202020207d0a0a2020202065786563757465207b0a0a20202020202020202f2f204765742074686520726563697069656e742773207075626c6963206163636f756e74206f626a6563740a20202020202020206c657420726563697069656e74203d206765744163636f756e7428746f290a0a20202020202020202f2f204765742061207265666572656e636520746f2074686520726563697069656e7427732052656365697665720a20202020202020206c6574207265636569766572526566203d20726563697069656e742e6765744361706162696c6974792846696174546f6b656e2e5661756c74526563656976657250756250617468290a2020202020202020202020202e626f72726f773c267b46756e6769626c65546f6b656e2e52656365697665727d3e28290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265636569766572207265666572656e636520746f2074686520726563697069656e742773205661756c7422290a0a20202020202020202f2f204465706f736974207468652077697468647261776e20746f6b656e7320696e2074686520726563697069656e7427732072656365697665720a202020202020202072656365697665725265662e6465706f7369742866726f6d3a203c2d73656c662e73656e745661756c74290a202020207d0a7d0af84f9e7b2274797065223a22554669783634222c2276616c7565223a223432227daf7b2274797065223a2241646472657373222c2276616c7565223a22307838633533303365616132363230326436227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", - "encodedTransactionEnvelopeHex": "f90507f90503b9046f696d706f72742046756e6769626c65546f6b656e2066726f6d203078396130373636643933623636303862370a696d706f72742046696174546f6b656e2066726f6d203078316162336331373734363065316534610a0a7472616e73616374696f6e28616d6f756e743a205546697836342c20746f3a204164647265737329207b0a0a202020202f2f20546865205661756c74207265736f75726365207468617420686f6c64732074686520746f6b656e73207468617420617265206265696e67207472616e736665727265640a202020206c65742073656e745661756c743a204046756e6769626c65546f6b656e2e5661756c740a0a2020202070726570617265287369676e65723a20417574684163636f756e7429207b0a0a20202020202020202f2f204765742061207265666572656e636520746f20746865207369676e657227732073746f726564207661756c740a20202020202020206c6574207661756c74526566203d207369676e65722e626f72726f773c2646696174546f6b656e2e5661756c743e2866726f6d3a2046696174546f6b656e2e5661756c7453746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f20746865206f776e65722773205661756c742122290a0a20202020202020202f2f20576974686472617720746f6b656e732066726f6d20746865207369676e657227732073746f726564207661756c740a202020202020202073656c662e73656e745661756c74203c2d207661756c745265662e776974686472617728616d6f756e743a20616d6f756e74290a202020207d0a0a2020202065786563757465207b0a0a20202020202020202f2f204765742074686520726563697069656e742773207075626c6963206163636f756e74206f626a6563740a20202020202020206c657420726563697069656e74203d206765744163636f756e7428746f290a0a20202020202020202f2f204765742061207265666572656e636520746f2074686520726563697069656e7427732052656365697665720a20202020202020206c6574207265636569766572526566203d20726563697069656e742e6765744361706162696c6974792846696174546f6b656e2e5661756c74526563656976657250756250617468290a2020202020202020202020202e626f72726f773c267b46756e6769626c65546f6b656e2e52656365697665727d3e28290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265636569766572207265666572656e636520746f2074686520726563697069656e742773205661756c7422290a0a20202020202020202f2f204465706f736974207468652077697468647261776e20746f6b656e7320696e2074686520726563697069656e7427732072656365697665720a202020202020202072656365697665725265662e6465706f7369742866726f6d3a203c2d73656c662e73656e745661756c74290a202020207d0a7d0af84f9e7b2274797065223a22554669783634222c2276616c7565223a223432227daf7b2274797065223a2241646472657373222c2276616c7565223a22307838633533303365616132363230326436227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", - "metadata": "02512485ec3f8e007853b0ea2a22fb2b9f7e2fa55fd9819171c5d013282efee60a7ff4d9f53ba5eebda556d0ead0ca13911bc8996e2c91c5147f8787d10a3244835472616e736665722055534443000201416d6f756e740000554669783634000301526563697069656e740001416464726573730003", - "hash": "512485ec3f8e007853b0ea2a22fb2b9f7e2fa55fd9819171c5d013282efee60a" - }, - { - "title": "SCO.03 - Register Node - 1", - "valid": true, - "chainID": "Testnet", - "payloadMessage": { - "script": "import Crypto\nimport FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// Registers a delegator in the staking collection resource\n/// for the specified node information and the amount of tokens to commit\n\ntransaction(id: String,\n role: UInt8,\n networkingAddress: String,\n networkingKey: String,\n stakingKey: String,\n amount: UFix64,\n publicKeys: [Crypto.KeyListEntry]?) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n\n if let machineAccount = self.stakingCollectionRef.registerNode(\n id: id,\n role: role,\n networkingAddress: networkingAddress,\n networkingKey: networkingKey,\n stakingKey: stakingKey,\n amount: amount,\n payer: account) \n {\n if publicKeys == nil || publicKeys!.length == 0 {\n panic(\"Cannot provide zero keys for the machine account\")\n }\n for key in publicKeys! {\n machineAccount.keys.add(publicKey: key.publicKey, hashAlgorithm: key.hashAlgorithm, weight: key.weight)\n }\n }\n }\n}\n", - "arguments": [ - { - "type": "String", - "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" - }, - { - "type": "UInt8", - "value": "1" - }, - { - "type": "String", - "value": "flow-node.test:3569" - }, - { - "type": "String", - "value": "1348307bc77c688e80049de9d081aa09755da33e6997605fa059db2144fc85e560cbe6f7da8d74b453f5916618cb8fd392c2db856f3e78221dc68db1b1d914e4" - }, - { - "type": "String", - "value": "9e9ae0d645fd5fd9050792e0b0daa82cc1686d9133afa0f81a784b375c42ae48567d1545e7a9e1965f2c1a32f73cf8575ebb7a967f6e4d104d2df78eb8be409135d12da0499b8a00771f642c1b9c49397f22b440439f036c3bdee82f5309dab3" - }, - { - "type": "UFix64", - "value": "92233720368.54775808" - }, - { - "type": "Optional", - "value": null - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "99a8ac2c71d4f6bd", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "99a8ac2c71d4f6bd", - "authorizers": [ - "99a8ac2c71d4f6bd" - ], - "payloadSigs": [ - { - "address": "99a8ac2c71d4f6bd", - "keyId": 4, - "sig": "f7225388c1d69d57e6251c9fda50cbbf9e05131e5adb81e5aa0422402f048162" - } - ] - }, - "envelopeMessage": { - "script": "import Crypto\nimport FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// Registers a delegator in the staking collection resource\n/// for the specified node information and the amount of tokens to commit\n\ntransaction(id: String,\n role: UInt8,\n networkingAddress: String,\n networkingKey: String,\n stakingKey: String,\n amount: UFix64,\n publicKeys: [Crypto.KeyListEntry]?) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n\n if let machineAccount = self.stakingCollectionRef.registerNode(\n id: id,\n role: role,\n networkingAddress: networkingAddress,\n networkingKey: networkingKey,\n stakingKey: stakingKey,\n amount: amount,\n payer: account) \n {\n if publicKeys == nil || publicKeys!.length == 0 {\n panic(\"Cannot provide zero keys for the machine account\")\n }\n for key in publicKeys! {\n machineAccount.keys.add(publicKey: key.publicKey, hashAlgorithm: key.hashAlgorithm, weight: key.weight)\n }\n }\n }\n}\n", - "arguments": [ - { - "type": "String", - "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" - }, - { - "type": "UInt8", - "value": "1" - }, - { - "type": "String", - "value": "flow-node.test:3569" - }, - { - "type": "String", - "value": "1348307bc77c688e80049de9d081aa09755da33e6997605fa059db2144fc85e560cbe6f7da8d74b453f5916618cb8fd392c2db856f3e78221dc68db1b1d914e4" - }, - { - "type": "String", - "value": "9e9ae0d645fd5fd9050792e0b0daa82cc1686d9133afa0f81a784b375c42ae48567d1545e7a9e1965f2c1a32f73cf8575ebb7a967f6e4d104d2df78eb8be409135d12da0499b8a00771f642c1b9c49397f22b440439f036c3bdee82f5309dab3" - }, - { - "type": "UFix64", - "value": "92233720368.54775808" - }, - { - "type": "Optional", - "value": null - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "99a8ac2c71d4f6bd", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "99a8ac2c71d4f6bd", - "authorizers": [ - "99a8ac2c71d4f6bd" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f90849b9058a696d706f72742043727970746f0a696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f2052656769737465727320612064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e207265736f757263650a2f2f2f20666f722074686520737065636966696564206e6f646520696e666f726d6174696f6e20616e642074686520616d6f756e74206f6620746f6b656e7320746f20636f6d6d69740a0a7472616e73616374696f6e2869643a20537472696e672c0a202020202020202020202020726f6c653a2055496e74382c0a2020202020202020202020206e6574776f726b696e67416464726573733a20537472696e672c0a2020202020202020202020206e6574776f726b696e674b65793a20537472696e672c0a2020202020202020202020207374616b696e674b65793a20537472696e672c0a202020202020202020202020616d6f756e743a205546697836342c0a2020202020202020202020207075626c69634b6579733a205b43727970746f2e4b65794c697374456e7472795d3f29207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a0a20202020202020206966206c6574206d616368696e654163636f756e74203d2073656c662e7374616b696e67436f6c6c656374696f6e5265662e72656769737465724e6f6465280a20202020202020202020202069643a2069642c0a202020202020202020202020726f6c653a20726f6c652c0a2020202020202020202020206e6574776f726b696e67416464726573733a206e6574776f726b696e67416464726573732c0a2020202020202020202020206e6574776f726b696e674b65793a206e6574776f726b696e674b65792c0a2020202020202020202020207374616b696e674b65793a207374616b696e674b65792c0a202020202020202020202020616d6f756e743a20616d6f756e742c0a20202020202020202020202070617965723a206163636f756e7429200a20202020202020207b0a2020202020202020202020206966207075626c69634b657973203d3d206e696c207c7c207075626c69634b657973212e6c656e677468203d3d2030207b0a2020202020202020202020202020202070616e6963282243616e6e6f742070726f76696465207a65726f206b65797320666f7220746865206d616368696e65206163636f756e7422290a2020202020202020202020207d0a202020202020202020202020666f72206b657920696e207075626c69634b65797321207b0a202020202020202020202020202020206d616368696e654163636f756e742e6b6579732e616464287075626c69634b65793a206b65792e7075626c69634b65792c2068617368416c676f726974686d3a206b65792e68617368416c676f726974686d2c207765696768743a206b65792e776569676874290a2020202020202020202020207d0a20202020202020207d0a202020207d0a7d0af90279b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227d9c7b2274797065223a2255496e7438222c2276616c7565223a2231227daf7b2274797065223a22537472696e67222c2276616c7565223a22666c6f772d6e6f64652e746573743a33353639227db89c7b2274797065223a22537472696e67222c2276616c7565223a223133343833303762633737633638386538303034396465396430383161613039373535646133336536393937363035666130353964623231343466633835653536306362653666376461386437346234353366353931363631386362386664333932633264623835366633653738323231646336386462316231643931346534227db8dc7b2274797065223a22537472696e67222c2276616c7565223a22396539616530643634356664356664393035303739326530623064616138326363313638366439313333616661306638316137383462333735633432616534383536376431353435653761396531393635663263316133326637336366383537356562623761393637663665346431303464326466373865623862653430393133356431326461303439396238613030373731663634326331623963343933393766323262343430343339663033366333626465653832663533303964616233227db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da07b2274797065223a224f7074696f6e616c222c2276616c7565223a6e756c6c7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", - "encodedTransactionEnvelopeHex": "f9084df90849b9058a696d706f72742043727970746f0a696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f2052656769737465727320612064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e207265736f757263650a2f2f2f20666f722074686520737065636966696564206e6f646520696e666f726d6174696f6e20616e642074686520616d6f756e74206f6620746f6b656e7320746f20636f6d6d69740a0a7472616e73616374696f6e2869643a20537472696e672c0a202020202020202020202020726f6c653a2055496e74382c0a2020202020202020202020206e6574776f726b696e67416464726573733a20537472696e672c0a2020202020202020202020206e6574776f726b696e674b65793a20537472696e672c0a2020202020202020202020207374616b696e674b65793a20537472696e672c0a202020202020202020202020616d6f756e743a205546697836342c0a2020202020202020202020207075626c69634b6579733a205b43727970746f2e4b65794c697374456e7472795d3f29207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a0a20202020202020206966206c6574206d616368696e654163636f756e74203d2073656c662e7374616b696e67436f6c6c656374696f6e5265662e72656769737465724e6f6465280a20202020202020202020202069643a2069642c0a202020202020202020202020726f6c653a20726f6c652c0a2020202020202020202020206e6574776f726b696e67416464726573733a206e6574776f726b696e67416464726573732c0a2020202020202020202020206e6574776f726b696e674b65793a206e6574776f726b696e674b65792c0a2020202020202020202020207374616b696e674b65793a207374616b696e674b65792c0a202020202020202020202020616d6f756e743a20616d6f756e742c0a20202020202020202020202070617965723a206163636f756e7429200a20202020202020207b0a2020202020202020202020206966207075626c69634b657973203d3d206e696c207c7c207075626c69634b657973212e6c656e677468203d3d2030207b0a2020202020202020202020202020202070616e6963282243616e6e6f742070726f76696465207a65726f206b65797320666f7220746865206d616368696e65206163636f756e7422290a2020202020202020202020207d0a202020202020202020202020666f72206b657920696e207075626c69634b65797321207b0a202020202020202020202020202020206d616368696e654163636f756e742e6b6579732e616464287075626c69634b65793a206b65792e7075626c69634b65792c2068617368416c676f726974686d3a206b65792e68617368416c676f726974686d2c207765696768743a206b65792e776569676874290a2020202020202020202020207d0a20202020202020207d0a202020207d0a7d0af90279b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227d9c7b2274797065223a2255496e7438222c2276616c7565223a2231227daf7b2274797065223a22537472696e67222c2276616c7565223a22666c6f772d6e6f64652e746573743a33353639227db89c7b2274797065223a22537472696e67222c2276616c7565223a223133343833303762633737633638386538303034396465396430383161613039373535646133336536393937363035666130353964623231343466633835653536306362653666376461386437346234353366353931363631386362386664333932633264623835366633653738323231646336386462316231643931346534227db8dc7b2274797065223a22537472696e67222c2276616c7565223a22396539616530643634356664356664393035303739326530623064616138326363313638366439313333616661306638316137383462333735633432616534383536376431353435653761396531393635663263316133326637336366383537356562623761393637663665346431303464326466373865623862653430393133356431326461303439396238613030373731663634326331623963343933393766323262343430343339663033366333626465653832663533303964616233227db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da07b2274797065223a224f7074696f6e616c222c2276616c7565223a6e756c6c7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", - "metadata": "029246ec9b7a5c81151156e7c2f6d356f68b1b884f88728daca46b968d9a46cd5a79de7119aea61bdafb39cc3d1f4fa17ca802c2732726a86d2c636dbc19808b685265676973746572204e6f64650007014e6f64652049440000537472696e670003014e6f646520526f6c65000155496e74380003014e6574772e20416464726573730002537472696e670003014e6574772e204b65790003537472696e670003015374616b696e67204b65790004537472696e67000301416d6f756e74000555466978363400030400035075622e204b65790006537472696e670003", - "hash": "9246ec9b7a5c81151156e7c2f6d356f68b1b884f88728daca46b968d9a46cd5a" - }, - { - "title": "SCO.03 - Register Node - 2", - "valid": true, - "chainID": "Testnet", - "payloadMessage": { - "script": "import Crypto\nimport FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// Registers a delegator in the staking collection resource\n/// for the specified node information and the amount of tokens to commit\n\ntransaction(id: String,\n role: UInt8,\n networkingAddress: String,\n networkingKey: String,\n stakingKey: String,\n amount: UFix64,\n publicKeys: [Crypto.KeyListEntry]?) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n\n if let machineAccount = self.stakingCollectionRef.registerNode(\n id: id,\n role: role,\n networkingAddress: networkingAddress,\n networkingKey: networkingKey,\n stakingKey: stakingKey,\n amount: amount,\n payer: account) \n {\n if publicKeys == nil || publicKeys!.length == 0 {\n panic(\"Cannot provide zero keys for the machine account\")\n }\n for key in publicKeys! {\n machineAccount.keys.add(publicKey: key.publicKey, hashAlgorithm: key.hashAlgorithm, weight: key.weight)\n }\n }\n }\n}\n", - "arguments": [ - { - "type": "String", - "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" - }, - { - "type": "UInt8", - "value": "1" - }, - { - "type": "String", - "value": "flow-node.test:3569" - }, - { - "type": "String", - "value": "1348307bc77c688e80049de9d081aa09755da33e6997605fa059db2144fc85e560cbe6f7da8d74b453f5916618cb8fd392c2db856f3e78221dc68db1b1d914e4" - }, - { - "type": "String", - "value": "9e9ae0d645fd5fd9050792e0b0daa82cc1686d9133afa0f81a784b375c42ae48567d1545e7a9e1965f2c1a32f73cf8575ebb7a967f6e4d104d2df78eb8be409135d12da0499b8a00771f642c1b9c49397f22b440439f036c3bdee82f5309dab3" - }, - { - "type": "UFix64", - "value": "92233720368.54775808" - }, - { - "type": "Optional", - "value": { - "type": "Array", - "value": [] - } - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "99a8ac2c71d4f6bd", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "99a8ac2c71d4f6bd", - "authorizers": [ - "99a8ac2c71d4f6bd" - ], - "payloadSigs": [ - { - "address": "99a8ac2c71d4f6bd", - "keyId": 4, - "sig": "f7225388c1d69d57e6251c9fda50cbbf9e05131e5adb81e5aa0422402f048162" - } - ] - }, - "envelopeMessage": { - "script": "import Crypto\nimport FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// Registers a delegator in the staking collection resource\n/// for the specified node information and the amount of tokens to commit\n\ntransaction(id: String,\n role: UInt8,\n networkingAddress: String,\n networkingKey: String,\n stakingKey: String,\n amount: UFix64,\n publicKeys: [Crypto.KeyListEntry]?) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n\n if let machineAccount = self.stakingCollectionRef.registerNode(\n id: id,\n role: role,\n networkingAddress: networkingAddress,\n networkingKey: networkingKey,\n stakingKey: stakingKey,\n amount: amount,\n payer: account) \n {\n if publicKeys == nil || publicKeys!.length == 0 {\n panic(\"Cannot provide zero keys for the machine account\")\n }\n for key in publicKeys! {\n machineAccount.keys.add(publicKey: key.publicKey, hashAlgorithm: key.hashAlgorithm, weight: key.weight)\n }\n }\n }\n}\n", - "arguments": [ - { - "type": "String", - "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" - }, - { - "type": "UInt8", - "value": "1" - }, - { - "type": "String", - "value": "flow-node.test:3569" - }, - { - "type": "String", - "value": "1348307bc77c688e80049de9d081aa09755da33e6997605fa059db2144fc85e560cbe6f7da8d74b453f5916618cb8fd392c2db856f3e78221dc68db1b1d914e4" - }, - { - "type": "String", - "value": "9e9ae0d645fd5fd9050792e0b0daa82cc1686d9133afa0f81a784b375c42ae48567d1545e7a9e1965f2c1a32f73cf8575ebb7a967f6e4d104d2df78eb8be409135d12da0499b8a00771f642c1b9c49397f22b440439f036c3bdee82f5309dab3" - }, - { - "type": "UFix64", - "value": "92233720368.54775808" - }, - { - "type": "Optional", - "value": { - "type": "Array", - "value": [] - } - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "99a8ac2c71d4f6bd", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "99a8ac2c71d4f6bd", - "authorizers": [ - "99a8ac2c71d4f6bd" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f90860b9058a696d706f72742043727970746f0a696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f2052656769737465727320612064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e207265736f757263650a2f2f2f20666f722074686520737065636966696564206e6f646520696e666f726d6174696f6e20616e642074686520616d6f756e74206f6620746f6b656e7320746f20636f6d6d69740a0a7472616e73616374696f6e2869643a20537472696e672c0a202020202020202020202020726f6c653a2055496e74382c0a2020202020202020202020206e6574776f726b696e67416464726573733a20537472696e672c0a2020202020202020202020206e6574776f726b696e674b65793a20537472696e672c0a2020202020202020202020207374616b696e674b65793a20537472696e672c0a202020202020202020202020616d6f756e743a205546697836342c0a2020202020202020202020207075626c69634b6579733a205b43727970746f2e4b65794c697374456e7472795d3f29207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a0a20202020202020206966206c6574206d616368696e654163636f756e74203d2073656c662e7374616b696e67436f6c6c656374696f6e5265662e72656769737465724e6f6465280a20202020202020202020202069643a2069642c0a202020202020202020202020726f6c653a20726f6c652c0a2020202020202020202020206e6574776f726b696e67416464726573733a206e6574776f726b696e67416464726573732c0a2020202020202020202020206e6574776f726b696e674b65793a206e6574776f726b696e674b65792c0a2020202020202020202020207374616b696e674b65793a207374616b696e674b65792c0a202020202020202020202020616d6f756e743a20616d6f756e742c0a20202020202020202020202070617965723a206163636f756e7429200a20202020202020207b0a2020202020202020202020206966207075626c69634b657973203d3d206e696c207c7c207075626c69634b657973212e6c656e677468203d3d2030207b0a2020202020202020202020202020202070616e6963282243616e6e6f742070726f76696465207a65726f206b65797320666f7220746865206d616368696e65206163636f756e7422290a2020202020202020202020207d0a202020202020202020202020666f72206b657920696e207075626c69634b65797321207b0a202020202020202020202020202020206d616368696e654163636f756e742e6b6579732e616464287075626c69634b65793a206b65792e7075626c69634b65792c2068617368416c676f726974686d3a206b65792e68617368416c676f726974686d2c207765696768743a206b65792e776569676874290a2020202020202020202020207d0a20202020202020207d0a202020207d0a7d0af90290b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227d9c7b2274797065223a2255496e7438222c2276616c7565223a2231227daf7b2274797065223a22537472696e67222c2276616c7565223a22666c6f772d6e6f64652e746573743a33353639227db89c7b2274797065223a22537472696e67222c2276616c7565223a223133343833303762633737633638386538303034396465396430383161613039373535646133336536393937363035666130353964623231343466633835653536306362653666376461386437346234353366353931363631386362386664333932633264623835366633653738323231646336386462316231643931346534227db8dc7b2274797065223a22537472696e67222c2276616c7565223a22396539616530643634356664356664393035303739326530623064616138326363313638366439313333616661306638316137383462333735633432616534383536376431353435653761396531393635663263316133326637336366383537356562623761393637663665346431303464326466373865623862653430393133356431326461303439396238613030373731663634326331623963343933393766323262343430343339663033366333626465653832663533303964616233227db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227db77b2274797065223a224f7074696f6e616c222c2276616c7565223a7b2274797065223a224172726179222c2276616c7565223a5b5d7d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", - "encodedTransactionEnvelopeHex": "f90864f90860b9058a696d706f72742043727970746f0a696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f2052656769737465727320612064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e207265736f757263650a2f2f2f20666f722074686520737065636966696564206e6f646520696e666f726d6174696f6e20616e642074686520616d6f756e74206f6620746f6b656e7320746f20636f6d6d69740a0a7472616e73616374696f6e2869643a20537472696e672c0a202020202020202020202020726f6c653a2055496e74382c0a2020202020202020202020206e6574776f726b696e67416464726573733a20537472696e672c0a2020202020202020202020206e6574776f726b696e674b65793a20537472696e672c0a2020202020202020202020207374616b696e674b65793a20537472696e672c0a202020202020202020202020616d6f756e743a205546697836342c0a2020202020202020202020207075626c69634b6579733a205b43727970746f2e4b65794c697374456e7472795d3f29207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a0a20202020202020206966206c6574206d616368696e654163636f756e74203d2073656c662e7374616b696e67436f6c6c656374696f6e5265662e72656769737465724e6f6465280a20202020202020202020202069643a2069642c0a202020202020202020202020726f6c653a20726f6c652c0a2020202020202020202020206e6574776f726b696e67416464726573733a206e6574776f726b696e67416464726573732c0a2020202020202020202020206e6574776f726b696e674b65793a206e6574776f726b696e674b65792c0a2020202020202020202020207374616b696e674b65793a207374616b696e674b65792c0a202020202020202020202020616d6f756e743a20616d6f756e742c0a20202020202020202020202070617965723a206163636f756e7429200a20202020202020207b0a2020202020202020202020206966207075626c69634b657973203d3d206e696c207c7c207075626c69634b657973212e6c656e677468203d3d2030207b0a2020202020202020202020202020202070616e6963282243616e6e6f742070726f76696465207a65726f206b65797320666f7220746865206d616368696e65206163636f756e7422290a2020202020202020202020207d0a202020202020202020202020666f72206b657920696e207075626c69634b65797321207b0a202020202020202020202020202020206d616368696e654163636f756e742e6b6579732e616464287075626c69634b65793a206b65792e7075626c69634b65792c2068617368416c676f726974686d3a206b65792e68617368416c676f726974686d2c207765696768743a206b65792e776569676874290a2020202020202020202020207d0a20202020202020207d0a202020207d0a7d0af90290b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227d9c7b2274797065223a2255496e7438222c2276616c7565223a2231227daf7b2274797065223a22537472696e67222c2276616c7565223a22666c6f772d6e6f64652e746573743a33353639227db89c7b2274797065223a22537472696e67222c2276616c7565223a223133343833303762633737633638386538303034396465396430383161613039373535646133336536393937363035666130353964623231343466633835653536306362653666376461386437346234353366353931363631386362386664333932633264623835366633653738323231646336386462316231643931346534227db8dc7b2274797065223a22537472696e67222c2276616c7565223a22396539616530643634356664356664393035303739326530623064616138326363313638366439313333616661306638316137383462333735633432616534383536376431353435653761396531393635663263316133326637336366383537356562623761393637663665346431303464326466373865623862653430393133356431326461303439396238613030373731663634326331623963343933393766323262343430343339663033366333626465653832663533303964616233227db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227db77b2274797065223a224f7074696f6e616c222c2276616c7565223a7b2274797065223a224172726179222c2276616c7565223a5b5d7d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", - "metadata": "029246ec9b7a5c81151156e7c2f6d356f68b1b884f88728daca46b968d9a46cd5a79de7119aea61bdafb39cc3d1f4fa17ca802c2732726a86d2c636dbc19808b685265676973746572204e6f64650007014e6f64652049440000537472696e670003014e6f646520526f6c65000155496e74380003014e6574772e20416464726573730002537472696e670003014e6574772e204b65790003537472696e670003015374616b696e67204b65790004537472696e67000301416d6f756e74000555466978363400030400035075622e204b65790006537472696e670003", - "hash": "9246ec9b7a5c81151156e7c2f6d356f68b1b884f88728daca46b968d9a46cd5a" - }, - { - "title": "SCO.03 - Register Node - 3", - "valid": true, - "chainID": "Testnet", - "payloadMessage": { - "script": "import Crypto\nimport FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// Registers a delegator in the staking collection resource\n/// for the specified node information and the amount of tokens to commit\n\ntransaction(id: String,\n role: UInt8,\n networkingAddress: String,\n networkingKey: String,\n stakingKey: String,\n amount: UFix64,\n publicKeys: [Crypto.KeyListEntry]?) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n\n if let machineAccount = self.stakingCollectionRef.registerNode(\n id: id,\n role: role,\n networkingAddress: networkingAddress,\n networkingKey: networkingKey,\n stakingKey: stakingKey,\n amount: amount,\n payer: account) \n {\n if publicKeys == nil || publicKeys!.length == 0 {\n panic(\"Cannot provide zero keys for the machine account\")\n }\n for key in publicKeys! {\n machineAccount.keys.add(publicKey: key.publicKey, hashAlgorithm: key.hashAlgorithm, weight: key.weight)\n }\n }\n }\n}\n", - "arguments": [ - { - "type": "String", - "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" - }, - { - "type": "UInt8", - "value": "1" - }, - { - "type": "String", - "value": "flow-node.test:3569" - }, - { - "type": "String", - "value": "1348307bc77c688e80049de9d081aa09755da33e6997605fa059db2144fc85e560cbe6f7da8d74b453f5916618cb8fd392c2db856f3e78221dc68db1b1d914e4" - }, - { - "type": "String", - "value": "9e9ae0d645fd5fd9050792e0b0daa82cc1686d9133afa0f81a784b375c42ae48567d1545e7a9e1965f2c1a32f73cf8575ebb7a967f6e4d104d2df78eb8be409135d12da0499b8a00771f642c1b9c49397f22b440439f036c3bdee82f5309dab3" - }, - { - "type": "UFix64", - "value": "92233720368.54775808" - }, - { - "type": "Optional", - "value": { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164" - } - ] - } - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "99a8ac2c71d4f6bd", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "99a8ac2c71d4f6bd", - "authorizers": [ - "99a8ac2c71d4f6bd" - ], - "payloadSigs": [ - { - "address": "99a8ac2c71d4f6bd", - "keyId": 4, - "sig": "f7225388c1d69d57e6251c9fda50cbbf9e05131e5adb81e5aa0422402f048162" - } - ] - }, - "envelopeMessage": { - "script": "import Crypto\nimport FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// Registers a delegator in the staking collection resource\n/// for the specified node information and the amount of tokens to commit\n\ntransaction(id: String,\n role: UInt8,\n networkingAddress: String,\n networkingKey: String,\n stakingKey: String,\n amount: UFix64,\n publicKeys: [Crypto.KeyListEntry]?) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n\n if let machineAccount = self.stakingCollectionRef.registerNode(\n id: id,\n role: role,\n networkingAddress: networkingAddress,\n networkingKey: networkingKey,\n stakingKey: stakingKey,\n amount: amount,\n payer: account) \n {\n if publicKeys == nil || publicKeys!.length == 0 {\n panic(\"Cannot provide zero keys for the machine account\")\n }\n for key in publicKeys! {\n machineAccount.keys.add(publicKey: key.publicKey, hashAlgorithm: key.hashAlgorithm, weight: key.weight)\n }\n }\n }\n}\n", - "arguments": [ - { - "type": "String", - "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" - }, - { - "type": "UInt8", - "value": "1" - }, - { - "type": "String", - "value": "flow-node.test:3569" - }, - { - "type": "String", - "value": "1348307bc77c688e80049de9d081aa09755da33e6997605fa059db2144fc85e560cbe6f7da8d74b453f5916618cb8fd392c2db856f3e78221dc68db1b1d914e4" - }, - { - "type": "String", - "value": "9e9ae0d645fd5fd9050792e0b0daa82cc1686d9133afa0f81a784b375c42ae48567d1545e7a9e1965f2c1a32f73cf8575ebb7a967f6e4d104d2df78eb8be409135d12da0499b8a00771f642c1b9c49397f22b440439f036c3bdee82f5309dab3" - }, - { - "type": "UFix64", - "value": "92233720368.54775808" - }, - { - "type": "Optional", - "value": { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164" - } - ] - } - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "99a8ac2c71d4f6bd", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "99a8ac2c71d4f6bd", - "authorizers": [ - "99a8ac2c71d4f6bd" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f9090bb9058a696d706f72742043727970746f0a696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f2052656769737465727320612064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e207265736f757263650a2f2f2f20666f722074686520737065636966696564206e6f646520696e666f726d6174696f6e20616e642074686520616d6f756e74206f6620746f6b656e7320746f20636f6d6d69740a0a7472616e73616374696f6e2869643a20537472696e672c0a202020202020202020202020726f6c653a2055496e74382c0a2020202020202020202020206e6574776f726b696e67416464726573733a20537472696e672c0a2020202020202020202020206e6574776f726b696e674b65793a20537472696e672c0a2020202020202020202020207374616b696e674b65793a20537472696e672c0a202020202020202020202020616d6f756e743a205546697836342c0a2020202020202020202020207075626c69634b6579733a205b43727970746f2e4b65794c697374456e7472795d3f29207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a0a20202020202020206966206c6574206d616368696e654163636f756e74203d2073656c662e7374616b696e67436f6c6c656374696f6e5265662e72656769737465724e6f6465280a20202020202020202020202069643a2069642c0a202020202020202020202020726f6c653a20726f6c652c0a2020202020202020202020206e6574776f726b696e67416464726573733a206e6574776f726b696e67416464726573732c0a2020202020202020202020206e6574776f726b696e674b65793a206e6574776f726b696e674b65792c0a2020202020202020202020207374616b696e674b65793a207374616b696e674b65792c0a202020202020202020202020616d6f756e743a20616d6f756e742c0a20202020202020202020202070617965723a206163636f756e7429200a20202020202020207b0a2020202020202020202020206966207075626c69634b657973203d3d206e696c207c7c207075626c69634b657973212e6c656e677468203d3d2030207b0a2020202020202020202020202020202070616e6963282243616e6e6f742070726f76696465207a65726f206b65797320666f7220746865206d616368696e65206163636f756e7422290a2020202020202020202020207d0a202020202020202020202020666f72206b657920696e207075626c69634b65797321207b0a202020202020202020202020202020206d616368696e654163636f756e742e6b6579732e616464287075626c69634b65793a206b65792e7075626c69634b65792c2068617368416c676f726974686d3a206b65792e68617368416c676f726974686d2c207765696768743a206b65792e776569676874290a2020202020202020202020207d0a20202020202020207d0a202020207d0a7d0af9033bb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227d9c7b2274797065223a2255496e7438222c2276616c7565223a2231227daf7b2274797065223a22537472696e67222c2276616c7565223a22666c6f772d6e6f64652e746573743a33353639227db89c7b2274797065223a22537472696e67222c2276616c7565223a223133343833303762633737633638386538303034396465396430383161613039373535646133336536393937363035666130353964623231343466633835653536306362653666376461386437346234353366353931363631386362386664333932633264623835366633653738323231646336386462316231643931346534227db8dc7b2274797065223a22537472696e67222c2276616c7565223a22396539616530643634356664356664393035303739326530623064616138326363313638366439313333616661306638316137383462333735633432616534383536376431353435653761396531393635663263316133326637336366383537356562623761393637663665346431303464326466373865623862653430393133356431326461303439396238613030373731663634326331623963343933393766323262343430343339663033366333626465653832663533303964616233227db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227db8e17b2274797065223a224f7074696f6e616c222c2276616c7565223a7b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634227d5d7d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", - "encodedTransactionEnvelopeHex": "f9090ff9090bb9058a696d706f72742043727970746f0a696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f2052656769737465727320612064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e207265736f757263650a2f2f2f20666f722074686520737065636966696564206e6f646520696e666f726d6174696f6e20616e642074686520616d6f756e74206f6620746f6b656e7320746f20636f6d6d69740a0a7472616e73616374696f6e2869643a20537472696e672c0a202020202020202020202020726f6c653a2055496e74382c0a2020202020202020202020206e6574776f726b696e67416464726573733a20537472696e672c0a2020202020202020202020206e6574776f726b696e674b65793a20537472696e672c0a2020202020202020202020207374616b696e674b65793a20537472696e672c0a202020202020202020202020616d6f756e743a205546697836342c0a2020202020202020202020207075626c69634b6579733a205b43727970746f2e4b65794c697374456e7472795d3f29207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a0a20202020202020206966206c6574206d616368696e654163636f756e74203d2073656c662e7374616b696e67436f6c6c656374696f6e5265662e72656769737465724e6f6465280a20202020202020202020202069643a2069642c0a202020202020202020202020726f6c653a20726f6c652c0a2020202020202020202020206e6574776f726b696e67416464726573733a206e6574776f726b696e67416464726573732c0a2020202020202020202020206e6574776f726b696e674b65793a206e6574776f726b696e674b65792c0a2020202020202020202020207374616b696e674b65793a207374616b696e674b65792c0a202020202020202020202020616d6f756e743a20616d6f756e742c0a20202020202020202020202070617965723a206163636f756e7429200a20202020202020207b0a2020202020202020202020206966207075626c69634b657973203d3d206e696c207c7c207075626c69634b657973212e6c656e677468203d3d2030207b0a2020202020202020202020202020202070616e6963282243616e6e6f742070726f76696465207a65726f206b65797320666f7220746865206d616368696e65206163636f756e7422290a2020202020202020202020207d0a202020202020202020202020666f72206b657920696e207075626c69634b65797321207b0a202020202020202020202020202020206d616368696e654163636f756e742e6b6579732e616464287075626c69634b65793a206b65792e7075626c69634b65792c2068617368416c676f726974686d3a206b65792e68617368416c676f726974686d2c207765696768743a206b65792e776569676874290a2020202020202020202020207d0a20202020202020207d0a202020207d0a7d0af9033bb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227d9c7b2274797065223a2255496e7438222c2276616c7565223a2231227daf7b2274797065223a22537472696e67222c2276616c7565223a22666c6f772d6e6f64652e746573743a33353639227db89c7b2274797065223a22537472696e67222c2276616c7565223a223133343833303762633737633638386538303034396465396430383161613039373535646133336536393937363035666130353964623231343466633835653536306362653666376461386437346234353366353931363631386362386664333932633264623835366633653738323231646336386462316231643931346534227db8dc7b2274797065223a22537472696e67222c2276616c7565223a22396539616530643634356664356664393035303739326530623064616138326363313638366439313333616661306638316137383462333735633432616534383536376431353435653761396531393635663263316133326637336366383537356562623761393637663665346431303464326466373865623862653430393133356431326461303439396238613030373731663634326331623963343933393766323262343430343339663033366333626465653832663533303964616233227db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227db8e17b2274797065223a224f7074696f6e616c222c2276616c7565223a7b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634227d5d7d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", - "metadata": "029246ec9b7a5c81151156e7c2f6d356f68b1b884f88728daca46b968d9a46cd5a79de7119aea61bdafb39cc3d1f4fa17ca802c2732726a86d2c636dbc19808b685265676973746572204e6f64650007014e6f64652049440000537472696e670003014e6f646520526f6c65000155496e74380003014e6574772e20416464726573730002537472696e670003014e6574772e204b65790003537472696e670003015374616b696e67204b65790004537472696e67000301416d6f756e74000555466978363400030400035075622e204b65790006537472696e670003", - "hash": "9246ec9b7a5c81151156e7c2f6d356f68b1b884f88728daca46b968d9a46cd5a" - }, - { - "title": "SCO.03 - Register Node - 4", - "valid": true, - "chainID": "Testnet", - "payloadMessage": { - "script": "import Crypto\nimport FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// Registers a delegator in the staking collection resource\n/// for the specified node information and the amount of tokens to commit\n\ntransaction(id: String,\n role: UInt8,\n networkingAddress: String,\n networkingKey: String,\n stakingKey: String,\n amount: UFix64,\n publicKeys: [Crypto.KeyListEntry]?) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n\n if let machineAccount = self.stakingCollectionRef.registerNode(\n id: id,\n role: role,\n networkingAddress: networkingAddress,\n networkingKey: networkingKey,\n stakingKey: stakingKey,\n amount: amount,\n payer: account) \n {\n if publicKeys == nil || publicKeys!.length == 0 {\n panic(\"Cannot provide zero keys for the machine account\")\n }\n for key in publicKeys! {\n machineAccount.keys.add(publicKey: key.publicKey, hashAlgorithm: key.hashAlgorithm, weight: key.weight)\n }\n }\n }\n}\n", - "arguments": [ - { - "type": "String", - "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" - }, - { - "type": "UInt8", - "value": "1" - }, - { - "type": "String", - "value": "flow-node.test:3569" - }, - { - "type": "String", - "value": "1348307bc77c688e80049de9d081aa09755da33e6997605fa059db2144fc85e560cbe6f7da8d74b453f5916618cb8fd392c2db856f3e78221dc68db1b1d914e4" - }, - { - "type": "String", - "value": "9e9ae0d645fd5fd9050792e0b0daa82cc1686d9133afa0f81a784b375c42ae48567d1545e7a9e1965f2c1a32f73cf8575ebb7a967f6e4d104d2df78eb8be409135d12da0499b8a00771f642c1b9c49397f22b440439f036c3bdee82f5309dab3" - }, - { - "type": "UFix64", - "value": "92233720368.54775808" - }, - { - "type": "Optional", - "value": { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164" - }, - { - "type": "String", - "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164" - }, - { - "type": "String", - "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164" - } - ] - } - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "99a8ac2c71d4f6bd", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "99a8ac2c71d4f6bd", - "authorizers": [ - "99a8ac2c71d4f6bd" - ], - "payloadSigs": [ - { - "address": "99a8ac2c71d4f6bd", - "keyId": 4, - "sig": "f7225388c1d69d57e6251c9fda50cbbf9e05131e5adb81e5aa0422402f048162" - } - ] - }, - "envelopeMessage": { - "script": "import Crypto\nimport FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// Registers a delegator in the staking collection resource\n/// for the specified node information and the amount of tokens to commit\n\ntransaction(id: String,\n role: UInt8,\n networkingAddress: String,\n networkingKey: String,\n stakingKey: String,\n amount: UFix64,\n publicKeys: [Crypto.KeyListEntry]?) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n\n if let machineAccount = self.stakingCollectionRef.registerNode(\n id: id,\n role: role,\n networkingAddress: networkingAddress,\n networkingKey: networkingKey,\n stakingKey: stakingKey,\n amount: amount,\n payer: account) \n {\n if publicKeys == nil || publicKeys!.length == 0 {\n panic(\"Cannot provide zero keys for the machine account\")\n }\n for key in publicKeys! {\n machineAccount.keys.add(publicKey: key.publicKey, hashAlgorithm: key.hashAlgorithm, weight: key.weight)\n }\n }\n }\n}\n", - "arguments": [ - { - "type": "String", - "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" - }, - { - "type": "UInt8", - "value": "1" - }, - { - "type": "String", - "value": "flow-node.test:3569" - }, - { - "type": "String", - "value": "1348307bc77c688e80049de9d081aa09755da33e6997605fa059db2144fc85e560cbe6f7da8d74b453f5916618cb8fd392c2db856f3e78221dc68db1b1d914e4" - }, - { - "type": "String", - "value": "9e9ae0d645fd5fd9050792e0b0daa82cc1686d9133afa0f81a784b375c42ae48567d1545e7a9e1965f2c1a32f73cf8575ebb7a967f6e4d104d2df78eb8be409135d12da0499b8a00771f642c1b9c49397f22b440439f036c3bdee82f5309dab3" - }, - { - "type": "UFix64", - "value": "92233720368.54775808" - }, - { - "type": "Optional", - "value": { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164" - }, - { - "type": "String", - "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164" - }, - { - "type": "String", - "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164" - } - ] - } - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "99a8ac2c71d4f6bd", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "99a8ac2c71d4f6bd", - "authorizers": [ - "99a8ac2c71d4f6bd" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f90a62b9058a696d706f72742043727970746f0a696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f2052656769737465727320612064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e207265736f757263650a2f2f2f20666f722074686520737065636966696564206e6f646520696e666f726d6174696f6e20616e642074686520616d6f756e74206f6620746f6b656e7320746f20636f6d6d69740a0a7472616e73616374696f6e2869643a20537472696e672c0a202020202020202020202020726f6c653a2055496e74382c0a2020202020202020202020206e6574776f726b696e67416464726573733a20537472696e672c0a2020202020202020202020206e6574776f726b696e674b65793a20537472696e672c0a2020202020202020202020207374616b696e674b65793a20537472696e672c0a202020202020202020202020616d6f756e743a205546697836342c0a2020202020202020202020207075626c69634b6579733a205b43727970746f2e4b65794c697374456e7472795d3f29207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a0a20202020202020206966206c6574206d616368696e654163636f756e74203d2073656c662e7374616b696e67436f6c6c656374696f6e5265662e72656769737465724e6f6465280a20202020202020202020202069643a2069642c0a202020202020202020202020726f6c653a20726f6c652c0a2020202020202020202020206e6574776f726b696e67416464726573733a206e6574776f726b696e67416464726573732c0a2020202020202020202020206e6574776f726b696e674b65793a206e6574776f726b696e674b65792c0a2020202020202020202020207374616b696e674b65793a207374616b696e674b65792c0a202020202020202020202020616d6f756e743a20616d6f756e742c0a20202020202020202020202070617965723a206163636f756e7429200a20202020202020207b0a2020202020202020202020206966207075626c69634b657973203d3d206e696c207c7c207075626c69634b657973212e6c656e677468203d3d2030207b0a2020202020202020202020202020202070616e6963282243616e6e6f742070726f76696465207a65726f206b65797320666f7220746865206d616368696e65206163636f756e7422290a2020202020202020202020207d0a202020202020202020202020666f72206b657920696e207075626c69634b65797321207b0a202020202020202020202020202020206d616368696e654163636f756e742e6b6579732e616464287075626c69634b65793a206b65792e7075626c69634b65792c2068617368416c676f726974686d3a206b65792e68617368416c676f726974686d2c207765696768743a206b65792e776569676874290a2020202020202020202020207d0a20202020202020207d0a202020207d0a7d0af90492b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227d9c7b2274797065223a2255496e7438222c2276616c7565223a2231227daf7b2274797065223a22537472696e67222c2276616c7565223a22666c6f772d6e6f64652e746573743a33353639227db89c7b2274797065223a22537472696e67222c2276616c7565223a223133343833303762633737633638386538303034396465396430383161613039373535646133336536393937363035666130353964623231343466633835653536306362653666376461386437346234353366353931363631386362386664333932633264623835366633653738323231646336386462316231643931346534227db8dc7b2274797065223a22537472696e67222c2276616c7565223a22396539616530643634356664356664393035303739326530623064616138326363313638366439313333616661306638316137383462333735633432616534383536376431353435653761396531393635663263316133326637336366383537356562623761393637663665346431303464326466373865623862653430393133356431326461303439396238613030373731663634326331623963343933393766323262343430343339663033366333626465653832663533303964616233227db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227db902377b2274797065223a224f7074696f6e616c222c2276616c7565223a7b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634227d2c7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634227d2c7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634227d5d7d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", - "encodedTransactionEnvelopeHex": "f90a66f90a62b9058a696d706f72742043727970746f0a696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f2052656769737465727320612064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e207265736f757263650a2f2f2f20666f722074686520737065636966696564206e6f646520696e666f726d6174696f6e20616e642074686520616d6f756e74206f6620746f6b656e7320746f20636f6d6d69740a0a7472616e73616374696f6e2869643a20537472696e672c0a202020202020202020202020726f6c653a2055496e74382c0a2020202020202020202020206e6574776f726b696e67416464726573733a20537472696e672c0a2020202020202020202020206e6574776f726b696e674b65793a20537472696e672c0a2020202020202020202020207374616b696e674b65793a20537472696e672c0a202020202020202020202020616d6f756e743a205546697836342c0a2020202020202020202020207075626c69634b6579733a205b43727970746f2e4b65794c697374456e7472795d3f29207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a0a20202020202020206966206c6574206d616368696e654163636f756e74203d2073656c662e7374616b696e67436f6c6c656374696f6e5265662e72656769737465724e6f6465280a20202020202020202020202069643a2069642c0a202020202020202020202020726f6c653a20726f6c652c0a2020202020202020202020206e6574776f726b696e67416464726573733a206e6574776f726b696e67416464726573732c0a2020202020202020202020206e6574776f726b696e674b65793a206e6574776f726b696e674b65792c0a2020202020202020202020207374616b696e674b65793a207374616b696e674b65792c0a202020202020202020202020616d6f756e743a20616d6f756e742c0a20202020202020202020202070617965723a206163636f756e7429200a20202020202020207b0a2020202020202020202020206966207075626c69634b657973203d3d206e696c207c7c207075626c69634b657973212e6c656e677468203d3d2030207b0a2020202020202020202020202020202070616e6963282243616e6e6f742070726f76696465207a65726f206b65797320666f7220746865206d616368696e65206163636f756e7422290a2020202020202020202020207d0a202020202020202020202020666f72206b657920696e207075626c69634b65797321207b0a202020202020202020202020202020206d616368696e654163636f756e742e6b6579732e616464287075626c69634b65793a206b65792e7075626c69634b65792c2068617368416c676f726974686d3a206b65792e68617368416c676f726974686d2c207765696768743a206b65792e776569676874290a2020202020202020202020207d0a20202020202020207d0a202020207d0a7d0af90492b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227d9c7b2274797065223a2255496e7438222c2276616c7565223a2231227daf7b2274797065223a22537472696e67222c2276616c7565223a22666c6f772d6e6f64652e746573743a33353639227db89c7b2274797065223a22537472696e67222c2276616c7565223a223133343833303762633737633638386538303034396465396430383161613039373535646133336536393937363035666130353964623231343466633835653536306362653666376461386437346234353366353931363631386362386664333932633264623835366633653738323231646336386462316231643931346534227db8dc7b2274797065223a22537472696e67222c2276616c7565223a22396539616530643634356664356664393035303739326530623064616138326363313638366439313333616661306638316137383462333735633432616534383536376431353435653761396531393635663263316133326637336366383537356562623761393637663665346431303464326466373865623862653430393133356431326461303439396238613030373731663634326331623963343933393766323262343430343339663033366333626465653832663533303964616233227db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227db902377b2274797065223a224f7074696f6e616c222c2276616c7565223a7b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634227d2c7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634227d2c7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634227d5d7d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", - "metadata": "029246ec9b7a5c81151156e7c2f6d356f68b1b884f88728daca46b968d9a46cd5a79de7119aea61bdafb39cc3d1f4fa17ca802c2732726a86d2c636dbc19808b685265676973746572204e6f64650007014e6f64652049440000537472696e670003014e6f646520526f6c65000155496e74380003014e6574772e20416464726573730002537472696e670003014e6574772e204b65790003537472696e670003015374616b696e67204b65790004537472696e67000301416d6f756e74000555466978363400030400035075622e204b65790006537472696e670003", - "hash": "9246ec9b7a5c81151156e7c2f6d356f68b1b884f88728daca46b968d9a46cd5a" - }, - { - "title": "SCO.04 - Create Machine Account - 1", - "valid": true, - "chainID": "Testnet", - "payloadMessage": { - "script": "import Crypto\nimport FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// Creates a machine account for a node that is already in the staking collection\n/// and adds public keys to the new account\n\ntransaction(nodeID: String, publicKeys: [Crypto.KeyListEntry]) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n\n if let machineAccount = self.stakingCollectionRef.createMachineAccountForExistingNode(nodeID: nodeID, payer: account) {\n if publicKeys == nil || publicKeys!.length == 0 {\n panic(\"Cannot provide zero keys for the machine account\")\n }\n for key in publicKeys {\n machineAccount.keys.add(publicKey: key.publicKey, hashAlgorithm: key.hashAlgorithm, weight: key.weight)\n }\n } else {\n panic(\"Could not create a machine account for the node\")\n }\n }\n}\n", - "arguments": [ - { - "type": "String", - "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" - }, - { - "type": "Array", - "value": [] - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "99a8ac2c71d4f6bd", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "99a8ac2c71d4f6bd", - "authorizers": [ - "99a8ac2c71d4f6bd" - ], - "payloadSigs": [ - { - "address": "99a8ac2c71d4f6bd", - "keyId": 4, - "sig": "f7225388c1d69d57e6251c9fda50cbbf9e05131e5adb81e5aa0422402f048162" - } - ] - }, - "envelopeMessage": { - "script": "import Crypto\nimport FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// Creates a machine account for a node that is already in the staking collection\n/// and adds public keys to the new account\n\ntransaction(nodeID: String, publicKeys: [Crypto.KeyListEntry]) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n\n if let machineAccount = self.stakingCollectionRef.createMachineAccountForExistingNode(nodeID: nodeID, payer: account) {\n if publicKeys == nil || publicKeys!.length == 0 {\n panic(\"Cannot provide zero keys for the machine account\")\n }\n for key in publicKeys {\n machineAccount.keys.add(publicKey: key.publicKey, hashAlgorithm: key.hashAlgorithm, weight: key.weight)\n }\n } else {\n panic(\"Could not create a machine account for the node\")\n }\n }\n}\n", - "arguments": [ - { - "type": "String", - "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" - }, - { - "type": "Array", - "value": [] - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "99a8ac2c71d4f6bd", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "99a8ac2c71d4f6bd", - "authorizers": [ - "99a8ac2c71d4f6bd" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f90537b90478696d706f72742043727970746f0a696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f20437265617465732061206d616368696e65206163636f756e7420666f722061206e6f6465207468617420697320616c726561647920696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f20616e642061646473207075626c6963206b65797320746f20746865206e6577206163636f756e740a0a7472616e73616374696f6e286e6f646549443a20537472696e672c207075626c69634b6579733a205b43727970746f2e4b65794c697374456e7472795d29207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a0a20202020202020206966206c6574206d616368696e654163636f756e74203d2073656c662e7374616b696e67436f6c6c656374696f6e5265662e6372656174654d616368696e654163636f756e74466f724578697374696e674e6f6465286e6f646549443a206e6f646549442c2070617965723a206163636f756e7429207b0a2020202020202020202020206966207075626c69634b657973203d3d206e696c207c7c207075626c69634b657973212e6c656e677468203d3d2030207b0a2020202020202020202020202020202070616e6963282243616e6e6f742070726f76696465207a65726f206b65797320666f7220746865206d616368696e65206163636f756e7422290a2020202020202020202020207d0a202020202020202020202020666f72206b657920696e207075626c69634b657973207b0a202020202020202020202020202020206d616368696e654163636f756e742e6b6579732e616464287075626c69634b65793a206b65792e7075626c69634b65792c2068617368416c676f726974686d3a206b65792e68617368416c676f726974686d2c207765696768743a206b65792e776569676874290a2020202020202020202020207d0a20202020202020207d20656c7365207b0a20202020202020202020202070616e69632822436f756c64206e6f74206372656174652061206d616368696e65206163636f756e7420666f7220746865206e6f646522290a20202020202020207d0a202020207d0a7d0af87ab85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227d9b7b2274797065223a224172726179222c2276616c7565223a5b5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", - "encodedTransactionEnvelopeHex": "f9053bf90537b90478696d706f72742043727970746f0a696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f20437265617465732061206d616368696e65206163636f756e7420666f722061206e6f6465207468617420697320616c726561647920696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f20616e642061646473207075626c6963206b65797320746f20746865206e6577206163636f756e740a0a7472616e73616374696f6e286e6f646549443a20537472696e672c207075626c69634b6579733a205b43727970746f2e4b65794c697374456e7472795d29207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a0a20202020202020206966206c6574206d616368696e654163636f756e74203d2073656c662e7374616b696e67436f6c6c656374696f6e5265662e6372656174654d616368696e654163636f756e74466f724578697374696e674e6f6465286e6f646549443a206e6f646549442c2070617965723a206163636f756e7429207b0a2020202020202020202020206966207075626c69634b657973203d3d206e696c207c7c207075626c69634b657973212e6c656e677468203d3d2030207b0a2020202020202020202020202020202070616e6963282243616e6e6f742070726f76696465207a65726f206b65797320666f7220746865206d616368696e65206163636f756e7422290a2020202020202020202020207d0a202020202020202020202020666f72206b657920696e207075626c69634b657973207b0a202020202020202020202020202020206d616368696e654163636f756e742e6b6579732e616464287075626c69634b65793a206b65792e7075626c69634b65792c2068617368416c676f726974686d3a206b65792e68617368416c676f726974686d2c207765696768743a206b65792e776569676874290a2020202020202020202020207d0a20202020202020207d20656c7365207b0a20202020202020202020202070616e69632822436f756c64206e6f74206372656174652061206d616368696e65206163636f756e7420666f7220746865206e6f646522290a20202020202020207d0a202020207d0a7d0af87ab85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227d9b7b2274797065223a224172726179222c2276616c7565223a5b5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", - "metadata": "0286c69d731560f3bff549c5f180eb4219bfe650ae4efec8e0c5b5ad3ebed54a92dd3b327b09087ea7f8e92a22a6b04a3c6ca33b868b430c4f15f251658c38c1b7437265617465204d616368696e65204163636f756e740002014e6f64652049440000537472696e6700030300035075622e204b65790001537472696e670003", - "hash": "86c69d731560f3bff549c5f180eb4219bfe650ae4efec8e0c5b5ad3ebed54a92" - }, - { - "title": "SCO.04 - Create Machine Account - 2", - "valid": true, - "chainID": "Testnet", - "payloadMessage": { - "script": "import Crypto\nimport FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// Creates a machine account for a node that is already in the staking collection\n/// and adds public keys to the new account\n\ntransaction(nodeID: String, publicKeys: [Crypto.KeyListEntry]) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n\n if let machineAccount = self.stakingCollectionRef.createMachineAccountForExistingNode(nodeID: nodeID, payer: account) {\n if publicKeys == nil || publicKeys!.length == 0 {\n panic(\"Cannot provide zero keys for the machine account\")\n }\n for key in publicKeys {\n machineAccount.keys.add(publicKey: key.publicKey, hashAlgorithm: key.hashAlgorithm, weight: key.weight)\n }\n } else {\n panic(\"Could not create a machine account for the node\")\n }\n }\n}\n", - "arguments": [ - { - "type": "String", - "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" - }, - { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164" - } - ] - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "99a8ac2c71d4f6bd", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "99a8ac2c71d4f6bd", - "authorizers": [ - "99a8ac2c71d4f6bd" - ], - "payloadSigs": [ - { - "address": "99a8ac2c71d4f6bd", - "keyId": 4, - "sig": "f7225388c1d69d57e6251c9fda50cbbf9e05131e5adb81e5aa0422402f048162" - } - ] - }, - "envelopeMessage": { - "script": "import Crypto\nimport FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// Creates a machine account for a node that is already in the staking collection\n/// and adds public keys to the new account\n\ntransaction(nodeID: String, publicKeys: [Crypto.KeyListEntry]) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n\n if let machineAccount = self.stakingCollectionRef.createMachineAccountForExistingNode(nodeID: nodeID, payer: account) {\n if publicKeys == nil || publicKeys!.length == 0 {\n panic(\"Cannot provide zero keys for the machine account\")\n }\n for key in publicKeys {\n machineAccount.keys.add(publicKey: key.publicKey, hashAlgorithm: key.hashAlgorithm, weight: key.weight)\n }\n } else {\n panic(\"Could not create a machine account for the node\")\n }\n }\n}\n", - "arguments": [ - { - "type": "String", - "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" - }, - { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164" - } - ] - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "99a8ac2c71d4f6bd", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "99a8ac2c71d4f6bd", - "authorizers": [ - "99a8ac2c71d4f6bd" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f905e3b90478696d706f72742043727970746f0a696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f20437265617465732061206d616368696e65206163636f756e7420666f722061206e6f6465207468617420697320616c726561647920696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f20616e642061646473207075626c6963206b65797320746f20746865206e6577206163636f756e740a0a7472616e73616374696f6e286e6f646549443a20537472696e672c207075626c69634b6579733a205b43727970746f2e4b65794c697374456e7472795d29207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a0a20202020202020206966206c6574206d616368696e654163636f756e74203d2073656c662e7374616b696e67436f6c6c656374696f6e5265662e6372656174654d616368696e654163636f756e74466f724578697374696e674e6f6465286e6f646549443a206e6f646549442c2070617965723a206163636f756e7429207b0a2020202020202020202020206966207075626c69634b657973203d3d206e696c207c7c207075626c69634b657973212e6c656e677468203d3d2030207b0a2020202020202020202020202020202070616e6963282243616e6e6f742070726f76696465207a65726f206b65797320666f7220746865206d616368696e65206163636f756e7422290a2020202020202020202020207d0a202020202020202020202020666f72206b657920696e207075626c69634b657973207b0a202020202020202020202020202020206d616368696e654163636f756e742e6b6579732e616464287075626c69634b65793a206b65792e7075626c69634b65792c2068617368416c676f726974686d3a206b65792e68617368416c676f726974686d2c207765696768743a206b65792e776569676874290a2020202020202020202020207d0a20202020202020207d20656c7365207b0a20202020202020202020202070616e69632822436f756c64206e6f74206372656174652061206d616368696e65206163636f756e7420666f7220746865206e6f646522290a20202020202020207d0a202020207d0a7d0af90125b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db8c57b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634227d5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", - "encodedTransactionEnvelopeHex": "f905e7f905e3b90478696d706f72742043727970746f0a696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f20437265617465732061206d616368696e65206163636f756e7420666f722061206e6f6465207468617420697320616c726561647920696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f20616e642061646473207075626c6963206b65797320746f20746865206e6577206163636f756e740a0a7472616e73616374696f6e286e6f646549443a20537472696e672c207075626c69634b6579733a205b43727970746f2e4b65794c697374456e7472795d29207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a0a20202020202020206966206c6574206d616368696e654163636f756e74203d2073656c662e7374616b696e67436f6c6c656374696f6e5265662e6372656174654d616368696e654163636f756e74466f724578697374696e674e6f6465286e6f646549443a206e6f646549442c2070617965723a206163636f756e7429207b0a2020202020202020202020206966207075626c69634b657973203d3d206e696c207c7c207075626c69634b657973212e6c656e677468203d3d2030207b0a2020202020202020202020202020202070616e6963282243616e6e6f742070726f76696465207a65726f206b65797320666f7220746865206d616368696e65206163636f756e7422290a2020202020202020202020207d0a202020202020202020202020666f72206b657920696e207075626c69634b657973207b0a202020202020202020202020202020206d616368696e654163636f756e742e6b6579732e616464287075626c69634b65793a206b65792e7075626c69634b65792c2068617368416c676f726974686d3a206b65792e68617368416c676f726974686d2c207765696768743a206b65792e776569676874290a2020202020202020202020207d0a20202020202020207d20656c7365207b0a20202020202020202020202070616e69632822436f756c64206e6f74206372656174652061206d616368696e65206163636f756e7420666f7220746865206e6f646522290a20202020202020207d0a202020207d0a7d0af90125b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db8c57b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634227d5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", - "metadata": "0286c69d731560f3bff549c5f180eb4219bfe650ae4efec8e0c5b5ad3ebed54a92dd3b327b09087ea7f8e92a22a6b04a3c6ca33b868b430c4f15f251658c38c1b7437265617465204d616368696e65204163636f756e740002014e6f64652049440000537472696e6700030300035075622e204b65790001537472696e670003", - "hash": "86c69d731560f3bff549c5f180eb4219bfe650ae4efec8e0c5b5ad3ebed54a92" - }, - { - "title": "SCO.04 - Create Machine Account - 3", - "valid": true, - "chainID": "Testnet", - "payloadMessage": { - "script": "import Crypto\nimport FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// Creates a machine account for a node that is already in the staking collection\n/// and adds public keys to the new account\n\ntransaction(nodeID: String, publicKeys: [Crypto.KeyListEntry]) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n\n if let machineAccount = self.stakingCollectionRef.createMachineAccountForExistingNode(nodeID: nodeID, payer: account) {\n if publicKeys == nil || publicKeys!.length == 0 {\n panic(\"Cannot provide zero keys for the machine account\")\n }\n for key in publicKeys {\n machineAccount.keys.add(publicKey: key.publicKey, hashAlgorithm: key.hashAlgorithm, weight: key.weight)\n }\n } else {\n panic(\"Could not create a machine account for the node\")\n }\n }\n}\n", - "arguments": [ - { - "type": "String", - "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" - }, - { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164" - }, - { - "type": "String", - "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164" - }, - { - "type": "String", - "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164" - } - ] - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "99a8ac2c71d4f6bd", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "99a8ac2c71d4f6bd", - "authorizers": [ - "99a8ac2c71d4f6bd" - ], - "payloadSigs": [ - { - "address": "99a8ac2c71d4f6bd", - "keyId": 4, - "sig": "f7225388c1d69d57e6251c9fda50cbbf9e05131e5adb81e5aa0422402f048162" - } - ] - }, - "envelopeMessage": { - "script": "import Crypto\nimport FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// Creates a machine account for a node that is already in the staking collection\n/// and adds public keys to the new account\n\ntransaction(nodeID: String, publicKeys: [Crypto.KeyListEntry]) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n\n if let machineAccount = self.stakingCollectionRef.createMachineAccountForExistingNode(nodeID: nodeID, payer: account) {\n if publicKeys == nil || publicKeys!.length == 0 {\n panic(\"Cannot provide zero keys for the machine account\")\n }\n for key in publicKeys {\n machineAccount.keys.add(publicKey: key.publicKey, hashAlgorithm: key.hashAlgorithm, weight: key.weight)\n }\n } else {\n panic(\"Could not create a machine account for the node\")\n }\n }\n}\n", - "arguments": [ - { - "type": "String", - "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" - }, - { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164" - }, - { - "type": "String", - "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164" - }, - { - "type": "String", - "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164" - } - ] - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "99a8ac2c71d4f6bd", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "99a8ac2c71d4f6bd", - "authorizers": [ - "99a8ac2c71d4f6bd" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f9073ab90478696d706f72742043727970746f0a696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f20437265617465732061206d616368696e65206163636f756e7420666f722061206e6f6465207468617420697320616c726561647920696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f20616e642061646473207075626c6963206b65797320746f20746865206e6577206163636f756e740a0a7472616e73616374696f6e286e6f646549443a20537472696e672c207075626c69634b6579733a205b43727970746f2e4b65794c697374456e7472795d29207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a0a20202020202020206966206c6574206d616368696e654163636f756e74203d2073656c662e7374616b696e67436f6c6c656374696f6e5265662e6372656174654d616368696e654163636f756e74466f724578697374696e674e6f6465286e6f646549443a206e6f646549442c2070617965723a206163636f756e7429207b0a2020202020202020202020206966207075626c69634b657973203d3d206e696c207c7c207075626c69634b657973212e6c656e677468203d3d2030207b0a2020202020202020202020202020202070616e6963282243616e6e6f742070726f76696465207a65726f206b65797320666f7220746865206d616368696e65206163636f756e7422290a2020202020202020202020207d0a202020202020202020202020666f72206b657920696e207075626c69634b657973207b0a202020202020202020202020202020206d616368696e654163636f756e742e6b6579732e616464287075626c69634b65793a206b65792e7075626c69634b65792c2068617368416c676f726974686d3a206b65792e68617368416c676f726974686d2c207765696768743a206b65792e776569676874290a2020202020202020202020207d0a20202020202020207d20656c7365207b0a20202020202020202020202070616e69632822436f756c64206e6f74206372656174652061206d616368696e65206163636f756e7420666f7220746865206e6f646522290a20202020202020207d0a202020207d0a7d0af9027cb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db9021b7b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634227d2c7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634227d2c7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634227d5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", - "encodedTransactionEnvelopeHex": "f9073ef9073ab90478696d706f72742043727970746f0a696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f20437265617465732061206d616368696e65206163636f756e7420666f722061206e6f6465207468617420697320616c726561647920696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f20616e642061646473207075626c6963206b65797320746f20746865206e6577206163636f756e740a0a7472616e73616374696f6e286e6f646549443a20537472696e672c207075626c69634b6579733a205b43727970746f2e4b65794c697374456e7472795d29207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a0a20202020202020206966206c6574206d616368696e654163636f756e74203d2073656c662e7374616b696e67436f6c6c656374696f6e5265662e6372656174654d616368696e654163636f756e74466f724578697374696e674e6f6465286e6f646549443a206e6f646549442c2070617965723a206163636f756e7429207b0a2020202020202020202020206966207075626c69634b657973203d3d206e696c207c7c207075626c69634b657973212e6c656e677468203d3d2030207b0a2020202020202020202020202020202070616e6963282243616e6e6f742070726f76696465207a65726f206b65797320666f7220746865206d616368696e65206163636f756e7422290a2020202020202020202020207d0a202020202020202020202020666f72206b657920696e207075626c69634b657973207b0a202020202020202020202020202020206d616368696e654163636f756e742e6b6579732e616464287075626c69634b65793a206b65792e7075626c69634b65792c2068617368416c676f726974686d3a206b65792e68617368416c676f726974686d2c207765696768743a206b65792e776569676874290a2020202020202020202020207d0a20202020202020207d20656c7365207b0a20202020202020202020202070616e69632822436f756c64206e6f74206372656174652061206d616368696e65206163636f756e7420666f7220746865206e6f646522290a20202020202020207d0a202020207d0a7d0af9027cb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db9021b7b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634227d2c7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634227d2c7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634227d5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", - "metadata": "0286c69d731560f3bff549c5f180eb4219bfe650ae4efec8e0c5b5ad3ebed54a92dd3b327b09087ea7f8e92a22a6b04a3c6ca33b868b430c4f15f251658c38c1b7437265617465204d616368696e65204163636f756e740002014e6f64652049440000537472696e6700030300035075622e204b65790001537472696e670003", - "hash": "86c69d731560f3bff549c5f180eb4219bfe650ae4efec8e0c5b5ad3ebed54a92" - }, - { - "title": "TH.01 - Withdraw Unlocked FLOW", - "valid": true, - "chainID": "Mainnet", - "payloadMessage": { - "script": "import FungibleToken from 0xf233dcee88fe0abe\nimport FlowToken from 0x1654653399040a61\nimport LockedTokens from 0x8d0e87b65159ae63\n\ntransaction(amount: UFix64) {\n\n let holderRef: &LockedTokens.TokenHolder\n let vaultRef: &FlowToken.Vault\n\n prepare(acct: AuthAccount) {\n self.holderRef = acct.borrow<&LockedTokens.TokenHolder>(from: LockedTokens.TokenHolderStoragePath)\n ?? panic(\"Could not borrow a reference to TokenHolder\")\n\n self.vaultRef = acct.borrow<&FlowToken.Vault>(from: /storage/flowTokenVault)\n ?? panic(\"Could not borrow flow token vault ref\")\n }\n\n execute {\n self.vaultRef.deposit(from: <-self.holderRef.withdraw(amount: amount))\n }\n}\n", - "arguments": [ - { - "type": "UFix64", - "value": "92233720368.54775808" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [ - { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sig": "f7225388c1d69d57e6251c9fda50cbbf9e05131e5adb81e5aa0422402f048162" - } - ] - }, - "envelopeMessage": { - "script": "import FungibleToken from 0xf233dcee88fe0abe\nimport FlowToken from 0x1654653399040a61\nimport LockedTokens from 0x8d0e87b65159ae63\n\ntransaction(amount: UFix64) {\n\n let holderRef: &LockedTokens.TokenHolder\n let vaultRef: &FlowToken.Vault\n\n prepare(acct: AuthAccount) {\n self.holderRef = acct.borrow<&LockedTokens.TokenHolder>(from: LockedTokens.TokenHolderStoragePath)\n ?? panic(\"Could not borrow a reference to TokenHolder\")\n\n self.vaultRef = acct.borrow<&FlowToken.Vault>(from: /storage/flowTokenVault)\n ?? panic(\"Could not borrow flow token vault ref\")\n }\n\n execute {\n self.vaultRef.deposit(from: <-self.holderRef.withdraw(amount: amount))\n }\n}\n", - "arguments": [ - { - "type": "UFix64", - "value": "92233720368.54775808" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f90338b902c3696d706f72742046756e6769626c65546f6b656e2066726f6d203078663233336463656538386665306162650a696d706f727420466c6f77546f6b656e2066726f6d203078313635343635333339393034306136310a696d706f7274204c6f636b6564546f6b656e732066726f6d203078386430653837623635313539616536330a0a7472616e73616374696f6e28616d6f756e743a2055466978363429207b0a0a202020206c657420686f6c6465725265663a20264c6f636b6564546f6b656e732e546f6b656e486f6c6465720a202020206c6574207661756c745265663a2026466c6f77546f6b656e2e5661756c740a0a202020207072657061726528616363743a20417574684163636f756e7429207b0a202020202020202073656c662e686f6c646572526566203d20616363742e626f72726f773c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f20546f6b656e486f6c64657222290a0a202020202020202073656c662e7661756c74526566203d20616363742e626f72726f773c26466c6f77546f6b656e2e5661756c743e2866726f6d3a202f73746f726167652f666c6f77546f6b656e5661756c74290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f7720666c6f7720746f6b656e207661756c742072656622290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7661756c745265662e6465706f7369742866726f6d3a203c2d73656c662e686f6c6465725265662e776974686472617728616d6f756e743a20616d6f756e7429290a202020207d0a7d0af1b07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f9033cf90338b902c3696d706f72742046756e6769626c65546f6b656e2066726f6d203078663233336463656538386665306162650a696d706f727420466c6f77546f6b656e2066726f6d203078313635343635333339393034306136310a696d706f7274204c6f636b6564546f6b656e732066726f6d203078386430653837623635313539616536330a0a7472616e73616374696f6e28616d6f756e743a2055466978363429207b0a0a202020206c657420686f6c6465725265663a20264c6f636b6564546f6b656e732e546f6b656e486f6c6465720a202020206c6574207661756c745265663a2026466c6f77546f6b656e2e5661756c740a0a202020207072657061726528616363743a20417574684163636f756e7429207b0a202020202020202073656c662e686f6c646572526566203d20616363742e626f72726f773c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f20546f6b656e486f6c64657222290a0a202020202020202073656c662e7661756c74526566203d20616363742e626f72726f773c26466c6f77546f6b656e2e5661756c743e2866726f6d3a202f73746f726167652f666c6f77546f6b656e5661756c74290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f7720666c6f7720746f6b656e207661756c742072656622290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7661756c745265662e6465706f7369742866726f6d3a203c2d73656c662e686f6c6465725265662e776974686472617728616d6f756e743a20616d6f756e7429290a202020207d0a7d0af1b07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "026e73db6edd0190f5311f6adc5f2b1f27e9e60c68574b00ee90da867da52cdbb1a2146e3e6e7718779ce59376b88760c154d82b7d132fe2c377114ec7cf434e7b576974686472617720556e6c6f636b656420464c4f57000101416d6f756e7400005546697836340003", - "hash": "a2146e3e6e7718779ce59376b88760c154d82b7d132fe2c377114ec7cf434e7b" - }, - { - "title": "TH.02 - Deposit Unlocked FLOW", - "valid": true, - "chainID": "Mainnet", - "payloadMessage": { - "script": "import FungibleToken from 0xf233dcee88fe0abe\nimport FlowToken from 0x1654653399040a61\nimport LockedTokens from 0x8d0e87b65159ae63\n\ntransaction(amount: UFix64) {\n\n let holderRef: &LockedTokens.TokenHolder\n let vaultRef: &FlowToken.Vault\n\n prepare(acct: AuthAccount) {\n self.holderRef = acct.borrow<&LockedTokens.TokenHolder>(from: LockedTokens.TokenHolderStoragePath)\n ?? panic(\"Could not borrow a reference to TokenHolder\")\n\n self.vaultRef = acct.borrow<&FlowToken.Vault>(from: /storage/flowTokenVault)\n ?? panic(\"Could not borrow flow token vault ref\")\n }\n\n execute {\n self.holderRef.deposit(from: <-self.vaultRef.withdraw(amount: amount))\n }\n}\n", - "arguments": [ - { - "type": "UFix64", - "value": "92233720368.54775808" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [ - { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sig": "f7225388c1d69d57e6251c9fda50cbbf9e05131e5adb81e5aa0422402f048162" - } - ] - }, - "envelopeMessage": { - "script": "import FungibleToken from 0xf233dcee88fe0abe\nimport FlowToken from 0x1654653399040a61\nimport LockedTokens from 0x8d0e87b65159ae63\n\ntransaction(amount: UFix64) {\n\n let holderRef: &LockedTokens.TokenHolder\n let vaultRef: &FlowToken.Vault\n\n prepare(acct: AuthAccount) {\n self.holderRef = acct.borrow<&LockedTokens.TokenHolder>(from: LockedTokens.TokenHolderStoragePath)\n ?? panic(\"Could not borrow a reference to TokenHolder\")\n\n self.vaultRef = acct.borrow<&FlowToken.Vault>(from: /storage/flowTokenVault)\n ?? panic(\"Could not borrow flow token vault ref\")\n }\n\n execute {\n self.holderRef.deposit(from: <-self.vaultRef.withdraw(amount: amount))\n }\n}\n", - "arguments": [ - { - "type": "UFix64", - "value": "92233720368.54775808" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f90338b902c3696d706f72742046756e6769626c65546f6b656e2066726f6d203078663233336463656538386665306162650a696d706f727420466c6f77546f6b656e2066726f6d203078313635343635333339393034306136310a696d706f7274204c6f636b6564546f6b656e732066726f6d203078386430653837623635313539616536330a0a7472616e73616374696f6e28616d6f756e743a2055466978363429207b0a0a202020206c657420686f6c6465725265663a20264c6f636b6564546f6b656e732e546f6b656e486f6c6465720a202020206c6574207661756c745265663a2026466c6f77546f6b656e2e5661756c740a0a202020207072657061726528616363743a20417574684163636f756e7429207b0a202020202020202073656c662e686f6c646572526566203d20616363742e626f72726f773c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f20546f6b656e486f6c64657222290a0a202020202020202073656c662e7661756c74526566203d20616363742e626f72726f773c26466c6f77546f6b656e2e5661756c743e2866726f6d3a202f73746f726167652f666c6f77546f6b656e5661756c74290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f7720666c6f7720746f6b656e207661756c742072656622290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e686f6c6465725265662e6465706f7369742866726f6d3a203c2d73656c662e7661756c745265662e776974686472617728616d6f756e743a20616d6f756e7429290a202020207d0a7d0af1b07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f9033cf90338b902c3696d706f72742046756e6769626c65546f6b656e2066726f6d203078663233336463656538386665306162650a696d706f727420466c6f77546f6b656e2066726f6d203078313635343635333339393034306136310a696d706f7274204c6f636b6564546f6b656e732066726f6d203078386430653837623635313539616536330a0a7472616e73616374696f6e28616d6f756e743a2055466978363429207b0a0a202020206c657420686f6c6465725265663a20264c6f636b6564546f6b656e732e546f6b656e486f6c6465720a202020206c6574207661756c745265663a2026466c6f77546f6b656e2e5661756c740a0a202020207072657061726528616363743a20417574684163636f756e7429207b0a202020202020202073656c662e686f6c646572526566203d20616363742e626f72726f773c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f20546f6b656e486f6c64657222290a0a202020202020202073656c662e7661756c74526566203d20616363742e626f72726f773c26466c6f77546f6b656e2e5661756c743e2866726f6d3a202f73746f726167652f666c6f77546f6b656e5661756c74290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f7720666c6f7720746f6b656e207661756c742072656622290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e686f6c6465725265662e6465706f7369742866726f6d3a203c2d73656c662e7661756c745265662e776974686472617728616d6f756e743a20616d6f756e7429290a202020207d0a7d0af1b07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "020cb11c10b86d2afeae086ef511d28b14760eb854935a0b0dcfeecc85db847f4874355dc8df221bc0d170b2fe8deacd6f1f554d6beea58ad9fee7a07f740eaefe4465706f73697420556e6c6f636b656420464c4f57000101416d6f756e7400005546697836340003", - "hash": "74355dc8df221bc0d170b2fe8deacd6f1f554d6beea58ad9fee7a07f740eaefe" - }, - { - "title": "TH.06 - Register Node", - "valid": true, - "chainID": "Mainnet", - "payloadMessage": { - "script": "import FlowToken from 0x1654653399040a61\nimport LockedTokens from 0x8d0e87b65159ae63\nimport StakingProxy from 0x62430cf28c26d095\n\ntransaction(id: String, role: UInt8, networkingAddress: String, networkingKey: String, stakingKey: String, amount: UFix64) {\n\n let holderRef: &LockedTokens.TokenHolder\n\n let vaultRef: &FlowToken.Vault\n\n prepare(account: AuthAccount) {\n self.holderRef = account.borrow<&LockedTokens.TokenHolder>(from: LockedTokens.TokenHolderStoragePath)\n ?? panic(\"Could not borrow ref to TokenHolder\")\n\n self.vaultRef = account.borrow<&FlowToken.Vault>(from: /storage/flowTokenVault)\n ?? panic(\"Could not borrow flow token vault reference\")\n }\n\n execute {\n let nodeInfo = StakingProxy.NodeInfo(id: id, role: role, networkingAddress: networkingAddress, networkingKey: networkingKey, stakingKey: stakingKey)\n\n let lockedBalance = self.holderRef.getLockedAccountBalance()\n\n if amount <= lockedBalance {\n\n self.holderRef.createNodeStaker(nodeInfo: nodeInfo, amount: amount)\n\n } else if ((amount - lockedBalance) <= self.vaultRef.balance) {\n\n self.holderRef.deposit(from: <-self.vaultRef.withdraw(amount: amount - lockedBalance))\n\n self.holderRef.createNodeStaker(nodeInfo: nodeInfo, amount: amount)\n\n } else {\n panic(\"Not enough tokens to stake!\")\n }\n \n }\n}\n", - "arguments": [ - { - "type": "String", - "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" - }, - { - "type": "UInt8", - "value": "1" - }, - { - "type": "String", - "value": "flow-node.test:3569" - }, - { - "type": "String", - "value": "1348307bc77c688e80049de9d081aa09755da33e6997605fa059db2144fc85e560cbe6f7da8d74b453f5916618cb8fd392c2db856f3e78221dc68db1b1d914e4" - }, - { - "type": "String", - "value": "9e9ae0d645fd5fd9050792e0b0daa82cc1686d9133afa0f81a784b375c42ae48567d1545e7a9e1965f2c1a32f73cf8575ebb7a967f6e4d104d2df78eb8be409135d12da0499b8a00771f642c1b9c49397f22b440439f036c3bdee82f5309dab3" - }, - { - "type": "UFix64", - "value": "92233720368.54775808" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [ - { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sig": "f7225388c1d69d57e6251c9fda50cbbf9e05131e5adb81e5aa0422402f048162" - } - ] - }, - "envelopeMessage": { - "script": "import FlowToken from 0x1654653399040a61\nimport LockedTokens from 0x8d0e87b65159ae63\nimport StakingProxy from 0x62430cf28c26d095\n\ntransaction(id: String, role: UInt8, networkingAddress: String, networkingKey: String, stakingKey: String, amount: UFix64) {\n\n let holderRef: &LockedTokens.TokenHolder\n\n let vaultRef: &FlowToken.Vault\n\n prepare(account: AuthAccount) {\n self.holderRef = account.borrow<&LockedTokens.TokenHolder>(from: LockedTokens.TokenHolderStoragePath)\n ?? panic(\"Could not borrow ref to TokenHolder\")\n\n self.vaultRef = account.borrow<&FlowToken.Vault>(from: /storage/flowTokenVault)\n ?? panic(\"Could not borrow flow token vault reference\")\n }\n\n execute {\n let nodeInfo = StakingProxy.NodeInfo(id: id, role: role, networkingAddress: networkingAddress, networkingKey: networkingKey, stakingKey: stakingKey)\n\n let lockedBalance = self.holderRef.getLockedAccountBalance()\n\n if amount <= lockedBalance {\n\n self.holderRef.createNodeStaker(nodeInfo: nodeInfo, amount: amount)\n\n } else if ((amount - lockedBalance) <= self.vaultRef.balance) {\n\n self.holderRef.deposit(from: <-self.vaultRef.withdraw(amount: amount - lockedBalance))\n\n self.holderRef.createNodeStaker(nodeInfo: nodeInfo, amount: amount)\n\n } else {\n panic(\"Not enough tokens to stake!\")\n }\n \n }\n}\n", - "arguments": [ - { - "type": "String", - "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" - }, - { - "type": "UInt8", - "value": "1" - }, - { - "type": "String", - "value": "flow-node.test:3569" - }, - { - "type": "String", - "value": "1348307bc77c688e80049de9d081aa09755da33e6997605fa059db2144fc85e560cbe6f7da8d74b453f5916618cb8fd392c2db856f3e78221dc68db1b1d914e4" - }, - { - "type": "String", - "value": "9e9ae0d645fd5fd9050792e0b0daa82cc1686d9133afa0f81a784b375c42ae48567d1545e7a9e1965f2c1a32f73cf8575ebb7a967f6e4d104d2df78eb8be409135d12da0499b8a00771f642c1b9c49397f22b440439f036c3bdee82f5309dab3" - }, - { - "type": "UFix64", - "value": "92233720368.54775808" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f90826b90588696d706f727420466c6f77546f6b656e2066726f6d203078313635343635333339393034306136310a696d706f7274204c6f636b6564546f6b656e732066726f6d203078386430653837623635313539616536330a696d706f7274205374616b696e6750726f78792066726f6d203078363234333063663238633236643039350a0a7472616e73616374696f6e2869643a20537472696e672c20726f6c653a2055496e74382c206e6574776f726b696e67416464726573733a20537472696e672c206e6574776f726b696e674b65793a20537472696e672c207374616b696e674b65793a20537472696e672c20616d6f756e743a2055466978363429207b0a0a202020206c657420686f6c6465725265663a20264c6f636b6564546f6b656e732e546f6b656e486f6c6465720a0a202020206c6574207661756c745265663a2026466c6f77546f6b656e2e5661756c740a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e686f6c646572526566203d206163636f756e742e626f72726f773c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f20546f6b656e486f6c64657222290a0a202020202020202073656c662e7661756c74526566203d206163636f756e742e626f72726f773c26466c6f77546f6b656e2e5661756c743e2866726f6d3a202f73746f726167652f666c6f77546f6b656e5661756c74290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f7720666c6f7720746f6b656e207661756c74207265666572656e636522290a202020207d0a0a2020202065786563757465207b0a20202020202020206c6574206e6f6465496e666f203d205374616b696e6750726f78792e4e6f6465496e666f2869643a2069642c20726f6c653a20726f6c652c206e6574776f726b696e67416464726573733a206e6574776f726b696e67416464726573732c206e6574776f726b696e674b65793a206e6574776f726b696e674b65792c207374616b696e674b65793a207374616b696e674b6579290a0a20202020202020206c6574206c6f636b656442616c616e6365203d2073656c662e686f6c6465725265662e6765744c6f636b65644163636f756e7442616c616e636528290a0a2020202020202020696620616d6f756e74203c3d206c6f636b656442616c616e6365207b0a0a20202020202020202020202073656c662e686f6c6465725265662e6372656174654e6f64655374616b6572286e6f6465496e666f3a206e6f6465496e666f2c20616d6f756e743a20616d6f756e74290a0a20202020202020207d20656c7365206966202828616d6f756e74202d206c6f636b656442616c616e636529203c3d2073656c662e7661756c745265662e62616c616e636529207b0a0a20202020202020202020202073656c662e686f6c6465725265662e6465706f7369742866726f6d3a203c2d73656c662e7661756c745265662e776974686472617728616d6f756e743a20616d6f756e74202d206c6f636b656442616c616e636529290a0a20202020202020202020202073656c662e686f6c6465725265662e6372656174654e6f64655374616b6572286e6f6465496e666f3a206e6f6465496e666f2c20616d6f756e743a20616d6f756e74290a0a20202020202020207d20656c7365207b0a20202020202020202020202070616e696328224e6f7420656e6f75676820746f6b656e7320746f207374616b652122290a20202020202020207d0a20202020202020200a202020207d0a7d0af90258b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227d9c7b2274797065223a2255496e7438222c2276616c7565223a2231227daf7b2274797065223a22537472696e67222c2276616c7565223a22666c6f772d6e6f64652e746573743a33353639227db89c7b2274797065223a22537472696e67222c2276616c7565223a223133343833303762633737633638386538303034396465396430383161613039373535646133336536393937363035666130353964623231343466633835653536306362653666376461386437346234353366353931363631386362386664333932633264623835366633653738323231646336386462316231643931346534227db8dc7b2274797065223a22537472696e67222c2276616c7565223a22396539616530643634356664356664393035303739326530623064616138326363313638366439313333616661306638316137383462333735633432616534383536376431353435653761396531393635663263316133326637336366383537356562623761393637663665346431303464326466373865623862653430393133356431326461303439396238613030373731663634326331623963343933393766323262343430343339663033366333626465653832663533303964616233227db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f9082af90826b90588696d706f727420466c6f77546f6b656e2066726f6d203078313635343635333339393034306136310a696d706f7274204c6f636b6564546f6b656e732066726f6d203078386430653837623635313539616536330a696d706f7274205374616b696e6750726f78792066726f6d203078363234333063663238633236643039350a0a7472616e73616374696f6e2869643a20537472696e672c20726f6c653a2055496e74382c206e6574776f726b696e67416464726573733a20537472696e672c206e6574776f726b696e674b65793a20537472696e672c207374616b696e674b65793a20537472696e672c20616d6f756e743a2055466978363429207b0a0a202020206c657420686f6c6465725265663a20264c6f636b6564546f6b656e732e546f6b656e486f6c6465720a0a202020206c6574207661756c745265663a2026466c6f77546f6b656e2e5661756c740a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e686f6c646572526566203d206163636f756e742e626f72726f773c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f20546f6b656e486f6c64657222290a0a202020202020202073656c662e7661756c74526566203d206163636f756e742e626f72726f773c26466c6f77546f6b656e2e5661756c743e2866726f6d3a202f73746f726167652f666c6f77546f6b656e5661756c74290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f7720666c6f7720746f6b656e207661756c74207265666572656e636522290a202020207d0a0a2020202065786563757465207b0a20202020202020206c6574206e6f6465496e666f203d205374616b696e6750726f78792e4e6f6465496e666f2869643a2069642c20726f6c653a20726f6c652c206e6574776f726b696e67416464726573733a206e6574776f726b696e67416464726573732c206e6574776f726b696e674b65793a206e6574776f726b696e674b65792c207374616b696e674b65793a207374616b696e674b6579290a0a20202020202020206c6574206c6f636b656442616c616e6365203d2073656c662e686f6c6465725265662e6765744c6f636b65644163636f756e7442616c616e636528290a0a2020202020202020696620616d6f756e74203c3d206c6f636b656442616c616e6365207b0a0a20202020202020202020202073656c662e686f6c6465725265662e6372656174654e6f64655374616b6572286e6f6465496e666f3a206e6f6465496e666f2c20616d6f756e743a20616d6f756e74290a0a20202020202020207d20656c7365206966202828616d6f756e74202d206c6f636b656442616c616e636529203c3d2073656c662e7661756c745265662e62616c616e636529207b0a0a20202020202020202020202073656c662e686f6c6465725265662e6465706f7369742866726f6d3a203c2d73656c662e7661756c745265662e776974686472617728616d6f756e743a20616d6f756e74202d206c6f636b656442616c616e636529290a0a20202020202020202020202073656c662e686f6c6465725265662e6372656174654e6f64655374616b6572286e6f6465496e666f3a206e6f6465496e666f2c20616d6f756e743a20616d6f756e74290a0a20202020202020207d20656c7365207b0a20202020202020202020202070616e696328224e6f7420656e6f75676820746f6b656e7320746f207374616b652122290a20202020202020207d0a20202020202020200a202020207d0a7d0af90258b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227d9c7b2274797065223a2255496e7438222c2276616c7565223a2231227daf7b2274797065223a22537472696e67222c2276616c7565223a22666c6f772d6e6f64652e746573743a33353639227db89c7b2274797065223a22537472696e67222c2276616c7565223a223133343833303762633737633638386538303034396465396430383161613039373535646133336536393937363035666130353964623231343466633835653536306362653666376461386437346234353366353931363631386362386664333932633264623835366633653738323231646336386462316231643931346534227db8dc7b2274797065223a22537472696e67222c2276616c7565223a22396539616530643634356664356664393035303739326530623064616138326363313638366439313333616661306638316137383462333735633432616534383536376431353435653761396531393635663263316133326637336366383537356562623761393637663665346431303464326466373865623862653430393133356431326461303439396238613030373731663634326331623963343933393766323262343430343339663033366333626465653832663533303964616233227db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "02b6a3502d2205eb05ec18772c13b91cc88a056b325c2617c57948d38cab8db600b64e0e3ed9eb28789198f2b0437f55f750bfa76da99450f63be6543bde66122a5265676973746572204e6f64650006014e6f64652049440000537472696e670003014e6f646520526f6c65000155496e74380003014e6574772e20416464726573730002537472696e670003014e6574772e204b65790003537472696e670003015374616b696e67204b65790004537472696e67000301416d6f756e7400055546697836340003", - "hash": "b64e0e3ed9eb28789198f2b0437f55f750bfa76da99450f63be6543bde66122a" - }, - { - "title": "TH.08 - Stake New Locked FLOW", - "valid": true, - "chainID": "Mainnet", - "payloadMessage": { - "script": "import FlowToken from 0x1654653399040a61\nimport FungibleToken from 0xf233dcee88fe0abe\n\nimport LockedTokens from 0x8d0e87b65159ae63\nimport StakingProxy from 0x62430cf28c26d095\n\ntransaction(amount: UFix64) {\n\n let holderRef: &LockedTokens.TokenHolder\n\n let vaultRef: &FlowToken.Vault\n\n prepare(account: AuthAccount) {\n self.holderRef = account.borrow<&LockedTokens.TokenHolder>(from: LockedTokens.TokenHolderStoragePath)\n ?? panic(\"Could not borrow reference to TokenHolder\")\n\n self.vaultRef = account.borrow<&FlowToken.Vault>(from: /storage/flowTokenVault)\n ?? panic(\"Could not borrow flow token vault reference\")\n }\n\n execute {\n let stakerProxy = self.holderRef.borrowStaker()\n\n let lockedBalance = self.holderRef.getLockedAccountBalance()\n\n if amount <= lockedBalance {\n\n stakerProxy.stakeNewTokens(amount: amount)\n\n } else if ((amount - lockedBalance) <= self.vaultRef.balance) {\n\n self.holderRef.deposit(from: <-self.vaultRef.withdraw(amount: amount - lockedBalance))\n\n stakerProxy.stakeNewTokens(amount: amount)\n \n } else {\n panic(\"Not enough tokens to stake!\")\n }\n }\n}\n", - "arguments": [ - { - "type": "UFix64", - "value": "92233720368.54775808" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [ - { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sig": "f7225388c1d69d57e6251c9fda50cbbf9e05131e5adb81e5aa0422402f048162" - } - ] - }, - "envelopeMessage": { - "script": "import FlowToken from 0x1654653399040a61\nimport FungibleToken from 0xf233dcee88fe0abe\n\nimport LockedTokens from 0x8d0e87b65159ae63\nimport StakingProxy from 0x62430cf28c26d095\n\ntransaction(amount: UFix64) {\n\n let holderRef: &LockedTokens.TokenHolder\n\n let vaultRef: &FlowToken.Vault\n\n prepare(account: AuthAccount) {\n self.holderRef = account.borrow<&LockedTokens.TokenHolder>(from: LockedTokens.TokenHolderStoragePath)\n ?? panic(\"Could not borrow reference to TokenHolder\")\n\n self.vaultRef = account.borrow<&FlowToken.Vault>(from: /storage/flowTokenVault)\n ?? panic(\"Could not borrow flow token vault reference\")\n }\n\n execute {\n let stakerProxy = self.holderRef.borrowStaker()\n\n let lockedBalance = self.holderRef.getLockedAccountBalance()\n\n if amount <= lockedBalance {\n\n stakerProxy.stakeNewTokens(amount: amount)\n\n } else if ((amount - lockedBalance) <= self.vaultRef.balance) {\n\n self.holderRef.deposit(from: <-self.vaultRef.withdraw(amount: amount - lockedBalance))\n\n stakerProxy.stakeNewTokens(amount: amount)\n \n } else {\n panic(\"Not enough tokens to stake!\")\n }\n }\n}\n", - "arguments": [ - { - "type": "UFix64", - "value": "92233720368.54775808" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f9053eb904c9696d706f727420466c6f77546f6b656e2066726f6d203078313635343635333339393034306136310a696d706f72742046756e6769626c65546f6b656e2066726f6d203078663233336463656538386665306162650a0a696d706f7274204c6f636b6564546f6b656e732066726f6d203078386430653837623635313539616536330a696d706f7274205374616b696e6750726f78792066726f6d203078363234333063663238633236643039350a0a7472616e73616374696f6e28616d6f756e743a2055466978363429207b0a0a202020206c657420686f6c6465725265663a20264c6f636b6564546f6b656e732e546f6b656e486f6c6465720a0a202020206c6574207661756c745265663a2026466c6f77546f6b656e2e5661756c740a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e686f6c646572526566203d206163636f756e742e626f72726f773c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f20546f6b656e486f6c64657222290a0a202020202020202073656c662e7661756c74526566203d206163636f756e742e626f72726f773c26466c6f77546f6b656e2e5661756c743e2866726f6d3a202f73746f726167652f666c6f77546f6b656e5661756c74290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f7720666c6f7720746f6b656e207661756c74207265666572656e636522290a202020207d0a0a2020202065786563757465207b0a20202020202020206c6574207374616b657250726f7879203d2073656c662e686f6c6465725265662e626f72726f775374616b657228290a0a20202020202020206c6574206c6f636b656442616c616e6365203d2073656c662e686f6c6465725265662e6765744c6f636b65644163636f756e7442616c616e636528290a0a2020202020202020696620616d6f756e74203c3d206c6f636b656442616c616e6365207b0a0a2020202020202020202020207374616b657250726f78792e7374616b654e6577546f6b656e7328616d6f756e743a20616d6f756e74290a0a20202020202020207d20656c7365206966202828616d6f756e74202d206c6f636b656442616c616e636529203c3d2073656c662e7661756c745265662e62616c616e636529207b0a0a20202020202020202020202073656c662e686f6c6465725265662e6465706f7369742866726f6d3a203c2d73656c662e7661756c745265662e776974686472617728616d6f756e743a20616d6f756e74202d206c6f636b656442616c616e636529290a0a2020202020202020202020207374616b657250726f78792e7374616b654e6577546f6b656e7328616d6f756e743a20616d6f756e74290a2020202020202020202020200a20202020202020207d20656c7365207b0a20202020202020202020202070616e696328224e6f7420656e6f75676820746f6b656e7320746f207374616b652122290a20202020202020207d0a202020207d0a7d0af1b07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f90542f9053eb904c9696d706f727420466c6f77546f6b656e2066726f6d203078313635343635333339393034306136310a696d706f72742046756e6769626c65546f6b656e2066726f6d203078663233336463656538386665306162650a0a696d706f7274204c6f636b6564546f6b656e732066726f6d203078386430653837623635313539616536330a696d706f7274205374616b696e6750726f78792066726f6d203078363234333063663238633236643039350a0a7472616e73616374696f6e28616d6f756e743a2055466978363429207b0a0a202020206c657420686f6c6465725265663a20264c6f636b6564546f6b656e732e546f6b656e486f6c6465720a0a202020206c6574207661756c745265663a2026466c6f77546f6b656e2e5661756c740a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e686f6c646572526566203d206163636f756e742e626f72726f773c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f20546f6b656e486f6c64657222290a0a202020202020202073656c662e7661756c74526566203d206163636f756e742e626f72726f773c26466c6f77546f6b656e2e5661756c743e2866726f6d3a202f73746f726167652f666c6f77546f6b656e5661756c74290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f7720666c6f7720746f6b656e207661756c74207265666572656e636522290a202020207d0a0a2020202065786563757465207b0a20202020202020206c6574207374616b657250726f7879203d2073656c662e686f6c6465725265662e626f72726f775374616b657228290a0a20202020202020206c6574206c6f636b656442616c616e6365203d2073656c662e686f6c6465725265662e6765744c6f636b65644163636f756e7442616c616e636528290a0a2020202020202020696620616d6f756e74203c3d206c6f636b656442616c616e6365207b0a0a2020202020202020202020207374616b657250726f78792e7374616b654e6577546f6b656e7328616d6f756e743a20616d6f756e74290a0a20202020202020207d20656c7365206966202828616d6f756e74202d206c6f636b656442616c616e636529203c3d2073656c662e7661756c745265662e62616c616e636529207b0a0a20202020202020202020202073656c662e686f6c6465725265662e6465706f7369742866726f6d3a203c2d73656c662e7661756c745265662e776974686472617728616d6f756e743a20616d6f756e74202d206c6f636b656442616c616e636529290a0a2020202020202020202020207374616b657250726f78792e7374616b654e6577546f6b656e7328616d6f756e743a20616d6f756e74290a2020202020202020202020200a20202020202020207d20656c7365207b0a20202020202020202020202070616e696328224e6f7420656e6f75676820746f6b656e7320746f207374616b652122290a20202020202020207d0a202020207d0a7d0af1b07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "02d5689b89f53214e7ce9ba7be2bb651961f7e3036b85f9250494290da9e9ba9891929e4f38894b8641848a3c0a3b9d35495b35083d42e8a3d4c928b9db4174ee85374616b65204e6577204c6f636b656420464c4f57000101416d6f756e7400005546697836340003", - "hash": "1929e4f38894b8641848a3c0a3b9d35495b35083d42e8a3d4c928b9db4174ee8" - }, - { - "title": "TH.09 - Re-stake Unstaked FLOW", - "valid": true, - "chainID": "Mainnet", - "payloadMessage": { - "script": "import LockedTokens from 0x8d0e87b65159ae63\nimport StakingProxy from 0x62430cf28c26d095\n\ntransaction(amount: UFix64) {\n\n let holderRef: &LockedTokens.TokenHolder\n\n prepare(account: AuthAccount) {\n self.holderRef = account.borrow<&LockedTokens.TokenHolder>(from: LockedTokens.TokenHolderStoragePath)\n ?? panic(\"Could not borrow reference to TokenHolder\")\n }\n\n execute {\n let stakerProxy = self.holderRef.borrowStaker()\n\n stakerProxy.stakeUnstakedTokens(amount: amount)\n }\n}\n", - "arguments": [ - { - "type": "UFix64", - "value": "92233720368.54775808" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [ - { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sig": "f7225388c1d69d57e6251c9fda50cbbf9e05131e5adb81e5aa0422402f048162" - } - ] - }, - "envelopeMessage": { - "script": "import LockedTokens from 0x8d0e87b65159ae63\nimport StakingProxy from 0x62430cf28c26d095\n\ntransaction(amount: UFix64) {\n\n let holderRef: &LockedTokens.TokenHolder\n\n prepare(account: AuthAccount) {\n self.holderRef = account.borrow<&LockedTokens.TokenHolder>(from: LockedTokens.TokenHolderStoragePath)\n ?? panic(\"Could not borrow reference to TokenHolder\")\n }\n\n execute {\n let stakerProxy = self.holderRef.borrowStaker()\n\n stakerProxy.stakeUnstakedTokens(amount: amount)\n }\n}\n", - "arguments": [ - { - "type": "UFix64", - "value": "92233720368.54775808" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f9027db90208696d706f7274204c6f636b6564546f6b656e732066726f6d203078386430653837623635313539616536330a696d706f7274205374616b696e6750726f78792066726f6d203078363234333063663238633236643039350a0a7472616e73616374696f6e28616d6f756e743a2055466978363429207b0a0a202020206c657420686f6c6465725265663a20264c6f636b6564546f6b656e732e546f6b656e486f6c6465720a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e686f6c646572526566203d206163636f756e742e626f72726f773c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f20546f6b656e486f6c64657222290a202020207d0a0a2020202065786563757465207b0a20202020202020206c6574207374616b657250726f7879203d2073656c662e686f6c6465725265662e626f72726f775374616b657228290a0a20202020202020207374616b657250726f78792e7374616b65556e7374616b6564546f6b656e7328616d6f756e743a20616d6f756e74290a202020207d0a7d0af1b07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f90281f9027db90208696d706f7274204c6f636b6564546f6b656e732066726f6d203078386430653837623635313539616536330a696d706f7274205374616b696e6750726f78792066726f6d203078363234333063663238633236643039350a0a7472616e73616374696f6e28616d6f756e743a2055466978363429207b0a0a202020206c657420686f6c6465725265663a20264c6f636b6564546f6b656e732e546f6b656e486f6c6465720a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e686f6c646572526566203d206163636f756e742e626f72726f773c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f20546f6b656e486f6c64657222290a202020207d0a0a2020202065786563757465207b0a20202020202020206c6574207374616b657250726f7879203d2073656c662e686f6c6465725265662e626f72726f775374616b657228290a0a20202020202020207374616b657250726f78792e7374616b65556e7374616b6564546f6b656e7328616d6f756e743a20616d6f756e74290a202020207d0a7d0af1b07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "0223e5bfd594bb3245090e3e0bafb9cb9246fc84d30e4a35a7fde1b51085624d86677cc0ac3962ec136ca26dbec0aa942d926640ecf8418433f0db4b7925f5d0fe52652d7374616b6520556e7374616b656420464c4f57000101416d6f756e7400005546697836340003", - "hash": "677cc0ac3962ec136ca26dbec0aa942d926640ecf8418433f0db4b7925f5d0fe" - }, - { - "title": "TH.10 - Re-stake Rewarded FLOW", - "valid": true, - "chainID": "Mainnet", - "payloadMessage": { - "script": "import LockedTokens from 0x8d0e87b65159ae63\nimport StakingProxy from 0x62430cf28c26d095\n\ntransaction(amount: UFix64) {\n\n let holderRef: &LockedTokens.TokenHolder\n\n prepare(account: AuthAccount) {\n self.holderRef = account.borrow<&LockedTokens.TokenHolder>(from: LockedTokens.TokenHolderStoragePath)\n ?? panic(\"Could not borrow reference to TokenHolder\")\n }\n\n execute {\n let stakerProxy = self.holderRef.borrowStaker()\n\n stakerProxy.stakeRewardedTokens(amount: amount)\n }\n}\n", - "arguments": [ - { - "type": "UFix64", - "value": "92233720368.54775808" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [ - { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sig": "f7225388c1d69d57e6251c9fda50cbbf9e05131e5adb81e5aa0422402f048162" - } - ] - }, - "envelopeMessage": { - "script": "import LockedTokens from 0x8d0e87b65159ae63\nimport StakingProxy from 0x62430cf28c26d095\n\ntransaction(amount: UFix64) {\n\n let holderRef: &LockedTokens.TokenHolder\n\n prepare(account: AuthAccount) {\n self.holderRef = account.borrow<&LockedTokens.TokenHolder>(from: LockedTokens.TokenHolderStoragePath)\n ?? panic(\"Could not borrow reference to TokenHolder\")\n }\n\n execute {\n let stakerProxy = self.holderRef.borrowStaker()\n\n stakerProxy.stakeRewardedTokens(amount: amount)\n }\n}\n", - "arguments": [ - { - "type": "UFix64", - "value": "92233720368.54775808" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f9027db90208696d706f7274204c6f636b6564546f6b656e732066726f6d203078386430653837623635313539616536330a696d706f7274205374616b696e6750726f78792066726f6d203078363234333063663238633236643039350a0a7472616e73616374696f6e28616d6f756e743a2055466978363429207b0a0a202020206c657420686f6c6465725265663a20264c6f636b6564546f6b656e732e546f6b656e486f6c6465720a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e686f6c646572526566203d206163636f756e742e626f72726f773c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f20546f6b656e486f6c64657222290a202020207d0a0a2020202065786563757465207b0a20202020202020206c6574207374616b657250726f7879203d2073656c662e686f6c6465725265662e626f72726f775374616b657228290a0a20202020202020207374616b657250726f78792e7374616b655265776172646564546f6b656e7328616d6f756e743a20616d6f756e74290a202020207d0a7d0af1b07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f90281f9027db90208696d706f7274204c6f636b6564546f6b656e732066726f6d203078386430653837623635313539616536330a696d706f7274205374616b696e6750726f78792066726f6d203078363234333063663238633236643039350a0a7472616e73616374696f6e28616d6f756e743a2055466978363429207b0a0a202020206c657420686f6c6465725265663a20264c6f636b6564546f6b656e732e546f6b656e486f6c6465720a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e686f6c646572526566203d206163636f756e742e626f72726f773c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f20546f6b656e486f6c64657222290a202020207d0a0a2020202065786563757465207b0a20202020202020206c6574207374616b657250726f7879203d2073656c662e686f6c6465725265662e626f72726f775374616b657228290a0a20202020202020207374616b657250726f78792e7374616b655265776172646564546f6b656e7328616d6f756e743a20616d6f756e74290a202020207d0a7d0af1b07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "02239319825ad68178e76465b5ea18cb43f06c4ee11341f8fe9424809163a027a528d1719c5b21c88c62665db5ba04886809f3234c27057b057c36d5f265ee9de452652d7374616b6520526577617264656420464c4f57000101416d6f756e7400005546697836340003", - "hash": "28d1719c5b21c88c62665db5ba04886809f3234c27057b057c36d5f265ee9de4" - }, - { - "title": "TH.11 - Request Unstake of FLOW", - "valid": true, - "chainID": "Mainnet", - "payloadMessage": { - "script": "import LockedTokens from 0x8d0e87b65159ae63\nimport StakingProxy from 0x62430cf28c26d095\n\ntransaction(amount: UFix64) {\n\n let holderRef: &LockedTokens.TokenHolder\n\n prepare(account: AuthAccount) {\n self.holderRef = account.borrow<&LockedTokens.TokenHolder>(from: LockedTokens.TokenHolderStoragePath)\n ?? panic(\"Could not borrow reference to TokenHolder\")\n }\n\n execute {\n let stakerProxy = self.holderRef.borrowStaker()\n\n stakerProxy.requestUnstaking(amount: amount)\n }\n}\n", - "arguments": [ - { - "type": "UFix64", - "value": "92233720368.54775808" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [ - { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sig": "f7225388c1d69d57e6251c9fda50cbbf9e05131e5adb81e5aa0422402f048162" - } - ] - }, - "envelopeMessage": { - "script": "import LockedTokens from 0x8d0e87b65159ae63\nimport StakingProxy from 0x62430cf28c26d095\n\ntransaction(amount: UFix64) {\n\n let holderRef: &LockedTokens.TokenHolder\n\n prepare(account: AuthAccount) {\n self.holderRef = account.borrow<&LockedTokens.TokenHolder>(from: LockedTokens.TokenHolderStoragePath)\n ?? panic(\"Could not borrow reference to TokenHolder\")\n }\n\n execute {\n let stakerProxy = self.holderRef.borrowStaker()\n\n stakerProxy.requestUnstaking(amount: amount)\n }\n}\n", - "arguments": [ - { - "type": "UFix64", - "value": "92233720368.54775808" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f9027ab90205696d706f7274204c6f636b6564546f6b656e732066726f6d203078386430653837623635313539616536330a696d706f7274205374616b696e6750726f78792066726f6d203078363234333063663238633236643039350a0a7472616e73616374696f6e28616d6f756e743a2055466978363429207b0a0a202020206c657420686f6c6465725265663a20264c6f636b6564546f6b656e732e546f6b656e486f6c6465720a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e686f6c646572526566203d206163636f756e742e626f72726f773c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f20546f6b656e486f6c64657222290a202020207d0a0a2020202065786563757465207b0a20202020202020206c6574207374616b657250726f7879203d2073656c662e686f6c6465725265662e626f72726f775374616b657228290a0a20202020202020207374616b657250726f78792e72657175657374556e7374616b696e6728616d6f756e743a20616d6f756e74290a202020207d0a7d0af1b07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f9027ef9027ab90205696d706f7274204c6f636b6564546f6b656e732066726f6d203078386430653837623635313539616536330a696d706f7274205374616b696e6750726f78792066726f6d203078363234333063663238633236643039350a0a7472616e73616374696f6e28616d6f756e743a2055466978363429207b0a0a202020206c657420686f6c6465725265663a20264c6f636b6564546f6b656e732e546f6b656e486f6c6465720a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e686f6c646572526566203d206163636f756e742e626f72726f773c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f20546f6b656e486f6c64657222290a202020207d0a0a2020202065786563757465207b0a20202020202020206c6574207374616b657250726f7879203d2073656c662e686f6c6465725265662e626f72726f775374616b657228290a0a20202020202020207374616b657250726f78792e72657175657374556e7374616b696e6728616d6f756e743a20616d6f756e74290a202020207d0a7d0af1b07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "0233e3977c45e7c23c1472bcf334d00b03ebf91b06b67c57b63b562c7b1ff5c59f4e2a35541453f89c55e5dc6dbc963290380d779c81df0b3bf89c29b2a8d7a9fe5265717565737420556e7374616b65206f6620464c4f57000101416d6f756e7400005546697836340003", - "hash": "4e2a35541453f89c55e5dc6dbc963290380d779c81df0b3bf89c29b2a8d7a9fe" - }, - { - "title": "TH.12 - Unstake All FLOW", - "valid": true, - "chainID": "Mainnet", - "payloadMessage": { - "script": "import LockedTokens from 0x8d0e87b65159ae63\nimport StakingProxy from 0x62430cf28c26d095\n\ntransaction() {\n\n let holderRef: &LockedTokens.TokenHolder\n\n prepare(account: AuthAccount) {\n self.holderRef = account.borrow<&LockedTokens.TokenHolder>(from: LockedTokens.TokenHolderStoragePath)\n ?? panic(\"Could not borrow reference to TokenHolder\")\n }\n\n execute {\n let stakerProxy = self.holderRef.borrowStaker()\n\n stakerProxy.unstakeAll()\n }\n}\n", - "arguments": [], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [ - { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sig": "f7225388c1d69d57e6251c9fda50cbbf9e05131e5adb81e5aa0422402f048162" - } - ] - }, - "envelopeMessage": { - "script": "import LockedTokens from 0x8d0e87b65159ae63\nimport StakingProxy from 0x62430cf28c26d095\n\ntransaction() {\n\n let holderRef: &LockedTokens.TokenHolder\n\n prepare(account: AuthAccount) {\n self.holderRef = account.borrow<&LockedTokens.TokenHolder>(from: LockedTokens.TokenHolderStoragePath)\n ?? panic(\"Could not borrow reference to TokenHolder\")\n }\n\n execute {\n let stakerProxy = self.holderRef.borrowStaker()\n\n stakerProxy.unstakeAll()\n }\n}\n", - "arguments": [], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f90227b901e3696d706f7274204c6f636b6564546f6b656e732066726f6d203078386430653837623635313539616536330a696d706f7274205374616b696e6750726f78792066726f6d203078363234333063663238633236643039350a0a7472616e73616374696f6e2829207b0a0a202020206c657420686f6c6465725265663a20264c6f636b6564546f6b656e732e546f6b656e486f6c6465720a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e686f6c646572526566203d206163636f756e742e626f72726f773c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f20546f6b656e486f6c64657222290a202020207d0a0a2020202065786563757465207b0a20202020202020206c6574207374616b657250726f7879203d2073656c662e686f6c6465725265662e626f72726f775374616b657228290a0a20202020202020207374616b657250726f78792e756e7374616b65416c6c28290a202020207d0a7d0ac0a0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f9022bf90227b901e3696d706f7274204c6f636b6564546f6b656e732066726f6d203078386430653837623635313539616536330a696d706f7274205374616b696e6750726f78792066726f6d203078363234333063663238633236643039350a0a7472616e73616374696f6e2829207b0a0a202020206c657420686f6c6465725265663a20264c6f636b6564546f6b656e732e546f6b656e486f6c6465720a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e686f6c646572526566203d206163636f756e742e626f72726f773c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f20546f6b656e486f6c64657222290a202020207d0a0a2020202065786563757465207b0a20202020202020206c6574207374616b657250726f7879203d2073656c662e686f6c6465725265662e626f72726f775374616b657228290a0a20202020202020207374616b657250726f78792e756e7374616b65416c6c28290a202020207d0a7d0ac0a0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "02f92c4cd663b2e335cd821a656bb2ebcf239b222036a7825af5e512fad4d820357099904b953b062e81e2575a2c2081b3d98bfccf5c743b4bdb224b937e292dad556e7374616b6520416c6c20464c4f570000", - "hash": "7099904b953b062e81e2575a2c2081b3d98bfccf5c743b4bdb224b937e292dad" - }, - { - "title": "TH.13 - Withdraw Unstaked FLOW", - "valid": true, - "chainID": "Mainnet", - "payloadMessage": { - "script": "import LockedTokens from 0x8d0e87b65159ae63\nimport StakingProxy from 0x62430cf28c26d095\n\ntransaction(amount: UFix64) {\n\n let holderRef: &LockedTokens.TokenHolder\n\n prepare(account: AuthAccount) {\n self.holderRef = account.borrow<&LockedTokens.TokenHolder>(from: LockedTokens.TokenHolderStoragePath)\n ?? panic(\"Could not borrow reference to TokenHolder\")\n }\n\n execute {\n let stakerProxy = self.holderRef.borrowStaker()\n\n stakerProxy.withdrawUnstakedTokens(amount: amount)\n }\n}\n", - "arguments": [ - { - "type": "UFix64", - "value": "92233720368.54775808" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [ - { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sig": "f7225388c1d69d57e6251c9fda50cbbf9e05131e5adb81e5aa0422402f048162" - } - ] - }, - "envelopeMessage": { - "script": "import LockedTokens from 0x8d0e87b65159ae63\nimport StakingProxy from 0x62430cf28c26d095\n\ntransaction(amount: UFix64) {\n\n let holderRef: &LockedTokens.TokenHolder\n\n prepare(account: AuthAccount) {\n self.holderRef = account.borrow<&LockedTokens.TokenHolder>(from: LockedTokens.TokenHolderStoragePath)\n ?? panic(\"Could not borrow reference to TokenHolder\")\n }\n\n execute {\n let stakerProxy = self.holderRef.borrowStaker()\n\n stakerProxy.withdrawUnstakedTokens(amount: amount)\n }\n}\n", - "arguments": [ - { - "type": "UFix64", - "value": "92233720368.54775808" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f90280b9020b696d706f7274204c6f636b6564546f6b656e732066726f6d203078386430653837623635313539616536330a696d706f7274205374616b696e6750726f78792066726f6d203078363234333063663238633236643039350a0a7472616e73616374696f6e28616d6f756e743a2055466978363429207b0a0a202020206c657420686f6c6465725265663a20264c6f636b6564546f6b656e732e546f6b656e486f6c6465720a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e686f6c646572526566203d206163636f756e742e626f72726f773c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f20546f6b656e486f6c64657222290a202020207d0a0a2020202065786563757465207b0a20202020202020206c6574207374616b657250726f7879203d2073656c662e686f6c6465725265662e626f72726f775374616b657228290a0a20202020202020207374616b657250726f78792e7769746864726177556e7374616b6564546f6b656e7328616d6f756e743a20616d6f756e74290a202020207d0a7d0af1b07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f90284f90280b9020b696d706f7274204c6f636b6564546f6b656e732066726f6d203078386430653837623635313539616536330a696d706f7274205374616b696e6750726f78792066726f6d203078363234333063663238633236643039350a0a7472616e73616374696f6e28616d6f756e743a2055466978363429207b0a0a202020206c657420686f6c6465725265663a20264c6f636b6564546f6b656e732e546f6b656e486f6c6465720a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e686f6c646572526566203d206163636f756e742e626f72726f773c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f20546f6b656e486f6c64657222290a202020207d0a0a2020202065786563757465207b0a20202020202020206c6574207374616b657250726f7879203d2073656c662e686f6c6465725265662e626f72726f775374616b657228290a0a20202020202020207374616b657250726f78792e7769746864726177556e7374616b6564546f6b656e7328616d6f756e743a20616d6f756e74290a202020207d0a7d0af1b07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "0290097e3aff9b67f65bbada3cdedbb73d45d093ff333aaaff38809bf9910a3e39dcae4faa6d689873f7caf7c5efef669f9fe1d4113e58b474b7aec1e07113a7ff576974686472617720556e7374616b656420464c4f57000101416d6f756e7400005546697836340003", - "hash": "dcae4faa6d689873f7caf7c5efef669f9fe1d4113e58b474b7aec1e07113a7ff" - }, - { - "title": "TH.14 - Withdraw Rewarded FLOW", - "valid": true, - "chainID": "Mainnet", - "payloadMessage": { - "script": "import LockedTokens from 0x8d0e87b65159ae63\nimport FlowToken from 0x1654653399040a61\n\ntransaction(amount: UFix64) {\n\n let holderRef: &LockedTokens.TokenHolder\n let vaultRef: &FlowToken.Vault\n\n prepare(account: AuthAccount) {\n self.holderRef = account.borrow<&LockedTokens.TokenHolder>(from: LockedTokens.TokenHolderStoragePath)\n ?? panic(\"Could not borrow reference to TokenHolder\")\n\n self.vaultRef = account.borrow<&FlowToken.Vault>(from: /storage/flowTokenVault)\n ?? panic(\"Could not borrow reference to FlowToken value\")\n }\n\n execute {\n let stakerProxy = self.holderRef.borrowStaker()\n\n stakerProxy.withdrawRewardedTokens(amount: amount)\n self.vaultRef.deposit(from: <-self.holderRef.withdraw(amount: amount))\n }\n}\n", - "arguments": [ - { - "type": "UFix64", - "value": "92233720368.54775808" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [ - { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sig": "f7225388c1d69d57e6251c9fda50cbbf9e05131e5adb81e5aa0422402f048162" - } - ] - }, - "envelopeMessage": { - "script": "import LockedTokens from 0x8d0e87b65159ae63\nimport FlowToken from 0x1654653399040a61\n\ntransaction(amount: UFix64) {\n\n let holderRef: &LockedTokens.TokenHolder\n let vaultRef: &FlowToken.Vault\n\n prepare(account: AuthAccount) {\n self.holderRef = account.borrow<&LockedTokens.TokenHolder>(from: LockedTokens.TokenHolderStoragePath)\n ?? panic(\"Could not borrow reference to TokenHolder\")\n\n self.vaultRef = account.borrow<&FlowToken.Vault>(from: /storage/flowTokenVault)\n ?? panic(\"Could not borrow reference to FlowToken value\")\n }\n\n execute {\n let stakerProxy = self.holderRef.borrowStaker()\n\n stakerProxy.withdrawRewardedTokens(amount: amount)\n self.vaultRef.deposit(from: <-self.holderRef.withdraw(amount: amount))\n }\n}\n", - "arguments": [ - { - "type": "UFix64", - "value": "92233720368.54775808" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f9038eb90319696d706f7274204c6f636b6564546f6b656e732066726f6d203078386430653837623635313539616536330a696d706f727420466c6f77546f6b656e2066726f6d203078313635343635333339393034306136310a0a7472616e73616374696f6e28616d6f756e743a2055466978363429207b0a0a202020206c657420686f6c6465725265663a20264c6f636b6564546f6b656e732e546f6b656e486f6c6465720a202020206c6574207661756c745265663a2026466c6f77546f6b656e2e5661756c740a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e686f6c646572526566203d206163636f756e742e626f72726f773c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f20546f6b656e486f6c64657222290a0a202020202020202073656c662e7661756c74526566203d206163636f756e742e626f72726f773c26466c6f77546f6b656e2e5661756c743e2866726f6d3a202f73746f726167652f666c6f77546f6b656e5661756c74290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f20466c6f77546f6b656e2076616c756522290a202020207d0a0a2020202065786563757465207b0a20202020202020206c6574207374616b657250726f7879203d2073656c662e686f6c6465725265662e626f72726f775374616b657228290a0a20202020202020207374616b657250726f78792e77697468647261775265776172646564546f6b656e7328616d6f756e743a20616d6f756e74290a202020202020202073656c662e7661756c745265662e6465706f7369742866726f6d3a203c2d73656c662e686f6c6465725265662e776974686472617728616d6f756e743a20616d6f756e7429290a202020207d0a7d0af1b07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f90392f9038eb90319696d706f7274204c6f636b6564546f6b656e732066726f6d203078386430653837623635313539616536330a696d706f727420466c6f77546f6b656e2066726f6d203078313635343635333339393034306136310a0a7472616e73616374696f6e28616d6f756e743a2055466978363429207b0a0a202020206c657420686f6c6465725265663a20264c6f636b6564546f6b656e732e546f6b656e486f6c6465720a202020206c6574207661756c745265663a2026466c6f77546f6b656e2e5661756c740a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e686f6c646572526566203d206163636f756e742e626f72726f773c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f20546f6b656e486f6c64657222290a0a202020202020202073656c662e7661756c74526566203d206163636f756e742e626f72726f773c26466c6f77546f6b656e2e5661756c743e2866726f6d3a202f73746f726167652f666c6f77546f6b656e5661756c74290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f20466c6f77546f6b656e2076616c756522290a202020207d0a0a2020202065786563757465207b0a20202020202020206c6574207374616b657250726f7879203d2073656c662e686f6c6465725265662e626f72726f775374616b657228290a0a20202020202020207374616b657250726f78792e77697468647261775265776172646564546f6b656e7328616d6f756e743a20616d6f756e74290a202020202020202073656c662e7661756c745265662e6465706f7369742866726f6d3a203c2d73656c662e686f6c6465725265662e776974686472617728616d6f756e743a20616d6f756e7429290a202020207d0a7d0af1b07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "02f23406ff402f02418629432912ce732be0441b1a7e71f16c03d688a165ff7f499bb8f0562eea5e45c11f9289540f39c99a21c9a0fb060a7d3f832e98c2696f2d576974686472617720526577617264656420464c4f57000101416d6f756e7400005546697836340003", - "hash": "9bb8f0562eea5e45c11f9289540f39c99a21c9a0fb060a7d3f832e98c2696f2d" - }, - { - "title": "TH.16 - Register Operator Node", - "valid": true, - "chainID": "Mainnet", - "payloadMessage": { - "script": "import LockedTokens from 0x8d0e87b65159ae63\nimport StakingProxy from 0x62430cf28c26d095\n\ntransaction(address: Address, id: String, amount: UFix64) {\n\n let holderRef: &LockedTokens.TokenHolder\n\n prepare(account: AuthAccount) {\n self.holderRef = account.borrow<&LockedTokens.TokenHolder>(from: LockedTokens.TokenHolderStoragePath)\n ?? panic(\"Could not borrow reference to TokenHolder\")\n }\n\n execute {\n let nodeOperatorRef = getAccount(address).getCapability\n <&StakingProxy.NodeStakerProxyHolder{StakingProxy.NodeStakerProxyHolderPublic}>\n (StakingProxy.NodeOperatorCapabilityPublicPath)!.borrow() \n ?? panic(\"Could not borrow node operator public capability\")\n\n let nodeInfo = nodeOperatorRef.getNodeInfo(nodeID: id)\n ?? panic(\"Couldn't get info for nodeID=\".concat(id))\n\n self.holderRef.createNodeStaker(nodeInfo: nodeInfo, amount: amount)\n\n let nodeStakerProxy = self.holderRef.borrowStaker()\n\n nodeOperatorRef.addStakingProxy(nodeID: nodeInfo.id, proxy: nodeStakerProxy)\n }\n}\n", - "arguments": [ - { - "type": "Address", - "value": "0xe467b9dd11fa00df" - }, - { - "type": "String", - "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" - }, - { - "type": "UFix64", - "value": "92233720368.54775808" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [ - { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sig": "f7225388c1d69d57e6251c9fda50cbbf9e05131e5adb81e5aa0422402f048162" - } - ] - }, - "envelopeMessage": { - "script": "import LockedTokens from 0x8d0e87b65159ae63\nimport StakingProxy from 0x62430cf28c26d095\n\ntransaction(address: Address, id: String, amount: UFix64) {\n\n let holderRef: &LockedTokens.TokenHolder\n\n prepare(account: AuthAccount) {\n self.holderRef = account.borrow<&LockedTokens.TokenHolder>(from: LockedTokens.TokenHolderStoragePath)\n ?? panic(\"Could not borrow reference to TokenHolder\")\n }\n\n execute {\n let nodeOperatorRef = getAccount(address).getCapability\n <&StakingProxy.NodeStakerProxyHolder{StakingProxy.NodeStakerProxyHolderPublic}>\n (StakingProxy.NodeOperatorCapabilityPublicPath)!.borrow() \n ?? panic(\"Could not borrow node operator public capability\")\n\n let nodeInfo = nodeOperatorRef.getNodeInfo(nodeID: id)\n ?? panic(\"Couldn't get info for nodeID=\".concat(id))\n\n self.holderRef.createNodeStaker(nodeInfo: nodeInfo, amount: amount)\n\n let nodeStakerProxy = self.holderRef.borrowStaker()\n\n nodeOperatorRef.addStakingProxy(nodeID: nodeInfo.id, proxy: nodeStakerProxy)\n }\n}\n", - "arguments": [ - { - "type": "Address", - "value": "0xe467b9dd11fa00df" - }, - { - "type": "String", - "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" - }, - { - "type": "UFix64", - "value": "92233720368.54775808" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f90546b90442696d706f7274204c6f636b6564546f6b656e732066726f6d203078386430653837623635313539616536330a696d706f7274205374616b696e6750726f78792066726f6d203078363234333063663238633236643039350a0a7472616e73616374696f6e28616464726573733a20416464726573732c2069643a20537472696e672c20616d6f756e743a2055466978363429207b0a0a202020206c657420686f6c6465725265663a20264c6f636b6564546f6b656e732e546f6b656e486f6c6465720a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e686f6c646572526566203d206163636f756e742e626f72726f773c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f20546f6b656e486f6c64657222290a202020207d0a0a2020202065786563757465207b0a20202020202020206c6574206e6f64654f70657261746f72526566203d206765744163636f756e742861646472657373292e6765744361706162696c6974790a2020202020202020202020203c265374616b696e6750726f78792e4e6f64655374616b657250726f7879486f6c6465727b5374616b696e6750726f78792e4e6f64655374616b657250726f7879486f6c6465725075626c69637d3e0a202020202020202020202020285374616b696e6750726f78792e4e6f64654f70657261746f724361706162696c6974795075626c69635061746829212e626f72726f772829200a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77206e6f6465206f70657261746f72207075626c6963206361706162696c69747922290a0a20202020202020206c6574206e6f6465496e666f203d206e6f64654f70657261746f725265662e6765744e6f6465496e666f286e6f646549443a206964290a2020202020202020202020203f3f2070616e69632822436f756c646e27742067657420696e666f20666f72206e6f646549443d222e636f6e63617428696429290a0a202020202020202073656c662e686f6c6465725265662e6372656174654e6f64655374616b6572286e6f6465496e666f3a206e6f6465496e666f2c20616d6f756e743a20616d6f756e74290a0a20202020202020206c6574206e6f64655374616b657250726f7879203d2073656c662e686f6c6465725265662e626f72726f775374616b657228290a0a20202020202020206e6f64654f70657261746f725265662e6164645374616b696e6750726f7879286e6f646549443a206e6f6465496e666f2e69642c2070726f78793a206e6f64655374616b657250726f7879290a202020207d0a7d0af8bfaf7b2274797065223a2241646472657373222c2276616c7565223a22307865343637623964643131666130306466227db85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f9054af90546b90442696d706f7274204c6f636b6564546f6b656e732066726f6d203078386430653837623635313539616536330a696d706f7274205374616b696e6750726f78792066726f6d203078363234333063663238633236643039350a0a7472616e73616374696f6e28616464726573733a20416464726573732c2069643a20537472696e672c20616d6f756e743a2055466978363429207b0a0a202020206c657420686f6c6465725265663a20264c6f636b6564546f6b656e732e546f6b656e486f6c6465720a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e686f6c646572526566203d206163636f756e742e626f72726f773c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f20546f6b656e486f6c64657222290a202020207d0a0a2020202065786563757465207b0a20202020202020206c6574206e6f64654f70657261746f72526566203d206765744163636f756e742861646472657373292e6765744361706162696c6974790a2020202020202020202020203c265374616b696e6750726f78792e4e6f64655374616b657250726f7879486f6c6465727b5374616b696e6750726f78792e4e6f64655374616b657250726f7879486f6c6465725075626c69637d3e0a202020202020202020202020285374616b696e6750726f78792e4e6f64654f70657261746f724361706162696c6974795075626c69635061746829212e626f72726f772829200a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77206e6f6465206f70657261746f72207075626c6963206361706162696c69747922290a0a20202020202020206c6574206e6f6465496e666f203d206e6f64654f70657261746f725265662e6765744e6f6465496e666f286e6f646549443a206964290a2020202020202020202020203f3f2070616e69632822436f756c646e27742067657420696e666f20666f72206e6f646549443d222e636f6e63617428696429290a0a202020202020202073656c662e686f6c6465725265662e6372656174654e6f64655374616b6572286e6f6465496e666f3a206e6f6465496e666f2c20616d6f756e743a20616d6f756e74290a0a20202020202020206c6574206e6f64655374616b657250726f7879203d2073656c662e686f6c6465725265662e626f72726f775374616b657228290a0a20202020202020206e6f64654f70657261746f725265662e6164645374616b696e6750726f7879286e6f646549443a206e6f6465496e666f2e69642c2070726f78793a206e6f64655374616b657250726f7879290a202020207d0a7d0af8bfaf7b2274797065223a2241646472657373222c2276616c7565223a22307865343637623964643131666130306466227db85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "02c29d4024aaeb71ab478182542499e0ba3d5d303ec027252e3b8333515ee3de4897b3436482c5aefc1baf8b850e92c829202e468c57241dec707b6c27bd89d15c5265676973746572204f70657261746f72204e6f64650003014f70657261746f7220416464726573730000416464726573730003014e6f64652049440001537472696e67000301416d6f756e7400025546697836340003", - "hash": "97b3436482c5aefc1baf8b850e92c829202e468c57241dec707b6c27bd89d15c" - }, - { - "title": "TH.17 - Register Delegator", - "valid": true, - "chainID": "Mainnet", - "payloadMessage": { - "script": "import FlowToken from 0x1654653399040a61\nimport LockedTokens from 0x8d0e87b65159ae63\n\ntransaction(id: String, amount: UFix64) {\n\n let holderRef: &LockedTokens.TokenHolder\n\n let vaultRef: &FlowToken.Vault\n\n prepare(account: AuthAccount) {\n self.holderRef = account.borrow<&LockedTokens.TokenHolder>(from: LockedTokens.TokenHolderStoragePath) \n ?? panic(\"TokenHolder is not saved at specified path\")\n\n self.vaultRef = account.borrow<&FlowToken.Vault>(from: /storage/flowTokenVault)\n ?? panic(\"Could not borrow flow token vault reference\")\n }\n\n execute {\n self.holderRef.createNodeDelegator(nodeID: id)\n\n let delegatorProxy = self.holderRef.borrowDelegator()\n\n let lockedBalance = self.holderRef.getLockedAccountBalance()\n\n if amount <= lockedBalance {\n\n delegatorProxy.delegateNewTokens(amount: amount)\n\n } else if ((amount - lockedBalance) <= self.vaultRef.balance) {\n\n self.holderRef.deposit(from: <-self.vaultRef.withdraw(amount: amount - lockedBalance))\n\n delegatorProxy.delegateNewTokens(amount: amount)\n\n } else {\n panic(\"Not enough tokens to stake!\")\n }\n }\n}\n", - "arguments": [ - { - "type": "String", - "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" - }, - { - "type": "UFix64", - "value": "92233720368.54775808" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [ - { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sig": "f7225388c1d69d57e6251c9fda50cbbf9e05131e5adb81e5aa0422402f048162" - } - ] - }, - "envelopeMessage": { - "script": "import FlowToken from 0x1654653399040a61\nimport LockedTokens from 0x8d0e87b65159ae63\n\ntransaction(id: String, amount: UFix64) {\n\n let holderRef: &LockedTokens.TokenHolder\n\n let vaultRef: &FlowToken.Vault\n\n prepare(account: AuthAccount) {\n self.holderRef = account.borrow<&LockedTokens.TokenHolder>(from: LockedTokens.TokenHolderStoragePath) \n ?? panic(\"TokenHolder is not saved at specified path\")\n\n self.vaultRef = account.borrow<&FlowToken.Vault>(from: /storage/flowTokenVault)\n ?? panic(\"Could not borrow flow token vault reference\")\n }\n\n execute {\n self.holderRef.createNodeDelegator(nodeID: id)\n\n let delegatorProxy = self.holderRef.borrowDelegator()\n\n let lockedBalance = self.holderRef.getLockedAccountBalance()\n\n if amount <= lockedBalance {\n\n delegatorProxy.delegateNewTokens(amount: amount)\n\n } else if ((amount - lockedBalance) <= self.vaultRef.balance) {\n\n self.holderRef.deposit(from: <-self.vaultRef.withdraw(amount: amount - lockedBalance))\n\n delegatorProxy.delegateNewTokens(amount: amount)\n\n } else {\n panic(\"Not enough tokens to stake!\")\n }\n }\n}\n", - "arguments": [ - { - "type": "String", - "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" - }, - { - "type": "UFix64", - "value": "92233720368.54775808" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f9058fb904bb696d706f727420466c6f77546f6b656e2066726f6d203078313635343635333339393034306136310a696d706f7274204c6f636b6564546f6b656e732066726f6d203078386430653837623635313539616536330a0a7472616e73616374696f6e2869643a20537472696e672c20616d6f756e743a2055466978363429207b0a0a202020206c657420686f6c6465725265663a20264c6f636b6564546f6b656e732e546f6b656e486f6c6465720a0a202020206c6574207661756c745265663a2026466c6f77546f6b656e2e5661756c740a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e686f6c646572526566203d206163636f756e742e626f72726f773c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f726167655061746829200a2020202020202020202020203f3f2070616e69632822546f6b656e486f6c646572206973206e6f7420736176656420617420737065636966696564207061746822290a0a202020202020202073656c662e7661756c74526566203d206163636f756e742e626f72726f773c26466c6f77546f6b656e2e5661756c743e2866726f6d3a202f73746f726167652f666c6f77546f6b656e5661756c74290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f7720666c6f7720746f6b656e207661756c74207265666572656e636522290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e686f6c6465725265662e6372656174654e6f646544656c656761746f72286e6f646549443a206964290a0a20202020202020206c65742064656c656761746f7250726f7879203d2073656c662e686f6c6465725265662e626f72726f7744656c656761746f7228290a0a20202020202020206c6574206c6f636b656442616c616e6365203d2073656c662e686f6c6465725265662e6765744c6f636b65644163636f756e7442616c616e636528290a0a2020202020202020696620616d6f756e74203c3d206c6f636b656442616c616e6365207b0a0a20202020202020202020202064656c656761746f7250726f78792e64656c65676174654e6577546f6b656e7328616d6f756e743a20616d6f756e74290a0a20202020202020207d20656c7365206966202828616d6f756e74202d206c6f636b656442616c616e636529203c3d2073656c662e7661756c745265662e62616c616e636529207b0a0a20202020202020202020202073656c662e686f6c6465725265662e6465706f7369742866726f6d3a203c2d73656c662e7661756c745265662e776974686472617728616d6f756e743a20616d6f756e74202d206c6f636b656442616c616e636529290a0a20202020202020202020202064656c656761746f7250726f78792e64656c65676174654e6577546f6b656e7328616d6f756e743a20616d6f756e74290a0a20202020202020207d20656c7365207b0a20202020202020202020202070616e696328224e6f7420656e6f75676820746f6b656e7320746f207374616b652122290a20202020202020207d0a202020207d0a7d0af88fb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f90593f9058fb904bb696d706f727420466c6f77546f6b656e2066726f6d203078313635343635333339393034306136310a696d706f7274204c6f636b6564546f6b656e732066726f6d203078386430653837623635313539616536330a0a7472616e73616374696f6e2869643a20537472696e672c20616d6f756e743a2055466978363429207b0a0a202020206c657420686f6c6465725265663a20264c6f636b6564546f6b656e732e546f6b656e486f6c6465720a0a202020206c6574207661756c745265663a2026466c6f77546f6b656e2e5661756c740a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e686f6c646572526566203d206163636f756e742e626f72726f773c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f726167655061746829200a2020202020202020202020203f3f2070616e69632822546f6b656e486f6c646572206973206e6f7420736176656420617420737065636966696564207061746822290a0a202020202020202073656c662e7661756c74526566203d206163636f756e742e626f72726f773c26466c6f77546f6b656e2e5661756c743e2866726f6d3a202f73746f726167652f666c6f77546f6b656e5661756c74290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f7720666c6f7720746f6b656e207661756c74207265666572656e636522290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e686f6c6465725265662e6372656174654e6f646544656c656761746f72286e6f646549443a206964290a0a20202020202020206c65742064656c656761746f7250726f7879203d2073656c662e686f6c6465725265662e626f72726f7744656c656761746f7228290a0a20202020202020206c6574206c6f636b656442616c616e6365203d2073656c662e686f6c6465725265662e6765744c6f636b65644163636f756e7442616c616e636528290a0a2020202020202020696620616d6f756e74203c3d206c6f636b656442616c616e6365207b0a0a20202020202020202020202064656c656761746f7250726f78792e64656c65676174654e6577546f6b656e7328616d6f756e743a20616d6f756e74290a0a20202020202020207d20656c7365206966202828616d6f756e74202d206c6f636b656442616c616e636529203c3d2073656c662e7661756c745265662e62616c616e636529207b0a0a20202020202020202020202073656c662e686f6c6465725265662e6465706f7369742866726f6d3a203c2d73656c662e7661756c745265662e776974686472617728616d6f756e743a20616d6f756e74202d206c6f636b656442616c616e636529290a0a20202020202020202020202064656c656761746f7250726f78792e64656c65676174654e6577546f6b656e7328616d6f756e743a20616d6f756e74290a0a20202020202020207d20656c7365207b0a20202020202020202020202070616e696328224e6f7420656e6f75676820746f6b656e7320746f207374616b652122290a20202020202020207d0a202020207d0a7d0af88fb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "021378405c85e0c966344b196c0fce602f39e79f3938ec7b689e0c96a8703b018a3cb357a97a57d9abbe5c68f0df342ee96ba97ade2013753fd2ddf47695a8c08a52656769737465722044656c656761746f720002014e6f64652049440000537472696e67000301416d6f756e7400015546697836340003", - "hash": "3cb357a97a57d9abbe5c68f0df342ee96ba97ade2013753fd2ddf47695a8c08a" - }, - { - "title": "TH.19 - Delegate New Locked FLOW", - "valid": true, - "chainID": "Mainnet", - "payloadMessage": { - "script": "import FlowToken from 0x1654653399040a61\nimport FungibleToken from 0xf233dcee88fe0abe\nimport LockedTokens from 0x8d0e87b65159ae63\n\ntransaction(amount: UFix64) {\n\n let holderRef: &LockedTokens.TokenHolder\n\n let vaultRef: &FlowToken.Vault\n\n prepare(account: AuthAccount) {\n self.holderRef = account.borrow<&LockedTokens.TokenHolder>(from: LockedTokens.TokenHolderStoragePath)\n ?? panic(\"Could not borrow reference to TokenHolder\")\n\n self.vaultRef = account.borrow<&FlowToken.Vault>(from: /storage/flowTokenVault)\n ?? panic(\"Could not borrow flow token vault reference\")\n }\n\n execute {\n let stakerProxy = self.holderRef.borrowDelegator()\n\n let lockedBalance = self.holderRef.getLockedAccountBalance()\n\n if amount <= lockedBalance {\n\n stakerProxy.delegateNewTokens(amount: amount)\n\n } else if ((amount - lockedBalance) <= self.vaultRef.balance) {\n\n self.holderRef.deposit(from: <-self.vaultRef.withdraw(amount: amount - lockedBalance))\n\n stakerProxy.delegateNewTokens(amount: amount)\n } else {\n panic(\"Not enough tokens to stake!\")\n }\n }\n}\n", - "arguments": [ - { - "type": "UFix64", - "value": "92233720368.54775808" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [ - { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sig": "f7225388c1d69d57e6251c9fda50cbbf9e05131e5adb81e5aa0422402f048162" - } - ] - }, - "envelopeMessage": { - "script": "import FlowToken from 0x1654653399040a61\nimport FungibleToken from 0xf233dcee88fe0abe\nimport LockedTokens from 0x8d0e87b65159ae63\n\ntransaction(amount: UFix64) {\n\n let holderRef: &LockedTokens.TokenHolder\n\n let vaultRef: &FlowToken.Vault\n\n prepare(account: AuthAccount) {\n self.holderRef = account.borrow<&LockedTokens.TokenHolder>(from: LockedTokens.TokenHolderStoragePath)\n ?? panic(\"Could not borrow reference to TokenHolder\")\n\n self.vaultRef = account.borrow<&FlowToken.Vault>(from: /storage/flowTokenVault)\n ?? panic(\"Could not borrow flow token vault reference\")\n }\n\n execute {\n let stakerProxy = self.holderRef.borrowDelegator()\n\n let lockedBalance = self.holderRef.getLockedAccountBalance()\n\n if amount <= lockedBalance {\n\n stakerProxy.delegateNewTokens(amount: amount)\n\n } else if ((amount - lockedBalance) <= self.vaultRef.balance) {\n\n self.holderRef.deposit(from: <-self.vaultRef.withdraw(amount: amount - lockedBalance))\n\n stakerProxy.delegateNewTokens(amount: amount)\n } else {\n panic(\"Not enough tokens to stake!\")\n }\n }\n}\n", - "arguments": [ - { - "type": "UFix64", - "value": "92233720368.54775808" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f9050db90498696d706f727420466c6f77546f6b656e2066726f6d203078313635343635333339393034306136310a696d706f72742046756e6769626c65546f6b656e2066726f6d203078663233336463656538386665306162650a696d706f7274204c6f636b6564546f6b656e732066726f6d203078386430653837623635313539616536330a0a7472616e73616374696f6e28616d6f756e743a2055466978363429207b0a0a202020206c657420686f6c6465725265663a20264c6f636b6564546f6b656e732e546f6b656e486f6c6465720a0a202020206c6574207661756c745265663a2026466c6f77546f6b656e2e5661756c740a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e686f6c646572526566203d206163636f756e742e626f72726f773c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f20546f6b656e486f6c64657222290a0a202020202020202073656c662e7661756c74526566203d206163636f756e742e626f72726f773c26466c6f77546f6b656e2e5661756c743e2866726f6d3a202f73746f726167652f666c6f77546f6b656e5661756c74290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f7720666c6f7720746f6b656e207661756c74207265666572656e636522290a202020207d0a0a2020202065786563757465207b0a20202020202020206c6574207374616b657250726f7879203d2073656c662e686f6c6465725265662e626f72726f7744656c656761746f7228290a0a20202020202020206c6574206c6f636b656442616c616e6365203d2073656c662e686f6c6465725265662e6765744c6f636b65644163636f756e7442616c616e636528290a0a2020202020202020696620616d6f756e74203c3d206c6f636b656442616c616e6365207b0a0a2020202020202020202020207374616b657250726f78792e64656c65676174654e6577546f6b656e7328616d6f756e743a20616d6f756e74290a0a20202020202020207d20656c7365206966202828616d6f756e74202d206c6f636b656442616c616e636529203c3d2073656c662e7661756c745265662e62616c616e636529207b0a0a20202020202020202020202073656c662e686f6c6465725265662e6465706f7369742866726f6d3a203c2d73656c662e7661756c745265662e776974686472617728616d6f756e743a20616d6f756e74202d206c6f636b656442616c616e636529290a0a2020202020202020202020207374616b657250726f78792e64656c65676174654e6577546f6b656e7328616d6f756e743a20616d6f756e74290a20202020202020207d20656c7365207b0a20202020202020202020202070616e696328224e6f7420656e6f75676820746f6b656e7320746f207374616b652122290a20202020202020207d0a202020207d0a7d0af1b07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f90511f9050db90498696d706f727420466c6f77546f6b656e2066726f6d203078313635343635333339393034306136310a696d706f72742046756e6769626c65546f6b656e2066726f6d203078663233336463656538386665306162650a696d706f7274204c6f636b6564546f6b656e732066726f6d203078386430653837623635313539616536330a0a7472616e73616374696f6e28616d6f756e743a2055466978363429207b0a0a202020206c657420686f6c6465725265663a20264c6f636b6564546f6b656e732e546f6b656e486f6c6465720a0a202020206c6574207661756c745265663a2026466c6f77546f6b656e2e5661756c740a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e686f6c646572526566203d206163636f756e742e626f72726f773c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f20546f6b656e486f6c64657222290a0a202020202020202073656c662e7661756c74526566203d206163636f756e742e626f72726f773c26466c6f77546f6b656e2e5661756c743e2866726f6d3a202f73746f726167652f666c6f77546f6b656e5661756c74290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f7720666c6f7720746f6b656e207661756c74207265666572656e636522290a202020207d0a0a2020202065786563757465207b0a20202020202020206c6574207374616b657250726f7879203d2073656c662e686f6c6465725265662e626f72726f7744656c656761746f7228290a0a20202020202020206c6574206c6f636b656442616c616e6365203d2073656c662e686f6c6465725265662e6765744c6f636b65644163636f756e7442616c616e636528290a0a2020202020202020696620616d6f756e74203c3d206c6f636b656442616c616e6365207b0a0a2020202020202020202020207374616b657250726f78792e64656c65676174654e6577546f6b656e7328616d6f756e743a20616d6f756e74290a0a20202020202020207d20656c7365206966202828616d6f756e74202d206c6f636b656442616c616e636529203c3d2073656c662e7661756c745265662e62616c616e636529207b0a0a20202020202020202020202073656c662e686f6c6465725265662e6465706f7369742866726f6d3a203c2d73656c662e7661756c745265662e776974686472617728616d6f756e743a20616d6f756e74202d206c6f636b656442616c616e636529290a0a2020202020202020202020207374616b657250726f78792e64656c65676174654e6577546f6b656e7328616d6f756e743a20616d6f756e74290a20202020202020207d20656c7365207b0a20202020202020202020202070616e696328224e6f7420656e6f75676820746f6b656e7320746f207374616b652122290a20202020202020207d0a202020207d0a7d0af1b07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "0218fad68368a4394b245db91217d7dc979e1316ab757388d416eaef831f565ab3802354d8b3e7908e584bcb5217637fb9f4ef045427c32d57d81ad4a390ed1a6044656c6567617465204e6577204c6f636b656420464c4f57000101416d6f756e7400005546697836340003", - "hash": "802354d8b3e7908e584bcb5217637fb9f4ef045427c32d57d81ad4a390ed1a60" - }, - { - "title": "TH.20 - Re-delegate Unstaked FLOW", - "valid": true, - "chainID": "Mainnet", - "payloadMessage": { - "script": "import LockedTokens from 0x8d0e87b65159ae63\n\ntransaction(amount: UFix64) {\n let nodeDelegatorProxy: LockedTokens.LockedNodeDelegatorProxy\n\n prepare(account: AuthAccount) {\n let holderRef = account.borrow<&LockedTokens.TokenHolder>(from: LockedTokens.TokenHolderStoragePath) \n ?? panic(\"TokenHolder is not saved at specified path\")\n\n self.nodeDelegatorProxy = holderRef.borrowDelegator()\n }\n\n execute {\n self.nodeDelegatorProxy.delegateUnstakedTokens(amount: amount)\n }\n}\n", - "arguments": [ - { - "type": "UFix64", - "value": "92233720368.54775808" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [ - { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sig": "f7225388c1d69d57e6251c9fda50cbbf9e05131e5adb81e5aa0422402f048162" - } - ] - }, - "envelopeMessage": { - "script": "import LockedTokens from 0x8d0e87b65159ae63\n\ntransaction(amount: UFix64) {\n let nodeDelegatorProxy: LockedTokens.LockedNodeDelegatorProxy\n\n prepare(account: AuthAccount) {\n let holderRef = account.borrow<&LockedTokens.TokenHolder>(from: LockedTokens.TokenHolderStoragePath) \n ?? panic(\"TokenHolder is not saved at specified path\")\n\n self.nodeDelegatorProxy = holderRef.borrowDelegator()\n }\n\n execute {\n self.nodeDelegatorProxy.delegateUnstakedTokens(amount: amount)\n }\n}\n", - "arguments": [ - { - "type": "UFix64", - "value": "92233720368.54775808" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f9027bb90206696d706f7274204c6f636b6564546f6b656e732066726f6d203078386430653837623635313539616536330a0a7472616e73616374696f6e28616d6f756e743a2055466978363429207b0a202020206c6574206e6f646544656c656761746f7250726f78793a204c6f636b6564546f6b656e732e4c6f636b65644e6f646544656c656761746f7250726f78790a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a20202020202020206c657420686f6c646572526566203d206163636f756e742e626f72726f773c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f726167655061746829200a2020202020202020202020203f3f2070616e69632822546f6b656e486f6c646572206973206e6f7420736176656420617420737065636966696564207061746822290a0a202020202020202073656c662e6e6f646544656c656761746f7250726f7879203d20686f6c6465725265662e626f72726f7744656c656761746f7228290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e6e6f646544656c656761746f7250726f78792e64656c6567617465556e7374616b6564546f6b656e7328616d6f756e743a20616d6f756e74290a202020207d0a7d0af1b07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f9027ff9027bb90206696d706f7274204c6f636b6564546f6b656e732066726f6d203078386430653837623635313539616536330a0a7472616e73616374696f6e28616d6f756e743a2055466978363429207b0a202020206c6574206e6f646544656c656761746f7250726f78793a204c6f636b6564546f6b656e732e4c6f636b65644e6f646544656c656761746f7250726f78790a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a20202020202020206c657420686f6c646572526566203d206163636f756e742e626f72726f773c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f726167655061746829200a2020202020202020202020203f3f2070616e69632822546f6b656e486f6c646572206973206e6f7420736176656420617420737065636966696564207061746822290a0a202020202020202073656c662e6e6f646544656c656761746f7250726f7879203d20686f6c6465725265662e626f72726f7744656c656761746f7228290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e6e6f646544656c656761746f7250726f78792e64656c6567617465556e7374616b6564546f6b656e7328616d6f756e743a20616d6f756e74290a202020207d0a7d0af1b07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "028776b1521b04395754734f8f40d4a0482863274f8d832973d9e011b3cbb48c852027331b72d8710a1a05feb6ecebadb5858d134bc8c95d6f261319cd9fa1bb9552652d64656c656761746520556e7374616b656420464c4f57000101416d6f756e7400005546697836340003", - "hash": "2027331b72d8710a1a05feb6ecebadb5858d134bc8c95d6f261319cd9fa1bb95" - }, - { - "title": "TH.21 - Re-delegate Rewarded FLOW", - "valid": true, - "chainID": "Mainnet", - "payloadMessage": { - "script": "import LockedTokens from 0x8d0e87b65159ae63\n\ntransaction(amount: UFix64) {\n let nodeDelegatorProxy: LockedTokens.LockedNodeDelegatorProxy\n\n prepare(account: AuthAccount) {\n let holderRef = account.borrow<&LockedTokens.TokenHolder>(from: LockedTokens.TokenHolderStoragePath) \n ?? panic(\"TokenHolder is not saved at specified path\")\n \n self.nodeDelegatorProxy = holderRef.borrowDelegator()\n }\n\n execute {\n self.nodeDelegatorProxy.delegateRewardedTokens(amount: amount)\n }\n}\n", - "arguments": [ - { - "type": "UFix64", - "value": "92233720368.54775808" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [ - { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sig": "f7225388c1d69d57e6251c9fda50cbbf9e05131e5adb81e5aa0422402f048162" - } - ] - }, - "envelopeMessage": { - "script": "import LockedTokens from 0x8d0e87b65159ae63\n\ntransaction(amount: UFix64) {\n let nodeDelegatorProxy: LockedTokens.LockedNodeDelegatorProxy\n\n prepare(account: AuthAccount) {\n let holderRef = account.borrow<&LockedTokens.TokenHolder>(from: LockedTokens.TokenHolderStoragePath) \n ?? panic(\"TokenHolder is not saved at specified path\")\n \n self.nodeDelegatorProxy = holderRef.borrowDelegator()\n }\n\n execute {\n self.nodeDelegatorProxy.delegateRewardedTokens(amount: amount)\n }\n}\n", - "arguments": [ - { - "type": "UFix64", - "value": "92233720368.54775808" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f90283b9020e696d706f7274204c6f636b6564546f6b656e732066726f6d203078386430653837623635313539616536330a0a7472616e73616374696f6e28616d6f756e743a2055466978363429207b0a202020206c6574206e6f646544656c656761746f7250726f78793a204c6f636b6564546f6b656e732e4c6f636b65644e6f646544656c656761746f7250726f78790a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a20202020202020206c657420686f6c646572526566203d206163636f756e742e626f72726f773c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f726167655061746829200a2020202020202020202020203f3f2070616e69632822546f6b656e486f6c646572206973206e6f7420736176656420617420737065636966696564207061746822290a20202020202020200a202020202020202073656c662e6e6f646544656c656761746f7250726f7879203d20686f6c6465725265662e626f72726f7744656c656761746f7228290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e6e6f646544656c656761746f7250726f78792e64656c65676174655265776172646564546f6b656e7328616d6f756e743a20616d6f756e74290a202020207d0a7d0af1b07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f90287f90283b9020e696d706f7274204c6f636b6564546f6b656e732066726f6d203078386430653837623635313539616536330a0a7472616e73616374696f6e28616d6f756e743a2055466978363429207b0a202020206c6574206e6f646544656c656761746f7250726f78793a204c6f636b6564546f6b656e732e4c6f636b65644e6f646544656c656761746f7250726f78790a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a20202020202020206c657420686f6c646572526566203d206163636f756e742e626f72726f773c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f726167655061746829200a2020202020202020202020203f3f2070616e69632822546f6b656e486f6c646572206973206e6f7420736176656420617420737065636966696564207061746822290a20202020202020200a202020202020202073656c662e6e6f646544656c656761746f7250726f7879203d20686f6c6465725265662e626f72726f7744656c656761746f7228290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e6e6f646544656c656761746f7250726f78792e64656c65676174655265776172646564546f6b656e7328616d6f756e743a20616d6f756e74290a202020207d0a7d0af1b07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "026b40ffc9169abd75107a45da5974c7e502d38773275abb231d747e4760b7ebee864edbff384335ef21c26b3bcf17d36b2b1d894afbe2b203f58099cc457971e452652d64656c656761746520526577617264656420464c4f57000101416d6f756e7400005546697836340003", - "hash": "864edbff384335ef21c26b3bcf17d36b2b1d894afbe2b203f58099cc457971e4" - }, - { - "title": "TH.22 - Unstake Delegated FLOW", - "valid": true, - "chainID": "Mainnet", - "payloadMessage": { - "script": "import LockedTokens from 0x8d0e87b65159ae63\n\ntransaction(amount: UFix64) {\n let nodeDelegatorProxy: LockedTokens.LockedNodeDelegatorProxy\n\n prepare(account: AuthAccount) {\n let holderRef = account.borrow<&LockedTokens.TokenHolder>(from: LockedTokens.TokenHolderStoragePath) \n ?? panic(\"TokenHolder is not saved at specified path\")\n \n self.nodeDelegatorProxy = holderRef.borrowDelegator()\n }\n\n execute {\n self.nodeDelegatorProxy.requestUnstaking(amount: amount)\n }\n}\n", - "arguments": [ - { - "type": "UFix64", - "value": "92233720368.54775808" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [ - { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sig": "f7225388c1d69d57e6251c9fda50cbbf9e05131e5adb81e5aa0422402f048162" - } - ] - }, - "envelopeMessage": { - "script": "import LockedTokens from 0x8d0e87b65159ae63\n\ntransaction(amount: UFix64) {\n let nodeDelegatorProxy: LockedTokens.LockedNodeDelegatorProxy\n\n prepare(account: AuthAccount) {\n let holderRef = account.borrow<&LockedTokens.TokenHolder>(from: LockedTokens.TokenHolderStoragePath) \n ?? panic(\"TokenHolder is not saved at specified path\")\n \n self.nodeDelegatorProxy = holderRef.borrowDelegator()\n }\n\n execute {\n self.nodeDelegatorProxy.requestUnstaking(amount: amount)\n }\n}\n", - "arguments": [ - { - "type": "UFix64", - "value": "92233720368.54775808" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f9027db90208696d706f7274204c6f636b6564546f6b656e732066726f6d203078386430653837623635313539616536330a0a7472616e73616374696f6e28616d6f756e743a2055466978363429207b0a202020206c6574206e6f646544656c656761746f7250726f78793a204c6f636b6564546f6b656e732e4c6f636b65644e6f646544656c656761746f7250726f78790a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a20202020202020206c657420686f6c646572526566203d206163636f756e742e626f72726f773c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f726167655061746829200a2020202020202020202020203f3f2070616e69632822546f6b656e486f6c646572206973206e6f7420736176656420617420737065636966696564207061746822290a20202020202020200a202020202020202073656c662e6e6f646544656c656761746f7250726f7879203d20686f6c6465725265662e626f72726f7744656c656761746f7228290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e6e6f646544656c656761746f7250726f78792e72657175657374556e7374616b696e6728616d6f756e743a20616d6f756e74290a202020207d0a7d0af1b07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f90281f9027db90208696d706f7274204c6f636b6564546f6b656e732066726f6d203078386430653837623635313539616536330a0a7472616e73616374696f6e28616d6f756e743a2055466978363429207b0a202020206c6574206e6f646544656c656761746f7250726f78793a204c6f636b6564546f6b656e732e4c6f636b65644e6f646544656c656761746f7250726f78790a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a20202020202020206c657420686f6c646572526566203d206163636f756e742e626f72726f773c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f726167655061746829200a2020202020202020202020203f3f2070616e69632822546f6b656e486f6c646572206973206e6f7420736176656420617420737065636966696564207061746822290a20202020202020200a202020202020202073656c662e6e6f646544656c656761746f7250726f7879203d20686f6c6465725265662e626f72726f7744656c656761746f7228290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e6e6f646544656c656761746f7250726f78792e72657175657374556e7374616b696e6728616d6f756e743a20616d6f756e74290a202020207d0a7d0af1b07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "0261cbcd1c31bbfc9ceb4a5ac726e2f8b3d845a4fdf59b0ab23cbbfa8f16d7a024262aeddd3f49fd6222d706c02696bd7d359ba962b6c30232cc93d7cf4166a23e556e7374616b652044656c65676174656420464c4f57000101416d6f756e7400005546697836340003", - "hash": "262aeddd3f49fd6222d706c02696bd7d359ba962b6c30232cc93d7cf4166a23e" - }, - { - "title": "TH.23 - Withdraw Unstaked FLOW", - "valid": true, - "chainID": "Mainnet", - "payloadMessage": { - "script": "import LockedTokens from 0x8d0e87b65159ae63\n\ntransaction(amount: UFix64) {\n let nodeDelegatorProxy: LockedTokens.LockedNodeDelegatorProxy\n\n prepare(account: AuthAccount) {\n let holderRef = account.borrow<&LockedTokens.TokenHolder>(from: LockedTokens.TokenHolderStoragePath) \n ?? panic(\"TokenHolder is not saved at specified path\")\n \n self.nodeDelegatorProxy = holderRef.borrowDelegator()\n }\n\n execute {\n self.nodeDelegatorProxy.withdrawUnstakedTokens(amount: amount)\n }\n}\n", - "arguments": [ - { - "type": "UFix64", - "value": "92233720368.54775808" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [ - { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sig": "f7225388c1d69d57e6251c9fda50cbbf9e05131e5adb81e5aa0422402f048162" - } - ] - }, - "envelopeMessage": { - "script": "import LockedTokens from 0x8d0e87b65159ae63\n\ntransaction(amount: UFix64) {\n let nodeDelegatorProxy: LockedTokens.LockedNodeDelegatorProxy\n\n prepare(account: AuthAccount) {\n let holderRef = account.borrow<&LockedTokens.TokenHolder>(from: LockedTokens.TokenHolderStoragePath) \n ?? panic(\"TokenHolder is not saved at specified path\")\n \n self.nodeDelegatorProxy = holderRef.borrowDelegator()\n }\n\n execute {\n self.nodeDelegatorProxy.withdrawUnstakedTokens(amount: amount)\n }\n}\n", - "arguments": [ - { - "type": "UFix64", - "value": "92233720368.54775808" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f90283b9020e696d706f7274204c6f636b6564546f6b656e732066726f6d203078386430653837623635313539616536330a0a7472616e73616374696f6e28616d6f756e743a2055466978363429207b0a202020206c6574206e6f646544656c656761746f7250726f78793a204c6f636b6564546f6b656e732e4c6f636b65644e6f646544656c656761746f7250726f78790a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a20202020202020206c657420686f6c646572526566203d206163636f756e742e626f72726f773c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f726167655061746829200a2020202020202020202020203f3f2070616e69632822546f6b656e486f6c646572206973206e6f7420736176656420617420737065636966696564207061746822290a20202020202020200a202020202020202073656c662e6e6f646544656c656761746f7250726f7879203d20686f6c6465725265662e626f72726f7744656c656761746f7228290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e6e6f646544656c656761746f7250726f78792e7769746864726177556e7374616b6564546f6b656e7328616d6f756e743a20616d6f756e74290a202020207d0a7d0af1b07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f90287f90283b9020e696d706f7274204c6f636b6564546f6b656e732066726f6d203078386430653837623635313539616536330a0a7472616e73616374696f6e28616d6f756e743a2055466978363429207b0a202020206c6574206e6f646544656c656761746f7250726f78793a204c6f636b6564546f6b656e732e4c6f636b65644e6f646544656c656761746f7250726f78790a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a20202020202020206c657420686f6c646572526566203d206163636f756e742e626f72726f773c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f726167655061746829200a2020202020202020202020203f3f2070616e69632822546f6b656e486f6c646572206973206e6f7420736176656420617420737065636966696564207061746822290a20202020202020200a202020202020202073656c662e6e6f646544656c656761746f7250726f7879203d20686f6c6465725265662e626f72726f7744656c656761746f7228290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e6e6f646544656c656761746f7250726f78792e7769746864726177556e7374616b6564546f6b656e7328616d6f756e743a20616d6f756e74290a202020207d0a7d0af1b07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "022ae983f78e32b989fafa58ee7910b131fb51a2a74356f7916624695cb8bf596412675a013c064b6d0ef11dbf13f92210489bf2b3d299b2f14cd09be70b37577f576974686472617720556e7374616b656420464c4f57000101416d6f756e7400005546697836340003", - "hash": "12675a013c064b6d0ef11dbf13f92210489bf2b3d299b2f14cd09be70b37577f" - }, - { - "title": "TH.24 - Withdraw Rewarded FLOW", - "valid": true, - "chainID": "Mainnet", - "payloadMessage": { - "script": "import LockedTokens from 0x8d0e87b65159ae63\nimport FlowToken from 0x1654653399040a61\n\ntransaction(amount: UFix64) {\n\n let holderRef: &LockedTokens.TokenHolder\n let vaultRef: &FlowToken.Vault\n\n prepare(account: AuthAccount) {\n self.holderRef = account.borrow<&LockedTokens.TokenHolder>(from: LockedTokens.TokenHolderStoragePath) \n ?? panic(\"Could not borrow reference to TokenHolder\")\n\n self.vaultRef = account.borrow<&FlowToken.Vault>(from: /storage/flowTokenVault)\n ?? panic(\"Could not borrow reference to FlowToken value\")\n }\n\n execute {\n let delegatorProxy = self.holderRef.borrowDelegator()\n\n delegatorProxy.withdrawRewardedTokens(amount: amount)\n self.vaultRef.deposit(from: <-self.holderRef.withdraw(amount: amount))\n }\n}\n", - "arguments": [ - { - "type": "UFix64", - "value": "92233720368.54775808" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [ - { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sig": "f7225388c1d69d57e6251c9fda50cbbf9e05131e5adb81e5aa0422402f048162" - } - ] - }, - "envelopeMessage": { - "script": "import LockedTokens from 0x8d0e87b65159ae63\nimport FlowToken from 0x1654653399040a61\n\ntransaction(amount: UFix64) {\n\n let holderRef: &LockedTokens.TokenHolder\n let vaultRef: &FlowToken.Vault\n\n prepare(account: AuthAccount) {\n self.holderRef = account.borrow<&LockedTokens.TokenHolder>(from: LockedTokens.TokenHolderStoragePath) \n ?? panic(\"Could not borrow reference to TokenHolder\")\n\n self.vaultRef = account.borrow<&FlowToken.Vault>(from: /storage/flowTokenVault)\n ?? panic(\"Could not borrow reference to FlowToken value\")\n }\n\n execute {\n let delegatorProxy = self.holderRef.borrowDelegator()\n\n delegatorProxy.withdrawRewardedTokens(amount: amount)\n self.vaultRef.deposit(from: <-self.holderRef.withdraw(amount: amount))\n }\n}\n", - "arguments": [ - { - "type": "UFix64", - "value": "92233720368.54775808" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f90398b90323696d706f7274204c6f636b6564546f6b656e732066726f6d203078386430653837623635313539616536330a696d706f727420466c6f77546f6b656e2066726f6d203078313635343635333339393034306136310a0a7472616e73616374696f6e28616d6f756e743a2055466978363429207b0a0a202020206c657420686f6c6465725265663a20264c6f636b6564546f6b656e732e546f6b656e486f6c6465720a202020206c6574207661756c745265663a2026466c6f77546f6b656e2e5661756c740a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e686f6c646572526566203d206163636f756e742e626f72726f773c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f726167655061746829200a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f20546f6b656e486f6c64657222290a0a202020202020202073656c662e7661756c74526566203d206163636f756e742e626f72726f773c26466c6f77546f6b656e2e5661756c743e2866726f6d3a202f73746f726167652f666c6f77546f6b656e5661756c74290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f20466c6f77546f6b656e2076616c756522290a202020207d0a0a2020202065786563757465207b0a20202020202020206c65742064656c656761746f7250726f7879203d2073656c662e686f6c6465725265662e626f72726f7744656c656761746f7228290a0a202020202020202064656c656761746f7250726f78792e77697468647261775265776172646564546f6b656e7328616d6f756e743a20616d6f756e74290a202020202020202073656c662e7661756c745265662e6465706f7369742866726f6d3a203c2d73656c662e686f6c6465725265662e776974686472617728616d6f756e743a20616d6f756e7429290a202020207d0a7d0af1b07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f9039cf90398b90323696d706f7274204c6f636b6564546f6b656e732066726f6d203078386430653837623635313539616536330a696d706f727420466c6f77546f6b656e2066726f6d203078313635343635333339393034306136310a0a7472616e73616374696f6e28616d6f756e743a2055466978363429207b0a0a202020206c657420686f6c6465725265663a20264c6f636b6564546f6b656e732e546f6b656e486f6c6465720a202020206c6574207661756c745265663a2026466c6f77546f6b656e2e5661756c740a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e686f6c646572526566203d206163636f756e742e626f72726f773c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f726167655061746829200a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f20546f6b656e486f6c64657222290a0a202020202020202073656c662e7661756c74526566203d206163636f756e742e626f72726f773c26466c6f77546f6b656e2e5661756c743e2866726f6d3a202f73746f726167652f666c6f77546f6b656e5661756c74290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f20466c6f77546f6b656e2076616c756522290a202020207d0a0a2020202065786563757465207b0a20202020202020206c65742064656c656761746f7250726f7879203d2073656c662e686f6c6465725265662e626f72726f7744656c656761746f7228290a0a202020202020202064656c656761746f7250726f78792e77697468647261775265776172646564546f6b656e7328616d6f756e743a20616d6f756e74290a202020202020202073656c662e7661756c745265662e6465706f7369742866726f6d3a203c2d73656c662e686f6c6465725265662e776974686472617728616d6f756e743a20616d6f756e7429290a202020207d0a7d0af1b07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "02385042aa453566fcff0b2bd418b837d8f46fbc23b1b46e6651b25a395bc04be8239ffa449eae5560eec3e99633dcf9c63b1e9c99996d1c5636644dceef9ec44b576974686472617720526577617264656420464c4f57000101416d6f756e7400005546697836340003", - "hash": "239ffa449eae5560eec3e99633dcf9c63b1e9c99996d1c5636644dceef9ec44b" - }, - { - "title": "TH.25 - Update Networking Address", - "valid": true, - "chainID": "Mainnet", - "payloadMessage": { - "script": "import FlowIDTableStaking from 0x8624b52f9ddcd04a\n\ntransaction(newAddress: String) {\n\n // Local variable for a reference to the node object\n let stakerRef: &FlowIDTableStaking.NodeStaker\n\n prepare(acct: AuthAccount) {\n // borrow a reference to the node object\n self.stakerRef = acct.borrow<&FlowIDTableStaking.NodeStaker>(from: FlowIDTableStaking.NodeStakerStoragePath)\n ?? panic(\"Could not borrow reference to staking admin\")\n }\n\n execute {\n\n self.stakerRef.updateNetworkingAddress(newAddress)\n\n }\n}", - "arguments": [ - { - "type": "String", - "value": "flow-node.test:3569" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [ - { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sig": "f7225388c1d69d57e6251c9fda50cbbf9e05131e5adb81e5aa0422402f048162" - } - ] - }, - "envelopeMessage": { - "script": "import FlowIDTableStaking from 0x8624b52f9ddcd04a\n\ntransaction(newAddress: String) {\n\n // Local variable for a reference to the node object\n let stakerRef: &FlowIDTableStaking.NodeStaker\n\n prepare(acct: AuthAccount) {\n // borrow a reference to the node object\n self.stakerRef = acct.borrow<&FlowIDTableStaking.NodeStaker>(from: FlowIDTableStaking.NodeStakerStoragePath)\n ?? panic(\"Could not borrow reference to staking admin\")\n }\n\n execute {\n\n self.stakerRef.updateNetworkingAddress(newAddress)\n\n }\n}", - "arguments": [ - { - "type": "String", - "value": "flow-node.test:3569" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f9029ab90226696d706f727420466c6f7749445461626c655374616b696e672066726f6d203078383632346235326639646463643034610a0a7472616e73616374696f6e286e6577416464726573733a20537472696e6729207b0a0a202020202f2f204c6f63616c207661726961626c6520666f722061207265666572656e636520746f20746865206e6f6465206f626a6563740a202020206c6574207374616b65725265663a2026466c6f7749445461626c655374616b696e672e4e6f64655374616b65720a0a202020207072657061726528616363743a20417574684163636f756e7429207b0a20202020202020202f2f20626f72726f772061207265666572656e636520746f20746865206e6f6465206f626a6563740a202020202020202073656c662e7374616b6572526566203d20616363742e626f72726f773c26466c6f7749445461626c655374616b696e672e4e6f64655374616b65723e2866726f6d3a20466c6f7749445461626c655374616b696e672e4e6f64655374616b657253746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f207374616b696e672061646d696e22290a202020207d0a0a2020202065786563757465207b0a0a202020202020202073656c662e7374616b65725265662e7570646174654e6574776f726b696e6741646472657373286e657741646472657373290a0a202020207d0a7df0af7b2274797065223a22537472696e67222c2276616c7565223a22666c6f772d6e6f64652e746573743a33353639227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f9029ef9029ab90226696d706f727420466c6f7749445461626c655374616b696e672066726f6d203078383632346235326639646463643034610a0a7472616e73616374696f6e286e6577416464726573733a20537472696e6729207b0a0a202020202f2f204c6f63616c207661726961626c6520666f722061207265666572656e636520746f20746865206e6f6465206f626a6563740a202020206c6574207374616b65725265663a2026466c6f7749445461626c655374616b696e672e4e6f64655374616b65720a0a202020207072657061726528616363743a20417574684163636f756e7429207b0a20202020202020202f2f20626f72726f772061207265666572656e636520746f20746865206e6f6465206f626a6563740a202020202020202073656c662e7374616b6572526566203d20616363742e626f72726f773c26466c6f7749445461626c655374616b696e672e4e6f64655374616b65723e2866726f6d3a20466c6f7749445461626c655374616b696e672e4e6f64655374616b657253746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f207374616b696e672061646d696e22290a202020207d0a0a2020202065786563757465207b0a0a202020202020202073656c662e7374616b65725265662e7570646174654e6574776f726b696e6741646472657373286e657741646472657373290a0a202020207d0a7df0af7b2274797065223a22537472696e67222c2276616c7565223a22666c6f772d6e6f64652e746573743a33353639227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "026cbe81c71d2b04dc403ea0db89377f0abc5db14d3d2bd014397b2776aa29bc3ee79cb076f2f7da7a3039b5061916e081a823087f1560bdf3caea773992892873557064617465204e6574776f726b696e672041646472657373000101416464726573730000537472696e670003", - "hash": "e79cb076f2f7da7a3039b5061916e081a823087f1560bdf3caea773992892873" - }, - { - "title": "SCO.01 - Setup Staking Collection", - "valid": true, - "chainID": "Mainnet", - "payloadMessage": { - "script": "import FungibleToken from 0xf233dcee88fe0abe\nimport FlowToken from 0x1654653399040a61\nimport FlowIDTableStaking from 0x8624b52f9ddcd04a\nimport LockedTokens from 0x8d0e87b65159ae63\nimport FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// This transaction sets up an account to use a staking collection\n/// It will work regardless of whether they have a regular account, a two-account locked tokens setup,\n/// or staking objects stored in the unlocked account\n\ntransaction {\n prepare(signer: AuthAccount) {\n\n // If there isn't already a staking collection\n if signer.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath) == nil {\n\n // Create private capabilities for the token holder and unlocked vault\n let lockedHolder = signer.link<&LockedTokens.TokenHolder>(/private/flowTokenHolder, target: LockedTokens.TokenHolderStoragePath)!\n let flowToken = signer.link<&FlowToken.Vault>(/private/flowTokenVault, target: /storage/flowTokenVault)!\n \n // Create a new Staking Collection and put it in storage\n if lockedHolder.check() {\n signer.save(<-FlowStakingCollection.createStakingCollection(unlockedVault: flowToken, tokenHolder: lockedHolder), to: FlowStakingCollection.StakingCollectionStoragePath)\n } else {\n signer.save(<-FlowStakingCollection.createStakingCollection(unlockedVault: flowToken, tokenHolder: nil), to: FlowStakingCollection.StakingCollectionStoragePath)\n }\n\n // Create a public link to the staking collection\n signer.link<&FlowStakingCollection.StakingCollection{FlowStakingCollection.StakingCollectionPublic}>(\n FlowStakingCollection.StakingCollectionPublicPath,\n target: FlowStakingCollection.StakingCollectionStoragePath\n )\n }\n\n // borrow a reference to the staking collection\n let collectionRef = signer.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow staking collection reference\")\n\n // If there is a node staker object in the account, put it in the staking collection\n if signer.borrow<&FlowIDTableStaking.NodeStaker>(from: FlowIDTableStaking.NodeStakerStoragePath) != nil {\n let node <- signer.load<@FlowIDTableStaking.NodeStaker>(from: FlowIDTableStaking.NodeStakerStoragePath)!\n collectionRef.addNodeObject(<-node, machineAccountInfo: nil)\n }\n\n // If there is a delegator object in the account, put it in the staking collection\n if signer.borrow<&FlowIDTableStaking.NodeDelegator>(from: FlowIDTableStaking.DelegatorStoragePath) != nil {\n let delegator <- signer.load<@FlowIDTableStaking.NodeDelegator>(from: FlowIDTableStaking.DelegatorStoragePath)!\n collectionRef.addDelegatorObject(<-delegator)\n }\n }\n}\n", - "arguments": [], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [ - { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sig": "f7225388c1d69d57e6251c9fda50cbbf9e05131e5adb81e5aa0422402f048162" - } - ] - }, - "envelopeMessage": { - "script": "import FungibleToken from 0xf233dcee88fe0abe\nimport FlowToken from 0x1654653399040a61\nimport FlowIDTableStaking from 0x8624b52f9ddcd04a\nimport LockedTokens from 0x8d0e87b65159ae63\nimport FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// This transaction sets up an account to use a staking collection\n/// It will work regardless of whether they have a regular account, a two-account locked tokens setup,\n/// or staking objects stored in the unlocked account\n\ntransaction {\n prepare(signer: AuthAccount) {\n\n // If there isn't already a staking collection\n if signer.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath) == nil {\n\n // Create private capabilities for the token holder and unlocked vault\n let lockedHolder = signer.link<&LockedTokens.TokenHolder>(/private/flowTokenHolder, target: LockedTokens.TokenHolderStoragePath)!\n let flowToken = signer.link<&FlowToken.Vault>(/private/flowTokenVault, target: /storage/flowTokenVault)!\n \n // Create a new Staking Collection and put it in storage\n if lockedHolder.check() {\n signer.save(<-FlowStakingCollection.createStakingCollection(unlockedVault: flowToken, tokenHolder: lockedHolder), to: FlowStakingCollection.StakingCollectionStoragePath)\n } else {\n signer.save(<-FlowStakingCollection.createStakingCollection(unlockedVault: flowToken, tokenHolder: nil), to: FlowStakingCollection.StakingCollectionStoragePath)\n }\n\n // Create a public link to the staking collection\n signer.link<&FlowStakingCollection.StakingCollection{FlowStakingCollection.StakingCollectionPublic}>(\n FlowStakingCollection.StakingCollectionPublicPath,\n target: FlowStakingCollection.StakingCollectionStoragePath\n )\n }\n\n // borrow a reference to the staking collection\n let collectionRef = signer.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow staking collection reference\")\n\n // If there is a node staker object in the account, put it in the staking collection\n if signer.borrow<&FlowIDTableStaking.NodeStaker>(from: FlowIDTableStaking.NodeStakerStoragePath) != nil {\n let node <- signer.load<@FlowIDTableStaking.NodeStaker>(from: FlowIDTableStaking.NodeStakerStoragePath)!\n collectionRef.addNodeObject(<-node, machineAccountInfo: nil)\n }\n\n // If there is a delegator object in the account, put it in the staking collection\n if signer.borrow<&FlowIDTableStaking.NodeDelegator>(from: FlowIDTableStaking.DelegatorStoragePath) != nil {\n let delegator <- signer.load<@FlowIDTableStaking.NodeDelegator>(from: FlowIDTableStaking.DelegatorStoragePath)!\n collectionRef.addDelegatorObject(<-delegator)\n }\n }\n}\n", - "arguments": [], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f90bf0b90bac696d706f72742046756e6769626c65546f6b656e2066726f6d203078663233336463656538386665306162650a696d706f727420466c6f77546f6b656e2066726f6d203078313635343635333339393034306136310a696d706f727420466c6f7749445461626c655374616b696e672066726f6d203078383632346235326639646463643034610a696d706f7274204c6f636b6564546f6b656e732066726f6d203078386430653837623635313539616536330a696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f2054686973207472616e73616374696f6e207365747320757020616e206163636f756e7420746f207573652061207374616b696e6720636f6c6c656374696f6e0a2f2f2f2049742077696c6c20776f726b207265676172646c657373206f66207768657468657220746865792068617665206120726567756c6172206163636f756e742c20612074776f2d6163636f756e74206c6f636b656420746f6b656e732073657475702c0a2f2f2f206f72207374616b696e67206f626a656374732073746f72656420696e2074686520756e6c6f636b6564206163636f756e740a0a7472616e73616374696f6e207b0a2020202070726570617265287369676e65723a20417574684163636f756e7429207b0a0a20202020202020202f2f2049662074686572652069736e277420616c72656164792061207374616b696e6720636f6c6c656374696f6e0a20202020202020206966207369676e65722e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f726167655061746829203d3d206e696c207b0a0a2020202020202020202020202f2f204372656174652070726976617465206361706162696c697469657320666f722074686520746f6b656e20686f6c64657220616e6420756e6c6f636b6564207661756c740a2020202020202020202020206c6574206c6f636b6564486f6c646572203d207369676e65722e6c696e6b3c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e282f707269766174652f666c6f77546f6b656e486f6c6465722c207461726765743a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f726167655061746829210a2020202020202020202020206c657420666c6f77546f6b656e203d207369676e65722e6c696e6b3c26466c6f77546f6b656e2e5661756c743e282f707269766174652f666c6f77546f6b656e5661756c742c207461726765743a202f73746f726167652f666c6f77546f6b656e5661756c7429210a2020202020202020202020200a2020202020202020202020202f2f204372656174652061206e6577205374616b696e6720436f6c6c656374696f6e20616e642070757420697420696e2073746f726167650a2020202020202020202020206966206c6f636b6564486f6c6465722e636865636b2829207b0a202020202020202020202020202020207369676e65722e73617665283c2d466c6f775374616b696e67436f6c6c656374696f6e2e6372656174655374616b696e67436f6c6c656374696f6e28756e6c6f636b65645661756c743a20666c6f77546f6b656e2c20746f6b656e486f6c6465723a206c6f636b6564486f6c646572292c20746f3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020207d20656c7365207b0a202020202020202020202020202020207369676e65722e73617665283c2d466c6f775374616b696e67436f6c6c656374696f6e2e6372656174655374616b696e67436f6c6c656374696f6e28756e6c6f636b65645661756c743a20666c6f77546f6b656e2c20746f6b656e486f6c6465723a206e696c292c20746f3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020207d0a0a2020202020202020202020202f2f204372656174652061207075626c6963206c696e6b20746f20746865207374616b696e6720636f6c6c656374696f6e0a2020202020202020202020207369676e65722e6c696e6b3c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e7b466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e5075626c69637d3e280a20202020202020202020202020202020466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e5075626c6963506174682c0a202020202020202020202020202020207461726765743a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f72616765506174680a202020202020202020202020290a20202020202020207d0a0a20202020202020202f2f20626f72726f772061207265666572656e636520746f20746865207374616b696e6720636f6c6c656374696f6e0a20202020202020206c657420636f6c6c656374696f6e526566203d207369676e65722e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207374616b696e6720636f6c6c656374696f6e207265666572656e636522290a0a20202020202020202f2f2049662074686572652069732061206e6f6465207374616b6572206f626a65637420696e20746865206163636f756e742c2070757420697420696e20746865207374616b696e6720636f6c6c656374696f6e0a20202020202020206966207369676e65722e626f72726f773c26466c6f7749445461626c655374616b696e672e4e6f64655374616b65723e2866726f6d3a20466c6f7749445461626c655374616b696e672e4e6f64655374616b657253746f72616765506174682920213d206e696c207b0a2020202020202020202020206c6574206e6f6465203c2d207369676e65722e6c6f61643c40466c6f7749445461626c655374616b696e672e4e6f64655374616b65723e2866726f6d3a20466c6f7749445461626c655374616b696e672e4e6f64655374616b657253746f726167655061746829210a202020202020202020202020636f6c6c656374696f6e5265662e6164644e6f64654f626a656374283c2d6e6f64652c206d616368696e654163636f756e74496e666f3a206e696c290a20202020202020207d0a0a20202020202020202f2f20496620746865726520697320612064656c656761746f72206f626a65637420696e20746865206163636f756e742c2070757420697420696e20746865207374616b696e6720636f6c6c656374696f6e0a20202020202020206966207369676e65722e626f72726f773c26466c6f7749445461626c655374616b696e672e4e6f646544656c656761746f723e2866726f6d3a20466c6f7749445461626c655374616b696e672e44656c656761746f7253746f72616765506174682920213d206e696c207b0a2020202020202020202020206c65742064656c656761746f72203c2d207369676e65722e6c6f61643c40466c6f7749445461626c655374616b696e672e4e6f646544656c656761746f723e2866726f6d3a20466c6f7749445461626c655374616b696e672e44656c656761746f7253746f726167655061746829210a202020202020202020202020636f6c6c656374696f6e5265662e61646444656c656761746f724f626a656374283c2d64656c656761746f72290a20202020202020207d0a202020207d0a7d0ac0a0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f90bf4f90bf0b90bac696d706f72742046756e6769626c65546f6b656e2066726f6d203078663233336463656538386665306162650a696d706f727420466c6f77546f6b656e2066726f6d203078313635343635333339393034306136310a696d706f727420466c6f7749445461626c655374616b696e672066726f6d203078383632346235326639646463643034610a696d706f7274204c6f636b6564546f6b656e732066726f6d203078386430653837623635313539616536330a696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f2054686973207472616e73616374696f6e207365747320757020616e206163636f756e7420746f207573652061207374616b696e6720636f6c6c656374696f6e0a2f2f2f2049742077696c6c20776f726b207265676172646c657373206f66207768657468657220746865792068617665206120726567756c6172206163636f756e742c20612074776f2d6163636f756e74206c6f636b656420746f6b656e732073657475702c0a2f2f2f206f72207374616b696e67206f626a656374732073746f72656420696e2074686520756e6c6f636b6564206163636f756e740a0a7472616e73616374696f6e207b0a2020202070726570617265287369676e65723a20417574684163636f756e7429207b0a0a20202020202020202f2f2049662074686572652069736e277420616c72656164792061207374616b696e6720636f6c6c656374696f6e0a20202020202020206966207369676e65722e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f726167655061746829203d3d206e696c207b0a0a2020202020202020202020202f2f204372656174652070726976617465206361706162696c697469657320666f722074686520746f6b656e20686f6c64657220616e6420756e6c6f636b6564207661756c740a2020202020202020202020206c6574206c6f636b6564486f6c646572203d207369676e65722e6c696e6b3c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e282f707269766174652f666c6f77546f6b656e486f6c6465722c207461726765743a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f726167655061746829210a2020202020202020202020206c657420666c6f77546f6b656e203d207369676e65722e6c696e6b3c26466c6f77546f6b656e2e5661756c743e282f707269766174652f666c6f77546f6b656e5661756c742c207461726765743a202f73746f726167652f666c6f77546f6b656e5661756c7429210a2020202020202020202020200a2020202020202020202020202f2f204372656174652061206e6577205374616b696e6720436f6c6c656374696f6e20616e642070757420697420696e2073746f726167650a2020202020202020202020206966206c6f636b6564486f6c6465722e636865636b2829207b0a202020202020202020202020202020207369676e65722e73617665283c2d466c6f775374616b696e67436f6c6c656374696f6e2e6372656174655374616b696e67436f6c6c656374696f6e28756e6c6f636b65645661756c743a20666c6f77546f6b656e2c20746f6b656e486f6c6465723a206c6f636b6564486f6c646572292c20746f3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020207d20656c7365207b0a202020202020202020202020202020207369676e65722e73617665283c2d466c6f775374616b696e67436f6c6c656374696f6e2e6372656174655374616b696e67436f6c6c656374696f6e28756e6c6f636b65645661756c743a20666c6f77546f6b656e2c20746f6b656e486f6c6465723a206e696c292c20746f3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020207d0a0a2020202020202020202020202f2f204372656174652061207075626c6963206c696e6b20746f20746865207374616b696e6720636f6c6c656374696f6e0a2020202020202020202020207369676e65722e6c696e6b3c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e7b466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e5075626c69637d3e280a20202020202020202020202020202020466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e5075626c6963506174682c0a202020202020202020202020202020207461726765743a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f72616765506174680a202020202020202020202020290a20202020202020207d0a0a20202020202020202f2f20626f72726f772061207265666572656e636520746f20746865207374616b696e6720636f6c6c656374696f6e0a20202020202020206c657420636f6c6c656374696f6e526566203d207369676e65722e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207374616b696e6720636f6c6c656374696f6e207265666572656e636522290a0a20202020202020202f2f2049662074686572652069732061206e6f6465207374616b6572206f626a65637420696e20746865206163636f756e742c2070757420697420696e20746865207374616b696e6720636f6c6c656374696f6e0a20202020202020206966207369676e65722e626f72726f773c26466c6f7749445461626c655374616b696e672e4e6f64655374616b65723e2866726f6d3a20466c6f7749445461626c655374616b696e672e4e6f64655374616b657253746f72616765506174682920213d206e696c207b0a2020202020202020202020206c6574206e6f6465203c2d207369676e65722e6c6f61643c40466c6f7749445461626c655374616b696e672e4e6f64655374616b65723e2866726f6d3a20466c6f7749445461626c655374616b696e672e4e6f64655374616b657253746f726167655061746829210a202020202020202020202020636f6c6c656374696f6e5265662e6164644e6f64654f626a656374283c2d6e6f64652c206d616368696e654163636f756e74496e666f3a206e696c290a20202020202020207d0a0a20202020202020202f2f20496620746865726520697320612064656c656761746f72206f626a65637420696e20746865206163636f756e742c2070757420697420696e20746865207374616b696e6720636f6c6c656374696f6e0a20202020202020206966207369676e65722e626f72726f773c26466c6f7749445461626c655374616b696e672e4e6f646544656c656761746f723e2866726f6d3a20466c6f7749445461626c655374616b696e672e44656c656761746f7253746f72616765506174682920213d206e696c207b0a2020202020202020202020206c65742064656c656761746f72203c2d207369676e65722e6c6f61643c40466c6f7749445461626c655374616b696e672e4e6f646544656c656761746f723e2866726f6d3a20466c6f7749445461626c655374616b696e672e44656c656761746f7253746f726167655061746829210a202020202020202020202020636f6c6c656374696f6e5265662e61646444656c656761746f724f626a656374283c2d64656c656761746f72290a20202020202020207d0a202020207d0a7d0ac0a0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "02a524b4094fcaf1051dbf43ac33ff80bb2f553670c58eeeb719757972a25d6b500e5c2445c0b1016eed4f60c429f233aa0bb223a0d9ff2aedffce00a58037a2bf5365747570205374616b696e6720436f6c6c656374696f6e0000", - "hash": "0e5c2445c0b1016eed4f60c429f233aa0bb223a0d9ff2aedffce00a58037a2bf" - }, - { - "title": "SCO.02 - Register Delegator", - "valid": true, - "chainID": "Mainnet", - "payloadMessage": { - "script": "import FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// Registers a delegator in the staking collection resource\n/// for the specified nodeID and the amount of tokens to commit\n\ntransaction(id: String, amount: UFix64) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n }\n\n execute {\n self.stakingCollectionRef.registerDelegator(nodeID: id, amount: amount) \n }\n}\n", - "arguments": [ - { - "type": "String", - "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" - }, - { - "type": "UFix64", - "value": "92233720368.54775808" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [ - { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sig": "f7225388c1d69d57e6251c9fda50cbbf9e05131e5adb81e5aa0422402f048162" - } - ] - }, - "envelopeMessage": { - "script": "import FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// Registers a delegator in the staking collection resource\n/// for the specified nodeID and the amount of tokens to commit\n\ntransaction(id: String, amount: UFix64) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n }\n\n execute {\n self.stakingCollectionRef.registerDelegator(nodeID: id, amount: amount) \n }\n}\n", - "arguments": [ - { - "type": "String", - "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" - }, - { - "type": "UFix64", - "value": "92233720368.54775808" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f9036fb9029b696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f2052656769737465727320612064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e207265736f757263650a2f2f2f20666f722074686520737065636966696564206e6f6465494420616e642074686520616d6f756e74206f6620746f6b656e7320746f20636f6d6d69740a0a7472616e73616374696f6e2869643a20537472696e672c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e726567697374657244656c656761746f72286e6f646549443a2069642c20616d6f756e743a20616d6f756e74292020202020200a202020207d0a7d0af88fb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f90373f9036fb9029b696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f2052656769737465727320612064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e207265736f757263650a2f2f2f20666f722074686520737065636966696564206e6f6465494420616e642074686520616d6f756e74206f6620746f6b656e7320746f20636f6d6d69740a0a7472616e73616374696f6e2869643a20537472696e672c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e726567697374657244656c656761746f72286e6f646549443a2069642c20616d6f756e743a20616d6f756e74292020202020200a202020207d0a7d0af88fb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "02c26f69a33ead535e7d597cec4567c6c70170e86fd85ec708f5381e50d43871e2c5636d510872a16eb06996dacb43d6a28f8f72ff1b05b2eb03416cc711d9bb1f52656769737465722044656c656761746f720002014e6f64652049440000537472696e67000301416d6f756e7400015546697836340003", - "hash": "c5636d510872a16eb06996dacb43d6a28f8f72ff1b05b2eb03416cc711d9bb1f" - }, - { - "title": "SCO.03 - Register Node - 1", - "valid": true, - "chainID": "Mainnet", - "payloadMessage": { - "script": "import FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// Registers a delegator in the staking collection resource\n/// for the specified node information and the amount of tokens to commit\n\ntransaction(id: String,\n role: UInt8,\n networkingAddress: String,\n networkingKey: String,\n stakingKey: String,\n amount: UFix64,\n publicKeys: [String]?) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n\n if let machineAccount = self.stakingCollectionRef.registerNode(\n id: id,\n role: role,\n networkingAddress: networkingAddress,\n networkingKey: networkingKey,\n stakingKey: stakingKey,\n amount: amount,\n payer: account) \n {\n if publicKeys == nil || publicKeys!.length == 0 {\n panic(\"Cannot provide zero keys for the machine account\")\n }\n for key in publicKeys! {\n machineAccount.addPublicKey(key.decodeHex())\n }\n }\n }\n}\n", - "arguments": [ - { - "type": "String", - "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" - }, - { - "type": "UInt8", - "value": "1" - }, - { - "type": "String", - "value": "flow-node.test:3569" - }, - { - "type": "String", - "value": "1348307bc77c688e80049de9d081aa09755da33e6997605fa059db2144fc85e560cbe6f7da8d74b453f5916618cb8fd392c2db856f3e78221dc68db1b1d914e4" - }, - { - "type": "String", - "value": "9e9ae0d645fd5fd9050792e0b0daa82cc1686d9133afa0f81a784b375c42ae48567d1545e7a9e1965f2c1a32f73cf8575ebb7a967f6e4d104d2df78eb8be409135d12da0499b8a00771f642c1b9c49397f22b440439f036c3bdee82f5309dab3" - }, - { - "type": "UFix64", - "value": "92233720368.54775808" - }, - { - "type": "Optional", - "value": null - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [ - { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sig": "f7225388c1d69d57e6251c9fda50cbbf9e05131e5adb81e5aa0422402f048162" - } - ] - }, - "envelopeMessage": { - "script": "import FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// Registers a delegator in the staking collection resource\n/// for the specified node information and the amount of tokens to commit\n\ntransaction(id: String,\n role: UInt8,\n networkingAddress: String,\n networkingKey: String,\n stakingKey: String,\n amount: UFix64,\n publicKeys: [String]?) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n\n if let machineAccount = self.stakingCollectionRef.registerNode(\n id: id,\n role: role,\n networkingAddress: networkingAddress,\n networkingKey: networkingKey,\n stakingKey: stakingKey,\n amount: amount,\n payer: account) \n {\n if publicKeys == nil || publicKeys!.length == 0 {\n panic(\"Cannot provide zero keys for the machine account\")\n }\n for key in publicKeys! {\n machineAccount.addPublicKey(key.decodeHex())\n }\n }\n }\n}\n", - "arguments": [ - { - "type": "String", - "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" - }, - { - "type": "UInt8", - "value": "1" - }, - { - "type": "String", - "value": "flow-node.test:3569" - }, - { - "type": "String", - "value": "1348307bc77c688e80049de9d081aa09755da33e6997605fa059db2144fc85e560cbe6f7da8d74b453f5916618cb8fd392c2db856f3e78221dc68db1b1d914e4" - }, - { - "type": "String", - "value": "9e9ae0d645fd5fd9050792e0b0daa82cc1686d9133afa0f81a784b375c42ae48567d1545e7a9e1965f2c1a32f73cf8575ebb7a967f6e4d104d2df78eb8be409135d12da0499b8a00771f642c1b9c49397f22b440439f036c3bdee82f5309dab3" - }, - { - "type": "UFix64", - "value": "92233720368.54775808" - }, - { - "type": "Optional", - "value": null - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f907f3b90534696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f2052656769737465727320612064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e207265736f757263650a2f2f2f20666f722074686520737065636966696564206e6f646520696e666f726d6174696f6e20616e642074686520616d6f756e74206f6620746f6b656e7320746f20636f6d6d69740a0a7472616e73616374696f6e2869643a20537472696e672c0a202020202020202020202020726f6c653a2055496e74382c0a2020202020202020202020206e6574776f726b696e67416464726573733a20537472696e672c0a2020202020202020202020206e6574776f726b696e674b65793a20537472696e672c0a2020202020202020202020207374616b696e674b65793a20537472696e672c0a202020202020202020202020616d6f756e743a205546697836342c0a2020202020202020202020207075626c69634b6579733a205b537472696e675d3f29207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a0a20202020202020206966206c6574206d616368696e654163636f756e74203d2073656c662e7374616b696e67436f6c6c656374696f6e5265662e72656769737465724e6f6465280a20202020202020202020202069643a2069642c0a202020202020202020202020726f6c653a20726f6c652c0a2020202020202020202020206e6574776f726b696e67416464726573733a206e6574776f726b696e67416464726573732c0a2020202020202020202020206e6574776f726b696e674b65793a206e6574776f726b696e674b65792c0a2020202020202020202020207374616b696e674b65793a207374616b696e674b65792c0a202020202020202020202020616d6f756e743a20616d6f756e742c0a20202020202020202020202070617965723a206163636f756e7429200a20202020202020207b0a2020202020202020202020206966207075626c69634b657973203d3d206e696c207c7c207075626c69634b657973212e6c656e677468203d3d2030207b0a2020202020202020202020202020202070616e6963282243616e6e6f742070726f76696465207a65726f206b65797320666f7220746865206d616368696e65206163636f756e7422290a2020202020202020202020207d0a202020202020202020202020666f72206b657920696e207075626c69634b65797321207b0a202020202020202020202020202020206d616368696e654163636f756e742e6164645075626c69634b6579286b65792e6465636f64654865782829290a2020202020202020202020207d0a20202020202020207d0a202020207d0a7d0af90279b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227d9c7b2274797065223a2255496e7438222c2276616c7565223a2231227daf7b2274797065223a22537472696e67222c2276616c7565223a22666c6f772d6e6f64652e746573743a33353639227db89c7b2274797065223a22537472696e67222c2276616c7565223a223133343833303762633737633638386538303034396465396430383161613039373535646133336536393937363035666130353964623231343466633835653536306362653666376461386437346234353366353931363631386362386664333932633264623835366633653738323231646336386462316231643931346534227db8dc7b2274797065223a22537472696e67222c2276616c7565223a22396539616530643634356664356664393035303739326530623064616138326363313638366439313333616661306638316137383462333735633432616534383536376431353435653761396531393635663263316133326637336366383537356562623761393637663665346431303464326466373865623862653430393133356431326461303439396238613030373731663634326331623963343933393766323262343430343339663033366333626465653832663533303964616233227db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da07b2274797065223a224f7074696f6e616c222c2276616c7565223a6e756c6c7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f907f7f907f3b90534696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f2052656769737465727320612064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e207265736f757263650a2f2f2f20666f722074686520737065636966696564206e6f646520696e666f726d6174696f6e20616e642074686520616d6f756e74206f6620746f6b656e7320746f20636f6d6d69740a0a7472616e73616374696f6e2869643a20537472696e672c0a202020202020202020202020726f6c653a2055496e74382c0a2020202020202020202020206e6574776f726b696e67416464726573733a20537472696e672c0a2020202020202020202020206e6574776f726b696e674b65793a20537472696e672c0a2020202020202020202020207374616b696e674b65793a20537472696e672c0a202020202020202020202020616d6f756e743a205546697836342c0a2020202020202020202020207075626c69634b6579733a205b537472696e675d3f29207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a0a20202020202020206966206c6574206d616368696e654163636f756e74203d2073656c662e7374616b696e67436f6c6c656374696f6e5265662e72656769737465724e6f6465280a20202020202020202020202069643a2069642c0a202020202020202020202020726f6c653a20726f6c652c0a2020202020202020202020206e6574776f726b696e67416464726573733a206e6574776f726b696e67416464726573732c0a2020202020202020202020206e6574776f726b696e674b65793a206e6574776f726b696e674b65792c0a2020202020202020202020207374616b696e674b65793a207374616b696e674b65792c0a202020202020202020202020616d6f756e743a20616d6f756e742c0a20202020202020202020202070617965723a206163636f756e7429200a20202020202020207b0a2020202020202020202020206966207075626c69634b657973203d3d206e696c207c7c207075626c69634b657973212e6c656e677468203d3d2030207b0a2020202020202020202020202020202070616e6963282243616e6e6f742070726f76696465207a65726f206b65797320666f7220746865206d616368696e65206163636f756e7422290a2020202020202020202020207d0a202020202020202020202020666f72206b657920696e207075626c69634b65797321207b0a202020202020202020202020202020206d616368696e654163636f756e742e6164645075626c69634b6579286b65792e6465636f64654865782829290a2020202020202020202020207d0a20202020202020207d0a202020207d0a7d0af90279b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227d9c7b2274797065223a2255496e7438222c2276616c7565223a2231227daf7b2274797065223a22537472696e67222c2276616c7565223a22666c6f772d6e6f64652e746573743a33353639227db89c7b2274797065223a22537472696e67222c2276616c7565223a223133343833303762633737633638386538303034396465396430383161613039373535646133336536393937363035666130353964623231343466633835653536306362653666376461386437346234353366353931363631386362386664333932633264623835366633653738323231646336386462316231643931346534227db8dc7b2274797065223a22537472696e67222c2276616c7565223a22396539616530643634356664356664393035303739326530623064616138326363313638366439313333616661306638316137383462333735633432616534383536376431353435653761396531393635663263316133326637336366383537356562623761393637663665346431303464326466373865623862653430393133356431326461303439396238613030373731663634326331623963343933393766323262343430343339663033366333626465653832663533303964616233227db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da07b2274797065223a224f7074696f6e616c222c2276616c7565223a6e756c6c7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "02f47efa834bc0559afae9a660b2efefddd0c6dc6e1bbcf9c3994e45ea9e5135ec99997236b6d76caa298331d5cef77cbdf83c1af64584ece537a780ba4ac468835265676973746572204e6f64650007014e6f64652049440000537472696e670003014e6f646520526f6c65000155496e74380003014e6574772e20416464726573730002537472696e670003014e6574772e204b65790003537472696e670003015374616b696e67204b65790004537472696e67000301416d6f756e74000555466978363400030400035075622e204b65790006537472696e670003", - "hash": "99997236b6d76caa298331d5cef77cbdf83c1af64584ece537a780ba4ac46883" - }, - { - "title": "SCO.03 - Register Node - 2", - "valid": true, - "chainID": "Mainnet", - "payloadMessage": { - "script": "import FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// Registers a delegator in the staking collection resource\n/// for the specified node information and the amount of tokens to commit\n\ntransaction(id: String,\n role: UInt8,\n networkingAddress: String,\n networkingKey: String,\n stakingKey: String,\n amount: UFix64,\n publicKeys: [String]?) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n\n if let machineAccount = self.stakingCollectionRef.registerNode(\n id: id,\n role: role,\n networkingAddress: networkingAddress,\n networkingKey: networkingKey,\n stakingKey: stakingKey,\n amount: amount,\n payer: account) \n {\n if publicKeys == nil || publicKeys!.length == 0 {\n panic(\"Cannot provide zero keys for the machine account\")\n }\n for key in publicKeys! {\n machineAccount.addPublicKey(key.decodeHex())\n }\n }\n }\n}\n", - "arguments": [ - { - "type": "String", - "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" - }, - { - "type": "UInt8", - "value": "1" - }, - { - "type": "String", - "value": "flow-node.test:3569" - }, - { - "type": "String", - "value": "1348307bc77c688e80049de9d081aa09755da33e6997605fa059db2144fc85e560cbe6f7da8d74b453f5916618cb8fd392c2db856f3e78221dc68db1b1d914e4" - }, - { - "type": "String", - "value": "9e9ae0d645fd5fd9050792e0b0daa82cc1686d9133afa0f81a784b375c42ae48567d1545e7a9e1965f2c1a32f73cf8575ebb7a967f6e4d104d2df78eb8be409135d12da0499b8a00771f642c1b9c49397f22b440439f036c3bdee82f5309dab3" - }, - { - "type": "UFix64", - "value": "92233720368.54775808" - }, - { - "type": "Optional", - "value": { - "type": "Array", - "value": [] - } - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [ - { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sig": "f7225388c1d69d57e6251c9fda50cbbf9e05131e5adb81e5aa0422402f048162" - } - ] - }, - "envelopeMessage": { - "script": "import FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// Registers a delegator in the staking collection resource\n/// for the specified node information and the amount of tokens to commit\n\ntransaction(id: String,\n role: UInt8,\n networkingAddress: String,\n networkingKey: String,\n stakingKey: String,\n amount: UFix64,\n publicKeys: [String]?) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n\n if let machineAccount = self.stakingCollectionRef.registerNode(\n id: id,\n role: role,\n networkingAddress: networkingAddress,\n networkingKey: networkingKey,\n stakingKey: stakingKey,\n amount: amount,\n payer: account) \n {\n if publicKeys == nil || publicKeys!.length == 0 {\n panic(\"Cannot provide zero keys for the machine account\")\n }\n for key in publicKeys! {\n machineAccount.addPublicKey(key.decodeHex())\n }\n }\n }\n}\n", - "arguments": [ - { - "type": "String", - "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" - }, - { - "type": "UInt8", - "value": "1" - }, - { - "type": "String", - "value": "flow-node.test:3569" - }, - { - "type": "String", - "value": "1348307bc77c688e80049de9d081aa09755da33e6997605fa059db2144fc85e560cbe6f7da8d74b453f5916618cb8fd392c2db856f3e78221dc68db1b1d914e4" - }, - { - "type": "String", - "value": "9e9ae0d645fd5fd9050792e0b0daa82cc1686d9133afa0f81a784b375c42ae48567d1545e7a9e1965f2c1a32f73cf8575ebb7a967f6e4d104d2df78eb8be409135d12da0499b8a00771f642c1b9c49397f22b440439f036c3bdee82f5309dab3" - }, - { - "type": "UFix64", - "value": "92233720368.54775808" - }, - { - "type": "Optional", - "value": { - "type": "Array", - "value": [] - } - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f9080ab90534696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f2052656769737465727320612064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e207265736f757263650a2f2f2f20666f722074686520737065636966696564206e6f646520696e666f726d6174696f6e20616e642074686520616d6f756e74206f6620746f6b656e7320746f20636f6d6d69740a0a7472616e73616374696f6e2869643a20537472696e672c0a202020202020202020202020726f6c653a2055496e74382c0a2020202020202020202020206e6574776f726b696e67416464726573733a20537472696e672c0a2020202020202020202020206e6574776f726b696e674b65793a20537472696e672c0a2020202020202020202020207374616b696e674b65793a20537472696e672c0a202020202020202020202020616d6f756e743a205546697836342c0a2020202020202020202020207075626c69634b6579733a205b537472696e675d3f29207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a0a20202020202020206966206c6574206d616368696e654163636f756e74203d2073656c662e7374616b696e67436f6c6c656374696f6e5265662e72656769737465724e6f6465280a20202020202020202020202069643a2069642c0a202020202020202020202020726f6c653a20726f6c652c0a2020202020202020202020206e6574776f726b696e67416464726573733a206e6574776f726b696e67416464726573732c0a2020202020202020202020206e6574776f726b696e674b65793a206e6574776f726b696e674b65792c0a2020202020202020202020207374616b696e674b65793a207374616b696e674b65792c0a202020202020202020202020616d6f756e743a20616d6f756e742c0a20202020202020202020202070617965723a206163636f756e7429200a20202020202020207b0a2020202020202020202020206966207075626c69634b657973203d3d206e696c207c7c207075626c69634b657973212e6c656e677468203d3d2030207b0a2020202020202020202020202020202070616e6963282243616e6e6f742070726f76696465207a65726f206b65797320666f7220746865206d616368696e65206163636f756e7422290a2020202020202020202020207d0a202020202020202020202020666f72206b657920696e207075626c69634b65797321207b0a202020202020202020202020202020206d616368696e654163636f756e742e6164645075626c69634b6579286b65792e6465636f64654865782829290a2020202020202020202020207d0a20202020202020207d0a202020207d0a7d0af90290b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227d9c7b2274797065223a2255496e7438222c2276616c7565223a2231227daf7b2274797065223a22537472696e67222c2276616c7565223a22666c6f772d6e6f64652e746573743a33353639227db89c7b2274797065223a22537472696e67222c2276616c7565223a223133343833303762633737633638386538303034396465396430383161613039373535646133336536393937363035666130353964623231343466633835653536306362653666376461386437346234353366353931363631386362386664333932633264623835366633653738323231646336386462316231643931346534227db8dc7b2274797065223a22537472696e67222c2276616c7565223a22396539616530643634356664356664393035303739326530623064616138326363313638366439313333616661306638316137383462333735633432616534383536376431353435653761396531393635663263316133326637336366383537356562623761393637663665346431303464326466373865623862653430393133356431326461303439396238613030373731663634326331623963343933393766323262343430343339663033366333626465653832663533303964616233227db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227db77b2274797065223a224f7074696f6e616c222c2276616c7565223a7b2274797065223a224172726179222c2276616c7565223a5b5d7d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f9080ef9080ab90534696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f2052656769737465727320612064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e207265736f757263650a2f2f2f20666f722074686520737065636966696564206e6f646520696e666f726d6174696f6e20616e642074686520616d6f756e74206f6620746f6b656e7320746f20636f6d6d69740a0a7472616e73616374696f6e2869643a20537472696e672c0a202020202020202020202020726f6c653a2055496e74382c0a2020202020202020202020206e6574776f726b696e67416464726573733a20537472696e672c0a2020202020202020202020206e6574776f726b696e674b65793a20537472696e672c0a2020202020202020202020207374616b696e674b65793a20537472696e672c0a202020202020202020202020616d6f756e743a205546697836342c0a2020202020202020202020207075626c69634b6579733a205b537472696e675d3f29207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a0a20202020202020206966206c6574206d616368696e654163636f756e74203d2073656c662e7374616b696e67436f6c6c656374696f6e5265662e72656769737465724e6f6465280a20202020202020202020202069643a2069642c0a202020202020202020202020726f6c653a20726f6c652c0a2020202020202020202020206e6574776f726b696e67416464726573733a206e6574776f726b696e67416464726573732c0a2020202020202020202020206e6574776f726b696e674b65793a206e6574776f726b696e674b65792c0a2020202020202020202020207374616b696e674b65793a207374616b696e674b65792c0a202020202020202020202020616d6f756e743a20616d6f756e742c0a20202020202020202020202070617965723a206163636f756e7429200a20202020202020207b0a2020202020202020202020206966207075626c69634b657973203d3d206e696c207c7c207075626c69634b657973212e6c656e677468203d3d2030207b0a2020202020202020202020202020202070616e6963282243616e6e6f742070726f76696465207a65726f206b65797320666f7220746865206d616368696e65206163636f756e7422290a2020202020202020202020207d0a202020202020202020202020666f72206b657920696e207075626c69634b65797321207b0a202020202020202020202020202020206d616368696e654163636f756e742e6164645075626c69634b6579286b65792e6465636f64654865782829290a2020202020202020202020207d0a20202020202020207d0a202020207d0a7d0af90290b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227d9c7b2274797065223a2255496e7438222c2276616c7565223a2231227daf7b2274797065223a22537472696e67222c2276616c7565223a22666c6f772d6e6f64652e746573743a33353639227db89c7b2274797065223a22537472696e67222c2276616c7565223a223133343833303762633737633638386538303034396465396430383161613039373535646133336536393937363035666130353964623231343466633835653536306362653666376461386437346234353366353931363631386362386664333932633264623835366633653738323231646336386462316231643931346534227db8dc7b2274797065223a22537472696e67222c2276616c7565223a22396539616530643634356664356664393035303739326530623064616138326363313638366439313333616661306638316137383462333735633432616534383536376431353435653761396531393635663263316133326637336366383537356562623761393637663665346431303464326466373865623862653430393133356431326461303439396238613030373731663634326331623963343933393766323262343430343339663033366333626465653832663533303964616233227db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227db77b2274797065223a224f7074696f6e616c222c2276616c7565223a7b2274797065223a224172726179222c2276616c7565223a5b5d7d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "02f47efa834bc0559afae9a660b2efefddd0c6dc6e1bbcf9c3994e45ea9e5135ec99997236b6d76caa298331d5cef77cbdf83c1af64584ece537a780ba4ac468835265676973746572204e6f64650007014e6f64652049440000537472696e670003014e6f646520526f6c65000155496e74380003014e6574772e20416464726573730002537472696e670003014e6574772e204b65790003537472696e670003015374616b696e67204b65790004537472696e67000301416d6f756e74000555466978363400030400035075622e204b65790006537472696e670003", - "hash": "99997236b6d76caa298331d5cef77cbdf83c1af64584ece537a780ba4ac46883" - }, - { - "title": "SCO.03 - Register Node - 3", - "valid": true, - "chainID": "Mainnet", - "payloadMessage": { - "script": "import FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// Registers a delegator in the staking collection resource\n/// for the specified node information and the amount of tokens to commit\n\ntransaction(id: String,\n role: UInt8,\n networkingAddress: String,\n networkingKey: String,\n stakingKey: String,\n amount: UFix64,\n publicKeys: [String]?) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n\n if let machineAccount = self.stakingCollectionRef.registerNode(\n id: id,\n role: role,\n networkingAddress: networkingAddress,\n networkingKey: networkingKey,\n stakingKey: stakingKey,\n amount: amount,\n payer: account) \n {\n if publicKeys == nil || publicKeys!.length == 0 {\n panic(\"Cannot provide zero keys for the machine account\")\n }\n for key in publicKeys! {\n machineAccount.addPublicKey(key.decodeHex())\n }\n }\n }\n}\n", - "arguments": [ - { - "type": "String", - "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" - }, - { - "type": "UInt8", - "value": "1" - }, - { - "type": "String", - "value": "flow-node.test:3569" - }, - { - "type": "String", - "value": "1348307bc77c688e80049de9d081aa09755da33e6997605fa059db2144fc85e560cbe6f7da8d74b453f5916618cb8fd392c2db856f3e78221dc68db1b1d914e4" - }, - { - "type": "String", - "value": "9e9ae0d645fd5fd9050792e0b0daa82cc1686d9133afa0f81a784b375c42ae48567d1545e7a9e1965f2c1a32f73cf8575ebb7a967f6e4d104d2df78eb8be409135d12da0499b8a00771f642c1b9c49397f22b440439f036c3bdee82f5309dab3" - }, - { - "type": "UFix64", - "value": "92233720368.54775808" - }, - { - "type": "Optional", - "value": { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164" - } - ] - } - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [ - { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sig": "f7225388c1d69d57e6251c9fda50cbbf9e05131e5adb81e5aa0422402f048162" - } - ] - }, - "envelopeMessage": { - "script": "import FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// Registers a delegator in the staking collection resource\n/// for the specified node information and the amount of tokens to commit\n\ntransaction(id: String,\n role: UInt8,\n networkingAddress: String,\n networkingKey: String,\n stakingKey: String,\n amount: UFix64,\n publicKeys: [String]?) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n\n if let machineAccount = self.stakingCollectionRef.registerNode(\n id: id,\n role: role,\n networkingAddress: networkingAddress,\n networkingKey: networkingKey,\n stakingKey: stakingKey,\n amount: amount,\n payer: account) \n {\n if publicKeys == nil || publicKeys!.length == 0 {\n panic(\"Cannot provide zero keys for the machine account\")\n }\n for key in publicKeys! {\n machineAccount.addPublicKey(key.decodeHex())\n }\n }\n }\n}\n", - "arguments": [ - { - "type": "String", - "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" - }, - { - "type": "UInt8", - "value": "1" - }, - { - "type": "String", - "value": "flow-node.test:3569" - }, - { - "type": "String", - "value": "1348307bc77c688e80049de9d081aa09755da33e6997605fa059db2144fc85e560cbe6f7da8d74b453f5916618cb8fd392c2db856f3e78221dc68db1b1d914e4" - }, - { - "type": "String", - "value": "9e9ae0d645fd5fd9050792e0b0daa82cc1686d9133afa0f81a784b375c42ae48567d1545e7a9e1965f2c1a32f73cf8575ebb7a967f6e4d104d2df78eb8be409135d12da0499b8a00771f642c1b9c49397f22b440439f036c3bdee82f5309dab3" - }, - { - "type": "UFix64", - "value": "92233720368.54775808" - }, - { - "type": "Optional", - "value": { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164" - } - ] - } - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f908b5b90534696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f2052656769737465727320612064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e207265736f757263650a2f2f2f20666f722074686520737065636966696564206e6f646520696e666f726d6174696f6e20616e642074686520616d6f756e74206f6620746f6b656e7320746f20636f6d6d69740a0a7472616e73616374696f6e2869643a20537472696e672c0a202020202020202020202020726f6c653a2055496e74382c0a2020202020202020202020206e6574776f726b696e67416464726573733a20537472696e672c0a2020202020202020202020206e6574776f726b696e674b65793a20537472696e672c0a2020202020202020202020207374616b696e674b65793a20537472696e672c0a202020202020202020202020616d6f756e743a205546697836342c0a2020202020202020202020207075626c69634b6579733a205b537472696e675d3f29207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a0a20202020202020206966206c6574206d616368696e654163636f756e74203d2073656c662e7374616b696e67436f6c6c656374696f6e5265662e72656769737465724e6f6465280a20202020202020202020202069643a2069642c0a202020202020202020202020726f6c653a20726f6c652c0a2020202020202020202020206e6574776f726b696e67416464726573733a206e6574776f726b696e67416464726573732c0a2020202020202020202020206e6574776f726b696e674b65793a206e6574776f726b696e674b65792c0a2020202020202020202020207374616b696e674b65793a207374616b696e674b65792c0a202020202020202020202020616d6f756e743a20616d6f756e742c0a20202020202020202020202070617965723a206163636f756e7429200a20202020202020207b0a2020202020202020202020206966207075626c69634b657973203d3d206e696c207c7c207075626c69634b657973212e6c656e677468203d3d2030207b0a2020202020202020202020202020202070616e6963282243616e6e6f742070726f76696465207a65726f206b65797320666f7220746865206d616368696e65206163636f756e7422290a2020202020202020202020207d0a202020202020202020202020666f72206b657920696e207075626c69634b65797321207b0a202020202020202020202020202020206d616368696e654163636f756e742e6164645075626c69634b6579286b65792e6465636f64654865782829290a2020202020202020202020207d0a20202020202020207d0a202020207d0a7d0af9033bb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227d9c7b2274797065223a2255496e7438222c2276616c7565223a2231227daf7b2274797065223a22537472696e67222c2276616c7565223a22666c6f772d6e6f64652e746573743a33353639227db89c7b2274797065223a22537472696e67222c2276616c7565223a223133343833303762633737633638386538303034396465396430383161613039373535646133336536393937363035666130353964623231343466633835653536306362653666376461386437346234353366353931363631386362386664333932633264623835366633653738323231646336386462316231643931346534227db8dc7b2274797065223a22537472696e67222c2276616c7565223a22396539616530643634356664356664393035303739326530623064616138326363313638366439313333616661306638316137383462333735633432616534383536376431353435653761396531393635663263316133326637336366383537356562623761393637663665346431303464326466373865623862653430393133356431326461303439396238613030373731663634326331623963343933393766323262343430343339663033366333626465653832663533303964616233227db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227db8e17b2274797065223a224f7074696f6e616c222c2276616c7565223a7b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634227d5d7d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f908b9f908b5b90534696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f2052656769737465727320612064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e207265736f757263650a2f2f2f20666f722074686520737065636966696564206e6f646520696e666f726d6174696f6e20616e642074686520616d6f756e74206f6620746f6b656e7320746f20636f6d6d69740a0a7472616e73616374696f6e2869643a20537472696e672c0a202020202020202020202020726f6c653a2055496e74382c0a2020202020202020202020206e6574776f726b696e67416464726573733a20537472696e672c0a2020202020202020202020206e6574776f726b696e674b65793a20537472696e672c0a2020202020202020202020207374616b696e674b65793a20537472696e672c0a202020202020202020202020616d6f756e743a205546697836342c0a2020202020202020202020207075626c69634b6579733a205b537472696e675d3f29207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a0a20202020202020206966206c6574206d616368696e654163636f756e74203d2073656c662e7374616b696e67436f6c6c656374696f6e5265662e72656769737465724e6f6465280a20202020202020202020202069643a2069642c0a202020202020202020202020726f6c653a20726f6c652c0a2020202020202020202020206e6574776f726b696e67416464726573733a206e6574776f726b696e67416464726573732c0a2020202020202020202020206e6574776f726b696e674b65793a206e6574776f726b696e674b65792c0a2020202020202020202020207374616b696e674b65793a207374616b696e674b65792c0a202020202020202020202020616d6f756e743a20616d6f756e742c0a20202020202020202020202070617965723a206163636f756e7429200a20202020202020207b0a2020202020202020202020206966207075626c69634b657973203d3d206e696c207c7c207075626c69634b657973212e6c656e677468203d3d2030207b0a2020202020202020202020202020202070616e6963282243616e6e6f742070726f76696465207a65726f206b65797320666f7220746865206d616368696e65206163636f756e7422290a2020202020202020202020207d0a202020202020202020202020666f72206b657920696e207075626c69634b65797321207b0a202020202020202020202020202020206d616368696e654163636f756e742e6164645075626c69634b6579286b65792e6465636f64654865782829290a2020202020202020202020207d0a20202020202020207d0a202020207d0a7d0af9033bb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227d9c7b2274797065223a2255496e7438222c2276616c7565223a2231227daf7b2274797065223a22537472696e67222c2276616c7565223a22666c6f772d6e6f64652e746573743a33353639227db89c7b2274797065223a22537472696e67222c2276616c7565223a223133343833303762633737633638386538303034396465396430383161613039373535646133336536393937363035666130353964623231343466633835653536306362653666376461386437346234353366353931363631386362386664333932633264623835366633653738323231646336386462316231643931346534227db8dc7b2274797065223a22537472696e67222c2276616c7565223a22396539616530643634356664356664393035303739326530623064616138326363313638366439313333616661306638316137383462333735633432616534383536376431353435653761396531393635663263316133326637336366383537356562623761393637663665346431303464326466373865623862653430393133356431326461303439396238613030373731663634326331623963343933393766323262343430343339663033366333626465653832663533303964616233227db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227db8e17b2274797065223a224f7074696f6e616c222c2276616c7565223a7b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634227d5d7d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "02f47efa834bc0559afae9a660b2efefddd0c6dc6e1bbcf9c3994e45ea9e5135ec99997236b6d76caa298331d5cef77cbdf83c1af64584ece537a780ba4ac468835265676973746572204e6f64650007014e6f64652049440000537472696e670003014e6f646520526f6c65000155496e74380003014e6574772e20416464726573730002537472696e670003014e6574772e204b65790003537472696e670003015374616b696e67204b65790004537472696e67000301416d6f756e74000555466978363400030400035075622e204b65790006537472696e670003", - "hash": "99997236b6d76caa298331d5cef77cbdf83c1af64584ece537a780ba4ac46883" - }, - { - "title": "SCO.03 - Register Node - 4", - "valid": true, - "chainID": "Mainnet", - "payloadMessage": { - "script": "import FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// Registers a delegator in the staking collection resource\n/// for the specified node information and the amount of tokens to commit\n\ntransaction(id: String,\n role: UInt8,\n networkingAddress: String,\n networkingKey: String,\n stakingKey: String,\n amount: UFix64,\n publicKeys: [String]?) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n\n if let machineAccount = self.stakingCollectionRef.registerNode(\n id: id,\n role: role,\n networkingAddress: networkingAddress,\n networkingKey: networkingKey,\n stakingKey: stakingKey,\n amount: amount,\n payer: account) \n {\n if publicKeys == nil || publicKeys!.length == 0 {\n panic(\"Cannot provide zero keys for the machine account\")\n }\n for key in publicKeys! {\n machineAccount.addPublicKey(key.decodeHex())\n }\n }\n }\n}\n", - "arguments": [ - { - "type": "String", - "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" - }, - { - "type": "UInt8", - "value": "1" - }, - { - "type": "String", - "value": "flow-node.test:3569" - }, - { - "type": "String", - "value": "1348307bc77c688e80049de9d081aa09755da33e6997605fa059db2144fc85e560cbe6f7da8d74b453f5916618cb8fd392c2db856f3e78221dc68db1b1d914e4" - }, - { - "type": "String", - "value": "9e9ae0d645fd5fd9050792e0b0daa82cc1686d9133afa0f81a784b375c42ae48567d1545e7a9e1965f2c1a32f73cf8575ebb7a967f6e4d104d2df78eb8be409135d12da0499b8a00771f642c1b9c49397f22b440439f036c3bdee82f5309dab3" - }, - { - "type": "UFix64", - "value": "92233720368.54775808" - }, - { - "type": "Optional", - "value": { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164" - }, - { - "type": "String", - "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164" - }, - { - "type": "String", - "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164" - } - ] - } - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [ - { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sig": "f7225388c1d69d57e6251c9fda50cbbf9e05131e5adb81e5aa0422402f048162" - } - ] - }, - "envelopeMessage": { - "script": "import FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// Registers a delegator in the staking collection resource\n/// for the specified node information and the amount of tokens to commit\n\ntransaction(id: String,\n role: UInt8,\n networkingAddress: String,\n networkingKey: String,\n stakingKey: String,\n amount: UFix64,\n publicKeys: [String]?) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n\n if let machineAccount = self.stakingCollectionRef.registerNode(\n id: id,\n role: role,\n networkingAddress: networkingAddress,\n networkingKey: networkingKey,\n stakingKey: stakingKey,\n amount: amount,\n payer: account) \n {\n if publicKeys == nil || publicKeys!.length == 0 {\n panic(\"Cannot provide zero keys for the machine account\")\n }\n for key in publicKeys! {\n machineAccount.addPublicKey(key.decodeHex())\n }\n }\n }\n}\n", - "arguments": [ - { - "type": "String", - "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" - }, - { - "type": "UInt8", - "value": "1" - }, - { - "type": "String", - "value": "flow-node.test:3569" - }, - { - "type": "String", - "value": "1348307bc77c688e80049de9d081aa09755da33e6997605fa059db2144fc85e560cbe6f7da8d74b453f5916618cb8fd392c2db856f3e78221dc68db1b1d914e4" - }, - { - "type": "String", - "value": "9e9ae0d645fd5fd9050792e0b0daa82cc1686d9133afa0f81a784b375c42ae48567d1545e7a9e1965f2c1a32f73cf8575ebb7a967f6e4d104d2df78eb8be409135d12da0499b8a00771f642c1b9c49397f22b440439f036c3bdee82f5309dab3" - }, - { - "type": "UFix64", - "value": "92233720368.54775808" - }, - { - "type": "Optional", - "value": { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164" - }, - { - "type": "String", - "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164" - }, - { - "type": "String", - "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164" - } - ] - } - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f90a0cb90534696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f2052656769737465727320612064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e207265736f757263650a2f2f2f20666f722074686520737065636966696564206e6f646520696e666f726d6174696f6e20616e642074686520616d6f756e74206f6620746f6b656e7320746f20636f6d6d69740a0a7472616e73616374696f6e2869643a20537472696e672c0a202020202020202020202020726f6c653a2055496e74382c0a2020202020202020202020206e6574776f726b696e67416464726573733a20537472696e672c0a2020202020202020202020206e6574776f726b696e674b65793a20537472696e672c0a2020202020202020202020207374616b696e674b65793a20537472696e672c0a202020202020202020202020616d6f756e743a205546697836342c0a2020202020202020202020207075626c69634b6579733a205b537472696e675d3f29207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a0a20202020202020206966206c6574206d616368696e654163636f756e74203d2073656c662e7374616b696e67436f6c6c656374696f6e5265662e72656769737465724e6f6465280a20202020202020202020202069643a2069642c0a202020202020202020202020726f6c653a20726f6c652c0a2020202020202020202020206e6574776f726b696e67416464726573733a206e6574776f726b696e67416464726573732c0a2020202020202020202020206e6574776f726b696e674b65793a206e6574776f726b696e674b65792c0a2020202020202020202020207374616b696e674b65793a207374616b696e674b65792c0a202020202020202020202020616d6f756e743a20616d6f756e742c0a20202020202020202020202070617965723a206163636f756e7429200a20202020202020207b0a2020202020202020202020206966207075626c69634b657973203d3d206e696c207c7c207075626c69634b657973212e6c656e677468203d3d2030207b0a2020202020202020202020202020202070616e6963282243616e6e6f742070726f76696465207a65726f206b65797320666f7220746865206d616368696e65206163636f756e7422290a2020202020202020202020207d0a202020202020202020202020666f72206b657920696e207075626c69634b65797321207b0a202020202020202020202020202020206d616368696e654163636f756e742e6164645075626c69634b6579286b65792e6465636f64654865782829290a2020202020202020202020207d0a20202020202020207d0a202020207d0a7d0af90492b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227d9c7b2274797065223a2255496e7438222c2276616c7565223a2231227daf7b2274797065223a22537472696e67222c2276616c7565223a22666c6f772d6e6f64652e746573743a33353639227db89c7b2274797065223a22537472696e67222c2276616c7565223a223133343833303762633737633638386538303034396465396430383161613039373535646133336536393937363035666130353964623231343466633835653536306362653666376461386437346234353366353931363631386362386664333932633264623835366633653738323231646336386462316231643931346534227db8dc7b2274797065223a22537472696e67222c2276616c7565223a22396539616530643634356664356664393035303739326530623064616138326363313638366439313333616661306638316137383462333735633432616534383536376431353435653761396531393635663263316133326637336366383537356562623761393637663665346431303464326466373865623862653430393133356431326461303439396238613030373731663634326331623963343933393766323262343430343339663033366333626465653832663533303964616233227db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227db902377b2274797065223a224f7074696f6e616c222c2276616c7565223a7b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634227d2c7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634227d2c7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634227d5d7d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f90a10f90a0cb90534696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f2052656769737465727320612064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e207265736f757263650a2f2f2f20666f722074686520737065636966696564206e6f646520696e666f726d6174696f6e20616e642074686520616d6f756e74206f6620746f6b656e7320746f20636f6d6d69740a0a7472616e73616374696f6e2869643a20537472696e672c0a202020202020202020202020726f6c653a2055496e74382c0a2020202020202020202020206e6574776f726b696e67416464726573733a20537472696e672c0a2020202020202020202020206e6574776f726b696e674b65793a20537472696e672c0a2020202020202020202020207374616b696e674b65793a20537472696e672c0a202020202020202020202020616d6f756e743a205546697836342c0a2020202020202020202020207075626c69634b6579733a205b537472696e675d3f29207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a0a20202020202020206966206c6574206d616368696e654163636f756e74203d2073656c662e7374616b696e67436f6c6c656374696f6e5265662e72656769737465724e6f6465280a20202020202020202020202069643a2069642c0a202020202020202020202020726f6c653a20726f6c652c0a2020202020202020202020206e6574776f726b696e67416464726573733a206e6574776f726b696e67416464726573732c0a2020202020202020202020206e6574776f726b696e674b65793a206e6574776f726b696e674b65792c0a2020202020202020202020207374616b696e674b65793a207374616b696e674b65792c0a202020202020202020202020616d6f756e743a20616d6f756e742c0a20202020202020202020202070617965723a206163636f756e7429200a20202020202020207b0a2020202020202020202020206966207075626c69634b657973203d3d206e696c207c7c207075626c69634b657973212e6c656e677468203d3d2030207b0a2020202020202020202020202020202070616e6963282243616e6e6f742070726f76696465207a65726f206b65797320666f7220746865206d616368696e65206163636f756e7422290a2020202020202020202020207d0a202020202020202020202020666f72206b657920696e207075626c69634b65797321207b0a202020202020202020202020202020206d616368696e654163636f756e742e6164645075626c69634b6579286b65792e6465636f64654865782829290a2020202020202020202020207d0a20202020202020207d0a202020207d0a7d0af90492b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227d9c7b2274797065223a2255496e7438222c2276616c7565223a2231227daf7b2274797065223a22537472696e67222c2276616c7565223a22666c6f772d6e6f64652e746573743a33353639227db89c7b2274797065223a22537472696e67222c2276616c7565223a223133343833303762633737633638386538303034396465396430383161613039373535646133336536393937363035666130353964623231343466633835653536306362653666376461386437346234353366353931363631386362386664333932633264623835366633653738323231646336386462316231643931346534227db8dc7b2274797065223a22537472696e67222c2276616c7565223a22396539616530643634356664356664393035303739326530623064616138326363313638366439313333616661306638316137383462333735633432616534383536376431353435653761396531393635663263316133326637336366383537356562623761393637663665346431303464326466373865623862653430393133356431326461303439396238613030373731663634326331623963343933393766323262343430343339663033366333626465653832663533303964616233227db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227db902377b2274797065223a224f7074696f6e616c222c2276616c7565223a7b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634227d2c7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634227d2c7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634227d5d7d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "02f47efa834bc0559afae9a660b2efefddd0c6dc6e1bbcf9c3994e45ea9e5135ec99997236b6d76caa298331d5cef77cbdf83c1af64584ece537a780ba4ac468835265676973746572204e6f64650007014e6f64652049440000537472696e670003014e6f646520526f6c65000155496e74380003014e6574772e20416464726573730002537472696e670003014e6574772e204b65790003537472696e670003015374616b696e67204b65790004537472696e67000301416d6f756e74000555466978363400030400035075622e204b65790006537472696e670003", - "hash": "99997236b6d76caa298331d5cef77cbdf83c1af64584ece537a780ba4ac46883" - }, - { - "title": "SCO.04 - Create Machine Account - 1", - "valid": true, - "chainID": "Mainnet", - "payloadMessage": { - "script": "import FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// Creates a machine account for a node that is already in the staking collection\n/// and adds public keys to the new account\n\ntransaction(nodeID: String, publicKeys: [String]) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n\n if let machineAccount = self.stakingCollectionRef.createMachineAccountForExistingNode(nodeID: nodeID, payer: account) {\n if publicKeys == nil || publicKeys!.length == 0 {\n panic(\"Cannot provide zero keys for the machine account\")\n }\n for key in publicKeys! {\n machineAccount.addPublicKey(key.decodeHex())\n }\n } else {\n panic(\"Could not create a machine account for the node\")\n }\n }\n}\n", - "arguments": [ - { - "type": "String", - "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" - }, - { - "type": "Array", - "value": [] - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [ - { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sig": "f7225388c1d69d57e6251c9fda50cbbf9e05131e5adb81e5aa0422402f048162" - } - ] - }, - "envelopeMessage": { - "script": "import FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// Creates a machine account for a node that is already in the staking collection\n/// and adds public keys to the new account\n\ntransaction(nodeID: String, publicKeys: [String]) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n\n if let machineAccount = self.stakingCollectionRef.createMachineAccountForExistingNode(nodeID: nodeID, payer: account) {\n if publicKeys == nil || publicKeys!.length == 0 {\n panic(\"Cannot provide zero keys for the machine account\")\n }\n for key in publicKeys! {\n machineAccount.addPublicKey(key.decodeHex())\n }\n } else {\n panic(\"Could not create a machine account for the node\")\n }\n }\n}\n", - "arguments": [ - { - "type": "String", - "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" - }, - { - "type": "Array", - "value": [] - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f904e2b90423696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f20437265617465732061206d616368696e65206163636f756e7420666f722061206e6f6465207468617420697320616c726561647920696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f20616e642061646473207075626c6963206b65797320746f20746865206e6577206163636f756e740a0a7472616e73616374696f6e286e6f646549443a20537472696e672c207075626c69634b6579733a205b537472696e675d29207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a0a20202020202020206966206c6574206d616368696e654163636f756e74203d2073656c662e7374616b696e67436f6c6c656374696f6e5265662e6372656174654d616368696e654163636f756e74466f724578697374696e674e6f6465286e6f646549443a206e6f646549442c2070617965723a206163636f756e7429207b0a2020202020202020202020206966207075626c69634b657973203d3d206e696c207c7c207075626c69634b657973212e6c656e677468203d3d2030207b0a2020202020202020202020202020202070616e6963282243616e6e6f742070726f76696465207a65726f206b65797320666f7220746865206d616368696e65206163636f756e7422290a2020202020202020202020207d0a202020202020202020202020666f72206b657920696e207075626c69634b65797321207b0a202020202020202020202020202020206d616368696e654163636f756e742e6164645075626c69634b6579286b65792e6465636f64654865782829290a2020202020202020202020207d0a20202020202020207d20656c7365207b0a20202020202020202020202070616e69632822436f756c64206e6f74206372656174652061206d616368696e65206163636f756e7420666f7220746865206e6f646522290a20202020202020207d0a202020207d0a7d0af87ab85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227d9b7b2274797065223a224172726179222c2276616c7565223a5b5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f904e6f904e2b90423696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f20437265617465732061206d616368696e65206163636f756e7420666f722061206e6f6465207468617420697320616c726561647920696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f20616e642061646473207075626c6963206b65797320746f20746865206e6577206163636f756e740a0a7472616e73616374696f6e286e6f646549443a20537472696e672c207075626c69634b6579733a205b537472696e675d29207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a0a20202020202020206966206c6574206d616368696e654163636f756e74203d2073656c662e7374616b696e67436f6c6c656374696f6e5265662e6372656174654d616368696e654163636f756e74466f724578697374696e674e6f6465286e6f646549443a206e6f646549442c2070617965723a206163636f756e7429207b0a2020202020202020202020206966207075626c69634b657973203d3d206e696c207c7c207075626c69634b657973212e6c656e677468203d3d2030207b0a2020202020202020202020202020202070616e6963282243616e6e6f742070726f76696465207a65726f206b65797320666f7220746865206d616368696e65206163636f756e7422290a2020202020202020202020207d0a202020202020202020202020666f72206b657920696e207075626c69634b65797321207b0a202020202020202020202020202020206d616368696e654163636f756e742e6164645075626c69634b6579286b65792e6465636f64654865782829290a2020202020202020202020207d0a20202020202020207d20656c7365207b0a20202020202020202020202070616e69632822436f756c64206e6f74206372656174652061206d616368696e65206163636f756e7420666f7220746865206e6f646522290a20202020202020207d0a202020207d0a7d0af87ab85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227d9b7b2274797065223a224172726179222c2276616c7565223a5b5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "02e79df145af42488e3da1d1b2e50a38a2084229896d670884f278a2119dc3bf9ec2442b498eea025099815ea613d6407407192dc12ad70e1a4f47936db804a841437265617465204d616368696e65204163636f756e740002014e6f64652049440000537472696e6700030300035075622e204b65790001537472696e670003", - "hash": "c2442b498eea025099815ea613d6407407192dc12ad70e1a4f47936db804a841" - }, - { - "title": "SCO.04 - Create Machine Account - 2", - "valid": true, - "chainID": "Mainnet", - "payloadMessage": { - "script": "import FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// Creates a machine account for a node that is already in the staking collection\n/// and adds public keys to the new account\n\ntransaction(nodeID: String, publicKeys: [String]) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n\n if let machineAccount = self.stakingCollectionRef.createMachineAccountForExistingNode(nodeID: nodeID, payer: account) {\n if publicKeys == nil || publicKeys!.length == 0 {\n panic(\"Cannot provide zero keys for the machine account\")\n }\n for key in publicKeys! {\n machineAccount.addPublicKey(key.decodeHex())\n }\n } else {\n panic(\"Could not create a machine account for the node\")\n }\n }\n}\n", - "arguments": [ - { - "type": "String", - "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" - }, - { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164" - } - ] - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [ - { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sig": "f7225388c1d69d57e6251c9fda50cbbf9e05131e5adb81e5aa0422402f048162" - } - ] - }, - "envelopeMessage": { - "script": "import FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// Creates a machine account for a node that is already in the staking collection\n/// and adds public keys to the new account\n\ntransaction(nodeID: String, publicKeys: [String]) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n\n if let machineAccount = self.stakingCollectionRef.createMachineAccountForExistingNode(nodeID: nodeID, payer: account) {\n if publicKeys == nil || publicKeys!.length == 0 {\n panic(\"Cannot provide zero keys for the machine account\")\n }\n for key in publicKeys! {\n machineAccount.addPublicKey(key.decodeHex())\n }\n } else {\n panic(\"Could not create a machine account for the node\")\n }\n }\n}\n", - "arguments": [ - { - "type": "String", - "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" - }, - { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164" - } - ] - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f9058eb90423696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f20437265617465732061206d616368696e65206163636f756e7420666f722061206e6f6465207468617420697320616c726561647920696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f20616e642061646473207075626c6963206b65797320746f20746865206e6577206163636f756e740a0a7472616e73616374696f6e286e6f646549443a20537472696e672c207075626c69634b6579733a205b537472696e675d29207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a0a20202020202020206966206c6574206d616368696e654163636f756e74203d2073656c662e7374616b696e67436f6c6c656374696f6e5265662e6372656174654d616368696e654163636f756e74466f724578697374696e674e6f6465286e6f646549443a206e6f646549442c2070617965723a206163636f756e7429207b0a2020202020202020202020206966207075626c69634b657973203d3d206e696c207c7c207075626c69634b657973212e6c656e677468203d3d2030207b0a2020202020202020202020202020202070616e6963282243616e6e6f742070726f76696465207a65726f206b65797320666f7220746865206d616368696e65206163636f756e7422290a2020202020202020202020207d0a202020202020202020202020666f72206b657920696e207075626c69634b65797321207b0a202020202020202020202020202020206d616368696e654163636f756e742e6164645075626c69634b6579286b65792e6465636f64654865782829290a2020202020202020202020207d0a20202020202020207d20656c7365207b0a20202020202020202020202070616e69632822436f756c64206e6f74206372656174652061206d616368696e65206163636f756e7420666f7220746865206e6f646522290a20202020202020207d0a202020207d0a7d0af90125b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db8c57b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634227d5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f90592f9058eb90423696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f20437265617465732061206d616368696e65206163636f756e7420666f722061206e6f6465207468617420697320616c726561647920696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f20616e642061646473207075626c6963206b65797320746f20746865206e6577206163636f756e740a0a7472616e73616374696f6e286e6f646549443a20537472696e672c207075626c69634b6579733a205b537472696e675d29207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a0a20202020202020206966206c6574206d616368696e654163636f756e74203d2073656c662e7374616b696e67436f6c6c656374696f6e5265662e6372656174654d616368696e654163636f756e74466f724578697374696e674e6f6465286e6f646549443a206e6f646549442c2070617965723a206163636f756e7429207b0a2020202020202020202020206966207075626c69634b657973203d3d206e696c207c7c207075626c69634b657973212e6c656e677468203d3d2030207b0a2020202020202020202020202020202070616e6963282243616e6e6f742070726f76696465207a65726f206b65797320666f7220746865206d616368696e65206163636f756e7422290a2020202020202020202020207d0a202020202020202020202020666f72206b657920696e207075626c69634b65797321207b0a202020202020202020202020202020206d616368696e654163636f756e742e6164645075626c69634b6579286b65792e6465636f64654865782829290a2020202020202020202020207d0a20202020202020207d20656c7365207b0a20202020202020202020202070616e69632822436f756c64206e6f74206372656174652061206d616368696e65206163636f756e7420666f7220746865206e6f646522290a20202020202020207d0a202020207d0a7d0af90125b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db8c57b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634227d5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "02e79df145af42488e3da1d1b2e50a38a2084229896d670884f278a2119dc3bf9ec2442b498eea025099815ea613d6407407192dc12ad70e1a4f47936db804a841437265617465204d616368696e65204163636f756e740002014e6f64652049440000537472696e6700030300035075622e204b65790001537472696e670003", - "hash": "c2442b498eea025099815ea613d6407407192dc12ad70e1a4f47936db804a841" - }, - { - "title": "SCO.04 - Create Machine Account - 3", - "valid": true, - "chainID": "Mainnet", - "payloadMessage": { - "script": "import FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// Creates a machine account for a node that is already in the staking collection\n/// and adds public keys to the new account\n\ntransaction(nodeID: String, publicKeys: [String]) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n\n if let machineAccount = self.stakingCollectionRef.createMachineAccountForExistingNode(nodeID: nodeID, payer: account) {\n if publicKeys == nil || publicKeys!.length == 0 {\n panic(\"Cannot provide zero keys for the machine account\")\n }\n for key in publicKeys! {\n machineAccount.addPublicKey(key.decodeHex())\n }\n } else {\n panic(\"Could not create a machine account for the node\")\n }\n }\n}\n", - "arguments": [ - { - "type": "String", - "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" - }, - { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164" - }, - { - "type": "String", - "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164" - }, - { - "type": "String", - "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164" - } - ] - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [ - { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sig": "f7225388c1d69d57e6251c9fda50cbbf9e05131e5adb81e5aa0422402f048162" - } - ] - }, - "envelopeMessage": { - "script": "import FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// Creates a machine account for a node that is already in the staking collection\n/// and adds public keys to the new account\n\ntransaction(nodeID: String, publicKeys: [String]) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n\n if let machineAccount = self.stakingCollectionRef.createMachineAccountForExistingNode(nodeID: nodeID, payer: account) {\n if publicKeys == nil || publicKeys!.length == 0 {\n panic(\"Cannot provide zero keys for the machine account\")\n }\n for key in publicKeys! {\n machineAccount.addPublicKey(key.decodeHex())\n }\n } else {\n panic(\"Could not create a machine account for the node\")\n }\n }\n}\n", - "arguments": [ - { - "type": "String", - "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" - }, - { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164" - }, - { - "type": "String", - "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164" - }, - { - "type": "String", - "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164" - } - ] - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f906e5b90423696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f20437265617465732061206d616368696e65206163636f756e7420666f722061206e6f6465207468617420697320616c726561647920696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f20616e642061646473207075626c6963206b65797320746f20746865206e6577206163636f756e740a0a7472616e73616374696f6e286e6f646549443a20537472696e672c207075626c69634b6579733a205b537472696e675d29207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a0a20202020202020206966206c6574206d616368696e654163636f756e74203d2073656c662e7374616b696e67436f6c6c656374696f6e5265662e6372656174654d616368696e654163636f756e74466f724578697374696e674e6f6465286e6f646549443a206e6f646549442c2070617965723a206163636f756e7429207b0a2020202020202020202020206966207075626c69634b657973203d3d206e696c207c7c207075626c69634b657973212e6c656e677468203d3d2030207b0a2020202020202020202020202020202070616e6963282243616e6e6f742070726f76696465207a65726f206b65797320666f7220746865206d616368696e65206163636f756e7422290a2020202020202020202020207d0a202020202020202020202020666f72206b657920696e207075626c69634b65797321207b0a202020202020202020202020202020206d616368696e654163636f756e742e6164645075626c69634b6579286b65792e6465636f64654865782829290a2020202020202020202020207d0a20202020202020207d20656c7365207b0a20202020202020202020202070616e69632822436f756c64206e6f74206372656174652061206d616368696e65206163636f756e7420666f7220746865206e6f646522290a20202020202020207d0a202020207d0a7d0af9027cb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db9021b7b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634227d2c7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634227d2c7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634227d5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f906e9f906e5b90423696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f20437265617465732061206d616368696e65206163636f756e7420666f722061206e6f6465207468617420697320616c726561647920696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f20616e642061646473207075626c6963206b65797320746f20746865206e6577206163636f756e740a0a7472616e73616374696f6e286e6f646549443a20537472696e672c207075626c69634b6579733a205b537472696e675d29207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a0a20202020202020206966206c6574206d616368696e654163636f756e74203d2073656c662e7374616b696e67436f6c6c656374696f6e5265662e6372656174654d616368696e654163636f756e74466f724578697374696e674e6f6465286e6f646549443a206e6f646549442c2070617965723a206163636f756e7429207b0a2020202020202020202020206966207075626c69634b657973203d3d206e696c207c7c207075626c69634b657973212e6c656e677468203d3d2030207b0a2020202020202020202020202020202070616e6963282243616e6e6f742070726f76696465207a65726f206b65797320666f7220746865206d616368696e65206163636f756e7422290a2020202020202020202020207d0a202020202020202020202020666f72206b657920696e207075626c69634b65797321207b0a202020202020202020202020202020206d616368696e654163636f756e742e6164645075626c69634b6579286b65792e6465636f64654865782829290a2020202020202020202020207d0a20202020202020207d20656c7365207b0a20202020202020202020202070616e69632822436f756c64206e6f74206372656174652061206d616368696e65206163636f756e7420666f7220746865206e6f646522290a20202020202020207d0a202020207d0a7d0af9027cb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db9021b7b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634227d2c7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634227d2c7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634227d5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "02e79df145af42488e3da1d1b2e50a38a2084229896d670884f278a2119dc3bf9ec2442b498eea025099815ea613d6407407192dc12ad70e1a4f47936db804a841437265617465204d616368696e65204163636f756e740002014e6f64652049440000537472696e6700030300035075622e204b65790001537472696e670003", - "hash": "c2442b498eea025099815ea613d6407407192dc12ad70e1a4f47936db804a841" - }, - { - "title": "SCO.05 - Request Unstaking - 1", - "valid": true, - "chainID": "Mainnet", - "payloadMessage": { - "script": "import FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// Requests unstaking for the specified node or delegator in the staking collection\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n }\n\n execute {\n self.stakingCollectionRef.requestUnstaking(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", - "arguments": [ - { - "type": "String", - "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" - }, - { - "type": "Optional", - "value": null - }, - { - "type": "UFix64", - "value": "92233720368.54775808" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [ - { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sig": "f7225388c1d69d57e6251c9fda50cbbf9e05131e5adb81e5aa0422402f048162" - } - ] - }, - "envelopeMessage": { - "script": "import FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// Requests unstaking for the specified node or delegator in the staking collection\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n }\n\n execute {\n self.stakingCollectionRef.requestUnstaking(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", - "arguments": [ - { - "type": "String", - "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" - }, - { - "type": "Optional", - "value": null - }, - { - "type": "UFix64", - "value": "92233720368.54775808" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f90399b902a4696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f20526571756573747320756e7374616b696e6720666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e72657175657374556e7374616b696e67286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8b0b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227da07b2274797065223a224f7074696f6e616c222c2276616c7565223a6e756c6c7db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f9039df90399b902a4696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f20526571756573747320756e7374616b696e6720666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e72657175657374556e7374616b696e67286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8b0b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227da07b2274797065223a224f7074696f6e616c222c2276616c7565223a6e756c6c7db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "02b00f6b3b9d8d7d4a9a8ad14fce11ee0edb23c39c56a8c1351e6b597f53f2fb71a552951c5e6300a118610fbf2d36b3073ee266e1d26787d04717c141976ef78c5265717565737420556e7374616b696e670003014e6f64652049440000537472696e6700030244656c656761746f72204944000155496e743332000301416d6f756e7400025546697836340003", - "hash": "a552951c5e6300a118610fbf2d36b3073ee266e1d26787d04717c141976ef78c" - }, - { - "title": "SCO.05 - Request Unstaking - 2", - "valid": true, - "chainID": "Mainnet", - "payloadMessage": { - "script": "import FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// Requests unstaking for the specified node or delegator in the staking collection\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n }\n\n execute {\n self.stakingCollectionRef.requestUnstaking(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", - "arguments": [ - { - "type": "String", - "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" - }, - { - "type": "Optional", - "value": { - "type": "UInt32", - "value": "42" - } + "value": "0xe467b9dd11fa00df" }, { - "type": "UFix64", - "value": "92233720368.54775808" + "value": "FiatToken", + "type": "String" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -6437,22 +2728,15 @@ ] }, "envelopeMessage": { - "script": "import FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// Requests unstaking for the specified node or delegator in the staking collection\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n }\n\n execute {\n self.stakingCollectionRef.requestUnstaking(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", + "script": "import FungibleToken from 0xf233dcee88fe0abe\nimport FungibleTokenMetadataViews from 0xf233dcee88fe0abe\n\n/// This transaction is what an account would run\n/// to set itself up to manage fungible tokens. This function\n/// uses views to know where to set up the vault\n/// in storage and to create the empty vault.\n\ntransaction(contractAddress: Address, contractName: String) {\n\n prepare(signer: auth(SaveValue, Capabilities) &Account) {\n // Borrow a reference to the vault stored on the passed account at the passed publicPath\n let resolverRef = getAccount(contractAddress)\n .contracts.borrow<&{FungibleToken}>(name: contractName)\n ?? panic(\"Could not borrow a reference to the fungible token contract\")\n\n // Use that reference to retrieve the FTView \n let ftVaultData = resolverRef.resolveContractView(resourceType: nil, viewType: Type()) as! FungibleTokenMetadataViews.FTVaultData?\n ?? panic(\"Could not resolve the FTVaultData view for the given Fungible token contract\")\n\n // Create a new empty vault using the createEmptyVault function inside the FTVaultData\n let emptyVault <-ftVaultData.createEmptyVault()\n\n // Save it to the account\n signer.storage.save(<-emptyVault, to: ftVaultData.storagePath)\n \n // Create a public capability for the vault which includes the .Resolver interface\n let vaultCap = signer.capabilities.storage.issue<&{FungibleToken.Vault}>(ftVaultData.storagePath)\n signer.capabilities.publish(vaultCap, at: ftVaultData.metadataPath)\n\n // Create a public capability for the vault exposing the receiver interface\n let receiverCap = signer.capabilities.storage.issue<&{FungibleToken.Receiver}>(ftVaultData.storagePath)\n signer.capabilities.publish(receiverCap, at: ftVaultData.receiverPath)\n\n }\n}\n ", "arguments": [ { - "type": "String", - "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" - }, - { - "type": "Optional", - "value": { - "type": "UInt32", - "value": "42" - } + "type": "Address", + "value": "0xe467b9dd11fa00df" }, { - "type": "UFix64", - "value": "92233720368.54775808" + "value": "FiatToken", + "type": "String" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -6468,29 +2752,33 @@ ], "payloadSigs": [] }, - "encodedTransactionPayloadHex": "f903b4b902a4696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f20526571756573747320756e7374616b696e6720666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e72657175657374556e7374616b696e67286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8cbb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db83a7b2274797065223a224f7074696f6e616c222c2276616c7565223a7b2274797065223a2255496e743332222c2276616c7565223a223432227d7db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f903b8f903b4b902a4696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f20526571756573747320756e7374616b696e6720666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e72657175657374556e7374616b696e67286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8cbb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db83a7b2274797065223a224f7074696f6e616c222c2276616c7565223a7b2274797065223a2255496e743332222c2276616c7565223a223432227d7db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "02b00f6b3b9d8d7d4a9a8ad14fce11ee0edb23c39c56a8c1351e6b597f53f2fb71a552951c5e6300a118610fbf2d36b3073ee266e1d26787d04717c141976ef78c5265717565737420556e7374616b696e670003014e6f64652049440000537472696e6700030244656c656761746f72204944000155496e743332000301416d6f756e7400025546697836340003", - "hash": "a552951c5e6300a118610fbf2d36b3073ee266e1d26787d04717c141976ef78c" + "encodedTransactionPayloadHex": "f90808b9076d696d706f72742046756e6769626c65546f6b656e2066726f6d203078663233336463656538386665306162650a696d706f72742046756e6769626c65546f6b656e4d6574616461746156696577732066726f6d203078663233336463656538386665306162650a0a2f2f2f2054686973207472616e73616374696f6e206973207768617420616e206163636f756e7420776f756c642072756e0a2f2f2f20746f2073657420697473656c6620757020746f206d616e6167652066756e6769626c6520746f6b656e732e20546869732066756e6374696f6e0a2f2f2f207573657320766965777320746f206b6e6f7720776865726520746f2073657420757020746865207661756c740a2f2f2f20696e2073746f7261676520616e6420746f206372656174652074686520656d707479207661756c742e0a0a7472616e73616374696f6e28636f6e7472616374416464726573733a20416464726573732c20636f6e74726163744e616d653a20537472696e6729207b0a0a2020202070726570617265287369676e65723a2061757468285361766556616c75652c204361706162696c69746965732920264163636f756e7429207b0a20202020202020202f2f20426f72726f772061207265666572656e636520746f20746865207661756c742073746f726564206f6e2074686520706173736564206163636f756e742061742074686520706173736564207075626c6963506174680a20202020202020206c6574207265736f6c766572526566203d206765744163636f756e7428636f6e747261637441646472657373290a2020202020202020202020202e636f6e7472616374732e626f72726f773c267b46756e6769626c65546f6b656e7d3e286e616d653a20636f6e74726163744e616d65290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f207468652066756e6769626c6520746f6b656e20636f6e747261637422290a0a20202020202020202f2f205573652074686174207265666572656e636520746f2072657472696576652074686520465456696577200a20202020202020206c65742066745661756c7444617461203d207265736f6c7665725265662e7265736f6c7665436f6e747261637456696577287265736f75726365547970653a206e696c2c2076696577547970653a20547970653c46756e6769626c65546f6b656e4d6574616461746156696577732e46545661756c74446174613e282929206173212046756e6769626c65546f6b656e4d6574616461746156696577732e46545661756c74446174613f0a2020202020202020202020203f3f2070616e69632822436f756c64206e6f74207265736f6c7665207468652046545661756c7444617461207669657720666f722074686520676976656e2046756e6769626c6520746f6b656e20636f6e747261637422290a0a20202020202020202f2f204372656174652061206e657720656d707479207661756c74207573696e672074686520637265617465456d7074795661756c742066756e6374696f6e20696e73696465207468652046545661756c74446174610a20202020202020206c657420656d7074795661756c74203c2d66745661756c74446174612e637265617465456d7074795661756c7428290a0a20202020202020202f2f205361766520697420746f20746865206163636f756e740a20202020202020207369676e65722e73746f726167652e73617665283c2d656d7074795661756c742c20746f3a2066745661756c74446174612e73746f7261676550617468290a20202020202020200a20202020202020202f2f204372656174652061207075626c6963206361706162696c69747920666f7220746865207661756c7420776869636820696e636c7564657320746865202e5265736f6c76657220696e746572666163650a20202020202020206c6574207661756c74436170203d207369676e65722e6361706162696c69746965732e73746f726167652e69737375653c267b46756e6769626c65546f6b656e2e5661756c747d3e2866745661756c74446174612e73746f7261676550617468290a20202020202020207369676e65722e6361706162696c69746965732e7075626c697368287661756c744361702c2061743a2066745661756c74446174612e6d6574616461746150617468290a0a20202020202020202f2f204372656174652061207075626c6963206361706162696c69747920666f7220746865207661756c74206578706f73696e672074686520726563656976657220696e746572666163650a20202020202020206c6574207265636569766572436170203d207369676e65722e6361706162696c69746965732e73746f726167652e69737375653c267b46756e6769626c65546f6b656e2e52656365697665727d3e2866745661756c74446174612e73746f7261676550617468290a20202020202020207369676e65722e6361706162696c69746965732e7075626c6973682872656365697665724361702c2061743a2066745661756c74446174612e726563656976657250617468290a0a202020207d0a7d0a20f856af7b2274797065223a2241646472657373222c2276616c7565223a22307865343637623964643131666130306466227da57b2276616c7565223a2246696174546f6b656e222c2274797065223a22537472696e67227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", + "encodedTransactionEnvelopeHex": "f9080cf90808b9076d696d706f72742046756e6769626c65546f6b656e2066726f6d203078663233336463656538386665306162650a696d706f72742046756e6769626c65546f6b656e4d6574616461746156696577732066726f6d203078663233336463656538386665306162650a0a2f2f2f2054686973207472616e73616374696f6e206973207768617420616e206163636f756e7420776f756c642072756e0a2f2f2f20746f2073657420697473656c6620757020746f206d616e6167652066756e6769626c6520746f6b656e732e20546869732066756e6374696f6e0a2f2f2f207573657320766965777320746f206b6e6f7720776865726520746f2073657420757020746865207661756c740a2f2f2f20696e2073746f7261676520616e6420746f206372656174652074686520656d707479207661756c742e0a0a7472616e73616374696f6e28636f6e7472616374416464726573733a20416464726573732c20636f6e74726163744e616d653a20537472696e6729207b0a0a2020202070726570617265287369676e65723a2061757468285361766556616c75652c204361706162696c69746965732920264163636f756e7429207b0a20202020202020202f2f20426f72726f772061207265666572656e636520746f20746865207661756c742073746f726564206f6e2074686520706173736564206163636f756e742061742074686520706173736564207075626c6963506174680a20202020202020206c6574207265736f6c766572526566203d206765744163636f756e7428636f6e747261637441646472657373290a2020202020202020202020202e636f6e7472616374732e626f72726f773c267b46756e6769626c65546f6b656e7d3e286e616d653a20636f6e74726163744e616d65290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f207468652066756e6769626c6520746f6b656e20636f6e747261637422290a0a20202020202020202f2f205573652074686174207265666572656e636520746f2072657472696576652074686520465456696577200a20202020202020206c65742066745661756c7444617461203d207265736f6c7665725265662e7265736f6c7665436f6e747261637456696577287265736f75726365547970653a206e696c2c2076696577547970653a20547970653c46756e6769626c65546f6b656e4d6574616461746156696577732e46545661756c74446174613e282929206173212046756e6769626c65546f6b656e4d6574616461746156696577732e46545661756c74446174613f0a2020202020202020202020203f3f2070616e69632822436f756c64206e6f74207265736f6c7665207468652046545661756c7444617461207669657720666f722074686520676976656e2046756e6769626c6520746f6b656e20636f6e747261637422290a0a20202020202020202f2f204372656174652061206e657720656d707479207661756c74207573696e672074686520637265617465456d7074795661756c742066756e6374696f6e20696e73696465207468652046545661756c74446174610a20202020202020206c657420656d7074795661756c74203c2d66745661756c74446174612e637265617465456d7074795661756c7428290a0a20202020202020202f2f205361766520697420746f20746865206163636f756e740a20202020202020207369676e65722e73746f726167652e73617665283c2d656d7074795661756c742c20746f3a2066745661756c74446174612e73746f7261676550617468290a20202020202020200a20202020202020202f2f204372656174652061207075626c6963206361706162696c69747920666f7220746865207661756c7420776869636820696e636c7564657320746865202e5265736f6c76657220696e746572666163650a20202020202020206c6574207661756c74436170203d207369676e65722e6361706162696c69746965732e73746f726167652e69737375653c267b46756e6769626c65546f6b656e2e5661756c747d3e2866745661756c74446174612e73746f7261676550617468290a20202020202020207369676e65722e6361706162696c69746965732e7075626c697368287661756c744361702c2061743a2066745661756c74446174612e6d6574616461746150617468290a0a20202020202020202f2f204372656174652061207075626c6963206361706162696c69747920666f7220746865207661756c74206578706f73696e672074686520726563656976657220696e746572666163650a20202020202020206c6574207265636569766572436170203d207369676e65722e6361706162696c69746965732e73746f726167652e69737375653c267b46756e6769626c65546f6b656e2e52656365697665727d3e2866745661756c74446174612e73746f7261676550617468290a20202020202020207369676e65722e6361706162696c69746965732e7075626c6973682872656365697665724361702c2061743a2066745661756c74446174612e726563656976657250617468290a0a202020207d0a7d0a20f856af7b2274797065223a2241646472657373222c2276616c7565223a22307865343637623964643131666130306466227da57b2276616c7565223a2246696174546f6b656e222c2274797065223a22537472696e67227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", + "metadata": "023ccbbfebf10c47c49e4058a33fd9a29c4191c545de52c9afd27a29d38110aa280246076f1cf5d3160397766a9227b35f592f4d15c014848044c509818328b62b53657475702046756e6769626c6520546f6b656e205661756c74000201465420436f6e74726163742041646472657373000041646472657373000301465420436f6e7472616374204e616d650001537472696e670003", + "hash": "0246076f1cf5d3160397766a9227b35f592f4d15c014848044c509818328b62b" }, { - "title": "SCO.06 - Stake New Tokens - 1", + "title": "FT.02 - Transfer Fungible Token with Paths", "valid": true, "chainID": "Mainnet", "payloadMessage": { - "script": "import FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// Commits new tokens to stake for the specified node or delegator in the staking collection\n/// The tokens from the locked vault are used first, if it exists\n/// followed by the tokens from the unlocked vault\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n }\n\n execute {\n self.stakingCollectionRef.stakeNewTokens(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", + "script": "import FungibleToken from 0xf233dcee88fe0abe\n\n/// Can pass in any storage path and receiver path identifier instead of just the default.\n/// This lets you choose the token you want to send as well the capability you want to send it to.\n///\n/// Any token path can be passed as an argument here, so wallets should\n/// should check argument values to make sure the intended token path is passed in\n///\ntransaction(amount: UFix64, to: Address, senderPathIdentifier: String, receiverPathIdentifier: String) {\n\n // The Vault resource that holds the tokens that are being transferred\n let tempVault: @{FungibleToken.Vault}\n\n prepare(signer: auth(BorrowValue) &Account) {\n\n let storagePath = StoragePath(identifier: senderPathIdentifier)\n ?? panic(\"Could not construct a storage path from the provided path identifier string\")\n\n // Get a reference to the signer's stored vault\n let vaultRef = signer.storage.borrow(from: storagePath)\n\t\t\t?? panic(\"Could not borrow reference to the owner's Vault!\")\n\n self.tempVault <- vaultRef.withdraw(amount: amount)\n }\n\n execute {\n let publicPath = PublicPath(identifier: receiverPathIdentifier)\n ?? panic(\"Could not construct a public path from the provided path identifier string\")\n\n let recipient = getAccount(to)\n let receiverRef = recipient.capabilities.borrow<&{FungibleToken.Receiver}>(publicPath)\n ?? panic(\"Could not borrow reference to the recipient's Receiver!\")\n\n // Transfer tokens from the signer's stored vault to the receiver capability\n receiverRef.deposit(from: <-self.tempVault)\n }\n}", "arguments": [ { - "type": "String", - "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" + "type": "UFix64", + "value": "92233720368.54775808" }, { - "type": "Optional", - "value": null + "value": "0xe467b9dd11fa00df", + "type": "Address" }, { - "type": "UFix64", - "value": "92233720368.54775808" + "value": "flowTokenVault", + "type": "String" + }, + { + "value": "flowTokenReceiver", + "type": "String" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -6513,19 +2801,23 @@ ] }, "envelopeMessage": { - "script": "import FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// Commits new tokens to stake for the specified node or delegator in the staking collection\n/// The tokens from the locked vault are used first, if it exists\n/// followed by the tokens from the unlocked vault\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n }\n\n execute {\n self.stakingCollectionRef.stakeNewTokens(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", + "script": "import FungibleToken from 0xf233dcee88fe0abe\n\n/// Can pass in any storage path and receiver path identifier instead of just the default.\n/// This lets you choose the token you want to send as well the capability you want to send it to.\n///\n/// Any token path can be passed as an argument here, so wallets should\n/// should check argument values to make sure the intended token path is passed in\n///\ntransaction(amount: UFix64, to: Address, senderPathIdentifier: String, receiverPathIdentifier: String) {\n\n // The Vault resource that holds the tokens that are being transferred\n let tempVault: @{FungibleToken.Vault}\n\n prepare(signer: auth(BorrowValue) &Account) {\n\n let storagePath = StoragePath(identifier: senderPathIdentifier)\n ?? panic(\"Could not construct a storage path from the provided path identifier string\")\n\n // Get a reference to the signer's stored vault\n let vaultRef = signer.storage.borrow(from: storagePath)\n\t\t\t?? panic(\"Could not borrow reference to the owner's Vault!\")\n\n self.tempVault <- vaultRef.withdraw(amount: amount)\n }\n\n execute {\n let publicPath = PublicPath(identifier: receiverPathIdentifier)\n ?? panic(\"Could not construct a public path from the provided path identifier string\")\n\n let recipient = getAccount(to)\n let receiverRef = recipient.capabilities.borrow<&{FungibleToken.Receiver}>(publicPath)\n ?? panic(\"Could not borrow reference to the recipient's Receiver!\")\n\n // Transfer tokens from the signer's stored vault to the receiver capability\n receiverRef.deposit(from: <-self.tempVault)\n }\n}", "arguments": [ { - "type": "String", - "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" + "type": "UFix64", + "value": "92233720368.54775808" }, { - "type": "Optional", - "value": null + "value": "0xe467b9dd11fa00df", + "type": "Address" }, { - "type": "UFix64", - "value": "92233720368.54775808" + "value": "flowTokenVault", + "type": "String" + }, + { + "value": "flowTokenReceiver", + "type": "String" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -6541,32 +2833,33 @@ ], "payloadSigs": [] }, - "encodedTransactionPayloadHex": "f90415b90320696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f20436f6d6d697473206e657720746f6b656e7320746f207374616b6520666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f2054686520746f6b656e732066726f6d20746865206c6f636b6564207661756c742061726520757365642066697273742c206966206974206578697374730a2f2f2f20666f6c6c6f7765642062792074686520746f6b656e732066726f6d2074686520756e6c6f636b6564207661756c740a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e7374616b654e6577546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8b0b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227da07b2274797065223a224f7074696f6e616c222c2276616c7565223a6e756c6c7db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f90419f90415b90320696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f20436f6d6d697473206e657720746f6b656e7320746f207374616b6520666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f2054686520746f6b656e732066726f6d20746865206c6f636b6564207661756c742061726520757365642066697273742c206966206974206578697374730a2f2f2f20666f6c6c6f7765642062792074686520746f6b656e732066726f6d2074686520756e6c6f636b6564207661756c740a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e7374616b654e6577546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8b0b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227da07b2274797065223a224f7074696f6e616c222c2276616c7565223a6e756c6c7db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "021307928440cee4289235793d6ff860a24315f7b6a5d5907a145dcc5f83702a2c8e10ac56db8ec5d5e0051d3c9608fabc8edd6abed983f6d3a254e7668a54b32b5374616b65204e657720546f6b656e730003014e6f64652049440000537472696e6700030244656c656761746f72204944000155496e743332000301416d6f756e7400025546697836340003", - "hash": "8e10ac56db8ec5d5e0051d3c9608fabc8edd6abed983f6d3a254e7668a54b32b" + "encodedTransactionPayloadHex": "f907a3b906a4696d706f72742046756e6769626c65546f6b656e2066726f6d203078663233336463656538386665306162650a0a2f2f2f2043616e207061737320696e20616e792073746f72616765207061746820616e642072656365697665722070617468206964656e74696669657220696e7374656164206f66206a757374207468652064656661756c742e0a2f2f2f2054686973206c65747320796f752063686f6f73652074686520746f6b656e20796f752077616e7420746f2073656e642061732077656c6c20746865206361706162696c69747920796f752077616e7420746f2073656e6420697420746f2e0a2f2f2f0a2f2f2f20416e7920746f6b656e20706174682063616e2062652070617373656420617320616e20617267756d656e7420686572652c20736f2077616c6c6574732073686f756c640a2f2f2f2073686f756c6420636865636b20617267756d656e742076616c75657320746f206d616b6520737572652074686520696e74656e64656420746f6b656e20706174682069732070617373656420696e0a2f2f2f0a7472616e73616374696f6e28616d6f756e743a205546697836342c20746f3a20416464726573732c2073656e646572506174684964656e7469666965723a20537472696e672c207265636569766572506174684964656e7469666965723a20537472696e6729207b0a0a202020202f2f20546865205661756c74207265736f75726365207468617420686f6c64732074686520746f6b656e73207468617420617265206265696e67207472616e736665727265640a202020206c65742074656d705661756c743a20407b46756e6769626c65546f6b656e2e5661756c747d0a0a2020202070726570617265287369676e65723a206175746828426f72726f7756616c75652920264163636f756e7429207b0a0a20202020202020206c65742073746f7261676550617468203d2053746f7261676550617468286964656e7469666965723a2073656e646572506174684964656e746966696572290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420636f6e73747275637420612073746f7261676520706174682066726f6d207468652070726f76696465642070617468206964656e74696669657220737472696e6722290a0a20202020202020202f2f204765742061207265666572656e636520746f20746865207369676e657227732073746f726564207661756c740a20202020202020206c6574207661756c74526566203d207369676e65722e73746f726167652e626f72726f773c617574682846756e6769626c65546f6b656e2e57697468647261772920267b46756e6769626c65546f6b656e2e50726f76696465727d3e2866726f6d3a2073746f7261676550617468290a0909093f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f20746865206f776e65722773205661756c742122290a0a202020202020202073656c662e74656d705661756c74203c2d207661756c745265662e776974686472617728616d6f756e743a20616d6f756e74290a202020207d0a0a2020202065786563757465207b0a20202020202020206c6574207075626c696350617468203d205075626c696350617468286964656e7469666965723a207265636569766572506174684964656e746966696572290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420636f6e7374727563742061207075626c696320706174682066726f6d207468652070726f76696465642070617468206964656e74696669657220737472696e6722290a0a20202020202020206c657420726563697069656e74203d206765744163636f756e7428746f290a20202020202020206c6574207265636569766572526566203d20726563697069656e742e6361706162696c69746965732e626f72726f773c267b46756e6769626c65546f6b656e2e52656365697665727d3e287075626c696350617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f2074686520726563697069656e7427732052656365697665722122290a0a20202020202020202f2f205472616e7366657220746f6b656e732066726f6d20746865207369676e657227732073746f726564207661756c7420746f20746865207265636569766572206361706162696c6974790a202020202020202072656365697665725265662e6465706f7369742866726f6d3a203c2d73656c662e74656d705661756c74290a202020207d0a7df8bab07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227daf7b2276616c7565223a22307865343637623964643131666130306466222c2274797065223a2241646472657373227daa7b2276616c7565223a22666c6f77546f6b656e5661756c74222c2274797065223a22537472696e67227dad7b2276616c7565223a22666c6f77546f6b656e5265636569766572222c2274797065223a22537472696e67227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", + "encodedTransactionEnvelopeHex": "f907a7f907a3b906a4696d706f72742046756e6769626c65546f6b656e2066726f6d203078663233336463656538386665306162650a0a2f2f2f2043616e207061737320696e20616e792073746f72616765207061746820616e642072656365697665722070617468206964656e74696669657220696e7374656164206f66206a757374207468652064656661756c742e0a2f2f2f2054686973206c65747320796f752063686f6f73652074686520746f6b656e20796f752077616e7420746f2073656e642061732077656c6c20746865206361706162696c69747920796f752077616e7420746f2073656e6420697420746f2e0a2f2f2f0a2f2f2f20416e7920746f6b656e20706174682063616e2062652070617373656420617320616e20617267756d656e7420686572652c20736f2077616c6c6574732073686f756c640a2f2f2f2073686f756c6420636865636b20617267756d656e742076616c75657320746f206d616b6520737572652074686520696e74656e64656420746f6b656e20706174682069732070617373656420696e0a2f2f2f0a7472616e73616374696f6e28616d6f756e743a205546697836342c20746f3a20416464726573732c2073656e646572506174684964656e7469666965723a20537472696e672c207265636569766572506174684964656e7469666965723a20537472696e6729207b0a0a202020202f2f20546865205661756c74207265736f75726365207468617420686f6c64732074686520746f6b656e73207468617420617265206265696e67207472616e736665727265640a202020206c65742074656d705661756c743a20407b46756e6769626c65546f6b656e2e5661756c747d0a0a2020202070726570617265287369676e65723a206175746828426f72726f7756616c75652920264163636f756e7429207b0a0a20202020202020206c65742073746f7261676550617468203d2053746f7261676550617468286964656e7469666965723a2073656e646572506174684964656e746966696572290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420636f6e73747275637420612073746f7261676520706174682066726f6d207468652070726f76696465642070617468206964656e74696669657220737472696e6722290a0a20202020202020202f2f204765742061207265666572656e636520746f20746865207369676e657227732073746f726564207661756c740a20202020202020206c6574207661756c74526566203d207369676e65722e73746f726167652e626f72726f773c617574682846756e6769626c65546f6b656e2e57697468647261772920267b46756e6769626c65546f6b656e2e50726f76696465727d3e2866726f6d3a2073746f7261676550617468290a0909093f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f20746865206f776e65722773205661756c742122290a0a202020202020202073656c662e74656d705661756c74203c2d207661756c745265662e776974686472617728616d6f756e743a20616d6f756e74290a202020207d0a0a2020202065786563757465207b0a20202020202020206c6574207075626c696350617468203d205075626c696350617468286964656e7469666965723a207265636569766572506174684964656e746966696572290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420636f6e7374727563742061207075626c696320706174682066726f6d207468652070726f76696465642070617468206964656e74696669657220737472696e6722290a0a20202020202020206c657420726563697069656e74203d206765744163636f756e7428746f290a20202020202020206c6574207265636569766572526566203d20726563697069656e742e6361706162696c69746965732e626f72726f773c267b46756e6769626c65546f6b656e2e52656365697665727d3e287075626c696350617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f2074686520726563697069656e7427732052656365697665722122290a0a20202020202020202f2f205472616e7366657220746f6b656e732066726f6d20746865207369676e657227732073746f726564207661756c7420746f20746865207265636569766572206361706162696c6974790a202020202020202072656365697665725265662e6465706f7369742866726f6d3a203c2d73656c662e74656d705661756c74290a202020207d0a7df8bab07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227daf7b2276616c7565223a22307865343637623964643131666130306466222c2274797065223a2241646472657373227daa7b2276616c7565223a22666c6f77546f6b656e5661756c74222c2274797065223a22537472696e67227dad7b2276616c7565223a22666c6f77546f6b656e5265636569766572222c2274797065223a22537472696e67227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", + "metadata": "02c9b9a6156280812703c15dde74df95cd0d7d1034dd2d8bf0cccf72b6071429886e5b8c83a3e8445eaa4bed391978443f124d9aa457fabdbaa016e0f65b57591e5472616e736665722046756e6769626c6520546f6b656e2077697468205061746873000401416d6f756e740000554669783634000301526563697069656e7400014164647265737300030153656e646572277320436f6c6c656374696f6e2050617468204964656e7469666965720002537472696e67000301526563697069656e7427732052656365697665722050617468204964656e7469666965720003537472696e670003", + "hash": "6e5b8c83a3e8445eaa4bed391978443f124d9aa457fabdbaa016e0f65b57591e" }, { - "title": "SCO.06 - Stake New Tokens - 2", + "title": "FT.03 - Transfer Fungible Token with Address", "valid": true, "chainID": "Mainnet", "payloadMessage": { - "script": "import FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// Commits new tokens to stake for the specified node or delegator in the staking collection\n/// The tokens from the locked vault are used first, if it exists\n/// followed by the tokens from the unlocked vault\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n }\n\n execute {\n self.stakingCollectionRef.stakeNewTokens(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", + "script": "import FungibleToken from 0xf233dcee88fe0abe\nimport FungibleTokenMetadataViews from 0xf233dcee88fe0abe\n\n/// Can pass in any contract address and name to transfer a token from that contract\n/// This lets you choose the token you want to send\n///\n/// Any contract can be chosen here, so wallets should check argument values\n/// to make sure the intended token path is passed in\n///\ntransaction(amount: UFix64, to: Address, contractAddress: Address, contractName: String) {\n\n // The Vault resource that holds the tokens that are being transferred\n let tempVault: @{FungibleToken.Vault}\n\n // FTVaultData struct to get paths from\n let vaultData: FungibleTokenMetadataViews.FTVaultData\n\n prepare(signer: auth(BorrowValue) &Account) {\n\n // Borrow a reference to the vault stored on the passed account at the passed publicPath\n let resolverRef = getAccount(contractAddress)\n .contracts.borrow<&{FungibleToken}>(name: contractName)\n ?? panic(\"Could not borrow a reference to the fungible token contract\")\n\n // Use that reference to retrieve the FTView \n self.vaultData = resolverRef.resolveContractView(resourceType: nil, viewType: Type()) as! FungibleTokenMetadataViews.FTVaultData?\n ?? panic(\"Could not resolve the FTVaultData view for the given Fungible token contract\")\n\n // Get a reference to the signer's stored vault\n let vaultRef = signer.storage.borrow(from: self.vaultData.storagePath)\n\t\t\t?? panic(\"Could not borrow reference to the owner's Vault!\")\n\n self.tempVault <- vaultRef.withdraw(amount: amount)\n }\n\n execute {\n let recipient = getAccount(to)\n let receiverRef = recipient.capabilities.borrow<&{FungibleToken.Receiver}>(self.vaultData.receiverPath)\n ?? panic(\"Could not borrow reference to the recipient's Receiver!\")\n\n // Transfer tokens from the signer's stored vault to the receiver capability\n receiverRef.deposit(from: <-self.tempVault)\n }\n}", "arguments": [ { - "type": "String", - "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" + "type": "UFix64", + "value": "92233720368.54775808" }, { - "type": "Optional", - "value": { - "type": "UInt32", - "value": "42" - } + "value": "0xe467b9dd11fa00df", + "type": "Address" }, { - "type": "UFix64", - "value": "92233720368.54775808" + "value": "0xe467b9dd11fa00df", + "type": "Address" + }, + { + "value": "FiatToken", + "type": "String" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -6589,22 +2882,23 @@ ] }, "envelopeMessage": { - "script": "import FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// Commits new tokens to stake for the specified node or delegator in the staking collection\n/// The tokens from the locked vault are used first, if it exists\n/// followed by the tokens from the unlocked vault\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n }\n\n execute {\n self.stakingCollectionRef.stakeNewTokens(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", + "script": "import FungibleToken from 0xf233dcee88fe0abe\nimport FungibleTokenMetadataViews from 0xf233dcee88fe0abe\n\n/// Can pass in any contract address and name to transfer a token from that contract\n/// This lets you choose the token you want to send\n///\n/// Any contract can be chosen here, so wallets should check argument values\n/// to make sure the intended token path is passed in\n///\ntransaction(amount: UFix64, to: Address, contractAddress: Address, contractName: String) {\n\n // The Vault resource that holds the tokens that are being transferred\n let tempVault: @{FungibleToken.Vault}\n\n // FTVaultData struct to get paths from\n let vaultData: FungibleTokenMetadataViews.FTVaultData\n\n prepare(signer: auth(BorrowValue) &Account) {\n\n // Borrow a reference to the vault stored on the passed account at the passed publicPath\n let resolverRef = getAccount(contractAddress)\n .contracts.borrow<&{FungibleToken}>(name: contractName)\n ?? panic(\"Could not borrow a reference to the fungible token contract\")\n\n // Use that reference to retrieve the FTView \n self.vaultData = resolverRef.resolveContractView(resourceType: nil, viewType: Type()) as! FungibleTokenMetadataViews.FTVaultData?\n ?? panic(\"Could not resolve the FTVaultData view for the given Fungible token contract\")\n\n // Get a reference to the signer's stored vault\n let vaultRef = signer.storage.borrow(from: self.vaultData.storagePath)\n\t\t\t?? panic(\"Could not borrow reference to the owner's Vault!\")\n\n self.tempVault <- vaultRef.withdraw(amount: amount)\n }\n\n execute {\n let recipient = getAccount(to)\n let receiverRef = recipient.capabilities.borrow<&{FungibleToken.Receiver}>(self.vaultData.receiverPath)\n ?? panic(\"Could not borrow reference to the recipient's Receiver!\")\n\n // Transfer tokens from the signer's stored vault to the receiver capability\n receiverRef.deposit(from: <-self.tempVault)\n }\n}", "arguments": [ { - "type": "String", - "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" + "type": "UFix64", + "value": "92233720368.54775808" }, { - "type": "Optional", - "value": { - "type": "UInt32", - "value": "42" - } + "value": "0xe467b9dd11fa00df", + "type": "Address" }, { - "type": "UFix64", - "value": "92233720368.54775808" + "value": "0xe467b9dd11fa00df", + "type": "Address" + }, + { + "value": "FiatToken", + "type": "String" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -6620,29 +2914,25 @@ ], "payloadSigs": [] }, - "encodedTransactionPayloadHex": "f90430b90320696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f20436f6d6d697473206e657720746f6b656e7320746f207374616b6520666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f2054686520746f6b656e732066726f6d20746865206c6f636b6564207661756c742061726520757365642066697273742c206966206974206578697374730a2f2f2f20666f6c6c6f7765642062792074686520746f6b656e732066726f6d2074686520756e6c6f636b6564207661756c740a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e7374616b654e6577546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8cbb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db83a7b2274797065223a224f7074696f6e616c222c2276616c7565223a7b2274797065223a2255496e743332222c2276616c7565223a223432227d7db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f90434f90430b90320696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f20436f6d6d697473206e657720746f6b656e7320746f207374616b6520666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f2054686520746f6b656e732066726f6d20746865206c6f636b6564207661756c742061726520757365642066697273742c206966206974206578697374730a2f2f2f20666f6c6c6f7765642062792074686520746f6b656e732066726f6d2074686520756e6c6f636b6564207661756c740a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e7374616b654e6577546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8cbb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db83a7b2274797065223a224f7074696f6e616c222c2276616c7565223a7b2274797065223a2255496e743332222c2276616c7565223a223432227d7db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "021307928440cee4289235793d6ff860a24315f7b6a5d5907a145dcc5f83702a2c8e10ac56db8ec5d5e0051d3c9608fabc8edd6abed983f6d3a254e7668a54b32b5374616b65204e657720546f6b656e730003014e6f64652049440000537472696e6700030244656c656761746f72204944000155496e743332000301416d6f756e7400025546697836340003", - "hash": "8e10ac56db8ec5d5e0051d3c9608fabc8edd6abed983f6d3a254e7668a54b32b" + "encodedTransactionPayloadHex": "f9092bb9082f696d706f72742046756e6769626c65546f6b656e2066726f6d203078663233336463656538386665306162650a696d706f72742046756e6769626c65546f6b656e4d6574616461746156696577732066726f6d203078663233336463656538386665306162650a0a2f2f2f2043616e207061737320696e20616e7920636f6e7472616374206164647265737320616e64206e616d6520746f207472616e73666572206120746f6b656e2066726f6d207468617420636f6e74726163740a2f2f2f2054686973206c65747320796f752063686f6f73652074686520746f6b656e20796f752077616e7420746f2073656e640a2f2f2f0a2f2f2f20416e7920636f6e74726163742063616e2062652063686f73656e20686572652c20736f2077616c6c6574732073686f756c6420636865636b20617267756d656e742076616c7565730a2f2f2f20746f206d616b6520737572652074686520696e74656e64656420746f6b656e20706174682069732070617373656420696e0a2f2f2f0a7472616e73616374696f6e28616d6f756e743a205546697836342c20746f3a20416464726573732c20636f6e7472616374416464726573733a20416464726573732c20636f6e74726163744e616d653a20537472696e6729207b0a0a202020202f2f20546865205661756c74207265736f75726365207468617420686f6c64732074686520746f6b656e73207468617420617265206265696e67207472616e736665727265640a202020206c65742074656d705661756c743a20407b46756e6769626c65546f6b656e2e5661756c747d0a0a202020202f2f2046545661756c74446174612073747275637420746f206765742070617468732066726f6d0a202020206c6574207661756c74446174613a2046756e6769626c65546f6b656e4d6574616461746156696577732e46545661756c74446174610a0a2020202070726570617265287369676e65723a206175746828426f72726f7756616c75652920264163636f756e7429207b0a0a20202020202020202f2f20426f72726f772061207265666572656e636520746f20746865207661756c742073746f726564206f6e2074686520706173736564206163636f756e742061742074686520706173736564207075626c6963506174680a20202020202020206c6574207265736f6c766572526566203d206765744163636f756e7428636f6e747261637441646472657373290a2020202020202020202020202e636f6e7472616374732e626f72726f773c267b46756e6769626c65546f6b656e7d3e286e616d653a20636f6e74726163744e616d65290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f207468652066756e6769626c6520746f6b656e20636f6e747261637422290a0a20202020202020202f2f205573652074686174207265666572656e636520746f2072657472696576652074686520465456696577200a202020202020202073656c662e7661756c7444617461203d207265736f6c7665725265662e7265736f6c7665436f6e747261637456696577287265736f75726365547970653a206e696c2c2076696577547970653a20547970653c46756e6769626c65546f6b656e4d6574616461746156696577732e46545661756c74446174613e282929206173212046756e6769626c65546f6b656e4d6574616461746156696577732e46545661756c74446174613f0a2020202020202020202020203f3f2070616e69632822436f756c64206e6f74207265736f6c7665207468652046545661756c7444617461207669657720666f722074686520676976656e2046756e6769626c6520746f6b656e20636f6e747261637422290a0a20202020202020202f2f204765742061207265666572656e636520746f20746865207369676e657227732073746f726564207661756c740a20202020202020206c6574207661756c74526566203d207369676e65722e73746f726167652e626f72726f773c617574682846756e6769626c65546f6b656e2e57697468647261772920267b46756e6769626c65546f6b656e2e50726f76696465727d3e2866726f6d3a2073656c662e7661756c74446174612e73746f7261676550617468290a0909093f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f20746865206f776e65722773205661756c742122290a0a202020202020202073656c662e74656d705661756c74203c2d207661756c745265662e776974686472617728616d6f756e743a20616d6f756e74290a202020207d0a0a2020202065786563757465207b0a20202020202020206c657420726563697069656e74203d206765744163636f756e7428746f290a20202020202020206c6574207265636569766572526566203d20726563697069656e742e6361706162696c69746965732e626f72726f773c267b46756e6769626c65546f6b656e2e52656365697665727d3e2873656c662e7661756c74446174612e726563656976657250617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f2074686520726563697069656e7427732052656365697665722122290a0a20202020202020202f2f205472616e7366657220746f6b656e732066726f6d20746865207369676e657227732073746f726564207661756c7420746f20746865207265636569766572206361706162696c6974790a202020202020202072656365697665725265662e6465706f7369742866726f6d3a203c2d73656c662e74656d705661756c74290a202020207d0a7df8b7b07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227daf7b2276616c7565223a22307865343637623964643131666130306466222c2274797065223a2241646472657373227daf7b2276616c7565223a22307865343637623964643131666130306466222c2274797065223a2241646472657373227da57b2276616c7565223a2246696174546f6b656e222c2274797065223a22537472696e67227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", + "encodedTransactionEnvelopeHex": "f9092ff9092bb9082f696d706f72742046756e6769626c65546f6b656e2066726f6d203078663233336463656538386665306162650a696d706f72742046756e6769626c65546f6b656e4d6574616461746156696577732066726f6d203078663233336463656538386665306162650a0a2f2f2f2043616e207061737320696e20616e7920636f6e7472616374206164647265737320616e64206e616d6520746f207472616e73666572206120746f6b656e2066726f6d207468617420636f6e74726163740a2f2f2f2054686973206c65747320796f752063686f6f73652074686520746f6b656e20796f752077616e7420746f2073656e640a2f2f2f0a2f2f2f20416e7920636f6e74726163742063616e2062652063686f73656e20686572652c20736f2077616c6c6574732073686f756c6420636865636b20617267756d656e742076616c7565730a2f2f2f20746f206d616b6520737572652074686520696e74656e64656420746f6b656e20706174682069732070617373656420696e0a2f2f2f0a7472616e73616374696f6e28616d6f756e743a205546697836342c20746f3a20416464726573732c20636f6e7472616374416464726573733a20416464726573732c20636f6e74726163744e616d653a20537472696e6729207b0a0a202020202f2f20546865205661756c74207265736f75726365207468617420686f6c64732074686520746f6b656e73207468617420617265206265696e67207472616e736665727265640a202020206c65742074656d705661756c743a20407b46756e6769626c65546f6b656e2e5661756c747d0a0a202020202f2f2046545661756c74446174612073747275637420746f206765742070617468732066726f6d0a202020206c6574207661756c74446174613a2046756e6769626c65546f6b656e4d6574616461746156696577732e46545661756c74446174610a0a2020202070726570617265287369676e65723a206175746828426f72726f7756616c75652920264163636f756e7429207b0a0a20202020202020202f2f20426f72726f772061207265666572656e636520746f20746865207661756c742073746f726564206f6e2074686520706173736564206163636f756e742061742074686520706173736564207075626c6963506174680a20202020202020206c6574207265736f6c766572526566203d206765744163636f756e7428636f6e747261637441646472657373290a2020202020202020202020202e636f6e7472616374732e626f72726f773c267b46756e6769626c65546f6b656e7d3e286e616d653a20636f6e74726163744e616d65290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f207468652066756e6769626c6520746f6b656e20636f6e747261637422290a0a20202020202020202f2f205573652074686174207265666572656e636520746f2072657472696576652074686520465456696577200a202020202020202073656c662e7661756c7444617461203d207265736f6c7665725265662e7265736f6c7665436f6e747261637456696577287265736f75726365547970653a206e696c2c2076696577547970653a20547970653c46756e6769626c65546f6b656e4d6574616461746156696577732e46545661756c74446174613e282929206173212046756e6769626c65546f6b656e4d6574616461746156696577732e46545661756c74446174613f0a2020202020202020202020203f3f2070616e69632822436f756c64206e6f74207265736f6c7665207468652046545661756c7444617461207669657720666f722074686520676976656e2046756e6769626c6520746f6b656e20636f6e747261637422290a0a20202020202020202f2f204765742061207265666572656e636520746f20746865207369676e657227732073746f726564207661756c740a20202020202020206c6574207661756c74526566203d207369676e65722e73746f726167652e626f72726f773c617574682846756e6769626c65546f6b656e2e57697468647261772920267b46756e6769626c65546f6b656e2e50726f76696465727d3e2866726f6d3a2073656c662e7661756c74446174612e73746f7261676550617468290a0909093f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f20746865206f776e65722773205661756c742122290a0a202020202020202073656c662e74656d705661756c74203c2d207661756c745265662e776974686472617728616d6f756e743a20616d6f756e74290a202020207d0a0a2020202065786563757465207b0a20202020202020206c657420726563697069656e74203d206765744163636f756e7428746f290a20202020202020206c6574207265636569766572526566203d20726563697069656e742e6361706162696c69746965732e626f72726f773c267b46756e6769626c65546f6b656e2e52656365697665727d3e2873656c662e7661756c74446174612e726563656976657250617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f2074686520726563697069656e7427732052656365697665722122290a0a20202020202020202f2f205472616e7366657220746f6b656e732066726f6d20746865207369676e657227732073746f726564207661756c7420746f20746865207265636569766572206361706162696c6974790a202020202020202072656365697665725265662e6465706f7369742866726f6d3a203c2d73656c662e74656d705661756c74290a202020207d0a7df8b7b07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227daf7b2276616c7565223a22307865343637623964643131666130306466222c2274797065223a2241646472657373227daf7b2276616c7565223a22307865343637623964643131666130306466222c2274797065223a2241646472657373227da57b2276616c7565223a2246696174546f6b656e222c2274797065223a22537472696e67227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", + "metadata": "02c1518742a95f9b49259abed8364b05d616ee8acebe123e9979f762b9e7522f93697ad2a90da93cbd02b7658f174c9c32e2016a574edb89cf24b57a8155c343e45472616e736665722046756e6769626c6520546f6b656e20776974682041646472657373000401416d6f756e740000554669783634000301526563697069656e74000141646472657373000301465420436f6e74726163742041646472657373000241646472657373000301465420436f6e7472616374204e616d650003537472696e670003", + "hash": "697ad2a90da93cbd02b7658f174c9c32e2016a574edb89cf24b57a8155c343e4" }, { - "title": "SCO.07 - Stake Rewarded Tokens - 1", + "title": "NFT.01 - Setup NFT Collection", "valid": true, "chainID": "Mainnet", "payloadMessage": { - "script": "import FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// Commits rewarded tokens to stake for the specified node or delegator in the staking collection\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n }\n\n execute {\n self.stakingCollectionRef.stakeRewardedTokens(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", + "script": "/// This transaction is what an account would run\n/// to set itself up to receive NFTs. This function\n/// uses views to know where to set up the collection\n/// in storage and to create the empty collection.\n\nimport 0x1d7e57aa55817448\nimport 0x1d7e57aa55817448\n\ntransaction(contractAddress: Address, contractName: String) {\n\n prepare(signer: auth(IssueStorageCapabilityController, PublishCapability, SaveValue) &Account) {\n // Borrow a reference to the nft contract deployed to the passed account\n let resolverRef = getAccount(contractAddress)\n .contracts.borrow<&{NonFungibleToken}>(name: contractName)\n ?? panic(\"Could not borrow a reference to the non-fungible token contract\")\n\n // Use that reference to retrieve the NFTCollectionData view \n let collectionData = resolverRef.resolveContractView(resourceType: nil, viewType: Type()) as! MetadataViews.NFTCollectionData?\n ?? panic(\"Could not resolve the NFTCollectionData view for the given non-fungible token contract\")\n\n // Create a new empty collections\n let emptyCollection <- collectionData.createEmptyCollection()\n\n // save it to the account\n signer.storage.save(<-emptyCollection, to: collectionData.storagePath)\n\n // create a public capability for the collection\n let collectionCap = signer.capabilities.storage.issue<&{NonFungibleToken.Collection}>(\n collectionData.storagePath\n )\n signer.capabilities.publish(collectionCap, at: collectionData.publicPath)\n }\n}\n", "arguments": [ { - "type": "String", - "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" - }, - { - "type": "Optional", - "value": null + "type": "Address", + "value": "0xe467b9dd11fa00df" }, { - "type": "UFix64", - "value": "92233720368.54775808" + "value": "TopShot", + "type": "String" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -6665,19 +2955,15 @@ ] }, "envelopeMessage": { - "script": "import FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// Commits rewarded tokens to stake for the specified node or delegator in the staking collection\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n }\n\n execute {\n self.stakingCollectionRef.stakeRewardedTokens(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", + "script": "/// This transaction is what an account would run\n/// to set itself up to receive NFTs. This function\n/// uses views to know where to set up the collection\n/// in storage and to create the empty collection.\n\nimport 0x1d7e57aa55817448\nimport 0x1d7e57aa55817448\n\ntransaction(contractAddress: Address, contractName: String) {\n\n prepare(signer: auth(IssueStorageCapabilityController, PublishCapability, SaveValue) &Account) {\n // Borrow a reference to the nft contract deployed to the passed account\n let resolverRef = getAccount(contractAddress)\n .contracts.borrow<&{NonFungibleToken}>(name: contractName)\n ?? panic(\"Could not borrow a reference to the non-fungible token contract\")\n\n // Use that reference to retrieve the NFTCollectionData view \n let collectionData = resolverRef.resolveContractView(resourceType: nil, viewType: Type()) as! MetadataViews.NFTCollectionData?\n ?? panic(\"Could not resolve the NFTCollectionData view for the given non-fungible token contract\")\n\n // Create a new empty collections\n let emptyCollection <- collectionData.createEmptyCollection()\n\n // save it to the account\n signer.storage.save(<-emptyCollection, to: collectionData.storagePath)\n\n // create a public capability for the collection\n let collectionCap = signer.capabilities.storage.issue<&{NonFungibleToken.Collection}>(\n collectionData.storagePath\n )\n signer.capabilities.publish(collectionCap, at: collectionData.publicPath)\n }\n}\n", "arguments": [ { - "type": "String", - "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" - }, - { - "type": "Optional", - "value": null + "type": "Address", + "value": "0xe467b9dd11fa00df" }, { - "type": "UFix64", - "value": "92233720368.54775808" + "value": "TopShot", + "type": "String" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -6693,32 +2979,33 @@ ], "payloadSigs": [] }, - "encodedTransactionPayloadHex": "f903aab902b5696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f20436f6d6d69747320726577617264656420746f6b656e7320746f207374616b6520666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e7374616b655265776172646564546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8b0b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227da07b2274797065223a224f7074696f6e616c222c2276616c7565223a6e756c6c7db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f903aef903aab902b5696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f20436f6d6d69747320726577617264656420746f6b656e7320746f207374616b6520666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e7374616b655265776172646564546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8b0b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227da07b2274797065223a224f7074696f6e616c222c2276616c7565223a6e756c6c7db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "02d7aca7113a7aa03e0afd20ee36f4873779708a02ac4c6985017740c2ecea3d62907c4cfd67a98a8003393c64dc74eb7a957b229352a266139a542bb105ac4c405374616b6520526577617264656420546f6b656e730003014e6f64652049440000537472696e6700030244656c656761746f72204944000155496e743332000301416d6f756e7400025546697836340003", - "hash": "907c4cfd67a98a8003393c64dc74eb7a957b229352a266139a542bb105ac4c40" + "encodedTransactionPayloadHex": "f906d5b9063c2f2f2f2054686973207472616e73616374696f6e206973207768617420616e206163636f756e7420776f756c642072756e0a2f2f2f20746f2073657420697473656c6620757020746f2072656365697665204e4654732e20546869732066756e6374696f6e0a2f2f2f207573657320766965777320746f206b6e6f7720776865726520746f207365742075702074686520636f6c6c656374696f6e0a2f2f2f20696e2073746f7261676520616e6420746f206372656174652074686520656d70747920636f6c6c656374696f6e2e0a0a696d706f7274203078316437653537616135353831373434380a696d706f7274203078316437653537616135353831373434380a0a7472616e73616374696f6e28636f6e7472616374416464726573733a20416464726573732c20636f6e74726163744e616d653a20537472696e6729207b0a0a2020202070726570617265287369676e65723a206175746828497373756553746f726167654361706162696c697479436f6e74726f6c6c65722c205075626c6973684361706162696c6974792c205361766556616c75652920264163636f756e7429207b0a20202020202020202f2f20426f72726f772061207265666572656e636520746f20746865206e667420636f6e7472616374206465706c6f79656420746f2074686520706173736564206163636f756e740a20202020202020206c6574207265736f6c766572526566203d206765744163636f756e7428636f6e747261637441646472657373290a2020202020202020202020202e636f6e7472616374732e626f72726f773c267b4e6f6e46756e6769626c65546f6b656e7d3e286e616d653a20636f6e74726163744e616d65290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f20746865206e6f6e2d66756e6769626c6520746f6b656e20636f6e747261637422290a0a20202020202020202f2f205573652074686174207265666572656e636520746f20726574726965766520746865204e4654436f6c6c656374696f6e446174612076696577200a20202020202020206c657420636f6c6c656374696f6e44617461203d207265736f6c7665725265662e7265736f6c7665436f6e747261637456696577287265736f75726365547970653a206e696c2c2076696577547970653a20547970653c4d6574616461746156696577732e4e4654436f6c6c656374696f6e446174613e28292920617321204d6574616461746156696577732e4e4654436f6c6c656374696f6e446174613f0a2020202020202020202020203f3f2070616e69632822436f756c64206e6f74207265736f6c766520746865204e4654436f6c6c656374696f6e44617461207669657720666f722074686520676976656e206e6f6e2d66756e6769626c6520746f6b656e20636f6e747261637422290a0a20202020202020202f2f204372656174652061206e657720656d70747920636f6c6c656374696f6e730a20202020202020206c657420656d707479436f6c6c656374696f6e203c2d20636f6c6c656374696f6e446174612e637265617465456d707479436f6c6c656374696f6e28290a0a20202020202020202f2f207361766520697420746f20746865206163636f756e740a20202020202020207369676e65722e73746f726167652e73617665283c2d656d707479436f6c6c656374696f6e2c20746f3a20636f6c6c656374696f6e446174612e73746f7261676550617468290a0a20202020202020202f2f206372656174652061207075626c6963206361706162696c69747920666f722074686520636f6c6c656374696f6e0a20202020202020206c657420636f6c6c656374696f6e436170203d207369676e65722e6361706162696c69746965732e73746f726167652e69737375653c267b4e6f6e46756e6769626c65546f6b656e2e436f6c6c656374696f6e7d3e280a20202020202020202020202020202020636f6c6c656374696f6e446174612e73746f72616765506174680a202020202020202020202020290a20202020202020207369676e65722e6361706162696c69746965732e7075626c69736828636f6c6c656374696f6e4361702c2061743a20636f6c6c656374696f6e446174612e7075626c696350617468290a202020207d0a7d0af854af7b2274797065223a2241646472657373222c2276616c7565223a22307865343637623964643131666130306466227da37b2276616c7565223a22546f7053686f74222c2274797065223a22537472696e67227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", + "encodedTransactionEnvelopeHex": "f906d9f906d5b9063c2f2f2f2054686973207472616e73616374696f6e206973207768617420616e206163636f756e7420776f756c642072756e0a2f2f2f20746f2073657420697473656c6620757020746f2072656365697665204e4654732e20546869732066756e6374696f6e0a2f2f2f207573657320766965777320746f206b6e6f7720776865726520746f207365742075702074686520636f6c6c656374696f6e0a2f2f2f20696e2073746f7261676520616e6420746f206372656174652074686520656d70747920636f6c6c656374696f6e2e0a0a696d706f7274203078316437653537616135353831373434380a696d706f7274203078316437653537616135353831373434380a0a7472616e73616374696f6e28636f6e7472616374416464726573733a20416464726573732c20636f6e74726163744e616d653a20537472696e6729207b0a0a2020202070726570617265287369676e65723a206175746828497373756553746f726167654361706162696c697479436f6e74726f6c6c65722c205075626c6973684361706162696c6974792c205361766556616c75652920264163636f756e7429207b0a20202020202020202f2f20426f72726f772061207265666572656e636520746f20746865206e667420636f6e7472616374206465706c6f79656420746f2074686520706173736564206163636f756e740a20202020202020206c6574207265736f6c766572526566203d206765744163636f756e7428636f6e747261637441646472657373290a2020202020202020202020202e636f6e7472616374732e626f72726f773c267b4e6f6e46756e6769626c65546f6b656e7d3e286e616d653a20636f6e74726163744e616d65290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f20746865206e6f6e2d66756e6769626c6520746f6b656e20636f6e747261637422290a0a20202020202020202f2f205573652074686174207265666572656e636520746f20726574726965766520746865204e4654436f6c6c656374696f6e446174612076696577200a20202020202020206c657420636f6c6c656374696f6e44617461203d207265736f6c7665725265662e7265736f6c7665436f6e747261637456696577287265736f75726365547970653a206e696c2c2076696577547970653a20547970653c4d6574616461746156696577732e4e4654436f6c6c656374696f6e446174613e28292920617321204d6574616461746156696577732e4e4654436f6c6c656374696f6e446174613f0a2020202020202020202020203f3f2070616e69632822436f756c64206e6f74207265736f6c766520746865204e4654436f6c6c656374696f6e44617461207669657720666f722074686520676976656e206e6f6e2d66756e6769626c6520746f6b656e20636f6e747261637422290a0a20202020202020202f2f204372656174652061206e657720656d70747920636f6c6c656374696f6e730a20202020202020206c657420656d707479436f6c6c656374696f6e203c2d20636f6c6c656374696f6e446174612e637265617465456d707479436f6c6c656374696f6e28290a0a20202020202020202f2f207361766520697420746f20746865206163636f756e740a20202020202020207369676e65722e73746f726167652e73617665283c2d656d707479436f6c6c656374696f6e2c20746f3a20636f6c6c656374696f6e446174612e73746f7261676550617468290a0a20202020202020202f2f206372656174652061207075626c6963206361706162696c69747920666f722074686520636f6c6c656374696f6e0a20202020202020206c657420636f6c6c656374696f6e436170203d207369676e65722e6361706162696c69746965732e73746f726167652e69737375653c267b4e6f6e46756e6769626c65546f6b656e2e436f6c6c656374696f6e7d3e280a20202020202020202020202020202020636f6c6c656374696f6e446174612e73746f72616765506174680a202020202020202020202020290a20202020202020207369676e65722e6361706162696c69746965732e7075626c69736828636f6c6c656374696f6e4361702c2061743a20636f6c6c656374696f6e446174612e7075626c696350617468290a202020207d0a7d0af854af7b2274797065223a2241646472657373222c2276616c7565223a22307865343637623964643131666130306466227da37b2276616c7565223a22546f7053686f74222c2274797065223a22537472696e67227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", + "metadata": "02d9ef3b05f8b06d43c3a0ef4066e88e6248323c5f235f9a5d1f8a85d6e2bc9bfa1d12c005fa7a08277204e5d54e29b725c52b9e8e3dd6ff6e01f8d47d7be1626c5365747570204e465420436f6c6c656374696f6e0002014e465420436f6e747261637420416464726573730000416464726573730003014e465420436f6e7472616374204e616d650001537472696e670003", + "hash": "1d12c005fa7a08277204e5d54e29b725c52b9e8e3dd6ff6e01f8d47d7be1626c" }, { - "title": "SCO.07 - Stake Rewarded Tokens - 2", + "title": "NFT.02 - Transfer NFT with Paths", "valid": true, "chainID": "Mainnet", "payloadMessage": { - "script": "import FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// Commits rewarded tokens to stake for the specified node or delegator in the staking collection\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n }\n\n execute {\n self.stakingCollectionRef.stakeRewardedTokens(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", + "script": "import 0x1d7e57aa55817448\n\n/// Can pass in any storage path and receiver path instead of just the default.\n/// This lets you choose the token you want to send as well the capability you want to send it to.\n///\n/// Any token path can be passed as an argument here, so wallets should\n/// should check argument values to make sure the intended token path is passed in\n///\ntransaction(to: Address, id: UInt64, senderPathIdentifier: String, receiverPathIdentifier: String) {\n\n // The NFT resource to be transferred\n let tempNFT: @{NonFungibleToken.NFT}\n\n prepare(signer: auth(BorrowValue) &Account) {\n\n let storagePath = StoragePath(identifier: senderPathIdentifier)\n ?? panic(\"Could not construct a storage path from the provided path identifier string\")\n\n // borrow a reference to the signer's NFT collection\n let withdrawRef = signer.storage.borrow(\n from: storagePath\n ) ?? panic(\"Account does not store a collection object at the specified path\")\n\n self.tempNFT <- withdrawRef.withdraw(withdrawID: id)\n }\n\n execute {\n let publicPath = PublicPath(identifier: receiverPathIdentifier)\n ?? panic(\"Could not construct a public path from the provided path identifier string\")\n\n // get the recipients public account object\n let recipient = getAccount(to)\n\n // borrow a public reference to the receivers collection\n let receiverCap = recipient.capabilities.get<&{NonFungibleToken.Receiver}>(publicPath)\n ?? panic(\"Could not get the recipient's Receiver Capability\")\n\n let receiverRef = receiverCap.borrow()\n ?? panic(\"Could not borrow reference to the recipient's receiver\")\n\n // Deposit the NFT to the receiver\n receiverRef.deposit(token: <-self.tempNFT)\n }\n}", "arguments": [ { - "type": "String", - "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" + "type": "Address", + "value": "0xe467b9dd11fa00df" }, { - "type": "Optional", - "value": { - "type": "UInt32", - "value": "42" - } + "value": "10", + "type": "UInt64" }, { - "type": "UFix64", - "value": "92233720368.54775808" + "value": "flowTokenVault", + "type": "String" + }, + { + "value": "flowTokenReceiver", + "type": "String" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -6741,22 +3028,23 @@ ] }, "envelopeMessage": { - "script": "import FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// Commits rewarded tokens to stake for the specified node or delegator in the staking collection\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n }\n\n execute {\n self.stakingCollectionRef.stakeRewardedTokens(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", + "script": "import 0x1d7e57aa55817448\n\n/// Can pass in any storage path and receiver path instead of just the default.\n/// This lets you choose the token you want to send as well the capability you want to send it to.\n///\n/// Any token path can be passed as an argument here, so wallets should\n/// should check argument values to make sure the intended token path is passed in\n///\ntransaction(to: Address, id: UInt64, senderPathIdentifier: String, receiverPathIdentifier: String) {\n\n // The NFT resource to be transferred\n let tempNFT: @{NonFungibleToken.NFT}\n\n prepare(signer: auth(BorrowValue) &Account) {\n\n let storagePath = StoragePath(identifier: senderPathIdentifier)\n ?? panic(\"Could not construct a storage path from the provided path identifier string\")\n\n // borrow a reference to the signer's NFT collection\n let withdrawRef = signer.storage.borrow(\n from: storagePath\n ) ?? panic(\"Account does not store a collection object at the specified path\")\n\n self.tempNFT <- withdrawRef.withdraw(withdrawID: id)\n }\n\n execute {\n let publicPath = PublicPath(identifier: receiverPathIdentifier)\n ?? panic(\"Could not construct a public path from the provided path identifier string\")\n\n // get the recipients public account object\n let recipient = getAccount(to)\n\n // borrow a public reference to the receivers collection\n let receiverCap = recipient.capabilities.get<&{NonFungibleToken.Receiver}>(publicPath)\n ?? panic(\"Could not get the recipient's Receiver Capability\")\n\n let receiverRef = receiverCap.borrow()\n ?? panic(\"Could not borrow reference to the recipient's receiver\")\n\n // Deposit the NFT to the receiver\n receiverRef.deposit(token: <-self.tempNFT)\n }\n}", "arguments": [ { - "type": "String", - "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" + "type": "Address", + "value": "0xe467b9dd11fa00df" }, { - "type": "Optional", - "value": { - "type": "UInt32", - "value": "42" - } + "value": "10", + "type": "UInt64" }, { - "type": "UFix64", - "value": "92233720368.54775808" + "value": "flowTokenVault", + "type": "String" + }, + { + "value": "flowTokenReceiver", + "type": "String" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -6772,29 +3060,33 @@ ], "payloadSigs": [] }, - "encodedTransactionPayloadHex": "f903c5b902b5696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f20436f6d6d69747320726577617264656420746f6b656e7320746f207374616b6520666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e7374616b655265776172646564546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8cbb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db83a7b2274797065223a224f7074696f6e616c222c2276616c7565223a7b2274797065223a2255496e743332222c2276616c7565223a223432227d7db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f903c9f903c5b902b5696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f20436f6d6d69747320726577617264656420746f6b656e7320746f207374616b6520666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e7374616b655265776172646564546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8cbb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db83a7b2274797065223a224f7074696f6e616c222c2276616c7565223a7b2274797065223a2255496e743332222c2276616c7565223a223432227d7db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "02d7aca7113a7aa03e0afd20ee36f4873779708a02ac4c6985017740c2ecea3d62907c4cfd67a98a8003393c64dc74eb7a957b229352a266139a542bb105ac4c405374616b6520526577617264656420546f6b656e730003014e6f64652049440000537472696e6700030244656c656761746f72204944000155496e743332000301416d6f756e7400025546697836340003", - "hash": "907c4cfd67a98a8003393c64dc74eb7a957b229352a266139a542bb105ac4c40" + "encodedTransactionPayloadHex": "f9084db90760696d706f7274203078316437653537616135353831373434380a0a2f2f2f2043616e207061737320696e20616e792073746f72616765207061746820616e64207265636569766572207061746820696e7374656164206f66206a757374207468652064656661756c742e0a2f2f2f2054686973206c65747320796f752063686f6f73652074686520746f6b656e20796f752077616e7420746f2073656e642061732077656c6c20746865206361706162696c69747920796f752077616e7420746f2073656e6420697420746f2e0a2f2f2f0a2f2f2f20416e7920746f6b656e20706174682063616e2062652070617373656420617320616e20617267756d656e7420686572652c20736f2077616c6c6574732073686f756c640a2f2f2f2073686f756c6420636865636b20617267756d656e742076616c75657320746f206d616b6520737572652074686520696e74656e64656420746f6b656e20706174682069732070617373656420696e0a2f2f2f0a7472616e73616374696f6e28746f3a20416464726573732c2069643a2055496e7436342c2073656e646572506174684964656e7469666965723a20537472696e672c207265636569766572506174684964656e7469666965723a20537472696e6729207b0a0a202020202f2f20546865204e4654207265736f7572636520746f206265207472616e736665727265640a202020206c65742074656d704e46543a20407b4e6f6e46756e6769626c65546f6b656e2e4e46547d0a0a2020202070726570617265287369676e65723a206175746828426f72726f7756616c75652920264163636f756e7429207b0a0a20202020202020206c65742073746f7261676550617468203d2053746f7261676550617468286964656e7469666965723a2073656e646572506174684964656e746966696572290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420636f6e73747275637420612073746f7261676520706174682066726f6d207468652070726f76696465642070617468206964656e74696669657220737472696e6722290a0a20202020202020202f2f20626f72726f772061207265666572656e636520746f20746865207369676e65722773204e465420636f6c6c656374696f6e0a20202020202020206c6574207769746864726177526566203d207369676e65722e73746f726167652e626f72726f773c61757468284e6f6e46756e6769626c65546f6b656e2e57697468647261772920267b4e6f6e46756e6769626c65546f6b656e2e436f6c6c656374696f6e7d3e280a2020202020202020202020202020202066726f6d3a2073746f72616765506174680a20202020202020202020202029203f3f2070616e696328224163636f756e7420646f6573206e6f742073746f7265206120636f6c6c656374696f6e206f626a6563742061742074686520737065636966696564207061746822290a0a202020202020202073656c662e74656d704e4654203c2d2077697468647261775265662e776974686472617728776974686472617749443a206964290a202020207d0a0a2020202065786563757465207b0a20202020202020206c6574207075626c696350617468203d205075626c696350617468286964656e7469666965723a207265636569766572506174684964656e746966696572290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420636f6e7374727563742061207075626c696320706174682066726f6d207468652070726f76696465642070617468206964656e74696669657220737472696e6722290a0a20202020202020202f2f206765742074686520726563697069656e7473207075626c6963206163636f756e74206f626a6563740a20202020202020206c657420726563697069656e74203d206765744163636f756e7428746f290a0a20202020202020202f2f20626f72726f772061207075626c6963207265666572656e636520746f207468652072656365697665727320636f6c6c656374696f6e0a20202020202020206c6574207265636569766572436170203d20726563697069656e742e6361706162696c69746965732e6765743c267b4e6f6e46756e6769626c65546f6b656e2e52656365697665727d3e287075626c696350617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f74206765742074686520726563697069656e742773205265636569766572204361706162696c69747922290a0a20202020202020206c6574207265636569766572526566203d2072656365697665724361702e626f72726f7728290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f2074686520726563697069656e74277320726563656976657222290a0a20202020202020202f2f204465706f73697420746865204e465420746f207468652072656365697665720a202020202020202072656365697665725265662e6465706f73697428746f6b656e3a203c2d73656c662e74656d704e4654290a202020207d0a7df8a8af7b2274797065223a2241646472657373222c2276616c7565223a22307865343637623964643131666130306466227d9e7b2276616c7565223a223130222c2274797065223a2255496e743634227daa7b2276616c7565223a22666c6f77546f6b656e5661756c74222c2274797065223a22537472696e67227dad7b2276616c7565223a22666c6f77546f6b656e5265636569766572222c2274797065223a22537472696e67227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", + "encodedTransactionEnvelopeHex": "f90851f9084db90760696d706f7274203078316437653537616135353831373434380a0a2f2f2f2043616e207061737320696e20616e792073746f72616765207061746820616e64207265636569766572207061746820696e7374656164206f66206a757374207468652064656661756c742e0a2f2f2f2054686973206c65747320796f752063686f6f73652074686520746f6b656e20796f752077616e7420746f2073656e642061732077656c6c20746865206361706162696c69747920796f752077616e7420746f2073656e6420697420746f2e0a2f2f2f0a2f2f2f20416e7920746f6b656e20706174682063616e2062652070617373656420617320616e20617267756d656e7420686572652c20736f2077616c6c6574732073686f756c640a2f2f2f2073686f756c6420636865636b20617267756d656e742076616c75657320746f206d616b6520737572652074686520696e74656e64656420746f6b656e20706174682069732070617373656420696e0a2f2f2f0a7472616e73616374696f6e28746f3a20416464726573732c2069643a2055496e7436342c2073656e646572506174684964656e7469666965723a20537472696e672c207265636569766572506174684964656e7469666965723a20537472696e6729207b0a0a202020202f2f20546865204e4654207265736f7572636520746f206265207472616e736665727265640a202020206c65742074656d704e46543a20407b4e6f6e46756e6769626c65546f6b656e2e4e46547d0a0a2020202070726570617265287369676e65723a206175746828426f72726f7756616c75652920264163636f756e7429207b0a0a20202020202020206c65742073746f7261676550617468203d2053746f7261676550617468286964656e7469666965723a2073656e646572506174684964656e746966696572290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420636f6e73747275637420612073746f7261676520706174682066726f6d207468652070726f76696465642070617468206964656e74696669657220737472696e6722290a0a20202020202020202f2f20626f72726f772061207265666572656e636520746f20746865207369676e65722773204e465420636f6c6c656374696f6e0a20202020202020206c6574207769746864726177526566203d207369676e65722e73746f726167652e626f72726f773c61757468284e6f6e46756e6769626c65546f6b656e2e57697468647261772920267b4e6f6e46756e6769626c65546f6b656e2e436f6c6c656374696f6e7d3e280a2020202020202020202020202020202066726f6d3a2073746f72616765506174680a20202020202020202020202029203f3f2070616e696328224163636f756e7420646f6573206e6f742073746f7265206120636f6c6c656374696f6e206f626a6563742061742074686520737065636966696564207061746822290a0a202020202020202073656c662e74656d704e4654203c2d2077697468647261775265662e776974686472617728776974686472617749443a206964290a202020207d0a0a2020202065786563757465207b0a20202020202020206c6574207075626c696350617468203d205075626c696350617468286964656e7469666965723a207265636569766572506174684964656e746966696572290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420636f6e7374727563742061207075626c696320706174682066726f6d207468652070726f76696465642070617468206964656e74696669657220737472696e6722290a0a20202020202020202f2f206765742074686520726563697069656e7473207075626c6963206163636f756e74206f626a6563740a20202020202020206c657420726563697069656e74203d206765744163636f756e7428746f290a0a20202020202020202f2f20626f72726f772061207075626c6963207265666572656e636520746f207468652072656365697665727320636f6c6c656374696f6e0a20202020202020206c6574207265636569766572436170203d20726563697069656e742e6361706162696c69746965732e6765743c267b4e6f6e46756e6769626c65546f6b656e2e52656365697665727d3e287075626c696350617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f74206765742074686520726563697069656e742773205265636569766572204361706162696c69747922290a0a20202020202020206c6574207265636569766572526566203d2072656365697665724361702e626f72726f7728290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f2074686520726563697069656e74277320726563656976657222290a0a20202020202020202f2f204465706f73697420746865204e465420746f207468652072656365697665720a202020202020202072656365697665725265662e6465706f73697428746f6b656e3a203c2d73656c662e74656d704e4654290a202020207d0a7df8a8af7b2274797065223a2241646472657373222c2276616c7565223a22307865343637623964643131666130306466227d9e7b2276616c7565223a223130222c2274797065223a2255496e743634227daa7b2276616c7565223a22666c6f77546f6b656e5661756c74222c2274797065223a22537472696e67227dad7b2276616c7565223a22666c6f77546f6b656e5265636569766572222c2274797065223a22537472696e67227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", + "metadata": "02f08815a2f535512a65e5c95c391dd6ff89662dad8fd68da836d11d0827a52bd4a56eb0c3e6c3456eee86d5cb62ddf700b0d1e5e65f12fe6926edd6d1816582855472616e73666572204e46542077697468205061746873000401526563697069656e740000416464726573730003014e465420494420746f205472616e73666572000155496e74363400030153656e646572277320436f6c6c656374696f6e2050617468204964656e7469666965720002537472696e67000301526563697069656e7427732052656365697665722050617468204964656e7469666965720003537472696e670003", + "hash": "a56eb0c3e6c3456eee86d5cb62ddf700b0d1e5e65f12fe6926edd6d181658285" }, { - "title": "SCO.08 - Stake Unstaked Tokens - 1", + "title": "NFT.03 - Transfer NFT with Address", "valid": true, "chainID": "Mainnet", "payloadMessage": { - "script": "import FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// Commits unstaked tokens to stake for the specified node or delegator in the staking collection\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n }\n\n execute {\n self.stakingCollectionRef.stakeUnstakedTokens(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", + "script": "import 0x1d7e57aa55817448\nimport 0x1d7e57aa55817448\n\n/// Can pass in any contract address and name\n/// This lets you choose the token you want to send because\n/// the transaction gets the metadata from the provided contract.\n///\ntransaction(to: Address, id: UInt64, contractAddress: Address, contractName: String) {\n\n // The NFT resource to be transferred\n let tempNFT: @{NonFungibleToken.NFT}\n\n // NFTCollectionData struct to get paths from\n let collectionData: MetadataViews.NFTCollectionData\n\n prepare(signer: auth(BorrowValue) &Account) {\n\n // Borrow a reference to the nft contract deployed to the passed account\n let resolverRef = getAccount(contractAddress)\n .contracts.borrow<&{NonFungibleToken}>(name: contractName)\n ?? panic(\"Could not borrow a reference to the non-fungible token contract\")\n\n // Use that reference to retrieve the NFTCollectionData view \n self.collectionData = resolverRef.resolveContractView(resourceType: nil, viewType: Type()) as! MetadataViews.NFTCollectionData?\n ?? panic(\"Could not resolve the NFTCollectionData view for the given non-fungible token contract\")\n\n\n // borrow a reference to the signer's NFT collection\n let withdrawRef = signer.storage.borrow(\n from: self.collectionData.storagePath\n ) ?? panic(\"Account does not store a collection object at the specified path\")\n\n self.tempNFT <- withdrawRef.withdraw(withdrawID: id)\n }\n\n execute {\n // get the recipients public account object\n let recipient = getAccount(to)\n\n // borrow a public reference to the receivers collection\n let receiverCap = recipient.capabilities.get<&{NonFungibleToken.Receiver}>(self.collectionData.publicPath)\n ?? panic(\"Could not get the recipient's Receiver Capability\")\n\n let receiverRef = receiverCap.borrow()\n ?? panic(\"Could not borrow reference to the recipient's receiver\")\n\n // Deposit the NFT to the receiver\n receiverRef.deposit(token: <-self.tempNFT)\n }\n}", "arguments": [ { - "type": "String", - "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" + "type": "Address", + "value": "0xe467b9dd11fa00df" }, { - "type": "Optional", - "value": null + "value": "10", + "type": "UInt64" }, { - "type": "UFix64", - "value": "92233720368.54775808" + "value": "0xe467b9dd11fa00df", + "type": "Address" + }, + { + "value": "TopShot", + "type": "String" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -6817,19 +3109,23 @@ ] }, "envelopeMessage": { - "script": "import FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// Commits unstaked tokens to stake for the specified node or delegator in the staking collection\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n }\n\n execute {\n self.stakingCollectionRef.stakeUnstakedTokens(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", + "script": "import 0x1d7e57aa55817448\nimport 0x1d7e57aa55817448\n\n/// Can pass in any contract address and name\n/// This lets you choose the token you want to send because\n/// the transaction gets the metadata from the provided contract.\n///\ntransaction(to: Address, id: UInt64, contractAddress: Address, contractName: String) {\n\n // The NFT resource to be transferred\n let tempNFT: @{NonFungibleToken.NFT}\n\n // NFTCollectionData struct to get paths from\n let collectionData: MetadataViews.NFTCollectionData\n\n prepare(signer: auth(BorrowValue) &Account) {\n\n // Borrow a reference to the nft contract deployed to the passed account\n let resolverRef = getAccount(contractAddress)\n .contracts.borrow<&{NonFungibleToken}>(name: contractName)\n ?? panic(\"Could not borrow a reference to the non-fungible token contract\")\n\n // Use that reference to retrieve the NFTCollectionData view \n self.collectionData = resolverRef.resolveContractView(resourceType: nil, viewType: Type()) as! MetadataViews.NFTCollectionData?\n ?? panic(\"Could not resolve the NFTCollectionData view for the given non-fungible token contract\")\n\n\n // borrow a reference to the signer's NFT collection\n let withdrawRef = signer.storage.borrow(\n from: self.collectionData.storagePath\n ) ?? panic(\"Account does not store a collection object at the specified path\")\n\n self.tempNFT <- withdrawRef.withdraw(withdrawID: id)\n }\n\n execute {\n // get the recipients public account object\n let recipient = getAccount(to)\n\n // borrow a public reference to the receivers collection\n let receiverCap = recipient.capabilities.get<&{NonFungibleToken.Receiver}>(self.collectionData.publicPath)\n ?? panic(\"Could not get the recipient's Receiver Capability\")\n\n let receiverRef = receiverCap.borrow()\n ?? panic(\"Could not borrow reference to the recipient's receiver\")\n\n // Deposit the NFT to the receiver\n receiverRef.deposit(token: <-self.tempNFT)\n }\n}", "arguments": [ { - "type": "String", - "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" + "type": "Address", + "value": "0xe467b9dd11fa00df" }, { - "type": "Optional", - "value": null + "value": "10", + "type": "UInt64" }, { - "type": "UFix64", - "value": "92233720368.54775808" + "value": "0xe467b9dd11fa00df", + "type": "Address" + }, + { + "value": "TopShot", + "type": "String" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -6845,29 +3141,18 @@ ], "payloadSigs": [] }, - "encodedTransactionPayloadHex": "f903aab902b5696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f20436f6d6d69747320756e7374616b656420746f6b656e7320746f207374616b6520666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e7374616b65556e7374616b6564546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8b0b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227da07b2274797065223a224f7074696f6e616c222c2276616c7565223a6e756c6c7db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f903aef903aab902b5696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f20436f6d6d69747320756e7374616b656420746f6b656e7320746f207374616b6520666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e7374616b65556e7374616b6564546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8b0b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227da07b2274797065223a224f7074696f6e616c222c2276616c7565223a6e756c6c7db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "023595fcd68cff445c65ad99f8d4d726b5e28807b061800769c41cbe3adb98aeec082e690b9647182cf6969db1a0fa8e0f1728da6db01fe0d462e9f0841c268cbb5374616b6520556e7374616b656420546f6b656e730003014e6f64652049440000537472696e6700030244656c656761746f72204944000155496e743332000301416d6f756e7400025546697836340003", - "hash": "082e690b9647182cf6969db1a0fa8e0f1728da6db01fe0d462e9f0841c268cbb" + "encodedTransactionPayloadHex": "f9096fb90887696d706f7274203078316437653537616135353831373434380a696d706f7274203078316437653537616135353831373434380a0a2f2f2f2043616e207061737320696e20616e7920636f6e7472616374206164647265737320616e64206e616d650a2f2f2f2054686973206c65747320796f752063686f6f73652074686520746f6b656e20796f752077616e7420746f2073656e6420626563617573650a2f2f2f20746865207472616e73616374696f6e206765747320746865206d657461646174612066726f6d207468652070726f766964656420636f6e74726163742e0a2f2f2f0a7472616e73616374696f6e28746f3a20416464726573732c2069643a2055496e7436342c20636f6e7472616374416464726573733a20416464726573732c20636f6e74726163744e616d653a20537472696e6729207b0a0a202020202f2f20546865204e4654207265736f7572636520746f206265207472616e736665727265640a202020206c65742074656d704e46543a20407b4e6f6e46756e6769626c65546f6b656e2e4e46547d0a0a202020202f2f204e4654436f6c6c656374696f6e446174612073747275637420746f206765742070617468732066726f6d0a202020206c657420636f6c6c656374696f6e446174613a204d6574616461746156696577732e4e4654436f6c6c656374696f6e446174610a0a2020202070726570617265287369676e65723a206175746828426f72726f7756616c75652920264163636f756e7429207b0a0a20202020202020202f2f20426f72726f772061207265666572656e636520746f20746865206e667420636f6e7472616374206465706c6f79656420746f2074686520706173736564206163636f756e740a20202020202020206c6574207265736f6c766572526566203d206765744163636f756e7428636f6e747261637441646472657373290a2020202020202020202020202e636f6e7472616374732e626f72726f773c267b4e6f6e46756e6769626c65546f6b656e7d3e286e616d653a20636f6e74726163744e616d65290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f20746865206e6f6e2d66756e6769626c6520746f6b656e20636f6e747261637422290a0a20202020202020202f2f205573652074686174207265666572656e636520746f20726574726965766520746865204e4654436f6c6c656374696f6e446174612076696577200a202020202020202073656c662e636f6c6c656374696f6e44617461203d207265736f6c7665725265662e7265736f6c7665436f6e747261637456696577287265736f75726365547970653a206e696c2c2076696577547970653a20547970653c4d6574616461746156696577732e4e4654436f6c6c656374696f6e446174613e28292920617321204d6574616461746156696577732e4e4654436f6c6c656374696f6e446174613f0a2020202020202020202020203f3f2070616e69632822436f756c64206e6f74207265736f6c766520746865204e4654436f6c6c656374696f6e44617461207669657720666f722074686520676976656e206e6f6e2d66756e6769626c6520746f6b656e20636f6e747261637422290a0a0a20202020202020202f2f20626f72726f772061207265666572656e636520746f20746865207369676e65722773204e465420636f6c6c656374696f6e0a20202020202020206c6574207769746864726177526566203d207369676e65722e73746f726167652e626f72726f773c61757468284e6f6e46756e6769626c65546f6b656e2e57697468647261772920267b4e6f6e46756e6769626c65546f6b656e2e436f6c6c656374696f6e7d3e280a2020202020202020202020202020202066726f6d3a2073656c662e636f6c6c656374696f6e446174612e73746f72616765506174680a20202020202020202020202029203f3f2070616e696328224163636f756e7420646f6573206e6f742073746f7265206120636f6c6c656374696f6e206f626a6563742061742074686520737065636966696564207061746822290a0a202020202020202073656c662e74656d704e4654203c2d2077697468647261775265662e776974686472617728776974686472617749443a206964290a202020207d0a0a2020202065786563757465207b0a20202020202020202f2f206765742074686520726563697069656e7473207075626c6963206163636f756e74206f626a6563740a20202020202020206c657420726563697069656e74203d206765744163636f756e7428746f290a0a20202020202020202f2f20626f72726f772061207075626c6963207265666572656e636520746f207468652072656365697665727320636f6c6c656374696f6e0a20202020202020206c6574207265636569766572436170203d20726563697069656e742e6361706162696c69746965732e6765743c267b4e6f6e46756e6769626c65546f6b656e2e52656365697665727d3e2873656c662e636f6c6c656374696f6e446174612e7075626c696350617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f74206765742074686520726563697069656e742773205265636569766572204361706162696c69747922290a0a20202020202020206c6574207265636569766572526566203d2072656365697665724361702e626f72726f7728290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f2074686520726563697069656e74277320726563656976657222290a0a20202020202020202f2f204465706f73697420746865204e465420746f207468652072656365697665720a202020202020202072656365697665725265662e6465706f73697428746f6b656e3a203c2d73656c662e74656d704e4654290a202020207d0a7df8a3af7b2274797065223a2241646472657373222c2276616c7565223a22307865343637623964643131666130306466227d9e7b2276616c7565223a223130222c2274797065223a2255496e743634227daf7b2276616c7565223a22307865343637623964643131666130306466222c2274797065223a2241646472657373227da37b2276616c7565223a22546f7053686f74222c2274797065223a22537472696e67227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", + "encodedTransactionEnvelopeHex": "f90973f9096fb90887696d706f7274203078316437653537616135353831373434380a696d706f7274203078316437653537616135353831373434380a0a2f2f2f2043616e207061737320696e20616e7920636f6e7472616374206164647265737320616e64206e616d650a2f2f2f2054686973206c65747320796f752063686f6f73652074686520746f6b656e20796f752077616e7420746f2073656e6420626563617573650a2f2f2f20746865207472616e73616374696f6e206765747320746865206d657461646174612066726f6d207468652070726f766964656420636f6e74726163742e0a2f2f2f0a7472616e73616374696f6e28746f3a20416464726573732c2069643a2055496e7436342c20636f6e7472616374416464726573733a20416464726573732c20636f6e74726163744e616d653a20537472696e6729207b0a0a202020202f2f20546865204e4654207265736f7572636520746f206265207472616e736665727265640a202020206c65742074656d704e46543a20407b4e6f6e46756e6769626c65546f6b656e2e4e46547d0a0a202020202f2f204e4654436f6c6c656374696f6e446174612073747275637420746f206765742070617468732066726f6d0a202020206c657420636f6c6c656374696f6e446174613a204d6574616461746156696577732e4e4654436f6c6c656374696f6e446174610a0a2020202070726570617265287369676e65723a206175746828426f72726f7756616c75652920264163636f756e7429207b0a0a20202020202020202f2f20426f72726f772061207265666572656e636520746f20746865206e667420636f6e7472616374206465706c6f79656420746f2074686520706173736564206163636f756e740a20202020202020206c6574207265736f6c766572526566203d206765744163636f756e7428636f6e747261637441646472657373290a2020202020202020202020202e636f6e7472616374732e626f72726f773c267b4e6f6e46756e6769626c65546f6b656e7d3e286e616d653a20636f6e74726163744e616d65290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f20746865206e6f6e2d66756e6769626c6520746f6b656e20636f6e747261637422290a0a20202020202020202f2f205573652074686174207265666572656e636520746f20726574726965766520746865204e4654436f6c6c656374696f6e446174612076696577200a202020202020202073656c662e636f6c6c656374696f6e44617461203d207265736f6c7665725265662e7265736f6c7665436f6e747261637456696577287265736f75726365547970653a206e696c2c2076696577547970653a20547970653c4d6574616461746156696577732e4e4654436f6c6c656374696f6e446174613e28292920617321204d6574616461746156696577732e4e4654436f6c6c656374696f6e446174613f0a2020202020202020202020203f3f2070616e69632822436f756c64206e6f74207265736f6c766520746865204e4654436f6c6c656374696f6e44617461207669657720666f722074686520676976656e206e6f6e2d66756e6769626c6520746f6b656e20636f6e747261637422290a0a0a20202020202020202f2f20626f72726f772061207265666572656e636520746f20746865207369676e65722773204e465420636f6c6c656374696f6e0a20202020202020206c6574207769746864726177526566203d207369676e65722e73746f726167652e626f72726f773c61757468284e6f6e46756e6769626c65546f6b656e2e57697468647261772920267b4e6f6e46756e6769626c65546f6b656e2e436f6c6c656374696f6e7d3e280a2020202020202020202020202020202066726f6d3a2073656c662e636f6c6c656374696f6e446174612e73746f72616765506174680a20202020202020202020202029203f3f2070616e696328224163636f756e7420646f6573206e6f742073746f7265206120636f6c6c656374696f6e206f626a6563742061742074686520737065636966696564207061746822290a0a202020202020202073656c662e74656d704e4654203c2d2077697468647261775265662e776974686472617728776974686472617749443a206964290a202020207d0a0a2020202065786563757465207b0a20202020202020202f2f206765742074686520726563697069656e7473207075626c6963206163636f756e74206f626a6563740a20202020202020206c657420726563697069656e74203d206765744163636f756e7428746f290a0a20202020202020202f2f20626f72726f772061207075626c6963207265666572656e636520746f207468652072656365697665727320636f6c6c656374696f6e0a20202020202020206c6574207265636569766572436170203d20726563697069656e742e6361706162696c69746965732e6765743c267b4e6f6e46756e6769626c65546f6b656e2e52656365697665727d3e2873656c662e636f6c6c656374696f6e446174612e7075626c696350617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f74206765742074686520726563697069656e742773205265636569766572204361706162696c69747922290a0a20202020202020206c6574207265636569766572526566203d2072656365697665724361702e626f72726f7728290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f2074686520726563697069656e74277320726563656976657222290a0a20202020202020202f2f204465706f73697420746865204e465420746f207468652072656365697665720a202020202020202072656365697665725265662e6465706f73697428746f6b656e3a203c2d73656c662e74656d704e4654290a202020207d0a7df8a3af7b2274797065223a2241646472657373222c2276616c7565223a22307865343637623964643131666130306466227d9e7b2276616c7565223a223130222c2274797065223a2255496e743634227daf7b2276616c7565223a22307865343637623964643131666130306466222c2274797065223a2241646472657373227da37b2276616c7565223a22546f7053686f74222c2274797065223a22537472696e67227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", + "metadata": "02b7892b30d7a68531db8af3aa73eec7bf899bd039bc9883c4d0270e44c78cec30111142945f27d91bf3be630737805eba25d586b0c292bb3818e5d4cf4287e31c5472616e73666572204e465420776974682041646472657373000401526563697069656e740000416464726573730003014e465420494420746f205472616e73666572000155496e7436340003014e465420436f6e747261637420416464726573730002416464726573730003014e465420436f6e7472616374204e616d650003537472696e670003", + "hash": "111142945f27d91bf3be630737805eba25d586b0c292bb3818e5d4cf4287e31c" }, { - "title": "SCO.08 - Stake Unstaked Tokens - 2", + "title": "TH.01 - Withdraw Unlocked FLOW", "valid": true, "chainID": "Mainnet", "payloadMessage": { - "script": "import FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// Commits unstaked tokens to stake for the specified node or delegator in the staking collection\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n }\n\n execute {\n self.stakingCollectionRef.stakeUnstakedTokens(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", + "script": "import FungibleToken from 0xf233dcee88fe0abe\nimport FlowToken from 0x1654653399040a61\nimport LockedTokens from 0x8d0e87b65159ae63\n\ntransaction(amount: UFix64) {\n\n let holderRef: auth(LockedTokens.TokenOperations, FungibleToken.Withdraw) &LockedTokens.TokenHolder\n let vaultRef: auth(FungibleToken.Withdraw) &FlowToken.Vault\n\n prepare(acct: auth(BorrowValue) &Account) {\n self.holderRef = acct.storage.borrow(from: LockedTokens.TokenHolderStoragePath)\n ?? panic(\"The primary user account does not have an associated locked account\")\n\n self.vaultRef = acct.storage.borrow(from: /storage/flowTokenVault)\n ?? panic(\"Could not borrow flow token vault ref\")\n }\n\n execute {\n self.vaultRef.deposit(from: <-self.holderRef.withdraw(amount: amount))\n }\n}\n", "arguments": [ - { - "type": "String", - "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" - }, - { - "type": "Optional", - "value": { - "type": "UInt32", - "value": "42" - } - }, { "type": "UFix64", "value": "92233720368.54775808" @@ -6893,19 +3178,8 @@ ] }, "envelopeMessage": { - "script": "import FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// Commits unstaked tokens to stake for the specified node or delegator in the staking collection\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n }\n\n execute {\n self.stakingCollectionRef.stakeUnstakedTokens(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", + "script": "import FungibleToken from 0xf233dcee88fe0abe\nimport FlowToken from 0x1654653399040a61\nimport LockedTokens from 0x8d0e87b65159ae63\n\ntransaction(amount: UFix64) {\n\n let holderRef: auth(LockedTokens.TokenOperations, FungibleToken.Withdraw) &LockedTokens.TokenHolder\n let vaultRef: auth(FungibleToken.Withdraw) &FlowToken.Vault\n\n prepare(acct: auth(BorrowValue) &Account) {\n self.holderRef = acct.storage.borrow(from: LockedTokens.TokenHolderStoragePath)\n ?? panic(\"The primary user account does not have an associated locked account\")\n\n self.vaultRef = acct.storage.borrow(from: /storage/flowTokenVault)\n ?? panic(\"Could not borrow flow token vault ref\")\n }\n\n execute {\n self.vaultRef.deposit(from: <-self.holderRef.withdraw(amount: amount))\n }\n}\n", "arguments": [ - { - "type": "String", - "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" - }, - { - "type": "Optional", - "value": { - "type": "UInt32", - "value": "42" - } - }, { "type": "UFix64", "value": "92233720368.54775808" @@ -6924,21 +3198,21 @@ ], "payloadSigs": [] }, - "encodedTransactionPayloadHex": "f903c5b902b5696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f20436f6d6d69747320756e7374616b656420746f6b656e7320746f207374616b6520666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e7374616b65556e7374616b6564546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8cbb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db83a7b2274797065223a224f7074696f6e616c222c2276616c7565223a7b2274797065223a2255496e743332222c2276616c7565223a223432227d7db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f903c9f903c5b902b5696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f20436f6d6d69747320756e7374616b656420746f6b656e7320746f207374616b6520666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e7374616b65556e7374616b6564546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8cbb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db83a7b2274797065223a224f7074696f6e616c222c2276616c7565223a7b2274797065223a2255496e743332222c2276616c7565223a223432227d7db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "023595fcd68cff445c65ad99f8d4d726b5e28807b061800769c41cbe3adb98aeec082e690b9647182cf6969db1a0fa8e0f1728da6db01fe0d462e9f0841c268cbb5374616b6520556e7374616b656420546f6b656e730003014e6f64652049440000537472696e6700030244656c656761746f72204944000155496e743332000301416d6f756e7400025546697836340003", - "hash": "082e690b9647182cf6969db1a0fa8e0f1728da6db01fe0d462e9f0841c268cbb" + "encodedTransactionPayloadHex": "f9041fb903aa696d706f72742046756e6769626c65546f6b656e2066726f6d203078663233336463656538386665306162650a696d706f727420466c6f77546f6b656e2066726f6d203078313635343635333339393034306136310a696d706f7274204c6f636b6564546f6b656e732066726f6d203078386430653837623635313539616536330a0a7472616e73616374696f6e28616d6f756e743a2055466978363429207b0a0a202020206c657420686f6c6465725265663a2061757468284c6f636b6564546f6b656e732e546f6b656e4f7065726174696f6e732c2046756e6769626c65546f6b656e2e57697468647261772920264c6f636b6564546f6b656e732e546f6b656e486f6c6465720a202020206c6574207661756c745265663a20617574682846756e6769626c65546f6b656e2e5769746864726177292026466c6f77546f6b656e2e5661756c740a0a202020207072657061726528616363743a206175746828426f72726f7756616c75652920264163636f756e7429207b0a202020202020202073656c662e686f6c646572526566203d20616363742e73746f726167652e626f72726f773c61757468284c6f636b6564546f6b656e732e546f6b656e4f7065726174696f6e732c2046756e6769626c65546f6b656e2e57697468647261772920264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f7261676550617468290a2020202020202020202020203f3f2070616e69632822546865207072696d6172792075736572206163636f756e7420646f6573206e6f74206861766520616e206173736f636961746564206c6f636b6564206163636f756e7422290a0a202020202020202073656c662e7661756c74526566203d20616363742e73746f726167652e626f72726f773c617574682846756e6769626c65546f6b656e2e5769746864726177292026466c6f77546f6b656e2e5661756c743e2866726f6d3a202f73746f726167652f666c6f77546f6b656e5661756c74290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f7720666c6f7720746f6b656e207661756c742072656622290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7661756c745265662e6465706f7369742866726f6d3a203c2d73656c662e686f6c6465725265662e776974686472617728616d6f756e743a20616d6f756e7429290a202020207d0a7d0af1b07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", + "encodedTransactionEnvelopeHex": "f90423f9041fb903aa696d706f72742046756e6769626c65546f6b656e2066726f6d203078663233336463656538386665306162650a696d706f727420466c6f77546f6b656e2066726f6d203078313635343635333339393034306136310a696d706f7274204c6f636b6564546f6b656e732066726f6d203078386430653837623635313539616536330a0a7472616e73616374696f6e28616d6f756e743a2055466978363429207b0a0a202020206c657420686f6c6465725265663a2061757468284c6f636b6564546f6b656e732e546f6b656e4f7065726174696f6e732c2046756e6769626c65546f6b656e2e57697468647261772920264c6f636b6564546f6b656e732e546f6b656e486f6c6465720a202020206c6574207661756c745265663a20617574682846756e6769626c65546f6b656e2e5769746864726177292026466c6f77546f6b656e2e5661756c740a0a202020207072657061726528616363743a206175746828426f72726f7756616c75652920264163636f756e7429207b0a202020202020202073656c662e686f6c646572526566203d20616363742e73746f726167652e626f72726f773c61757468284c6f636b6564546f6b656e732e546f6b656e4f7065726174696f6e732c2046756e6769626c65546f6b656e2e57697468647261772920264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f7261676550617468290a2020202020202020202020203f3f2070616e69632822546865207072696d6172792075736572206163636f756e7420646f6573206e6f74206861766520616e206173736f636961746564206c6f636b6564206163636f756e7422290a0a202020202020202073656c662e7661756c74526566203d20616363742e73746f726167652e626f72726f773c617574682846756e6769626c65546f6b656e2e5769746864726177292026466c6f77546f6b656e2e5661756c743e2866726f6d3a202f73746f726167652f666c6f77546f6b656e5661756c74290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f7720666c6f7720746f6b656e207661756c742072656622290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7661756c745265662e6465706f7369742866726f6d3a203c2d73656c662e686f6c6465725265662e776974686472617728616d6f756e743a20616d6f756e7429290a202020207d0a7d0af1b07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", + "metadata": "02094798e93daeacaa9ff262486a3683ec5a5e2204407e7d00bc3416fbf3efa3b14a830e6f93f74179a99e17c7ae762980c7fdc428bc949767529be2f071ac52b9576974686472617720556e6c6f636b656420464c4f57000101416d6f756e7400005546697836340003", + "hash": "4a830e6f93f74179a99e17c7ae762980c7fdc428bc949767529be2f071ac52b9" }, { - "title": "SCO.09 - Unstake All", + "title": "TH.02 - Deposit Unlocked FLOW", "valid": true, "chainID": "Mainnet", "payloadMessage": { - "script": "import FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// Requests to unstake ALL tokens for the specified node or delegator in the staking collection\n\ntransaction(nodeID: String) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n }\n\n execute {\n self.stakingCollectionRef.unstakeAll(nodeID: nodeID)\n }\n}\n", + "script": "import FungibleToken from 0xf233dcee88fe0abe\nimport FlowToken from 0x1654653399040a61\nimport LockedTokens from 0x8d0e87b65159ae63\n\ntransaction(amount: UFix64) {\n\n let holderRef: &LockedTokens.TokenHolder\n let vaultRef: auth(FungibleToken.Withdraw) &FlowToken.Vault\n\n prepare(acct: auth(BorrowValue) &Account) {\n self.holderRef = acct.storage.borrow<&LockedTokens.TokenHolder>(from: LockedTokens.TokenHolderStoragePath)\n ?? panic(\"The primary user account does not have an associated locked account\")\n\n self.vaultRef = acct.storage.borrow(from: /storage/flowTokenVault)\n ?? panic(\"Could not borrow flow token vault ref\")\n }\n\n execute {\n self.holderRef.deposit(from: <-self.vaultRef.withdraw(amount: amount))\n }\n}\n", "arguments": [ { - "type": "String", - "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" + "type": "UFix64", + "value": "92233720368.54775808" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -6961,11 +3235,11 @@ ] }, "envelopeMessage": { - "script": "import FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// Requests to unstake ALL tokens for the specified node or delegator in the staking collection\n\ntransaction(nodeID: String) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n }\n\n execute {\n self.stakingCollectionRef.unstakeAll(nodeID: nodeID)\n }\n}\n", + "script": "import FungibleToken from 0xf233dcee88fe0abe\nimport FlowToken from 0x1654653399040a61\nimport LockedTokens from 0x8d0e87b65159ae63\n\ntransaction(amount: UFix64) {\n\n let holderRef: &LockedTokens.TokenHolder\n let vaultRef: auth(FungibleToken.Withdraw) &FlowToken.Vault\n\n prepare(acct: auth(BorrowValue) &Account) {\n self.holderRef = acct.storage.borrow<&LockedTokens.TokenHolder>(from: LockedTokens.TokenHolderStoragePath)\n ?? panic(\"The primary user account does not have an associated locked account\")\n\n self.vaultRef = acct.storage.borrow(from: /storage/flowTokenVault)\n ?? panic(\"Could not borrow flow token vault ref\")\n }\n\n execute {\n self.holderRef.deposit(from: <-self.vaultRef.withdraw(amount: amount))\n }\n}\n", "arguments": [ { - "type": "String", - "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" + "type": "UFix64", + "value": "92233720368.54775808" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -6981,34 +3255,18 @@ ], "payloadSigs": [] }, - "encodedTransactionPayloadHex": "f902fdb9025a696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f20526571756573747320746f20756e7374616b6520414c4c20746f6b656e7320666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a0a7472616e73616374696f6e286e6f646549443a20537472696e6729207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e756e7374616b65416c6c286e6f646549443a206e6f64654944290a202020207d0a7d0af85eb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f90301f902fdb9025a696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f20526571756573747320746f20756e7374616b6520414c4c20746f6b656e7320666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a0a7472616e73616374696f6e286e6f646549443a20537472696e6729207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e756e7374616b65416c6c286e6f646549443a206e6f64654944290a202020207d0a7d0af85eb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "020bde358f3965ba2f4c18fb45b6536857c3f53d7d3b740fe66fe93a4ebf7524c1df9c6486baa6f8f685368ea216659239cb81fa8ebd9062a9723edb54ca0d7525556e7374616b6520416c6c0001014e6f64652049440000537472696e670003", - "hash": "df9c6486baa6f8f685368ea216659239cb81fa8ebd9062a9723edb54ca0d7525" + "encodedTransactionPayloadHex": "f903a9b90334696d706f72742046756e6769626c65546f6b656e2066726f6d203078663233336463656538386665306162650a696d706f727420466c6f77546f6b656e2066726f6d203078313635343635333339393034306136310a696d706f7274204c6f636b6564546f6b656e732066726f6d203078386430653837623635313539616536330a0a7472616e73616374696f6e28616d6f756e743a2055466978363429207b0a0a202020206c657420686f6c6465725265663a20264c6f636b6564546f6b656e732e546f6b656e486f6c6465720a202020206c6574207661756c745265663a20617574682846756e6769626c65546f6b656e2e5769746864726177292026466c6f77546f6b656e2e5661756c740a0a202020207072657061726528616363743a206175746828426f72726f7756616c75652920264163636f756e7429207b0a202020202020202073656c662e686f6c646572526566203d20616363742e73746f726167652e626f72726f773c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f7261676550617468290a2020202020202020202020203f3f2070616e69632822546865207072696d6172792075736572206163636f756e7420646f6573206e6f74206861766520616e206173736f636961746564206c6f636b6564206163636f756e7422290a0a202020202020202073656c662e7661756c74526566203d20616363742e73746f726167652e626f72726f773c617574682846756e6769626c65546f6b656e2e5769746864726177292026466c6f77546f6b656e2e5661756c743e2866726f6d3a202f73746f726167652f666c6f77546f6b656e5661756c74290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f7720666c6f7720746f6b656e207661756c742072656622290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e686f6c6465725265662e6465706f7369742866726f6d3a203c2d73656c662e7661756c745265662e776974686472617728616d6f756e743a20616d6f756e7429290a202020207d0a7d0af1b07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", + "encodedTransactionEnvelopeHex": "f903adf903a9b90334696d706f72742046756e6769626c65546f6b656e2066726f6d203078663233336463656538386665306162650a696d706f727420466c6f77546f6b656e2066726f6d203078313635343635333339393034306136310a696d706f7274204c6f636b6564546f6b656e732066726f6d203078386430653837623635313539616536330a0a7472616e73616374696f6e28616d6f756e743a2055466978363429207b0a0a202020206c657420686f6c6465725265663a20264c6f636b6564546f6b656e732e546f6b656e486f6c6465720a202020206c6574207661756c745265663a20617574682846756e6769626c65546f6b656e2e5769746864726177292026466c6f77546f6b656e2e5661756c740a0a202020207072657061726528616363743a206175746828426f72726f7756616c75652920264163636f756e7429207b0a202020202020202073656c662e686f6c646572526566203d20616363742e73746f726167652e626f72726f773c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f7261676550617468290a2020202020202020202020203f3f2070616e69632822546865207072696d6172792075736572206163636f756e7420646f6573206e6f74206861766520616e206173736f636961746564206c6f636b6564206163636f756e7422290a0a202020202020202073656c662e7661756c74526566203d20616363742e73746f726167652e626f72726f773c617574682846756e6769626c65546f6b656e2e5769746864726177292026466c6f77546f6b656e2e5661756c743e2866726f6d3a202f73746f726167652f666c6f77546f6b656e5661756c74290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f7720666c6f7720746f6b656e207661756c742072656622290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e686f6c6465725265662e6465706f7369742866726f6d3a203c2d73656c662e7661756c745265662e776974686472617728616d6f756e743a20616d6f756e7429290a202020207d0a7d0af1b07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", + "metadata": "0217ffcd60667893674d8d4044bdd8232959dc8b694df1dd88d1b9c5443352f253038382a947fa96bf2f4dfe5aa9b4b2abee1ef0975955175e80cf911c3edf4b614465706f73697420556e6c6f636b656420464c4f57000101416d6f756e7400005546697836340003", + "hash": "038382a947fa96bf2f4dfe5aa9b4b2abee1ef0975955175e80cf911c3edf4b61" }, { - "title": "SCO.10 - Withdraw Rewarded Tokens - 1", + "title": "SCO.01 - Setup Staking Collection", "valid": true, "chainID": "Mainnet", "payloadMessage": { - "script": "import FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// Request to withdraw rewarded tokens for the specified node or delegator in the staking collection\n/// The tokens are automatically deposited to the unlocked account vault first,\n/// And then any locked tokens are deposited into the locked account vault\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n }\n\n execute {\n self.stakingCollectionRef.withdrawRewardedTokens(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", - "arguments": [ - { - "type": "String", - "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" - }, - { - "type": "Optional", - "value": { - "type": "UInt32", - "value": "42" - } - }, - { - "type": "UFix64", - "value": "92233720368.54775808" - } - ], + "script": "import FungibleToken from 0xf233dcee88fe0abe\nimport FlowToken from 0x1654653399040a61\nimport FlowIDTableStaking from 0x8624b52f9ddcd04a\nimport LockedTokens from 0x8d0e87b65159ae63\nimport FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// This transaction sets up an account to use a staking collection\n/// It will work regardless of whether they have a regular account, a two-account locked tokens setup,\n/// or staking objects stored in the unlocked account\n\ntransaction {\n prepare(signer: auth(BorrowValue, Storage, Capabilities) &Account) {\n\n // If there isn't already a staking collection\n if signer.storage.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath) == nil {\n\n // Create private capabilities for the token holder and unlocked vault\n let lockedHolder = signer.capabilities.storage.issue(LockedTokens.TokenHolderStoragePath)!\n let flowToken = signer.capabilities.storage.issue(/storage/flowTokenVault)!\n\n // Create a new Staking Collection and put it in storage\n if lockedHolder.check() {\n signer.storage.save(\n <- FlowStakingCollection.createStakingCollection(\n unlockedVault: flowToken,\n tokenHolder: lockedHolder\n ),\n to: FlowStakingCollection.StakingCollectionStoragePath\n )\n } else {\n signer.storage.save(\n <- FlowStakingCollection.createStakingCollection(\n unlockedVault: flowToken,\n tokenHolder: nil\n ),\n to: FlowStakingCollection.StakingCollectionStoragePath\n )\n }\n\n // Publish a capability to the created staking collection.\n let stakingCollectionCap = signer.capabilities.storage.issue<&FlowStakingCollection.StakingCollection>(\n FlowStakingCollection.StakingCollectionStoragePath\n )\n\n signer.capabilities.publish(\n stakingCollectionCap,\n at: FlowStakingCollection.StakingCollectionPublicPath\n )\n }\n\n // borrow a reference to the staking collection\n let collectionRef = signer.storage.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow staking collection reference\")\n\n // If there is a node staker object in the account, put it in the staking collection\n if signer.storage.borrow<&FlowIDTableStaking.NodeStaker>(from: FlowIDTableStaking.NodeStakerStoragePath) != nil {\n let node <- signer.storage.load<@FlowIDTableStaking.NodeStaker>(from: FlowIDTableStaking.NodeStakerStoragePath)!\n collectionRef.addNodeObject(<-node, machineAccountInfo: nil)\n }\n\n // If there is a delegator object in the account, put it in the staking collection\n if signer.storage.borrow<&FlowIDTableStaking.NodeDelegator>(from: FlowIDTableStaking.DelegatorStoragePath) != nil {\n let delegator <- signer.storage.load<@FlowIDTableStaking.NodeDelegator>(from: FlowIDTableStaking.DelegatorStoragePath)!\n collectionRef.addDelegatorObject(<-delegator)\n }\n }\n}\n", + "arguments": [], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", "gasLimit": 42, "proposalKey": { @@ -7029,24 +3287,8 @@ ] }, "envelopeMessage": { - "script": "import FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// Request to withdraw rewarded tokens for the specified node or delegator in the staking collection\n/// The tokens are automatically deposited to the unlocked account vault first,\n/// And then any locked tokens are deposited into the locked account vault\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n }\n\n execute {\n self.stakingCollectionRef.withdrawRewardedTokens(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", - "arguments": [ - { - "type": "String", - "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" - }, - { - "type": "Optional", - "value": { - "type": "UInt32", - "value": "42" - } - }, - { - "type": "UFix64", - "value": "92233720368.54775808" - } - ], + "script": "import FungibleToken from 0xf233dcee88fe0abe\nimport FlowToken from 0x1654653399040a61\nimport FlowIDTableStaking from 0x8624b52f9ddcd04a\nimport LockedTokens from 0x8d0e87b65159ae63\nimport FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// This transaction sets up an account to use a staking collection\n/// It will work regardless of whether they have a regular account, a two-account locked tokens setup,\n/// or staking objects stored in the unlocked account\n\ntransaction {\n prepare(signer: auth(BorrowValue, Storage, Capabilities) &Account) {\n\n // If there isn't already a staking collection\n if signer.storage.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath) == nil {\n\n // Create private capabilities for the token holder and unlocked vault\n let lockedHolder = signer.capabilities.storage.issue(LockedTokens.TokenHolderStoragePath)!\n let flowToken = signer.capabilities.storage.issue(/storage/flowTokenVault)!\n\n // Create a new Staking Collection and put it in storage\n if lockedHolder.check() {\n signer.storage.save(\n <- FlowStakingCollection.createStakingCollection(\n unlockedVault: flowToken,\n tokenHolder: lockedHolder\n ),\n to: FlowStakingCollection.StakingCollectionStoragePath\n )\n } else {\n signer.storage.save(\n <- FlowStakingCollection.createStakingCollection(\n unlockedVault: flowToken,\n tokenHolder: nil\n ),\n to: FlowStakingCollection.StakingCollectionStoragePath\n )\n }\n\n // Publish a capability to the created staking collection.\n let stakingCollectionCap = signer.capabilities.storage.issue<&FlowStakingCollection.StakingCollection>(\n FlowStakingCollection.StakingCollectionStoragePath\n )\n\n signer.capabilities.publish(\n stakingCollectionCap,\n at: FlowStakingCollection.StakingCollectionPublicPath\n )\n }\n\n // borrow a reference to the staking collection\n let collectionRef = signer.storage.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow staking collection reference\")\n\n // If there is a node staker object in the account, put it in the staking collection\n if signer.storage.borrow<&FlowIDTableStaking.NodeStaker>(from: FlowIDTableStaking.NodeStakerStoragePath) != nil {\n let node <- signer.storage.load<@FlowIDTableStaking.NodeStaker>(from: FlowIDTableStaking.NodeStakerStoragePath)!\n collectionRef.addNodeObject(<-node, machineAccountInfo: nil)\n }\n\n // If there is a delegator object in the account, put it in the staking collection\n if signer.storage.borrow<&FlowIDTableStaking.NodeDelegator>(from: FlowIDTableStaking.DelegatorStoragePath) != nil {\n let delegator <- signer.storage.load<@FlowIDTableStaking.NodeDelegator>(from: FlowIDTableStaking.DelegatorStoragePath)!\n collectionRef.addDelegatorObject(<-delegator)\n }\n }\n}\n", + "arguments": [], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", "gasLimit": 42, "proposalKey": { @@ -7060,29 +3302,25 @@ ], "payloadSigs": [] }, - "encodedTransactionPayloadHex": "f90466b90356696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f205265717565737420746f20776974686472617720726577617264656420746f6b656e7320666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f2054686520746f6b656e7320617265206175746f6d61746963616c6c79206465706f736974656420746f2074686520756e6c6f636b6564206163636f756e74207661756c742066697273742c0a2f2f2f20416e64207468656e20616e79206c6f636b656420746f6b656e7320617265206465706f736974656420696e746f20746865206c6f636b6564206163636f756e74207661756c740a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e77697468647261775265776172646564546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8cbb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db83a7b2274797065223a224f7074696f6e616c222c2276616c7565223a7b2274797065223a2255496e743332222c2276616c7565223a223432227d7db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f9046af90466b90356696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f205265717565737420746f20776974686472617720726577617264656420746f6b656e7320666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f2054686520746f6b656e7320617265206175746f6d61746963616c6c79206465706f736974656420746f2074686520756e6c6f636b6564206163636f756e74207661756c742066697273742c0a2f2f2f20416e64207468656e20616e79206c6f636b656420746f6b656e7320617265206465706f736974656420696e746f20746865206c6f636b6564206163636f756e74207661756c740a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e77697468647261775265776172646564546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8cbb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db83a7b2274797065223a224f7074696f6e616c222c2276616c7565223a7b2274797065223a2255496e743332222c2276616c7565223a223432227d7db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "023af182f568b37a8067d3fb524afcfe96991c85a928bf7651e730be0e15fdb72d27a2b60d538b8bb883b602ea83d1697986a29dd69a44a9209dc75affb9e63299576974686472617720526577617264656420546f6b656e730003014e6f64652049440000537472696e6700030244656c656761746f72204944000155496e743332000301416d6f756e7400025546697836340003", - "hash": "27a2b60d538b8bb883b602ea83d1697986a29dd69a44a9209dc75affb9e63299" + "encodedTransactionPayloadHex": "f90df1b90dad696d706f72742046756e6769626c65546f6b656e2066726f6d203078663233336463656538386665306162650a696d706f727420466c6f77546f6b656e2066726f6d203078313635343635333339393034306136310a696d706f727420466c6f7749445461626c655374616b696e672066726f6d203078383632346235326639646463643034610a696d706f7274204c6f636b6564546f6b656e732066726f6d203078386430653837623635313539616536330a696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f2054686973207472616e73616374696f6e207365747320757020616e206163636f756e7420746f207573652061207374616b696e6720636f6c6c656374696f6e0a2f2f2f2049742077696c6c20776f726b207265676172646c657373206f66207768657468657220746865792068617665206120726567756c6172206163636f756e742c20612074776f2d6163636f756e74206c6f636b656420746f6b656e732073657475702c0a2f2f2f206f72207374616b696e67206f626a656374732073746f72656420696e2074686520756e6c6f636b6564206163636f756e740a0a7472616e73616374696f6e207b0a2020202070726570617265287369676e65723a206175746828426f72726f7756616c75652c2053746f726167652c204361706162696c69746965732920264163636f756e7429207b0a0a20202020202020202f2f2049662074686572652069736e277420616c72656164792061207374616b696e6720636f6c6c656374696f6e0a20202020202020206966207369676e65722e73746f726167652e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f726167655061746829203d3d206e696c207b0a0a2020202020202020202020202f2f204372656174652070726976617465206361706162696c697469657320666f722074686520746f6b656e20686f6c64657220616e6420756e6c6f636b6564207661756c740a2020202020202020202020206c6574206c6f636b6564486f6c646572203d207369676e65722e6361706162696c69746965732e73746f726167652e69737375653c617574682846756e6769626c65546f6b656e2e57697468647261772c204c6f636b6564546f6b656e732e546f6b656e4f7065726174696f6e732920264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e284c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f726167655061746829210a2020202020202020202020206c657420666c6f77546f6b656e203d207369676e65722e6361706162696c69746965732e73746f726167652e69737375653c617574682846756e6769626c65546f6b656e2e5769746864726177292026466c6f77546f6b656e2e5661756c743e282f73746f726167652f666c6f77546f6b656e5661756c7429210a0a2020202020202020202020202f2f204372656174652061206e6577205374616b696e6720436f6c6c656374696f6e20616e642070757420697420696e2073746f726167650a2020202020202020202020206966206c6f636b6564486f6c6465722e636865636b2829207b0a202020202020202020202020202020207369676e65722e73746f726167652e73617665280a20202020202020202020202020202020202020203c2d20466c6f775374616b696e67436f6c6c656374696f6e2e6372656174655374616b696e67436f6c6c656374696f6e280a202020202020202020202020202020202020202020202020756e6c6f636b65645661756c743a20666c6f77546f6b656e2c0a202020202020202020202020202020202020202020202020746f6b656e486f6c6465723a206c6f636b6564486f6c6465720a2020202020202020202020202020202020202020292c0a2020202020202020202020202020202020202020746f3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f72616765506174680a20202020202020202020202020202020290a2020202020202020202020207d20656c7365207b0a202020202020202020202020202020207369676e65722e73746f726167652e73617665280a20202020202020202020202020202020202020203c2d20466c6f775374616b696e67436f6c6c656374696f6e2e6372656174655374616b696e67436f6c6c656374696f6e280a202020202020202020202020202020202020202020202020756e6c6f636b65645661756c743a20666c6f77546f6b656e2c0a202020202020202020202020202020202020202020202020746f6b656e486f6c6465723a206e696c0a2020202020202020202020202020202020202020292c0a2020202020202020202020202020202020202020746f3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f72616765506174680a20202020202020202020202020202020290a2020202020202020202020207d0a0a2020202020202020202020202f2f205075626c6973682061206361706162696c69747920746f207468652063726561746564207374616b696e6720636f6c6c656374696f6e2e0a2020202020202020202020206c6574207374616b696e67436f6c6c656374696f6e436170203d207369676e65722e6361706162696c69746965732e73746f726167652e69737375653c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e280a20202020202020202020202020202020466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f72616765506174680a202020202020202020202020290a0a2020202020202020202020207369676e65722e6361706162696c69746965732e7075626c697368280a202020202020202020202020202020207374616b696e67436f6c6c656374696f6e4361702c0a2020202020202020202020202020202061743a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e5075626c6963506174680a202020202020202020202020290a20202020202020207d0a0a20202020202020202f2f20626f72726f772061207265666572656e636520746f20746865207374616b696e6720636f6c6c656374696f6e0a20202020202020206c657420636f6c6c656374696f6e526566203d207369676e65722e73746f726167652e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207374616b696e6720636f6c6c656374696f6e207265666572656e636522290a0a20202020202020202f2f2049662074686572652069732061206e6f6465207374616b6572206f626a65637420696e20746865206163636f756e742c2070757420697420696e20746865207374616b696e6720636f6c6c656374696f6e0a20202020202020206966207369676e65722e73746f726167652e626f72726f773c26466c6f7749445461626c655374616b696e672e4e6f64655374616b65723e2866726f6d3a20466c6f7749445461626c655374616b696e672e4e6f64655374616b657253746f72616765506174682920213d206e696c207b0a2020202020202020202020206c6574206e6f6465203c2d207369676e65722e73746f726167652e6c6f61643c40466c6f7749445461626c655374616b696e672e4e6f64655374616b65723e2866726f6d3a20466c6f7749445461626c655374616b696e672e4e6f64655374616b657253746f726167655061746829210a202020202020202020202020636f6c6c656374696f6e5265662e6164644e6f64654f626a656374283c2d6e6f64652c206d616368696e654163636f756e74496e666f3a206e696c290a20202020202020207d0a0a20202020202020202f2f20496620746865726520697320612064656c656761746f72206f626a65637420696e20746865206163636f756e742c2070757420697420696e20746865207374616b696e6720636f6c6c656374696f6e0a20202020202020206966207369676e65722e73746f726167652e626f72726f773c26466c6f7749445461626c655374616b696e672e4e6f646544656c656761746f723e2866726f6d3a20466c6f7749445461626c655374616b696e672e44656c656761746f7253746f72616765506174682920213d206e696c207b0a2020202020202020202020206c65742064656c656761746f72203c2d207369676e65722e73746f726167652e6c6f61643c40466c6f7749445461626c655374616b696e672e4e6f646544656c656761746f723e2866726f6d3a20466c6f7749445461626c655374616b696e672e44656c656761746f7253746f726167655061746829210a202020202020202020202020636f6c6c656374696f6e5265662e61646444656c656761746f724f626a656374283c2d64656c656761746f72290a20202020202020207d0a202020207d0a7d0ac0a0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", + "encodedTransactionEnvelopeHex": "f90df5f90df1b90dad696d706f72742046756e6769626c65546f6b656e2066726f6d203078663233336463656538386665306162650a696d706f727420466c6f77546f6b656e2066726f6d203078313635343635333339393034306136310a696d706f727420466c6f7749445461626c655374616b696e672066726f6d203078383632346235326639646463643034610a696d706f7274204c6f636b6564546f6b656e732066726f6d203078386430653837623635313539616536330a696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f2054686973207472616e73616374696f6e207365747320757020616e206163636f756e7420746f207573652061207374616b696e6720636f6c6c656374696f6e0a2f2f2f2049742077696c6c20776f726b207265676172646c657373206f66207768657468657220746865792068617665206120726567756c6172206163636f756e742c20612074776f2d6163636f756e74206c6f636b656420746f6b656e732073657475702c0a2f2f2f206f72207374616b696e67206f626a656374732073746f72656420696e2074686520756e6c6f636b6564206163636f756e740a0a7472616e73616374696f6e207b0a2020202070726570617265287369676e65723a206175746828426f72726f7756616c75652c2053746f726167652c204361706162696c69746965732920264163636f756e7429207b0a0a20202020202020202f2f2049662074686572652069736e277420616c72656164792061207374616b696e6720636f6c6c656374696f6e0a20202020202020206966207369676e65722e73746f726167652e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f726167655061746829203d3d206e696c207b0a0a2020202020202020202020202f2f204372656174652070726976617465206361706162696c697469657320666f722074686520746f6b656e20686f6c64657220616e6420756e6c6f636b6564207661756c740a2020202020202020202020206c6574206c6f636b6564486f6c646572203d207369676e65722e6361706162696c69746965732e73746f726167652e69737375653c617574682846756e6769626c65546f6b656e2e57697468647261772c204c6f636b6564546f6b656e732e546f6b656e4f7065726174696f6e732920264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e284c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f726167655061746829210a2020202020202020202020206c657420666c6f77546f6b656e203d207369676e65722e6361706162696c69746965732e73746f726167652e69737375653c617574682846756e6769626c65546f6b656e2e5769746864726177292026466c6f77546f6b656e2e5661756c743e282f73746f726167652f666c6f77546f6b656e5661756c7429210a0a2020202020202020202020202f2f204372656174652061206e6577205374616b696e6720436f6c6c656374696f6e20616e642070757420697420696e2073746f726167650a2020202020202020202020206966206c6f636b6564486f6c6465722e636865636b2829207b0a202020202020202020202020202020207369676e65722e73746f726167652e73617665280a20202020202020202020202020202020202020203c2d20466c6f775374616b696e67436f6c6c656374696f6e2e6372656174655374616b696e67436f6c6c656374696f6e280a202020202020202020202020202020202020202020202020756e6c6f636b65645661756c743a20666c6f77546f6b656e2c0a202020202020202020202020202020202020202020202020746f6b656e486f6c6465723a206c6f636b6564486f6c6465720a2020202020202020202020202020202020202020292c0a2020202020202020202020202020202020202020746f3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f72616765506174680a20202020202020202020202020202020290a2020202020202020202020207d20656c7365207b0a202020202020202020202020202020207369676e65722e73746f726167652e73617665280a20202020202020202020202020202020202020203c2d20466c6f775374616b696e67436f6c6c656374696f6e2e6372656174655374616b696e67436f6c6c656374696f6e280a202020202020202020202020202020202020202020202020756e6c6f636b65645661756c743a20666c6f77546f6b656e2c0a202020202020202020202020202020202020202020202020746f6b656e486f6c6465723a206e696c0a2020202020202020202020202020202020202020292c0a2020202020202020202020202020202020202020746f3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f72616765506174680a20202020202020202020202020202020290a2020202020202020202020207d0a0a2020202020202020202020202f2f205075626c6973682061206361706162696c69747920746f207468652063726561746564207374616b696e6720636f6c6c656374696f6e2e0a2020202020202020202020206c6574207374616b696e67436f6c6c656374696f6e436170203d207369676e65722e6361706162696c69746965732e73746f726167652e69737375653c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e280a20202020202020202020202020202020466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f72616765506174680a202020202020202020202020290a0a2020202020202020202020207369676e65722e6361706162696c69746965732e7075626c697368280a202020202020202020202020202020207374616b696e67436f6c6c656374696f6e4361702c0a2020202020202020202020202020202061743a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e5075626c6963506174680a202020202020202020202020290a20202020202020207d0a0a20202020202020202f2f20626f72726f772061207265666572656e636520746f20746865207374616b696e6720636f6c6c656374696f6e0a20202020202020206c657420636f6c6c656374696f6e526566203d207369676e65722e73746f726167652e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207374616b696e6720636f6c6c656374696f6e207265666572656e636522290a0a20202020202020202f2f2049662074686572652069732061206e6f6465207374616b6572206f626a65637420696e20746865206163636f756e742c2070757420697420696e20746865207374616b696e6720636f6c6c656374696f6e0a20202020202020206966207369676e65722e73746f726167652e626f72726f773c26466c6f7749445461626c655374616b696e672e4e6f64655374616b65723e2866726f6d3a20466c6f7749445461626c655374616b696e672e4e6f64655374616b657253746f72616765506174682920213d206e696c207b0a2020202020202020202020206c6574206e6f6465203c2d207369676e65722e73746f726167652e6c6f61643c40466c6f7749445461626c655374616b696e672e4e6f64655374616b65723e2866726f6d3a20466c6f7749445461626c655374616b696e672e4e6f64655374616b657253746f726167655061746829210a202020202020202020202020636f6c6c656374696f6e5265662e6164644e6f64654f626a656374283c2d6e6f64652c206d616368696e654163636f756e74496e666f3a206e696c290a20202020202020207d0a0a20202020202020202f2f20496620746865726520697320612064656c656761746f72206f626a65637420696e20746865206163636f756e742c2070757420697420696e20746865207374616b696e6720636f6c6c656374696f6e0a20202020202020206966207369676e65722e73746f726167652e626f72726f773c26466c6f7749445461626c655374616b696e672e4e6f646544656c656761746f723e2866726f6d3a20466c6f7749445461626c655374616b696e672e44656c656761746f7253746f72616765506174682920213d206e696c207b0a2020202020202020202020206c65742064656c656761746f72203c2d207369676e65722e73746f726167652e6c6f61643c40466c6f7749445461626c655374616b696e672e4e6f646544656c656761746f723e2866726f6d3a20466c6f7749445461626c655374616b696e672e44656c656761746f7253746f726167655061746829210a202020202020202020202020636f6c6c656374696f6e5265662e61646444656c656761746f724f626a656374283c2d64656c656761746f72290a20202020202020207d0a202020207d0a7d0ac0a0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", + "metadata": "02861784e7ac135a9cfec90decdff2e53971a4d63135db77bcef3b273b710b181469f30decc15bd78107c631e200963398e8ddbc58bb61e577d223725f348fc2d95365747570205374616b696e6720436f6c6c656374696f6e0000", + "hash": "69f30decc15bd78107c631e200963398e8ddbc58bb61e577d223725f348fc2d9" }, { - "title": "SCO.10 - Withdraw Rewarded Tokens - 2", + "title": "SCO.02 - Register Delegator", "valid": true, "chainID": "Mainnet", "payloadMessage": { - "script": "import FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// Request to withdraw rewarded tokens for the specified node or delegator in the staking collection\n/// The tokens are automatically deposited to the unlocked account vault first,\n/// And then any locked tokens are deposited into the locked account vault\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n }\n\n execute {\n self.stakingCollectionRef.withdrawRewardedTokens(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", + "script": "import FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// Registers a delegator in the staking collection resource\n/// for the specified nodeID and the amount of tokens to commit\n\ntransaction(id: String, amount: UFix64) {\n \n let stakingCollectionRef: auth(FlowStakingCollection.CollectionOwner) &FlowStakingCollection.StakingCollection\n\n prepare(account: auth(BorrowValue) &Account) {\n self.stakingCollectionRef = account.storage.borrow(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow a reference to a StakingCollection in the primary user's account\")\n }\n\n execute {\n self.stakingCollectionRef.registerDelegator(nodeID: id, amount: amount) \n }\n}\n", "arguments": [ { "type": "String", "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" }, { - "type": "Optional", - "value": null - }, - { - "type": "UFix64", - "value": "92233720368.54775808" + "value": "92233720368.54775808", + "type": "UFix64" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -7105,19 +3343,15 @@ ] }, "envelopeMessage": { - "script": "import FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// Request to withdraw rewarded tokens for the specified node or delegator in the staking collection\n/// The tokens are automatically deposited to the unlocked account vault first,\n/// And then any locked tokens are deposited into the locked account vault\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n }\n\n execute {\n self.stakingCollectionRef.withdrawRewardedTokens(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", + "script": "import FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// Registers a delegator in the staking collection resource\n/// for the specified nodeID and the amount of tokens to commit\n\ntransaction(id: String, amount: UFix64) {\n \n let stakingCollectionRef: auth(FlowStakingCollection.CollectionOwner) &FlowStakingCollection.StakingCollection\n\n prepare(account: auth(BorrowValue) &Account) {\n self.stakingCollectionRef = account.storage.borrow(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow a reference to a StakingCollection in the primary user's account\")\n }\n\n execute {\n self.stakingCollectionRef.registerDelegator(nodeID: id, amount: amount) \n }\n}\n", "arguments": [ { "type": "String", "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" }, { - "type": "Optional", - "value": null - }, - { - "type": "UFix64", - "value": "92233720368.54775808" + "value": "92233720368.54775808", + "type": "UFix64" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -7133,29 +3367,53 @@ ], "payloadSigs": [] }, - "encodedTransactionPayloadHex": "f9044bb90356696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f205265717565737420746f20776974686472617720726577617264656420746f6b656e7320666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f2054686520746f6b656e7320617265206175746f6d61746963616c6c79206465706f736974656420746f2074686520756e6c6f636b6564206163636f756e74207661756c742066697273742c0a2f2f2f20416e64207468656e20616e79206c6f636b656420746f6b656e7320617265206465706f736974656420696e746f20746865206c6f636b6564206163636f756e74207661756c740a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e77697468647261775265776172646564546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8b0b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227da07b2274797065223a224f7074696f6e616c222c2276616c7565223a6e756c6c7db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f9044ff9044bb90356696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f205265717565737420746f20776974686472617720726577617264656420746f6b656e7320666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f2054686520746f6b656e7320617265206175746f6d61746963616c6c79206465706f736974656420746f2074686520756e6c6f636b6564206163636f756e74207661756c742066697273742c0a2f2f2f20416e64207468656e20616e79206c6f636b656420746f6b656e7320617265206465706f736974656420696e746f20746865206c6f636b6564206163636f756e74207661756c740a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e77697468647261775265776172646564546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8b0b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227da07b2274797065223a224f7074696f6e616c222c2276616c7565223a6e756c6c7db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "023af182f568b37a8067d3fb524afcfe96991c85a928bf7651e730be0e15fdb72d27a2b60d538b8bb883b602ea83d1697986a29dd69a44a9209dc75affb9e63299576974686472617720526577617264656420546f6b656e730003014e6f64652049440000537472696e6700030244656c656761746f72204944000155496e743332000301416d6f756e7400025546697836340003", - "hash": "27a2b60d538b8bb883b602ea83d1697986a29dd69a44a9209dc75affb9e63299" + "encodedTransactionPayloadHex": "f90406b90332696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f2052656769737465727320612064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e207265736f757263650a2f2f2f20666f722074686520737065636966696564206e6f6465494420616e642074686520616d6f756e74206f6620746f6b656e7320746f20636f6d6d69740a0a7472616e73616374696f6e2869643a20537472696e672c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a206175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a206175746828426f72726f7756616c75652920264163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e73746f726167652e626f72726f773c6175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f2061205374616b696e67436f6c6c656374696f6e20696e20746865207072696d61727920757365722773206163636f756e7422290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e726567697374657244656c656761746f72286e6f646549443a2069642c20616d6f756e743a20616d6f756e74292020202020200a202020207d0a7d0af88fb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db07b2276616c7565223a2239323233333732303336382e3534373735383038222c2274797065223a22554669783634227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", + "encodedTransactionEnvelopeHex": "f9040af90406b90332696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f2052656769737465727320612064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e207265736f757263650a2f2f2f20666f722074686520737065636966696564206e6f6465494420616e642074686520616d6f756e74206f6620746f6b656e7320746f20636f6d6d69740a0a7472616e73616374696f6e2869643a20537472696e672c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a206175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a206175746828426f72726f7756616c75652920264163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e73746f726167652e626f72726f773c6175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f2061205374616b696e67436f6c6c656374696f6e20696e20746865207072696d61727920757365722773206163636f756e7422290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e726567697374657244656c656761746f72286e6f646549443a2069642c20616d6f756e743a20616d6f756e74292020202020200a202020207d0a7d0af88fb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db07b2276616c7565223a2239323233333732303336382e3534373735383038222c2274797065223a22554669783634227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", + "metadata": "02e093df9c425be9cdbee44bdbbd721f6aff523e41802a50cf0ff353873e9f94830a41e53ad3c9c1c16c8732dd8331b8ca66063617d433b01d4d09c4730044874452656769737465722044656c656761746f720002014e6f64652049440000537472696e67000301416d6f756e7400015546697836340003", + "hash": "0a41e53ad3c9c1c16c8732dd8331b8ca66063617d433b01d4d09c47300448744" }, { - "title": "SCO.11 - Withdraw Unstaked Tokens - 1", + "title": "SCO.03 - Register Node", "valid": true, "chainID": "Mainnet", "payloadMessage": { - "script": "import FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// Request to withdraw unstaked tokens for the specified node or delegator in the staking collection\n/// The tokens are automatically deposited to the unlocked account vault first,\n/// And then any locked tokens are deposited into the locked account vault if it is there\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n }\n\n execute {\n self.stakingCollectionRef.withdrawUnstakedTokens(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", + "script": "import Crypto\nimport FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// Registers a delegator in the staking collection resource\n/// for the specified node information and the amount of tokens to commit\n\ntransaction(id: String,\n role: UInt8,\n networkingAddress: String,\n networkingKey: String,\n stakingKey: String,\n amount: UFix64,\n machineAccountKey: String, \n machineAccountKeySignatureAlgorithm: UInt8, \n machineAccountKeyHashAlgorithm: UInt8) {\n\n let stakingCollectionRef: auth(FlowStakingCollection.CollectionOwner) &FlowStakingCollection.StakingCollection\n\n prepare(account: auth(BorrowValue) &Account) {\n self.stakingCollectionRef = account.storage.borrow(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow a reference to a StakingCollection in the primary user's account\")\n\n if let machineAccount = self.stakingCollectionRef.registerNode(\n id: id,\n role: role,\n networkingAddress: networkingAddress,\n networkingKey: networkingKey,\n stakingKey: stakingKey,\n amount: amount,\n payer: account\n ) {\n let sigAlgo = SignatureAlgorithm(rawValue: machineAccountKeySignatureAlgorithm)\n ?? panic(\"Could not get a signature algorithm from the raw enum value provided\")\n\n let hashAlgo = HashAlgorithm(rawValue: machineAccountKeyHashAlgorithm)\n ?? panic(\"Could not get a hash algorithm from the raw enum value provided\")\n \n let publicKey = PublicKey(\n\t\t\t publicKey: machineAccountKey.decodeHex(),\n\t\t\t signatureAlgorithm: sigAlgo\n\t\t )\n machineAccount.keys.add(publicKey: publicKey, hashAlgorithm: hashAlgo, weight: 1000.0)\n }\n }\n}\n", "arguments": [ { "type": "String", "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" }, { - "type": "Optional", - "value": null + "value": "1", + "type": "UInt8" }, { - "type": "UFix64", - "value": "92233720368.54775808" + "value": "flow-node.test:3569", + "type": "String" + }, + { + "value": "1348307bc77c688e80049de9d081aa09755da33e6997605fa059db2144fc85e560cbe6f7da8d74b453f5916618cb8fd392c2db856f3e78221dc68db1b1d914e4", + "type": "String" + }, + { + "value": "9e9ae0d645fd5fd9050792e0b0daa82cc1686d9133afa0f81a784b375c42ae48567d1545e7a9e1965f2c1a32f73cf8575ebb7a967f6e4d104d2df78eb8be409135d12da0499b8a00771f642c1b9c49397f22b440439f036c3bdee82f5309dab3", + "type": "String" + }, + { + "value": "92233720368.54775808", + "type": "UFix64" + }, + { + "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164", + "type": "String" + }, + { + "value": "1", + "type": "UInt8" + }, + { + "value": "1", + "type": "UInt8" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -7178,19 +3436,43 @@ ] }, "envelopeMessage": { - "script": "import FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// Request to withdraw unstaked tokens for the specified node or delegator in the staking collection\n/// The tokens are automatically deposited to the unlocked account vault first,\n/// And then any locked tokens are deposited into the locked account vault if it is there\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n }\n\n execute {\n self.stakingCollectionRef.withdrawUnstakedTokens(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", + "script": "import Crypto\nimport FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// Registers a delegator in the staking collection resource\n/// for the specified node information and the amount of tokens to commit\n\ntransaction(id: String,\n role: UInt8,\n networkingAddress: String,\n networkingKey: String,\n stakingKey: String,\n amount: UFix64,\n machineAccountKey: String, \n machineAccountKeySignatureAlgorithm: UInt8, \n machineAccountKeyHashAlgorithm: UInt8) {\n\n let stakingCollectionRef: auth(FlowStakingCollection.CollectionOwner) &FlowStakingCollection.StakingCollection\n\n prepare(account: auth(BorrowValue) &Account) {\n self.stakingCollectionRef = account.storage.borrow(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow a reference to a StakingCollection in the primary user's account\")\n\n if let machineAccount = self.stakingCollectionRef.registerNode(\n id: id,\n role: role,\n networkingAddress: networkingAddress,\n networkingKey: networkingKey,\n stakingKey: stakingKey,\n amount: amount,\n payer: account\n ) {\n let sigAlgo = SignatureAlgorithm(rawValue: machineAccountKeySignatureAlgorithm)\n ?? panic(\"Could not get a signature algorithm from the raw enum value provided\")\n\n let hashAlgo = HashAlgorithm(rawValue: machineAccountKeyHashAlgorithm)\n ?? panic(\"Could not get a hash algorithm from the raw enum value provided\")\n \n let publicKey = PublicKey(\n\t\t\t publicKey: machineAccountKey.decodeHex(),\n\t\t\t signatureAlgorithm: sigAlgo\n\t\t )\n machineAccount.keys.add(publicKey: publicKey, hashAlgorithm: hashAlgo, weight: 1000.0)\n }\n }\n}\n", "arguments": [ { "type": "String", "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" }, { - "type": "Optional", - "value": null + "value": "1", + "type": "UInt8" }, { - "type": "UFix64", - "value": "92233720368.54775808" + "value": "flow-node.test:3569", + "type": "String" + }, + { + "value": "1348307bc77c688e80049de9d081aa09755da33e6997605fa059db2144fc85e560cbe6f7da8d74b453f5916618cb8fd392c2db856f3e78221dc68db1b1d914e4", + "type": "String" + }, + { + "value": "9e9ae0d645fd5fd9050792e0b0daa82cc1686d9133afa0f81a784b375c42ae48567d1545e7a9e1965f2c1a32f73cf8575ebb7a967f6e4d104d2df78eb8be409135d12da0499b8a00771f642c1b9c49397f22b440439f036c3bdee82f5309dab3", + "type": "String" + }, + { + "value": "92233720368.54775808", + "type": "UFix64" + }, + { + "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164", + "type": "String" + }, + { + "value": "1", + "type": "UInt8" + }, + { + "value": "1", + "type": "UInt8" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -7206,32 +3488,33 @@ ], "payloadSigs": [] }, - "encodedTransactionPayloadHex": "f9045ab90365696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f205265717565737420746f20776974686472617720756e7374616b656420746f6b656e7320666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f2054686520746f6b656e7320617265206175746f6d61746963616c6c79206465706f736974656420746f2074686520756e6c6f636b6564206163636f756e74207661756c742066697273742c0a2f2f2f20416e64207468656e20616e79206c6f636b656420746f6b656e7320617265206465706f736974656420696e746f20746865206c6f636b6564206163636f756e74207661756c742069662069742069732074686572650a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e7769746864726177556e7374616b6564546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8b0b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227da07b2274797065223a224f7074696f6e616c222c2276616c7565223a6e756c6c7db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f9045ef9045ab90365696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f205265717565737420746f20776974686472617720756e7374616b656420746f6b656e7320666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f2054686520746f6b656e7320617265206175746f6d61746963616c6c79206465706f736974656420746f2074686520756e6c6f636b6564206163636f756e74207661756c742066697273742c0a2f2f2f20416e64207468656e20616e79206c6f636b656420746f6b656e7320617265206465706f736974656420696e746f20746865206c6f636b6564206163636f756e74207661756c742069662069742069732074686572650a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e7769746864726177556e7374616b6564546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8b0b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227da07b2274797065223a224f7074696f6e616c222c2276616c7565223a6e756c6c7db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "0268879197d961bb104a56e1e7d35660436fe4c52ed78f79d97fa50aa9e96fabf06d50ab1ef3d74203081c38306da74f5ad8fdd489e49fba732f8ba194d0c781c8576974686472617720556e7374616b656420546f6b656e730003014e6f64652049440000537472696e6700030244656c656761746f72204944000155496e743332000301416d6f756e7400025546697836340003", - "hash": "6d50ab1ef3d74203081c38306da74f5ad8fdd489e49fba732f8ba194d0c781c8" + "encodedTransactionPayloadHex": "f90b24b907a0696d706f72742043727970746f0a696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f2052656769737465727320612064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e207265736f757263650a2f2f2f20666f722074686520737065636966696564206e6f646520696e666f726d6174696f6e20616e642074686520616d6f756e74206f6620746f6b656e7320746f20636f6d6d69740a0a7472616e73616374696f6e2869643a20537472696e672c0a202020202020202020202020726f6c653a2055496e74382c0a2020202020202020202020206e6574776f726b696e67416464726573733a20537472696e672c0a2020202020202020202020206e6574776f726b696e674b65793a20537472696e672c0a2020202020202020202020207374616b696e674b65793a20537472696e672c0a202020202020202020202020616d6f756e743a205546697836342c0a2020202020202020202020206d616368696e654163636f756e744b65793a20537472696e672c200a2020202020202020202020206d616368696e654163636f756e744b65795369676e6174757265416c676f726974686d3a2055496e74382c200a2020202020202020202020206d616368696e654163636f756e744b657948617368416c676f726974686d3a2055496e743829207b0a0a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a206175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a206175746828426f72726f7756616c75652920264163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e73746f726167652e626f72726f773c6175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f2061205374616b696e67436f6c6c656374696f6e20696e20746865207072696d61727920757365722773206163636f756e7422290a0a20202020202020206966206c6574206d616368696e654163636f756e74203d2073656c662e7374616b696e67436f6c6c656374696f6e5265662e72656769737465724e6f6465280a20202020202020202020202069643a2069642c0a202020202020202020202020726f6c653a20726f6c652c0a2020202020202020202020206e6574776f726b696e67416464726573733a206e6574776f726b696e67416464726573732c0a2020202020202020202020206e6574776f726b696e674b65793a206e6574776f726b696e674b65792c0a2020202020202020202020207374616b696e674b65793a207374616b696e674b65792c0a202020202020202020202020616d6f756e743a20616d6f756e742c0a20202020202020202020202070617965723a206163636f756e740a202020202020202029207b0a2020202020202020202020206c657420736967416c676f203d205369676e6174757265416c676f726974686d2872617756616c75653a206d616368696e654163636f756e744b65795369676e6174757265416c676f726974686d290a202020202020202020202020202020203f3f2070616e69632822436f756c64206e6f74206765742061207369676e617475726520616c676f726974686d2066726f6d207468652072617720656e756d2076616c75652070726f766964656422290a0a2020202020202020202020206c65742068617368416c676f203d2048617368416c676f726974686d2872617756616c75653a206d616368696e654163636f756e744b657948617368416c676f726974686d290a202020202020202020202020202020203f3f2070616e69632822436f756c64206e6f74206765742061206861736820616c676f726974686d2066726f6d207468652072617720656e756d2076616c75652070726f766964656422290a2020202020202020202020200a2020202020202020202020206c6574207075626c69634b6579203d205075626c69634b6579280a090909202020207075626c69634b65793a206d616368696e654163636f756e744b65792e6465636f646548657828292c0a090909202020207369676e6174757265416c676f726974686d3a20736967416c676f0a090920202020290a2020202020202020202020206d616368696e654163636f756e742e6b6579732e616464287075626c69634b65793a207075626c69634b65792c2068617368416c676f726974686d3a2068617368416c676f2c207765696768743a20313030302e30290a20202020202020207d0a202020207d0a7d0af9033eb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227d9c7b2276616c7565223a2231222c2274797065223a2255496e7438227daf7b2276616c7565223a22666c6f772d6e6f64652e746573743a33353639222c2274797065223a22537472696e67227db89c7b2276616c7565223a223133343833303762633737633638386538303034396465396430383161613039373535646133336536393937363035666130353964623231343466633835653536306362653666376461386437346234353366353931363631386362386664333932633264623835366633653738323231646336386462316231643931346534222c2274797065223a22537472696e67227db8dc7b2276616c7565223a22396539616530643634356664356664393035303739326530623064616138326363313638366439313333616661306638316137383462333735633432616534383536376431353435653761396531393635663263316133326637336366383537356562623761393637663665346431303464326466373865623862653430393133356431326461303439396238613030373731663634326331623963343933393766323262343430343339663033366333626465653832663533303964616233222c2274797065223a22537472696e67227db07b2276616c7565223a2239323233333732303336382e3534373735383038222c2274797065223a22554669783634227db8aa7b2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634222c2274797065223a22537472696e67227d9c7b2276616c7565223a2231222c2274797065223a2255496e7438227d9c7b2276616c7565223a2231222c2274797065223a2255496e7438227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", + "encodedTransactionEnvelopeHex": "f90b28f90b24b907a0696d706f72742043727970746f0a696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f2052656769737465727320612064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e207265736f757263650a2f2f2f20666f722074686520737065636966696564206e6f646520696e666f726d6174696f6e20616e642074686520616d6f756e74206f6620746f6b656e7320746f20636f6d6d69740a0a7472616e73616374696f6e2869643a20537472696e672c0a202020202020202020202020726f6c653a2055496e74382c0a2020202020202020202020206e6574776f726b696e67416464726573733a20537472696e672c0a2020202020202020202020206e6574776f726b696e674b65793a20537472696e672c0a2020202020202020202020207374616b696e674b65793a20537472696e672c0a202020202020202020202020616d6f756e743a205546697836342c0a2020202020202020202020206d616368696e654163636f756e744b65793a20537472696e672c200a2020202020202020202020206d616368696e654163636f756e744b65795369676e6174757265416c676f726974686d3a2055496e74382c200a2020202020202020202020206d616368696e654163636f756e744b657948617368416c676f726974686d3a2055496e743829207b0a0a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a206175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a206175746828426f72726f7756616c75652920264163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e73746f726167652e626f72726f773c6175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f2061205374616b696e67436f6c6c656374696f6e20696e20746865207072696d61727920757365722773206163636f756e7422290a0a20202020202020206966206c6574206d616368696e654163636f756e74203d2073656c662e7374616b696e67436f6c6c656374696f6e5265662e72656769737465724e6f6465280a20202020202020202020202069643a2069642c0a202020202020202020202020726f6c653a20726f6c652c0a2020202020202020202020206e6574776f726b696e67416464726573733a206e6574776f726b696e67416464726573732c0a2020202020202020202020206e6574776f726b696e674b65793a206e6574776f726b696e674b65792c0a2020202020202020202020207374616b696e674b65793a207374616b696e674b65792c0a202020202020202020202020616d6f756e743a20616d6f756e742c0a20202020202020202020202070617965723a206163636f756e740a202020202020202029207b0a2020202020202020202020206c657420736967416c676f203d205369676e6174757265416c676f726974686d2872617756616c75653a206d616368696e654163636f756e744b65795369676e6174757265416c676f726974686d290a202020202020202020202020202020203f3f2070616e69632822436f756c64206e6f74206765742061207369676e617475726520616c676f726974686d2066726f6d207468652072617720656e756d2076616c75652070726f766964656422290a0a2020202020202020202020206c65742068617368416c676f203d2048617368416c676f726974686d2872617756616c75653a206d616368696e654163636f756e744b657948617368416c676f726974686d290a202020202020202020202020202020203f3f2070616e69632822436f756c64206e6f74206765742061206861736820616c676f726974686d2066726f6d207468652072617720656e756d2076616c75652070726f766964656422290a2020202020202020202020200a2020202020202020202020206c6574207075626c69634b6579203d205075626c69634b6579280a090909202020207075626c69634b65793a206d616368696e654163636f756e744b65792e6465636f646548657828292c0a090909202020207369676e6174757265416c676f726974686d3a20736967416c676f0a090920202020290a2020202020202020202020206d616368696e654163636f756e742e6b6579732e616464287075626c69634b65793a207075626c69634b65792c2068617368416c676f726974686d3a2068617368416c676f2c207765696768743a20313030302e30290a20202020202020207d0a202020207d0a7d0af9033eb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227d9c7b2276616c7565223a2231222c2274797065223a2255496e7438227daf7b2276616c7565223a22666c6f772d6e6f64652e746573743a33353639222c2274797065223a22537472696e67227db89c7b2276616c7565223a223133343833303762633737633638386538303034396465396430383161613039373535646133336536393937363035666130353964623231343466633835653536306362653666376461386437346234353366353931363631386362386664333932633264623835366633653738323231646336386462316231643931346534222c2274797065223a22537472696e67227db8dc7b2276616c7565223a22396539616530643634356664356664393035303739326530623064616138326363313638366439313333616661306638316137383462333735633432616534383536376431353435653761396531393635663263316133326637336366383537356562623761393637663665346431303464326466373865623862653430393133356431326461303439396238613030373731663634326331623963343933393766323262343430343339663033366333626465653832663533303964616233222c2274797065223a22537472696e67227db07b2276616c7565223a2239323233333732303336382e3534373735383038222c2274797065223a22554669783634227db8aa7b2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634222c2274797065223a22537472696e67227d9c7b2276616c7565223a2231222c2274797065223a2255496e7438227d9c7b2276616c7565223a2231222c2274797065223a2255496e7438227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", + "metadata": "02deb5f758f3eb3b125cd9b14a6528f18d535377709fcef41e743751eb828009213b0b2bbc3a2ad674122c182112f7008a8d3d1b60b107033c0ebe7bbe50df52675265676973746572204e6f64650009014e6f64652049440000537472696e670003014e6f646520526f6c65000155496e74380003014e6574772e20416464726573730002537472696e670003014e6574772e204b65790003537472696e670003015374616b696e67204b65790004537472696e67000301416d6f756e7400055546697836340003014d41205075624b65790006537472696e670003014d412053416c67000755496e74380003014d412048416c67000855496e74380003", + "hash": "3b0b2bbc3a2ad674122c182112f7008a8d3d1b60b107033c0ebe7bbe50df5267" }, { - "title": "SCO.11 - Withdraw Unstaked Tokens - 2", + "title": "SCO.04 - Create Machine Account", "valid": true, "chainID": "Mainnet", "payloadMessage": { - "script": "import FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// Request to withdraw unstaked tokens for the specified node or delegator in the staking collection\n/// The tokens are automatically deposited to the unlocked account vault first,\n/// And then any locked tokens are deposited into the locked account vault if it is there\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n }\n\n execute {\n self.stakingCollectionRef.withdrawUnstakedTokens(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", + "script": "import Crypto\nimport FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// Creates a machine account for a node that is already in the staking collection\n/// and adds public keys to the new account\n\ntransaction(nodeID: String, \n machineAccountKey: String, \n machineAccountKeySignatureAlgorithm: UInt8, \n machineAccountKeyHashAlgorithm: UInt8) {\n \n let stakingCollectionRef: auth(FlowStakingCollection.CollectionOwner) &FlowStakingCollection.StakingCollection\n\n prepare(account: auth(BorrowValue) &Account) {\n self.stakingCollectionRef = account.storage.borrow(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow a reference to a StakingCollection in the primary user's account\")\n\n if let machineAccount = self.stakingCollectionRef.createMachineAccountForExistingNode(nodeID: nodeID, payer: account) {\n let sigAlgo = SignatureAlgorithm(rawValue: machineAccountKeySignatureAlgorithm)\n ?? panic(\"Could not get a signature algorithm from the raw enum value provided\")\n\n let hashAlgo = HashAlgorithm(rawValue: machineAccountKeyHashAlgorithm)\n ?? panic(\"Could not get a hash algorithm from the raw enum value provided\")\n \n let publicKey = PublicKey(\n\t\t\t publicKey: machineAccountKey.decodeHex(),\n\t\t\t signatureAlgorithm: sigAlgo\n\t\t )\n machineAccount.keys.add(publicKey: publicKey, hashAlgorithm: hashAlgo, weight: 1000.0)\n } else {\n panic(\"Could not create a machine account for the node\")\n }\n }\n}\n", "arguments": [ { "type": "String", "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" }, { - "type": "Optional", - "value": { - "type": "UInt32", - "value": "42" - } + "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164", + "type": "String" }, { - "type": "UFix64", - "value": "92233720368.54775808" + "value": "1", + "type": "UInt8" + }, + { + "value": "1", + "type": "UInt8" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -7254,22 +3537,23 @@ ] }, "envelopeMessage": { - "script": "import FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// Request to withdraw unstaked tokens for the specified node or delegator in the staking collection\n/// The tokens are automatically deposited to the unlocked account vault first,\n/// And then any locked tokens are deposited into the locked account vault if it is there\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n }\n\n execute {\n self.stakingCollectionRef.withdrawUnstakedTokens(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", + "script": "import Crypto\nimport FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// Creates a machine account for a node that is already in the staking collection\n/// and adds public keys to the new account\n\ntransaction(nodeID: String, \n machineAccountKey: String, \n machineAccountKeySignatureAlgorithm: UInt8, \n machineAccountKeyHashAlgorithm: UInt8) {\n \n let stakingCollectionRef: auth(FlowStakingCollection.CollectionOwner) &FlowStakingCollection.StakingCollection\n\n prepare(account: auth(BorrowValue) &Account) {\n self.stakingCollectionRef = account.storage.borrow(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow a reference to a StakingCollection in the primary user's account\")\n\n if let machineAccount = self.stakingCollectionRef.createMachineAccountForExistingNode(nodeID: nodeID, payer: account) {\n let sigAlgo = SignatureAlgorithm(rawValue: machineAccountKeySignatureAlgorithm)\n ?? panic(\"Could not get a signature algorithm from the raw enum value provided\")\n\n let hashAlgo = HashAlgorithm(rawValue: machineAccountKeyHashAlgorithm)\n ?? panic(\"Could not get a hash algorithm from the raw enum value provided\")\n \n let publicKey = PublicKey(\n\t\t\t publicKey: machineAccountKey.decodeHex(),\n\t\t\t signatureAlgorithm: sigAlgo\n\t\t )\n machineAccount.keys.add(publicKey: publicKey, hashAlgorithm: hashAlgo, weight: 1000.0)\n } else {\n panic(\"Could not create a machine account for the node\")\n }\n }\n}\n", "arguments": [ { "type": "String", "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" }, { - "type": "Optional", - "value": { - "type": "UInt32", - "value": "42" - } + "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164", + "type": "String" }, { - "type": "UFix64", - "value": "92233720368.54775808" + "value": "1", + "type": "UInt8" + }, + { + "value": "1", + "type": "UInt8" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -7285,28 +3569,29 @@ ], "payloadSigs": [] }, - "encodedTransactionPayloadHex": "f90475b90365696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f205265717565737420746f20776974686472617720756e7374616b656420746f6b656e7320666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f2054686520746f6b656e7320617265206175746f6d61746963616c6c79206465706f736974656420746f2074686520756e6c6f636b6564206163636f756e74207661756c742066697273742c0a2f2f2f20416e64207468656e20616e79206c6f636b656420746f6b656e7320617265206465706f736974656420696e746f20746865206c6f636b6564206163636f756e74207661756c742069662069742069732074686572650a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e7769746864726177556e7374616b6564546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8cbb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db83a7b2274797065223a224f7074696f6e616c222c2276616c7565223a7b2274797065223a2255496e743332222c2276616c7565223a223432227d7db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f90479f90475b90365696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f205265717565737420746f20776974686472617720756e7374616b656420746f6b656e7320666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f2054686520746f6b656e7320617265206175746f6d61746963616c6c79206465706f736974656420746f2074686520756e6c6f636b6564206163636f756e74207661756c742066697273742c0a2f2f2f20416e64207468656e20616e79206c6f636b656420746f6b656e7320617265206465706f736974656420696e746f20746865206c6f636b6564206163636f756e74207661756c742069662069742069732074686572650a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e7769746864726177556e7374616b6564546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8cbb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db83a7b2274797065223a224f7074696f6e616c222c2276616c7565223a7b2274797065223a2255496e743332222c2276616c7565223a223432227d7db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "0268879197d961bb104a56e1e7d35660436fe4c52ed78f79d97fa50aa9e96fabf06d50ab1ef3d74203081c38306da74f5ad8fdd489e49fba732f8ba194d0c781c8576974686472617720556e7374616b656420546f6b656e730003014e6f64652049440000537472696e6700030244656c656761746f72204944000155496e743332000301416d6f756e7400025546697836340003", - "hash": "6d50ab1ef3d74203081c38306da74f5ad8fdd489e49fba732f8ba194d0c781c8" + "encodedTransactionPayloadHex": "f9082bb906a1696d706f72742043727970746f0a696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f20437265617465732061206d616368696e65206163636f756e7420666f722061206e6f6465207468617420697320616c726561647920696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f20616e642061646473207075626c6963206b65797320746f20746865206e6577206163636f756e740a0a7472616e73616374696f6e286e6f646549443a20537472696e672c200a2020202020202020202020206d616368696e654163636f756e744b65793a20537472696e672c200a2020202020202020202020206d616368696e654163636f756e744b65795369676e6174757265416c676f726974686d3a2055496e74382c200a2020202020202020202020206d616368696e654163636f756e744b657948617368416c676f726974686d3a2055496e743829207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a206175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a206175746828426f72726f7756616c75652920264163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e73746f726167652e626f72726f773c6175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f2061205374616b696e67436f6c6c656374696f6e20696e20746865207072696d61727920757365722773206163636f756e7422290a0a20202020202020206966206c6574206d616368696e654163636f756e74203d2073656c662e7374616b696e67436f6c6c656374696f6e5265662e6372656174654d616368696e654163636f756e74466f724578697374696e674e6f6465286e6f646549443a206e6f646549442c2070617965723a206163636f756e7429207b0a2020202020202020202020206c657420736967416c676f203d205369676e6174757265416c676f726974686d2872617756616c75653a206d616368696e654163636f756e744b65795369676e6174757265416c676f726974686d290a202020202020202020202020202020203f3f2070616e69632822436f756c64206e6f74206765742061207369676e617475726520616c676f726974686d2066726f6d207468652072617720656e756d2076616c75652070726f766964656422290a0a2020202020202020202020206c65742068617368416c676f203d2048617368416c676f726974686d2872617756616c75653a206d616368696e654163636f756e744b657948617368416c676f726974686d290a202020202020202020202020202020203f3f2070616e69632822436f756c64206e6f74206765742061206861736820616c676f726974686d2066726f6d207468652072617720656e756d2076616c75652070726f766964656422290a2020202020202020202020200a2020202020202020202020206c6574207075626c69634b6579203d205075626c69634b6579280a090909202020207075626c69634b65793a206d616368696e654163636f756e744b65792e6465636f646548657828292c0a090909202020207369676e6174757265416c676f726974686d3a20736967416c676f0a090920202020290a2020202020202020202020206d616368696e654163636f756e742e6b6579732e616464287075626c69634b65793a207075626c69634b65792c2068617368416c676f726974686d3a2068617368416c676f2c207765696768743a20313030302e30290a20202020202020207d20656c7365207b0a20202020202020202020202070616e69632822436f756c64206e6f74206372656174652061206d616368696e65206163636f756e7420666f7220746865206e6f646522290a20202020202020207d0a202020207d0a7d0af90144b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db8aa7b2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634222c2274797065223a22537472696e67227d9c7b2276616c7565223a2231222c2274797065223a2255496e7438227d9c7b2276616c7565223a2231222c2274797065223a2255496e7438227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", + "encodedTransactionEnvelopeHex": "f9082ff9082bb906a1696d706f72742043727970746f0a696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f20437265617465732061206d616368696e65206163636f756e7420666f722061206e6f6465207468617420697320616c726561647920696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f20616e642061646473207075626c6963206b65797320746f20746865206e6577206163636f756e740a0a7472616e73616374696f6e286e6f646549443a20537472696e672c200a2020202020202020202020206d616368696e654163636f756e744b65793a20537472696e672c200a2020202020202020202020206d616368696e654163636f756e744b65795369676e6174757265416c676f726974686d3a2055496e74382c200a2020202020202020202020206d616368696e654163636f756e744b657948617368416c676f726974686d3a2055496e743829207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a206175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a206175746828426f72726f7756616c75652920264163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e73746f726167652e626f72726f773c6175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f2061205374616b696e67436f6c6c656374696f6e20696e20746865207072696d61727920757365722773206163636f756e7422290a0a20202020202020206966206c6574206d616368696e654163636f756e74203d2073656c662e7374616b696e67436f6c6c656374696f6e5265662e6372656174654d616368696e654163636f756e74466f724578697374696e674e6f6465286e6f646549443a206e6f646549442c2070617965723a206163636f756e7429207b0a2020202020202020202020206c657420736967416c676f203d205369676e6174757265416c676f726974686d2872617756616c75653a206d616368696e654163636f756e744b65795369676e6174757265416c676f726974686d290a202020202020202020202020202020203f3f2070616e69632822436f756c64206e6f74206765742061207369676e617475726520616c676f726974686d2066726f6d207468652072617720656e756d2076616c75652070726f766964656422290a0a2020202020202020202020206c65742068617368416c676f203d2048617368416c676f726974686d2872617756616c75653a206d616368696e654163636f756e744b657948617368416c676f726974686d290a202020202020202020202020202020203f3f2070616e69632822436f756c64206e6f74206765742061206861736820616c676f726974686d2066726f6d207468652072617720656e756d2076616c75652070726f766964656422290a2020202020202020202020200a2020202020202020202020206c6574207075626c69634b6579203d205075626c69634b6579280a090909202020207075626c69634b65793a206d616368696e654163636f756e744b65792e6465636f646548657828292c0a090909202020207369676e6174757265416c676f726974686d3a20736967416c676f0a090920202020290a2020202020202020202020206d616368696e654163636f756e742e6b6579732e616464287075626c69634b65793a207075626c69634b65792c2068617368416c676f726974686d3a2068617368416c676f2c207765696768743a20313030302e30290a20202020202020207d20656c7365207b0a20202020202020202020202070616e69632822436f756c64206e6f74206372656174652061206d616368696e65206163636f756e7420666f7220746865206e6f646522290a20202020202020207d0a202020207d0a7d0af90144b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db8aa7b2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634222c2274797065223a22537472696e67227d9c7b2276616c7565223a2231222c2274797065223a2255496e7438227d9c7b2276616c7565223a2231222c2274797065223a2255496e7438227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", + "metadata": "024c1ad61500bcd0d32d7aa7eb84ca9b7417219ed6d524e05de8c55fb7d50940e4f0a6cedb6703cd4ce4cc3b735e5edb5a7e5b17a87a725343d745e5d53b7c0a01437265617465204d616368696e65204163636f756e740004014e6f64652049440000537472696e670003014d41205075624b65790001537472696e670003014d412053416c67000255496e74380003014d412048416c67000355496e74380003", + "hash": "f0a6cedb6703cd4ce4cc3b735e5edb5a7e5b17a87a725343d745e5d53b7c0a01" }, { - "title": "SCO.12 - Close Stake - 1", + "title": "SCO.05 - Request Unstaking - 1", "valid": true, "chainID": "Mainnet", "payloadMessage": { - "script": "import FlowStakingCollection from 0x8d0e87b65159ae63\n\n// Closes out a staking object in the staking collection\n// This does not remove the record from the identity table,\n// but it does mean that the account that closes it cannot ever access it again\n\ntransaction(nodeID: String, delegatorID: UInt32?) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n }\n\n execute {\n self.stakingCollectionRef.closeStake(nodeID: nodeID, delegatorID: delegatorID)\n }\n}\n", + "script": "import FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// Requests unstaking for the specified node or delegator in the staking collection\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: auth(FlowStakingCollection.CollectionOwner) &FlowStakingCollection.StakingCollection\n\n prepare(account: auth(BorrowValue) &Account) {\n self.stakingCollectionRef = account.storage.borrow(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow a reference to a StakingCollection in the primary user's account\")\n }\n\n execute {\n self.stakingCollectionRef.requestUnstaking(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", "arguments": [ { "type": "String", "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" }, { - "type": "Optional", - "value": { - "type": "UInt32", - "value": "42" - } + "value": null, + "type": "Optional" + }, + { + "value": "92233720368.54775808", + "type": "UFix64" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -7329,18 +3614,19 @@ ] }, "envelopeMessage": { - "script": "import FlowStakingCollection from 0x8d0e87b65159ae63\n\n// Closes out a staking object in the staking collection\n// This does not remove the record from the identity table,\n// but it does mean that the account that closes it cannot ever access it again\n\ntransaction(nodeID: String, delegatorID: UInt32?) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n }\n\n execute {\n self.stakingCollectionRef.closeStake(nodeID: nodeID, delegatorID: delegatorID)\n }\n}\n", + "script": "import FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// Requests unstaking for the specified node or delegator in the staking collection\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: auth(FlowStakingCollection.CollectionOwner) &FlowStakingCollection.StakingCollection\n\n prepare(account: auth(BorrowValue) &Account) {\n self.stakingCollectionRef = account.storage.borrow(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow a reference to a StakingCollection in the primary user's account\")\n }\n\n execute {\n self.stakingCollectionRef.requestUnstaking(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", "arguments": [ { "type": "String", "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" }, { - "type": "Optional", - "value": { - "type": "UInt32", - "value": "42" - } + "value": null, + "type": "Optional" + }, + { + "value": "92233720368.54775808", + "type": "UFix64" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -7356,25 +3642,32 @@ ], "payloadSigs": [] }, - "encodedTransactionPayloadHex": "f903cdb902ee696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f20436c6f736573206f75742061207374616b696e67206f626a65637420696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f205468697320646f6573206e6f742072656d6f766520746865207265636f72642066726f6d20746865206964656e74697479207461626c652c0a2f2f2062757420697420646f6573206d65616e207468617420746865206163636f756e74207468617420636c6f7365732069742063616e6e6f7420657665722061636365737320697420616761696e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f29207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e636c6f73655374616b65286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f724944290a202020207d0a7d0af89ab85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db83a7b2274797065223a224f7074696f6e616c222c2276616c7565223a7b2274797065223a2255496e743332222c2276616c7565223a223432227d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f903d1f903cdb902ee696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f20436c6f736573206f75742061207374616b696e67206f626a65637420696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f205468697320646f6573206e6f742072656d6f766520746865207265636f72642066726f6d20746865206964656e74697479207461626c652c0a2f2f2062757420697420646f6573206d65616e207468617420746865206163636f756e74207468617420636c6f7365732069742063616e6e6f7420657665722061636365737320697420616761696e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f29207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e636c6f73655374616b65286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f724944290a202020207d0a7d0af89ab85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db83a7b2274797065223a224f7074696f6e616c222c2276616c7565223a7b2274797065223a2255496e743332222c2276616c7565223a223432227d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "02079aaa9cfb22138415056b43d5d91e8d73bd8bd5f37ebff4f4023d33ea6d2f25ecdffc1ae67479bc20c06eba6c776ff37b9523660ff1cd3129a3924d92484884436c6f7365205374616b650002014e6f64652049440000537472696e6700030244656c656761746f72204944000155496e7433320003", - "hash": "ecdffc1ae67479bc20c06eba6c776ff37b9523660ff1cd3129a3924d92484884" + "encodedTransactionPayloadHex": "f90430b9033b696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f20526571756573747320756e7374616b696e6720666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a206175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a206175746828426f72726f7756616c75652920264163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e73746f726167652e626f72726f773c6175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f2061205374616b696e67436f6c6c656374696f6e20696e20746865207072696d61727920757365722773206163636f756e7422290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e72657175657374556e7374616b696e67286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8b0b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227da07b2276616c7565223a6e756c6c2c2274797065223a224f7074696f6e616c227db07b2276616c7565223a2239323233333732303336382e3534373735383038222c2274797065223a22554669783634227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", + "encodedTransactionEnvelopeHex": "f90434f90430b9033b696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f20526571756573747320756e7374616b696e6720666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a206175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a206175746828426f72726f7756616c75652920264163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e73746f726167652e626f72726f773c6175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f2061205374616b696e67436f6c6c656374696f6e20696e20746865207072696d61727920757365722773206163636f756e7422290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e72657175657374556e7374616b696e67286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8b0b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227da07b2276616c7565223a6e756c6c2c2274797065223a224f7074696f6e616c227db07b2276616c7565223a2239323233333732303336382e3534373735383038222c2274797065223a22554669783634227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", + "metadata": "022d59f2c2c402f919c8dba30009e31480d54e2b250d2e10456e1ff029bd7cce99f26c058a127500fcd8445ba9fcf55149fe8f1a1a7cd212688d13fcd6ee2765295265717565737420556e7374616b696e670003014e6f64652049440000537472696e6700030244656c656761746f72204944000155496e743332000301416d6f756e7400025546697836340003", + "hash": "f26c058a127500fcd8445ba9fcf55149fe8f1a1a7cd212688d13fcd6ee276529" }, { - "title": "SCO.12 - Close Stake - 2", + "title": "SCO.05 - Request Unstaking - 2", "valid": true, "chainID": "Mainnet", "payloadMessage": { - "script": "import FlowStakingCollection from 0x8d0e87b65159ae63\n\n// Closes out a staking object in the staking collection\n// This does not remove the record from the identity table,\n// but it does mean that the account that closes it cannot ever access it again\n\ntransaction(nodeID: String, delegatorID: UInt32?) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n }\n\n execute {\n self.stakingCollectionRef.closeStake(nodeID: nodeID, delegatorID: delegatorID)\n }\n}\n", + "script": "import FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// Requests unstaking for the specified node or delegator in the staking collection\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: auth(FlowStakingCollection.CollectionOwner) &FlowStakingCollection.StakingCollection\n\n prepare(account: auth(BorrowValue) &Account) {\n self.stakingCollectionRef = account.storage.borrow(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow a reference to a StakingCollection in the primary user's account\")\n }\n\n execute {\n self.stakingCollectionRef.requestUnstaking(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", "arguments": [ { "type": "String", "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" }, { - "type": "Optional", - "value": null + "value": { + "value": "42", + "type": "UInt32" + }, + "type": "Optional" + }, + { + "value": "92233720368.54775808", + "type": "UFix64" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -7397,15 +3690,22 @@ ] }, "envelopeMessage": { - "script": "import FlowStakingCollection from 0x8d0e87b65159ae63\n\n// Closes out a staking object in the staking collection\n// This does not remove the record from the identity table,\n// but it does mean that the account that closes it cannot ever access it again\n\ntransaction(nodeID: String, delegatorID: UInt32?) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n }\n\n execute {\n self.stakingCollectionRef.closeStake(nodeID: nodeID, delegatorID: delegatorID)\n }\n}\n", + "script": "import FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// Requests unstaking for the specified node or delegator in the staking collection\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: auth(FlowStakingCollection.CollectionOwner) &FlowStakingCollection.StakingCollection\n\n prepare(account: auth(BorrowValue) &Account) {\n self.stakingCollectionRef = account.storage.borrow(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow a reference to a StakingCollection in the primary user's account\")\n }\n\n execute {\n self.stakingCollectionRef.requestUnstaking(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", "arguments": [ { "type": "String", "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" }, { - "type": "Optional", - "value": null + "value": { + "value": "42", + "type": "UInt32" + }, + "type": "Optional" + }, + { + "value": "92233720368.54775808", + "type": "UFix64" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -7421,25 +3721,29 @@ ], "payloadSigs": [] }, - "encodedTransactionPayloadHex": "f903b2b902ee696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f20436c6f736573206f75742061207374616b696e67206f626a65637420696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f205468697320646f6573206e6f742072656d6f766520746865207265636f72642066726f6d20746865206964656e74697479207461626c652c0a2f2f2062757420697420646f6573206d65616e207468617420746865206163636f756e74207468617420636c6f7365732069742063616e6e6f7420657665722061636365737320697420616761696e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f29207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e636c6f73655374616b65286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f724944290a202020207d0a7d0af87fb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227da07b2274797065223a224f7074696f6e616c222c2276616c7565223a6e756c6c7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f903b6f903b2b902ee696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f20436c6f736573206f75742061207374616b696e67206f626a65637420696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f205468697320646f6573206e6f742072656d6f766520746865207265636f72642066726f6d20746865206964656e74697479207461626c652c0a2f2f2062757420697420646f6573206d65616e207468617420746865206163636f756e74207468617420636c6f7365732069742063616e6e6f7420657665722061636365737320697420616761696e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f29207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e636c6f73655374616b65286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f724944290a202020207d0a7d0af87fb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227da07b2274797065223a224f7074696f6e616c222c2276616c7565223a6e756c6c7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "02079aaa9cfb22138415056b43d5d91e8d73bd8bd5f37ebff4f4023d33ea6d2f25ecdffc1ae67479bc20c06eba6c776ff37b9523660ff1cd3129a3924d92484884436c6f7365205374616b650002014e6f64652049440000537472696e6700030244656c656761746f72204944000155496e7433320003", - "hash": "ecdffc1ae67479bc20c06eba6c776ff37b9523660ff1cd3129a3924d92484884" + "encodedTransactionPayloadHex": "f9044bb9033b696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f20526571756573747320756e7374616b696e6720666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a206175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a206175746828426f72726f7756616c75652920264163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e73746f726167652e626f72726f773c6175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f2061205374616b696e67436f6c6c656374696f6e20696e20746865207072696d61727920757365722773206163636f756e7422290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e72657175657374556e7374616b696e67286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8cbb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db83a7b2276616c7565223a7b2276616c7565223a223432222c2274797065223a2255496e743332227d2c2274797065223a224f7074696f6e616c227db07b2276616c7565223a2239323233333732303336382e3534373735383038222c2274797065223a22554669783634227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", + "encodedTransactionEnvelopeHex": "f9044ff9044bb9033b696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f20526571756573747320756e7374616b696e6720666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a206175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a206175746828426f72726f7756616c75652920264163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e73746f726167652e626f72726f773c6175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f2061205374616b696e67436f6c6c656374696f6e20696e20746865207072696d61727920757365722773206163636f756e7422290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e72657175657374556e7374616b696e67286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8cbb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db83a7b2276616c7565223a7b2276616c7565223a223432222c2274797065223a2255496e743332227d2c2274797065223a224f7074696f6e616c227db07b2276616c7565223a2239323233333732303336382e3534373735383038222c2274797065223a22554669783634227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", + "metadata": "022d59f2c2c402f919c8dba30009e31480d54e2b250d2e10456e1ff029bd7cce99f26c058a127500fcd8445ba9fcf55149fe8f1a1a7cd212688d13fcd6ee2765295265717565737420556e7374616b696e670003014e6f64652049440000537472696e6700030244656c656761746f72204944000155496e743332000301416d6f756e7400025546697836340003", + "hash": "f26c058a127500fcd8445ba9fcf55149fe8f1a1a7cd212688d13fcd6ee276529" }, { - "title": "SCO.13 - Transfer Node", + "title": "SCO.06 - Stake New Tokens - 1", "valid": true, "chainID": "Mainnet", "payloadMessage": { - "script": "import FlowStakingCollection from 0x8d0e87b65159ae63\n\n// Transfers a NodeStaker object from an authorizers accoount\n// and adds the NodeStaker to another accounts Staking Collection\n// identified by the to Address.\n\ntransaction(nodeID: String, to: Address) {\n let fromStakingCollectionRef: &FlowStakingCollection.StakingCollection\n let toStakingCollectionCap: &FlowStakingCollection.StakingCollection{FlowStakingCollection.StakingCollectionPublic}\n\n prepare(account: AuthAccount) {\n // The account to transfer the NodeStaker object to must have a valid Staking Collection in order to receive the NodeStaker.\n if (!FlowStakingCollection.doesAccountHaveStakingCollection(address: to)) {\n panic(\"Destination account must have a Staking Collection set up.\")\n }\n\n // Get a reference to the authorizers StakingCollection\n self.fromStakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n\n // Get the PublicAccount of the account to transfer the NodeStaker to. \n let toAccount = getAccount(to)\n\n // Borrow a capability to the public methods available on the receivers StakingCollection.\n self.toStakingCollectionCap = toAccount.getCapability<&FlowStakingCollection.StakingCollection{FlowStakingCollection.StakingCollectionPublic}>(FlowStakingCollection.StakingCollectionPublicPath).borrow()\n ?? panic(\"Could not borrow ref to StakingCollection\")\n\n let machineAccountInfo = self.fromStakingCollectionRef.getMachineAccounts()[nodeID]\n ?? panic(\"Could not get machine account info for the specified node ID\")\n\n // Remove the NodeStaker from the authorizers StakingCollection.\n let nodeStaker <- self.fromStakingCollectionRef.removeNode(nodeID: nodeID)\n\n // Deposit the NodeStaker to the receivers StakingCollection.\n self.toStakingCollectionCap.addNodeObject(<- nodeStaker!, machineAccountInfo: machineAccountInfo)\n }\n}", + "script": "import FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// Commits new tokens to stake for the specified node or delegator in the staking collection\n/// The tokens from the locked vault are used first, if it exists\n/// followed by the tokens from the unlocked vault\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: auth(FlowStakingCollection.CollectionOwner) &FlowStakingCollection.StakingCollection\n\n prepare(account: auth(BorrowValue) &Account) {\n self.stakingCollectionRef = account.storage.borrow(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow a reference to a StakingCollection in the primary user's account\")\n }\n\n execute {\n self.stakingCollectionRef.stakeNewTokens(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", "arguments": [ { "type": "String", "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" }, { - "type": "Address", - "value": "0xe467b9dd11fa00df" + "value": null, + "type": "Optional" + }, + { + "value": "92233720368.54775808", + "type": "UFix64" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -7462,15 +3766,19 @@ ] }, "envelopeMessage": { - "script": "import FlowStakingCollection from 0x8d0e87b65159ae63\n\n// Transfers a NodeStaker object from an authorizers accoount\n// and adds the NodeStaker to another accounts Staking Collection\n// identified by the to Address.\n\ntransaction(nodeID: String, to: Address) {\n let fromStakingCollectionRef: &FlowStakingCollection.StakingCollection\n let toStakingCollectionCap: &FlowStakingCollection.StakingCollection{FlowStakingCollection.StakingCollectionPublic}\n\n prepare(account: AuthAccount) {\n // The account to transfer the NodeStaker object to must have a valid Staking Collection in order to receive the NodeStaker.\n if (!FlowStakingCollection.doesAccountHaveStakingCollection(address: to)) {\n panic(\"Destination account must have a Staking Collection set up.\")\n }\n\n // Get a reference to the authorizers StakingCollection\n self.fromStakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n\n // Get the PublicAccount of the account to transfer the NodeStaker to. \n let toAccount = getAccount(to)\n\n // Borrow a capability to the public methods available on the receivers StakingCollection.\n self.toStakingCollectionCap = toAccount.getCapability<&FlowStakingCollection.StakingCollection{FlowStakingCollection.StakingCollectionPublic}>(FlowStakingCollection.StakingCollectionPublicPath).borrow()\n ?? panic(\"Could not borrow ref to StakingCollection\")\n\n let machineAccountInfo = self.fromStakingCollectionRef.getMachineAccounts()[nodeID]\n ?? panic(\"Could not get machine account info for the specified node ID\")\n\n // Remove the NodeStaker from the authorizers StakingCollection.\n let nodeStaker <- self.fromStakingCollectionRef.removeNode(nodeID: nodeID)\n\n // Deposit the NodeStaker to the receivers StakingCollection.\n self.toStakingCollectionCap.addNodeObject(<- nodeStaker!, machineAccountInfo: machineAccountInfo)\n }\n}", + "script": "import FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// Commits new tokens to stake for the specified node or delegator in the staking collection\n/// The tokens from the locked vault are used first, if it exists\n/// followed by the tokens from the unlocked vault\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: auth(FlowStakingCollection.CollectionOwner) &FlowStakingCollection.StakingCollection\n\n prepare(account: auth(BorrowValue) &Account) {\n self.stakingCollectionRef = account.storage.borrow(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow a reference to a StakingCollection in the primary user's account\")\n }\n\n execute {\n self.stakingCollectionRef.stakeNewTokens(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", "arguments": [ { "type": "String", "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" }, { - "type": "Address", - "value": "0xe467b9dd11fa00df" + "value": null, + "type": "Optional" + }, + { + "value": "92233720368.54775808", + "type": "UFix64" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -7486,29 +3794,32 @@ ], "payloadSigs": [] }, - "encodedTransactionPayloadHex": "f90907b90834696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f205472616e73666572732061204e6f64655374616b6572206f626a6563742066726f6d20616e20617574686f72697a657273206163636f6f756e740a2f2f20616e64206164647320746865204e6f64655374616b657220746f20616e6f74686572206163636f756e7473205374616b696e6720436f6c6c656374696f6e0a2f2f206964656e7469666965642062792074686520746f20416464726573732e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c20746f3a204164647265737329207b0a202020206c65742066726f6d5374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a202020206c657420746f5374616b696e67436f6c6c656374696f6e4361703a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e7b466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e5075626c69637d0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a20202020202020202f2f20546865206163636f756e7420746f207472616e7366657220746865204e6f64655374616b6572206f626a65637420746f206d757374206861766520612076616c6964205374616b696e6720436f6c6c656374696f6e20696e206f7264657220746f207265636569766520746865204e6f64655374616b65722e0a20202020202020206966202821466c6f775374616b696e67436f6c6c656374696f6e2e646f65734163636f756e74486176655374616b696e67436f6c6c656374696f6e28616464726573733a20746f2929207b0a20202020202020202020202070616e6963282244657374696e6174696f6e206163636f756e74206d75737420686176652061205374616b696e6720436f6c6c656374696f6e207365742075702e22290a20202020202020207d0a0a20202020202020202f2f204765742061207265666572656e636520746f2074686520617574686f72697a657273205374616b696e67436f6c6c656374696f6e0a202020202020202073656c662e66726f6d5374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a0a20202020202020202f2f2047657420746865205075626c69634163636f756e74206f6620746865206163636f756e7420746f207472616e7366657220746865204e6f64655374616b657220746f2e200a20202020202020206c657420746f4163636f756e74203d206765744163636f756e7428746f290a0a20202020202020202f2f20426f72726f772061206361706162696c69747920746f20746865207075626c6963206d6574686f647320617661696c61626c65206f6e2074686520726563656976657273205374616b696e67436f6c6c656374696f6e2e0a202020202020202073656c662e746f5374616b696e67436f6c6c656374696f6e436170203d20746f4163636f756e742e6765744361706162696c6974793c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e7b466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e5075626c69637d3e28466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e5075626c696350617468292e626f72726f7728290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a0a20202020202020206c6574206d616368696e654163636f756e74496e666f203d2073656c662e66726f6d5374616b696e67436f6c6c656374696f6e5265662e6765744d616368696e654163636f756e747328295b6e6f646549445d0a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420676574206d616368696e65206163636f756e7420696e666f20666f722074686520737065636966696564206e6f646520494422290a0a20202020202020202f2f2052656d6f766520746865204e6f64655374616b65722066726f6d2074686520617574686f72697a657273205374616b696e67436f6c6c656374696f6e2e0a20202020202020206c6574206e6f64655374616b6572203c2d2073656c662e66726f6d5374616b696e67436f6c6c656374696f6e5265662e72656d6f76654e6f6465286e6f646549443a206e6f64654944290a0a20202020202020202f2f204465706f73697420746865204e6f64655374616b657220746f2074686520726563656976657273205374616b696e67436f6c6c656374696f6e2e0a202020202020202073656c662e746f5374616b696e67436f6c6c656374696f6e4361702e6164644e6f64654f626a656374283c2d206e6f64655374616b6572212c206d616368696e654163636f756e74496e666f3a206d616368696e654163636f756e74496e666f290a202020207d0a7df88eb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227daf7b2274797065223a2241646472657373222c2276616c7565223a22307865343637623964643131666130306466227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f9090bf90907b90834696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f205472616e73666572732061204e6f64655374616b6572206f626a6563742066726f6d20616e20617574686f72697a657273206163636f6f756e740a2f2f20616e64206164647320746865204e6f64655374616b657220746f20616e6f74686572206163636f756e7473205374616b696e6720436f6c6c656374696f6e0a2f2f206964656e7469666965642062792074686520746f20416464726573732e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c20746f3a204164647265737329207b0a202020206c65742066726f6d5374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a202020206c657420746f5374616b696e67436f6c6c656374696f6e4361703a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e7b466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e5075626c69637d0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a20202020202020202f2f20546865206163636f756e7420746f207472616e7366657220746865204e6f64655374616b6572206f626a65637420746f206d757374206861766520612076616c6964205374616b696e6720436f6c6c656374696f6e20696e206f7264657220746f207265636569766520746865204e6f64655374616b65722e0a20202020202020206966202821466c6f775374616b696e67436f6c6c656374696f6e2e646f65734163636f756e74486176655374616b696e67436f6c6c656374696f6e28616464726573733a20746f2929207b0a20202020202020202020202070616e6963282244657374696e6174696f6e206163636f756e74206d75737420686176652061205374616b696e6720436f6c6c656374696f6e207365742075702e22290a20202020202020207d0a0a20202020202020202f2f204765742061207265666572656e636520746f2074686520617574686f72697a657273205374616b696e67436f6c6c656374696f6e0a202020202020202073656c662e66726f6d5374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a0a20202020202020202f2f2047657420746865205075626c69634163636f756e74206f6620746865206163636f756e7420746f207472616e7366657220746865204e6f64655374616b657220746f2e200a20202020202020206c657420746f4163636f756e74203d206765744163636f756e7428746f290a0a20202020202020202f2f20426f72726f772061206361706162696c69747920746f20746865207075626c6963206d6574686f647320617661696c61626c65206f6e2074686520726563656976657273205374616b696e67436f6c6c656374696f6e2e0a202020202020202073656c662e746f5374616b696e67436f6c6c656374696f6e436170203d20746f4163636f756e742e6765744361706162696c6974793c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e7b466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e5075626c69637d3e28466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e5075626c696350617468292e626f72726f7728290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a0a20202020202020206c6574206d616368696e654163636f756e74496e666f203d2073656c662e66726f6d5374616b696e67436f6c6c656374696f6e5265662e6765744d616368696e654163636f756e747328295b6e6f646549445d0a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420676574206d616368696e65206163636f756e7420696e666f20666f722074686520737065636966696564206e6f646520494422290a0a20202020202020202f2f2052656d6f766520746865204e6f64655374616b65722066726f6d2074686520617574686f72697a657273205374616b696e67436f6c6c656374696f6e2e0a20202020202020206c6574206e6f64655374616b6572203c2d2073656c662e66726f6d5374616b696e67436f6c6c656374696f6e5265662e72656d6f76654e6f6465286e6f646549443a206e6f64654944290a0a20202020202020202f2f204465706f73697420746865204e6f64655374616b657220746f2074686520726563656976657273205374616b696e67436f6c6c656374696f6e2e0a202020202020202073656c662e746f5374616b696e67436f6c6c656374696f6e4361702e6164644e6f64654f626a656374283c2d206e6f64655374616b6572212c206d616368696e654163636f756e74496e666f3a206d616368696e654163636f756e74496e666f290a202020207d0a7df88eb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227daf7b2274797065223a2241646472657373222c2276616c7565223a22307865343637623964643131666130306466227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "022386d7ae1a5b936e3914729ee34e01d53a8fbd2e403512ec1beccb4062c231ebcdc3a63d0c75ea95b414becb6fbb8f5a8004236d48661cd3c3d4f540ee4d422e5472616e73666572204e6f64650002014e6f64652049440000537472696e67000301416464726573730001416464726573730003", - "hash": "cdc3a63d0c75ea95b414becb6fbb8f5a8004236d48661cd3c3d4f540ee4d422e" + "encodedTransactionPayloadHex": "f904acb903b7696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f20436f6d6d697473206e657720746f6b656e7320746f207374616b6520666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f2054686520746f6b656e732066726f6d20746865206c6f636b6564207661756c742061726520757365642066697273742c206966206974206578697374730a2f2f2f20666f6c6c6f7765642062792074686520746f6b656e732066726f6d2074686520756e6c6f636b6564207661756c740a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a206175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a206175746828426f72726f7756616c75652920264163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e73746f726167652e626f72726f773c6175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f2061205374616b696e67436f6c6c656374696f6e20696e20746865207072696d61727920757365722773206163636f756e7422290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e7374616b654e6577546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8b0b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227da07b2276616c7565223a6e756c6c2c2274797065223a224f7074696f6e616c227db07b2276616c7565223a2239323233333732303336382e3534373735383038222c2274797065223a22554669783634227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", + "encodedTransactionEnvelopeHex": "f904b0f904acb903b7696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f20436f6d6d697473206e657720746f6b656e7320746f207374616b6520666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f2054686520746f6b656e732066726f6d20746865206c6f636b6564207661756c742061726520757365642066697273742c206966206974206578697374730a2f2f2f20666f6c6c6f7765642062792074686520746f6b656e732066726f6d2074686520756e6c6f636b6564207661756c740a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a206175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a206175746828426f72726f7756616c75652920264163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e73746f726167652e626f72726f773c6175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f2061205374616b696e67436f6c6c656374696f6e20696e20746865207072696d61727920757365722773206163636f756e7422290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e7374616b654e6577546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8b0b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227da07b2276616c7565223a6e756c6c2c2274797065223a224f7074696f6e616c227db07b2276616c7565223a2239323233333732303336382e3534373735383038222c2274797065223a22554669783634227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", + "metadata": "02cf2b03950077352487e6344ab65edc3e1856731ab9cf68aa2ebbe279ae496d4b4c0658934352486097cc89fa06b98bac21e514770fc6a4d70a7adc4bec6d711d5374616b65204e657720546f6b656e730003014e6f64652049440000537472696e6700030244656c656761746f72204944000155496e743332000301416d6f756e7400025546697836340003", + "hash": "4c0658934352486097cc89fa06b98bac21e514770fc6a4d70a7adc4bec6d711d" }, { - "title": "SCO.14 - Transfer Delegator", + "title": "SCO.06 - Stake New Tokens - 2", "valid": true, "chainID": "Mainnet", "payloadMessage": { - "script": "import FlowStakingCollection from 0x8d0e87b65159ae63\n\n// Transfers a NodeDelegator object from an authorizers accoount\n// and adds the NodeDelegator to another accounts Staking Collection\n// identified by the to Address.\n\ntransaction(nodeID: String, delegatorID: UInt32, to: Address) {\n let fromStakingCollectionRef: &FlowStakingCollection.StakingCollection\n let toStakingCollectionCap: &FlowStakingCollection.StakingCollection{FlowStakingCollection.StakingCollectionPublic}\n\n prepare(account: AuthAccount) {\n // The account to transfer the NodeDelegator object to must have a valid Staking Collection in order to receive the NodeDelegator.\n if (!FlowStakingCollection.doesAccountHaveStakingCollection(address: to)) {\n panic(\"Destination account must have a Staking Collection set up.\")\n }\n\n // Get a reference to the authorizers StakingCollection\n self.fromStakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n\n // Get the PublicAccount of the account to transfer the NodeDelegator to. \n let toAccount = getAccount(to)\n\n // Borrow a capability to the public methods available on the receivers StakingCollection.\n self.toStakingCollectionCap = toAccount.getCapability<&FlowStakingCollection.StakingCollection{FlowStakingCollection.StakingCollectionPublic}>(FlowStakingCollection.StakingCollectionPublicPath).borrow()\n ?? panic(\"Could not borrow ref to StakingCollection\")\n }\n\n execute {\n // Remove the NodeDelegator from the authorizers StakingCollection.\n let nodeDelegator <- self.fromStakingCollectionRef.removeDelegator(nodeID: nodeID, delegatorID: delegatorID)\n\n // Deposit the NodeDelegator to the receivers StakingCollection.\n self.toStakingCollectionCap.addDelegatorObject(<- nodeDelegator!)\n }\n}", + "script": "import FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// Commits new tokens to stake for the specified node or delegator in the staking collection\n/// The tokens from the locked vault are used first, if it exists\n/// followed by the tokens from the unlocked vault\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: auth(FlowStakingCollection.CollectionOwner) &FlowStakingCollection.StakingCollection\n\n prepare(account: auth(BorrowValue) &Account) {\n self.stakingCollectionRef = account.storage.borrow(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow a reference to a StakingCollection in the primary user's account\")\n }\n\n execute {\n self.stakingCollectionRef.stakeNewTokens(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", "arguments": [ { "type": "String", "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" }, { - "type": "UInt32", - "value": "42" + "value": { + "value": "42", + "type": "UInt32" + }, + "type": "Optional" }, { - "type": "Address", - "value": "0xe467b9dd11fa00df" + "value": "92233720368.54775808", + "type": "UFix64" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -7531,19 +3842,22 @@ ] }, "envelopeMessage": { - "script": "import FlowStakingCollection from 0x8d0e87b65159ae63\n\n// Transfers a NodeDelegator object from an authorizers accoount\n// and adds the NodeDelegator to another accounts Staking Collection\n// identified by the to Address.\n\ntransaction(nodeID: String, delegatorID: UInt32, to: Address) {\n let fromStakingCollectionRef: &FlowStakingCollection.StakingCollection\n let toStakingCollectionCap: &FlowStakingCollection.StakingCollection{FlowStakingCollection.StakingCollectionPublic}\n\n prepare(account: AuthAccount) {\n // The account to transfer the NodeDelegator object to must have a valid Staking Collection in order to receive the NodeDelegator.\n if (!FlowStakingCollection.doesAccountHaveStakingCollection(address: to)) {\n panic(\"Destination account must have a Staking Collection set up.\")\n }\n\n // Get a reference to the authorizers StakingCollection\n self.fromStakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n\n // Get the PublicAccount of the account to transfer the NodeDelegator to. \n let toAccount = getAccount(to)\n\n // Borrow a capability to the public methods available on the receivers StakingCollection.\n self.toStakingCollectionCap = toAccount.getCapability<&FlowStakingCollection.StakingCollection{FlowStakingCollection.StakingCollectionPublic}>(FlowStakingCollection.StakingCollectionPublicPath).borrow()\n ?? panic(\"Could not borrow ref to StakingCollection\")\n }\n\n execute {\n // Remove the NodeDelegator from the authorizers StakingCollection.\n let nodeDelegator <- self.fromStakingCollectionRef.removeDelegator(nodeID: nodeID, delegatorID: delegatorID)\n\n // Deposit the NodeDelegator to the receivers StakingCollection.\n self.toStakingCollectionCap.addDelegatorObject(<- nodeDelegator!)\n }\n}", + "script": "import FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// Commits new tokens to stake for the specified node or delegator in the staking collection\n/// The tokens from the locked vault are used first, if it exists\n/// followed by the tokens from the unlocked vault\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: auth(FlowStakingCollection.CollectionOwner) &FlowStakingCollection.StakingCollection\n\n prepare(account: auth(BorrowValue) &Account) {\n self.stakingCollectionRef = account.storage.borrow(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow a reference to a StakingCollection in the primary user's account\")\n }\n\n execute {\n self.stakingCollectionRef.stakeNewTokens(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", "arguments": [ { "type": "String", "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" }, { - "type": "UInt32", - "value": "42" + "value": { + "value": "42", + "type": "UInt32" + }, + "type": "Optional" }, { - "type": "Address", - "value": "0xe467b9dd11fa00df" + "value": "92233720368.54775808", + "type": "UFix64" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -7559,25 +3873,29 @@ ], "payloadSigs": [] }, - "encodedTransactionPayloadHex": "f908b4b907c2696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f205472616e73666572732061204e6f646544656c656761746f72206f626a6563742066726f6d20616e20617574686f72697a657273206163636f6f756e740a2f2f20616e64206164647320746865204e6f646544656c656761746f7220746f20616e6f74686572206163636f756e7473205374616b696e6720436f6c6c656374696f6e0a2f2f206964656e7469666965642062792074686520746f20416464726573732e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433322c20746f3a204164647265737329207b0a202020206c65742066726f6d5374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a202020206c657420746f5374616b696e67436f6c6c656374696f6e4361703a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e7b466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e5075626c69637d0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a20202020202020202f2f20546865206163636f756e7420746f207472616e7366657220746865204e6f646544656c656761746f72206f626a65637420746f206d757374206861766520612076616c6964205374616b696e6720436f6c6c656374696f6e20696e206f7264657220746f207265636569766520746865204e6f646544656c656761746f722e0a20202020202020206966202821466c6f775374616b696e67436f6c6c656374696f6e2e646f65734163636f756e74486176655374616b696e67436f6c6c656374696f6e28616464726573733a20746f2929207b0a20202020202020202020202070616e6963282244657374696e6174696f6e206163636f756e74206d75737420686176652061205374616b696e6720436f6c6c656374696f6e207365742075702e22290a20202020202020207d0a0a20202020202020202f2f204765742061207265666572656e636520746f2074686520617574686f72697a657273205374616b696e67436f6c6c656374696f6e0a202020202020202073656c662e66726f6d5374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a0a20202020202020202f2f2047657420746865205075626c69634163636f756e74206f6620746865206163636f756e7420746f207472616e7366657220746865204e6f646544656c656761746f7220746f2e200a20202020202020206c657420746f4163636f756e74203d206765744163636f756e7428746f290a0a20202020202020202f2f20426f72726f772061206361706162696c69747920746f20746865207075626c6963206d6574686f647320617661696c61626c65206f6e2074686520726563656976657273205374616b696e67436f6c6c656374696f6e2e0a202020202020202073656c662e746f5374616b696e67436f6c6c656374696f6e436170203d20746f4163636f756e742e6765744361706162696c6974793c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e7b466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e5075626c69637d3e28466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e5075626c696350617468292e626f72726f7728290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a20202020202020202f2f2052656d6f766520746865204e6f646544656c656761746f722066726f6d2074686520617574686f72697a657273205374616b696e67436f6c6c656374696f6e2e0a20202020202020206c6574206e6f646544656c656761746f72203c2d2073656c662e66726f6d5374616b696e67436f6c6c656374696f6e5265662e72656d6f766544656c656761746f72286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f724944290a0a20202020202020202f2f204465706f73697420746865204e6f646544656c656761746f7220746f2074686520726563656976657273205374616b696e67436f6c6c656374696f6e2e0a202020202020202073656c662e746f5374616b696e67436f6c6c656374696f6e4361702e61646444656c656761746f724f626a656374283c2d206e6f646544656c656761746f7221290a202020207d0a7df8adb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227d9e7b2274797065223a2255496e743332222c2276616c7565223a223432227daf7b2274797065223a2241646472657373222c2276616c7565223a22307865343637623964643131666130306466227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f908b8f908b4b907c2696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f205472616e73666572732061204e6f646544656c656761746f72206f626a6563742066726f6d20616e20617574686f72697a657273206163636f6f756e740a2f2f20616e64206164647320746865204e6f646544656c656761746f7220746f20616e6f74686572206163636f756e7473205374616b696e6720436f6c6c656374696f6e0a2f2f206964656e7469666965642062792074686520746f20416464726573732e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433322c20746f3a204164647265737329207b0a202020206c65742066726f6d5374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a202020206c657420746f5374616b696e67436f6c6c656374696f6e4361703a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e7b466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e5075626c69637d0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a20202020202020202f2f20546865206163636f756e7420746f207472616e7366657220746865204e6f646544656c656761746f72206f626a65637420746f206d757374206861766520612076616c6964205374616b696e6720436f6c6c656374696f6e20696e206f7264657220746f207265636569766520746865204e6f646544656c656761746f722e0a20202020202020206966202821466c6f775374616b696e67436f6c6c656374696f6e2e646f65734163636f756e74486176655374616b696e67436f6c6c656374696f6e28616464726573733a20746f2929207b0a20202020202020202020202070616e6963282244657374696e6174696f6e206163636f756e74206d75737420686176652061205374616b696e6720436f6c6c656374696f6e207365742075702e22290a20202020202020207d0a0a20202020202020202f2f204765742061207265666572656e636520746f2074686520617574686f72697a657273205374616b696e67436f6c6c656374696f6e0a202020202020202073656c662e66726f6d5374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a0a20202020202020202f2f2047657420746865205075626c69634163636f756e74206f6620746865206163636f756e7420746f207472616e7366657220746865204e6f646544656c656761746f7220746f2e200a20202020202020206c657420746f4163636f756e74203d206765744163636f756e7428746f290a0a20202020202020202f2f20426f72726f772061206361706162696c69747920746f20746865207075626c6963206d6574686f647320617661696c61626c65206f6e2074686520726563656976657273205374616b696e67436f6c6c656374696f6e2e0a202020202020202073656c662e746f5374616b696e67436f6c6c656374696f6e436170203d20746f4163636f756e742e6765744361706162696c6974793c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e7b466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e5075626c69637d3e28466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e5075626c696350617468292e626f72726f7728290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a20202020202020202f2f2052656d6f766520746865204e6f646544656c656761746f722066726f6d2074686520617574686f72697a657273205374616b696e67436f6c6c656374696f6e2e0a20202020202020206c6574206e6f646544656c656761746f72203c2d2073656c662e66726f6d5374616b696e67436f6c6c656374696f6e5265662e72656d6f766544656c656761746f72286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f724944290a0a20202020202020202f2f204465706f73697420746865204e6f646544656c656761746f7220746f2074686520726563656976657273205374616b696e67436f6c6c656374696f6e2e0a202020202020202073656c662e746f5374616b696e67436f6c6c656374696f6e4361702e61646444656c656761746f724f626a656374283c2d206e6f646544656c656761746f7221290a202020207d0a7df8adb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227d9e7b2274797065223a2255496e743332222c2276616c7565223a223432227daf7b2274797065223a2241646472657373222c2276616c7565223a22307865343637623964643131666130306466227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "0253b096b4850a30894e7b272ec5c39e2b2f4a23f8c40e76a3c64cfc63dc2999b6b34d6fafcc5a4d0ed9cf92e168a08d0674c93341e2393ee72dde6664918ec2405472616e736665722044656c656761746f720003014e6f64652049440000537472696e6700030144656c656761746f72204944000155496e743332000301416464726573730002416464726573730003", - "hash": "b34d6fafcc5a4d0ed9cf92e168a08d0674c93341e2393ee72dde6664918ec240" + "encodedTransactionPayloadHex": "f904c7b903b7696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f20436f6d6d697473206e657720746f6b656e7320746f207374616b6520666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f2054686520746f6b656e732066726f6d20746865206c6f636b6564207661756c742061726520757365642066697273742c206966206974206578697374730a2f2f2f20666f6c6c6f7765642062792074686520746f6b656e732066726f6d2074686520756e6c6f636b6564207661756c740a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a206175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a206175746828426f72726f7756616c75652920264163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e73746f726167652e626f72726f773c6175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f2061205374616b696e67436f6c6c656374696f6e20696e20746865207072696d61727920757365722773206163636f756e7422290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e7374616b654e6577546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8cbb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db83a7b2276616c7565223a7b2276616c7565223a223432222c2274797065223a2255496e743332227d2c2274797065223a224f7074696f6e616c227db07b2276616c7565223a2239323233333732303336382e3534373735383038222c2274797065223a22554669783634227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", + "encodedTransactionEnvelopeHex": "f904cbf904c7b903b7696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f20436f6d6d697473206e657720746f6b656e7320746f207374616b6520666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f2054686520746f6b656e732066726f6d20746865206c6f636b6564207661756c742061726520757365642066697273742c206966206974206578697374730a2f2f2f20666f6c6c6f7765642062792074686520746f6b656e732066726f6d2074686520756e6c6f636b6564207661756c740a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a206175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a206175746828426f72726f7756616c75652920264163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e73746f726167652e626f72726f773c6175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f2061205374616b696e67436f6c6c656374696f6e20696e20746865207072696d61727920757365722773206163636f756e7422290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e7374616b654e6577546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8cbb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db83a7b2276616c7565223a7b2276616c7565223a223432222c2274797065223a2255496e743332227d2c2274797065223a224f7074696f6e616c227db07b2276616c7565223a2239323233333732303336382e3534373735383038222c2274797065223a22554669783634227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", + "metadata": "02cf2b03950077352487e6344ab65edc3e1856731ab9cf68aa2ebbe279ae496d4b4c0658934352486097cc89fa06b98bac21e514770fc6a4d70a7adc4bec6d711d5374616b65204e657720546f6b656e730003014e6f64652049440000537472696e6700030244656c656761746f72204944000155496e743332000301416d6f756e7400025546697836340003", + "hash": "4c0658934352486097cc89fa06b98bac21e514770fc6a4d70a7adc4bec6d711d" }, { - "title": "SCO.15 - Withdraw From Machine Account", + "title": "SCO.07 - Stake Rewarded Tokens - 1", "valid": true, "chainID": "Mainnet", "payloadMessage": { - "script": "import FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// Request to withdraw tokens from the machine account\n/// The tokens are automatically deposited to the unlocked account vault\n\ntransaction(nodeID: String, amount: UFix64) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n }\n\n execute {\n self.stakingCollectionRef.withdrawFromMachineAccount(nodeID: nodeID, amount: amount)\n }\n}\n", + "script": "import FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// Commits rewarded tokens to stake for the specified node or delegator in the staking collection\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: auth(FlowStakingCollection.CollectionOwner) &FlowStakingCollection.StakingCollection\n\n prepare(account: auth(BorrowValue) &Account) {\n self.stakingCollectionRef = account.storage.borrow(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow a reference to a StakingCollection in the primary user's account\")\n }\n\n execute {\n self.stakingCollectionRef.stakeRewardedTokens(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", "arguments": [ { "type": "String", "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" }, { - "type": "UFix64", - "value": "92233720368.54775808" + "value": null, + "type": "Optional" + }, + { + "value": "92233720368.54775808", + "type": "UFix64" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -7600,15 +3918,19 @@ ] }, "envelopeMessage": { - "script": "import FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// Request to withdraw tokens from the machine account\n/// The tokens are automatically deposited to the unlocked account vault\n\ntransaction(nodeID: String, amount: UFix64) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n }\n\n execute {\n self.stakingCollectionRef.withdrawFromMachineAccount(nodeID: nodeID, amount: amount)\n }\n}\n", + "script": "import FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// Commits rewarded tokens to stake for the specified node or delegator in the staking collection\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: auth(FlowStakingCollection.CollectionOwner) &FlowStakingCollection.StakingCollection\n\n prepare(account: auth(BorrowValue) &Account) {\n self.stakingCollectionRef = account.storage.borrow(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow a reference to a StakingCollection in the primary user's account\")\n }\n\n execute {\n self.stakingCollectionRef.stakeRewardedTokens(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", "arguments": [ { "type": "String", "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" }, { - "type": "UFix64", - "value": "92233720368.54775808" + "value": null, + "type": "Optional" + }, + { + "value": "92233720368.54775808", + "type": "UFix64" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -7624,25 +3946,32 @@ ], "payloadSigs": [] }, - "encodedTransactionPayloadHex": "f9037eb902aa696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f205265717565737420746f20776974686472617720746f6b656e732066726f6d20746865206d616368696e65206163636f756e740a2f2f2f2054686520746f6b656e7320617265206175746f6d61746963616c6c79206465706f736974656420746f2074686520756e6c6f636b6564206163636f756e74207661756c740a0a7472616e73616374696f6e286e6f646549443a20537472696e672c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e776974686472617746726f6d4d616368696e654163636f756e74286e6f646549443a206e6f646549442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af88fb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f90382f9037eb902aa696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f205265717565737420746f20776974686472617720746f6b656e732066726f6d20746865206d616368696e65206163636f756e740a2f2f2f2054686520746f6b656e7320617265206175746f6d61746963616c6c79206465706f736974656420746f2074686520756e6c6f636b6564206163636f756e74207661756c740a0a7472616e73616374696f6e286e6f646549443a20537472696e672c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e776974686472617746726f6d4d616368696e654163636f756e74286e6f646549443a206e6f646549442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af88fb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "0239a126038522c6c964d53aaf78dde55bfe80929091510792fe49678bb22cbd96f9c48e18bda7f113e82711a4c95dfd151c6600ed9fbf46ceb22566d6c5728c6f57697468647261772046726f6d204d616368696e65204163636f756e740002014e6f64652049440000537472696e67000301416d6f756e7400015546697836340003", - "hash": "f9c48e18bda7f113e82711a4c95dfd151c6600ed9fbf46ceb22566d6c5728c6f" + "encodedTransactionPayloadHex": "f90441b9034c696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f20436f6d6d69747320726577617264656420746f6b656e7320746f207374616b6520666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a206175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a206175746828426f72726f7756616c75652920264163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e73746f726167652e626f72726f773c6175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f2061205374616b696e67436f6c6c656374696f6e20696e20746865207072696d61727920757365722773206163636f756e7422290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e7374616b655265776172646564546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8b0b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227da07b2276616c7565223a6e756c6c2c2274797065223a224f7074696f6e616c227db07b2276616c7565223a2239323233333732303336382e3534373735383038222c2274797065223a22554669783634227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", + "encodedTransactionEnvelopeHex": "f90445f90441b9034c696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f20436f6d6d69747320726577617264656420746f6b656e7320746f207374616b6520666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a206175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a206175746828426f72726f7756616c75652920264163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e73746f726167652e626f72726f773c6175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f2061205374616b696e67436f6c6c656374696f6e20696e20746865207072696d61727920757365722773206163636f756e7422290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e7374616b655265776172646564546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8b0b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227da07b2276616c7565223a6e756c6c2c2274797065223a224f7074696f6e616c227db07b2276616c7565223a2239323233333732303336382e3534373735383038222c2274797065223a22554669783634227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", + "metadata": "024395faf2e515eea4d40f82416ad387575f0d5a580612223c361130e53e72f00bc989e8b3beb9c2eb5af2ee1e11d592c9f1131e76e7ef105a0d40cf1610d1e3485374616b6520526577617264656420546f6b656e730003014e6f64652049440000537472696e6700030244656c656761746f72204944000155496e743332000301416d6f756e7400025546697836340003", + "hash": "c989e8b3beb9c2eb5af2ee1e11d592c9f1131e76e7ef105a0d40cf1610d1e348" }, { - "title": "SCO.16 - Update Networking Address", + "title": "SCO.07 - Stake Rewarded Tokens - 2", "valid": true, "chainID": "Mainnet", "payloadMessage": { - "script": "import FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// Changes the networking address for the specified node\n\ntransaction(nodeID: String, newAddress: String) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n }\n\n execute {\n self.stakingCollectionRef.updateNetworkingAddress(nodeID: nodeID, newAddress: newAddress)\n }\n}\n", + "script": "import FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// Commits rewarded tokens to stake for the specified node or delegator in the staking collection\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: auth(FlowStakingCollection.CollectionOwner) &FlowStakingCollection.StakingCollection\n\n prepare(account: auth(BorrowValue) &Account) {\n self.stakingCollectionRef = account.storage.borrow(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow a reference to a StakingCollection in the primary user's account\")\n }\n\n execute {\n self.stakingCollectionRef.stakeRewardedTokens(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", "arguments": [ { "type": "String", "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" }, { - "type": "String", - "value": "flow-node.test:3569" + "value": { + "value": "42", + "type": "UInt32" + }, + "type": "Optional" + }, + { + "value": "92233720368.54775808", + "type": "UFix64" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -7665,15 +3994,22 @@ ] }, "envelopeMessage": { - "script": "import FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// Changes the networking address for the specified node\n\ntransaction(nodeID: String, newAddress: String) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n }\n\n execute {\n self.stakingCollectionRef.updateNetworkingAddress(nodeID: nodeID, newAddress: newAddress)\n }\n}\n", + "script": "import FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// Commits rewarded tokens to stake for the specified node or delegator in the staking collection\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: auth(FlowStakingCollection.CollectionOwner) &FlowStakingCollection.StakingCollection\n\n prepare(account: auth(BorrowValue) &Account) {\n self.stakingCollectionRef = account.storage.borrow(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow a reference to a StakingCollection in the primary user's account\")\n }\n\n execute {\n self.stakingCollectionRef.stakeRewardedTokens(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", "arguments": [ { "type": "String", "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" }, { - "type": "String", - "value": "flow-node.test:3569" + "value": { + "value": "42", + "type": "UInt32" + }, + "type": "Optional" + }, + { + "value": "92233720368.54775808", + "type": "UFix64" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -7689,18 +4025,31 @@ ], "payloadSigs": [] }, - "encodedTransactionPayloadHex": "f9033fb9026c696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f204368616e67657320746865206e6574776f726b696e67206164647265737320666f722074686520737065636966696564206e6f64650a0a7472616e73616374696f6e286e6f646549443a20537472696e672c206e6577416464726573733a20537472696e6729207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e7570646174654e6574776f726b696e6741646472657373286e6f646549443a206e6f646549442c206e6577416464726573733a206e657741646472657373290a202020207d0a7d0af88eb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227daf7b2274797065223a22537472696e67222c2276616c7565223a22666c6f772d6e6f64652e746573743a33353639227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f90343f9033fb9026c696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f204368616e67657320746865206e6574776f726b696e67206164647265737320666f722074686520737065636966696564206e6f64650a0a7472616e73616374696f6e286e6f646549443a20537472696e672c206e6577416464726573733a20537472696e6729207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e7570646174654e6574776f726b696e6741646472657373286e6f646549443a206e6f646549442c206e6577416464726573733a206e657741646472657373290a202020207d0a7d0af88eb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227daf7b2274797065223a22537472696e67222c2276616c7565223a22666c6f772d6e6f64652e746573743a33353639227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "0260f2cf219d56b19dc7fd223caed42dda9143c87b1b0d2c21a9652e12a3714133ff067b40ac67020ef864cd14842f62023254da34dd2ded56affa1364305bf1c5557064617465204e6574776f726b696e6720416464726573730002014e6f64652049440000537472696e67000301416464726573730001537472696e670003", - "hash": "ff067b40ac67020ef864cd14842f62023254da34dd2ded56affa1364305bf1c5" + "encodedTransactionPayloadHex": "f9045cb9034c696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f20436f6d6d69747320726577617264656420746f6b656e7320746f207374616b6520666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a206175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a206175746828426f72726f7756616c75652920264163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e73746f726167652e626f72726f773c6175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f2061205374616b696e67436f6c6c656374696f6e20696e20746865207072696d61727920757365722773206163636f756e7422290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e7374616b655265776172646564546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8cbb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db83a7b2276616c7565223a7b2276616c7565223a223432222c2274797065223a2255496e743332227d2c2274797065223a224f7074696f6e616c227db07b2276616c7565223a2239323233333732303336382e3534373735383038222c2274797065223a22554669783634227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", + "encodedTransactionEnvelopeHex": "f90460f9045cb9034c696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f20436f6d6d69747320726577617264656420746f6b656e7320746f207374616b6520666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a206175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a206175746828426f72726f7756616c75652920264163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e73746f726167652e626f72726f773c6175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f2061205374616b696e67436f6c6c656374696f6e20696e20746865207072696d61727920757365722773206163636f756e7422290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e7374616b655265776172646564546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8cbb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db83a7b2276616c7565223a7b2276616c7565223a223432222c2274797065223a2255496e743332227d2c2274797065223a224f7074696f6e616c227db07b2276616c7565223a2239323233333732303336382e3534373735383038222c2274797065223a22554669783634227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", + "metadata": "024395faf2e515eea4d40f82416ad387575f0d5a580612223c361130e53e72f00bc989e8b3beb9c2eb5af2ee1e11d592c9f1131e76e7ef105a0d40cf1610d1e3485374616b6520526577617264656420546f6b656e730003014e6f64652049440000537472696e6700030244656c656761746f72204944000155496e743332000301416d6f756e7400025546697836340003", + "hash": "c989e8b3beb9c2eb5af2ee1e11d592c9f1131e76e7ef105a0d40cf1610d1e348" }, { - "title": "FUSD.01 - Setup FUSD Vault", + "title": "SCO.08 - Stake Unstaked Tokens - 1", "valid": true, "chainID": "Mainnet", "payloadMessage": { - "script": "// This transaction configures the signer's account with an empty FUSD vault.\n//\n// It also links the following capabilities:\n//\n// - FungibleToken.Receiver: this capability allows this account to accept FUSD deposits.\n// - FungibleToken.Balance: this capability allows anybody to inspect the FUSD balance of this account.\n\nimport FungibleToken from 0xf233dcee88fe0abe\nimport FUSD from 0x3c5959b568896393\n\ntransaction {\n\n prepare(signer: AuthAccount) {\n\n // It's OK if the account already has a Vault, but we don't want to replace it\n if(signer.borrow<&FUSD.Vault>(from: /storage/fusdVault) != nil) {\n return\n }\n \n // Create a new FUSD Vault and put it in storage\n signer.save(<-FUSD.createEmptyVault(), to: /storage/fusdVault)\n\n // Create a public capability to the Vault that only exposes\n // the deposit function through the Receiver interface\n signer.link<&FUSD.Vault{FungibleToken.Receiver}>(\n /public/fusdReceiver,\n target: /storage/fusdVault\n )\n\n // Create a public capability to the Vault that only exposes\n // the balance field through the Balance interface\n signer.link<&FUSD.Vault{FungibleToken.Balance}>(\n /public/fusdBalance,\n target: /storage/fusdVault\n )\n }\n}\n", - "arguments": [], + "script": "import FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// Commits unstaked tokens to stake for the specified node or delegator in the staking collection\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: auth(FlowStakingCollection.CollectionOwner) &FlowStakingCollection.StakingCollection\n\n prepare(account: auth(BorrowValue) &Account) {\n self.stakingCollectionRef = account.storage.borrow(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow a reference to a StakingCollection in the primary user's account\")\n }\n\n execute {\n self.stakingCollectionRef.stakeUnstakedTokens(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", + "arguments": [ + { + "type": "String", + "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" + }, + { + "value": null, + "type": "Optional" + }, + { + "value": "92233720368.54775808", + "type": "UFix64" + } + ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", "gasLimit": 42, "proposalKey": { @@ -7721,8 +4070,21 @@ ] }, "envelopeMessage": { - "script": "// This transaction configures the signer's account with an empty FUSD vault.\n//\n// It also links the following capabilities:\n//\n// - FungibleToken.Receiver: this capability allows this account to accept FUSD deposits.\n// - FungibleToken.Balance: this capability allows anybody to inspect the FUSD balance of this account.\n\nimport FungibleToken from 0xf233dcee88fe0abe\nimport FUSD from 0x3c5959b568896393\n\ntransaction {\n\n prepare(signer: AuthAccount) {\n\n // It's OK if the account already has a Vault, but we don't want to replace it\n if(signer.borrow<&FUSD.Vault>(from: /storage/fusdVault) != nil) {\n return\n }\n \n // Create a new FUSD Vault and put it in storage\n signer.save(<-FUSD.createEmptyVault(), to: /storage/fusdVault)\n\n // Create a public capability to the Vault that only exposes\n // the deposit function through the Receiver interface\n signer.link<&FUSD.Vault{FungibleToken.Receiver}>(\n /public/fusdReceiver,\n target: /storage/fusdVault\n )\n\n // Create a public capability to the Vault that only exposes\n // the balance field through the Balance interface\n signer.link<&FUSD.Vault{FungibleToken.Balance}>(\n /public/fusdBalance,\n target: /storage/fusdVault\n )\n }\n}\n", - "arguments": [], + "script": "import FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// Commits unstaked tokens to stake for the specified node or delegator in the staking collection\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: auth(FlowStakingCollection.CollectionOwner) &FlowStakingCollection.StakingCollection\n\n prepare(account: auth(BorrowValue) &Account) {\n self.stakingCollectionRef = account.storage.borrow(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow a reference to a StakingCollection in the primary user's account\")\n }\n\n execute {\n self.stakingCollectionRef.stakeUnstakedTokens(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", + "arguments": [ + { + "type": "String", + "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" + }, + { + "value": null, + "type": "Optional" + }, + { + "value": "92233720368.54775808", + "type": "UFix64" + } + ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", "gasLimit": 42, "proposalKey": { @@ -7736,25 +4098,32 @@ ], "payloadSigs": [] }, - "encodedTransactionPayloadHex": "f9057ab905362f2f2054686973207472616e73616374696f6e20636f6e6669677572657320746865207369676e65722773206163636f756e74207769746820616e20656d7074792046555344207661756c742e0a2f2f0a2f2f20497420616c736f206c696e6b732074686520666f6c6c6f77696e67206361706162696c69746965733a0a2f2f0a2f2f202d2046756e6769626c65546f6b656e2e52656365697665723a2074686973206361706162696c69747920616c6c6f77732074686973206163636f756e7420746f206163636570742046555344206465706f736974732e0a2f2f202d2046756e6769626c65546f6b656e2e42616c616e63653a2074686973206361706162696c69747920616c6c6f777320616e79626f647920746f20696e73706563742074686520465553442062616c616e6365206f662074686973206163636f756e742e0a0a696d706f72742046756e6769626c65546f6b656e2066726f6d203078663233336463656538386665306162650a696d706f727420465553442066726f6d203078336335393539623536383839363339330a0a7472616e73616374696f6e207b0a0a2020202070726570617265287369676e65723a20417574684163636f756e7429207b0a0a20202020202020202f2f2049742773204f4b20696620746865206163636f756e7420616c7265616479206861732061205661756c742c2062757420776520646f6e27742077616e7420746f207265706c6163652069740a20202020202020206966287369676e65722e626f72726f773c26465553442e5661756c743e2866726f6d3a202f73746f726167652f667573645661756c742920213d206e696c29207b0a20202020202020202020202072657475726e0a20202020202020207d0a20202020202020200a20202020202020202f2f204372656174652061206e65772046555344205661756c7420616e642070757420697420696e2073746f726167650a20202020202020207369676e65722e73617665283c2d465553442e637265617465456d7074795661756c7428292c20746f3a202f73746f726167652f667573645661756c74290a0a20202020202020202f2f204372656174652061207075626c6963206361706162696c69747920746f20746865205661756c742074686174206f6e6c79206578706f7365730a20202020202020202f2f20746865206465706f7369742066756e6374696f6e207468726f7567682074686520526563656976657220696e746572666163650a20202020202020207369676e65722e6c696e6b3c26465553442e5661756c747b46756e6769626c65546f6b656e2e52656365697665727d3e280a2020202020202020202020202f7075626c69632f6675736452656365697665722c0a2020202020202020202020207461726765743a202f73746f726167652f667573645661756c740a2020202020202020290a0a20202020202020202f2f204372656174652061207075626c6963206361706162696c69747920746f20746865205661756c742074686174206f6e6c79206578706f7365730a20202020202020202f2f207468652062616c616e6365206669656c64207468726f756768207468652042616c616e636520696e746572666163650a20202020202020207369676e65722e6c696e6b3c26465553442e5661756c747b46756e6769626c65546f6b656e2e42616c616e63657d3e280a2020202020202020202020202f7075626c69632f6675736442616c616e63652c0a2020202020202020202020207461726765743a202f73746f726167652f667573645661756c740a2020202020202020290a202020207d0a7d0ac0a0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f9057ef9057ab905362f2f2054686973207472616e73616374696f6e20636f6e6669677572657320746865207369676e65722773206163636f756e74207769746820616e20656d7074792046555344207661756c742e0a2f2f0a2f2f20497420616c736f206c696e6b732074686520666f6c6c6f77696e67206361706162696c69746965733a0a2f2f0a2f2f202d2046756e6769626c65546f6b656e2e52656365697665723a2074686973206361706162696c69747920616c6c6f77732074686973206163636f756e7420746f206163636570742046555344206465706f736974732e0a2f2f202d2046756e6769626c65546f6b656e2e42616c616e63653a2074686973206361706162696c69747920616c6c6f777320616e79626f647920746f20696e73706563742074686520465553442062616c616e6365206f662074686973206163636f756e742e0a0a696d706f72742046756e6769626c65546f6b656e2066726f6d203078663233336463656538386665306162650a696d706f727420465553442066726f6d203078336335393539623536383839363339330a0a7472616e73616374696f6e207b0a0a2020202070726570617265287369676e65723a20417574684163636f756e7429207b0a0a20202020202020202f2f2049742773204f4b20696620746865206163636f756e7420616c7265616479206861732061205661756c742c2062757420776520646f6e27742077616e7420746f207265706c6163652069740a20202020202020206966287369676e65722e626f72726f773c26465553442e5661756c743e2866726f6d3a202f73746f726167652f667573645661756c742920213d206e696c29207b0a20202020202020202020202072657475726e0a20202020202020207d0a20202020202020200a20202020202020202f2f204372656174652061206e65772046555344205661756c7420616e642070757420697420696e2073746f726167650a20202020202020207369676e65722e73617665283c2d465553442e637265617465456d7074795661756c7428292c20746f3a202f73746f726167652f667573645661756c74290a0a20202020202020202f2f204372656174652061207075626c6963206361706162696c69747920746f20746865205661756c742074686174206f6e6c79206578706f7365730a20202020202020202f2f20746865206465706f7369742066756e6374696f6e207468726f7567682074686520526563656976657220696e746572666163650a20202020202020207369676e65722e6c696e6b3c26465553442e5661756c747b46756e6769626c65546f6b656e2e52656365697665727d3e280a2020202020202020202020202f7075626c69632f6675736452656365697665722c0a2020202020202020202020207461726765743a202f73746f726167652f667573645661756c740a2020202020202020290a0a20202020202020202f2f204372656174652061207075626c6963206361706162696c69747920746f20746865205661756c742074686174206f6e6c79206578706f7365730a20202020202020202f2f207468652062616c616e6365206669656c64207468726f756768207468652042616c616e636520696e746572666163650a20202020202020207369676e65722e6c696e6b3c26465553442e5661756c747b46756e6769626c65546f6b656e2e42616c616e63657d3e280a2020202020202020202020202f7075626c69632f6675736442616c616e63652c0a2020202020202020202020207461726765743a202f73746f726167652f667573645661756c740a2020202020202020290a202020207d0a7d0ac0a0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "020ffaf77ab320ce4cc9602d39b89c85f094ebcea571ed324537e703bc07b0fdc4aa7fecdf159e71bd0b029e40b22643fb443161e67796f42bac68e9bab4630e2953657475702046555344205661756c740000", - "hash": "aa7fecdf159e71bd0b029e40b22643fb443161e67796f42bac68e9bab4630e29" + "encodedTransactionPayloadHex": "f90441b9034c696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f20436f6d6d69747320756e7374616b656420746f6b656e7320746f207374616b6520666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a206175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a206175746828426f72726f7756616c75652920264163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e73746f726167652e626f72726f773c6175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f2061205374616b696e67436f6c6c656374696f6e20696e20746865207072696d61727920757365722773206163636f756e7422290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e7374616b65556e7374616b6564546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8b0b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227da07b2276616c7565223a6e756c6c2c2274797065223a224f7074696f6e616c227db07b2276616c7565223a2239323233333732303336382e3534373735383038222c2274797065223a22554669783634227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", + "encodedTransactionEnvelopeHex": "f90445f90441b9034c696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f20436f6d6d69747320756e7374616b656420746f6b656e7320746f207374616b6520666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a206175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a206175746828426f72726f7756616c75652920264163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e73746f726167652e626f72726f773c6175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f2061205374616b696e67436f6c6c656374696f6e20696e20746865207072696d61727920757365722773206163636f756e7422290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e7374616b65556e7374616b6564546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8b0b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227da07b2276616c7565223a6e756c6c2c2274797065223a224f7074696f6e616c227db07b2276616c7565223a2239323233333732303336382e3534373735383038222c2274797065223a22554669783634227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", + "metadata": "020b1721f2a8ef6c0c4121ef83c7b38f2141eebcd65c72dab9ebaafe1b4d66fea8fe6adb75bf22b2033800e916fa7e3a7810417e9a36d35320de7f4b5f7ec4f1b85374616b6520556e7374616b656420546f6b656e730003014e6f64652049440000537472696e6700030244656c656761746f72204944000155496e743332000301416d6f756e7400025546697836340003", + "hash": "fe6adb75bf22b2033800e916fa7e3a7810417e9a36d35320de7f4b5f7ec4f1b8" }, { - "title": "FUSD.02 - Transfer FUSD", + "title": "SCO.08 - Stake Unstaked Tokens - 2", "valid": true, "chainID": "Mainnet", "payloadMessage": { - "script": "// This transaction withdraws FUSD from the signer's account and deposits it into a recipient account. \n// This transaction will fail if the recipient does not have an FUSD receiver. \n// No funds are transferred or lost if the transaction fails.\n//\n// Parameters:\n// - amount: The amount of FUSD to transfer (e.g. 10.0)\n// - to: The recipient account address.\n//\n// This transaction will fail if either the sender or recipient does not have\n// an FUSD vault stored in their account. To check if an account has a vault\n// or initialize a new vault, use check_fusd_vault_setup.cdc and setup_fusd_vault.cdc\n// respectively.\n\nimport FungibleToken from 0xf233dcee88fe0abe\nimport FUSD from 0x3c5959b568896393\n\ntransaction(amount: UFix64, to: Address) {\n\n // The Vault resource that holds the tokens that are being transferred\n let sentVault: @FungibleToken.Vault\n\n prepare(signer: AuthAccount) {\n // Get a reference to the signer's stored vault\n let vaultRef = signer.borrow<&FUSD.Vault>(from: /storage/fusdVault)\n ?? panic(\"Could not borrow reference to the owner's Vault!\")\n\n // Withdraw tokens from the signer's stored vault\n self.sentVault <- vaultRef.withdraw(amount: amount)\n }\n\n execute {\n // Get the recipient's public account object\n let recipient = getAccount(to)\n\n // Get a reference to the recipient's Receiver\n let receiverRef = recipient.getCapability(/public/fusdReceiver)!.borrow<&{FungibleToken.Receiver}>()\n ?? panic(\"Could not borrow receiver reference to the recipient's Vault\")\n\n // Deposit the withdrawn tokens in the recipient's receiver\n receiverRef.deposit(from: <-self.sentVault)\n }\n}\n", + "script": "import FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// Commits unstaked tokens to stake for the specified node or delegator in the staking collection\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: auth(FlowStakingCollection.CollectionOwner) &FlowStakingCollection.StakingCollection\n\n prepare(account: auth(BorrowValue) &Account) {\n self.stakingCollectionRef = account.storage.borrow(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow a reference to a StakingCollection in the primary user's account\")\n }\n\n execute {\n self.stakingCollectionRef.stakeUnstakedTokens(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", "arguments": [ { - "type": "UFix64", - "value": "92233720368.54775808" + "type": "String", + "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" }, { - "type": "Address", - "value": "0xe467b9dd11fa00df" + "value": { + "value": "42", + "type": "UInt32" + }, + "type": "Optional" + }, + { + "value": "92233720368.54775808", + "type": "UFix64" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -7777,15 +4146,22 @@ ] }, "envelopeMessage": { - "script": "// This transaction withdraws FUSD from the signer's account and deposits it into a recipient account. \n// This transaction will fail if the recipient does not have an FUSD receiver. \n// No funds are transferred or lost if the transaction fails.\n//\n// Parameters:\n// - amount: The amount of FUSD to transfer (e.g. 10.0)\n// - to: The recipient account address.\n//\n// This transaction will fail if either the sender or recipient does not have\n// an FUSD vault stored in their account. To check if an account has a vault\n// or initialize a new vault, use check_fusd_vault_setup.cdc and setup_fusd_vault.cdc\n// respectively.\n\nimport FungibleToken from 0xf233dcee88fe0abe\nimport FUSD from 0x3c5959b568896393\n\ntransaction(amount: UFix64, to: Address) {\n\n // The Vault resource that holds the tokens that are being transferred\n let sentVault: @FungibleToken.Vault\n\n prepare(signer: AuthAccount) {\n // Get a reference to the signer's stored vault\n let vaultRef = signer.borrow<&FUSD.Vault>(from: /storage/fusdVault)\n ?? panic(\"Could not borrow reference to the owner's Vault!\")\n\n // Withdraw tokens from the signer's stored vault\n self.sentVault <- vaultRef.withdraw(amount: amount)\n }\n\n execute {\n // Get the recipient's public account object\n let recipient = getAccount(to)\n\n // Get a reference to the recipient's Receiver\n let receiverRef = recipient.getCapability(/public/fusdReceiver)!.borrow<&{FungibleToken.Receiver}>()\n ?? panic(\"Could not borrow receiver reference to the recipient's Vault\")\n\n // Deposit the withdrawn tokens in the recipient's receiver\n receiverRef.deposit(from: <-self.sentVault)\n }\n}\n", + "script": "import FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// Commits unstaked tokens to stake for the specified node or delegator in the staking collection\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: auth(FlowStakingCollection.CollectionOwner) &FlowStakingCollection.StakingCollection\n\n prepare(account: auth(BorrowValue) &Account) {\n self.stakingCollectionRef = account.storage.borrow(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow a reference to a StakingCollection in the primary user's account\")\n }\n\n execute {\n self.stakingCollectionRef.stakeUnstakedTokens(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", "arguments": [ { - "type": "UFix64", - "value": "92233720368.54775808" + "type": "String", + "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" }, { - "type": "Address", - "value": "0xe467b9dd11fa00df" + "value": { + "value": "42", + "type": "UInt32" + }, + "type": "Optional" + }, + { + "value": "92233720368.54775808", + "type": "UFix64" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -7801,18 +4177,23 @@ ], "payloadSigs": [] }, - "encodedTransactionPayloadHex": "f90759b906b32f2f2054686973207472616e73616374696f6e2077697468647261777320465553442066726f6d20746865207369676e65722773206163636f756e7420616e64206465706f7369747320697420696e746f206120726563697069656e74206163636f756e742e200a2f2f2054686973207472616e73616374696f6e2077696c6c206661696c2069662074686520726563697069656e7420646f6573206e6f74206861766520616e20465553442072656365697665722e200a2f2f204e6f2066756e647320617265207472616e73666572726564206f72206c6f737420696620746865207472616e73616374696f6e206661696c732e0a2f2f0a2f2f20506172616d65746572733a0a2f2f202d20616d6f756e743a2054686520616d6f756e74206f66204655534420746f207472616e736665722028652e672e2031302e30290a2f2f202d20746f3a2054686520726563697069656e74206163636f756e7420616464726573732e0a2f2f0a2f2f2054686973207472616e73616374696f6e2077696c6c206661696c20696620656974686572207468652073656e646572206f7220726563697069656e7420646f6573206e6f7420686176650a2f2f20616e2046555344207661756c742073746f72656420696e207468656972206163636f756e742e20546f20636865636b20696620616e206163636f756e74206861732061207661756c740a2f2f206f7220696e697469616c697a652061206e6577207661756c742c2075736520636865636b5f667573645f7661756c745f73657475702e63646320616e642073657475705f667573645f7661756c742e6364630a2f2f20726573706563746976656c792e0a0a696d706f72742046756e6769626c65546f6b656e2066726f6d203078663233336463656538386665306162650a696d706f727420465553442066726f6d203078336335393539623536383839363339330a0a7472616e73616374696f6e28616d6f756e743a205546697836342c20746f3a204164647265737329207b0a0a202020202f2f20546865205661756c74207265736f75726365207468617420686f6c64732074686520746f6b656e73207468617420617265206265696e67207472616e736665727265640a202020206c65742073656e745661756c743a204046756e6769626c65546f6b656e2e5661756c740a0a2020202070726570617265287369676e65723a20417574684163636f756e7429207b0a20202020202020202f2f204765742061207265666572656e636520746f20746865207369676e657227732073746f726564207661756c740a20202020202020206c6574207661756c74526566203d207369676e65722e626f72726f773c26465553442e5661756c743e2866726f6d3a202f73746f726167652f667573645661756c74290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f20746865206f776e65722773205661756c742122290a0a20202020202020202f2f20576974686472617720746f6b656e732066726f6d20746865207369676e657227732073746f726564207661756c740a202020202020202073656c662e73656e745661756c74203c2d207661756c745265662e776974686472617728616d6f756e743a20616d6f756e74290a202020207d0a0a2020202065786563757465207b0a20202020202020202f2f204765742074686520726563697069656e742773207075626c6963206163636f756e74206f626a6563740a20202020202020206c657420726563697069656e74203d206765744163636f756e7428746f290a0a20202020202020202f2f204765742061207265666572656e636520746f2074686520726563697069656e7427732052656365697665720a20202020202020206c6574207265636569766572526566203d20726563697069656e742e6765744361706162696c697479282f7075626c69632f66757364526563656976657229212e626f72726f773c267b46756e6769626c65546f6b656e2e52656365697665727d3e28290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265636569766572207265666572656e636520746f2074686520726563697069656e742773205661756c7422290a0a20202020202020202f2f204465706f736974207468652077697468647261776e20746f6b656e7320696e2074686520726563697069656e7427732072656365697665720a202020202020202072656365697665725265662e6465706f7369742866726f6d3a203c2d73656c662e73656e745661756c74290a202020207d0a7d0af861b07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227daf7b2274797065223a2241646472657373222c2276616c7565223a22307865343637623964643131666130306466227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f9075df90759b906b32f2f2054686973207472616e73616374696f6e2077697468647261777320465553442066726f6d20746865207369676e65722773206163636f756e7420616e64206465706f7369747320697420696e746f206120726563697069656e74206163636f756e742e200a2f2f2054686973207472616e73616374696f6e2077696c6c206661696c2069662074686520726563697069656e7420646f6573206e6f74206861766520616e20465553442072656365697665722e200a2f2f204e6f2066756e647320617265207472616e73666572726564206f72206c6f737420696620746865207472616e73616374696f6e206661696c732e0a2f2f0a2f2f20506172616d65746572733a0a2f2f202d20616d6f756e743a2054686520616d6f756e74206f66204655534420746f207472616e736665722028652e672e2031302e30290a2f2f202d20746f3a2054686520726563697069656e74206163636f756e7420616464726573732e0a2f2f0a2f2f2054686973207472616e73616374696f6e2077696c6c206661696c20696620656974686572207468652073656e646572206f7220726563697069656e7420646f6573206e6f7420686176650a2f2f20616e2046555344207661756c742073746f72656420696e207468656972206163636f756e742e20546f20636865636b20696620616e206163636f756e74206861732061207661756c740a2f2f206f7220696e697469616c697a652061206e6577207661756c742c2075736520636865636b5f667573645f7661756c745f73657475702e63646320616e642073657475705f667573645f7661756c742e6364630a2f2f20726573706563746976656c792e0a0a696d706f72742046756e6769626c65546f6b656e2066726f6d203078663233336463656538386665306162650a696d706f727420465553442066726f6d203078336335393539623536383839363339330a0a7472616e73616374696f6e28616d6f756e743a205546697836342c20746f3a204164647265737329207b0a0a202020202f2f20546865205661756c74207265736f75726365207468617420686f6c64732074686520746f6b656e73207468617420617265206265696e67207472616e736665727265640a202020206c65742073656e745661756c743a204046756e6769626c65546f6b656e2e5661756c740a0a2020202070726570617265287369676e65723a20417574684163636f756e7429207b0a20202020202020202f2f204765742061207265666572656e636520746f20746865207369676e657227732073746f726564207661756c740a20202020202020206c6574207661756c74526566203d207369676e65722e626f72726f773c26465553442e5661756c743e2866726f6d3a202f73746f726167652f667573645661756c74290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f20746865206f776e65722773205661756c742122290a0a20202020202020202f2f20576974686472617720746f6b656e732066726f6d20746865207369676e657227732073746f726564207661756c740a202020202020202073656c662e73656e745661756c74203c2d207661756c745265662e776974686472617728616d6f756e743a20616d6f756e74290a202020207d0a0a2020202065786563757465207b0a20202020202020202f2f204765742074686520726563697069656e742773207075626c6963206163636f756e74206f626a6563740a20202020202020206c657420726563697069656e74203d206765744163636f756e7428746f290a0a20202020202020202f2f204765742061207265666572656e636520746f2074686520726563697069656e7427732052656365697665720a20202020202020206c6574207265636569766572526566203d20726563697069656e742e6765744361706162696c697479282f7075626c69632f66757364526563656976657229212e626f72726f773c267b46756e6769626c65546f6b656e2e52656365697665727d3e28290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265636569766572207265666572656e636520746f2074686520726563697069656e742773205661756c7422290a0a20202020202020202f2f204465706f736974207468652077697468647261776e20746f6b656e7320696e2074686520726563697069656e7427732072656365697665720a202020202020202072656365697665725265662e6465706f7369742866726f6d3a203c2d73656c662e73656e745661756c74290a202020207d0a7d0af861b07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227daf7b2274797065223a2241646472657373222c2276616c7565223a22307865343637623964643131666130306466227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "02f22ca4b350a79c724f6471d5a6a7a0efa7ba9aeebb7fed2843a3ddd6e42c2e1c180cef7053a5f0ae66e19e3a96cc3b9eb7da29767fb5d6938239bf1f8e1dc2845472616e736665722046555344000201416d6f756e740000554669783634000301526563697069656e740001416464726573730003", - "hash": "180cef7053a5f0ae66e19e3a96cc3b9eb7da29767fb5d6938239bf1f8e1dc284" + "encodedTransactionPayloadHex": "f9045cb9034c696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f20436f6d6d69747320756e7374616b656420746f6b656e7320746f207374616b6520666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a206175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a206175746828426f72726f7756616c75652920264163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e73746f726167652e626f72726f773c6175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f2061205374616b696e67436f6c6c656374696f6e20696e20746865207072696d61727920757365722773206163636f756e7422290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e7374616b65556e7374616b6564546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8cbb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db83a7b2276616c7565223a7b2276616c7565223a223432222c2274797065223a2255496e743332227d2c2274797065223a224f7074696f6e616c227db07b2276616c7565223a2239323233333732303336382e3534373735383038222c2274797065223a22554669783634227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", + "encodedTransactionEnvelopeHex": "f90460f9045cb9034c696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f20436f6d6d69747320756e7374616b656420746f6b656e7320746f207374616b6520666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a206175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a206175746828426f72726f7756616c75652920264163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e73746f726167652e626f72726f773c6175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f2061205374616b696e67436f6c6c656374696f6e20696e20746865207072696d61727920757365722773206163636f756e7422290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e7374616b65556e7374616b6564546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8cbb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db83a7b2276616c7565223a7b2276616c7565223a223432222c2274797065223a2255496e743332227d2c2274797065223a224f7074696f6e616c227db07b2276616c7565223a2239323233333732303336382e3534373735383038222c2274797065223a22554669783634227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", + "metadata": "020b1721f2a8ef6c0c4121ef83c7b38f2141eebcd65c72dab9ebaafe1b4d66fea8fe6adb75bf22b2033800e916fa7e3a7810417e9a36d35320de7f4b5f7ec4f1b85374616b6520556e7374616b656420546f6b656e730003014e6f64652049440000537472696e6700030244656c656761746f72204944000155496e743332000301416d6f756e7400025546697836340003", + "hash": "fe6adb75bf22b2033800e916fa7e3a7810417e9a36d35320de7f4b5f7ec4f1b8" }, { - "title": "TS.01 - Set up Top Shot Collection", + "title": "SCO.09 - Unstake All", "valid": true, "chainID": "Mainnet", "payloadMessage": { - "script": "import TopShot from 0x0b2a3299cc857e29\n\n// This transaction sets up an account to use Top Shot\n// by storing an empty moment collection and creating\n// a public capability for it\n\ntransaction {\n\n prepare(acct: AuthAccount) {\n\n // First, check to see if a moment collection already exists\n if acct.borrow<&TopShot.Collection>(from: /storage/MomentCollection) == nil {\n\n // create a new TopShot Collection\n let collection <- TopShot.createEmptyCollection() as! @TopShot.Collection\n\n // Put the new Collection in storage\n acct.save(<-collection, to: /storage/MomentCollection)\n\n // create a public capability for the collection\n acct.link<&{TopShot.MomentCollectionPublic}>(/public/MomentCollection, target: /storage/MomentCollection)\n }\n }\n}", - "arguments": [], + "script": "import FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// Requests to unstake ALL tokens for the specified node or delegator in the staking collection\n\ntransaction(nodeID: String) {\n \n let stakingCollectionRef: auth(FlowStakingCollection.CollectionOwner) &FlowStakingCollection.StakingCollection\n\n prepare(account: auth(BorrowValue) &Account) {\n self.stakingCollectionRef = account.storage.borrow(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow a reference to a StakingCollection in the primary user's account\")\n }\n\n execute {\n self.stakingCollectionRef.unstakeAll(nodeID: nodeID)\n }\n}\n", + "arguments": [ + { + "type": "String", + "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" + } + ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", "gasLimit": 42, "proposalKey": { @@ -7833,8 +4214,13 @@ ] }, "envelopeMessage": { - "script": "import TopShot from 0x0b2a3299cc857e29\n\n// This transaction sets up an account to use Top Shot\n// by storing an empty moment collection and creating\n// a public capability for it\n\ntransaction {\n\n prepare(acct: AuthAccount) {\n\n // First, check to see if a moment collection already exists\n if acct.borrow<&TopShot.Collection>(from: /storage/MomentCollection) == nil {\n\n // create a new TopShot Collection\n let collection <- TopShot.createEmptyCollection() as! @TopShot.Collection\n\n // Put the new Collection in storage\n acct.save(<-collection, to: /storage/MomentCollection)\n\n // create a public capability for the collection\n acct.link<&{TopShot.MomentCollectionPublic}>(/public/MomentCollection, target: /storage/MomentCollection)\n }\n }\n}", - "arguments": [], + "script": "import FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// Requests to unstake ALL tokens for the specified node or delegator in the staking collection\n\ntransaction(nodeID: String) {\n \n let stakingCollectionRef: auth(FlowStakingCollection.CollectionOwner) &FlowStakingCollection.StakingCollection\n\n prepare(account: auth(BorrowValue) &Account) {\n self.stakingCollectionRef = account.storage.borrow(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow a reference to a StakingCollection in the primary user's account\")\n }\n\n execute {\n self.stakingCollectionRef.unstakeAll(nodeID: nodeID)\n }\n}\n", + "arguments": [ + { + "type": "String", + "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" + } + ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", "gasLimit": 42, "proposalKey": { @@ -7848,25 +4234,32 @@ ], "payloadSigs": [] }, - "encodedTransactionPayloadHex": "f90384b90340696d706f727420546f7053686f742066726f6d203078306232613332393963633835376532390a0a2f2f2054686973207472616e73616374696f6e207365747320757020616e206163636f756e7420746f2075736520546f702053686f740a2f2f2062792073746f72696e6720616e20656d707479206d6f6d656e7420636f6c6c656374696f6e20616e64206372656174696e670a2f2f2061207075626c6963206361706162696c69747920666f722069740a0a7472616e73616374696f6e207b0a0a202020207072657061726528616363743a20417574684163636f756e7429207b0a0a20202020202020202f2f2046697273742c20636865636b20746f207365652069662061206d6f6d656e7420636f6c6c656374696f6e20616c7265616479206578697374730a2020202020202020696620616363742e626f72726f773c26546f7053686f742e436f6c6c656374696f6e3e2866726f6d3a202f73746f726167652f4d6f6d656e74436f6c6c656374696f6e29203d3d206e696c207b0a0a2020202020202020202020202f2f206372656174652061206e657720546f7053686f7420436f6c6c656374696f6e0a2020202020202020202020206c657420636f6c6c656374696f6e203c2d20546f7053686f742e637265617465456d707479436f6c6c656374696f6e2829206173212040546f7053686f742e436f6c6c656374696f6e0a0a2020202020202020202020202f2f2050757420746865206e657720436f6c6c656374696f6e20696e2073746f726167650a202020202020202020202020616363742e73617665283c2d636f6c6c656374696f6e2c20746f3a202f73746f726167652f4d6f6d656e74436f6c6c656374696f6e290a0a2020202020202020202020202f2f206372656174652061207075626c6963206361706162696c69747920666f722074686520636f6c6c656374696f6e0a202020202020202020202020616363742e6c696e6b3c267b546f7053686f742e4d6f6d656e74436f6c6c656374696f6e5075626c69637d3e282f7075626c69632f4d6f6d656e74436f6c6c656374696f6e2c207461726765743a202f73746f726167652f4d6f6d656e74436f6c6c656374696f6e290a20202020202020207d0a202020207d0a7dc0a0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f90388f90384b90340696d706f727420546f7053686f742066726f6d203078306232613332393963633835376532390a0a2f2f2054686973207472616e73616374696f6e207365747320757020616e206163636f756e7420746f2075736520546f702053686f740a2f2f2062792073746f72696e6720616e20656d707479206d6f6d656e7420636f6c6c656374696f6e20616e64206372656174696e670a2f2f2061207075626c6963206361706162696c69747920666f722069740a0a7472616e73616374696f6e207b0a0a202020207072657061726528616363743a20417574684163636f756e7429207b0a0a20202020202020202f2f2046697273742c20636865636b20746f207365652069662061206d6f6d656e7420636f6c6c656374696f6e20616c7265616479206578697374730a2020202020202020696620616363742e626f72726f773c26546f7053686f742e436f6c6c656374696f6e3e2866726f6d3a202f73746f726167652f4d6f6d656e74436f6c6c656374696f6e29203d3d206e696c207b0a0a2020202020202020202020202f2f206372656174652061206e657720546f7053686f7420436f6c6c656374696f6e0a2020202020202020202020206c657420636f6c6c656374696f6e203c2d20546f7053686f742e637265617465456d707479436f6c6c656374696f6e2829206173212040546f7053686f742e436f6c6c656374696f6e0a0a2020202020202020202020202f2f2050757420746865206e657720436f6c6c656374696f6e20696e2073746f726167650a202020202020202020202020616363742e73617665283c2d636f6c6c656374696f6e2c20746f3a202f73746f726167652f4d6f6d656e74436f6c6c656374696f6e290a0a2020202020202020202020202f2f206372656174652061207075626c6963206361706162696c69747920666f722074686520636f6c6c656374696f6e0a202020202020202020202020616363742e6c696e6b3c267b546f7053686f742e4d6f6d656e74436f6c6c656374696f6e5075626c69637d3e282f7075626c69632f4d6f6d656e74436f6c6c656374696f6e2c207461726765743a202f73746f726167652f4d6f6d656e74436f6c6c656374696f6e290a20202020202020207d0a202020207d0a7dc0a0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "020f0baeef9353ceee607c5be3b7c0f86792dadf20b9e9c89e831adb0199e758827511848f1c27a173d966f4b868fd7efead7eeb1bbf04fc3f3e60dabc6c7f759353657420757020546f702053686f7420436f6c6c656374696f6e0000", - "hash": "7511848f1c27a173d966f4b868fd7efead7eeb1bbf04fc3f3e60dabc6c7f7593" + "encodedTransactionPayloadHex": "f90394b902f1696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f20526571756573747320746f20756e7374616b6520414c4c20746f6b656e7320666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a0a7472616e73616374696f6e286e6f646549443a20537472696e6729207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a206175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a206175746828426f72726f7756616c75652920264163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e73746f726167652e626f72726f773c6175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f2061205374616b696e67436f6c6c656374696f6e20696e20746865207072696d61727920757365722773206163636f756e7422290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e756e7374616b65416c6c286e6f646549443a206e6f64654944290a202020207d0a7d0af85eb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", + "encodedTransactionEnvelopeHex": "f90398f90394b902f1696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f20526571756573747320746f20756e7374616b6520414c4c20746f6b656e7320666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a0a7472616e73616374696f6e286e6f646549443a20537472696e6729207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a206175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a206175746828426f72726f7756616c75652920264163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e73746f726167652e626f72726f773c6175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f2061205374616b696e67436f6c6c656374696f6e20696e20746865207072696d61727920757365722773206163636f756e7422290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e756e7374616b65416c6c286e6f646549443a206e6f64654944290a202020207d0a7d0af85eb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", + "metadata": "02c84843e3399be2ce95ea00e7c17d72db3c5c3363ec008c7a1c1cfa5b6afe70ae1c8256fb857f6c6fd929511ecac8624d0159877cf72c884f7128297dfb069510556e7374616b6520416c6c0001014e6f64652049440000537472696e670003", + "hash": "1c8256fb857f6c6fd929511ecac8624d0159877cf72c884f7128297dfb069510" }, { - "title": "TS.02 - Transfer Top Shot Moment", + "title": "SCO.10 - Withdraw Rewarded Tokens - 1", "valid": true, "chainID": "Mainnet", "payloadMessage": { - "script": "import NonFungibleToken from 0x1d7e57aa55817448\nimport TopShot from 0x0b2a3299cc857e29\n\n// This transaction transfers a moment to a recipient\n\n// This transaction is how a topshot user would transfer a moment\n// from their account to another account\n// The recipient must have a TopShot Collection object stored\n// and a public MomentCollectionPublic capability stored at\n// `/public/MomentCollection`\n\n// Parameters:\n//\n// recipient: The Flow address of the account to receive the moment.\n// withdrawID: The id of the moment to be transferred\n\ntransaction(recipient: Address, withdrawID: UInt64) {\n\n // local variable for storing the transferred token\n let transferToken: @NonFungibleToken.NFT\n \n prepare(acct: AuthAccount) {\n\n // borrow a reference to the owner's collection\n let collectionRef = acct.borrow<&TopShot.Collection>(from: /storage/MomentCollection)\n ?? panic(\"Could not borrow a reference to the stored Moment collection\")\n \n // withdraw the NFT\n self.transferToken <- collectionRef.withdraw(withdrawID: withdrawID)\n }\n\n execute {\n \n // get the recipient's public account object\n let recipient = getAccount(recipient)\n\n // get the Collection reference for the receiver\n let receiverRef = recipient.getCapability(/public/MomentCollection).borrow<&{TopShot.MomentCollectionPublic}>()!\n\n // deposit the NFT in the receivers collection\n receiverRef.deposit(token: <-self.transferToken)\n }\n}", + "script": "import FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// Request to withdraw rewarded tokens for the specified node or delegator in the staking collection\n/// The tokens are automatically deposited to the unlocked account vault first,\n/// And then any locked tokens are deposited into the locked account vault\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: auth(FlowStakingCollection.CollectionOwner) &FlowStakingCollection.StakingCollection\n\n prepare(account: auth(BorrowValue) &Account) {\n self.stakingCollectionRef = account.storage.borrow(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow a reference to a StakingCollection in the primary user's account\")\n }\n\n execute {\n self.stakingCollectionRef.withdrawRewardedTokens(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", "arguments": [ { - "type": "Address", - "value": "0xe467b9dd11fa00df" + "type": "String", + "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" + }, + { + "value": { + "value": "42", + "type": "UInt32" + }, + "type": "Optional" }, { - "type": "UInt64", - "value": "42" + "value": "92233720368.54775808", + "type": "UFix64" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -7889,15 +4282,22 @@ ] }, "envelopeMessage": { - "script": "import NonFungibleToken from 0x1d7e57aa55817448\nimport TopShot from 0x0b2a3299cc857e29\n\n// This transaction transfers a moment to a recipient\n\n// This transaction is how a topshot user would transfer a moment\n// from their account to another account\n// The recipient must have a TopShot Collection object stored\n// and a public MomentCollectionPublic capability stored at\n// `/public/MomentCollection`\n\n// Parameters:\n//\n// recipient: The Flow address of the account to receive the moment.\n// withdrawID: The id of the moment to be transferred\n\ntransaction(recipient: Address, withdrawID: UInt64) {\n\n // local variable for storing the transferred token\n let transferToken: @NonFungibleToken.NFT\n \n prepare(acct: AuthAccount) {\n\n // borrow a reference to the owner's collection\n let collectionRef = acct.borrow<&TopShot.Collection>(from: /storage/MomentCollection)\n ?? panic(\"Could not borrow a reference to the stored Moment collection\")\n \n // withdraw the NFT\n self.transferToken <- collectionRef.withdraw(withdrawID: withdrawID)\n }\n\n execute {\n \n // get the recipient's public account object\n let recipient = getAccount(recipient)\n\n // get the Collection reference for the receiver\n let receiverRef = recipient.getCapability(/public/MomentCollection).borrow<&{TopShot.MomentCollectionPublic}>()!\n\n // deposit the NFT in the receivers collection\n receiverRef.deposit(token: <-self.transferToken)\n }\n}", + "script": "import FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// Request to withdraw rewarded tokens for the specified node or delegator in the staking collection\n/// The tokens are automatically deposited to the unlocked account vault first,\n/// And then any locked tokens are deposited into the locked account vault\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: auth(FlowStakingCollection.CollectionOwner) &FlowStakingCollection.StakingCollection\n\n prepare(account: auth(BorrowValue) &Account) {\n self.stakingCollectionRef = account.storage.borrow(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow a reference to a StakingCollection in the primary user's account\")\n }\n\n execute {\n self.stakingCollectionRef.withdrawRewardedTokens(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", "arguments": [ { - "type": "Address", - "value": "0xe467b9dd11fa00df" + "type": "String", + "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" + }, + { + "value": { + "value": "42", + "type": "UInt32" + }, + "type": "Optional" }, { - "type": "UInt64", - "value": "42" + "value": "92233720368.54775808", + "type": "UFix64" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -7913,18 +4313,31 @@ ], "payloadSigs": [] }, - "encodedTransactionPayloadHex": "f90681b905ed696d706f7274204e6f6e46756e6769626c65546f6b656e2066726f6d203078316437653537616135353831373434380a696d706f727420546f7053686f742066726f6d203078306232613332393963633835376532390a0a2f2f2054686973207472616e73616374696f6e207472616e73666572732061206d6f6d656e7420746f206120726563697069656e740a0a2f2f2054686973207472616e73616374696f6e20697320686f77206120746f7073686f74207573657220776f756c64207472616e736665722061206d6f6d656e740a2f2f2066726f6d207468656972206163636f756e7420746f20616e6f74686572206163636f756e740a2f2f2054686520726563697069656e74206d7573742068617665206120546f7053686f7420436f6c6c656374696f6e206f626a6563742073746f7265640a2f2f20616e642061207075626c6963204d6f6d656e74436f6c6c656374696f6e5075626c6963206361706162696c6974792073746f7265642061740a2f2f20602f7075626c69632f4d6f6d656e74436f6c6c656374696f6e600a0a2f2f20506172616d65746572733a0a2f2f0a2f2f20726563697069656e743a2054686520466c6f772061646472657373206f6620746865206163636f756e7420746f207265636569766520746865206d6f6d656e742e0a2f2f20776974686472617749443a20546865206964206f6620746865206d6f6d656e7420746f206265207472616e736665727265640a0a7472616e73616374696f6e28726563697069656e743a20416464726573732c20776974686472617749443a2055496e74363429207b0a0a202020202f2f206c6f63616c207661726961626c6520666f722073746f72696e6720746865207472616e7366657272656420746f6b656e0a202020206c6574207472616e73666572546f6b656e3a20404e6f6e46756e6769626c65546f6b656e2e4e46540a202020200a202020207072657061726528616363743a20417574684163636f756e7429207b0a0a20202020202020202f2f20626f72726f772061207265666572656e636520746f20746865206f776e6572277320636f6c6c656374696f6e0a20202020202020206c657420636f6c6c656374696f6e526566203d20616363742e626f72726f773c26546f7053686f742e436f6c6c656374696f6e3e2866726f6d3a202f73746f726167652f4d6f6d656e74436f6c6c656374696f6e290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f207468652073746f726564204d6f6d656e7420636f6c6c656374696f6e22290a20202020202020200a20202020202020202f2f20776974686472617720746865204e46540a202020202020202073656c662e7472616e73666572546f6b656e203c2d20636f6c6c656374696f6e5265662e776974686472617728776974686472617749443a2077697468647261774944290a202020207d0a0a2020202065786563757465207b0a20202020202020200a20202020202020202f2f206765742074686520726563697069656e742773207075626c6963206163636f756e74206f626a6563740a20202020202020206c657420726563697069656e74203d206765744163636f756e7428726563697069656e74290a0a20202020202020202f2f206765742074686520436f6c6c656374696f6e207265666572656e636520666f72207468652072656365697665720a20202020202020206c6574207265636569766572526566203d20726563697069656e742e6765744361706162696c697479282f7075626c69632f4d6f6d656e74436f6c6c656374696f6e292e626f72726f773c267b546f7053686f742e4d6f6d656e74436f6c6c656374696f6e5075626c69637d3e2829210a0a20202020202020202f2f206465706f73697420746865204e465420696e207468652072656365697665727320636f6c6c656374696f6e0a202020202020202072656365697665725265662e6465706f73697428746f6b656e3a203c2d73656c662e7472616e73666572546f6b656e290a202020207d0a7df84faf7b2274797065223a2241646472657373222c2276616c7565223a22307865343637623964643131666130306466227d9e7b2274797065223a2255496e743634222c2276616c7565223a223432227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f90685f90681b905ed696d706f7274204e6f6e46756e6769626c65546f6b656e2066726f6d203078316437653537616135353831373434380a696d706f727420546f7053686f742066726f6d203078306232613332393963633835376532390a0a2f2f2054686973207472616e73616374696f6e207472616e73666572732061206d6f6d656e7420746f206120726563697069656e740a0a2f2f2054686973207472616e73616374696f6e20697320686f77206120746f7073686f74207573657220776f756c64207472616e736665722061206d6f6d656e740a2f2f2066726f6d207468656972206163636f756e7420746f20616e6f74686572206163636f756e740a2f2f2054686520726563697069656e74206d7573742068617665206120546f7053686f7420436f6c6c656374696f6e206f626a6563742073746f7265640a2f2f20616e642061207075626c6963204d6f6d656e74436f6c6c656374696f6e5075626c6963206361706162696c6974792073746f7265642061740a2f2f20602f7075626c69632f4d6f6d656e74436f6c6c656374696f6e600a0a2f2f20506172616d65746572733a0a2f2f0a2f2f20726563697069656e743a2054686520466c6f772061646472657373206f6620746865206163636f756e7420746f207265636569766520746865206d6f6d656e742e0a2f2f20776974686472617749443a20546865206964206f6620746865206d6f6d656e7420746f206265207472616e736665727265640a0a7472616e73616374696f6e28726563697069656e743a20416464726573732c20776974686472617749443a2055496e74363429207b0a0a202020202f2f206c6f63616c207661726961626c6520666f722073746f72696e6720746865207472616e7366657272656420746f6b656e0a202020206c6574207472616e73666572546f6b656e3a20404e6f6e46756e6769626c65546f6b656e2e4e46540a202020200a202020207072657061726528616363743a20417574684163636f756e7429207b0a0a20202020202020202f2f20626f72726f772061207265666572656e636520746f20746865206f776e6572277320636f6c6c656374696f6e0a20202020202020206c657420636f6c6c656374696f6e526566203d20616363742e626f72726f773c26546f7053686f742e436f6c6c656374696f6e3e2866726f6d3a202f73746f726167652f4d6f6d656e74436f6c6c656374696f6e290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f207468652073746f726564204d6f6d656e7420636f6c6c656374696f6e22290a20202020202020200a20202020202020202f2f20776974686472617720746865204e46540a202020202020202073656c662e7472616e73666572546f6b656e203c2d20636f6c6c656374696f6e5265662e776974686472617728776974686472617749443a2077697468647261774944290a202020207d0a0a2020202065786563757465207b0a20202020202020200a20202020202020202f2f206765742074686520726563697069656e742773207075626c6963206163636f756e74206f626a6563740a20202020202020206c657420726563697069656e74203d206765744163636f756e7428726563697069656e74290a0a20202020202020202f2f206765742074686520436f6c6c656374696f6e207265666572656e636520666f72207468652072656365697665720a20202020202020206c6574207265636569766572526566203d20726563697069656e742e6765744361706162696c697479282f7075626c69632f4d6f6d656e74436f6c6c656374696f6e292e626f72726f773c267b546f7053686f742e4d6f6d656e74436f6c6c656374696f6e5075626c69637d3e2829210a0a20202020202020202f2f206465706f73697420746865204e465420696e207468652072656365697665727320636f6c6c656374696f6e0a202020202020202072656365697665725265662e6465706f73697428746f6b656e3a203c2d73656c662e7472616e73666572546f6b656e290a202020207d0a7df84faf7b2274797065223a2241646472657373222c2276616c7565223a22307865343637623964643131666130306466227d9e7b2274797065223a2255496e743634222c2276616c7565223a223432227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "021ec9aea0b51409610f882f5ae4278567da675542bb378eb999f05b7c4f12f7d809d5ad21bf70dfe4f8d800db9e61a77f2f64837ae0e818c3cd67e9cea837a1cf5472616e7366657220546f702053686f74204d6f6d656e74000201526563697069656e740000416464726573730003014d6f6d656e74204944000155496e7436340003", - "hash": "09d5ad21bf70dfe4f8d800db9e61a77f2f64837ae0e818c3cd67e9cea837a1cf" + "encodedTransactionPayloadHex": "f904fdb903ed696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f205265717565737420746f20776974686472617720726577617264656420746f6b656e7320666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f2054686520746f6b656e7320617265206175746f6d61746963616c6c79206465706f736974656420746f2074686520756e6c6f636b6564206163636f756e74207661756c742066697273742c0a2f2f2f20416e64207468656e20616e79206c6f636b656420746f6b656e7320617265206465706f736974656420696e746f20746865206c6f636b6564206163636f756e74207661756c740a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a206175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a206175746828426f72726f7756616c75652920264163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e73746f726167652e626f72726f773c6175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f2061205374616b696e67436f6c6c656374696f6e20696e20746865207072696d61727920757365722773206163636f756e7422290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e77697468647261775265776172646564546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8cbb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db83a7b2276616c7565223a7b2276616c7565223a223432222c2274797065223a2255496e743332227d2c2274797065223a224f7074696f6e616c227db07b2276616c7565223a2239323233333732303336382e3534373735383038222c2274797065223a22554669783634227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", + "encodedTransactionEnvelopeHex": "f90501f904fdb903ed696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f205265717565737420746f20776974686472617720726577617264656420746f6b656e7320666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f2054686520746f6b656e7320617265206175746f6d61746963616c6c79206465706f736974656420746f2074686520756e6c6f636b6564206163636f756e74207661756c742066697273742c0a2f2f2f20416e64207468656e20616e79206c6f636b656420746f6b656e7320617265206465706f736974656420696e746f20746865206c6f636b6564206163636f756e74207661756c740a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a206175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a206175746828426f72726f7756616c75652920264163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e73746f726167652e626f72726f773c6175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f2061205374616b696e67436f6c6c656374696f6e20696e20746865207072696d61727920757365722773206163636f756e7422290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e77697468647261775265776172646564546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8cbb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db83a7b2276616c7565223a7b2276616c7565223a223432222c2274797065223a2255496e743332227d2c2274797065223a224f7074696f6e616c227db07b2276616c7565223a2239323233333732303336382e3534373735383038222c2274797065223a22554669783634227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", + "metadata": "025a07ca4c016973bdeb168590e111b2c2855833b5ece11ffb28b08b8668f258a8fbd8ebbfff7a88b6b667ff4e3f9f904eaaba71cbf02a140f3b7007c61fbd8f34576974686472617720526577617264656420546f6b656e730003014e6f64652049440000537472696e6700030244656c656761746f72204944000155496e743332000301416d6f756e7400025546697836340003", + "hash": "fbd8ebbfff7a88b6b667ff4e3f9f904eaaba71cbf02a140f3b7007c61fbd8f34" }, { - "title": "USDC.01 - Setup USDC Vault", + "title": "SCO.10 - Withdraw Rewarded Tokens - 2", "valid": true, "chainID": "Mainnet", "payloadMessage": { - "script": "import FungibleToken from 0xf233dcee88fe0abe\nimport FiatToken from 0xb19436aae4d94622\n\ntransaction {\n\n prepare(signer: AuthAccount) {\n\n // Return early if the account already stores a FiatToken Vault\n if signer.borrow<&FiatToken.Vault>(from: FiatToken.VaultStoragePath) != nil {\n return\n }\n\n // Create a new ExampleToken Vault and put it in storage\n signer.save(\n <-FiatToken.createEmptyVault(),\n to: FiatToken.VaultStoragePath\n )\n\n // Create a public capability to the Vault that only exposes\n // the deposit function through the Receiver interface\n signer.link<&FiatToken.Vault{FungibleToken.Receiver}>(\n FiatToken.VaultReceiverPubPath,\n target: FiatToken.VaultStoragePath\n )\n\n // Create a public capability to the Vault that only exposes\n // the UUID() function through the VaultUUID interface\n signer.link<&FiatToken.Vault{FiatToken.ResourceId}>(\n FiatToken.VaultUUIDPubPath,\n target: FiatToken.VaultStoragePath\n )\n\n // Create a public capability to the Vault that only exposes\n // the balance field through the Balance interface\n signer.link<&FiatToken.Vault{FungibleToken.Balance}>(\n FiatToken.VaultBalancePubPath,\n target: FiatToken.VaultStoragePath\n )\n\n }\n}\n", - "arguments": [], + "script": "import FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// Request to withdraw rewarded tokens for the specified node or delegator in the staking collection\n/// The tokens are automatically deposited to the unlocked account vault first,\n/// And then any locked tokens are deposited into the locked account vault\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: auth(FlowStakingCollection.CollectionOwner) &FlowStakingCollection.StakingCollection\n\n prepare(account: auth(BorrowValue) &Account) {\n self.stakingCollectionRef = account.storage.borrow(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow a reference to a StakingCollection in the primary user's account\")\n }\n\n execute {\n self.stakingCollectionRef.withdrawRewardedTokens(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", + "arguments": [ + { + "type": "String", + "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" + }, + { + "value": null, + "type": "Optional" + }, + { + "value": "92233720368.54775808", + "type": "UFix64" + } + ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", "gasLimit": 42, "proposalKey": { @@ -7945,8 +4358,21 @@ ] }, "envelopeMessage": { - "script": "import FungibleToken from 0xf233dcee88fe0abe\nimport FiatToken from 0xb19436aae4d94622\n\ntransaction {\n\n prepare(signer: AuthAccount) {\n\n // Return early if the account already stores a FiatToken Vault\n if signer.borrow<&FiatToken.Vault>(from: FiatToken.VaultStoragePath) != nil {\n return\n }\n\n // Create a new ExampleToken Vault and put it in storage\n signer.save(\n <-FiatToken.createEmptyVault(),\n to: FiatToken.VaultStoragePath\n )\n\n // Create a public capability to the Vault that only exposes\n // the deposit function through the Receiver interface\n signer.link<&FiatToken.Vault{FungibleToken.Receiver}>(\n FiatToken.VaultReceiverPubPath,\n target: FiatToken.VaultStoragePath\n )\n\n // Create a public capability to the Vault that only exposes\n // the UUID() function through the VaultUUID interface\n signer.link<&FiatToken.Vault{FiatToken.ResourceId}>(\n FiatToken.VaultUUIDPubPath,\n target: FiatToken.VaultStoragePath\n )\n\n // Create a public capability to the Vault that only exposes\n // the balance field through the Balance interface\n signer.link<&FiatToken.Vault{FungibleToken.Balance}>(\n FiatToken.VaultBalancePubPath,\n target: FiatToken.VaultStoragePath\n )\n\n }\n}\n", - "arguments": [], + "script": "import FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// Request to withdraw rewarded tokens for the specified node or delegator in the staking collection\n/// The tokens are automatically deposited to the unlocked account vault first,\n/// And then any locked tokens are deposited into the locked account vault\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: auth(FlowStakingCollection.CollectionOwner) &FlowStakingCollection.StakingCollection\n\n prepare(account: auth(BorrowValue) &Account) {\n self.stakingCollectionRef = account.storage.borrow(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow a reference to a StakingCollection in the primary user's account\")\n }\n\n execute {\n self.stakingCollectionRef.withdrawRewardedTokens(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", + "arguments": [ + { + "type": "String", + "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" + }, + { + "value": null, + "type": "Optional" + }, + { + "value": "92233720368.54775808", + "type": "UFix64" + } + ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", "gasLimit": 42, "proposalKey": { @@ -7960,25 +4386,29 @@ ], "payloadSigs": [] }, - "encodedTransactionPayloadHex": "f905b9b90575696d706f72742046756e6769626c65546f6b656e2066726f6d203078663233336463656538386665306162650a696d706f72742046696174546f6b656e2066726f6d203078623139343336616165346439343632320a0a7472616e73616374696f6e207b0a0a2020202070726570617265287369676e65723a20417574684163636f756e7429207b0a0a20202020202020202f2f2052657475726e206561726c7920696620746865206163636f756e7420616c72656164792073746f72657320612046696174546f6b656e205661756c740a20202020202020206966207369676e65722e626f72726f773c2646696174546f6b656e2e5661756c743e2866726f6d3a2046696174546f6b656e2e5661756c7453746f72616765506174682920213d206e696c207b0a20202020202020202020202072657475726e0a20202020202020207d0a0a20202020202020202f2f204372656174652061206e6577204578616d706c65546f6b656e205661756c7420616e642070757420697420696e2073746f726167650a20202020202020207369676e65722e73617665280a2020202020202020202020203c2d46696174546f6b656e2e637265617465456d7074795661756c7428292c0a202020202020202020202020746f3a2046696174546f6b656e2e5661756c7453746f72616765506174680a2020202020202020290a0a20202020202020202f2f204372656174652061207075626c6963206361706162696c69747920746f20746865205661756c742074686174206f6e6c79206578706f7365730a20202020202020202f2f20746865206465706f7369742066756e6374696f6e207468726f7567682074686520526563656976657220696e746572666163650a20202020202020207369676e65722e6c696e6b3c2646696174546f6b656e2e5661756c747b46756e6769626c65546f6b656e2e52656365697665727d3e280a20202020202020202020202046696174546f6b656e2e5661756c745265636569766572507562506174682c0a2020202020202020202020207461726765743a2046696174546f6b656e2e5661756c7453746f72616765506174680a2020202020202020290a0a20202020202020202f2f204372656174652061207075626c6963206361706162696c69747920746f20746865205661756c742074686174206f6e6c79206578706f7365730a20202020202020202f2f20746865205555494428292066756e6374696f6e207468726f75676820746865205661756c745555494420696e746572666163650a20202020202020207369676e65722e6c696e6b3c2646696174546f6b656e2e5661756c747b46696174546f6b656e2e5265736f7572636549647d3e280a20202020202020202020202046696174546f6b656e2e5661756c7455554944507562506174682c0a2020202020202020202020207461726765743a2046696174546f6b656e2e5661756c7453746f72616765506174680a2020202020202020290a0a20202020202020202f2f204372656174652061207075626c6963206361706162696c69747920746f20746865205661756c742074686174206f6e6c79206578706f7365730a20202020202020202f2f207468652062616c616e6365206669656c64207468726f756768207468652042616c616e636520696e746572666163650a20202020202020207369676e65722e6c696e6b3c2646696174546f6b656e2e5661756c747b46756e6769626c65546f6b656e2e42616c616e63657d3e280a20202020202020202020202046696174546f6b656e2e5661756c7442616c616e6365507562506174682c0a2020202020202020202020207461726765743a2046696174546f6b656e2e5661756c7453746f72616765506174680a2020202020202020290a0a202020207d0a7d0ac0a0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f905bdf905b9b90575696d706f72742046756e6769626c65546f6b656e2066726f6d203078663233336463656538386665306162650a696d706f72742046696174546f6b656e2066726f6d203078623139343336616165346439343632320a0a7472616e73616374696f6e207b0a0a2020202070726570617265287369676e65723a20417574684163636f756e7429207b0a0a20202020202020202f2f2052657475726e206561726c7920696620746865206163636f756e7420616c72656164792073746f72657320612046696174546f6b656e205661756c740a20202020202020206966207369676e65722e626f72726f773c2646696174546f6b656e2e5661756c743e2866726f6d3a2046696174546f6b656e2e5661756c7453746f72616765506174682920213d206e696c207b0a20202020202020202020202072657475726e0a20202020202020207d0a0a20202020202020202f2f204372656174652061206e6577204578616d706c65546f6b656e205661756c7420616e642070757420697420696e2073746f726167650a20202020202020207369676e65722e73617665280a2020202020202020202020203c2d46696174546f6b656e2e637265617465456d7074795661756c7428292c0a202020202020202020202020746f3a2046696174546f6b656e2e5661756c7453746f72616765506174680a2020202020202020290a0a20202020202020202f2f204372656174652061207075626c6963206361706162696c69747920746f20746865205661756c742074686174206f6e6c79206578706f7365730a20202020202020202f2f20746865206465706f7369742066756e6374696f6e207468726f7567682074686520526563656976657220696e746572666163650a20202020202020207369676e65722e6c696e6b3c2646696174546f6b656e2e5661756c747b46756e6769626c65546f6b656e2e52656365697665727d3e280a20202020202020202020202046696174546f6b656e2e5661756c745265636569766572507562506174682c0a2020202020202020202020207461726765743a2046696174546f6b656e2e5661756c7453746f72616765506174680a2020202020202020290a0a20202020202020202f2f204372656174652061207075626c6963206361706162696c69747920746f20746865205661756c742074686174206f6e6c79206578706f7365730a20202020202020202f2f20746865205555494428292066756e6374696f6e207468726f75676820746865205661756c745555494420696e746572666163650a20202020202020207369676e65722e6c696e6b3c2646696174546f6b656e2e5661756c747b46696174546f6b656e2e5265736f7572636549647d3e280a20202020202020202020202046696174546f6b656e2e5661756c7455554944507562506174682c0a2020202020202020202020207461726765743a2046696174546f6b656e2e5661756c7453746f72616765506174680a2020202020202020290a0a20202020202020202f2f204372656174652061207075626c6963206361706162696c69747920746f20746865205661756c742074686174206f6e6c79206578706f7365730a20202020202020202f2f207468652062616c616e6365206669656c64207468726f756768207468652042616c616e636520696e746572666163650a20202020202020207369676e65722e6c696e6b3c2646696174546f6b656e2e5661756c747b46756e6769626c65546f6b656e2e42616c616e63657d3e280a20202020202020202020202046696174546f6b656e2e5661756c7442616c616e6365507562506174682c0a2020202020202020202020207461726765743a2046696174546f6b656e2e5661756c7453746f72616765506174680a2020202020202020290a0a202020207d0a7d0ac0a0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "022defee818c0c003ca519f83517f4c7bcf9dd8664a562ec80959cb6146428f971887673892a2e2c12337394570dfa30c5669e93f537ae426690f402799514a9a153657475702055534443205661756c740000", - "hash": "887673892a2e2c12337394570dfa30c5669e93f537ae426690f402799514a9a1" + "encodedTransactionPayloadHex": "f904e2b903ed696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f205265717565737420746f20776974686472617720726577617264656420746f6b656e7320666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f2054686520746f6b656e7320617265206175746f6d61746963616c6c79206465706f736974656420746f2074686520756e6c6f636b6564206163636f756e74207661756c742066697273742c0a2f2f2f20416e64207468656e20616e79206c6f636b656420746f6b656e7320617265206465706f736974656420696e746f20746865206c6f636b6564206163636f756e74207661756c740a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a206175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a206175746828426f72726f7756616c75652920264163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e73746f726167652e626f72726f773c6175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f2061205374616b696e67436f6c6c656374696f6e20696e20746865207072696d61727920757365722773206163636f756e7422290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e77697468647261775265776172646564546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8b0b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227da07b2276616c7565223a6e756c6c2c2274797065223a224f7074696f6e616c227db07b2276616c7565223a2239323233333732303336382e3534373735383038222c2274797065223a22554669783634227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", + "encodedTransactionEnvelopeHex": "f904e6f904e2b903ed696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f205265717565737420746f20776974686472617720726577617264656420746f6b656e7320666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f2054686520746f6b656e7320617265206175746f6d61746963616c6c79206465706f736974656420746f2074686520756e6c6f636b6564206163636f756e74207661756c742066697273742c0a2f2f2f20416e64207468656e20616e79206c6f636b656420746f6b656e7320617265206465706f736974656420696e746f20746865206c6f636b6564206163636f756e74207661756c740a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a206175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a206175746828426f72726f7756616c75652920264163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e73746f726167652e626f72726f773c6175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f2061205374616b696e67436f6c6c656374696f6e20696e20746865207072696d61727920757365722773206163636f756e7422290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e77697468647261775265776172646564546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8b0b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227da07b2276616c7565223a6e756c6c2c2274797065223a224f7074696f6e616c227db07b2276616c7565223a2239323233333732303336382e3534373735383038222c2274797065223a22554669783634227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", + "metadata": "025a07ca4c016973bdeb168590e111b2c2855833b5ece11ffb28b08b8668f258a8fbd8ebbfff7a88b6b667ff4e3f9f904eaaba71cbf02a140f3b7007c61fbd8f34576974686472617720526577617264656420546f6b656e730003014e6f64652049440000537472696e6700030244656c656761746f72204944000155496e743332000301416d6f756e7400025546697836340003", + "hash": "fbd8ebbfff7a88b6b667ff4e3f9f904eaaba71cbf02a140f3b7007c61fbd8f34" }, { - "title": "USDC.02 - Transfer USDC", + "title": "SCO.11 - Withdraw Unstaked Tokens - 1", "valid": true, "chainID": "Mainnet", "payloadMessage": { - "script": "import FungibleToken from 0xf233dcee88fe0abe\nimport FiatToken from 0xb19436aae4d94622\n\ntransaction(amount: UFix64, to: Address) {\n\n // The Vault resource that holds the tokens that are being transferred\n let sentVault: @FungibleToken.Vault\n\n prepare(signer: AuthAccount) {\n\n // Get a reference to the signer's stored vault\n let vaultRef = signer.borrow<&FiatToken.Vault>(from: FiatToken.VaultStoragePath)\n ?? panic(\"Could not borrow reference to the owner's Vault!\")\n\n // Withdraw tokens from the signer's stored vault\n self.sentVault <- vaultRef.withdraw(amount: amount)\n }\n\n execute {\n\n // Get the recipient's public account object\n let recipient = getAccount(to)\n\n // Get a reference to the recipient's Receiver\n let receiverRef = recipient.getCapability(FiatToken.VaultReceiverPubPath)\n .borrow<&{FungibleToken.Receiver}>()\n ?? panic(\"Could not borrow receiver reference to the recipient's Vault\")\n\n // Deposit the withdrawn tokens in the recipient's receiver\n receiverRef.deposit(from: <-self.sentVault)\n }\n}\n", + "script": "import FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// Request to withdraw unstaked tokens for the specified node or delegator in the staking collection\n/// The tokens are automatically deposited to the unlocked account vault first,\n/// And then any locked tokens are deposited into the locked account vault if it is there\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: auth(FlowStakingCollection.CollectionOwner) &FlowStakingCollection.StakingCollection\n\n prepare(account: auth(BorrowValue) &Account) {\n self.stakingCollectionRef = account.storage.borrow(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow a reference to a StakingCollection in the primary user's account\")\n }\n\n execute {\n self.stakingCollectionRef.withdrawUnstakedTokens(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", "arguments": [ { - "type": "UFix64", - "value": "42" + "type": "String", + "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" }, { - "type": "Address", - "value": "0xe467b9dd11fa00df" + "value": null, + "type": "Optional" + }, + { + "value": "92233720368.54775808", + "type": "UFix64" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -8001,15 +4431,19 @@ ] }, "envelopeMessage": { - "script": "import FungibleToken from 0xf233dcee88fe0abe\nimport FiatToken from 0xb19436aae4d94622\n\ntransaction(amount: UFix64, to: Address) {\n\n // The Vault resource that holds the tokens that are being transferred\n let sentVault: @FungibleToken.Vault\n\n prepare(signer: AuthAccount) {\n\n // Get a reference to the signer's stored vault\n let vaultRef = signer.borrow<&FiatToken.Vault>(from: FiatToken.VaultStoragePath)\n ?? panic(\"Could not borrow reference to the owner's Vault!\")\n\n // Withdraw tokens from the signer's stored vault\n self.sentVault <- vaultRef.withdraw(amount: amount)\n }\n\n execute {\n\n // Get the recipient's public account object\n let recipient = getAccount(to)\n\n // Get a reference to the recipient's Receiver\n let receiverRef = recipient.getCapability(FiatToken.VaultReceiverPubPath)\n .borrow<&{FungibleToken.Receiver}>()\n ?? panic(\"Could not borrow receiver reference to the recipient's Vault\")\n\n // Deposit the withdrawn tokens in the recipient's receiver\n receiverRef.deposit(from: <-self.sentVault)\n }\n}\n", + "script": "import FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// Request to withdraw unstaked tokens for the specified node or delegator in the staking collection\n/// The tokens are automatically deposited to the unlocked account vault first,\n/// And then any locked tokens are deposited into the locked account vault if it is there\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: auth(FlowStakingCollection.CollectionOwner) &FlowStakingCollection.StakingCollection\n\n prepare(account: auth(BorrowValue) &Account) {\n self.stakingCollectionRef = account.storage.borrow(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow a reference to a StakingCollection in the primary user's account\")\n }\n\n execute {\n self.stakingCollectionRef.withdrawUnstakedTokens(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", "arguments": [ { - "type": "UFix64", - "value": "42" + "type": "String", + "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" }, { - "type": "Address", - "value": "0xe467b9dd11fa00df" + "value": null, + "type": "Optional" + }, + { + "value": "92233720368.54775808", + "type": "UFix64" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -8025,45 +4459,32 @@ ], "payloadSigs": [] }, - "encodedTransactionPayloadHex": "f90503b9046f696d706f72742046756e6769626c65546f6b656e2066726f6d203078663233336463656538386665306162650a696d706f72742046696174546f6b656e2066726f6d203078623139343336616165346439343632320a0a7472616e73616374696f6e28616d6f756e743a205546697836342c20746f3a204164647265737329207b0a0a202020202f2f20546865205661756c74207265736f75726365207468617420686f6c64732074686520746f6b656e73207468617420617265206265696e67207472616e736665727265640a202020206c65742073656e745661756c743a204046756e6769626c65546f6b656e2e5661756c740a0a2020202070726570617265287369676e65723a20417574684163636f756e7429207b0a0a20202020202020202f2f204765742061207265666572656e636520746f20746865207369676e657227732073746f726564207661756c740a20202020202020206c6574207661756c74526566203d207369676e65722e626f72726f773c2646696174546f6b656e2e5661756c743e2866726f6d3a2046696174546f6b656e2e5661756c7453746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f20746865206f776e65722773205661756c742122290a0a20202020202020202f2f20576974686472617720746f6b656e732066726f6d20746865207369676e657227732073746f726564207661756c740a202020202020202073656c662e73656e745661756c74203c2d207661756c745265662e776974686472617728616d6f756e743a20616d6f756e74290a202020207d0a0a2020202065786563757465207b0a0a20202020202020202f2f204765742074686520726563697069656e742773207075626c6963206163636f756e74206f626a6563740a20202020202020206c657420726563697069656e74203d206765744163636f756e7428746f290a0a20202020202020202f2f204765742061207265666572656e636520746f2074686520726563697069656e7427732052656365697665720a20202020202020206c6574207265636569766572526566203d20726563697069656e742e6765744361706162696c6974792846696174546f6b656e2e5661756c74526563656976657250756250617468290a2020202020202020202020202e626f72726f773c267b46756e6769626c65546f6b656e2e52656365697665727d3e28290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265636569766572207265666572656e636520746f2074686520726563697069656e742773205661756c7422290a0a20202020202020202f2f204465706f736974207468652077697468647261776e20746f6b656e7320696e2074686520726563697069656e7427732072656365697665720a202020202020202072656365697665725265662e6465706f7369742866726f6d3a203c2d73656c662e73656e745661756c74290a202020207d0a7d0af84f9e7b2274797065223a22554669783634222c2276616c7565223a223432227daf7b2274797065223a2241646472657373222c2276616c7565223a22307865343637623964643131666130306466227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f90507f90503b9046f696d706f72742046756e6769626c65546f6b656e2066726f6d203078663233336463656538386665306162650a696d706f72742046696174546f6b656e2066726f6d203078623139343336616165346439343632320a0a7472616e73616374696f6e28616d6f756e743a205546697836342c20746f3a204164647265737329207b0a0a202020202f2f20546865205661756c74207265736f75726365207468617420686f6c64732074686520746f6b656e73207468617420617265206265696e67207472616e736665727265640a202020206c65742073656e745661756c743a204046756e6769626c65546f6b656e2e5661756c740a0a2020202070726570617265287369676e65723a20417574684163636f756e7429207b0a0a20202020202020202f2f204765742061207265666572656e636520746f20746865207369676e657227732073746f726564207661756c740a20202020202020206c6574207661756c74526566203d207369676e65722e626f72726f773c2646696174546f6b656e2e5661756c743e2866726f6d3a2046696174546f6b656e2e5661756c7453746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f20746865206f776e65722773205661756c742122290a0a20202020202020202f2f20576974686472617720746f6b656e732066726f6d20746865207369676e657227732073746f726564207661756c740a202020202020202073656c662e73656e745661756c74203c2d207661756c745265662e776974686472617728616d6f756e743a20616d6f756e74290a202020207d0a0a2020202065786563757465207b0a0a20202020202020202f2f204765742074686520726563697069656e742773207075626c6963206163636f756e74206f626a6563740a20202020202020206c657420726563697069656e74203d206765744163636f756e7428746f290a0a20202020202020202f2f204765742061207265666572656e636520746f2074686520726563697069656e7427732052656365697665720a20202020202020206c6574207265636569766572526566203d20726563697069656e742e6765744361706162696c6974792846696174546f6b656e2e5661756c74526563656976657250756250617468290a2020202020202020202020202e626f72726f773c267b46756e6769626c65546f6b656e2e52656365697665727d3e28290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265636569766572207265666572656e636520746f2074686520726563697069656e742773205661756c7422290a0a20202020202020202f2f204465706f736974207468652077697468647261776e20746f6b656e7320696e2074686520726563697069656e7427732072656365697665720a202020202020202072656365697665725265662e6465706f7369742866726f6d3a203c2d73656c662e73656e745661756c74290a202020207d0a7d0af84f9e7b2274797065223a22554669783634222c2276616c7565223a223432227daf7b2274797065223a2241646472657373222c2276616c7565223a22307865343637623964643131666130306466227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "02512485ec3f8e007853b0ea2a22fb2b9f7e2fa55fd9819171c5d013282efee60a7ff4d9f53ba5eebda556d0ead0ca13911bc8996e2c91c5147f8787d10a3244835472616e736665722055534443000201416d6f756e740000554669783634000301526563697069656e740001416464726573730003", - "hash": "7ff4d9f53ba5eebda556d0ead0ca13911bc8996e2c91c5147f8787d10a324483" + "encodedTransactionPayloadHex": "f904f1b903fc696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f205265717565737420746f20776974686472617720756e7374616b656420746f6b656e7320666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f2054686520746f6b656e7320617265206175746f6d61746963616c6c79206465706f736974656420746f2074686520756e6c6f636b6564206163636f756e74207661756c742066697273742c0a2f2f2f20416e64207468656e20616e79206c6f636b656420746f6b656e7320617265206465706f736974656420696e746f20746865206c6f636b6564206163636f756e74207661756c742069662069742069732074686572650a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a206175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a206175746828426f72726f7756616c75652920264163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e73746f726167652e626f72726f773c6175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f2061205374616b696e67436f6c6c656374696f6e20696e20746865207072696d61727920757365722773206163636f756e7422290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e7769746864726177556e7374616b6564546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8b0b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227da07b2276616c7565223a6e756c6c2c2274797065223a224f7074696f6e616c227db07b2276616c7565223a2239323233333732303336382e3534373735383038222c2274797065223a22554669783634227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", + "encodedTransactionEnvelopeHex": "f904f5f904f1b903fc696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f205265717565737420746f20776974686472617720756e7374616b656420746f6b656e7320666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f2054686520746f6b656e7320617265206175746f6d61746963616c6c79206465706f736974656420746f2074686520756e6c6f636b6564206163636f756e74207661756c742066697273742c0a2f2f2f20416e64207468656e20616e79206c6f636b656420746f6b656e7320617265206465706f736974656420696e746f20746865206c6f636b6564206163636f756e74207661756c742069662069742069732074686572650a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a206175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a206175746828426f72726f7756616c75652920264163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e73746f726167652e626f72726f773c6175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f2061205374616b696e67436f6c6c656374696f6e20696e20746865207072696d61727920757365722773206163636f756e7422290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e7769746864726177556e7374616b6564546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8b0b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227da07b2276616c7565223a6e756c6c2c2274797065223a224f7074696f6e616c227db07b2276616c7565223a2239323233333732303336382e3534373735383038222c2274797065223a22554669783634227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", + "metadata": "0201fd4ea83d20510d24ed9f245873a7ee2715aefb774495c80bce7e3e34d6442ec2484f17e640e285769c3edaa6f2d090dcef1f2f57983f82b7179c3c047290ca576974686472617720556e7374616b656420546f6b656e730003014e6f64652049440000537472696e6700030244656c656761746f72204944000155496e743332000301416d6f756e7400025546697836340003", + "hash": "c2484f17e640e285769c3edaa6f2d090dcef1f2f57983f82b7179c3c047290ca" }, { - "title": "SCO.03 - Register Node - 1", + "title": "SCO.11 - Withdraw Unstaked Tokens - 2", "valid": true, "chainID": "Mainnet", "payloadMessage": { - "script": "import Crypto\nimport FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// Registers a delegator in the staking collection resource\n/// for the specified node information and the amount of tokens to commit\n\ntransaction(id: String,\n role: UInt8,\n networkingAddress: String,\n networkingKey: String,\n stakingKey: String,\n amount: UFix64,\n publicKeys: [Crypto.KeyListEntry]?) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n\n if let machineAccount = self.stakingCollectionRef.registerNode(\n id: id,\n role: role,\n networkingAddress: networkingAddress,\n networkingKey: networkingKey,\n stakingKey: stakingKey,\n amount: amount,\n payer: account) \n {\n if publicKeys == nil || publicKeys!.length == 0 {\n panic(\"Cannot provide zero keys for the machine account\")\n }\n for key in publicKeys! {\n machineAccount.keys.add(publicKey: key.publicKey, hashAlgorithm: key.hashAlgorithm, weight: key.weight)\n }\n }\n }\n}\n", + "script": "import FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// Request to withdraw unstaked tokens for the specified node or delegator in the staking collection\n/// The tokens are automatically deposited to the unlocked account vault first,\n/// And then any locked tokens are deposited into the locked account vault if it is there\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: auth(FlowStakingCollection.CollectionOwner) &FlowStakingCollection.StakingCollection\n\n prepare(account: auth(BorrowValue) &Account) {\n self.stakingCollectionRef = account.storage.borrow(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow a reference to a StakingCollection in the primary user's account\")\n }\n\n execute {\n self.stakingCollectionRef.withdrawUnstakedTokens(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", "arguments": [ { "type": "String", "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" }, { - "type": "UInt8", - "value": "1" - }, - { - "type": "String", - "value": "flow-node.test:3569" - }, - { - "type": "String", - "value": "1348307bc77c688e80049de9d081aa09755da33e6997605fa059db2144fc85e560cbe6f7da8d74b453f5916618cb8fd392c2db856f3e78221dc68db1b1d914e4" - }, - { - "type": "String", - "value": "9e9ae0d645fd5fd9050792e0b0daa82cc1686d9133afa0f81a784b375c42ae48567d1545e7a9e1965f2c1a32f73cf8575ebb7a967f6e4d104d2df78eb8be409135d12da0499b8a00771f642c1b9c49397f22b440439f036c3bdee82f5309dab3" - }, - { - "type": "UFix64", - "value": "92233720368.54775808" + "value": { + "value": "42", + "type": "UInt32" + }, + "type": "Optional" }, { - "type": "Optional", - "value": null + "value": "92233720368.54775808", + "type": "UFix64" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -8086,35 +4507,22 @@ ] }, "envelopeMessage": { - "script": "import Crypto\nimport FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// Registers a delegator in the staking collection resource\n/// for the specified node information and the amount of tokens to commit\n\ntransaction(id: String,\n role: UInt8,\n networkingAddress: String,\n networkingKey: String,\n stakingKey: String,\n amount: UFix64,\n publicKeys: [Crypto.KeyListEntry]?) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n\n if let machineAccount = self.stakingCollectionRef.registerNode(\n id: id,\n role: role,\n networkingAddress: networkingAddress,\n networkingKey: networkingKey,\n stakingKey: stakingKey,\n amount: amount,\n payer: account) \n {\n if publicKeys == nil || publicKeys!.length == 0 {\n panic(\"Cannot provide zero keys for the machine account\")\n }\n for key in publicKeys! {\n machineAccount.keys.add(publicKey: key.publicKey, hashAlgorithm: key.hashAlgorithm, weight: key.weight)\n }\n }\n }\n}\n", + "script": "import FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// Request to withdraw unstaked tokens for the specified node or delegator in the staking collection\n/// The tokens are automatically deposited to the unlocked account vault first,\n/// And then any locked tokens are deposited into the locked account vault if it is there\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: auth(FlowStakingCollection.CollectionOwner) &FlowStakingCollection.StakingCollection\n\n prepare(account: auth(BorrowValue) &Account) {\n self.stakingCollectionRef = account.storage.borrow(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow a reference to a StakingCollection in the primary user's account\")\n }\n\n execute {\n self.stakingCollectionRef.withdrawUnstakedTokens(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", "arguments": [ { "type": "String", "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" }, { - "type": "UInt8", - "value": "1" - }, - { - "type": "String", - "value": "flow-node.test:3569" - }, - { - "type": "String", - "value": "1348307bc77c688e80049de9d081aa09755da33e6997605fa059db2144fc85e560cbe6f7da8d74b453f5916618cb8fd392c2db856f3e78221dc68db1b1d914e4" - }, - { - "type": "String", - "value": "9e9ae0d645fd5fd9050792e0b0daa82cc1686d9133afa0f81a784b375c42ae48567d1545e7a9e1965f2c1a32f73cf8575ebb7a967f6e4d104d2df78eb8be409135d12da0499b8a00771f642c1b9c49397f22b440439f036c3bdee82f5309dab3" - }, - { - "type": "UFix64", - "value": "92233720368.54775808" + "value": { + "value": "42", + "type": "UInt32" + }, + "type": "Optional" }, { - "type": "Optional", - "value": null + "value": "92233720368.54775808", + "type": "UFix64" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -8130,48 +4538,28 @@ ], "payloadSigs": [] }, - "encodedTransactionPayloadHex": "f90849b9058a696d706f72742043727970746f0a696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f2052656769737465727320612064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e207265736f757263650a2f2f2f20666f722074686520737065636966696564206e6f646520696e666f726d6174696f6e20616e642074686520616d6f756e74206f6620746f6b656e7320746f20636f6d6d69740a0a7472616e73616374696f6e2869643a20537472696e672c0a202020202020202020202020726f6c653a2055496e74382c0a2020202020202020202020206e6574776f726b696e67416464726573733a20537472696e672c0a2020202020202020202020206e6574776f726b696e674b65793a20537472696e672c0a2020202020202020202020207374616b696e674b65793a20537472696e672c0a202020202020202020202020616d6f756e743a205546697836342c0a2020202020202020202020207075626c69634b6579733a205b43727970746f2e4b65794c697374456e7472795d3f29207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a0a20202020202020206966206c6574206d616368696e654163636f756e74203d2073656c662e7374616b696e67436f6c6c656374696f6e5265662e72656769737465724e6f6465280a20202020202020202020202069643a2069642c0a202020202020202020202020726f6c653a20726f6c652c0a2020202020202020202020206e6574776f726b696e67416464726573733a206e6574776f726b696e67416464726573732c0a2020202020202020202020206e6574776f726b696e674b65793a206e6574776f726b696e674b65792c0a2020202020202020202020207374616b696e674b65793a207374616b696e674b65792c0a202020202020202020202020616d6f756e743a20616d6f756e742c0a20202020202020202020202070617965723a206163636f756e7429200a20202020202020207b0a2020202020202020202020206966207075626c69634b657973203d3d206e696c207c7c207075626c69634b657973212e6c656e677468203d3d2030207b0a2020202020202020202020202020202070616e6963282243616e6e6f742070726f76696465207a65726f206b65797320666f7220746865206d616368696e65206163636f756e7422290a2020202020202020202020207d0a202020202020202020202020666f72206b657920696e207075626c69634b65797321207b0a202020202020202020202020202020206d616368696e654163636f756e742e6b6579732e616464287075626c69634b65793a206b65792e7075626c69634b65792c2068617368416c676f726974686d3a206b65792e68617368416c676f726974686d2c207765696768743a206b65792e776569676874290a2020202020202020202020207d0a20202020202020207d0a202020207d0a7d0af90279b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227d9c7b2274797065223a2255496e7438222c2276616c7565223a2231227daf7b2274797065223a22537472696e67222c2276616c7565223a22666c6f772d6e6f64652e746573743a33353639227db89c7b2274797065223a22537472696e67222c2276616c7565223a223133343833303762633737633638386538303034396465396430383161613039373535646133336536393937363035666130353964623231343466633835653536306362653666376461386437346234353366353931363631386362386664333932633264623835366633653738323231646336386462316231643931346534227db8dc7b2274797065223a22537472696e67222c2276616c7565223a22396539616530643634356664356664393035303739326530623064616138326363313638366439313333616661306638316137383462333735633432616534383536376431353435653761396531393635663263316133326637336366383537356562623761393637663665346431303464326466373865623862653430393133356431326461303439396238613030373731663634326331623963343933393766323262343430343339663033366333626465653832663533303964616233227db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da07b2274797065223a224f7074696f6e616c222c2276616c7565223a6e756c6c7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f9084df90849b9058a696d706f72742043727970746f0a696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f2052656769737465727320612064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e207265736f757263650a2f2f2f20666f722074686520737065636966696564206e6f646520696e666f726d6174696f6e20616e642074686520616d6f756e74206f6620746f6b656e7320746f20636f6d6d69740a0a7472616e73616374696f6e2869643a20537472696e672c0a202020202020202020202020726f6c653a2055496e74382c0a2020202020202020202020206e6574776f726b696e67416464726573733a20537472696e672c0a2020202020202020202020206e6574776f726b696e674b65793a20537472696e672c0a2020202020202020202020207374616b696e674b65793a20537472696e672c0a202020202020202020202020616d6f756e743a205546697836342c0a2020202020202020202020207075626c69634b6579733a205b43727970746f2e4b65794c697374456e7472795d3f29207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a0a20202020202020206966206c6574206d616368696e654163636f756e74203d2073656c662e7374616b696e67436f6c6c656374696f6e5265662e72656769737465724e6f6465280a20202020202020202020202069643a2069642c0a202020202020202020202020726f6c653a20726f6c652c0a2020202020202020202020206e6574776f726b696e67416464726573733a206e6574776f726b696e67416464726573732c0a2020202020202020202020206e6574776f726b696e674b65793a206e6574776f726b696e674b65792c0a2020202020202020202020207374616b696e674b65793a207374616b696e674b65792c0a202020202020202020202020616d6f756e743a20616d6f756e742c0a20202020202020202020202070617965723a206163636f756e7429200a20202020202020207b0a2020202020202020202020206966207075626c69634b657973203d3d206e696c207c7c207075626c69634b657973212e6c656e677468203d3d2030207b0a2020202020202020202020202020202070616e6963282243616e6e6f742070726f76696465207a65726f206b65797320666f7220746865206d616368696e65206163636f756e7422290a2020202020202020202020207d0a202020202020202020202020666f72206b657920696e207075626c69634b65797321207b0a202020202020202020202020202020206d616368696e654163636f756e742e6b6579732e616464287075626c69634b65793a206b65792e7075626c69634b65792c2068617368416c676f726974686d3a206b65792e68617368416c676f726974686d2c207765696768743a206b65792e776569676874290a2020202020202020202020207d0a20202020202020207d0a202020207d0a7d0af90279b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227d9c7b2274797065223a2255496e7438222c2276616c7565223a2231227daf7b2274797065223a22537472696e67222c2276616c7565223a22666c6f772d6e6f64652e746573743a33353639227db89c7b2274797065223a22537472696e67222c2276616c7565223a223133343833303762633737633638386538303034396465396430383161613039373535646133336536393937363035666130353964623231343466633835653536306362653666376461386437346234353366353931363631386362386664333932633264623835366633653738323231646336386462316231643931346534227db8dc7b2274797065223a22537472696e67222c2276616c7565223a22396539616530643634356664356664393035303739326530623064616138326363313638366439313333616661306638316137383462333735633432616534383536376431353435653761396531393635663263316133326637336366383537356562623761393637663665346431303464326466373865623862653430393133356431326461303439396238613030373731663634326331623963343933393766323262343430343339663033366333626465653832663533303964616233227db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da07b2274797065223a224f7074696f6e616c222c2276616c7565223a6e756c6c7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "029246ec9b7a5c81151156e7c2f6d356f68b1b884f88728daca46b968d9a46cd5a79de7119aea61bdafb39cc3d1f4fa17ca802c2732726a86d2c636dbc19808b685265676973746572204e6f64650007014e6f64652049440000537472696e670003014e6f646520526f6c65000155496e74380003014e6574772e20416464726573730002537472696e670003014e6574772e204b65790003537472696e670003015374616b696e67204b65790004537472696e67000301416d6f756e74000555466978363400030400035075622e204b65790006537472696e670003", - "hash": "79de7119aea61bdafb39cc3d1f4fa17ca802c2732726a86d2c636dbc19808b68" + "encodedTransactionPayloadHex": "f9050cb903fc696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f205265717565737420746f20776974686472617720756e7374616b656420746f6b656e7320666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f2054686520746f6b656e7320617265206175746f6d61746963616c6c79206465706f736974656420746f2074686520756e6c6f636b6564206163636f756e74207661756c742066697273742c0a2f2f2f20416e64207468656e20616e79206c6f636b656420746f6b656e7320617265206465706f736974656420696e746f20746865206c6f636b6564206163636f756e74207661756c742069662069742069732074686572650a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a206175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a206175746828426f72726f7756616c75652920264163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e73746f726167652e626f72726f773c6175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f2061205374616b696e67436f6c6c656374696f6e20696e20746865207072696d61727920757365722773206163636f756e7422290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e7769746864726177556e7374616b6564546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8cbb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db83a7b2276616c7565223a7b2276616c7565223a223432222c2274797065223a2255496e743332227d2c2274797065223a224f7074696f6e616c227db07b2276616c7565223a2239323233333732303336382e3534373735383038222c2274797065223a22554669783634227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", + "encodedTransactionEnvelopeHex": "f90510f9050cb903fc696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f205265717565737420746f20776974686472617720756e7374616b656420746f6b656e7320666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f2054686520746f6b656e7320617265206175746f6d61746963616c6c79206465706f736974656420746f2074686520756e6c6f636b6564206163636f756e74207661756c742066697273742c0a2f2f2f20416e64207468656e20616e79206c6f636b656420746f6b656e7320617265206465706f736974656420696e746f20746865206c6f636b6564206163636f756e74207661756c742069662069742069732074686572650a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a206175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a206175746828426f72726f7756616c75652920264163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e73746f726167652e626f72726f773c6175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f2061205374616b696e67436f6c6c656374696f6e20696e20746865207072696d61727920757365722773206163636f756e7422290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e7769746864726177556e7374616b6564546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8cbb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db83a7b2276616c7565223a7b2276616c7565223a223432222c2274797065223a2255496e743332227d2c2274797065223a224f7074696f6e616c227db07b2276616c7565223a2239323233333732303336382e3534373735383038222c2274797065223a22554669783634227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", + "metadata": "0201fd4ea83d20510d24ed9f245873a7ee2715aefb774495c80bce7e3e34d6442ec2484f17e640e285769c3edaa6f2d090dcef1f2f57983f82b7179c3c047290ca576974686472617720556e7374616b656420546f6b656e730003014e6f64652049440000537472696e6700030244656c656761746f72204944000155496e743332000301416d6f756e7400025546697836340003", + "hash": "c2484f17e640e285769c3edaa6f2d090dcef1f2f57983f82b7179c3c047290ca" }, { - "title": "SCO.03 - Register Node - 2", + "title": "SCO.12 - Close Stake - 1", "valid": true, "chainID": "Mainnet", "payloadMessage": { - "script": "import Crypto\nimport FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// Registers a delegator in the staking collection resource\n/// for the specified node information and the amount of tokens to commit\n\ntransaction(id: String,\n role: UInt8,\n networkingAddress: String,\n networkingKey: String,\n stakingKey: String,\n amount: UFix64,\n publicKeys: [Crypto.KeyListEntry]?) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n\n if let machineAccount = self.stakingCollectionRef.registerNode(\n id: id,\n role: role,\n networkingAddress: networkingAddress,\n networkingKey: networkingKey,\n stakingKey: stakingKey,\n amount: amount,\n payer: account) \n {\n if publicKeys == nil || publicKeys!.length == 0 {\n panic(\"Cannot provide zero keys for the machine account\")\n }\n for key in publicKeys! {\n machineAccount.keys.add(publicKey: key.publicKey, hashAlgorithm: key.hashAlgorithm, weight: key.weight)\n }\n }\n }\n}\n", + "script": "import FlowStakingCollection from 0x8d0e87b65159ae63\n\n// Closes out a staking object in the staking collection\n// This does not remove the record from the identity table,\n// but it does mean that the account that closes it cannot ever access it again\n\ntransaction(nodeID: String, delegatorID: UInt32?) {\n \n let stakingCollectionRef: auth(FlowStakingCollection.CollectionOwner) &FlowStakingCollection.StakingCollection\n\n prepare(account: auth(BorrowValue) &Account) {\n self.stakingCollectionRef = account.storage.borrow(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow a reference to a StakingCollection in the primary user's account\")\n }\n\n execute {\n self.stakingCollectionRef.closeStake(nodeID: nodeID, delegatorID: delegatorID)\n }\n}\n", "arguments": [ { "type": "String", "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" }, { - "type": "UInt8", - "value": "1" - }, - { - "type": "String", - "value": "flow-node.test:3569" - }, - { - "type": "String", - "value": "1348307bc77c688e80049de9d081aa09755da33e6997605fa059db2144fc85e560cbe6f7da8d74b453f5916618cb8fd392c2db856f3e78221dc68db1b1d914e4" - }, - { - "type": "String", - "value": "9e9ae0d645fd5fd9050792e0b0daa82cc1686d9133afa0f81a784b375c42ae48567d1545e7a9e1965f2c1a32f73cf8575ebb7a967f6e4d104d2df78eb8be409135d12da0499b8a00771f642c1b9c49397f22b440439f036c3bdee82f5309dab3" - }, - { - "type": "UFix64", - "value": "92233720368.54775808" - }, - { - "type": "Optional", "value": { - "type": "Array", - "value": [] - } + "value": "42", + "type": "UInt32" + }, + "type": "Optional" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -8194,38 +4582,18 @@ ] }, "envelopeMessage": { - "script": "import Crypto\nimport FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// Registers a delegator in the staking collection resource\n/// for the specified node information and the amount of tokens to commit\n\ntransaction(id: String,\n role: UInt8,\n networkingAddress: String,\n networkingKey: String,\n stakingKey: String,\n amount: UFix64,\n publicKeys: [Crypto.KeyListEntry]?) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n\n if let machineAccount = self.stakingCollectionRef.registerNode(\n id: id,\n role: role,\n networkingAddress: networkingAddress,\n networkingKey: networkingKey,\n stakingKey: stakingKey,\n amount: amount,\n payer: account) \n {\n if publicKeys == nil || publicKeys!.length == 0 {\n panic(\"Cannot provide zero keys for the machine account\")\n }\n for key in publicKeys! {\n machineAccount.keys.add(publicKey: key.publicKey, hashAlgorithm: key.hashAlgorithm, weight: key.weight)\n }\n }\n }\n}\n", + "script": "import FlowStakingCollection from 0x8d0e87b65159ae63\n\n// Closes out a staking object in the staking collection\n// This does not remove the record from the identity table,\n// but it does mean that the account that closes it cannot ever access it again\n\ntransaction(nodeID: String, delegatorID: UInt32?) {\n \n let stakingCollectionRef: auth(FlowStakingCollection.CollectionOwner) &FlowStakingCollection.StakingCollection\n\n prepare(account: auth(BorrowValue) &Account) {\n self.stakingCollectionRef = account.storage.borrow(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow a reference to a StakingCollection in the primary user's account\")\n }\n\n execute {\n self.stakingCollectionRef.closeStake(nodeID: nodeID, delegatorID: delegatorID)\n }\n}\n", "arguments": [ { "type": "String", "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" }, { - "type": "UInt8", - "value": "1" - }, - { - "type": "String", - "value": "flow-node.test:3569" - }, - { - "type": "String", - "value": "1348307bc77c688e80049de9d081aa09755da33e6997605fa059db2144fc85e560cbe6f7da8d74b453f5916618cb8fd392c2db856f3e78221dc68db1b1d914e4" - }, - { - "type": "String", - "value": "9e9ae0d645fd5fd9050792e0b0daa82cc1686d9133afa0f81a784b375c42ae48567d1545e7a9e1965f2c1a32f73cf8575ebb7a967f6e4d104d2df78eb8be409135d12da0499b8a00771f642c1b9c49397f22b440439f036c3bdee82f5309dab3" - }, - { - "type": "UFix64", - "value": "92233720368.54775808" - }, - { - "type": "Optional", "value": { - "type": "Array", - "value": [] - } + "value": "42", + "type": "UInt32" + }, + "type": "Optional" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -8241,53 +4609,25 @@ ], "payloadSigs": [] }, - "encodedTransactionPayloadHex": "f90860b9058a696d706f72742043727970746f0a696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f2052656769737465727320612064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e207265736f757263650a2f2f2f20666f722074686520737065636966696564206e6f646520696e666f726d6174696f6e20616e642074686520616d6f756e74206f6620746f6b656e7320746f20636f6d6d69740a0a7472616e73616374696f6e2869643a20537472696e672c0a202020202020202020202020726f6c653a2055496e74382c0a2020202020202020202020206e6574776f726b696e67416464726573733a20537472696e672c0a2020202020202020202020206e6574776f726b696e674b65793a20537472696e672c0a2020202020202020202020207374616b696e674b65793a20537472696e672c0a202020202020202020202020616d6f756e743a205546697836342c0a2020202020202020202020207075626c69634b6579733a205b43727970746f2e4b65794c697374456e7472795d3f29207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a0a20202020202020206966206c6574206d616368696e654163636f756e74203d2073656c662e7374616b696e67436f6c6c656374696f6e5265662e72656769737465724e6f6465280a20202020202020202020202069643a2069642c0a202020202020202020202020726f6c653a20726f6c652c0a2020202020202020202020206e6574776f726b696e67416464726573733a206e6574776f726b696e67416464726573732c0a2020202020202020202020206e6574776f726b696e674b65793a206e6574776f726b696e674b65792c0a2020202020202020202020207374616b696e674b65793a207374616b696e674b65792c0a202020202020202020202020616d6f756e743a20616d6f756e742c0a20202020202020202020202070617965723a206163636f756e7429200a20202020202020207b0a2020202020202020202020206966207075626c69634b657973203d3d206e696c207c7c207075626c69634b657973212e6c656e677468203d3d2030207b0a2020202020202020202020202020202070616e6963282243616e6e6f742070726f76696465207a65726f206b65797320666f7220746865206d616368696e65206163636f756e7422290a2020202020202020202020207d0a202020202020202020202020666f72206b657920696e207075626c69634b65797321207b0a202020202020202020202020202020206d616368696e654163636f756e742e6b6579732e616464287075626c69634b65793a206b65792e7075626c69634b65792c2068617368416c676f726974686d3a206b65792e68617368416c676f726974686d2c207765696768743a206b65792e776569676874290a2020202020202020202020207d0a20202020202020207d0a202020207d0a7d0af90290b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227d9c7b2274797065223a2255496e7438222c2276616c7565223a2231227daf7b2274797065223a22537472696e67222c2276616c7565223a22666c6f772d6e6f64652e746573743a33353639227db89c7b2274797065223a22537472696e67222c2276616c7565223a223133343833303762633737633638386538303034396465396430383161613039373535646133336536393937363035666130353964623231343466633835653536306362653666376461386437346234353366353931363631386362386664333932633264623835366633653738323231646336386462316231643931346534227db8dc7b2274797065223a22537472696e67222c2276616c7565223a22396539616530643634356664356664393035303739326530623064616138326363313638366439313333616661306638316137383462333735633432616534383536376431353435653761396531393635663263316133326637336366383537356562623761393637663665346431303464326466373865623862653430393133356431326461303439396238613030373731663634326331623963343933393766323262343430343339663033366333626465653832663533303964616233227db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227db77b2274797065223a224f7074696f6e616c222c2276616c7565223a7b2274797065223a224172726179222c2276616c7565223a5b5d7d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f90864f90860b9058a696d706f72742043727970746f0a696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f2052656769737465727320612064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e207265736f757263650a2f2f2f20666f722074686520737065636966696564206e6f646520696e666f726d6174696f6e20616e642074686520616d6f756e74206f6620746f6b656e7320746f20636f6d6d69740a0a7472616e73616374696f6e2869643a20537472696e672c0a202020202020202020202020726f6c653a2055496e74382c0a2020202020202020202020206e6574776f726b696e67416464726573733a20537472696e672c0a2020202020202020202020206e6574776f726b696e674b65793a20537472696e672c0a2020202020202020202020207374616b696e674b65793a20537472696e672c0a202020202020202020202020616d6f756e743a205546697836342c0a2020202020202020202020207075626c69634b6579733a205b43727970746f2e4b65794c697374456e7472795d3f29207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a0a20202020202020206966206c6574206d616368696e654163636f756e74203d2073656c662e7374616b696e67436f6c6c656374696f6e5265662e72656769737465724e6f6465280a20202020202020202020202069643a2069642c0a202020202020202020202020726f6c653a20726f6c652c0a2020202020202020202020206e6574776f726b696e67416464726573733a206e6574776f726b696e67416464726573732c0a2020202020202020202020206e6574776f726b696e674b65793a206e6574776f726b696e674b65792c0a2020202020202020202020207374616b696e674b65793a207374616b696e674b65792c0a202020202020202020202020616d6f756e743a20616d6f756e742c0a20202020202020202020202070617965723a206163636f756e7429200a20202020202020207b0a2020202020202020202020206966207075626c69634b657973203d3d206e696c207c7c207075626c69634b657973212e6c656e677468203d3d2030207b0a2020202020202020202020202020202070616e6963282243616e6e6f742070726f76696465207a65726f206b65797320666f7220746865206d616368696e65206163636f756e7422290a2020202020202020202020207d0a202020202020202020202020666f72206b657920696e207075626c69634b65797321207b0a202020202020202020202020202020206d616368696e654163636f756e742e6b6579732e616464287075626c69634b65793a206b65792e7075626c69634b65792c2068617368416c676f726974686d3a206b65792e68617368416c676f726974686d2c207765696768743a206b65792e776569676874290a2020202020202020202020207d0a20202020202020207d0a202020207d0a7d0af90290b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227d9c7b2274797065223a2255496e7438222c2276616c7565223a2231227daf7b2274797065223a22537472696e67222c2276616c7565223a22666c6f772d6e6f64652e746573743a33353639227db89c7b2274797065223a22537472696e67222c2276616c7565223a223133343833303762633737633638386538303034396465396430383161613039373535646133336536393937363035666130353964623231343466633835653536306362653666376461386437346234353366353931363631386362386664333932633264623835366633653738323231646336386462316231643931346534227db8dc7b2274797065223a22537472696e67222c2276616c7565223a22396539616530643634356664356664393035303739326530623064616138326363313638366439313333616661306638316137383462333735633432616534383536376431353435653761396531393635663263316133326637336366383537356562623761393637663665346431303464326466373865623862653430393133356431326461303439396238613030373731663634326331623963343933393766323262343430343339663033366333626465653832663533303964616233227db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227db77b2274797065223a224f7074696f6e616c222c2276616c7565223a7b2274797065223a224172726179222c2276616c7565223a5b5d7d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "029246ec9b7a5c81151156e7c2f6d356f68b1b884f88728daca46b968d9a46cd5a79de7119aea61bdafb39cc3d1f4fa17ca802c2732726a86d2c636dbc19808b685265676973746572204e6f64650007014e6f64652049440000537472696e670003014e6f646520526f6c65000155496e74380003014e6574772e20416464726573730002537472696e670003014e6574772e204b65790003537472696e670003015374616b696e67204b65790004537472696e67000301416d6f756e74000555466978363400030400035075622e204b65790006537472696e670003", - "hash": "79de7119aea61bdafb39cc3d1f4fa17ca802c2732726a86d2c636dbc19808b68" + "encodedTransactionPayloadHex": "f90464b90385696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f20436c6f736573206f75742061207374616b696e67206f626a65637420696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f205468697320646f6573206e6f742072656d6f766520746865207265636f72642066726f6d20746865206964656e74697479207461626c652c0a2f2f2062757420697420646f6573206d65616e207468617420746865206163636f756e74207468617420636c6f7365732069742063616e6e6f7420657665722061636365737320697420616761696e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f29207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a206175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a206175746828426f72726f7756616c75652920264163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e73746f726167652e626f72726f773c6175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f2061205374616b696e67436f6c6c656374696f6e20696e20746865207072696d61727920757365722773206163636f756e7422290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e636c6f73655374616b65286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f724944290a202020207d0a7d0af89ab85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db83a7b2276616c7565223a7b2276616c7565223a223432222c2274797065223a2255496e743332227d2c2274797065223a224f7074696f6e616c227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", + "encodedTransactionEnvelopeHex": "f90468f90464b90385696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f20436c6f736573206f75742061207374616b696e67206f626a65637420696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f205468697320646f6573206e6f742072656d6f766520746865207265636f72642066726f6d20746865206964656e74697479207461626c652c0a2f2f2062757420697420646f6573206d65616e207468617420746865206163636f756e74207468617420636c6f7365732069742063616e6e6f7420657665722061636365737320697420616761696e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f29207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a206175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a206175746828426f72726f7756616c75652920264163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e73746f726167652e626f72726f773c6175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f2061205374616b696e67436f6c6c656374696f6e20696e20746865207072696d61727920757365722773206163636f756e7422290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e636c6f73655374616b65286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f724944290a202020207d0a7d0af89ab85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db83a7b2276616c7565223a7b2276616c7565223a223432222c2274797065223a2255496e743332227d2c2274797065223a224f7074696f6e616c227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", + "metadata": "027e216d96d75414b27c2301a3b0a7816804d43014337a14731d1493531116d185a0fad319bf8aede66212257ad0d21532858381e2c9d7c4cec179b28180f5be93436c6f7365205374616b650002014e6f64652049440000537472696e6700030244656c656761746f72204944000155496e7433320003", + "hash": "a0fad319bf8aede66212257ad0d21532858381e2c9d7c4cec179b28180f5be93" }, { - "title": "SCO.03 - Register Node - 3", + "title": "SCO.12 - Close Stake - 2", "valid": true, "chainID": "Mainnet", "payloadMessage": { - "script": "import Crypto\nimport FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// Registers a delegator in the staking collection resource\n/// for the specified node information and the amount of tokens to commit\n\ntransaction(id: String,\n role: UInt8,\n networkingAddress: String,\n networkingKey: String,\n stakingKey: String,\n amount: UFix64,\n publicKeys: [Crypto.KeyListEntry]?) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n\n if let machineAccount = self.stakingCollectionRef.registerNode(\n id: id,\n role: role,\n networkingAddress: networkingAddress,\n networkingKey: networkingKey,\n stakingKey: stakingKey,\n amount: amount,\n payer: account) \n {\n if publicKeys == nil || publicKeys!.length == 0 {\n panic(\"Cannot provide zero keys for the machine account\")\n }\n for key in publicKeys! {\n machineAccount.keys.add(publicKey: key.publicKey, hashAlgorithm: key.hashAlgorithm, weight: key.weight)\n }\n }\n }\n}\n", + "script": "import FlowStakingCollection from 0x8d0e87b65159ae63\n\n// Closes out a staking object in the staking collection\n// This does not remove the record from the identity table,\n// but it does mean that the account that closes it cannot ever access it again\n\ntransaction(nodeID: String, delegatorID: UInt32?) {\n \n let stakingCollectionRef: auth(FlowStakingCollection.CollectionOwner) &FlowStakingCollection.StakingCollection\n\n prepare(account: auth(BorrowValue) &Account) {\n self.stakingCollectionRef = account.storage.borrow(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow a reference to a StakingCollection in the primary user's account\")\n }\n\n execute {\n self.stakingCollectionRef.closeStake(nodeID: nodeID, delegatorID: delegatorID)\n }\n}\n", "arguments": [ { "type": "String", "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" }, { - "type": "UInt8", - "value": "1" - }, - { - "type": "String", - "value": "flow-node.test:3569" - }, - { - "type": "String", - "value": "1348307bc77c688e80049de9d081aa09755da33e6997605fa059db2144fc85e560cbe6f7da8d74b453f5916618cb8fd392c2db856f3e78221dc68db1b1d914e4" - }, - { - "type": "String", - "value": "9e9ae0d645fd5fd9050792e0b0daa82cc1686d9133afa0f81a784b375c42ae48567d1545e7a9e1965f2c1a32f73cf8575ebb7a967f6e4d104d2df78eb8be409135d12da0499b8a00771f642c1b9c49397f22b440439f036c3bdee82f5309dab3" - }, - { - "type": "UFix64", - "value": "92233720368.54775808" - }, - { - "type": "Optional", - "value": { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164" - } - ] - } + "value": null, + "type": "Optional" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -8310,43 +4650,15 @@ ] }, "envelopeMessage": { - "script": "import Crypto\nimport FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// Registers a delegator in the staking collection resource\n/// for the specified node information and the amount of tokens to commit\n\ntransaction(id: String,\n role: UInt8,\n networkingAddress: String,\n networkingKey: String,\n stakingKey: String,\n amount: UFix64,\n publicKeys: [Crypto.KeyListEntry]?) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n\n if let machineAccount = self.stakingCollectionRef.registerNode(\n id: id,\n role: role,\n networkingAddress: networkingAddress,\n networkingKey: networkingKey,\n stakingKey: stakingKey,\n amount: amount,\n payer: account) \n {\n if publicKeys == nil || publicKeys!.length == 0 {\n panic(\"Cannot provide zero keys for the machine account\")\n }\n for key in publicKeys! {\n machineAccount.keys.add(publicKey: key.publicKey, hashAlgorithm: key.hashAlgorithm, weight: key.weight)\n }\n }\n }\n}\n", + "script": "import FlowStakingCollection from 0x8d0e87b65159ae63\n\n// Closes out a staking object in the staking collection\n// This does not remove the record from the identity table,\n// but it does mean that the account that closes it cannot ever access it again\n\ntransaction(nodeID: String, delegatorID: UInt32?) {\n \n let stakingCollectionRef: auth(FlowStakingCollection.CollectionOwner) &FlowStakingCollection.StakingCollection\n\n prepare(account: auth(BorrowValue) &Account) {\n self.stakingCollectionRef = account.storage.borrow(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow a reference to a StakingCollection in the primary user's account\")\n }\n\n execute {\n self.stakingCollectionRef.closeStake(nodeID: nodeID, delegatorID: delegatorID)\n }\n}\n", "arguments": [ { "type": "String", "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" }, { - "type": "UInt8", - "value": "1" - }, - { - "type": "String", - "value": "flow-node.test:3569" - }, - { - "type": "String", - "value": "1348307bc77c688e80049de9d081aa09755da33e6997605fa059db2144fc85e560cbe6f7da8d74b453f5916618cb8fd392c2db856f3e78221dc68db1b1d914e4" - }, - { - "type": "String", - "value": "9e9ae0d645fd5fd9050792e0b0daa82cc1686d9133afa0f81a784b375c42ae48567d1545e7a9e1965f2c1a32f73cf8575ebb7a967f6e4d104d2df78eb8be409135d12da0499b8a00771f642c1b9c49397f22b440439f036c3bdee82f5309dab3" - }, - { - "type": "UFix64", - "value": "92233720368.54775808" - }, - { - "type": "Optional", - "value": { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164" - } - ] - } + "value": null, + "type": "Optional" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -8362,61 +4674,25 @@ ], "payloadSigs": [] }, - "encodedTransactionPayloadHex": "f9090bb9058a696d706f72742043727970746f0a696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f2052656769737465727320612064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e207265736f757263650a2f2f2f20666f722074686520737065636966696564206e6f646520696e666f726d6174696f6e20616e642074686520616d6f756e74206f6620746f6b656e7320746f20636f6d6d69740a0a7472616e73616374696f6e2869643a20537472696e672c0a202020202020202020202020726f6c653a2055496e74382c0a2020202020202020202020206e6574776f726b696e67416464726573733a20537472696e672c0a2020202020202020202020206e6574776f726b696e674b65793a20537472696e672c0a2020202020202020202020207374616b696e674b65793a20537472696e672c0a202020202020202020202020616d6f756e743a205546697836342c0a2020202020202020202020207075626c69634b6579733a205b43727970746f2e4b65794c697374456e7472795d3f29207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a0a20202020202020206966206c6574206d616368696e654163636f756e74203d2073656c662e7374616b696e67436f6c6c656374696f6e5265662e72656769737465724e6f6465280a20202020202020202020202069643a2069642c0a202020202020202020202020726f6c653a20726f6c652c0a2020202020202020202020206e6574776f726b696e67416464726573733a206e6574776f726b696e67416464726573732c0a2020202020202020202020206e6574776f726b696e674b65793a206e6574776f726b696e674b65792c0a2020202020202020202020207374616b696e674b65793a207374616b696e674b65792c0a202020202020202020202020616d6f756e743a20616d6f756e742c0a20202020202020202020202070617965723a206163636f756e7429200a20202020202020207b0a2020202020202020202020206966207075626c69634b657973203d3d206e696c207c7c207075626c69634b657973212e6c656e677468203d3d2030207b0a2020202020202020202020202020202070616e6963282243616e6e6f742070726f76696465207a65726f206b65797320666f7220746865206d616368696e65206163636f756e7422290a2020202020202020202020207d0a202020202020202020202020666f72206b657920696e207075626c69634b65797321207b0a202020202020202020202020202020206d616368696e654163636f756e742e6b6579732e616464287075626c69634b65793a206b65792e7075626c69634b65792c2068617368416c676f726974686d3a206b65792e68617368416c676f726974686d2c207765696768743a206b65792e776569676874290a2020202020202020202020207d0a20202020202020207d0a202020207d0a7d0af9033bb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227d9c7b2274797065223a2255496e7438222c2276616c7565223a2231227daf7b2274797065223a22537472696e67222c2276616c7565223a22666c6f772d6e6f64652e746573743a33353639227db89c7b2274797065223a22537472696e67222c2276616c7565223a223133343833303762633737633638386538303034396465396430383161613039373535646133336536393937363035666130353964623231343466633835653536306362653666376461386437346234353366353931363631386362386664333932633264623835366633653738323231646336386462316231643931346534227db8dc7b2274797065223a22537472696e67222c2276616c7565223a22396539616530643634356664356664393035303739326530623064616138326363313638366439313333616661306638316137383462333735633432616534383536376431353435653761396531393635663263316133326637336366383537356562623761393637663665346431303464326466373865623862653430393133356431326461303439396238613030373731663634326331623963343933393766323262343430343339663033366333626465653832663533303964616233227db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227db8e17b2274797065223a224f7074696f6e616c222c2276616c7565223a7b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634227d5d7d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f9090ff9090bb9058a696d706f72742043727970746f0a696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f2052656769737465727320612064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e207265736f757263650a2f2f2f20666f722074686520737065636966696564206e6f646520696e666f726d6174696f6e20616e642074686520616d6f756e74206f6620746f6b656e7320746f20636f6d6d69740a0a7472616e73616374696f6e2869643a20537472696e672c0a202020202020202020202020726f6c653a2055496e74382c0a2020202020202020202020206e6574776f726b696e67416464726573733a20537472696e672c0a2020202020202020202020206e6574776f726b696e674b65793a20537472696e672c0a2020202020202020202020207374616b696e674b65793a20537472696e672c0a202020202020202020202020616d6f756e743a205546697836342c0a2020202020202020202020207075626c69634b6579733a205b43727970746f2e4b65794c697374456e7472795d3f29207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a0a20202020202020206966206c6574206d616368696e654163636f756e74203d2073656c662e7374616b696e67436f6c6c656374696f6e5265662e72656769737465724e6f6465280a20202020202020202020202069643a2069642c0a202020202020202020202020726f6c653a20726f6c652c0a2020202020202020202020206e6574776f726b696e67416464726573733a206e6574776f726b696e67416464726573732c0a2020202020202020202020206e6574776f726b696e674b65793a206e6574776f726b696e674b65792c0a2020202020202020202020207374616b696e674b65793a207374616b696e674b65792c0a202020202020202020202020616d6f756e743a20616d6f756e742c0a20202020202020202020202070617965723a206163636f756e7429200a20202020202020207b0a2020202020202020202020206966207075626c69634b657973203d3d206e696c207c7c207075626c69634b657973212e6c656e677468203d3d2030207b0a2020202020202020202020202020202070616e6963282243616e6e6f742070726f76696465207a65726f206b65797320666f7220746865206d616368696e65206163636f756e7422290a2020202020202020202020207d0a202020202020202020202020666f72206b657920696e207075626c69634b65797321207b0a202020202020202020202020202020206d616368696e654163636f756e742e6b6579732e616464287075626c69634b65793a206b65792e7075626c69634b65792c2068617368416c676f726974686d3a206b65792e68617368416c676f726974686d2c207765696768743a206b65792e776569676874290a2020202020202020202020207d0a20202020202020207d0a202020207d0a7d0af9033bb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227d9c7b2274797065223a2255496e7438222c2276616c7565223a2231227daf7b2274797065223a22537472696e67222c2276616c7565223a22666c6f772d6e6f64652e746573743a33353639227db89c7b2274797065223a22537472696e67222c2276616c7565223a223133343833303762633737633638386538303034396465396430383161613039373535646133336536393937363035666130353964623231343466633835653536306362653666376461386437346234353366353931363631386362386664333932633264623835366633653738323231646336386462316231643931346534227db8dc7b2274797065223a22537472696e67222c2276616c7565223a22396539616530643634356664356664393035303739326530623064616138326363313638366439313333616661306638316137383462333735633432616534383536376431353435653761396531393635663263316133326637336366383537356562623761393637663665346431303464326466373865623862653430393133356431326461303439396238613030373731663634326331623963343933393766323262343430343339663033366333626465653832663533303964616233227db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227db8e17b2274797065223a224f7074696f6e616c222c2276616c7565223a7b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634227d5d7d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "029246ec9b7a5c81151156e7c2f6d356f68b1b884f88728daca46b968d9a46cd5a79de7119aea61bdafb39cc3d1f4fa17ca802c2732726a86d2c636dbc19808b685265676973746572204e6f64650007014e6f64652049440000537472696e670003014e6f646520526f6c65000155496e74380003014e6574772e20416464726573730002537472696e670003014e6574772e204b65790003537472696e670003015374616b696e67204b65790004537472696e67000301416d6f756e74000555466978363400030400035075622e204b65790006537472696e670003", - "hash": "79de7119aea61bdafb39cc3d1f4fa17ca802c2732726a86d2c636dbc19808b68" + "encodedTransactionPayloadHex": "f90449b90385696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f20436c6f736573206f75742061207374616b696e67206f626a65637420696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f205468697320646f6573206e6f742072656d6f766520746865207265636f72642066726f6d20746865206964656e74697479207461626c652c0a2f2f2062757420697420646f6573206d65616e207468617420746865206163636f756e74207468617420636c6f7365732069742063616e6e6f7420657665722061636365737320697420616761696e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f29207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a206175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a206175746828426f72726f7756616c75652920264163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e73746f726167652e626f72726f773c6175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f2061205374616b696e67436f6c6c656374696f6e20696e20746865207072696d61727920757365722773206163636f756e7422290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e636c6f73655374616b65286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f724944290a202020207d0a7d0af87fb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227da07b2276616c7565223a6e756c6c2c2274797065223a224f7074696f6e616c227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", + "encodedTransactionEnvelopeHex": "f9044df90449b90385696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f20436c6f736573206f75742061207374616b696e67206f626a65637420696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f205468697320646f6573206e6f742072656d6f766520746865207265636f72642066726f6d20746865206964656e74697479207461626c652c0a2f2f2062757420697420646f6573206d65616e207468617420746865206163636f756e74207468617420636c6f7365732069742063616e6e6f7420657665722061636365737320697420616761696e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f29207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a206175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a206175746828426f72726f7756616c75652920264163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e73746f726167652e626f72726f773c6175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f2061205374616b696e67436f6c6c656374696f6e20696e20746865207072696d61727920757365722773206163636f756e7422290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e636c6f73655374616b65286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f724944290a202020207d0a7d0af87fb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227da07b2276616c7565223a6e756c6c2c2274797065223a224f7074696f6e616c227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", + "metadata": "027e216d96d75414b27c2301a3b0a7816804d43014337a14731d1493531116d185a0fad319bf8aede66212257ad0d21532858381e2c9d7c4cec179b28180f5be93436c6f7365205374616b650002014e6f64652049440000537472696e6700030244656c656761746f72204944000155496e7433320003", + "hash": "a0fad319bf8aede66212257ad0d21532858381e2c9d7c4cec179b28180f5be93" }, { - "title": "SCO.03 - Register Node - 4", + "title": "SCO.13 - Transfer Node", "valid": true, "chainID": "Mainnet", "payloadMessage": { - "script": "import Crypto\nimport FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// Registers a delegator in the staking collection resource\n/// for the specified node information and the amount of tokens to commit\n\ntransaction(id: String,\n role: UInt8,\n networkingAddress: String,\n networkingKey: String,\n stakingKey: String,\n amount: UFix64,\n publicKeys: [Crypto.KeyListEntry]?) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n\n if let machineAccount = self.stakingCollectionRef.registerNode(\n id: id,\n role: role,\n networkingAddress: networkingAddress,\n networkingKey: networkingKey,\n stakingKey: stakingKey,\n amount: amount,\n payer: account) \n {\n if publicKeys == nil || publicKeys!.length == 0 {\n panic(\"Cannot provide zero keys for the machine account\")\n }\n for key in publicKeys! {\n machineAccount.keys.add(publicKey: key.publicKey, hashAlgorithm: key.hashAlgorithm, weight: key.weight)\n }\n }\n }\n}\n", + "script": "import FlowStakingCollection from 0x8d0e87b65159ae63\n\n// Transfers a NodeStaker object from an authorizers accoount\n// and adds the NodeStaker to another accounts Staking Collection\n// identified by the to Address.\n\ntransaction(nodeID: String, to: Address) {\n let fromStakingCollectionRef: auth(FlowStakingCollection.CollectionOwner) &FlowStakingCollection.StakingCollection\n let toStakingCollectionCap: &FlowStakingCollection.StakingCollection\n\n prepare(account: auth(BorrowValue) &Account) {\n // The account to transfer the NodeStaker object to must have a valid Staking Collection in order to receive the NodeStaker.\n if (!FlowStakingCollection.doesAccountHaveStakingCollection(address: to)) {\n panic(\"Destination account must have a Staking Collection set up.\")\n }\n\n // Get a reference to the authorizers StakingCollection\n self.fromStakingCollectionRef = account.storage.borrow(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow a reference to a StakingCollection in the primary user's account\")\n\n // Get the PublicAccount of the account to transfer the NodeStaker to. \n let toAccount = getAccount(to)\n\n // Borrow a capability to the public methods available on the receivers StakingCollection.\n self.toStakingCollectionCap = toAccount.capabilities\n .borrow<&FlowStakingCollection.StakingCollection>(FlowStakingCollection.StakingCollectionPublicPath)\n ?? panic(\"Could not borrow a reference to a StakingCollection in the receiver's account\")\n\n let machineAccountInfo = self.fromStakingCollectionRef.getMachineAccounts()[nodeID]\n ?? panic(\"Could not get machine account info for the specified node ID\")\n\n // Remove the NodeStaker from the authorizers StakingCollection.\n let nodeStaker <- self.fromStakingCollectionRef.removeNode(nodeID: nodeID)\n\n // Deposit the NodeStaker to the receivers StakingCollection.\n self.toStakingCollectionCap.addNodeObject(<- nodeStaker!, machineAccountInfo: machineAccountInfo)\n }\n}", "arguments": [ { "type": "String", "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" }, { - "type": "UInt8", - "value": "1" - }, - { - "type": "String", - "value": "flow-node.test:3569" - }, - { - "type": "String", - "value": "1348307bc77c688e80049de9d081aa09755da33e6997605fa059db2144fc85e560cbe6f7da8d74b453f5916618cb8fd392c2db856f3e78221dc68db1b1d914e4" - }, - { - "type": "String", - "value": "9e9ae0d645fd5fd9050792e0b0daa82cc1686d9133afa0f81a784b375c42ae48567d1545e7a9e1965f2c1a32f73cf8575ebb7a967f6e4d104d2df78eb8be409135d12da0499b8a00771f642c1b9c49397f22b440439f036c3bdee82f5309dab3" - }, - { - "type": "UFix64", - "value": "92233720368.54775808" - }, - { - "type": "Optional", - "value": { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164" - }, - { - "type": "String", - "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164" - }, - { - "type": "String", - "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164" - } - ] - } + "value": "0xe467b9dd11fa00df", + "type": "Address" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -8439,51 +4715,15 @@ ] }, "envelopeMessage": { - "script": "import Crypto\nimport FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// Registers a delegator in the staking collection resource\n/// for the specified node information and the amount of tokens to commit\n\ntransaction(id: String,\n role: UInt8,\n networkingAddress: String,\n networkingKey: String,\n stakingKey: String,\n amount: UFix64,\n publicKeys: [Crypto.KeyListEntry]?) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n\n if let machineAccount = self.stakingCollectionRef.registerNode(\n id: id,\n role: role,\n networkingAddress: networkingAddress,\n networkingKey: networkingKey,\n stakingKey: stakingKey,\n amount: amount,\n payer: account) \n {\n if publicKeys == nil || publicKeys!.length == 0 {\n panic(\"Cannot provide zero keys for the machine account\")\n }\n for key in publicKeys! {\n machineAccount.keys.add(publicKey: key.publicKey, hashAlgorithm: key.hashAlgorithm, weight: key.weight)\n }\n }\n }\n}\n", + "script": "import FlowStakingCollection from 0x8d0e87b65159ae63\n\n// Transfers a NodeStaker object from an authorizers accoount\n// and adds the NodeStaker to another accounts Staking Collection\n// identified by the to Address.\n\ntransaction(nodeID: String, to: Address) {\n let fromStakingCollectionRef: auth(FlowStakingCollection.CollectionOwner) &FlowStakingCollection.StakingCollection\n let toStakingCollectionCap: &FlowStakingCollection.StakingCollection\n\n prepare(account: auth(BorrowValue) &Account) {\n // The account to transfer the NodeStaker object to must have a valid Staking Collection in order to receive the NodeStaker.\n if (!FlowStakingCollection.doesAccountHaveStakingCollection(address: to)) {\n panic(\"Destination account must have a Staking Collection set up.\")\n }\n\n // Get a reference to the authorizers StakingCollection\n self.fromStakingCollectionRef = account.storage.borrow(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow a reference to a StakingCollection in the primary user's account\")\n\n // Get the PublicAccount of the account to transfer the NodeStaker to. \n let toAccount = getAccount(to)\n\n // Borrow a capability to the public methods available on the receivers StakingCollection.\n self.toStakingCollectionCap = toAccount.capabilities\n .borrow<&FlowStakingCollection.StakingCollection>(FlowStakingCollection.StakingCollectionPublicPath)\n ?? panic(\"Could not borrow a reference to a StakingCollection in the receiver's account\")\n\n let machineAccountInfo = self.fromStakingCollectionRef.getMachineAccounts()[nodeID]\n ?? panic(\"Could not get machine account info for the specified node ID\")\n\n // Remove the NodeStaker from the authorizers StakingCollection.\n let nodeStaker <- self.fromStakingCollectionRef.removeNode(nodeID: nodeID)\n\n // Deposit the NodeStaker to the receivers StakingCollection.\n self.toStakingCollectionCap.addNodeObject(<- nodeStaker!, machineAccountInfo: machineAccountInfo)\n }\n}", "arguments": [ { "type": "String", "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" }, { - "type": "UInt8", - "value": "1" - }, - { - "type": "String", - "value": "flow-node.test:3569" - }, - { - "type": "String", - "value": "1348307bc77c688e80049de9d081aa09755da33e6997605fa059db2144fc85e560cbe6f7da8d74b453f5916618cb8fd392c2db856f3e78221dc68db1b1d914e4" - }, - { - "type": "String", - "value": "9e9ae0d645fd5fd9050792e0b0daa82cc1686d9133afa0f81a784b375c42ae48567d1545e7a9e1965f2c1a32f73cf8575ebb7a967f6e4d104d2df78eb8be409135d12da0499b8a00771f642c1b9c49397f22b440439f036c3bdee82f5309dab3" - }, - { - "type": "UFix64", - "value": "92233720368.54775808" - }, - { - "type": "Optional", - "value": { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164" - }, - { - "type": "String", - "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164" - }, - { - "type": "String", - "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164" - } - ] - } + "value": "0xe467b9dd11fa00df", + "type": "Address" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -8499,25 +4739,29 @@ ], "payloadSigs": [] }, - "encodedTransactionPayloadHex": "f90a62b9058a696d706f72742043727970746f0a696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f2052656769737465727320612064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e207265736f757263650a2f2f2f20666f722074686520737065636966696564206e6f646520696e666f726d6174696f6e20616e642074686520616d6f756e74206f6620746f6b656e7320746f20636f6d6d69740a0a7472616e73616374696f6e2869643a20537472696e672c0a202020202020202020202020726f6c653a2055496e74382c0a2020202020202020202020206e6574776f726b696e67416464726573733a20537472696e672c0a2020202020202020202020206e6574776f726b696e674b65793a20537472696e672c0a2020202020202020202020207374616b696e674b65793a20537472696e672c0a202020202020202020202020616d6f756e743a205546697836342c0a2020202020202020202020207075626c69634b6579733a205b43727970746f2e4b65794c697374456e7472795d3f29207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a0a20202020202020206966206c6574206d616368696e654163636f756e74203d2073656c662e7374616b696e67436f6c6c656374696f6e5265662e72656769737465724e6f6465280a20202020202020202020202069643a2069642c0a202020202020202020202020726f6c653a20726f6c652c0a2020202020202020202020206e6574776f726b696e67416464726573733a206e6574776f726b696e67416464726573732c0a2020202020202020202020206e6574776f726b696e674b65793a206e6574776f726b696e674b65792c0a2020202020202020202020207374616b696e674b65793a207374616b696e674b65792c0a202020202020202020202020616d6f756e743a20616d6f756e742c0a20202020202020202020202070617965723a206163636f756e7429200a20202020202020207b0a2020202020202020202020206966207075626c69634b657973203d3d206e696c207c7c207075626c69634b657973212e6c656e677468203d3d2030207b0a2020202020202020202020202020202070616e6963282243616e6e6f742070726f76696465207a65726f206b65797320666f7220746865206d616368696e65206163636f756e7422290a2020202020202020202020207d0a202020202020202020202020666f72206b657920696e207075626c69634b65797321207b0a202020202020202020202020202020206d616368696e654163636f756e742e6b6579732e616464287075626c69634b65793a206b65792e7075626c69634b65792c2068617368416c676f726974686d3a206b65792e68617368416c676f726974686d2c207765696768743a206b65792e776569676874290a2020202020202020202020207d0a20202020202020207d0a202020207d0a7d0af90492b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227d9c7b2274797065223a2255496e7438222c2276616c7565223a2231227daf7b2274797065223a22537472696e67222c2276616c7565223a22666c6f772d6e6f64652e746573743a33353639227db89c7b2274797065223a22537472696e67222c2276616c7565223a223133343833303762633737633638386538303034396465396430383161613039373535646133336536393937363035666130353964623231343466633835653536306362653666376461386437346234353366353931363631386362386664333932633264623835366633653738323231646336386462316231643931346534227db8dc7b2274797065223a22537472696e67222c2276616c7565223a22396539616530643634356664356664393035303739326530623064616138326363313638366439313333616661306638316137383462333735633432616534383536376431353435653761396531393635663263316133326637336366383537356562623761393637663665346431303464326466373865623862653430393133356431326461303439396238613030373731663634326331623963343933393766323262343430343339663033366333626465653832663533303964616233227db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227db902377b2274797065223a224f7074696f6e616c222c2276616c7565223a7b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634227d2c7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634227d2c7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634227d5d7d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f90a66f90a62b9058a696d706f72742043727970746f0a696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f2052656769737465727320612064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e207265736f757263650a2f2f2f20666f722074686520737065636966696564206e6f646520696e666f726d6174696f6e20616e642074686520616d6f756e74206f6620746f6b656e7320746f20636f6d6d69740a0a7472616e73616374696f6e2869643a20537472696e672c0a202020202020202020202020726f6c653a2055496e74382c0a2020202020202020202020206e6574776f726b696e67416464726573733a20537472696e672c0a2020202020202020202020206e6574776f726b696e674b65793a20537472696e672c0a2020202020202020202020207374616b696e674b65793a20537472696e672c0a202020202020202020202020616d6f756e743a205546697836342c0a2020202020202020202020207075626c69634b6579733a205b43727970746f2e4b65794c697374456e7472795d3f29207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a0a20202020202020206966206c6574206d616368696e654163636f756e74203d2073656c662e7374616b696e67436f6c6c656374696f6e5265662e72656769737465724e6f6465280a20202020202020202020202069643a2069642c0a202020202020202020202020726f6c653a20726f6c652c0a2020202020202020202020206e6574776f726b696e67416464726573733a206e6574776f726b696e67416464726573732c0a2020202020202020202020206e6574776f726b696e674b65793a206e6574776f726b696e674b65792c0a2020202020202020202020207374616b696e674b65793a207374616b696e674b65792c0a202020202020202020202020616d6f756e743a20616d6f756e742c0a20202020202020202020202070617965723a206163636f756e7429200a20202020202020207b0a2020202020202020202020206966207075626c69634b657973203d3d206e696c207c7c207075626c69634b657973212e6c656e677468203d3d2030207b0a2020202020202020202020202020202070616e6963282243616e6e6f742070726f76696465207a65726f206b65797320666f7220746865206d616368696e65206163636f756e7422290a2020202020202020202020207d0a202020202020202020202020666f72206b657920696e207075626c69634b65797321207b0a202020202020202020202020202020206d616368696e654163636f756e742e6b6579732e616464287075626c69634b65793a206b65792e7075626c69634b65792c2068617368416c676f726974686d3a206b65792e68617368416c676f726974686d2c207765696768743a206b65792e776569676874290a2020202020202020202020207d0a20202020202020207d0a202020207d0a7d0af90492b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227d9c7b2274797065223a2255496e7438222c2276616c7565223a2231227daf7b2274797065223a22537472696e67222c2276616c7565223a22666c6f772d6e6f64652e746573743a33353639227db89c7b2274797065223a22537472696e67222c2276616c7565223a223133343833303762633737633638386538303034396465396430383161613039373535646133336536393937363035666130353964623231343466633835653536306362653666376461386437346234353366353931363631386362386664333932633264623835366633653738323231646336386462316231643931346534227db8dc7b2274797065223a22537472696e67222c2276616c7565223a22396539616530643634356664356664393035303739326530623064616138326363313638366439313333616661306638316137383462333735633432616534383536376431353435653761396531393635663263316133326637336366383537356562623761393637663665346431303464326466373865623862653430393133356431326461303439396238613030373731663634326331623963343933393766323262343430343339663033366333626465653832663533303964616233227db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227db902377b2274797065223a224f7074696f6e616c222c2276616c7565223a7b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634227d2c7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634227d2c7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634227d5d7d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "029246ec9b7a5c81151156e7c2f6d356f68b1b884f88728daca46b968d9a46cd5a79de7119aea61bdafb39cc3d1f4fa17ca802c2732726a86d2c636dbc19808b685265676973746572204e6f64650007014e6f64652049440000537472696e670003014e6f646520526f6c65000155496e74380003014e6574772e20416464726573730002537472696e670003014e6574772e204b65790003537472696e670003015374616b696e67204b65790004537472696e67000301416d6f756e74000555466978363400030400035075622e204b65790006537472696e670003", - "hash": "79de7119aea61bdafb39cc3d1f4fa17ca802c2732726a86d2c636dbc19808b68" + "encodedTransactionPayloadHex": "f9096eb9089b696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f205472616e73666572732061204e6f64655374616b6572206f626a6563742066726f6d20616e20617574686f72697a657273206163636f6f756e740a2f2f20616e64206164647320746865204e6f64655374616b657220746f20616e6f74686572206163636f756e7473205374616b696e6720436f6c6c656374696f6e0a2f2f206964656e7469666965642062792074686520746f20416464726573732e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c20746f3a204164647265737329207b0a202020206c65742066726f6d5374616b696e67436f6c6c656374696f6e5265663a206175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a202020206c657420746f5374616b696e67436f6c6c656374696f6e4361703a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a206175746828426f72726f7756616c75652920264163636f756e7429207b0a20202020202020202f2f20546865206163636f756e7420746f207472616e7366657220746865204e6f64655374616b6572206f626a65637420746f206d757374206861766520612076616c6964205374616b696e6720436f6c6c656374696f6e20696e206f7264657220746f207265636569766520746865204e6f64655374616b65722e0a20202020202020206966202821466c6f775374616b696e67436f6c6c656374696f6e2e646f65734163636f756e74486176655374616b696e67436f6c6c656374696f6e28616464726573733a20746f2929207b0a20202020202020202020202070616e6963282244657374696e6174696f6e206163636f756e74206d75737420686176652061205374616b696e6720436f6c6c656374696f6e207365742075702e22290a20202020202020207d0a0a20202020202020202f2f204765742061207265666572656e636520746f2074686520617574686f72697a657273205374616b696e67436f6c6c656374696f6e0a202020202020202073656c662e66726f6d5374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e73746f726167652e626f72726f773c6175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f2061205374616b696e67436f6c6c656374696f6e20696e20746865207072696d61727920757365722773206163636f756e7422290a0a20202020202020202f2f2047657420746865205075626c69634163636f756e74206f6620746865206163636f756e7420746f207472616e7366657220746865204e6f64655374616b657220746f2e200a20202020202020206c657420746f4163636f756e74203d206765744163636f756e7428746f290a0a20202020202020202f2f20426f72726f772061206361706162696c69747920746f20746865207075626c6963206d6574686f647320617661696c61626c65206f6e2074686520726563656976657273205374616b696e67436f6c6c656374696f6e2e0a202020202020202073656c662e746f5374616b696e67436f6c6c656374696f6e436170203d20746f4163636f756e742e6361706162696c69746965730a2020202020202020202020202e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e28466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e5075626c696350617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f2061205374616b696e67436f6c6c656374696f6e20696e207468652072656365697665722773206163636f756e7422290a0a20202020202020206c6574206d616368696e654163636f756e74496e666f203d2073656c662e66726f6d5374616b696e67436f6c6c656374696f6e5265662e6765744d616368696e654163636f756e747328295b6e6f646549445d0a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420676574206d616368696e65206163636f756e7420696e666f20666f722074686520737065636966696564206e6f646520494422290a0a20202020202020202f2f2052656d6f766520746865204e6f64655374616b65722066726f6d2074686520617574686f72697a657273205374616b696e67436f6c6c656374696f6e2e0a20202020202020206c6574206e6f64655374616b6572203c2d2073656c662e66726f6d5374616b696e67436f6c6c656374696f6e5265662e72656d6f76654e6f6465286e6f646549443a206e6f64654944290a0a20202020202020202f2f204465706f73697420746865204e6f64655374616b657220746f2074686520726563656976657273205374616b696e67436f6c6c656374696f6e2e0a202020202020202073656c662e746f5374616b696e67436f6c6c656374696f6e4361702e6164644e6f64654f626a656374283c2d206e6f64655374616b6572212c206d616368696e654163636f756e74496e666f3a206d616368696e654163636f756e74496e666f290a202020207d0a7df88eb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227daf7b2276616c7565223a22307865343637623964643131666130306466222c2274797065223a2241646472657373227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", + "encodedTransactionEnvelopeHex": "f90972f9096eb9089b696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f205472616e73666572732061204e6f64655374616b6572206f626a6563742066726f6d20616e20617574686f72697a657273206163636f6f756e740a2f2f20616e64206164647320746865204e6f64655374616b657220746f20616e6f74686572206163636f756e7473205374616b696e6720436f6c6c656374696f6e0a2f2f206964656e7469666965642062792074686520746f20416464726573732e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c20746f3a204164647265737329207b0a202020206c65742066726f6d5374616b696e67436f6c6c656374696f6e5265663a206175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a202020206c657420746f5374616b696e67436f6c6c656374696f6e4361703a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a206175746828426f72726f7756616c75652920264163636f756e7429207b0a20202020202020202f2f20546865206163636f756e7420746f207472616e7366657220746865204e6f64655374616b6572206f626a65637420746f206d757374206861766520612076616c6964205374616b696e6720436f6c6c656374696f6e20696e206f7264657220746f207265636569766520746865204e6f64655374616b65722e0a20202020202020206966202821466c6f775374616b696e67436f6c6c656374696f6e2e646f65734163636f756e74486176655374616b696e67436f6c6c656374696f6e28616464726573733a20746f2929207b0a20202020202020202020202070616e6963282244657374696e6174696f6e206163636f756e74206d75737420686176652061205374616b696e6720436f6c6c656374696f6e207365742075702e22290a20202020202020207d0a0a20202020202020202f2f204765742061207265666572656e636520746f2074686520617574686f72697a657273205374616b696e67436f6c6c656374696f6e0a202020202020202073656c662e66726f6d5374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e73746f726167652e626f72726f773c6175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f2061205374616b696e67436f6c6c656374696f6e20696e20746865207072696d61727920757365722773206163636f756e7422290a0a20202020202020202f2f2047657420746865205075626c69634163636f756e74206f6620746865206163636f756e7420746f207472616e7366657220746865204e6f64655374616b657220746f2e200a20202020202020206c657420746f4163636f756e74203d206765744163636f756e7428746f290a0a20202020202020202f2f20426f72726f772061206361706162696c69747920746f20746865207075626c6963206d6574686f647320617661696c61626c65206f6e2074686520726563656976657273205374616b696e67436f6c6c656374696f6e2e0a202020202020202073656c662e746f5374616b696e67436f6c6c656374696f6e436170203d20746f4163636f756e742e6361706162696c69746965730a2020202020202020202020202e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e28466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e5075626c696350617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f2061205374616b696e67436f6c6c656374696f6e20696e207468652072656365697665722773206163636f756e7422290a0a20202020202020206c6574206d616368696e654163636f756e74496e666f203d2073656c662e66726f6d5374616b696e67436f6c6c656374696f6e5265662e6765744d616368696e654163636f756e747328295b6e6f646549445d0a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420676574206d616368696e65206163636f756e7420696e666f20666f722074686520737065636966696564206e6f646520494422290a0a20202020202020202f2f2052656d6f766520746865204e6f64655374616b65722066726f6d2074686520617574686f72697a657273205374616b696e67436f6c6c656374696f6e2e0a20202020202020206c6574206e6f64655374616b6572203c2d2073656c662e66726f6d5374616b696e67436f6c6c656374696f6e5265662e72656d6f76654e6f6465286e6f646549443a206e6f64654944290a0a20202020202020202f2f204465706f73697420746865204e6f64655374616b657220746f2074686520726563656976657273205374616b696e67436f6c6c656374696f6e2e0a202020202020202073656c662e746f5374616b696e67436f6c6c656374696f6e4361702e6164644e6f64654f626a656374283c2d206e6f64655374616b6572212c206d616368696e654163636f756e74496e666f3a206d616368696e654163636f756e74496e666f290a202020207d0a7df88eb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227daf7b2276616c7565223a22307865343637623964643131666130306466222c2274797065223a2241646472657373227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", + "metadata": "02311f4071dda8b17ac6cbc6f0a27e98bd426026825d3c68308903fead884e616e38bfd23b200ecef4d13fa3c2ea998b51e6a24f3a8ceb260d2affab7c918a97d05472616e73666572204e6f64650002014e6f64652049440000537472696e67000301416464726573730001416464726573730003", + "hash": "38bfd23b200ecef4d13fa3c2ea998b51e6a24f3a8ceb260d2affab7c918a97d0" }, { - "title": "SCO.04 - Create Machine Account - 1", + "title": "SCO.14 - Transfer Delegator", "valid": true, "chainID": "Mainnet", "payloadMessage": { - "script": "import Crypto\nimport FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// Creates a machine account for a node that is already in the staking collection\n/// and adds public keys to the new account\n\ntransaction(nodeID: String, publicKeys: [Crypto.KeyListEntry]) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n\n if let machineAccount = self.stakingCollectionRef.createMachineAccountForExistingNode(nodeID: nodeID, payer: account) {\n if publicKeys == nil || publicKeys!.length == 0 {\n panic(\"Cannot provide zero keys for the machine account\")\n }\n for key in publicKeys {\n machineAccount.keys.add(publicKey: key.publicKey, hashAlgorithm: key.hashAlgorithm, weight: key.weight)\n }\n } else {\n panic(\"Could not create a machine account for the node\")\n }\n }\n}\n", + "script": "import FlowStakingCollection from 0x8d0e87b65159ae63\n\n// Transfers a NodeDelegator object from an authorizers accoount\n// and adds the NodeDelegator to another accounts Staking Collection\n// identified by the to Address.\n\ntransaction(nodeID: String, delegatorID: UInt32, to: Address) {\n let fromStakingCollectionRef: auth(FlowStakingCollection.CollectionOwner) &FlowStakingCollection.StakingCollection\n let toStakingCollectionCap: &FlowStakingCollection.StakingCollection\n\n prepare(account: auth(BorrowValue) &Account) {\n // The account to transfer the NodeDelegator object to must have a valid Staking Collection in order to receive the NodeDelegator.\n if (!FlowStakingCollection.doesAccountHaveStakingCollection(address: to)) {\n panic(\"Destination account must have a Staking Collection set up.\")\n }\n\n // Get a reference to the authorizers StakingCollection\n self.fromStakingCollectionRef = account.storage.borrow(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow a reference to a StakingCollection in the primary user's account\")\n\n // Get the PublicAccount of the account to transfer the NodeDelegator to. \n let toAccount = getAccount(to)\n\n // Borrow a capability to the public methods available on the receivers StakingCollection.\n self.toStakingCollectionCap = toAccount.capabilities\n .borrow<&FlowStakingCollection.StakingCollection>(FlowStakingCollection.StakingCollectionPublicPath)\n ?? panic(\"Could not borrow a referamce to a StakingCollection in the receiver's account\")\n }\n\n execute {\n // Remove the NodeDelegator from the authorizers StakingCollection.\n let nodeDelegator <- self.fromStakingCollectionRef.removeDelegator(nodeID: nodeID, delegatorID: delegatorID)\n\n // Deposit the NodeDelegator to the receivers StakingCollection.\n self.toStakingCollectionCap.addDelegatorObject(<- nodeDelegator!)\n }\n}", "arguments": [ { "type": "String", "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" }, { - "type": "Array", - "value": [] + "value": "42", + "type": "UInt32" + }, + { + "value": "0xe467b9dd11fa00df", + "type": "Address" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -8540,15 +4784,19 @@ ] }, "envelopeMessage": { - "script": "import Crypto\nimport FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// Creates a machine account for a node that is already in the staking collection\n/// and adds public keys to the new account\n\ntransaction(nodeID: String, publicKeys: [Crypto.KeyListEntry]) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n\n if let machineAccount = self.stakingCollectionRef.createMachineAccountForExistingNode(nodeID: nodeID, payer: account) {\n if publicKeys == nil || publicKeys!.length == 0 {\n panic(\"Cannot provide zero keys for the machine account\")\n }\n for key in publicKeys {\n machineAccount.keys.add(publicKey: key.publicKey, hashAlgorithm: key.hashAlgorithm, weight: key.weight)\n }\n } else {\n panic(\"Could not create a machine account for the node\")\n }\n }\n}\n", + "script": "import FlowStakingCollection from 0x8d0e87b65159ae63\n\n// Transfers a NodeDelegator object from an authorizers accoount\n// and adds the NodeDelegator to another accounts Staking Collection\n// identified by the to Address.\n\ntransaction(nodeID: String, delegatorID: UInt32, to: Address) {\n let fromStakingCollectionRef: auth(FlowStakingCollection.CollectionOwner) &FlowStakingCollection.StakingCollection\n let toStakingCollectionCap: &FlowStakingCollection.StakingCollection\n\n prepare(account: auth(BorrowValue) &Account) {\n // The account to transfer the NodeDelegator object to must have a valid Staking Collection in order to receive the NodeDelegator.\n if (!FlowStakingCollection.doesAccountHaveStakingCollection(address: to)) {\n panic(\"Destination account must have a Staking Collection set up.\")\n }\n\n // Get a reference to the authorizers StakingCollection\n self.fromStakingCollectionRef = account.storage.borrow(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow a reference to a StakingCollection in the primary user's account\")\n\n // Get the PublicAccount of the account to transfer the NodeDelegator to. \n let toAccount = getAccount(to)\n\n // Borrow a capability to the public methods available on the receivers StakingCollection.\n self.toStakingCollectionCap = toAccount.capabilities\n .borrow<&FlowStakingCollection.StakingCollection>(FlowStakingCollection.StakingCollectionPublicPath)\n ?? panic(\"Could not borrow a referamce to a StakingCollection in the receiver's account\")\n }\n\n execute {\n // Remove the NodeDelegator from the authorizers StakingCollection.\n let nodeDelegator <- self.fromStakingCollectionRef.removeDelegator(nodeID: nodeID, delegatorID: delegatorID)\n\n // Deposit the NodeDelegator to the receivers StakingCollection.\n self.toStakingCollectionCap.addDelegatorObject(<- nodeDelegator!)\n }\n}", "arguments": [ { "type": "String", "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" }, { - "type": "Array", - "value": [] + "value": "42", + "type": "UInt32" + }, + { + "value": "0xe467b9dd11fa00df", + "type": "Address" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -8564,30 +4812,25 @@ ], "payloadSigs": [] }, - "encodedTransactionPayloadHex": "f90537b90478696d706f72742043727970746f0a696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f20437265617465732061206d616368696e65206163636f756e7420666f722061206e6f6465207468617420697320616c726561647920696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f20616e642061646473207075626c6963206b65797320746f20746865206e6577206163636f756e740a0a7472616e73616374696f6e286e6f646549443a20537472696e672c207075626c69634b6579733a205b43727970746f2e4b65794c697374456e7472795d29207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a0a20202020202020206966206c6574206d616368696e654163636f756e74203d2073656c662e7374616b696e67436f6c6c656374696f6e5265662e6372656174654d616368696e654163636f756e74466f724578697374696e674e6f6465286e6f646549443a206e6f646549442c2070617965723a206163636f756e7429207b0a2020202020202020202020206966207075626c69634b657973203d3d206e696c207c7c207075626c69634b657973212e6c656e677468203d3d2030207b0a2020202020202020202020202020202070616e6963282243616e6e6f742070726f76696465207a65726f206b65797320666f7220746865206d616368696e65206163636f756e7422290a2020202020202020202020207d0a202020202020202020202020666f72206b657920696e207075626c69634b657973207b0a202020202020202020202020202020206d616368696e654163636f756e742e6b6579732e616464287075626c69634b65793a206b65792e7075626c69634b65792c2068617368416c676f726974686d3a206b65792e68617368416c676f726974686d2c207765696768743a206b65792e776569676874290a2020202020202020202020207d0a20202020202020207d20656c7365207b0a20202020202020202020202070616e69632822436f756c64206e6f74206372656174652061206d616368696e65206163636f756e7420666f7220746865206e6f646522290a20202020202020207d0a202020207d0a7d0af87ab85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227d9b7b2274797065223a224172726179222c2276616c7565223a5b5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f9053bf90537b90478696d706f72742043727970746f0a696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f20437265617465732061206d616368696e65206163636f756e7420666f722061206e6f6465207468617420697320616c726561647920696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f20616e642061646473207075626c6963206b65797320746f20746865206e6577206163636f756e740a0a7472616e73616374696f6e286e6f646549443a20537472696e672c207075626c69634b6579733a205b43727970746f2e4b65794c697374456e7472795d29207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a0a20202020202020206966206c6574206d616368696e654163636f756e74203d2073656c662e7374616b696e67436f6c6c656374696f6e5265662e6372656174654d616368696e654163636f756e74466f724578697374696e674e6f6465286e6f646549443a206e6f646549442c2070617965723a206163636f756e7429207b0a2020202020202020202020206966207075626c69634b657973203d3d206e696c207c7c207075626c69634b657973212e6c656e677468203d3d2030207b0a2020202020202020202020202020202070616e6963282243616e6e6f742070726f76696465207a65726f206b65797320666f7220746865206d616368696e65206163636f756e7422290a2020202020202020202020207d0a202020202020202020202020666f72206b657920696e207075626c69634b657973207b0a202020202020202020202020202020206d616368696e654163636f756e742e6b6579732e616464287075626c69634b65793a206b65792e7075626c69634b65792c2068617368416c676f726974686d3a206b65792e68617368416c676f726974686d2c207765696768743a206b65792e776569676874290a2020202020202020202020207d0a20202020202020207d20656c7365207b0a20202020202020202020202070616e69632822436f756c64206e6f74206372656174652061206d616368696e65206163636f756e7420666f7220746865206e6f646522290a20202020202020207d0a202020207d0a7d0af87ab85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227d9b7b2274797065223a224172726179222c2276616c7565223a5b5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "0286c69d731560f3bff549c5f180eb4219bfe650ae4efec8e0c5b5ad3ebed54a92dd3b327b09087ea7f8e92a22a6b04a3c6ca33b868b430c4f15f251658c38c1b7437265617465204d616368696e65204163636f756e740002014e6f64652049440000537472696e6700030300035075622e204b65790001537472696e670003", - "hash": "dd3b327b09087ea7f8e92a22a6b04a3c6ca33b868b430c4f15f251658c38c1b7" + "encodedTransactionPayloadHex": "f9091bb90829696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f205472616e73666572732061204e6f646544656c656761746f72206f626a6563742066726f6d20616e20617574686f72697a657273206163636f6f756e740a2f2f20616e64206164647320746865204e6f646544656c656761746f7220746f20616e6f74686572206163636f756e7473205374616b696e6720436f6c6c656374696f6e0a2f2f206964656e7469666965642062792074686520746f20416464726573732e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433322c20746f3a204164647265737329207b0a202020206c65742066726f6d5374616b696e67436f6c6c656374696f6e5265663a206175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a202020206c657420746f5374616b696e67436f6c6c656374696f6e4361703a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a206175746828426f72726f7756616c75652920264163636f756e7429207b0a20202020202020202f2f20546865206163636f756e7420746f207472616e7366657220746865204e6f646544656c656761746f72206f626a65637420746f206d757374206861766520612076616c6964205374616b696e6720436f6c6c656374696f6e20696e206f7264657220746f207265636569766520746865204e6f646544656c656761746f722e0a20202020202020206966202821466c6f775374616b696e67436f6c6c656374696f6e2e646f65734163636f756e74486176655374616b696e67436f6c6c656374696f6e28616464726573733a20746f2929207b0a20202020202020202020202070616e6963282244657374696e6174696f6e206163636f756e74206d75737420686176652061205374616b696e6720436f6c6c656374696f6e207365742075702e22290a20202020202020207d0a0a20202020202020202f2f204765742061207265666572656e636520746f2074686520617574686f72697a657273205374616b696e67436f6c6c656374696f6e0a202020202020202073656c662e66726f6d5374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e73746f726167652e626f72726f773c6175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f2061205374616b696e67436f6c6c656374696f6e20696e20746865207072696d61727920757365722773206163636f756e7422290a0a20202020202020202f2f2047657420746865205075626c69634163636f756e74206f6620746865206163636f756e7420746f207472616e7366657220746865204e6f646544656c656761746f7220746f2e200a20202020202020206c657420746f4163636f756e74203d206765744163636f756e7428746f290a0a20202020202020202f2f20426f72726f772061206361706162696c69747920746f20746865207075626c6963206d6574686f647320617661696c61626c65206f6e2074686520726563656976657273205374616b696e67436f6c6c656374696f6e2e0a202020202020202073656c662e746f5374616b696e67436f6c6c656374696f6e436170203d20746f4163636f756e742e6361706162696c69746965730a2020202020202020202020202e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e28466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e5075626c696350617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572616d636520746f2061205374616b696e67436f6c6c656374696f6e20696e207468652072656365697665722773206163636f756e7422290a202020207d0a0a2020202065786563757465207b0a20202020202020202f2f2052656d6f766520746865204e6f646544656c656761746f722066726f6d2074686520617574686f72697a657273205374616b696e67436f6c6c656374696f6e2e0a20202020202020206c6574206e6f646544656c656761746f72203c2d2073656c662e66726f6d5374616b696e67436f6c6c656374696f6e5265662e72656d6f766544656c656761746f72286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f724944290a0a20202020202020202f2f204465706f73697420746865204e6f646544656c656761746f7220746f2074686520726563656976657273205374616b696e67436f6c6c656374696f6e2e0a202020202020202073656c662e746f5374616b696e67436f6c6c656374696f6e4361702e61646444656c656761746f724f626a656374283c2d206e6f646544656c656761746f7221290a202020207d0a7df8adb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227d9e7b2276616c7565223a223432222c2274797065223a2255496e743332227daf7b2276616c7565223a22307865343637623964643131666130306466222c2274797065223a2241646472657373227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", + "encodedTransactionEnvelopeHex": "f9091ff9091bb90829696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f205472616e73666572732061204e6f646544656c656761746f72206f626a6563742066726f6d20616e20617574686f72697a657273206163636f6f756e740a2f2f20616e64206164647320746865204e6f646544656c656761746f7220746f20616e6f74686572206163636f756e7473205374616b696e6720436f6c6c656374696f6e0a2f2f206964656e7469666965642062792074686520746f20416464726573732e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433322c20746f3a204164647265737329207b0a202020206c65742066726f6d5374616b696e67436f6c6c656374696f6e5265663a206175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a202020206c657420746f5374616b696e67436f6c6c656374696f6e4361703a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a206175746828426f72726f7756616c75652920264163636f756e7429207b0a20202020202020202f2f20546865206163636f756e7420746f207472616e7366657220746865204e6f646544656c656761746f72206f626a65637420746f206d757374206861766520612076616c6964205374616b696e6720436f6c6c656374696f6e20696e206f7264657220746f207265636569766520746865204e6f646544656c656761746f722e0a20202020202020206966202821466c6f775374616b696e67436f6c6c656374696f6e2e646f65734163636f756e74486176655374616b696e67436f6c6c656374696f6e28616464726573733a20746f2929207b0a20202020202020202020202070616e6963282244657374696e6174696f6e206163636f756e74206d75737420686176652061205374616b696e6720436f6c6c656374696f6e207365742075702e22290a20202020202020207d0a0a20202020202020202f2f204765742061207265666572656e636520746f2074686520617574686f72697a657273205374616b696e67436f6c6c656374696f6e0a202020202020202073656c662e66726f6d5374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e73746f726167652e626f72726f773c6175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f2061205374616b696e67436f6c6c656374696f6e20696e20746865207072696d61727920757365722773206163636f756e7422290a0a20202020202020202f2f2047657420746865205075626c69634163636f756e74206f6620746865206163636f756e7420746f207472616e7366657220746865204e6f646544656c656761746f7220746f2e200a20202020202020206c657420746f4163636f756e74203d206765744163636f756e7428746f290a0a20202020202020202f2f20426f72726f772061206361706162696c69747920746f20746865207075626c6963206d6574686f647320617661696c61626c65206f6e2074686520726563656976657273205374616b696e67436f6c6c656374696f6e2e0a202020202020202073656c662e746f5374616b696e67436f6c6c656374696f6e436170203d20746f4163636f756e742e6361706162696c69746965730a2020202020202020202020202e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e28466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e5075626c696350617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572616d636520746f2061205374616b696e67436f6c6c656374696f6e20696e207468652072656365697665722773206163636f756e7422290a202020207d0a0a2020202065786563757465207b0a20202020202020202f2f2052656d6f766520746865204e6f646544656c656761746f722066726f6d2074686520617574686f72697a657273205374616b696e67436f6c6c656374696f6e2e0a20202020202020206c6574206e6f646544656c656761746f72203c2d2073656c662e66726f6d5374616b696e67436f6c6c656374696f6e5265662e72656d6f766544656c656761746f72286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f724944290a0a20202020202020202f2f204465706f73697420746865204e6f646544656c656761746f7220746f2074686520726563656976657273205374616b696e67436f6c6c656374696f6e2e0a202020202020202073656c662e746f5374616b696e67436f6c6c656374696f6e4361702e61646444656c656761746f724f626a656374283c2d206e6f646544656c656761746f7221290a202020207d0a7df8adb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227d9e7b2276616c7565223a223432222c2274797065223a2255496e743332227daf7b2276616c7565223a22307865343637623964643131666130306466222c2274797065223a2241646472657373227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", + "metadata": "02f9fa239cb78b3e07b8f8d56e173e2673b4b53aeb07d507a769c8d96eaf400b8d11e2107d2ccd96cb6b3fa3a704491dcd9e1736215137304e0494243c21befc765472616e736665722044656c656761746f720003014e6f64652049440000537472696e6700030144656c656761746f72204944000155496e743332000301416464726573730002416464726573730003", + "hash": "11e2107d2ccd96cb6b3fa3a704491dcd9e1736215137304e0494243c21befc76" }, { - "title": "SCO.04 - Create Machine Account - 2", + "title": "SCO.15 - Withdraw From Machine Account", "valid": true, "chainID": "Mainnet", "payloadMessage": { - "script": "import Crypto\nimport FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// Creates a machine account for a node that is already in the staking collection\n/// and adds public keys to the new account\n\ntransaction(nodeID: String, publicKeys: [Crypto.KeyListEntry]) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n\n if let machineAccount = self.stakingCollectionRef.createMachineAccountForExistingNode(nodeID: nodeID, payer: account) {\n if publicKeys == nil || publicKeys!.length == 0 {\n panic(\"Cannot provide zero keys for the machine account\")\n }\n for key in publicKeys {\n machineAccount.keys.add(publicKey: key.publicKey, hashAlgorithm: key.hashAlgorithm, weight: key.weight)\n }\n } else {\n panic(\"Could not create a machine account for the node\")\n }\n }\n}\n", + "script": "import FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// Request to withdraw tokens from the machine account\n/// The tokens are automatically deposited to the unlocked account vault\n\ntransaction(nodeID: String, amount: UFix64) {\n \n let stakingCollectionRef: auth(FlowStakingCollection.CollectionOwner) &FlowStakingCollection.StakingCollection\n\n prepare(account: auth(BorrowValue) &Account) {\n self.stakingCollectionRef = account.storage.borrow(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow a reference to a StakingCollection in the primary user's account\")\n }\n\n execute {\n self.stakingCollectionRef.withdrawFromMachineAccount(nodeID: nodeID, amount: amount)\n }\n}\n", "arguments": [ { "type": "String", "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" }, { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164" - } - ] + "value": "92233720368.54775808", + "type": "UFix64" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -8610,20 +4853,15 @@ ] }, "envelopeMessage": { - "script": "import Crypto\nimport FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// Creates a machine account for a node that is already in the staking collection\n/// and adds public keys to the new account\n\ntransaction(nodeID: String, publicKeys: [Crypto.KeyListEntry]) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n\n if let machineAccount = self.stakingCollectionRef.createMachineAccountForExistingNode(nodeID: nodeID, payer: account) {\n if publicKeys == nil || publicKeys!.length == 0 {\n panic(\"Cannot provide zero keys for the machine account\")\n }\n for key in publicKeys {\n machineAccount.keys.add(publicKey: key.publicKey, hashAlgorithm: key.hashAlgorithm, weight: key.weight)\n }\n } else {\n panic(\"Could not create a machine account for the node\")\n }\n }\n}\n", + "script": "import FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// Request to withdraw tokens from the machine account\n/// The tokens are automatically deposited to the unlocked account vault\n\ntransaction(nodeID: String, amount: UFix64) {\n \n let stakingCollectionRef: auth(FlowStakingCollection.CollectionOwner) &FlowStakingCollection.StakingCollection\n\n prepare(account: auth(BorrowValue) &Account) {\n self.stakingCollectionRef = account.storage.borrow(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow a reference to a StakingCollection in the primary user's account\")\n }\n\n execute {\n self.stakingCollectionRef.withdrawFromMachineAccount(nodeID: nodeID, amount: amount)\n }\n}\n", "arguments": [ { "type": "String", "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" }, { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164" - } - ] + "value": "92233720368.54775808", + "type": "UFix64" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -8639,38 +4877,25 @@ ], "payloadSigs": [] }, - "encodedTransactionPayloadHex": "f905e3b90478696d706f72742043727970746f0a696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f20437265617465732061206d616368696e65206163636f756e7420666f722061206e6f6465207468617420697320616c726561647920696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f20616e642061646473207075626c6963206b65797320746f20746865206e6577206163636f756e740a0a7472616e73616374696f6e286e6f646549443a20537472696e672c207075626c69634b6579733a205b43727970746f2e4b65794c697374456e7472795d29207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a0a20202020202020206966206c6574206d616368696e654163636f756e74203d2073656c662e7374616b696e67436f6c6c656374696f6e5265662e6372656174654d616368696e654163636f756e74466f724578697374696e674e6f6465286e6f646549443a206e6f646549442c2070617965723a206163636f756e7429207b0a2020202020202020202020206966207075626c69634b657973203d3d206e696c207c7c207075626c69634b657973212e6c656e677468203d3d2030207b0a2020202020202020202020202020202070616e6963282243616e6e6f742070726f76696465207a65726f206b65797320666f7220746865206d616368696e65206163636f756e7422290a2020202020202020202020207d0a202020202020202020202020666f72206b657920696e207075626c69634b657973207b0a202020202020202020202020202020206d616368696e654163636f756e742e6b6579732e616464287075626c69634b65793a206b65792e7075626c69634b65792c2068617368416c676f726974686d3a206b65792e68617368416c676f726974686d2c207765696768743a206b65792e776569676874290a2020202020202020202020207d0a20202020202020207d20656c7365207b0a20202020202020202020202070616e69632822436f756c64206e6f74206372656174652061206d616368696e65206163636f756e7420666f7220746865206e6f646522290a20202020202020207d0a202020207d0a7d0af90125b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db8c57b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634227d5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f905e7f905e3b90478696d706f72742043727970746f0a696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f20437265617465732061206d616368696e65206163636f756e7420666f722061206e6f6465207468617420697320616c726561647920696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f20616e642061646473207075626c6963206b65797320746f20746865206e6577206163636f756e740a0a7472616e73616374696f6e286e6f646549443a20537472696e672c207075626c69634b6579733a205b43727970746f2e4b65794c697374456e7472795d29207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a0a20202020202020206966206c6574206d616368696e654163636f756e74203d2073656c662e7374616b696e67436f6c6c656374696f6e5265662e6372656174654d616368696e654163636f756e74466f724578697374696e674e6f6465286e6f646549443a206e6f646549442c2070617965723a206163636f756e7429207b0a2020202020202020202020206966207075626c69634b657973203d3d206e696c207c7c207075626c69634b657973212e6c656e677468203d3d2030207b0a2020202020202020202020202020202070616e6963282243616e6e6f742070726f76696465207a65726f206b65797320666f7220746865206d616368696e65206163636f756e7422290a2020202020202020202020207d0a202020202020202020202020666f72206b657920696e207075626c69634b657973207b0a202020202020202020202020202020206d616368696e654163636f756e742e6b6579732e616464287075626c69634b65793a206b65792e7075626c69634b65792c2068617368416c676f726974686d3a206b65792e68617368416c676f726974686d2c207765696768743a206b65792e776569676874290a2020202020202020202020207d0a20202020202020207d20656c7365207b0a20202020202020202020202070616e69632822436f756c64206e6f74206372656174652061206d616368696e65206163636f756e7420666f7220746865206e6f646522290a20202020202020207d0a202020207d0a7d0af90125b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db8c57b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634227d5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "0286c69d731560f3bff549c5f180eb4219bfe650ae4efec8e0c5b5ad3ebed54a92dd3b327b09087ea7f8e92a22a6b04a3c6ca33b868b430c4f15f251658c38c1b7437265617465204d616368696e65204163636f756e740002014e6f64652049440000537472696e6700030300035075622e204b65790001537472696e670003", - "hash": "dd3b327b09087ea7f8e92a22a6b04a3c6ca33b868b430c4f15f251658c38c1b7" + "encodedTransactionPayloadHex": "f90415b90341696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f205265717565737420746f20776974686472617720746f6b656e732066726f6d20746865206d616368696e65206163636f756e740a2f2f2f2054686520746f6b656e7320617265206175746f6d61746963616c6c79206465706f736974656420746f2074686520756e6c6f636b6564206163636f756e74207661756c740a0a7472616e73616374696f6e286e6f646549443a20537472696e672c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a206175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a206175746828426f72726f7756616c75652920264163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e73746f726167652e626f72726f773c6175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f2061205374616b696e67436f6c6c656374696f6e20696e20746865207072696d61727920757365722773206163636f756e7422290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e776974686472617746726f6d4d616368696e654163636f756e74286e6f646549443a206e6f646549442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af88fb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db07b2276616c7565223a2239323233333732303336382e3534373735383038222c2274797065223a22554669783634227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", + "encodedTransactionEnvelopeHex": "f90419f90415b90341696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f205265717565737420746f20776974686472617720746f6b656e732066726f6d20746865206d616368696e65206163636f756e740a2f2f2f2054686520746f6b656e7320617265206175746f6d61746963616c6c79206465706f736974656420746f2074686520756e6c6f636b6564206163636f756e74207661756c740a0a7472616e73616374696f6e286e6f646549443a20537472696e672c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a206175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a206175746828426f72726f7756616c75652920264163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e73746f726167652e626f72726f773c6175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f2061205374616b696e67436f6c6c656374696f6e20696e20746865207072696d61727920757365722773206163636f756e7422290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e776974686472617746726f6d4d616368696e654163636f756e74286e6f646549443a206e6f646549442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af88fb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db07b2276616c7565223a2239323233333732303336382e3534373735383038222c2274797065223a22554669783634227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", + "metadata": "02fdd40862af04dc36dd0e9e727966c6f81dd6be8246b9c70afd18297aac9e86a8e12b16ef4218b8ce52189ae5814b381272bf473436978fae94d01c10c036903457697468647261772046726f6d204d616368696e65204163636f756e740002014e6f64652049440000537472696e67000301416d6f756e7400015546697836340003", + "hash": "e12b16ef4218b8ce52189ae5814b381272bf473436978fae94d01c10c0369034" }, { - "title": "SCO.04 - Create Machine Account - 3", + "title": "SCO.16 - Update Networking Address", "valid": true, "chainID": "Mainnet", "payloadMessage": { - "script": "import Crypto\nimport FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// Creates a machine account for a node that is already in the staking collection\n/// and adds public keys to the new account\n\ntransaction(nodeID: String, publicKeys: [Crypto.KeyListEntry]) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n\n if let machineAccount = self.stakingCollectionRef.createMachineAccountForExistingNode(nodeID: nodeID, payer: account) {\n if publicKeys == nil || publicKeys!.length == 0 {\n panic(\"Cannot provide zero keys for the machine account\")\n }\n for key in publicKeys {\n machineAccount.keys.add(publicKey: key.publicKey, hashAlgorithm: key.hashAlgorithm, weight: key.weight)\n }\n } else {\n panic(\"Could not create a machine account for the node\")\n }\n }\n}\n", + "script": "import FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// Changes the networking address for the specified node\n\ntransaction(nodeID: String, newAddress: String) {\n \n let stakingCollectionRef: auth(FlowStakingCollection.CollectionOwner) &FlowStakingCollection.StakingCollection\n\n prepare(account: auth(BorrowValue) &Account) {\n self.stakingCollectionRef = account.storage.borrow(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow a reference to a StakingCollection in the primary user's account\")\n }\n\n execute {\n self.stakingCollectionRef.updateNetworkingAddress(nodeID: nodeID, newAddress: newAddress)\n }\n}\n", "arguments": [ { "type": "String", "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" }, { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164" - }, - { - "type": "String", - "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164" - }, - { - "type": "String", - "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164" - } - ] + "value": "flow-node.test:3569", + "type": "String" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -8693,28 +4918,15 @@ ] }, "envelopeMessage": { - "script": "import Crypto\nimport FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// Creates a machine account for a node that is already in the staking collection\n/// and adds public keys to the new account\n\ntransaction(nodeID: String, publicKeys: [Crypto.KeyListEntry]) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n\n if let machineAccount = self.stakingCollectionRef.createMachineAccountForExistingNode(nodeID: nodeID, payer: account) {\n if publicKeys == nil || publicKeys!.length == 0 {\n panic(\"Cannot provide zero keys for the machine account\")\n }\n for key in publicKeys {\n machineAccount.keys.add(publicKey: key.publicKey, hashAlgorithm: key.hashAlgorithm, weight: key.weight)\n }\n } else {\n panic(\"Could not create a machine account for the node\")\n }\n }\n}\n", + "script": "import FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// Changes the networking address for the specified node\n\ntransaction(nodeID: String, newAddress: String) {\n \n let stakingCollectionRef: auth(FlowStakingCollection.CollectionOwner) &FlowStakingCollection.StakingCollection\n\n prepare(account: auth(BorrowValue) &Account) {\n self.stakingCollectionRef = account.storage.borrow(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow a reference to a StakingCollection in the primary user's account\")\n }\n\n execute {\n self.stakingCollectionRef.updateNetworkingAddress(nodeID: nodeID, newAddress: newAddress)\n }\n}\n", "arguments": [ { "type": "String", "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" }, { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164" - }, - { - "type": "String", - "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164" - }, - { - "type": "String", - "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164" - } - ] + "value": "flow-node.test:3569", + "type": "String" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -8730,9 +4942,9 @@ ], "payloadSigs": [] }, - "encodedTransactionPayloadHex": "f9073ab90478696d706f72742043727970746f0a696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f20437265617465732061206d616368696e65206163636f756e7420666f722061206e6f6465207468617420697320616c726561647920696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f20616e642061646473207075626c6963206b65797320746f20746865206e6577206163636f756e740a0a7472616e73616374696f6e286e6f646549443a20537472696e672c207075626c69634b6579733a205b43727970746f2e4b65794c697374456e7472795d29207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a0a20202020202020206966206c6574206d616368696e654163636f756e74203d2073656c662e7374616b696e67436f6c6c656374696f6e5265662e6372656174654d616368696e654163636f756e74466f724578697374696e674e6f6465286e6f646549443a206e6f646549442c2070617965723a206163636f756e7429207b0a2020202020202020202020206966207075626c69634b657973203d3d206e696c207c7c207075626c69634b657973212e6c656e677468203d3d2030207b0a2020202020202020202020202020202070616e6963282243616e6e6f742070726f76696465207a65726f206b65797320666f7220746865206d616368696e65206163636f756e7422290a2020202020202020202020207d0a202020202020202020202020666f72206b657920696e207075626c69634b657973207b0a202020202020202020202020202020206d616368696e654163636f756e742e6b6579732e616464287075626c69634b65793a206b65792e7075626c69634b65792c2068617368416c676f726974686d3a206b65792e68617368416c676f726974686d2c207765696768743a206b65792e776569676874290a2020202020202020202020207d0a20202020202020207d20656c7365207b0a20202020202020202020202070616e69632822436f756c64206e6f74206372656174652061206d616368696e65206163636f756e7420666f7220746865206e6f646522290a20202020202020207d0a202020207d0a7d0af9027cb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db9021b7b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634227d2c7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634227d2c7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634227d5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f9073ef9073ab90478696d706f72742043727970746f0a696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f20437265617465732061206d616368696e65206163636f756e7420666f722061206e6f6465207468617420697320616c726561647920696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f20616e642061646473207075626c6963206b65797320746f20746865206e6577206163636f756e740a0a7472616e73616374696f6e286e6f646549443a20537472696e672c207075626c69634b6579733a205b43727970746f2e4b65794c697374456e7472795d29207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a0a20202020202020206966206c6574206d616368696e654163636f756e74203d2073656c662e7374616b696e67436f6c6c656374696f6e5265662e6372656174654d616368696e654163636f756e74466f724578697374696e674e6f6465286e6f646549443a206e6f646549442c2070617965723a206163636f756e7429207b0a2020202020202020202020206966207075626c69634b657973203d3d206e696c207c7c207075626c69634b657973212e6c656e677468203d3d2030207b0a2020202020202020202020202020202070616e6963282243616e6e6f742070726f76696465207a65726f206b65797320666f7220746865206d616368696e65206163636f756e7422290a2020202020202020202020207d0a202020202020202020202020666f72206b657920696e207075626c69634b657973207b0a202020202020202020202020202020206d616368696e654163636f756e742e6b6579732e616464287075626c69634b65793a206b65792e7075626c69634b65792c2068617368416c676f726974686d3a206b65792e68617368416c676f726974686d2c207765696768743a206b65792e776569676874290a2020202020202020202020207d0a20202020202020207d20656c7365207b0a20202020202020202020202070616e69632822436f756c64206e6f74206372656174652061206d616368696e65206163636f756e7420666f7220746865206e6f646522290a20202020202020207d0a202020207d0a7d0af9027cb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db9021b7b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634227d2c7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634227d2c7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634227d5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "0286c69d731560f3bff549c5f180eb4219bfe650ae4efec8e0c5b5ad3ebed54a92dd3b327b09087ea7f8e92a22a6b04a3c6ca33b868b430c4f15f251658c38c1b7437265617465204d616368696e65204163636f756e740002014e6f64652049440000537472696e6700030300035075622e204b65790001537472696e670003", - "hash": "dd3b327b09087ea7f8e92a22a6b04a3c6ca33b868b430c4f15f251658c38c1b7" + "encodedTransactionPayloadHex": "f903d6b90303696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f204368616e67657320746865206e6574776f726b696e67206164647265737320666f722074686520737065636966696564206e6f64650a0a7472616e73616374696f6e286e6f646549443a20537472696e672c206e6577416464726573733a20537472696e6729207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a206175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a206175746828426f72726f7756616c75652920264163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e73746f726167652e626f72726f773c6175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f2061205374616b696e67436f6c6c656374696f6e20696e20746865207072696d61727920757365722773206163636f756e7422290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e7570646174654e6574776f726b696e6741646472657373286e6f646549443a206e6f646549442c206e6577416464726573733a206e657741646472657373290a202020207d0a7d0af88eb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227daf7b2276616c7565223a22666c6f772d6e6f64652e746573743a33353639222c2274797065223a22537472696e67227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", + "encodedTransactionEnvelopeHex": "f903daf903d6b90303696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f204368616e67657320746865206e6574776f726b696e67206164647265737320666f722074686520737065636966696564206e6f64650a0a7472616e73616374696f6e286e6f646549443a20537472696e672c206e6577416464726573733a20537472696e6729207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a206175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a206175746828426f72726f7756616c75652920264163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e73746f726167652e626f72726f773c6175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f2061205374616b696e67436f6c6c656374696f6e20696e20746865207072696d61727920757365722773206163636f756e7422290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e7570646174654e6574776f726b696e6741646472657373286e6f646549443a206e6f646549442c206e6577416464726573733a206e657741646472657373290a202020207d0a7d0af88eb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227daf7b2276616c7565223a22666c6f772d6e6f64652e746573743a33353639222c2274797065223a22537472696e67227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", + "metadata": "023a68789d8cd56e6c7b064057045a56340746aac710db57700de2c33eb6610e5f68d24560d9e49318dca82ab0975f526a8663d934225f0cb715cd1ff188def16d557064617465204e6574776f726b696e6720416464726573730002014e6f64652049440000537472696e67000301416464726573730001537472696e670003", + "hash": "68d24560d9e49318dca82ab0975f526a8663d934225f0cb715cd1ff188def16d" } ] \ No newline at end of file diff --git a/transaction_metadata/testvectors/manifestPayloadCases.json b/transaction_metadata/testvectors/manifestPayloadCases.json index b27df227..eac35cc9 100644 --- a/transaction_metadata/testvectors/manifestPayloadCases.json +++ b/transaction_metadata/testvectors/manifestPayloadCases.json @@ -1,64 +1,26 @@ [ { - "title": "TH.01 - Withdraw Unlocked FLOW", + "title": "FA.01 - Create Account", "valid": true, "chainID": "Testnet", "payloadMessage": { - "script": "import FungibleToken from 0x9a0766d93b6608b7\nimport FlowToken from 0x7e60df042a9c0868\nimport LockedTokens from 0x95e019a17d0e23d7\n\ntransaction(amount: UFix64) {\n\n let holderRef: &LockedTokens.TokenHolder\n let vaultRef: &FlowToken.Vault\n\n prepare(acct: AuthAccount) {\n self.holderRef = acct.borrow<&LockedTokens.TokenHolder>(from: LockedTokens.TokenHolderStoragePath)\n ?? panic(\"Could not borrow a reference to TokenHolder\")\n\n self.vaultRef = acct.borrow<&FlowToken.Vault>(from: /storage/flowTokenVault)\n ?? panic(\"Could not borrow flow token vault ref\")\n }\n\n execute {\n self.vaultRef.deposit(from: <-self.holderRef.withdraw(amount: amount))\n }\n}\n", + "script": "import Crypto\n\ntransaction(key: String, signatureAlgorithm: UInt8, hashAlgorithm: UInt8, weight: UFix64) {\n\tprepare(signer: auth(BorrowValue, Storage) &Account) {\n\t\tpre {\n\t\t\tsignatureAlgorithm >= 1 && signatureAlgorithm <= 3: \"Must provide a signature algoritm raw value that is 1, 2, or 3\"\n\t\t\thashAlgorithm >= 1 && hashAlgorithm <= 6: \"Must provide a hash algoritm raw value that is between 1 and 6\"\n\t\t\tweight <= 1000.0: \"The key weight must be between 0 and 1000\"\n\t\t}\n\n\t\tlet publicKey = PublicKey(\n\t\t\tpublicKey: key.decodeHex(),\n\t\t\tsignatureAlgorithm: SignatureAlgorithm(rawValue: signatureAlgorithm)!\n\t\t)\n\n\t\tlet account = Account(payer: signer)\n\n\t\taccount.keys.add(publicKey: publicKey, hashAlgorithm: HashAlgorithm(rawValue: hashAlgorithm)!, weight: weight)\n\t}\n}", "arguments": [ { - "type": "UFix64", - "value": "92233720368.54775808" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "99a8ac2c71d4f6bd", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "99a8ac2c71d4f6bd", - "authorizers": [ - "99a8ac2c71d4f6bd" - ] - }, - "envelopeMessage": { - "script": "import FungibleToken from 0x9a0766d93b6608b7\nimport FlowToken from 0x7e60df042a9c0868\nimport LockedTokens from 0x95e019a17d0e23d7\n\ntransaction(amount: UFix64) {\n\n let holderRef: &LockedTokens.TokenHolder\n let vaultRef: &FlowToken.Vault\n\n prepare(acct: AuthAccount) {\n self.holderRef = acct.borrow<&LockedTokens.TokenHolder>(from: LockedTokens.TokenHolderStoragePath)\n ?? panic(\"Could not borrow a reference to TokenHolder\")\n\n self.vaultRef = acct.borrow<&FlowToken.Vault>(from: /storage/flowTokenVault)\n ?? panic(\"Could not borrow flow token vault ref\")\n }\n\n execute {\n self.vaultRef.deposit(from: <-self.holderRef.withdraw(amount: amount))\n }\n}\n", - "arguments": [ + "type": "String", + "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164" + }, { - "type": "UFix64", - "value": "92233720368.54775808" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "99a8ac2c71d4f6bd", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "99a8ac2c71d4f6bd", - "authorizers": [ - "99a8ac2c71d4f6bd" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f90338b902c3696d706f72742046756e6769626c65546f6b656e2066726f6d203078396130373636643933623636303862370a696d706f727420466c6f77546f6b656e2066726f6d203078376536306466303432613963303836380a696d706f7274204c6f636b6564546f6b656e732066726f6d203078393565303139613137643065323364370a0a7472616e73616374696f6e28616d6f756e743a2055466978363429207b0a0a202020206c657420686f6c6465725265663a20264c6f636b6564546f6b656e732e546f6b656e486f6c6465720a202020206c6574207661756c745265663a2026466c6f77546f6b656e2e5661756c740a0a202020207072657061726528616363743a20417574684163636f756e7429207b0a202020202020202073656c662e686f6c646572526566203d20616363742e626f72726f773c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f20546f6b656e486f6c64657222290a0a202020202020202073656c662e7661756c74526566203d20616363742e626f72726f773c26466c6f77546f6b656e2e5661756c743e2866726f6d3a202f73746f726167652f666c6f77546f6b656e5661756c74290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f7720666c6f7720746f6b656e207661756c742072656622290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7661756c745265662e6465706f7369742866726f6d3a203c2d73656c662e686f6c6465725265662e776974686472617728616d6f756e743a20616d6f756e7429290a202020207d0a7d0af1b07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", - "encodedTransactionEnvelopeHex": "f9033cf90338b902c3696d706f72742046756e6769626c65546f6b656e2066726f6d203078396130373636643933623636303862370a696d706f727420466c6f77546f6b656e2066726f6d203078376536306466303432613963303836380a696d706f7274204c6f636b6564546f6b656e732066726f6d203078393565303139613137643065323364370a0a7472616e73616374696f6e28616d6f756e743a2055466978363429207b0a0a202020206c657420686f6c6465725265663a20264c6f636b6564546f6b656e732e546f6b656e486f6c6465720a202020206c6574207661756c745265663a2026466c6f77546f6b656e2e5661756c740a0a202020207072657061726528616363743a20417574684163636f756e7429207b0a202020202020202073656c662e686f6c646572526566203d20616363742e626f72726f773c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f20546f6b656e486f6c64657222290a0a202020202020202073656c662e7661756c74526566203d20616363742e626f72726f773c26466c6f77546f6b656e2e5661756c743e2866726f6d3a202f73746f726167652f666c6f77546f6b656e5661756c74290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f7720666c6f7720746f6b656e207661756c742072656622290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7661756c745265662e6465706f7369742866726f6d3a203c2d73656c662e686f6c6465725265662e776974686472617728616d6f756e743a20616d6f756e7429290a202020207d0a7d0af1b07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", - "metadata": "026e73db6edd0190f5311f6adc5f2b1f27e9e60c68574b00ee90da867da52cdbb1a2146e3e6e7718779ce59376b88760c154d82b7d132fe2c377114ec7cf434e7b576974686472617720556e6c6f636b656420464c4f57000101416d6f756e7400005546697836340003", - "hash": "6e73db6edd0190f5311f6adc5f2b1f27e9e60c68574b00ee90da867da52cdbb1" - }, - { - "title": "TH.02 - Deposit Unlocked FLOW", - "valid": true, - "chainID": "Testnet", - "payloadMessage": { - "script": "import FungibleToken from 0x9a0766d93b6608b7\nimport FlowToken from 0x7e60df042a9c0868\nimport LockedTokens from 0x95e019a17d0e23d7\n\ntransaction(amount: UFix64) {\n\n let holderRef: &LockedTokens.TokenHolder\n let vaultRef: &FlowToken.Vault\n\n prepare(acct: AuthAccount) {\n self.holderRef = acct.borrow<&LockedTokens.TokenHolder>(from: LockedTokens.TokenHolderStoragePath)\n ?? panic(\"Could not borrow a reference to TokenHolder\")\n\n self.vaultRef = acct.borrow<&FlowToken.Vault>(from: /storage/flowTokenVault)\n ?? panic(\"Could not borrow flow token vault ref\")\n }\n\n execute {\n self.holderRef.deposit(from: <-self.vaultRef.withdraw(amount: amount))\n }\n}\n", - "arguments": [ + "value": "1", + "type": "UInt8" + }, { - "type": "UFix64", - "value": "92233720368.54775808" + "value": "1", + "type": "UInt8" + }, + { + "value": "1000.00000000", + "type": "UFix64" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -74,11 +36,23 @@ ] }, "envelopeMessage": { - "script": "import FungibleToken from 0x9a0766d93b6608b7\nimport FlowToken from 0x7e60df042a9c0868\nimport LockedTokens from 0x95e019a17d0e23d7\n\ntransaction(amount: UFix64) {\n\n let holderRef: &LockedTokens.TokenHolder\n let vaultRef: &FlowToken.Vault\n\n prepare(acct: AuthAccount) {\n self.holderRef = acct.borrow<&LockedTokens.TokenHolder>(from: LockedTokens.TokenHolderStoragePath)\n ?? panic(\"Could not borrow a reference to TokenHolder\")\n\n self.vaultRef = acct.borrow<&FlowToken.Vault>(from: /storage/flowTokenVault)\n ?? panic(\"Could not borrow flow token vault ref\")\n }\n\n execute {\n self.holderRef.deposit(from: <-self.vaultRef.withdraw(amount: amount))\n }\n}\n", + "script": "import Crypto\n\ntransaction(key: String, signatureAlgorithm: UInt8, hashAlgorithm: UInt8, weight: UFix64) {\n\tprepare(signer: auth(BorrowValue, Storage) &Account) {\n\t\tpre {\n\t\t\tsignatureAlgorithm >= 1 && signatureAlgorithm <= 3: \"Must provide a signature algoritm raw value that is 1, 2, or 3\"\n\t\t\thashAlgorithm >= 1 && hashAlgorithm <= 6: \"Must provide a hash algoritm raw value that is between 1 and 6\"\n\t\t\tweight <= 1000.0: \"The key weight must be between 0 and 1000\"\n\t\t}\n\n\t\tlet publicKey = PublicKey(\n\t\t\tpublicKey: key.decodeHex(),\n\t\t\tsignatureAlgorithm: SignatureAlgorithm(rawValue: signatureAlgorithm)!\n\t\t)\n\n\t\tlet account = Account(payer: signer)\n\n\t\taccount.keys.add(publicKey: publicKey, hashAlgorithm: HashAlgorithm(rawValue: hashAlgorithm)!, weight: weight)\n\t}\n}", "arguments": [ { - "type": "UFix64", - "value": "92233720368.54775808" + "type": "String", + "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164" + }, + { + "value": "1", + "type": "UInt8" + }, + { + "value": "1", + "type": "UInt8" + }, + { + "value": "1000.00000000", + "type": "UFix64" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -94,41 +68,33 @@ ], "payloadSigs": [] }, - "encodedTransactionPayloadHex": "f90338b902c3696d706f72742046756e6769626c65546f6b656e2066726f6d203078396130373636643933623636303862370a696d706f727420466c6f77546f6b656e2066726f6d203078376536306466303432613963303836380a696d706f7274204c6f636b6564546f6b656e732066726f6d203078393565303139613137643065323364370a0a7472616e73616374696f6e28616d6f756e743a2055466978363429207b0a0a202020206c657420686f6c6465725265663a20264c6f636b6564546f6b656e732e546f6b656e486f6c6465720a202020206c6574207661756c745265663a2026466c6f77546f6b656e2e5661756c740a0a202020207072657061726528616363743a20417574684163636f756e7429207b0a202020202020202073656c662e686f6c646572526566203d20616363742e626f72726f773c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f20546f6b656e486f6c64657222290a0a202020202020202073656c662e7661756c74526566203d20616363742e626f72726f773c26466c6f77546f6b656e2e5661756c743e2866726f6d3a202f73746f726167652f666c6f77546f6b656e5661756c74290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f7720666c6f7720746f6b656e207661756c742072656622290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e686f6c6465725265662e6465706f7369742866726f6d3a203c2d73656c662e7661756c745265662e776974686472617728616d6f756e743a20616d6f756e7429290a202020207d0a7d0af1b07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", - "encodedTransactionEnvelopeHex": "f9033cf90338b902c3696d706f72742046756e6769626c65546f6b656e2066726f6d203078396130373636643933623636303862370a696d706f727420466c6f77546f6b656e2066726f6d203078376536306466303432613963303836380a696d706f7274204c6f636b6564546f6b656e732066726f6d203078393565303139613137643065323364370a0a7472616e73616374696f6e28616d6f756e743a2055466978363429207b0a0a202020206c657420686f6c6465725265663a20264c6f636b6564546f6b656e732e546f6b656e486f6c6465720a202020206c6574207661756c745265663a2026466c6f77546f6b656e2e5661756c740a0a202020207072657061726528616363743a20417574684163636f756e7429207b0a202020202020202073656c662e686f6c646572526566203d20616363742e626f72726f773c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f20546f6b656e486f6c64657222290a0a202020202020202073656c662e7661756c74526566203d20616363742e626f72726f773c26466c6f77546f6b656e2e5661756c743e2866726f6d3a202f73746f726167652f666c6f77546f6b656e5661756c74290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f7720666c6f7720746f6b656e207661756c742072656622290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e686f6c6465725265662e6465706f7369742866726f6d3a203c2d73656c662e7661756c745265662e776974686472617728616d6f756e743a20616d6f756e7429290a202020207d0a7d0af1b07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", - "metadata": "020cb11c10b86d2afeae086ef511d28b14760eb854935a0b0dcfeecc85db847f4874355dc8df221bc0d170b2fe8deacd6f1f554d6beea58ad9fee7a07f740eaefe4465706f73697420556e6c6f636b656420464c4f57000101416d6f756e7400005546697836340003", - "hash": "0cb11c10b86d2afeae086ef511d28b14760eb854935a0b0dcfeecc85db847f48" + "encodedTransactionPayloadHex": "f90454b902fe696d706f72742043727970746f0a0a7472616e73616374696f6e286b65793a20537472696e672c207369676e6174757265416c676f726974686d3a2055496e74382c2068617368416c676f726974686d3a2055496e74382c207765696768743a2055466978363429207b0a0970726570617265287369676e65723a206175746828426f72726f7756616c75652c2053746f726167652920264163636f756e7429207b0a0909707265207b0a0909097369676e6174757265416c676f726974686d203e3d2031202626207369676e6174757265416c676f726974686d203c3d20333a20224d7573742070726f766964652061207369676e617475726520616c676f7269746d207261772076616c7565207468617420697320312c20322c206f722033220a09090968617368416c676f726974686d203e3d20312026262068617368416c676f726974686d203c3d20363a20224d7573742070726f766964652061206861736820616c676f7269746d207261772076616c75652074686174206973206265747765656e203120616e642036220a090909776569676874203c3d20313030302e303a2022546865206b657920776569676874206d757374206265206265747765656e203020616e642031303030220a09097d0a0a09096c6574207075626c69634b6579203d205075626c69634b6579280a0909097075626c69634b65793a206b65792e6465636f646548657828292c0a0909097369676e6174757265416c676f726974686d3a205369676e6174757265416c676f726974686d2872617756616c75653a207369676e6174757265416c676f726974686d29210a0909290a0a09096c6574206163636f756e74203d204163636f756e742870617965723a207369676e6572290a0a09096163636f756e742e6b6579732e616464287075626c69634b65793a207075626c69634b65792c2068617368416c676f726974686d3a2048617368416c676f726974686d2872617756616c75653a2068617368416c676f726974686d29212c207765696768743a20776569676874290a097d0a7df90110b8aa7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634227d9c7b2276616c7565223a2231222c2274797065223a2255496e7438227d9c7b2276616c7565223a2231222c2274797065223a2255496e7438227da97b2276616c7565223a22313030302e3030303030303030222c2274797065223a22554669783634227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", + "encodedTransactionEnvelopeHex": "f90458f90454b902fe696d706f72742043727970746f0a0a7472616e73616374696f6e286b65793a20537472696e672c207369676e6174757265416c676f726974686d3a2055496e74382c2068617368416c676f726974686d3a2055496e74382c207765696768743a2055466978363429207b0a0970726570617265287369676e65723a206175746828426f72726f7756616c75652c2053746f726167652920264163636f756e7429207b0a0909707265207b0a0909097369676e6174757265416c676f726974686d203e3d2031202626207369676e6174757265416c676f726974686d203c3d20333a20224d7573742070726f766964652061207369676e617475726520616c676f7269746d207261772076616c7565207468617420697320312c20322c206f722033220a09090968617368416c676f726974686d203e3d20312026262068617368416c676f726974686d203c3d20363a20224d7573742070726f766964652061206861736820616c676f7269746d207261772076616c75652074686174206973206265747765656e203120616e642036220a090909776569676874203c3d20313030302e303a2022546865206b657920776569676874206d757374206265206265747765656e203020616e642031303030220a09097d0a0a09096c6574207075626c69634b6579203d205075626c69634b6579280a0909097075626c69634b65793a206b65792e6465636f646548657828292c0a0909097369676e6174757265416c676f726974686d3a205369676e6174757265416c676f726974686d2872617756616c75653a207369676e6174757265416c676f726974686d29210a0909290a0a09096c6574206163636f756e74203d204163636f756e742870617965723a207369676e6572290a0a09096163636f756e742e6b6579732e616464287075626c69634b65793a207075626c69634b65792c2068617368416c676f726974686d3a2048617368416c676f726974686d2872617756616c75653a2068617368416c676f726974686d29212c207765696768743a20776569676874290a097d0a7df90110b8aa7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634227d9c7b2276616c7565223a2231222c2274797065223a2255496e7438227d9c7b2276616c7565223a2231222c2274797065223a2255496e7438227da97b2276616c7565223a22313030302e3030303030303030222c2274797065223a22554669783634227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", + "metadata": "0263d8b6a045bf8e6196198184db685c2cf22932503ccb2dcb85c7d2dc04c882ba63d8b6a045bf8e6196198184db685c2cf22932503ccb2dcb85c7d2dc04c882ba437265617465204163636f756e740004015075626c6963204b65790000537472696e670003015261772056616c756520666f72205369676e617475726520416c676f726974686d20456e756d000155496e74380003015261772056616c756520666f72204861736820416c676f726974686d20456e756d000255496e74380003014b65792057656967687400035546697836340003", + "hash": "63d8b6a045bf8e6196198184db685c2cf22932503ccb2dcb85c7d2dc04c882ba" }, { - "title": "TH.06 - Register Node", + "title": "FA.02 - Add Key", "valid": true, "chainID": "Testnet", "payloadMessage": { - "script": "import FlowToken from 0x7e60df042a9c0868\nimport LockedTokens from 0x95e019a17d0e23d7\nimport StakingProxy from 0x7aad92e5a0715d21\n\ntransaction(id: String, role: UInt8, networkingAddress: String, networkingKey: String, stakingKey: String, amount: UFix64) {\n\n let holderRef: &LockedTokens.TokenHolder\n\n let vaultRef: &FlowToken.Vault\n\n prepare(account: AuthAccount) {\n self.holderRef = account.borrow<&LockedTokens.TokenHolder>(from: LockedTokens.TokenHolderStoragePath)\n ?? panic(\"Could not borrow ref to TokenHolder\")\n\n self.vaultRef = account.borrow<&FlowToken.Vault>(from: /storage/flowTokenVault)\n ?? panic(\"Could not borrow flow token vault reference\")\n }\n\n execute {\n let nodeInfo = StakingProxy.NodeInfo(id: id, role: role, networkingAddress: networkingAddress, networkingKey: networkingKey, stakingKey: stakingKey)\n\n let lockedBalance = self.holderRef.getLockedAccountBalance()\n\n if amount <= lockedBalance {\n\n self.holderRef.createNodeStaker(nodeInfo: nodeInfo, amount: amount)\n\n } else if ((amount - lockedBalance) <= self.vaultRef.balance) {\n\n self.holderRef.deposit(from: <-self.vaultRef.withdraw(amount: amount - lockedBalance))\n\n self.holderRef.createNodeStaker(nodeInfo: nodeInfo, amount: amount)\n\n } else {\n panic(\"Not enough tokens to stake!\")\n }\n \n }\n}\n", + "script": "import Crypto\n\ntransaction(key: String, signatureAlgorithm: UInt8, hashAlgorithm: UInt8, weight: UFix64) {\n\n\tprepare(signer: auth(AddKey) &Account) {\n\t\tpre {\n\t\t\tsignatureAlgorithm >= 1 && signatureAlgorithm <= 3: \"Must provide a signature algoritm raw value that is 1, 2, or 3\"\n\t\t\thashAlgorithm >= 1 && hashAlgorithm <= 6: \"Must provide a hash algoritm raw value that is between 1 and 6\"\n\t\t\tweight <= 1000.0: \"The key weight must be between 0 and 1000\"\n\t\t}\n\t\tlet publicKey = PublicKey(\n\t\t\tpublicKey: key.decodeHex(),\n\t\t\tsignatureAlgorithm: SignatureAlgorithm(rawValue: signatureAlgorithm)!\n\t\t)\n\n\t\tsigner.keys.add(publicKey: publicKey, hashAlgorithm: HashAlgorithm(rawValue: hashAlgorithm)!, weight: weight)\n\t}\n}", "arguments": [ { "type": "String", - "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" - }, - { - "type": "UInt8", - "value": "1" - }, - { - "type": "String", - "value": "flow-node.test:3569" + "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164" }, { - "type": "String", - "value": "1348307bc77c688e80049de9d081aa09755da33e6997605fa059db2144fc85e560cbe6f7da8d74b453f5916618cb8fd392c2db856f3e78221dc68db1b1d914e4" + "value": "1", + "type": "UInt8" }, { - "type": "String", - "value": "9e9ae0d645fd5fd9050792e0b0daa82cc1686d9133afa0f81a784b375c42ae48567d1545e7a9e1965f2c1a32f73cf8575ebb7a967f6e4d104d2df78eb8be409135d12da0499b8a00771f642c1b9c49397f22b440439f036c3bdee82f5309dab3" + "value": "1", + "type": "UInt8" }, { - "type": "UFix64", - "value": "92233720368.54775808" + "value": "1000.00000000", + "type": "UFix64" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -144,31 +110,23 @@ ] }, "envelopeMessage": { - "script": "import FlowToken from 0x7e60df042a9c0868\nimport LockedTokens from 0x95e019a17d0e23d7\nimport StakingProxy from 0x7aad92e5a0715d21\n\ntransaction(id: String, role: UInt8, networkingAddress: String, networkingKey: String, stakingKey: String, amount: UFix64) {\n\n let holderRef: &LockedTokens.TokenHolder\n\n let vaultRef: &FlowToken.Vault\n\n prepare(account: AuthAccount) {\n self.holderRef = account.borrow<&LockedTokens.TokenHolder>(from: LockedTokens.TokenHolderStoragePath)\n ?? panic(\"Could not borrow ref to TokenHolder\")\n\n self.vaultRef = account.borrow<&FlowToken.Vault>(from: /storage/flowTokenVault)\n ?? panic(\"Could not borrow flow token vault reference\")\n }\n\n execute {\n let nodeInfo = StakingProxy.NodeInfo(id: id, role: role, networkingAddress: networkingAddress, networkingKey: networkingKey, stakingKey: stakingKey)\n\n let lockedBalance = self.holderRef.getLockedAccountBalance()\n\n if amount <= lockedBalance {\n\n self.holderRef.createNodeStaker(nodeInfo: nodeInfo, amount: amount)\n\n } else if ((amount - lockedBalance) <= self.vaultRef.balance) {\n\n self.holderRef.deposit(from: <-self.vaultRef.withdraw(amount: amount - lockedBalance))\n\n self.holderRef.createNodeStaker(nodeInfo: nodeInfo, amount: amount)\n\n } else {\n panic(\"Not enough tokens to stake!\")\n }\n \n }\n}\n", + "script": "import Crypto\n\ntransaction(key: String, signatureAlgorithm: UInt8, hashAlgorithm: UInt8, weight: UFix64) {\n\n\tprepare(signer: auth(AddKey) &Account) {\n\t\tpre {\n\t\t\tsignatureAlgorithm >= 1 && signatureAlgorithm <= 3: \"Must provide a signature algoritm raw value that is 1, 2, or 3\"\n\t\t\thashAlgorithm >= 1 && hashAlgorithm <= 6: \"Must provide a hash algoritm raw value that is between 1 and 6\"\n\t\t\tweight <= 1000.0: \"The key weight must be between 0 and 1000\"\n\t\t}\n\t\tlet publicKey = PublicKey(\n\t\t\tpublicKey: key.decodeHex(),\n\t\t\tsignatureAlgorithm: SignatureAlgorithm(rawValue: signatureAlgorithm)!\n\t\t)\n\n\t\tsigner.keys.add(publicKey: publicKey, hashAlgorithm: HashAlgorithm(rawValue: hashAlgorithm)!, weight: weight)\n\t}\n}", "arguments": [ { "type": "String", - "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" - }, - { - "type": "UInt8", - "value": "1" - }, - { - "type": "String", - "value": "flow-node.test:3569" + "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164" }, { - "type": "String", - "value": "1348307bc77c688e80049de9d081aa09755da33e6997605fa059db2144fc85e560cbe6f7da8d74b453f5916618cb8fd392c2db856f3e78221dc68db1b1d914e4" + "value": "1", + "type": "UInt8" }, { - "type": "String", - "value": "9e9ae0d645fd5fd9050792e0b0daa82cc1686d9133afa0f81a784b375c42ae48567d1545e7a9e1965f2c1a32f73cf8575ebb7a967f6e4d104d2df78eb8be409135d12da0499b8a00771f642c1b9c49397f22b440439f036c3bdee82f5309dab3" + "value": "1", + "type": "UInt8" }, { - "type": "UFix64", - "value": "92233720368.54775808" + "value": "1000.00000000", + "type": "UFix64" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -184,21 +142,21 @@ ], "payloadSigs": [] }, - "encodedTransactionPayloadHex": "f90826b90588696d706f727420466c6f77546f6b656e2066726f6d203078376536306466303432613963303836380a696d706f7274204c6f636b6564546f6b656e732066726f6d203078393565303139613137643065323364370a696d706f7274205374616b696e6750726f78792066726f6d203078376161643932653561303731356432310a0a7472616e73616374696f6e2869643a20537472696e672c20726f6c653a2055496e74382c206e6574776f726b696e67416464726573733a20537472696e672c206e6574776f726b696e674b65793a20537472696e672c207374616b696e674b65793a20537472696e672c20616d6f756e743a2055466978363429207b0a0a202020206c657420686f6c6465725265663a20264c6f636b6564546f6b656e732e546f6b656e486f6c6465720a0a202020206c6574207661756c745265663a2026466c6f77546f6b656e2e5661756c740a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e686f6c646572526566203d206163636f756e742e626f72726f773c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f20546f6b656e486f6c64657222290a0a202020202020202073656c662e7661756c74526566203d206163636f756e742e626f72726f773c26466c6f77546f6b656e2e5661756c743e2866726f6d3a202f73746f726167652f666c6f77546f6b656e5661756c74290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f7720666c6f7720746f6b656e207661756c74207265666572656e636522290a202020207d0a0a2020202065786563757465207b0a20202020202020206c6574206e6f6465496e666f203d205374616b696e6750726f78792e4e6f6465496e666f2869643a2069642c20726f6c653a20726f6c652c206e6574776f726b696e67416464726573733a206e6574776f726b696e67416464726573732c206e6574776f726b696e674b65793a206e6574776f726b696e674b65792c207374616b696e674b65793a207374616b696e674b6579290a0a20202020202020206c6574206c6f636b656442616c616e6365203d2073656c662e686f6c6465725265662e6765744c6f636b65644163636f756e7442616c616e636528290a0a2020202020202020696620616d6f756e74203c3d206c6f636b656442616c616e6365207b0a0a20202020202020202020202073656c662e686f6c6465725265662e6372656174654e6f64655374616b6572286e6f6465496e666f3a206e6f6465496e666f2c20616d6f756e743a20616d6f756e74290a0a20202020202020207d20656c7365206966202828616d6f756e74202d206c6f636b656442616c616e636529203c3d2073656c662e7661756c745265662e62616c616e636529207b0a0a20202020202020202020202073656c662e686f6c6465725265662e6465706f7369742866726f6d3a203c2d73656c662e7661756c745265662e776974686472617728616d6f756e743a20616d6f756e74202d206c6f636b656442616c616e636529290a0a20202020202020202020202073656c662e686f6c6465725265662e6372656174654e6f64655374616b6572286e6f6465496e666f3a206e6f6465496e666f2c20616d6f756e743a20616d6f756e74290a0a20202020202020207d20656c7365207b0a20202020202020202020202070616e696328224e6f7420656e6f75676820746f6b656e7320746f207374616b652122290a20202020202020207d0a20202020202020200a202020207d0a7d0af90258b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227d9c7b2274797065223a2255496e7438222c2276616c7565223a2231227daf7b2274797065223a22537472696e67222c2276616c7565223a22666c6f772d6e6f64652e746573743a33353639227db89c7b2274797065223a22537472696e67222c2276616c7565223a223133343833303762633737633638386538303034396465396430383161613039373535646133336536393937363035666130353964623231343466633835653536306362653666376461386437346234353366353931363631386362386664333932633264623835366633653738323231646336386462316231643931346534227db8dc7b2274797065223a22537472696e67222c2276616c7565223a22396539616530643634356664356664393035303739326530623064616138326363313638366439313333616661306638316137383462333735633432616534383536376431353435653761396531393635663263316133326637336366383537356562623761393637663665346431303464326466373865623862653430393133356431326461303439396238613030373731663634326331623963343933393766323262343430343339663033366333626465653832663533303964616233227db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", - "encodedTransactionEnvelopeHex": "f9082af90826b90588696d706f727420466c6f77546f6b656e2066726f6d203078376536306466303432613963303836380a696d706f7274204c6f636b6564546f6b656e732066726f6d203078393565303139613137643065323364370a696d706f7274205374616b696e6750726f78792066726f6d203078376161643932653561303731356432310a0a7472616e73616374696f6e2869643a20537472696e672c20726f6c653a2055496e74382c206e6574776f726b696e67416464726573733a20537472696e672c206e6574776f726b696e674b65793a20537472696e672c207374616b696e674b65793a20537472696e672c20616d6f756e743a2055466978363429207b0a0a202020206c657420686f6c6465725265663a20264c6f636b6564546f6b656e732e546f6b656e486f6c6465720a0a202020206c6574207661756c745265663a2026466c6f77546f6b656e2e5661756c740a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e686f6c646572526566203d206163636f756e742e626f72726f773c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f20546f6b656e486f6c64657222290a0a202020202020202073656c662e7661756c74526566203d206163636f756e742e626f72726f773c26466c6f77546f6b656e2e5661756c743e2866726f6d3a202f73746f726167652f666c6f77546f6b656e5661756c74290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f7720666c6f7720746f6b656e207661756c74207265666572656e636522290a202020207d0a0a2020202065786563757465207b0a20202020202020206c6574206e6f6465496e666f203d205374616b696e6750726f78792e4e6f6465496e666f2869643a2069642c20726f6c653a20726f6c652c206e6574776f726b696e67416464726573733a206e6574776f726b696e67416464726573732c206e6574776f726b696e674b65793a206e6574776f726b696e674b65792c207374616b696e674b65793a207374616b696e674b6579290a0a20202020202020206c6574206c6f636b656442616c616e6365203d2073656c662e686f6c6465725265662e6765744c6f636b65644163636f756e7442616c616e636528290a0a2020202020202020696620616d6f756e74203c3d206c6f636b656442616c616e6365207b0a0a20202020202020202020202073656c662e686f6c6465725265662e6372656174654e6f64655374616b6572286e6f6465496e666f3a206e6f6465496e666f2c20616d6f756e743a20616d6f756e74290a0a20202020202020207d20656c7365206966202828616d6f756e74202d206c6f636b656442616c616e636529203c3d2073656c662e7661756c745265662e62616c616e636529207b0a0a20202020202020202020202073656c662e686f6c6465725265662e6465706f7369742866726f6d3a203c2d73656c662e7661756c745265662e776974686472617728616d6f756e743a20616d6f756e74202d206c6f636b656442616c616e636529290a0a20202020202020202020202073656c662e686f6c6465725265662e6372656174654e6f64655374616b6572286e6f6465496e666f3a206e6f6465496e666f2c20616d6f756e743a20616d6f756e74290a0a20202020202020207d20656c7365207b0a20202020202020202020202070616e696328224e6f7420656e6f75676820746f6b656e7320746f207374616b652122290a20202020202020207d0a20202020202020200a202020207d0a7d0af90258b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227d9c7b2274797065223a2255496e7438222c2276616c7565223a2231227daf7b2274797065223a22537472696e67222c2276616c7565223a22666c6f772d6e6f64652e746573743a33353639227db89c7b2274797065223a22537472696e67222c2276616c7565223a223133343833303762633737633638386538303034396465396430383161613039373535646133336536393937363035666130353964623231343466633835653536306362653666376461386437346234353366353931363631386362386664333932633264623835366633653738323231646336386462316231643931346534227db8dc7b2274797065223a22537472696e67222c2276616c7565223a22396539616530643634356664356664393035303739326530623064616138326363313638366439313333616661306638316137383462333735633432616534383536376431353435653761396531393635663263316133326637336366383537356562623761393637663665346431303464326466373865623862653430393133356431326461303439396238613030373731663634326331623963343933393766323262343430343339663033366333626465653832663533303964616233227db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", - "metadata": "02b6a3502d2205eb05ec18772c13b91cc88a056b325c2617c57948d38cab8db600b64e0e3ed9eb28789198f2b0437f55f750bfa76da99450f63be6543bde66122a5265676973746572204e6f64650006014e6f64652049440000537472696e670003014e6f646520526f6c65000155496e74380003014e6574772e20416464726573730002537472696e670003014e6574772e204b65790003537472696e670003015374616b696e67204b65790004537472696e67000301416d6f756e7400055546697836340003", - "hash": "b6a3502d2205eb05ec18772c13b91cc88a056b325c2617c57948d38cab8db600" + "encodedTransactionPayloadHex": "f9041db902c7696d706f72742043727970746f0a0a7472616e73616374696f6e286b65793a20537472696e672c207369676e6174757265416c676f726974686d3a2055496e74382c2068617368416c676f726974686d3a2055496e74382c207765696768743a2055466978363429207b0a0a0970726570617265287369676e65723a2061757468284164644b65792920264163636f756e7429207b0a0909707265207b0a0909097369676e6174757265416c676f726974686d203e3d2031202626207369676e6174757265416c676f726974686d203c3d20333a20224d7573742070726f766964652061207369676e617475726520616c676f7269746d207261772076616c7565207468617420697320312c20322c206f722033220a09090968617368416c676f726974686d203e3d20312026262068617368416c676f726974686d203c3d20363a20224d7573742070726f766964652061206861736820616c676f7269746d207261772076616c75652074686174206973206265747765656e203120616e642036220a090909776569676874203c3d20313030302e303a2022546865206b657920776569676874206d757374206265206265747765656e203020616e642031303030220a09097d0a09096c6574207075626c69634b6579203d205075626c69634b6579280a0909097075626c69634b65793a206b65792e6465636f646548657828292c0a0909097369676e6174757265416c676f726974686d3a205369676e6174757265416c676f726974686d2872617756616c75653a207369676e6174757265416c676f726974686d29210a0909290a0a09097369676e65722e6b6579732e616464287075626c69634b65793a207075626c69634b65792c2068617368416c676f726974686d3a2048617368416c676f726974686d2872617756616c75653a2068617368416c676f726974686d29212c207765696768743a20776569676874290a097d0a7df90110b8aa7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634227d9c7b2276616c7565223a2231222c2274797065223a2255496e7438227d9c7b2276616c7565223a2231222c2274797065223a2255496e7438227da97b2276616c7565223a22313030302e3030303030303030222c2274797065223a22554669783634227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", + "encodedTransactionEnvelopeHex": "f90421f9041db902c7696d706f72742043727970746f0a0a7472616e73616374696f6e286b65793a20537472696e672c207369676e6174757265416c676f726974686d3a2055496e74382c2068617368416c676f726974686d3a2055496e74382c207765696768743a2055466978363429207b0a0a0970726570617265287369676e65723a2061757468284164644b65792920264163636f756e7429207b0a0909707265207b0a0909097369676e6174757265416c676f726974686d203e3d2031202626207369676e6174757265416c676f726974686d203c3d20333a20224d7573742070726f766964652061207369676e617475726520616c676f7269746d207261772076616c7565207468617420697320312c20322c206f722033220a09090968617368416c676f726974686d203e3d20312026262068617368416c676f726974686d203c3d20363a20224d7573742070726f766964652061206861736820616c676f7269746d207261772076616c75652074686174206973206265747765656e203120616e642036220a090909776569676874203c3d20313030302e303a2022546865206b657920776569676874206d757374206265206265747765656e203020616e642031303030220a09097d0a09096c6574207075626c69634b6579203d205075626c69634b6579280a0909097075626c69634b65793a206b65792e6465636f646548657828292c0a0909097369676e6174757265416c676f726974686d3a205369676e6174757265416c676f726974686d2872617756616c75653a207369676e6174757265416c676f726974686d29210a0909290a0a09097369676e65722e6b6579732e616464287075626c69634b65793a207075626c69634b65792c2068617368416c676f726974686d3a2048617368416c676f726974686d2872617756616c75653a2068617368416c676f726974686d29212c207765696768743a20776569676874290a097d0a7df90110b8aa7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634227d9c7b2276616c7565223a2231222c2274797065223a2255496e7438227d9c7b2276616c7565223a2231222c2274797065223a2255496e7438227da97b2276616c7565223a22313030302e3030303030303030222c2274797065223a22554669783634227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", + "metadata": "0221d4e87df171ccbe015efe69dc2ffd24814c5fc0f2e364daf5c80515ce4a8bd921d4e87df171ccbe015efe69dc2ffd24814c5fc0f2e364daf5c80515ce4a8bd9416464204b65790004015075626c6963204b65790000537472696e670003015261772056616c756520666f72205369676e617475726520416c676f726974686d20456e756d000155496e74380003015261772056616c756520666f72204861736820416c676f726974686d20456e756d000255496e74380003014b65792057656967687400035546697836340003", + "hash": "21d4e87df171ccbe015efe69dc2ffd24814c5fc0f2e364daf5c80515ce4a8bd9" }, { - "title": "TH.08 - Stake New Locked FLOW", + "title": "FA.03 - Remove Key", "valid": true, "chainID": "Testnet", "payloadMessage": { - "script": "import FlowToken from 0x7e60df042a9c0868\nimport FungibleToken from 0x9a0766d93b6608b7\n\nimport LockedTokens from 0x95e019a17d0e23d7\nimport StakingProxy from 0x7aad92e5a0715d21\n\ntransaction(amount: UFix64) {\n\n let holderRef: &LockedTokens.TokenHolder\n\n let vaultRef: &FlowToken.Vault\n\n prepare(account: AuthAccount) {\n self.holderRef = account.borrow<&LockedTokens.TokenHolder>(from: LockedTokens.TokenHolderStoragePath)\n ?? panic(\"Could not borrow reference to TokenHolder\")\n\n self.vaultRef = account.borrow<&FlowToken.Vault>(from: /storage/flowTokenVault)\n ?? panic(\"Could not borrow flow token vault reference\")\n }\n\n execute {\n let stakerProxy = self.holderRef.borrowStaker()\n\n let lockedBalance = self.holderRef.getLockedAccountBalance()\n\n if amount <= lockedBalance {\n\n stakerProxy.stakeNewTokens(amount: amount)\n\n } else if ((amount - lockedBalance) <= self.vaultRef.balance) {\n\n self.holderRef.deposit(from: <-self.vaultRef.withdraw(amount: amount - lockedBalance))\n\n stakerProxy.stakeNewTokens(amount: amount)\n \n } else {\n panic(\"Not enough tokens to stake!\")\n }\n }\n}\n", + "script": "transaction(keyIndex: Int) {\n\tprepare(signer: auth(RevokeKey) &Account) {\n\t\tif let key = signer.keys.get(keyIndex: keyIndex) {\n\t\t\tsigner.keys.revoke(keyIndex: keyIndex)\n\t\t} else {\n\t\t\tpanic(\"No key with the given index exists on the authorizer's account\")\n\t\t}\n\t}\n}", "arguments": [ { - "type": "UFix64", - "value": "92233720368.54775808" + "type": "Int", + "value": "1" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -214,11 +172,11 @@ ] }, "envelopeMessage": { - "script": "import FlowToken from 0x7e60df042a9c0868\nimport FungibleToken from 0x9a0766d93b6608b7\n\nimport LockedTokens from 0x95e019a17d0e23d7\nimport StakingProxy from 0x7aad92e5a0715d21\n\ntransaction(amount: UFix64) {\n\n let holderRef: &LockedTokens.TokenHolder\n\n let vaultRef: &FlowToken.Vault\n\n prepare(account: AuthAccount) {\n self.holderRef = account.borrow<&LockedTokens.TokenHolder>(from: LockedTokens.TokenHolderStoragePath)\n ?? panic(\"Could not borrow reference to TokenHolder\")\n\n self.vaultRef = account.borrow<&FlowToken.Vault>(from: /storage/flowTokenVault)\n ?? panic(\"Could not borrow flow token vault reference\")\n }\n\n execute {\n let stakerProxy = self.holderRef.borrowStaker()\n\n let lockedBalance = self.holderRef.getLockedAccountBalance()\n\n if amount <= lockedBalance {\n\n stakerProxy.stakeNewTokens(amount: amount)\n\n } else if ((amount - lockedBalance) <= self.vaultRef.balance) {\n\n self.holderRef.deposit(from: <-self.vaultRef.withdraw(amount: amount - lockedBalance))\n\n stakerProxy.stakeNewTokens(amount: amount)\n \n } else {\n panic(\"Not enough tokens to stake!\")\n }\n }\n}\n", + "script": "transaction(keyIndex: Int) {\n\tprepare(signer: auth(RevokeKey) &Account) {\n\t\tif let key = signer.keys.get(keyIndex: keyIndex) {\n\t\t\tsigner.keys.revoke(keyIndex: keyIndex)\n\t\t} else {\n\t\t\tpanic(\"No key with the given index exists on the authorizer's account\")\n\t\t}\n\t}\n}", "arguments": [ { - "type": "UFix64", - "value": "92233720368.54775808" + "type": "Int", + "value": "1" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -234,21 +192,25 @@ ], "payloadSigs": [] }, - "encodedTransactionPayloadHex": "f9053eb904c9696d706f727420466c6f77546f6b656e2066726f6d203078376536306466303432613963303836380a696d706f72742046756e6769626c65546f6b656e2066726f6d203078396130373636643933623636303862370a0a696d706f7274204c6f636b6564546f6b656e732066726f6d203078393565303139613137643065323364370a696d706f7274205374616b696e6750726f78792066726f6d203078376161643932653561303731356432310a0a7472616e73616374696f6e28616d6f756e743a2055466978363429207b0a0a202020206c657420686f6c6465725265663a20264c6f636b6564546f6b656e732e546f6b656e486f6c6465720a0a202020206c6574207661756c745265663a2026466c6f77546f6b656e2e5661756c740a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e686f6c646572526566203d206163636f756e742e626f72726f773c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f20546f6b656e486f6c64657222290a0a202020202020202073656c662e7661756c74526566203d206163636f756e742e626f72726f773c26466c6f77546f6b656e2e5661756c743e2866726f6d3a202f73746f726167652f666c6f77546f6b656e5661756c74290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f7720666c6f7720746f6b656e207661756c74207265666572656e636522290a202020207d0a0a2020202065786563757465207b0a20202020202020206c6574207374616b657250726f7879203d2073656c662e686f6c6465725265662e626f72726f775374616b657228290a0a20202020202020206c6574206c6f636b656442616c616e6365203d2073656c662e686f6c6465725265662e6765744c6f636b65644163636f756e7442616c616e636528290a0a2020202020202020696620616d6f756e74203c3d206c6f636b656442616c616e6365207b0a0a2020202020202020202020207374616b657250726f78792e7374616b654e6577546f6b656e7328616d6f756e743a20616d6f756e74290a0a20202020202020207d20656c7365206966202828616d6f756e74202d206c6f636b656442616c616e636529203c3d2073656c662e7661756c745265662e62616c616e636529207b0a0a20202020202020202020202073656c662e686f6c6465725265662e6465706f7369742866726f6d3a203c2d73656c662e7661756c745265662e776974686472617728616d6f756e743a20616d6f756e74202d206c6f636b656442616c616e636529290a0a2020202020202020202020207374616b657250726f78792e7374616b654e6577546f6b656e7328616d6f756e743a20616d6f756e74290a2020202020202020202020200a20202020202020207d20656c7365207b0a20202020202020202020202070616e696328224e6f7420656e6f75676820746f6b656e7320746f207374616b652122290a20202020202020207d0a202020207d0a7d0af1b07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", - "encodedTransactionEnvelopeHex": "f90542f9053eb904c9696d706f727420466c6f77546f6b656e2066726f6d203078376536306466303432613963303836380a696d706f72742046756e6769626c65546f6b656e2066726f6d203078396130373636643933623636303862370a0a696d706f7274204c6f636b6564546f6b656e732066726f6d203078393565303139613137643065323364370a696d706f7274205374616b696e6750726f78792066726f6d203078376161643932653561303731356432310a0a7472616e73616374696f6e28616d6f756e743a2055466978363429207b0a0a202020206c657420686f6c6465725265663a20264c6f636b6564546f6b656e732e546f6b656e486f6c6465720a0a202020206c6574207661756c745265663a2026466c6f77546f6b656e2e5661756c740a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e686f6c646572526566203d206163636f756e742e626f72726f773c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f20546f6b656e486f6c64657222290a0a202020202020202073656c662e7661756c74526566203d206163636f756e742e626f72726f773c26466c6f77546f6b656e2e5661756c743e2866726f6d3a202f73746f726167652f666c6f77546f6b656e5661756c74290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f7720666c6f7720746f6b656e207661756c74207265666572656e636522290a202020207d0a0a2020202065786563757465207b0a20202020202020206c6574207374616b657250726f7879203d2073656c662e686f6c6465725265662e626f72726f775374616b657228290a0a20202020202020206c6574206c6f636b656442616c616e6365203d2073656c662e686f6c6465725265662e6765744c6f636b65644163636f756e7442616c616e636528290a0a2020202020202020696620616d6f756e74203c3d206c6f636b656442616c616e6365207b0a0a2020202020202020202020207374616b657250726f78792e7374616b654e6577546f6b656e7328616d6f756e743a20616d6f756e74290a0a20202020202020207d20656c7365206966202828616d6f756e74202d206c6f636b656442616c616e636529203c3d2073656c662e7661756c745265662e62616c616e636529207b0a0a20202020202020202020202073656c662e686f6c6465725265662e6465706f7369742866726f6d3a203c2d73656c662e7661756c745265662e776974686472617728616d6f756e743a20616d6f756e74202d206c6f636b656442616c616e636529290a0a2020202020202020202020207374616b657250726f78792e7374616b654e6577546f6b656e7328616d6f756e743a20616d6f756e74290a2020202020202020202020200a20202020202020207d20656c7365207b0a20202020202020202020202070616e696328224e6f7420656e6f75676820746f6b656e7320746f207374616b652122290a20202020202020207d0a202020207d0a7d0af1b07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", - "metadata": "02d5689b89f53214e7ce9ba7be2bb651961f7e3036b85f9250494290da9e9ba9891929e4f38894b8641848a3c0a3b9d35495b35083d42e8a3d4c928b9db4174ee85374616b65204e6577204c6f636b656420464c4f57000101416d6f756e7400005546697836340003", - "hash": "d5689b89f53214e7ce9ba7be2bb651961f7e3036b85f9250494290da9e9ba989" + "encodedTransactionPayloadHex": "f90166b901077472616e73616374696f6e286b6579496e6465783a20496e7429207b0a0970726570617265287369676e65723a2061757468285265766f6b654b65792920264163636f756e7429207b0a09096966206c6574206b6579203d207369676e65722e6b6579732e676574286b6579496e6465783a206b6579496e64657829207b0a0909097369676e65722e6b6579732e7265766f6b65286b6579496e6465783a206b6579496e646578290a09097d20656c7365207b0a09090970616e696328224e6f206b657920776974682074686520676976656e20696e64657820657869737473206f6e2074686520617574686f72697a65722773206163636f756e7422290a09097d0a097d0a7ddb9a7b2274797065223a22496e74222c2276616c7565223a2231227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", + "encodedTransactionEnvelopeHex": "f9016af90166b901077472616e73616374696f6e286b6579496e6465783a20496e7429207b0a0970726570617265287369676e65723a2061757468285265766f6b654b65792920264163636f756e7429207b0a09096966206c6574206b6579203d207369676e65722e6b6579732e676574286b6579496e6465783a206b6579496e64657829207b0a0909097369676e65722e6b6579732e7265766f6b65286b6579496e6465783a206b6579496e646578290a09097d20656c7365207b0a09090970616e696328224e6f206b657920776974682074686520676976656e20696e64657820657869737473206f6e2074686520617574686f72697a65722773206163636f756e7422290a09097d0a097d0a7ddb9a7b2274797065223a22496e74222c2276616c7565223a2231227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", + "metadata": "026c7ab72837fdce77a910f6fc0c622c6c4d5b17f6fbf7295f345d50d3508dd5156c7ab72837fdce77a910f6fc0c622c6c4d5b17f6fbf7295f345d50d3508dd51552656d6f7665204b65790001014b657920496e6465780000496e740003", + "hash": "6c7ab72837fdce77a910f6fc0c622c6c4d5b17f6fbf7295f345d50d3508dd515" }, { - "title": "TH.09 - Re-stake Unstaked FLOW", + "title": "FT.01 - Setup Fungible Token Vault", "valid": true, "chainID": "Testnet", "payloadMessage": { - "script": "import LockedTokens from 0x95e019a17d0e23d7\nimport StakingProxy from 0x7aad92e5a0715d21\n\ntransaction(amount: UFix64) {\n\n let holderRef: &LockedTokens.TokenHolder\n\n prepare(account: AuthAccount) {\n self.holderRef = account.borrow<&LockedTokens.TokenHolder>(from: LockedTokens.TokenHolderStoragePath)\n ?? panic(\"Could not borrow reference to TokenHolder\")\n }\n\n execute {\n let stakerProxy = self.holderRef.borrowStaker()\n\n stakerProxy.stakeUnstakedTokens(amount: amount)\n }\n}\n", + "script": "import FungibleToken from 0x9a0766d93b6608b7\nimport FungibleTokenMetadataViews from 0x9a0766d93b6608b7\n\n/// This transaction is what an account would run\n/// to set itself up to manage fungible tokens. This function\n/// uses views to know where to set up the vault\n/// in storage and to create the empty vault.\n\ntransaction(contractAddress: Address, contractName: String) {\n\n prepare(signer: auth(SaveValue, Capabilities) &Account) {\n // Borrow a reference to the vault stored on the passed account at the passed publicPath\n let resolverRef = getAccount(contractAddress)\n .contracts.borrow<&{FungibleToken}>(name: contractName)\n ?? panic(\"Could not borrow a reference to the fungible token contract\")\n\n // Use that reference to retrieve the FTView \n let ftVaultData = resolverRef.resolveContractView(resourceType: nil, viewType: Type()) as! FungibleTokenMetadataViews.FTVaultData?\n ?? panic(\"Could not resolve the FTVaultData view for the given Fungible token contract\")\n\n // Create a new empty vault using the createEmptyVault function inside the FTVaultData\n let emptyVault <-ftVaultData.createEmptyVault()\n\n // Save it to the account\n signer.storage.save(<-emptyVault, to: ftVaultData.storagePath)\n \n // Create a public capability for the vault which includes the .Resolver interface\n let vaultCap = signer.capabilities.storage.issue<&{FungibleToken.Vault}>(ftVaultData.storagePath)\n signer.capabilities.publish(vaultCap, at: ftVaultData.metadataPath)\n\n // Create a public capability for the vault exposing the receiver interface\n let receiverCap = signer.capabilities.storage.issue<&{FungibleToken.Receiver}>(ftVaultData.storagePath)\n signer.capabilities.publish(receiverCap, at: ftVaultData.receiverPath)\n\n }\n}\n ", "arguments": [ { - "type": "UFix64", - "value": "92233720368.54775808" + "type": "Address", + "value": "0x8c5303eaa26202d6" + }, + { + "value": "FiatToken", + "type": "String" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -264,11 +226,15 @@ ] }, "envelopeMessage": { - "script": "import LockedTokens from 0x95e019a17d0e23d7\nimport StakingProxy from 0x7aad92e5a0715d21\n\ntransaction(amount: UFix64) {\n\n let holderRef: &LockedTokens.TokenHolder\n\n prepare(account: AuthAccount) {\n self.holderRef = account.borrow<&LockedTokens.TokenHolder>(from: LockedTokens.TokenHolderStoragePath)\n ?? panic(\"Could not borrow reference to TokenHolder\")\n }\n\n execute {\n let stakerProxy = self.holderRef.borrowStaker()\n\n stakerProxy.stakeUnstakedTokens(amount: amount)\n }\n}\n", + "script": "import FungibleToken from 0x9a0766d93b6608b7\nimport FungibleTokenMetadataViews from 0x9a0766d93b6608b7\n\n/// This transaction is what an account would run\n/// to set itself up to manage fungible tokens. This function\n/// uses views to know where to set up the vault\n/// in storage and to create the empty vault.\n\ntransaction(contractAddress: Address, contractName: String) {\n\n prepare(signer: auth(SaveValue, Capabilities) &Account) {\n // Borrow a reference to the vault stored on the passed account at the passed publicPath\n let resolverRef = getAccount(contractAddress)\n .contracts.borrow<&{FungibleToken}>(name: contractName)\n ?? panic(\"Could not borrow a reference to the fungible token contract\")\n\n // Use that reference to retrieve the FTView \n let ftVaultData = resolverRef.resolveContractView(resourceType: nil, viewType: Type()) as! FungibleTokenMetadataViews.FTVaultData?\n ?? panic(\"Could not resolve the FTVaultData view for the given Fungible token contract\")\n\n // Create a new empty vault using the createEmptyVault function inside the FTVaultData\n let emptyVault <-ftVaultData.createEmptyVault()\n\n // Save it to the account\n signer.storage.save(<-emptyVault, to: ftVaultData.storagePath)\n \n // Create a public capability for the vault which includes the .Resolver interface\n let vaultCap = signer.capabilities.storage.issue<&{FungibleToken.Vault}>(ftVaultData.storagePath)\n signer.capabilities.publish(vaultCap, at: ftVaultData.metadataPath)\n\n // Create a public capability for the vault exposing the receiver interface\n let receiverCap = signer.capabilities.storage.issue<&{FungibleToken.Receiver}>(ftVaultData.storagePath)\n signer.capabilities.publish(receiverCap, at: ftVaultData.receiverPath)\n\n }\n}\n ", "arguments": [ { - "type": "UFix64", - "value": "92233720368.54775808" + "type": "Address", + "value": "0x8c5303eaa26202d6" + }, + { + "value": "FiatToken", + "type": "String" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -284,21 +250,33 @@ ], "payloadSigs": [] }, - "encodedTransactionPayloadHex": "f9027db90208696d706f7274204c6f636b6564546f6b656e732066726f6d203078393565303139613137643065323364370a696d706f7274205374616b696e6750726f78792066726f6d203078376161643932653561303731356432310a0a7472616e73616374696f6e28616d6f756e743a2055466978363429207b0a0a202020206c657420686f6c6465725265663a20264c6f636b6564546f6b656e732e546f6b656e486f6c6465720a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e686f6c646572526566203d206163636f756e742e626f72726f773c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f20546f6b656e486f6c64657222290a202020207d0a0a2020202065786563757465207b0a20202020202020206c6574207374616b657250726f7879203d2073656c662e686f6c6465725265662e626f72726f775374616b657228290a0a20202020202020207374616b657250726f78792e7374616b65556e7374616b6564546f6b656e7328616d6f756e743a20616d6f756e74290a202020207d0a7d0af1b07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", - "encodedTransactionEnvelopeHex": "f90281f9027db90208696d706f7274204c6f636b6564546f6b656e732066726f6d203078393565303139613137643065323364370a696d706f7274205374616b696e6750726f78792066726f6d203078376161643932653561303731356432310a0a7472616e73616374696f6e28616d6f756e743a2055466978363429207b0a0a202020206c657420686f6c6465725265663a20264c6f636b6564546f6b656e732e546f6b656e486f6c6465720a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e686f6c646572526566203d206163636f756e742e626f72726f773c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f20546f6b656e486f6c64657222290a202020207d0a0a2020202065786563757465207b0a20202020202020206c6574207374616b657250726f7879203d2073656c662e686f6c6465725265662e626f72726f775374616b657228290a0a20202020202020207374616b657250726f78792e7374616b65556e7374616b6564546f6b656e7328616d6f756e743a20616d6f756e74290a202020207d0a7d0af1b07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", - "metadata": "0223e5bfd594bb3245090e3e0bafb9cb9246fc84d30e4a35a7fde1b51085624d86677cc0ac3962ec136ca26dbec0aa942d926640ecf8418433f0db4b7925f5d0fe52652d7374616b6520556e7374616b656420464c4f57000101416d6f756e7400005546697836340003", - "hash": "23e5bfd594bb3245090e3e0bafb9cb9246fc84d30e4a35a7fde1b51085624d86" + "encodedTransactionPayloadHex": "f90808b9076d696d706f72742046756e6769626c65546f6b656e2066726f6d203078396130373636643933623636303862370a696d706f72742046756e6769626c65546f6b656e4d6574616461746156696577732066726f6d203078396130373636643933623636303862370a0a2f2f2f2054686973207472616e73616374696f6e206973207768617420616e206163636f756e7420776f756c642072756e0a2f2f2f20746f2073657420697473656c6620757020746f206d616e6167652066756e6769626c6520746f6b656e732e20546869732066756e6374696f6e0a2f2f2f207573657320766965777320746f206b6e6f7720776865726520746f2073657420757020746865207661756c740a2f2f2f20696e2073746f7261676520616e6420746f206372656174652074686520656d707479207661756c742e0a0a7472616e73616374696f6e28636f6e7472616374416464726573733a20416464726573732c20636f6e74726163744e616d653a20537472696e6729207b0a0a2020202070726570617265287369676e65723a2061757468285361766556616c75652c204361706162696c69746965732920264163636f756e7429207b0a20202020202020202f2f20426f72726f772061207265666572656e636520746f20746865207661756c742073746f726564206f6e2074686520706173736564206163636f756e742061742074686520706173736564207075626c6963506174680a20202020202020206c6574207265736f6c766572526566203d206765744163636f756e7428636f6e747261637441646472657373290a2020202020202020202020202e636f6e7472616374732e626f72726f773c267b46756e6769626c65546f6b656e7d3e286e616d653a20636f6e74726163744e616d65290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f207468652066756e6769626c6520746f6b656e20636f6e747261637422290a0a20202020202020202f2f205573652074686174207265666572656e636520746f2072657472696576652074686520465456696577200a20202020202020206c65742066745661756c7444617461203d207265736f6c7665725265662e7265736f6c7665436f6e747261637456696577287265736f75726365547970653a206e696c2c2076696577547970653a20547970653c46756e6769626c65546f6b656e4d6574616461746156696577732e46545661756c74446174613e282929206173212046756e6769626c65546f6b656e4d6574616461746156696577732e46545661756c74446174613f0a2020202020202020202020203f3f2070616e69632822436f756c64206e6f74207265736f6c7665207468652046545661756c7444617461207669657720666f722074686520676976656e2046756e6769626c6520746f6b656e20636f6e747261637422290a0a20202020202020202f2f204372656174652061206e657720656d707479207661756c74207573696e672074686520637265617465456d7074795661756c742066756e6374696f6e20696e73696465207468652046545661756c74446174610a20202020202020206c657420656d7074795661756c74203c2d66745661756c74446174612e637265617465456d7074795661756c7428290a0a20202020202020202f2f205361766520697420746f20746865206163636f756e740a20202020202020207369676e65722e73746f726167652e73617665283c2d656d7074795661756c742c20746f3a2066745661756c74446174612e73746f7261676550617468290a20202020202020200a20202020202020202f2f204372656174652061207075626c6963206361706162696c69747920666f7220746865207661756c7420776869636820696e636c7564657320746865202e5265736f6c76657220696e746572666163650a20202020202020206c6574207661756c74436170203d207369676e65722e6361706162696c69746965732e73746f726167652e69737375653c267b46756e6769626c65546f6b656e2e5661756c747d3e2866745661756c74446174612e73746f7261676550617468290a20202020202020207369676e65722e6361706162696c69746965732e7075626c697368287661756c744361702c2061743a2066745661756c74446174612e6d6574616461746150617468290a0a20202020202020202f2f204372656174652061207075626c6963206361706162696c69747920666f7220746865207661756c74206578706f73696e672074686520726563656976657220696e746572666163650a20202020202020206c6574207265636569766572436170203d207369676e65722e6361706162696c69746965732e73746f726167652e69737375653c267b46756e6769626c65546f6b656e2e52656365697665727d3e2866745661756c74446174612e73746f7261676550617468290a20202020202020207369676e65722e6361706162696c69746965732e7075626c6973682872656365697665724361702c2061743a2066745661756c74446174612e726563656976657250617468290a0a202020207d0a7d0a20f856af7b2274797065223a2241646472657373222c2276616c7565223a22307838633533303365616132363230326436227da57b2276616c7565223a2246696174546f6b656e222c2274797065223a22537472696e67227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", + "encodedTransactionEnvelopeHex": "f9080cf90808b9076d696d706f72742046756e6769626c65546f6b656e2066726f6d203078396130373636643933623636303862370a696d706f72742046756e6769626c65546f6b656e4d6574616461746156696577732066726f6d203078396130373636643933623636303862370a0a2f2f2f2054686973207472616e73616374696f6e206973207768617420616e206163636f756e7420776f756c642072756e0a2f2f2f20746f2073657420697473656c6620757020746f206d616e6167652066756e6769626c6520746f6b656e732e20546869732066756e6374696f6e0a2f2f2f207573657320766965777320746f206b6e6f7720776865726520746f2073657420757020746865207661756c740a2f2f2f20696e2073746f7261676520616e6420746f206372656174652074686520656d707479207661756c742e0a0a7472616e73616374696f6e28636f6e7472616374416464726573733a20416464726573732c20636f6e74726163744e616d653a20537472696e6729207b0a0a2020202070726570617265287369676e65723a2061757468285361766556616c75652c204361706162696c69746965732920264163636f756e7429207b0a20202020202020202f2f20426f72726f772061207265666572656e636520746f20746865207661756c742073746f726564206f6e2074686520706173736564206163636f756e742061742074686520706173736564207075626c6963506174680a20202020202020206c6574207265736f6c766572526566203d206765744163636f756e7428636f6e747261637441646472657373290a2020202020202020202020202e636f6e7472616374732e626f72726f773c267b46756e6769626c65546f6b656e7d3e286e616d653a20636f6e74726163744e616d65290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f207468652066756e6769626c6520746f6b656e20636f6e747261637422290a0a20202020202020202f2f205573652074686174207265666572656e636520746f2072657472696576652074686520465456696577200a20202020202020206c65742066745661756c7444617461203d207265736f6c7665725265662e7265736f6c7665436f6e747261637456696577287265736f75726365547970653a206e696c2c2076696577547970653a20547970653c46756e6769626c65546f6b656e4d6574616461746156696577732e46545661756c74446174613e282929206173212046756e6769626c65546f6b656e4d6574616461746156696577732e46545661756c74446174613f0a2020202020202020202020203f3f2070616e69632822436f756c64206e6f74207265736f6c7665207468652046545661756c7444617461207669657720666f722074686520676976656e2046756e6769626c6520746f6b656e20636f6e747261637422290a0a20202020202020202f2f204372656174652061206e657720656d707479207661756c74207573696e672074686520637265617465456d7074795661756c742066756e6374696f6e20696e73696465207468652046545661756c74446174610a20202020202020206c657420656d7074795661756c74203c2d66745661756c74446174612e637265617465456d7074795661756c7428290a0a20202020202020202f2f205361766520697420746f20746865206163636f756e740a20202020202020207369676e65722e73746f726167652e73617665283c2d656d7074795661756c742c20746f3a2066745661756c74446174612e73746f7261676550617468290a20202020202020200a20202020202020202f2f204372656174652061207075626c6963206361706162696c69747920666f7220746865207661756c7420776869636820696e636c7564657320746865202e5265736f6c76657220696e746572666163650a20202020202020206c6574207661756c74436170203d207369676e65722e6361706162696c69746965732e73746f726167652e69737375653c267b46756e6769626c65546f6b656e2e5661756c747d3e2866745661756c74446174612e73746f7261676550617468290a20202020202020207369676e65722e6361706162696c69746965732e7075626c697368287661756c744361702c2061743a2066745661756c74446174612e6d6574616461746150617468290a0a20202020202020202f2f204372656174652061207075626c6963206361706162696c69747920666f7220746865207661756c74206578706f73696e672074686520726563656976657220696e746572666163650a20202020202020206c6574207265636569766572436170203d207369676e65722e6361706162696c69746965732e73746f726167652e69737375653c267b46756e6769626c65546f6b656e2e52656365697665727d3e2866745661756c74446174612e73746f7261676550617468290a20202020202020207369676e65722e6361706162696c69746965732e7075626c6973682872656365697665724361702c2061743a2066745661756c74446174612e726563656976657250617468290a0a202020207d0a7d0a20f856af7b2274797065223a2241646472657373222c2276616c7565223a22307838633533303365616132363230326436227da57b2276616c7565223a2246696174546f6b656e222c2274797065223a22537472696e67227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", + "metadata": "023ccbbfebf10c47c49e4058a33fd9a29c4191c545de52c9afd27a29d38110aa280246076f1cf5d3160397766a9227b35f592f4d15c014848044c509818328b62b53657475702046756e6769626c6520546f6b656e205661756c74000201465420436f6e74726163742041646472657373000041646472657373000301465420436f6e7472616374204e616d650001537472696e670003", + "hash": "3ccbbfebf10c47c49e4058a33fd9a29c4191c545de52c9afd27a29d38110aa28" }, { - "title": "TH.10 - Re-stake Rewarded FLOW", + "title": "FT.02 - Transfer Fungible Token with Paths", "valid": true, "chainID": "Testnet", "payloadMessage": { - "script": "import LockedTokens from 0x95e019a17d0e23d7\nimport StakingProxy from 0x7aad92e5a0715d21\n\ntransaction(amount: UFix64) {\n\n let holderRef: &LockedTokens.TokenHolder\n\n prepare(account: AuthAccount) {\n self.holderRef = account.borrow<&LockedTokens.TokenHolder>(from: LockedTokens.TokenHolderStoragePath)\n ?? panic(\"Could not borrow reference to TokenHolder\")\n }\n\n execute {\n let stakerProxy = self.holderRef.borrowStaker()\n\n stakerProxy.stakeRewardedTokens(amount: amount)\n }\n}\n", + "script": "import FungibleToken from 0x9a0766d93b6608b7\n\n/// Can pass in any storage path and receiver path identifier instead of just the default.\n/// This lets you choose the token you want to send as well the capability you want to send it to.\n///\n/// Any token path can be passed as an argument here, so wallets should\n/// should check argument values to make sure the intended token path is passed in\n///\ntransaction(amount: UFix64, to: Address, senderPathIdentifier: String, receiverPathIdentifier: String) {\n\n // The Vault resource that holds the tokens that are being transferred\n let tempVault: @{FungibleToken.Vault}\n\n prepare(signer: auth(BorrowValue) &Account) {\n\n let storagePath = StoragePath(identifier: senderPathIdentifier)\n ?? panic(\"Could not construct a storage path from the provided path identifier string\")\n\n // Get a reference to the signer's stored vault\n let vaultRef = signer.storage.borrow(from: storagePath)\n\t\t\t?? panic(\"Could not borrow reference to the owner's Vault!\")\n\n self.tempVault <- vaultRef.withdraw(amount: amount)\n }\n\n execute {\n let publicPath = PublicPath(identifier: receiverPathIdentifier)\n ?? panic(\"Could not construct a public path from the provided path identifier string\")\n\n let recipient = getAccount(to)\n let receiverRef = recipient.capabilities.borrow<&{FungibleToken.Receiver}>(publicPath)\n ?? panic(\"Could not borrow reference to the recipient's Receiver!\")\n\n // Transfer tokens from the signer's stored vault to the receiver capability\n receiverRef.deposit(from: <-self.tempVault)\n }\n}", "arguments": [ { "type": "UFix64", "value": "92233720368.54775808" + }, + { + "value": "0x8c5303eaa26202d6", + "type": "Address" + }, + { + "value": "flowTokenVault", + "type": "String" + }, + { + "value": "flowTokenReceiver", + "type": "String" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -314,11 +292,23 @@ ] }, "envelopeMessage": { - "script": "import LockedTokens from 0x95e019a17d0e23d7\nimport StakingProxy from 0x7aad92e5a0715d21\n\ntransaction(amount: UFix64) {\n\n let holderRef: &LockedTokens.TokenHolder\n\n prepare(account: AuthAccount) {\n self.holderRef = account.borrow<&LockedTokens.TokenHolder>(from: LockedTokens.TokenHolderStoragePath)\n ?? panic(\"Could not borrow reference to TokenHolder\")\n }\n\n execute {\n let stakerProxy = self.holderRef.borrowStaker()\n\n stakerProxy.stakeRewardedTokens(amount: amount)\n }\n}\n", + "script": "import FungibleToken from 0x9a0766d93b6608b7\n\n/// Can pass in any storage path and receiver path identifier instead of just the default.\n/// This lets you choose the token you want to send as well the capability you want to send it to.\n///\n/// Any token path can be passed as an argument here, so wallets should\n/// should check argument values to make sure the intended token path is passed in\n///\ntransaction(amount: UFix64, to: Address, senderPathIdentifier: String, receiverPathIdentifier: String) {\n\n // The Vault resource that holds the tokens that are being transferred\n let tempVault: @{FungibleToken.Vault}\n\n prepare(signer: auth(BorrowValue) &Account) {\n\n let storagePath = StoragePath(identifier: senderPathIdentifier)\n ?? panic(\"Could not construct a storage path from the provided path identifier string\")\n\n // Get a reference to the signer's stored vault\n let vaultRef = signer.storage.borrow(from: storagePath)\n\t\t\t?? panic(\"Could not borrow reference to the owner's Vault!\")\n\n self.tempVault <- vaultRef.withdraw(amount: amount)\n }\n\n execute {\n let publicPath = PublicPath(identifier: receiverPathIdentifier)\n ?? panic(\"Could not construct a public path from the provided path identifier string\")\n\n let recipient = getAccount(to)\n let receiverRef = recipient.capabilities.borrow<&{FungibleToken.Receiver}>(publicPath)\n ?? panic(\"Could not borrow reference to the recipient's Receiver!\")\n\n // Transfer tokens from the signer's stored vault to the receiver capability\n receiverRef.deposit(from: <-self.tempVault)\n }\n}", "arguments": [ { "type": "UFix64", "value": "92233720368.54775808" + }, + { + "value": "0x8c5303eaa26202d6", + "type": "Address" + }, + { + "value": "flowTokenVault", + "type": "String" + }, + { + "value": "flowTokenReceiver", + "type": "String" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -334,21 +324,33 @@ ], "payloadSigs": [] }, - "encodedTransactionPayloadHex": "f9027db90208696d706f7274204c6f636b6564546f6b656e732066726f6d203078393565303139613137643065323364370a696d706f7274205374616b696e6750726f78792066726f6d203078376161643932653561303731356432310a0a7472616e73616374696f6e28616d6f756e743a2055466978363429207b0a0a202020206c657420686f6c6465725265663a20264c6f636b6564546f6b656e732e546f6b656e486f6c6465720a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e686f6c646572526566203d206163636f756e742e626f72726f773c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f20546f6b656e486f6c64657222290a202020207d0a0a2020202065786563757465207b0a20202020202020206c6574207374616b657250726f7879203d2073656c662e686f6c6465725265662e626f72726f775374616b657228290a0a20202020202020207374616b657250726f78792e7374616b655265776172646564546f6b656e7328616d6f756e743a20616d6f756e74290a202020207d0a7d0af1b07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", - "encodedTransactionEnvelopeHex": "f90281f9027db90208696d706f7274204c6f636b6564546f6b656e732066726f6d203078393565303139613137643065323364370a696d706f7274205374616b696e6750726f78792066726f6d203078376161643932653561303731356432310a0a7472616e73616374696f6e28616d6f756e743a2055466978363429207b0a0a202020206c657420686f6c6465725265663a20264c6f636b6564546f6b656e732e546f6b656e486f6c6465720a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e686f6c646572526566203d206163636f756e742e626f72726f773c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f20546f6b656e486f6c64657222290a202020207d0a0a2020202065786563757465207b0a20202020202020206c6574207374616b657250726f7879203d2073656c662e686f6c6465725265662e626f72726f775374616b657228290a0a20202020202020207374616b657250726f78792e7374616b655265776172646564546f6b656e7328616d6f756e743a20616d6f756e74290a202020207d0a7d0af1b07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", - "metadata": "02239319825ad68178e76465b5ea18cb43f06c4ee11341f8fe9424809163a027a528d1719c5b21c88c62665db5ba04886809f3234c27057b057c36d5f265ee9de452652d7374616b6520526577617264656420464c4f57000101416d6f756e7400005546697836340003", - "hash": "239319825ad68178e76465b5ea18cb43f06c4ee11341f8fe9424809163a027a5" + "encodedTransactionPayloadHex": "f907a3b906a4696d706f72742046756e6769626c65546f6b656e2066726f6d203078396130373636643933623636303862370a0a2f2f2f2043616e207061737320696e20616e792073746f72616765207061746820616e642072656365697665722070617468206964656e74696669657220696e7374656164206f66206a757374207468652064656661756c742e0a2f2f2f2054686973206c65747320796f752063686f6f73652074686520746f6b656e20796f752077616e7420746f2073656e642061732077656c6c20746865206361706162696c69747920796f752077616e7420746f2073656e6420697420746f2e0a2f2f2f0a2f2f2f20416e7920746f6b656e20706174682063616e2062652070617373656420617320616e20617267756d656e7420686572652c20736f2077616c6c6574732073686f756c640a2f2f2f2073686f756c6420636865636b20617267756d656e742076616c75657320746f206d616b6520737572652074686520696e74656e64656420746f6b656e20706174682069732070617373656420696e0a2f2f2f0a7472616e73616374696f6e28616d6f756e743a205546697836342c20746f3a20416464726573732c2073656e646572506174684964656e7469666965723a20537472696e672c207265636569766572506174684964656e7469666965723a20537472696e6729207b0a0a202020202f2f20546865205661756c74207265736f75726365207468617420686f6c64732074686520746f6b656e73207468617420617265206265696e67207472616e736665727265640a202020206c65742074656d705661756c743a20407b46756e6769626c65546f6b656e2e5661756c747d0a0a2020202070726570617265287369676e65723a206175746828426f72726f7756616c75652920264163636f756e7429207b0a0a20202020202020206c65742073746f7261676550617468203d2053746f7261676550617468286964656e7469666965723a2073656e646572506174684964656e746966696572290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420636f6e73747275637420612073746f7261676520706174682066726f6d207468652070726f76696465642070617468206964656e74696669657220737472696e6722290a0a20202020202020202f2f204765742061207265666572656e636520746f20746865207369676e657227732073746f726564207661756c740a20202020202020206c6574207661756c74526566203d207369676e65722e73746f726167652e626f72726f773c617574682846756e6769626c65546f6b656e2e57697468647261772920267b46756e6769626c65546f6b656e2e50726f76696465727d3e2866726f6d3a2073746f7261676550617468290a0909093f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f20746865206f776e65722773205661756c742122290a0a202020202020202073656c662e74656d705661756c74203c2d207661756c745265662e776974686472617728616d6f756e743a20616d6f756e74290a202020207d0a0a2020202065786563757465207b0a20202020202020206c6574207075626c696350617468203d205075626c696350617468286964656e7469666965723a207265636569766572506174684964656e746966696572290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420636f6e7374727563742061207075626c696320706174682066726f6d207468652070726f76696465642070617468206964656e74696669657220737472696e6722290a0a20202020202020206c657420726563697069656e74203d206765744163636f756e7428746f290a20202020202020206c6574207265636569766572526566203d20726563697069656e742e6361706162696c69746965732e626f72726f773c267b46756e6769626c65546f6b656e2e52656365697665727d3e287075626c696350617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f2074686520726563697069656e7427732052656365697665722122290a0a20202020202020202f2f205472616e7366657220746f6b656e732066726f6d20746865207369676e657227732073746f726564207661756c7420746f20746865207265636569766572206361706162696c6974790a202020202020202072656365697665725265662e6465706f7369742866726f6d3a203c2d73656c662e74656d705661756c74290a202020207d0a7df8bab07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227daf7b2276616c7565223a22307838633533303365616132363230326436222c2274797065223a2241646472657373227daa7b2276616c7565223a22666c6f77546f6b656e5661756c74222c2274797065223a22537472696e67227dad7b2276616c7565223a22666c6f77546f6b656e5265636569766572222c2274797065223a22537472696e67227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", + "encodedTransactionEnvelopeHex": "f907a7f907a3b906a4696d706f72742046756e6769626c65546f6b656e2066726f6d203078396130373636643933623636303862370a0a2f2f2f2043616e207061737320696e20616e792073746f72616765207061746820616e642072656365697665722070617468206964656e74696669657220696e7374656164206f66206a757374207468652064656661756c742e0a2f2f2f2054686973206c65747320796f752063686f6f73652074686520746f6b656e20796f752077616e7420746f2073656e642061732077656c6c20746865206361706162696c69747920796f752077616e7420746f2073656e6420697420746f2e0a2f2f2f0a2f2f2f20416e7920746f6b656e20706174682063616e2062652070617373656420617320616e20617267756d656e7420686572652c20736f2077616c6c6574732073686f756c640a2f2f2f2073686f756c6420636865636b20617267756d656e742076616c75657320746f206d616b6520737572652074686520696e74656e64656420746f6b656e20706174682069732070617373656420696e0a2f2f2f0a7472616e73616374696f6e28616d6f756e743a205546697836342c20746f3a20416464726573732c2073656e646572506174684964656e7469666965723a20537472696e672c207265636569766572506174684964656e7469666965723a20537472696e6729207b0a0a202020202f2f20546865205661756c74207265736f75726365207468617420686f6c64732074686520746f6b656e73207468617420617265206265696e67207472616e736665727265640a202020206c65742074656d705661756c743a20407b46756e6769626c65546f6b656e2e5661756c747d0a0a2020202070726570617265287369676e65723a206175746828426f72726f7756616c75652920264163636f756e7429207b0a0a20202020202020206c65742073746f7261676550617468203d2053746f7261676550617468286964656e7469666965723a2073656e646572506174684964656e746966696572290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420636f6e73747275637420612073746f7261676520706174682066726f6d207468652070726f76696465642070617468206964656e74696669657220737472696e6722290a0a20202020202020202f2f204765742061207265666572656e636520746f20746865207369676e657227732073746f726564207661756c740a20202020202020206c6574207661756c74526566203d207369676e65722e73746f726167652e626f72726f773c617574682846756e6769626c65546f6b656e2e57697468647261772920267b46756e6769626c65546f6b656e2e50726f76696465727d3e2866726f6d3a2073746f7261676550617468290a0909093f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f20746865206f776e65722773205661756c742122290a0a202020202020202073656c662e74656d705661756c74203c2d207661756c745265662e776974686472617728616d6f756e743a20616d6f756e74290a202020207d0a0a2020202065786563757465207b0a20202020202020206c6574207075626c696350617468203d205075626c696350617468286964656e7469666965723a207265636569766572506174684964656e746966696572290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420636f6e7374727563742061207075626c696320706174682066726f6d207468652070726f76696465642070617468206964656e74696669657220737472696e6722290a0a20202020202020206c657420726563697069656e74203d206765744163636f756e7428746f290a20202020202020206c6574207265636569766572526566203d20726563697069656e742e6361706162696c69746965732e626f72726f773c267b46756e6769626c65546f6b656e2e52656365697665727d3e287075626c696350617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f2074686520726563697069656e7427732052656365697665722122290a0a20202020202020202f2f205472616e7366657220746f6b656e732066726f6d20746865207369676e657227732073746f726564207661756c7420746f20746865207265636569766572206361706162696c6974790a202020202020202072656365697665725265662e6465706f7369742866726f6d3a203c2d73656c662e74656d705661756c74290a202020207d0a7df8bab07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227daf7b2276616c7565223a22307838633533303365616132363230326436222c2274797065223a2241646472657373227daa7b2276616c7565223a22666c6f77546f6b656e5661756c74222c2274797065223a22537472696e67227dad7b2276616c7565223a22666c6f77546f6b656e5265636569766572222c2274797065223a22537472696e67227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", + "metadata": "02c9b9a6156280812703c15dde74df95cd0d7d1034dd2d8bf0cccf72b6071429886e5b8c83a3e8445eaa4bed391978443f124d9aa457fabdbaa016e0f65b57591e5472616e736665722046756e6769626c6520546f6b656e2077697468205061746873000401416d6f756e740000554669783634000301526563697069656e7400014164647265737300030153656e646572277320436f6c6c656374696f6e2050617468204964656e7469666965720002537472696e67000301526563697069656e7427732052656365697665722050617468204964656e7469666965720003537472696e670003", + "hash": "c9b9a6156280812703c15dde74df95cd0d7d1034dd2d8bf0cccf72b607142988" }, { - "title": "TH.11 - Request Unstake of FLOW", + "title": "FT.03 - Transfer Fungible Token with Address", "valid": true, "chainID": "Testnet", "payloadMessage": { - "script": "import LockedTokens from 0x95e019a17d0e23d7\nimport StakingProxy from 0x7aad92e5a0715d21\n\ntransaction(amount: UFix64) {\n\n let holderRef: &LockedTokens.TokenHolder\n\n prepare(account: AuthAccount) {\n self.holderRef = account.borrow<&LockedTokens.TokenHolder>(from: LockedTokens.TokenHolderStoragePath)\n ?? panic(\"Could not borrow reference to TokenHolder\")\n }\n\n execute {\n let stakerProxy = self.holderRef.borrowStaker()\n\n stakerProxy.requestUnstaking(amount: amount)\n }\n}\n", + "script": "import FungibleToken from 0x9a0766d93b6608b7\nimport FungibleTokenMetadataViews from 0x9a0766d93b6608b7\n\n/// Can pass in any contract address and name to transfer a token from that contract\n/// This lets you choose the token you want to send\n///\n/// Any contract can be chosen here, so wallets should check argument values\n/// to make sure the intended token path is passed in\n///\ntransaction(amount: UFix64, to: Address, contractAddress: Address, contractName: String) {\n\n // The Vault resource that holds the tokens that are being transferred\n let tempVault: @{FungibleToken.Vault}\n\n // FTVaultData struct to get paths from\n let vaultData: FungibleTokenMetadataViews.FTVaultData\n\n prepare(signer: auth(BorrowValue) &Account) {\n\n // Borrow a reference to the vault stored on the passed account at the passed publicPath\n let resolverRef = getAccount(contractAddress)\n .contracts.borrow<&{FungibleToken}>(name: contractName)\n ?? panic(\"Could not borrow a reference to the fungible token contract\")\n\n // Use that reference to retrieve the FTView \n self.vaultData = resolverRef.resolveContractView(resourceType: nil, viewType: Type()) as! FungibleTokenMetadataViews.FTVaultData?\n ?? panic(\"Could not resolve the FTVaultData view for the given Fungible token contract\")\n\n // Get a reference to the signer's stored vault\n let vaultRef = signer.storage.borrow(from: self.vaultData.storagePath)\n\t\t\t?? panic(\"Could not borrow reference to the owner's Vault!\")\n\n self.tempVault <- vaultRef.withdraw(amount: amount)\n }\n\n execute {\n let recipient = getAccount(to)\n let receiverRef = recipient.capabilities.borrow<&{FungibleToken.Receiver}>(self.vaultData.receiverPath)\n ?? panic(\"Could not borrow reference to the recipient's Receiver!\")\n\n // Transfer tokens from the signer's stored vault to the receiver capability\n receiverRef.deposit(from: <-self.tempVault)\n }\n}", "arguments": [ { "type": "UFix64", "value": "92233720368.54775808" + }, + { + "value": "0x8c5303eaa26202d6", + "type": "Address" + }, + { + "value": "0x8c5303eaa26202d6", + "type": "Address" + }, + { + "value": "FiatToken", + "type": "String" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -364,11 +366,23 @@ ] }, "envelopeMessage": { - "script": "import LockedTokens from 0x95e019a17d0e23d7\nimport StakingProxy from 0x7aad92e5a0715d21\n\ntransaction(amount: UFix64) {\n\n let holderRef: &LockedTokens.TokenHolder\n\n prepare(account: AuthAccount) {\n self.holderRef = account.borrow<&LockedTokens.TokenHolder>(from: LockedTokens.TokenHolderStoragePath)\n ?? panic(\"Could not borrow reference to TokenHolder\")\n }\n\n execute {\n let stakerProxy = self.holderRef.borrowStaker()\n\n stakerProxy.requestUnstaking(amount: amount)\n }\n}\n", + "script": "import FungibleToken from 0x9a0766d93b6608b7\nimport FungibleTokenMetadataViews from 0x9a0766d93b6608b7\n\n/// Can pass in any contract address and name to transfer a token from that contract\n/// This lets you choose the token you want to send\n///\n/// Any contract can be chosen here, so wallets should check argument values\n/// to make sure the intended token path is passed in\n///\ntransaction(amount: UFix64, to: Address, contractAddress: Address, contractName: String) {\n\n // The Vault resource that holds the tokens that are being transferred\n let tempVault: @{FungibleToken.Vault}\n\n // FTVaultData struct to get paths from\n let vaultData: FungibleTokenMetadataViews.FTVaultData\n\n prepare(signer: auth(BorrowValue) &Account) {\n\n // Borrow a reference to the vault stored on the passed account at the passed publicPath\n let resolverRef = getAccount(contractAddress)\n .contracts.borrow<&{FungibleToken}>(name: contractName)\n ?? panic(\"Could not borrow a reference to the fungible token contract\")\n\n // Use that reference to retrieve the FTView \n self.vaultData = resolverRef.resolveContractView(resourceType: nil, viewType: Type()) as! FungibleTokenMetadataViews.FTVaultData?\n ?? panic(\"Could not resolve the FTVaultData view for the given Fungible token contract\")\n\n // Get a reference to the signer's stored vault\n let vaultRef = signer.storage.borrow(from: self.vaultData.storagePath)\n\t\t\t?? panic(\"Could not borrow reference to the owner's Vault!\")\n\n self.tempVault <- vaultRef.withdraw(amount: amount)\n }\n\n execute {\n let recipient = getAccount(to)\n let receiverRef = recipient.capabilities.borrow<&{FungibleToken.Receiver}>(self.vaultData.receiverPath)\n ?? panic(\"Could not borrow reference to the recipient's Receiver!\")\n\n // Transfer tokens from the signer's stored vault to the receiver capability\n receiverRef.deposit(from: <-self.tempVault)\n }\n}", "arguments": [ { "type": "UFix64", "value": "92233720368.54775808" + }, + { + "value": "0x8c5303eaa26202d6", + "type": "Address" + }, + { + "value": "0x8c5303eaa26202d6", + "type": "Address" + }, + { + "value": "FiatToken", + "type": "String" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -384,61 +398,25 @@ ], "payloadSigs": [] }, - "encodedTransactionPayloadHex": "f9027ab90205696d706f7274204c6f636b6564546f6b656e732066726f6d203078393565303139613137643065323364370a696d706f7274205374616b696e6750726f78792066726f6d203078376161643932653561303731356432310a0a7472616e73616374696f6e28616d6f756e743a2055466978363429207b0a0a202020206c657420686f6c6465725265663a20264c6f636b6564546f6b656e732e546f6b656e486f6c6465720a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e686f6c646572526566203d206163636f756e742e626f72726f773c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f20546f6b656e486f6c64657222290a202020207d0a0a2020202065786563757465207b0a20202020202020206c6574207374616b657250726f7879203d2073656c662e686f6c6465725265662e626f72726f775374616b657228290a0a20202020202020207374616b657250726f78792e72657175657374556e7374616b696e6728616d6f756e743a20616d6f756e74290a202020207d0a7d0af1b07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", - "encodedTransactionEnvelopeHex": "f9027ef9027ab90205696d706f7274204c6f636b6564546f6b656e732066726f6d203078393565303139613137643065323364370a696d706f7274205374616b696e6750726f78792066726f6d203078376161643932653561303731356432310a0a7472616e73616374696f6e28616d6f756e743a2055466978363429207b0a0a202020206c657420686f6c6465725265663a20264c6f636b6564546f6b656e732e546f6b656e486f6c6465720a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e686f6c646572526566203d206163636f756e742e626f72726f773c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f20546f6b656e486f6c64657222290a202020207d0a0a2020202065786563757465207b0a20202020202020206c6574207374616b657250726f7879203d2073656c662e686f6c6465725265662e626f72726f775374616b657228290a0a20202020202020207374616b657250726f78792e72657175657374556e7374616b696e6728616d6f756e743a20616d6f756e74290a202020207d0a7d0af1b07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", - "metadata": "0233e3977c45e7c23c1472bcf334d00b03ebf91b06b67c57b63b562c7b1ff5c59f4e2a35541453f89c55e5dc6dbc963290380d779c81df0b3bf89c29b2a8d7a9fe5265717565737420556e7374616b65206f6620464c4f57000101416d6f756e7400005546697836340003", - "hash": "33e3977c45e7c23c1472bcf334d00b03ebf91b06b67c57b63b562c7b1ff5c59f" - }, - { - "title": "TH.12 - Unstake All FLOW", - "valid": true, - "chainID": "Testnet", - "payloadMessage": { - "script": "import LockedTokens from 0x95e019a17d0e23d7\nimport StakingProxy from 0x7aad92e5a0715d21\n\ntransaction() {\n\n let holderRef: &LockedTokens.TokenHolder\n\n prepare(account: AuthAccount) {\n self.holderRef = account.borrow<&LockedTokens.TokenHolder>(from: LockedTokens.TokenHolderStoragePath)\n ?? panic(\"Could not borrow reference to TokenHolder\")\n }\n\n execute {\n let stakerProxy = self.holderRef.borrowStaker()\n\n stakerProxy.unstakeAll()\n }\n}\n", - "arguments": [], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "99a8ac2c71d4f6bd", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "99a8ac2c71d4f6bd", - "authorizers": [ - "99a8ac2c71d4f6bd" - ] - }, - "envelopeMessage": { - "script": "import LockedTokens from 0x95e019a17d0e23d7\nimport StakingProxy from 0x7aad92e5a0715d21\n\ntransaction() {\n\n let holderRef: &LockedTokens.TokenHolder\n\n prepare(account: AuthAccount) {\n self.holderRef = account.borrow<&LockedTokens.TokenHolder>(from: LockedTokens.TokenHolderStoragePath)\n ?? panic(\"Could not borrow reference to TokenHolder\")\n }\n\n execute {\n let stakerProxy = self.holderRef.borrowStaker()\n\n stakerProxy.unstakeAll()\n }\n}\n", - "arguments": [], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "99a8ac2c71d4f6bd", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "99a8ac2c71d4f6bd", - "authorizers": [ - "99a8ac2c71d4f6bd" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f90227b901e3696d706f7274204c6f636b6564546f6b656e732066726f6d203078393565303139613137643065323364370a696d706f7274205374616b696e6750726f78792066726f6d203078376161643932653561303731356432310a0a7472616e73616374696f6e2829207b0a0a202020206c657420686f6c6465725265663a20264c6f636b6564546f6b656e732e546f6b656e486f6c6465720a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e686f6c646572526566203d206163636f756e742e626f72726f773c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f20546f6b656e486f6c64657222290a202020207d0a0a2020202065786563757465207b0a20202020202020206c6574207374616b657250726f7879203d2073656c662e686f6c6465725265662e626f72726f775374616b657228290a0a20202020202020207374616b657250726f78792e756e7374616b65416c6c28290a202020207d0a7d0ac0a0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", - "encodedTransactionEnvelopeHex": "f9022bf90227b901e3696d706f7274204c6f636b6564546f6b656e732066726f6d203078393565303139613137643065323364370a696d706f7274205374616b696e6750726f78792066726f6d203078376161643932653561303731356432310a0a7472616e73616374696f6e2829207b0a0a202020206c657420686f6c6465725265663a20264c6f636b6564546f6b656e732e546f6b656e486f6c6465720a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e686f6c646572526566203d206163636f756e742e626f72726f773c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f20546f6b656e486f6c64657222290a202020207d0a0a2020202065786563757465207b0a20202020202020206c6574207374616b657250726f7879203d2073656c662e686f6c6465725265662e626f72726f775374616b657228290a0a20202020202020207374616b657250726f78792e756e7374616b65416c6c28290a202020207d0a7d0ac0a0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", - "metadata": "02f92c4cd663b2e335cd821a656bb2ebcf239b222036a7825af5e512fad4d820357099904b953b062e81e2575a2c2081b3d98bfccf5c743b4bdb224b937e292dad556e7374616b6520416c6c20464c4f570000", - "hash": "f92c4cd663b2e335cd821a656bb2ebcf239b222036a7825af5e512fad4d82035" + "encodedTransactionPayloadHex": "f9092bb9082f696d706f72742046756e6769626c65546f6b656e2066726f6d203078396130373636643933623636303862370a696d706f72742046756e6769626c65546f6b656e4d6574616461746156696577732066726f6d203078396130373636643933623636303862370a0a2f2f2f2043616e207061737320696e20616e7920636f6e7472616374206164647265737320616e64206e616d6520746f207472616e73666572206120746f6b656e2066726f6d207468617420636f6e74726163740a2f2f2f2054686973206c65747320796f752063686f6f73652074686520746f6b656e20796f752077616e7420746f2073656e640a2f2f2f0a2f2f2f20416e7920636f6e74726163742063616e2062652063686f73656e20686572652c20736f2077616c6c6574732073686f756c6420636865636b20617267756d656e742076616c7565730a2f2f2f20746f206d616b6520737572652074686520696e74656e64656420746f6b656e20706174682069732070617373656420696e0a2f2f2f0a7472616e73616374696f6e28616d6f756e743a205546697836342c20746f3a20416464726573732c20636f6e7472616374416464726573733a20416464726573732c20636f6e74726163744e616d653a20537472696e6729207b0a0a202020202f2f20546865205661756c74207265736f75726365207468617420686f6c64732074686520746f6b656e73207468617420617265206265696e67207472616e736665727265640a202020206c65742074656d705661756c743a20407b46756e6769626c65546f6b656e2e5661756c747d0a0a202020202f2f2046545661756c74446174612073747275637420746f206765742070617468732066726f6d0a202020206c6574207661756c74446174613a2046756e6769626c65546f6b656e4d6574616461746156696577732e46545661756c74446174610a0a2020202070726570617265287369676e65723a206175746828426f72726f7756616c75652920264163636f756e7429207b0a0a20202020202020202f2f20426f72726f772061207265666572656e636520746f20746865207661756c742073746f726564206f6e2074686520706173736564206163636f756e742061742074686520706173736564207075626c6963506174680a20202020202020206c6574207265736f6c766572526566203d206765744163636f756e7428636f6e747261637441646472657373290a2020202020202020202020202e636f6e7472616374732e626f72726f773c267b46756e6769626c65546f6b656e7d3e286e616d653a20636f6e74726163744e616d65290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f207468652066756e6769626c6520746f6b656e20636f6e747261637422290a0a20202020202020202f2f205573652074686174207265666572656e636520746f2072657472696576652074686520465456696577200a202020202020202073656c662e7661756c7444617461203d207265736f6c7665725265662e7265736f6c7665436f6e747261637456696577287265736f75726365547970653a206e696c2c2076696577547970653a20547970653c46756e6769626c65546f6b656e4d6574616461746156696577732e46545661756c74446174613e282929206173212046756e6769626c65546f6b656e4d6574616461746156696577732e46545661756c74446174613f0a2020202020202020202020203f3f2070616e69632822436f756c64206e6f74207265736f6c7665207468652046545661756c7444617461207669657720666f722074686520676976656e2046756e6769626c6520746f6b656e20636f6e747261637422290a0a20202020202020202f2f204765742061207265666572656e636520746f20746865207369676e657227732073746f726564207661756c740a20202020202020206c6574207661756c74526566203d207369676e65722e73746f726167652e626f72726f773c617574682846756e6769626c65546f6b656e2e57697468647261772920267b46756e6769626c65546f6b656e2e50726f76696465727d3e2866726f6d3a2073656c662e7661756c74446174612e73746f7261676550617468290a0909093f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f20746865206f776e65722773205661756c742122290a0a202020202020202073656c662e74656d705661756c74203c2d207661756c745265662e776974686472617728616d6f756e743a20616d6f756e74290a202020207d0a0a2020202065786563757465207b0a20202020202020206c657420726563697069656e74203d206765744163636f756e7428746f290a20202020202020206c6574207265636569766572526566203d20726563697069656e742e6361706162696c69746965732e626f72726f773c267b46756e6769626c65546f6b656e2e52656365697665727d3e2873656c662e7661756c74446174612e726563656976657250617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f2074686520726563697069656e7427732052656365697665722122290a0a20202020202020202f2f205472616e7366657220746f6b656e732066726f6d20746865207369676e657227732073746f726564207661756c7420746f20746865207265636569766572206361706162696c6974790a202020202020202072656365697665725265662e6465706f7369742866726f6d3a203c2d73656c662e74656d705661756c74290a202020207d0a7df8b7b07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227daf7b2276616c7565223a22307838633533303365616132363230326436222c2274797065223a2241646472657373227daf7b2276616c7565223a22307838633533303365616132363230326436222c2274797065223a2241646472657373227da57b2276616c7565223a2246696174546f6b656e222c2274797065223a22537472696e67227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", + "encodedTransactionEnvelopeHex": "f9092ff9092bb9082f696d706f72742046756e6769626c65546f6b656e2066726f6d203078396130373636643933623636303862370a696d706f72742046756e6769626c65546f6b656e4d6574616461746156696577732066726f6d203078396130373636643933623636303862370a0a2f2f2f2043616e207061737320696e20616e7920636f6e7472616374206164647265737320616e64206e616d6520746f207472616e73666572206120746f6b656e2066726f6d207468617420636f6e74726163740a2f2f2f2054686973206c65747320796f752063686f6f73652074686520746f6b656e20796f752077616e7420746f2073656e640a2f2f2f0a2f2f2f20416e7920636f6e74726163742063616e2062652063686f73656e20686572652c20736f2077616c6c6574732073686f756c6420636865636b20617267756d656e742076616c7565730a2f2f2f20746f206d616b6520737572652074686520696e74656e64656420746f6b656e20706174682069732070617373656420696e0a2f2f2f0a7472616e73616374696f6e28616d6f756e743a205546697836342c20746f3a20416464726573732c20636f6e7472616374416464726573733a20416464726573732c20636f6e74726163744e616d653a20537472696e6729207b0a0a202020202f2f20546865205661756c74207265736f75726365207468617420686f6c64732074686520746f6b656e73207468617420617265206265696e67207472616e736665727265640a202020206c65742074656d705661756c743a20407b46756e6769626c65546f6b656e2e5661756c747d0a0a202020202f2f2046545661756c74446174612073747275637420746f206765742070617468732066726f6d0a202020206c6574207661756c74446174613a2046756e6769626c65546f6b656e4d6574616461746156696577732e46545661756c74446174610a0a2020202070726570617265287369676e65723a206175746828426f72726f7756616c75652920264163636f756e7429207b0a0a20202020202020202f2f20426f72726f772061207265666572656e636520746f20746865207661756c742073746f726564206f6e2074686520706173736564206163636f756e742061742074686520706173736564207075626c6963506174680a20202020202020206c6574207265736f6c766572526566203d206765744163636f756e7428636f6e747261637441646472657373290a2020202020202020202020202e636f6e7472616374732e626f72726f773c267b46756e6769626c65546f6b656e7d3e286e616d653a20636f6e74726163744e616d65290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f207468652066756e6769626c6520746f6b656e20636f6e747261637422290a0a20202020202020202f2f205573652074686174207265666572656e636520746f2072657472696576652074686520465456696577200a202020202020202073656c662e7661756c7444617461203d207265736f6c7665725265662e7265736f6c7665436f6e747261637456696577287265736f75726365547970653a206e696c2c2076696577547970653a20547970653c46756e6769626c65546f6b656e4d6574616461746156696577732e46545661756c74446174613e282929206173212046756e6769626c65546f6b656e4d6574616461746156696577732e46545661756c74446174613f0a2020202020202020202020203f3f2070616e69632822436f756c64206e6f74207265736f6c7665207468652046545661756c7444617461207669657720666f722074686520676976656e2046756e6769626c6520746f6b656e20636f6e747261637422290a0a20202020202020202f2f204765742061207265666572656e636520746f20746865207369676e657227732073746f726564207661756c740a20202020202020206c6574207661756c74526566203d207369676e65722e73746f726167652e626f72726f773c617574682846756e6769626c65546f6b656e2e57697468647261772920267b46756e6769626c65546f6b656e2e50726f76696465727d3e2866726f6d3a2073656c662e7661756c74446174612e73746f7261676550617468290a0909093f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f20746865206f776e65722773205661756c742122290a0a202020202020202073656c662e74656d705661756c74203c2d207661756c745265662e776974686472617728616d6f756e743a20616d6f756e74290a202020207d0a0a2020202065786563757465207b0a20202020202020206c657420726563697069656e74203d206765744163636f756e7428746f290a20202020202020206c6574207265636569766572526566203d20726563697069656e742e6361706162696c69746965732e626f72726f773c267b46756e6769626c65546f6b656e2e52656365697665727d3e2873656c662e7661756c74446174612e726563656976657250617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f2074686520726563697069656e7427732052656365697665722122290a0a20202020202020202f2f205472616e7366657220746f6b656e732066726f6d20746865207369676e657227732073746f726564207661756c7420746f20746865207265636569766572206361706162696c6974790a202020202020202072656365697665725265662e6465706f7369742866726f6d3a203c2d73656c662e74656d705661756c74290a202020207d0a7df8b7b07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227daf7b2276616c7565223a22307838633533303365616132363230326436222c2274797065223a2241646472657373227daf7b2276616c7565223a22307838633533303365616132363230326436222c2274797065223a2241646472657373227da57b2276616c7565223a2246696174546f6b656e222c2274797065223a22537472696e67227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", + "metadata": "02c1518742a95f9b49259abed8364b05d616ee8acebe123e9979f762b9e7522f93697ad2a90da93cbd02b7658f174c9c32e2016a574edb89cf24b57a8155c343e45472616e736665722046756e6769626c6520546f6b656e20776974682041646472657373000401416d6f756e740000554669783634000301526563697069656e74000141646472657373000301465420436f6e74726163742041646472657373000241646472657373000301465420436f6e7472616374204e616d650003537472696e670003", + "hash": "c1518742a95f9b49259abed8364b05d616ee8acebe123e9979f762b9e7522f93" }, { - "title": "TH.13 - Withdraw Unstaked FLOW", + "title": "NFT.01 - Setup NFT Collection", "valid": true, "chainID": "Testnet", "payloadMessage": { - "script": "import LockedTokens from 0x95e019a17d0e23d7\nimport StakingProxy from 0x7aad92e5a0715d21\n\ntransaction(amount: UFix64) {\n\n let holderRef: &LockedTokens.TokenHolder\n\n prepare(account: AuthAccount) {\n self.holderRef = account.borrow<&LockedTokens.TokenHolder>(from: LockedTokens.TokenHolderStoragePath)\n ?? panic(\"Could not borrow reference to TokenHolder\")\n }\n\n execute {\n let stakerProxy = self.holderRef.borrowStaker()\n\n stakerProxy.withdrawUnstakedTokens(amount: amount)\n }\n}\n", + "script": "/// This transaction is what an account would run\n/// to set itself up to receive NFTs. This function\n/// uses views to know where to set up the collection\n/// in storage and to create the empty collection.\n\nimport 0x631e88ae7f1d7c20\nimport 0x631e88ae7f1d7c20\n\ntransaction(contractAddress: Address, contractName: String) {\n\n prepare(signer: auth(IssueStorageCapabilityController, PublishCapability, SaveValue) &Account) {\n // Borrow a reference to the nft contract deployed to the passed account\n let resolverRef = getAccount(contractAddress)\n .contracts.borrow<&{NonFungibleToken}>(name: contractName)\n ?? panic(\"Could not borrow a reference to the non-fungible token contract\")\n\n // Use that reference to retrieve the NFTCollectionData view \n let collectionData = resolverRef.resolveContractView(resourceType: nil, viewType: Type()) as! MetadataViews.NFTCollectionData?\n ?? panic(\"Could not resolve the NFTCollectionData view for the given non-fungible token contract\")\n\n // Create a new empty collections\n let emptyCollection <- collectionData.createEmptyCollection()\n\n // save it to the account\n signer.storage.save(<-emptyCollection, to: collectionData.storagePath)\n\n // create a public capability for the collection\n let collectionCap = signer.capabilities.storage.issue<&{NonFungibleToken.Collection}>(\n collectionData.storagePath\n )\n signer.capabilities.publish(collectionCap, at: collectionData.publicPath)\n }\n}\n", "arguments": [ { - "type": "UFix64", - "value": "92233720368.54775808" + "type": "Address", + "value": "0x8c5303eaa26202d6" + }, + { + "value": "TopShot", + "type": "String" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -454,11 +432,15 @@ ] }, "envelopeMessage": { - "script": "import LockedTokens from 0x95e019a17d0e23d7\nimport StakingProxy from 0x7aad92e5a0715d21\n\ntransaction(amount: UFix64) {\n\n let holderRef: &LockedTokens.TokenHolder\n\n prepare(account: AuthAccount) {\n self.holderRef = account.borrow<&LockedTokens.TokenHolder>(from: LockedTokens.TokenHolderStoragePath)\n ?? panic(\"Could not borrow reference to TokenHolder\")\n }\n\n execute {\n let stakerProxy = self.holderRef.borrowStaker()\n\n stakerProxy.withdrawUnstakedTokens(amount: amount)\n }\n}\n", + "script": "/// This transaction is what an account would run\n/// to set itself up to receive NFTs. This function\n/// uses views to know where to set up the collection\n/// in storage and to create the empty collection.\n\nimport 0x631e88ae7f1d7c20\nimport 0x631e88ae7f1d7c20\n\ntransaction(contractAddress: Address, contractName: String) {\n\n prepare(signer: auth(IssueStorageCapabilityController, PublishCapability, SaveValue) &Account) {\n // Borrow a reference to the nft contract deployed to the passed account\n let resolverRef = getAccount(contractAddress)\n .contracts.borrow<&{NonFungibleToken}>(name: contractName)\n ?? panic(\"Could not borrow a reference to the non-fungible token contract\")\n\n // Use that reference to retrieve the NFTCollectionData view \n let collectionData = resolverRef.resolveContractView(resourceType: nil, viewType: Type()) as! MetadataViews.NFTCollectionData?\n ?? panic(\"Could not resolve the NFTCollectionData view for the given non-fungible token contract\")\n\n // Create a new empty collections\n let emptyCollection <- collectionData.createEmptyCollection()\n\n // save it to the account\n signer.storage.save(<-emptyCollection, to: collectionData.storagePath)\n\n // create a public capability for the collection\n let collectionCap = signer.capabilities.storage.issue<&{NonFungibleToken.Collection}>(\n collectionData.storagePath\n )\n signer.capabilities.publish(collectionCap, at: collectionData.publicPath)\n }\n}\n", "arguments": [ { - "type": "UFix64", - "value": "92233720368.54775808" + "type": "Address", + "value": "0x8c5303eaa26202d6" + }, + { + "value": "TopShot", + "type": "String" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -474,21 +456,33 @@ ], "payloadSigs": [] }, - "encodedTransactionPayloadHex": "f90280b9020b696d706f7274204c6f636b6564546f6b656e732066726f6d203078393565303139613137643065323364370a696d706f7274205374616b696e6750726f78792066726f6d203078376161643932653561303731356432310a0a7472616e73616374696f6e28616d6f756e743a2055466978363429207b0a0a202020206c657420686f6c6465725265663a20264c6f636b6564546f6b656e732e546f6b656e486f6c6465720a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e686f6c646572526566203d206163636f756e742e626f72726f773c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f20546f6b656e486f6c64657222290a202020207d0a0a2020202065786563757465207b0a20202020202020206c6574207374616b657250726f7879203d2073656c662e686f6c6465725265662e626f72726f775374616b657228290a0a20202020202020207374616b657250726f78792e7769746864726177556e7374616b6564546f6b656e7328616d6f756e743a20616d6f756e74290a202020207d0a7d0af1b07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", - "encodedTransactionEnvelopeHex": "f90284f90280b9020b696d706f7274204c6f636b6564546f6b656e732066726f6d203078393565303139613137643065323364370a696d706f7274205374616b696e6750726f78792066726f6d203078376161643932653561303731356432310a0a7472616e73616374696f6e28616d6f756e743a2055466978363429207b0a0a202020206c657420686f6c6465725265663a20264c6f636b6564546f6b656e732e546f6b656e486f6c6465720a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e686f6c646572526566203d206163636f756e742e626f72726f773c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f20546f6b656e486f6c64657222290a202020207d0a0a2020202065786563757465207b0a20202020202020206c6574207374616b657250726f7879203d2073656c662e686f6c6465725265662e626f72726f775374616b657228290a0a20202020202020207374616b657250726f78792e7769746864726177556e7374616b6564546f6b656e7328616d6f756e743a20616d6f756e74290a202020207d0a7d0af1b07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", - "metadata": "0290097e3aff9b67f65bbada3cdedbb73d45d093ff333aaaff38809bf9910a3e39dcae4faa6d689873f7caf7c5efef669f9fe1d4113e58b474b7aec1e07113a7ff576974686472617720556e7374616b656420464c4f57000101416d6f756e7400005546697836340003", - "hash": "90097e3aff9b67f65bbada3cdedbb73d45d093ff333aaaff38809bf9910a3e39" + "encodedTransactionPayloadHex": "f906d5b9063c2f2f2f2054686973207472616e73616374696f6e206973207768617420616e206163636f756e7420776f756c642072756e0a2f2f2f20746f2073657420697473656c6620757020746f2072656365697665204e4654732e20546869732066756e6374696f6e0a2f2f2f207573657320766965777320746f206b6e6f7720776865726520746f207365742075702074686520636f6c6c656374696f6e0a2f2f2f20696e2073746f7261676520616e6420746f206372656174652074686520656d70747920636f6c6c656374696f6e2e0a0a696d706f7274203078363331653838616537663164376332300a696d706f7274203078363331653838616537663164376332300a0a7472616e73616374696f6e28636f6e7472616374416464726573733a20416464726573732c20636f6e74726163744e616d653a20537472696e6729207b0a0a2020202070726570617265287369676e65723a206175746828497373756553746f726167654361706162696c697479436f6e74726f6c6c65722c205075626c6973684361706162696c6974792c205361766556616c75652920264163636f756e7429207b0a20202020202020202f2f20426f72726f772061207265666572656e636520746f20746865206e667420636f6e7472616374206465706c6f79656420746f2074686520706173736564206163636f756e740a20202020202020206c6574207265736f6c766572526566203d206765744163636f756e7428636f6e747261637441646472657373290a2020202020202020202020202e636f6e7472616374732e626f72726f773c267b4e6f6e46756e6769626c65546f6b656e7d3e286e616d653a20636f6e74726163744e616d65290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f20746865206e6f6e2d66756e6769626c6520746f6b656e20636f6e747261637422290a0a20202020202020202f2f205573652074686174207265666572656e636520746f20726574726965766520746865204e4654436f6c6c656374696f6e446174612076696577200a20202020202020206c657420636f6c6c656374696f6e44617461203d207265736f6c7665725265662e7265736f6c7665436f6e747261637456696577287265736f75726365547970653a206e696c2c2076696577547970653a20547970653c4d6574616461746156696577732e4e4654436f6c6c656374696f6e446174613e28292920617321204d6574616461746156696577732e4e4654436f6c6c656374696f6e446174613f0a2020202020202020202020203f3f2070616e69632822436f756c64206e6f74207265736f6c766520746865204e4654436f6c6c656374696f6e44617461207669657720666f722074686520676976656e206e6f6e2d66756e6769626c6520746f6b656e20636f6e747261637422290a0a20202020202020202f2f204372656174652061206e657720656d70747920636f6c6c656374696f6e730a20202020202020206c657420656d707479436f6c6c656374696f6e203c2d20636f6c6c656374696f6e446174612e637265617465456d707479436f6c6c656374696f6e28290a0a20202020202020202f2f207361766520697420746f20746865206163636f756e740a20202020202020207369676e65722e73746f726167652e73617665283c2d656d707479436f6c6c656374696f6e2c20746f3a20636f6c6c656374696f6e446174612e73746f7261676550617468290a0a20202020202020202f2f206372656174652061207075626c6963206361706162696c69747920666f722074686520636f6c6c656374696f6e0a20202020202020206c657420636f6c6c656374696f6e436170203d207369676e65722e6361706162696c69746965732e73746f726167652e69737375653c267b4e6f6e46756e6769626c65546f6b656e2e436f6c6c656374696f6e7d3e280a20202020202020202020202020202020636f6c6c656374696f6e446174612e73746f72616765506174680a202020202020202020202020290a20202020202020207369676e65722e6361706162696c69746965732e7075626c69736828636f6c6c656374696f6e4361702c2061743a20636f6c6c656374696f6e446174612e7075626c696350617468290a202020207d0a7d0af854af7b2274797065223a2241646472657373222c2276616c7565223a22307838633533303365616132363230326436227da37b2276616c7565223a22546f7053686f74222c2274797065223a22537472696e67227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", + "encodedTransactionEnvelopeHex": "f906d9f906d5b9063c2f2f2f2054686973207472616e73616374696f6e206973207768617420616e206163636f756e7420776f756c642072756e0a2f2f2f20746f2073657420697473656c6620757020746f2072656365697665204e4654732e20546869732066756e6374696f6e0a2f2f2f207573657320766965777320746f206b6e6f7720776865726520746f207365742075702074686520636f6c6c656374696f6e0a2f2f2f20696e2073746f7261676520616e6420746f206372656174652074686520656d70747920636f6c6c656374696f6e2e0a0a696d706f7274203078363331653838616537663164376332300a696d706f7274203078363331653838616537663164376332300a0a7472616e73616374696f6e28636f6e7472616374416464726573733a20416464726573732c20636f6e74726163744e616d653a20537472696e6729207b0a0a2020202070726570617265287369676e65723a206175746828497373756553746f726167654361706162696c697479436f6e74726f6c6c65722c205075626c6973684361706162696c6974792c205361766556616c75652920264163636f756e7429207b0a20202020202020202f2f20426f72726f772061207265666572656e636520746f20746865206e667420636f6e7472616374206465706c6f79656420746f2074686520706173736564206163636f756e740a20202020202020206c6574207265736f6c766572526566203d206765744163636f756e7428636f6e747261637441646472657373290a2020202020202020202020202e636f6e7472616374732e626f72726f773c267b4e6f6e46756e6769626c65546f6b656e7d3e286e616d653a20636f6e74726163744e616d65290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f20746865206e6f6e2d66756e6769626c6520746f6b656e20636f6e747261637422290a0a20202020202020202f2f205573652074686174207265666572656e636520746f20726574726965766520746865204e4654436f6c6c656374696f6e446174612076696577200a20202020202020206c657420636f6c6c656374696f6e44617461203d207265736f6c7665725265662e7265736f6c7665436f6e747261637456696577287265736f75726365547970653a206e696c2c2076696577547970653a20547970653c4d6574616461746156696577732e4e4654436f6c6c656374696f6e446174613e28292920617321204d6574616461746156696577732e4e4654436f6c6c656374696f6e446174613f0a2020202020202020202020203f3f2070616e69632822436f756c64206e6f74207265736f6c766520746865204e4654436f6c6c656374696f6e44617461207669657720666f722074686520676976656e206e6f6e2d66756e6769626c6520746f6b656e20636f6e747261637422290a0a20202020202020202f2f204372656174652061206e657720656d70747920636f6c6c656374696f6e730a20202020202020206c657420656d707479436f6c6c656374696f6e203c2d20636f6c6c656374696f6e446174612e637265617465456d707479436f6c6c656374696f6e28290a0a20202020202020202f2f207361766520697420746f20746865206163636f756e740a20202020202020207369676e65722e73746f726167652e73617665283c2d656d707479436f6c6c656374696f6e2c20746f3a20636f6c6c656374696f6e446174612e73746f7261676550617468290a0a20202020202020202f2f206372656174652061207075626c6963206361706162696c69747920666f722074686520636f6c6c656374696f6e0a20202020202020206c657420636f6c6c656374696f6e436170203d207369676e65722e6361706162696c69746965732e73746f726167652e69737375653c267b4e6f6e46756e6769626c65546f6b656e2e436f6c6c656374696f6e7d3e280a20202020202020202020202020202020636f6c6c656374696f6e446174612e73746f72616765506174680a202020202020202020202020290a20202020202020207369676e65722e6361706162696c69746965732e7075626c69736828636f6c6c656374696f6e4361702c2061743a20636f6c6c656374696f6e446174612e7075626c696350617468290a202020207d0a7d0af854af7b2274797065223a2241646472657373222c2276616c7565223a22307838633533303365616132363230326436227da37b2276616c7565223a22546f7053686f74222c2274797065223a22537472696e67227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", + "metadata": "02d9ef3b05f8b06d43c3a0ef4066e88e6248323c5f235f9a5d1f8a85d6e2bc9bfa1d12c005fa7a08277204e5d54e29b725c52b9e8e3dd6ff6e01f8d47d7be1626c5365747570204e465420436f6c6c656374696f6e0002014e465420436f6e747261637420416464726573730000416464726573730003014e465420436f6e7472616374204e616d650001537472696e670003", + "hash": "d9ef3b05f8b06d43c3a0ef4066e88e6248323c5f235f9a5d1f8a85d6e2bc9bfa" }, { - "title": "TH.14 - Withdraw Rewarded FLOW", + "title": "NFT.02 - Transfer NFT with Paths", "valid": true, "chainID": "Testnet", "payloadMessage": { - "script": "import LockedTokens from 0x95e019a17d0e23d7\nimport FlowToken from 0x7e60df042a9c0868\n\ntransaction(amount: UFix64) {\n\n let holderRef: &LockedTokens.TokenHolder\n let vaultRef: &FlowToken.Vault\n\n prepare(account: AuthAccount) {\n self.holderRef = account.borrow<&LockedTokens.TokenHolder>(from: LockedTokens.TokenHolderStoragePath)\n ?? panic(\"Could not borrow reference to TokenHolder\")\n\n self.vaultRef = account.borrow<&FlowToken.Vault>(from: /storage/flowTokenVault)\n ?? panic(\"Could not borrow reference to FlowToken value\")\n }\n\n execute {\n let stakerProxy = self.holderRef.borrowStaker()\n\n stakerProxy.withdrawRewardedTokens(amount: amount)\n self.vaultRef.deposit(from: <-self.holderRef.withdraw(amount: amount))\n }\n}\n", + "script": "import 0x631e88ae7f1d7c20\n\n/// Can pass in any storage path and receiver path instead of just the default.\n/// This lets you choose the token you want to send as well the capability you want to send it to.\n///\n/// Any token path can be passed as an argument here, so wallets should\n/// should check argument values to make sure the intended token path is passed in\n///\ntransaction(to: Address, id: UInt64, senderPathIdentifier: String, receiverPathIdentifier: String) {\n\n // The NFT resource to be transferred\n let tempNFT: @{NonFungibleToken.NFT}\n\n prepare(signer: auth(BorrowValue) &Account) {\n\n let storagePath = StoragePath(identifier: senderPathIdentifier)\n ?? panic(\"Could not construct a storage path from the provided path identifier string\")\n\n // borrow a reference to the signer's NFT collection\n let withdrawRef = signer.storage.borrow(\n from: storagePath\n ) ?? panic(\"Account does not store a collection object at the specified path\")\n\n self.tempNFT <- withdrawRef.withdraw(withdrawID: id)\n }\n\n execute {\n let publicPath = PublicPath(identifier: receiverPathIdentifier)\n ?? panic(\"Could not construct a public path from the provided path identifier string\")\n\n // get the recipients public account object\n let recipient = getAccount(to)\n\n // borrow a public reference to the receivers collection\n let receiverCap = recipient.capabilities.get<&{NonFungibleToken.Receiver}>(publicPath)\n ?? panic(\"Could not get the recipient's Receiver Capability\")\n\n let receiverRef = receiverCap.borrow()\n ?? panic(\"Could not borrow reference to the recipient's receiver\")\n\n // Deposit the NFT to the receiver\n receiverRef.deposit(token: <-self.tempNFT)\n }\n}", "arguments": [ { - "type": "UFix64", - "value": "92233720368.54775808" + "type": "Address", + "value": "0x8c5303eaa26202d6" + }, + { + "value": "10", + "type": "UInt64" + }, + { + "value": "flowTokenVault", + "type": "String" + }, + { + "value": "flowTokenReceiver", + "type": "String" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -504,11 +498,23 @@ ] }, "envelopeMessage": { - "script": "import LockedTokens from 0x95e019a17d0e23d7\nimport FlowToken from 0x7e60df042a9c0868\n\ntransaction(amount: UFix64) {\n\n let holderRef: &LockedTokens.TokenHolder\n let vaultRef: &FlowToken.Vault\n\n prepare(account: AuthAccount) {\n self.holderRef = account.borrow<&LockedTokens.TokenHolder>(from: LockedTokens.TokenHolderStoragePath)\n ?? panic(\"Could not borrow reference to TokenHolder\")\n\n self.vaultRef = account.borrow<&FlowToken.Vault>(from: /storage/flowTokenVault)\n ?? panic(\"Could not borrow reference to FlowToken value\")\n }\n\n execute {\n let stakerProxy = self.holderRef.borrowStaker()\n\n stakerProxy.withdrawRewardedTokens(amount: amount)\n self.vaultRef.deposit(from: <-self.holderRef.withdraw(amount: amount))\n }\n}\n", + "script": "import 0x631e88ae7f1d7c20\n\n/// Can pass in any storage path and receiver path instead of just the default.\n/// This lets you choose the token you want to send as well the capability you want to send it to.\n///\n/// Any token path can be passed as an argument here, so wallets should\n/// should check argument values to make sure the intended token path is passed in\n///\ntransaction(to: Address, id: UInt64, senderPathIdentifier: String, receiverPathIdentifier: String) {\n\n // The NFT resource to be transferred\n let tempNFT: @{NonFungibleToken.NFT}\n\n prepare(signer: auth(BorrowValue) &Account) {\n\n let storagePath = StoragePath(identifier: senderPathIdentifier)\n ?? panic(\"Could not construct a storage path from the provided path identifier string\")\n\n // borrow a reference to the signer's NFT collection\n let withdrawRef = signer.storage.borrow(\n from: storagePath\n ) ?? panic(\"Account does not store a collection object at the specified path\")\n\n self.tempNFT <- withdrawRef.withdraw(withdrawID: id)\n }\n\n execute {\n let publicPath = PublicPath(identifier: receiverPathIdentifier)\n ?? panic(\"Could not construct a public path from the provided path identifier string\")\n\n // get the recipients public account object\n let recipient = getAccount(to)\n\n // borrow a public reference to the receivers collection\n let receiverCap = recipient.capabilities.get<&{NonFungibleToken.Receiver}>(publicPath)\n ?? panic(\"Could not get the recipient's Receiver Capability\")\n\n let receiverRef = receiverCap.borrow()\n ?? panic(\"Could not borrow reference to the recipient's receiver\")\n\n // Deposit the NFT to the receiver\n receiverRef.deposit(token: <-self.tempNFT)\n }\n}", "arguments": [ { - "type": "UFix64", - "value": "92233720368.54775808" + "type": "Address", + "value": "0x8c5303eaa26202d6" + }, + { + "value": "10", + "type": "UInt64" + }, + { + "value": "flowTokenVault", + "type": "String" + }, + { + "value": "flowTokenReceiver", + "type": "String" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -524,29 +530,33 @@ ], "payloadSigs": [] }, - "encodedTransactionPayloadHex": "f9038eb90319696d706f7274204c6f636b6564546f6b656e732066726f6d203078393565303139613137643065323364370a696d706f727420466c6f77546f6b656e2066726f6d203078376536306466303432613963303836380a0a7472616e73616374696f6e28616d6f756e743a2055466978363429207b0a0a202020206c657420686f6c6465725265663a20264c6f636b6564546f6b656e732e546f6b656e486f6c6465720a202020206c6574207661756c745265663a2026466c6f77546f6b656e2e5661756c740a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e686f6c646572526566203d206163636f756e742e626f72726f773c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f20546f6b656e486f6c64657222290a0a202020202020202073656c662e7661756c74526566203d206163636f756e742e626f72726f773c26466c6f77546f6b656e2e5661756c743e2866726f6d3a202f73746f726167652f666c6f77546f6b656e5661756c74290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f20466c6f77546f6b656e2076616c756522290a202020207d0a0a2020202065786563757465207b0a20202020202020206c6574207374616b657250726f7879203d2073656c662e686f6c6465725265662e626f72726f775374616b657228290a0a20202020202020207374616b657250726f78792e77697468647261775265776172646564546f6b656e7328616d6f756e743a20616d6f756e74290a202020202020202073656c662e7661756c745265662e6465706f7369742866726f6d3a203c2d73656c662e686f6c6465725265662e776974686472617728616d6f756e743a20616d6f756e7429290a202020207d0a7d0af1b07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", - "encodedTransactionEnvelopeHex": "f90392f9038eb90319696d706f7274204c6f636b6564546f6b656e732066726f6d203078393565303139613137643065323364370a696d706f727420466c6f77546f6b656e2066726f6d203078376536306466303432613963303836380a0a7472616e73616374696f6e28616d6f756e743a2055466978363429207b0a0a202020206c657420686f6c6465725265663a20264c6f636b6564546f6b656e732e546f6b656e486f6c6465720a202020206c6574207661756c745265663a2026466c6f77546f6b656e2e5661756c740a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e686f6c646572526566203d206163636f756e742e626f72726f773c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f20546f6b656e486f6c64657222290a0a202020202020202073656c662e7661756c74526566203d206163636f756e742e626f72726f773c26466c6f77546f6b656e2e5661756c743e2866726f6d3a202f73746f726167652f666c6f77546f6b656e5661756c74290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f20466c6f77546f6b656e2076616c756522290a202020207d0a0a2020202065786563757465207b0a20202020202020206c6574207374616b657250726f7879203d2073656c662e686f6c6465725265662e626f72726f775374616b657228290a0a20202020202020207374616b657250726f78792e77697468647261775265776172646564546f6b656e7328616d6f756e743a20616d6f756e74290a202020202020202073656c662e7661756c745265662e6465706f7369742866726f6d3a203c2d73656c662e686f6c6465725265662e776974686472617728616d6f756e743a20616d6f756e7429290a202020207d0a7d0af1b07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", - "metadata": "02f23406ff402f02418629432912ce732be0441b1a7e71f16c03d688a165ff7f499bb8f0562eea5e45c11f9289540f39c99a21c9a0fb060a7d3f832e98c2696f2d576974686472617720526577617264656420464c4f57000101416d6f756e7400005546697836340003", - "hash": "f23406ff402f02418629432912ce732be0441b1a7e71f16c03d688a165ff7f49" + "encodedTransactionPayloadHex": "f9084db90760696d706f7274203078363331653838616537663164376332300a0a2f2f2f2043616e207061737320696e20616e792073746f72616765207061746820616e64207265636569766572207061746820696e7374656164206f66206a757374207468652064656661756c742e0a2f2f2f2054686973206c65747320796f752063686f6f73652074686520746f6b656e20796f752077616e7420746f2073656e642061732077656c6c20746865206361706162696c69747920796f752077616e7420746f2073656e6420697420746f2e0a2f2f2f0a2f2f2f20416e7920746f6b656e20706174682063616e2062652070617373656420617320616e20617267756d656e7420686572652c20736f2077616c6c6574732073686f756c640a2f2f2f2073686f756c6420636865636b20617267756d656e742076616c75657320746f206d616b6520737572652074686520696e74656e64656420746f6b656e20706174682069732070617373656420696e0a2f2f2f0a7472616e73616374696f6e28746f3a20416464726573732c2069643a2055496e7436342c2073656e646572506174684964656e7469666965723a20537472696e672c207265636569766572506174684964656e7469666965723a20537472696e6729207b0a0a202020202f2f20546865204e4654207265736f7572636520746f206265207472616e736665727265640a202020206c65742074656d704e46543a20407b4e6f6e46756e6769626c65546f6b656e2e4e46547d0a0a2020202070726570617265287369676e65723a206175746828426f72726f7756616c75652920264163636f756e7429207b0a0a20202020202020206c65742073746f7261676550617468203d2053746f7261676550617468286964656e7469666965723a2073656e646572506174684964656e746966696572290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420636f6e73747275637420612073746f7261676520706174682066726f6d207468652070726f76696465642070617468206964656e74696669657220737472696e6722290a0a20202020202020202f2f20626f72726f772061207265666572656e636520746f20746865207369676e65722773204e465420636f6c6c656374696f6e0a20202020202020206c6574207769746864726177526566203d207369676e65722e73746f726167652e626f72726f773c61757468284e6f6e46756e6769626c65546f6b656e2e57697468647261772920267b4e6f6e46756e6769626c65546f6b656e2e436f6c6c656374696f6e7d3e280a2020202020202020202020202020202066726f6d3a2073746f72616765506174680a20202020202020202020202029203f3f2070616e696328224163636f756e7420646f6573206e6f742073746f7265206120636f6c6c656374696f6e206f626a6563742061742074686520737065636966696564207061746822290a0a202020202020202073656c662e74656d704e4654203c2d2077697468647261775265662e776974686472617728776974686472617749443a206964290a202020207d0a0a2020202065786563757465207b0a20202020202020206c6574207075626c696350617468203d205075626c696350617468286964656e7469666965723a207265636569766572506174684964656e746966696572290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420636f6e7374727563742061207075626c696320706174682066726f6d207468652070726f76696465642070617468206964656e74696669657220737472696e6722290a0a20202020202020202f2f206765742074686520726563697069656e7473207075626c6963206163636f756e74206f626a6563740a20202020202020206c657420726563697069656e74203d206765744163636f756e7428746f290a0a20202020202020202f2f20626f72726f772061207075626c6963207265666572656e636520746f207468652072656365697665727320636f6c6c656374696f6e0a20202020202020206c6574207265636569766572436170203d20726563697069656e742e6361706162696c69746965732e6765743c267b4e6f6e46756e6769626c65546f6b656e2e52656365697665727d3e287075626c696350617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f74206765742074686520726563697069656e742773205265636569766572204361706162696c69747922290a0a20202020202020206c6574207265636569766572526566203d2072656365697665724361702e626f72726f7728290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f2074686520726563697069656e74277320726563656976657222290a0a20202020202020202f2f204465706f73697420746865204e465420746f207468652072656365697665720a202020202020202072656365697665725265662e6465706f73697428746f6b656e3a203c2d73656c662e74656d704e4654290a202020207d0a7df8a8af7b2274797065223a2241646472657373222c2276616c7565223a22307838633533303365616132363230326436227d9e7b2276616c7565223a223130222c2274797065223a2255496e743634227daa7b2276616c7565223a22666c6f77546f6b656e5661756c74222c2274797065223a22537472696e67227dad7b2276616c7565223a22666c6f77546f6b656e5265636569766572222c2274797065223a22537472696e67227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", + "encodedTransactionEnvelopeHex": "f90851f9084db90760696d706f7274203078363331653838616537663164376332300a0a2f2f2f2043616e207061737320696e20616e792073746f72616765207061746820616e64207265636569766572207061746820696e7374656164206f66206a757374207468652064656661756c742e0a2f2f2f2054686973206c65747320796f752063686f6f73652074686520746f6b656e20796f752077616e7420746f2073656e642061732077656c6c20746865206361706162696c69747920796f752077616e7420746f2073656e6420697420746f2e0a2f2f2f0a2f2f2f20416e7920746f6b656e20706174682063616e2062652070617373656420617320616e20617267756d656e7420686572652c20736f2077616c6c6574732073686f756c640a2f2f2f2073686f756c6420636865636b20617267756d656e742076616c75657320746f206d616b6520737572652074686520696e74656e64656420746f6b656e20706174682069732070617373656420696e0a2f2f2f0a7472616e73616374696f6e28746f3a20416464726573732c2069643a2055496e7436342c2073656e646572506174684964656e7469666965723a20537472696e672c207265636569766572506174684964656e7469666965723a20537472696e6729207b0a0a202020202f2f20546865204e4654207265736f7572636520746f206265207472616e736665727265640a202020206c65742074656d704e46543a20407b4e6f6e46756e6769626c65546f6b656e2e4e46547d0a0a2020202070726570617265287369676e65723a206175746828426f72726f7756616c75652920264163636f756e7429207b0a0a20202020202020206c65742073746f7261676550617468203d2053746f7261676550617468286964656e7469666965723a2073656e646572506174684964656e746966696572290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420636f6e73747275637420612073746f7261676520706174682066726f6d207468652070726f76696465642070617468206964656e74696669657220737472696e6722290a0a20202020202020202f2f20626f72726f772061207265666572656e636520746f20746865207369676e65722773204e465420636f6c6c656374696f6e0a20202020202020206c6574207769746864726177526566203d207369676e65722e73746f726167652e626f72726f773c61757468284e6f6e46756e6769626c65546f6b656e2e57697468647261772920267b4e6f6e46756e6769626c65546f6b656e2e436f6c6c656374696f6e7d3e280a2020202020202020202020202020202066726f6d3a2073746f72616765506174680a20202020202020202020202029203f3f2070616e696328224163636f756e7420646f6573206e6f742073746f7265206120636f6c6c656374696f6e206f626a6563742061742074686520737065636966696564207061746822290a0a202020202020202073656c662e74656d704e4654203c2d2077697468647261775265662e776974686472617728776974686472617749443a206964290a202020207d0a0a2020202065786563757465207b0a20202020202020206c6574207075626c696350617468203d205075626c696350617468286964656e7469666965723a207265636569766572506174684964656e746966696572290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420636f6e7374727563742061207075626c696320706174682066726f6d207468652070726f76696465642070617468206964656e74696669657220737472696e6722290a0a20202020202020202f2f206765742074686520726563697069656e7473207075626c6963206163636f756e74206f626a6563740a20202020202020206c657420726563697069656e74203d206765744163636f756e7428746f290a0a20202020202020202f2f20626f72726f772061207075626c6963207265666572656e636520746f207468652072656365697665727320636f6c6c656374696f6e0a20202020202020206c6574207265636569766572436170203d20726563697069656e742e6361706162696c69746965732e6765743c267b4e6f6e46756e6769626c65546f6b656e2e52656365697665727d3e287075626c696350617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f74206765742074686520726563697069656e742773205265636569766572204361706162696c69747922290a0a20202020202020206c6574207265636569766572526566203d2072656365697665724361702e626f72726f7728290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f2074686520726563697069656e74277320726563656976657222290a0a20202020202020202f2f204465706f73697420746865204e465420746f207468652072656365697665720a202020202020202072656365697665725265662e6465706f73697428746f6b656e3a203c2d73656c662e74656d704e4654290a202020207d0a7df8a8af7b2274797065223a2241646472657373222c2276616c7565223a22307838633533303365616132363230326436227d9e7b2276616c7565223a223130222c2274797065223a2255496e743634227daa7b2276616c7565223a22666c6f77546f6b656e5661756c74222c2274797065223a22537472696e67227dad7b2276616c7565223a22666c6f77546f6b656e5265636569766572222c2274797065223a22537472696e67227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", + "metadata": "02f08815a2f535512a65e5c95c391dd6ff89662dad8fd68da836d11d0827a52bd4a56eb0c3e6c3456eee86d5cb62ddf700b0d1e5e65f12fe6926edd6d1816582855472616e73666572204e46542077697468205061746873000401526563697069656e740000416464726573730003014e465420494420746f205472616e73666572000155496e74363400030153656e646572277320436f6c6c656374696f6e2050617468204964656e7469666965720002537472696e67000301526563697069656e7427732052656365697665722050617468204964656e7469666965720003537472696e670003", + "hash": "f08815a2f535512a65e5c95c391dd6ff89662dad8fd68da836d11d0827a52bd4" }, { - "title": "TH.16 - Register Operator Node", + "title": "NFT.03 - Transfer NFT with Address", "valid": true, "chainID": "Testnet", "payloadMessage": { - "script": "import LockedTokens from 0x95e019a17d0e23d7\nimport StakingProxy from 0x7aad92e5a0715d21\n\ntransaction(address: Address, id: String, amount: UFix64) {\n\n let holderRef: &LockedTokens.TokenHolder\n\n prepare(account: AuthAccount) {\n self.holderRef = account.borrow<&LockedTokens.TokenHolder>(from: LockedTokens.TokenHolderStoragePath)\n ?? panic(\"Could not borrow reference to TokenHolder\")\n }\n\n execute {\n let nodeOperatorRef = getAccount(address).getCapability\n <&StakingProxy.NodeStakerProxyHolder{StakingProxy.NodeStakerProxyHolderPublic}>\n (StakingProxy.NodeOperatorCapabilityPublicPath)!.borrow() \n ?? panic(\"Could not borrow node operator public capability\")\n\n let nodeInfo = nodeOperatorRef.getNodeInfo(nodeID: id)\n ?? panic(\"Couldn't get info for nodeID=\".concat(id))\n\n self.holderRef.createNodeStaker(nodeInfo: nodeInfo, amount: amount)\n\n let nodeStakerProxy = self.holderRef.borrowStaker()\n\n nodeOperatorRef.addStakingProxy(nodeID: nodeInfo.id, proxy: nodeStakerProxy)\n }\n}\n", + "script": "import 0x631e88ae7f1d7c20\nimport 0x631e88ae7f1d7c20\n\n/// Can pass in any contract address and name\n/// This lets you choose the token you want to send because\n/// the transaction gets the metadata from the provided contract.\n///\ntransaction(to: Address, id: UInt64, contractAddress: Address, contractName: String) {\n\n // The NFT resource to be transferred\n let tempNFT: @{NonFungibleToken.NFT}\n\n // NFTCollectionData struct to get paths from\n let collectionData: MetadataViews.NFTCollectionData\n\n prepare(signer: auth(BorrowValue) &Account) {\n\n // Borrow a reference to the nft contract deployed to the passed account\n let resolverRef = getAccount(contractAddress)\n .contracts.borrow<&{NonFungibleToken}>(name: contractName)\n ?? panic(\"Could not borrow a reference to the non-fungible token contract\")\n\n // Use that reference to retrieve the NFTCollectionData view \n self.collectionData = resolverRef.resolveContractView(resourceType: nil, viewType: Type()) as! MetadataViews.NFTCollectionData?\n ?? panic(\"Could not resolve the NFTCollectionData view for the given non-fungible token contract\")\n\n\n // borrow a reference to the signer's NFT collection\n let withdrawRef = signer.storage.borrow(\n from: self.collectionData.storagePath\n ) ?? panic(\"Account does not store a collection object at the specified path\")\n\n self.tempNFT <- withdrawRef.withdraw(withdrawID: id)\n }\n\n execute {\n // get the recipients public account object\n let recipient = getAccount(to)\n\n // borrow a public reference to the receivers collection\n let receiverCap = recipient.capabilities.get<&{NonFungibleToken.Receiver}>(self.collectionData.publicPath)\n ?? panic(\"Could not get the recipient's Receiver Capability\")\n\n let receiverRef = receiverCap.borrow()\n ?? panic(\"Could not borrow reference to the recipient's receiver\")\n\n // Deposit the NFT to the receiver\n receiverRef.deposit(token: <-self.tempNFT)\n }\n}", "arguments": [ { "type": "Address", "value": "0x8c5303eaa26202d6" }, { - "type": "String", - "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" + "value": "10", + "type": "UInt64" }, { - "type": "UFix64", - "value": "92233720368.54775808" + "value": "0x8c5303eaa26202d6", + "type": "Address" + }, + { + "value": "TopShot", + "type": "String" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -562,19 +572,23 @@ ] }, "envelopeMessage": { - "script": "import LockedTokens from 0x95e019a17d0e23d7\nimport StakingProxy from 0x7aad92e5a0715d21\n\ntransaction(address: Address, id: String, amount: UFix64) {\n\n let holderRef: &LockedTokens.TokenHolder\n\n prepare(account: AuthAccount) {\n self.holderRef = account.borrow<&LockedTokens.TokenHolder>(from: LockedTokens.TokenHolderStoragePath)\n ?? panic(\"Could not borrow reference to TokenHolder\")\n }\n\n execute {\n let nodeOperatorRef = getAccount(address).getCapability\n <&StakingProxy.NodeStakerProxyHolder{StakingProxy.NodeStakerProxyHolderPublic}>\n (StakingProxy.NodeOperatorCapabilityPublicPath)!.borrow() \n ?? panic(\"Could not borrow node operator public capability\")\n\n let nodeInfo = nodeOperatorRef.getNodeInfo(nodeID: id)\n ?? panic(\"Couldn't get info for nodeID=\".concat(id))\n\n self.holderRef.createNodeStaker(nodeInfo: nodeInfo, amount: amount)\n\n let nodeStakerProxy = self.holderRef.borrowStaker()\n\n nodeOperatorRef.addStakingProxy(nodeID: nodeInfo.id, proxy: nodeStakerProxy)\n }\n}\n", + "script": "import 0x631e88ae7f1d7c20\nimport 0x631e88ae7f1d7c20\n\n/// Can pass in any contract address and name\n/// This lets you choose the token you want to send because\n/// the transaction gets the metadata from the provided contract.\n///\ntransaction(to: Address, id: UInt64, contractAddress: Address, contractName: String) {\n\n // The NFT resource to be transferred\n let tempNFT: @{NonFungibleToken.NFT}\n\n // NFTCollectionData struct to get paths from\n let collectionData: MetadataViews.NFTCollectionData\n\n prepare(signer: auth(BorrowValue) &Account) {\n\n // Borrow a reference to the nft contract deployed to the passed account\n let resolverRef = getAccount(contractAddress)\n .contracts.borrow<&{NonFungibleToken}>(name: contractName)\n ?? panic(\"Could not borrow a reference to the non-fungible token contract\")\n\n // Use that reference to retrieve the NFTCollectionData view \n self.collectionData = resolverRef.resolveContractView(resourceType: nil, viewType: Type()) as! MetadataViews.NFTCollectionData?\n ?? panic(\"Could not resolve the NFTCollectionData view for the given non-fungible token contract\")\n\n\n // borrow a reference to the signer's NFT collection\n let withdrawRef = signer.storage.borrow(\n from: self.collectionData.storagePath\n ) ?? panic(\"Account does not store a collection object at the specified path\")\n\n self.tempNFT <- withdrawRef.withdraw(withdrawID: id)\n }\n\n execute {\n // get the recipients public account object\n let recipient = getAccount(to)\n\n // borrow a public reference to the receivers collection\n let receiverCap = recipient.capabilities.get<&{NonFungibleToken.Receiver}>(self.collectionData.publicPath)\n ?? panic(\"Could not get the recipient's Receiver Capability\")\n\n let receiverRef = receiverCap.borrow()\n ?? panic(\"Could not borrow reference to the recipient's receiver\")\n\n // Deposit the NFT to the receiver\n receiverRef.deposit(token: <-self.tempNFT)\n }\n}", "arguments": [ { "type": "Address", "value": "0x8c5303eaa26202d6" }, { - "type": "String", - "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" + "value": "10", + "type": "UInt64" }, { - "type": "UFix64", - "value": "92233720368.54775808" + "value": "0x8c5303eaa26202d6", + "type": "Address" + }, + { + "value": "TopShot", + "type": "String" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -590,22 +604,18 @@ ], "payloadSigs": [] }, - "encodedTransactionPayloadHex": "f90546b90442696d706f7274204c6f636b6564546f6b656e732066726f6d203078393565303139613137643065323364370a696d706f7274205374616b696e6750726f78792066726f6d203078376161643932653561303731356432310a0a7472616e73616374696f6e28616464726573733a20416464726573732c2069643a20537472696e672c20616d6f756e743a2055466978363429207b0a0a202020206c657420686f6c6465725265663a20264c6f636b6564546f6b656e732e546f6b656e486f6c6465720a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e686f6c646572526566203d206163636f756e742e626f72726f773c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f20546f6b656e486f6c64657222290a202020207d0a0a2020202065786563757465207b0a20202020202020206c6574206e6f64654f70657261746f72526566203d206765744163636f756e742861646472657373292e6765744361706162696c6974790a2020202020202020202020203c265374616b696e6750726f78792e4e6f64655374616b657250726f7879486f6c6465727b5374616b696e6750726f78792e4e6f64655374616b657250726f7879486f6c6465725075626c69637d3e0a202020202020202020202020285374616b696e6750726f78792e4e6f64654f70657261746f724361706162696c6974795075626c69635061746829212e626f72726f772829200a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77206e6f6465206f70657261746f72207075626c6963206361706162696c69747922290a0a20202020202020206c6574206e6f6465496e666f203d206e6f64654f70657261746f725265662e6765744e6f6465496e666f286e6f646549443a206964290a2020202020202020202020203f3f2070616e69632822436f756c646e27742067657420696e666f20666f72206e6f646549443d222e636f6e63617428696429290a0a202020202020202073656c662e686f6c6465725265662e6372656174654e6f64655374616b6572286e6f6465496e666f3a206e6f6465496e666f2c20616d6f756e743a20616d6f756e74290a0a20202020202020206c6574206e6f64655374616b657250726f7879203d2073656c662e686f6c6465725265662e626f72726f775374616b657228290a0a20202020202020206e6f64654f70657261746f725265662e6164645374616b696e6750726f7879286e6f646549443a206e6f6465496e666f2e69642c2070726f78793a206e6f64655374616b657250726f7879290a202020207d0a7d0af8bfaf7b2274797065223a2241646472657373222c2276616c7565223a22307838633533303365616132363230326436227db85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", - "encodedTransactionEnvelopeHex": "f9054af90546b90442696d706f7274204c6f636b6564546f6b656e732066726f6d203078393565303139613137643065323364370a696d706f7274205374616b696e6750726f78792066726f6d203078376161643932653561303731356432310a0a7472616e73616374696f6e28616464726573733a20416464726573732c2069643a20537472696e672c20616d6f756e743a2055466978363429207b0a0a202020206c657420686f6c6465725265663a20264c6f636b6564546f6b656e732e546f6b656e486f6c6465720a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e686f6c646572526566203d206163636f756e742e626f72726f773c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f20546f6b656e486f6c64657222290a202020207d0a0a2020202065786563757465207b0a20202020202020206c6574206e6f64654f70657261746f72526566203d206765744163636f756e742861646472657373292e6765744361706162696c6974790a2020202020202020202020203c265374616b696e6750726f78792e4e6f64655374616b657250726f7879486f6c6465727b5374616b696e6750726f78792e4e6f64655374616b657250726f7879486f6c6465725075626c69637d3e0a202020202020202020202020285374616b696e6750726f78792e4e6f64654f70657261746f724361706162696c6974795075626c69635061746829212e626f72726f772829200a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77206e6f6465206f70657261746f72207075626c6963206361706162696c69747922290a0a20202020202020206c6574206e6f6465496e666f203d206e6f64654f70657261746f725265662e6765744e6f6465496e666f286e6f646549443a206964290a2020202020202020202020203f3f2070616e69632822436f756c646e27742067657420696e666f20666f72206e6f646549443d222e636f6e63617428696429290a0a202020202020202073656c662e686f6c6465725265662e6372656174654e6f64655374616b6572286e6f6465496e666f3a206e6f6465496e666f2c20616d6f756e743a20616d6f756e74290a0a20202020202020206c6574206e6f64655374616b657250726f7879203d2073656c662e686f6c6465725265662e626f72726f775374616b657228290a0a20202020202020206e6f64654f70657261746f725265662e6164645374616b696e6750726f7879286e6f646549443a206e6f6465496e666f2e69642c2070726f78793a206e6f64655374616b657250726f7879290a202020207d0a7d0af8bfaf7b2274797065223a2241646472657373222c2276616c7565223a22307838633533303365616132363230326436227db85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", - "metadata": "02c29d4024aaeb71ab478182542499e0ba3d5d303ec027252e3b8333515ee3de4897b3436482c5aefc1baf8b850e92c829202e468c57241dec707b6c27bd89d15c5265676973746572204f70657261746f72204e6f64650003014f70657261746f7220416464726573730000416464726573730003014e6f64652049440001537472696e67000301416d6f756e7400025546697836340003", - "hash": "c29d4024aaeb71ab478182542499e0ba3d5d303ec027252e3b8333515ee3de48" + "encodedTransactionPayloadHex": "f9096fb90887696d706f7274203078363331653838616537663164376332300a696d706f7274203078363331653838616537663164376332300a0a2f2f2f2043616e207061737320696e20616e7920636f6e7472616374206164647265737320616e64206e616d650a2f2f2f2054686973206c65747320796f752063686f6f73652074686520746f6b656e20796f752077616e7420746f2073656e6420626563617573650a2f2f2f20746865207472616e73616374696f6e206765747320746865206d657461646174612066726f6d207468652070726f766964656420636f6e74726163742e0a2f2f2f0a7472616e73616374696f6e28746f3a20416464726573732c2069643a2055496e7436342c20636f6e7472616374416464726573733a20416464726573732c20636f6e74726163744e616d653a20537472696e6729207b0a0a202020202f2f20546865204e4654207265736f7572636520746f206265207472616e736665727265640a202020206c65742074656d704e46543a20407b4e6f6e46756e6769626c65546f6b656e2e4e46547d0a0a202020202f2f204e4654436f6c6c656374696f6e446174612073747275637420746f206765742070617468732066726f6d0a202020206c657420636f6c6c656374696f6e446174613a204d6574616461746156696577732e4e4654436f6c6c656374696f6e446174610a0a2020202070726570617265287369676e65723a206175746828426f72726f7756616c75652920264163636f756e7429207b0a0a20202020202020202f2f20426f72726f772061207265666572656e636520746f20746865206e667420636f6e7472616374206465706c6f79656420746f2074686520706173736564206163636f756e740a20202020202020206c6574207265736f6c766572526566203d206765744163636f756e7428636f6e747261637441646472657373290a2020202020202020202020202e636f6e7472616374732e626f72726f773c267b4e6f6e46756e6769626c65546f6b656e7d3e286e616d653a20636f6e74726163744e616d65290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f20746865206e6f6e2d66756e6769626c6520746f6b656e20636f6e747261637422290a0a20202020202020202f2f205573652074686174207265666572656e636520746f20726574726965766520746865204e4654436f6c6c656374696f6e446174612076696577200a202020202020202073656c662e636f6c6c656374696f6e44617461203d207265736f6c7665725265662e7265736f6c7665436f6e747261637456696577287265736f75726365547970653a206e696c2c2076696577547970653a20547970653c4d6574616461746156696577732e4e4654436f6c6c656374696f6e446174613e28292920617321204d6574616461746156696577732e4e4654436f6c6c656374696f6e446174613f0a2020202020202020202020203f3f2070616e69632822436f756c64206e6f74207265736f6c766520746865204e4654436f6c6c656374696f6e44617461207669657720666f722074686520676976656e206e6f6e2d66756e6769626c6520746f6b656e20636f6e747261637422290a0a0a20202020202020202f2f20626f72726f772061207265666572656e636520746f20746865207369676e65722773204e465420636f6c6c656374696f6e0a20202020202020206c6574207769746864726177526566203d207369676e65722e73746f726167652e626f72726f773c61757468284e6f6e46756e6769626c65546f6b656e2e57697468647261772920267b4e6f6e46756e6769626c65546f6b656e2e436f6c6c656374696f6e7d3e280a2020202020202020202020202020202066726f6d3a2073656c662e636f6c6c656374696f6e446174612e73746f72616765506174680a20202020202020202020202029203f3f2070616e696328224163636f756e7420646f6573206e6f742073746f7265206120636f6c6c656374696f6e206f626a6563742061742074686520737065636966696564207061746822290a0a202020202020202073656c662e74656d704e4654203c2d2077697468647261775265662e776974686472617728776974686472617749443a206964290a202020207d0a0a2020202065786563757465207b0a20202020202020202f2f206765742074686520726563697069656e7473207075626c6963206163636f756e74206f626a6563740a20202020202020206c657420726563697069656e74203d206765744163636f756e7428746f290a0a20202020202020202f2f20626f72726f772061207075626c6963207265666572656e636520746f207468652072656365697665727320636f6c6c656374696f6e0a20202020202020206c6574207265636569766572436170203d20726563697069656e742e6361706162696c69746965732e6765743c267b4e6f6e46756e6769626c65546f6b656e2e52656365697665727d3e2873656c662e636f6c6c656374696f6e446174612e7075626c696350617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f74206765742074686520726563697069656e742773205265636569766572204361706162696c69747922290a0a20202020202020206c6574207265636569766572526566203d2072656365697665724361702e626f72726f7728290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f2074686520726563697069656e74277320726563656976657222290a0a20202020202020202f2f204465706f73697420746865204e465420746f207468652072656365697665720a202020202020202072656365697665725265662e6465706f73697428746f6b656e3a203c2d73656c662e74656d704e4654290a202020207d0a7df8a3af7b2274797065223a2241646472657373222c2276616c7565223a22307838633533303365616132363230326436227d9e7b2276616c7565223a223130222c2274797065223a2255496e743634227daf7b2276616c7565223a22307838633533303365616132363230326436222c2274797065223a2241646472657373227da37b2276616c7565223a22546f7053686f74222c2274797065223a22537472696e67227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", + "encodedTransactionEnvelopeHex": "f90973f9096fb90887696d706f7274203078363331653838616537663164376332300a696d706f7274203078363331653838616537663164376332300a0a2f2f2f2043616e207061737320696e20616e7920636f6e7472616374206164647265737320616e64206e616d650a2f2f2f2054686973206c65747320796f752063686f6f73652074686520746f6b656e20796f752077616e7420746f2073656e6420626563617573650a2f2f2f20746865207472616e73616374696f6e206765747320746865206d657461646174612066726f6d207468652070726f766964656420636f6e74726163742e0a2f2f2f0a7472616e73616374696f6e28746f3a20416464726573732c2069643a2055496e7436342c20636f6e7472616374416464726573733a20416464726573732c20636f6e74726163744e616d653a20537472696e6729207b0a0a202020202f2f20546865204e4654207265736f7572636520746f206265207472616e736665727265640a202020206c65742074656d704e46543a20407b4e6f6e46756e6769626c65546f6b656e2e4e46547d0a0a202020202f2f204e4654436f6c6c656374696f6e446174612073747275637420746f206765742070617468732066726f6d0a202020206c657420636f6c6c656374696f6e446174613a204d6574616461746156696577732e4e4654436f6c6c656374696f6e446174610a0a2020202070726570617265287369676e65723a206175746828426f72726f7756616c75652920264163636f756e7429207b0a0a20202020202020202f2f20426f72726f772061207265666572656e636520746f20746865206e667420636f6e7472616374206465706c6f79656420746f2074686520706173736564206163636f756e740a20202020202020206c6574207265736f6c766572526566203d206765744163636f756e7428636f6e747261637441646472657373290a2020202020202020202020202e636f6e7472616374732e626f72726f773c267b4e6f6e46756e6769626c65546f6b656e7d3e286e616d653a20636f6e74726163744e616d65290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f20746865206e6f6e2d66756e6769626c6520746f6b656e20636f6e747261637422290a0a20202020202020202f2f205573652074686174207265666572656e636520746f20726574726965766520746865204e4654436f6c6c656374696f6e446174612076696577200a202020202020202073656c662e636f6c6c656374696f6e44617461203d207265736f6c7665725265662e7265736f6c7665436f6e747261637456696577287265736f75726365547970653a206e696c2c2076696577547970653a20547970653c4d6574616461746156696577732e4e4654436f6c6c656374696f6e446174613e28292920617321204d6574616461746156696577732e4e4654436f6c6c656374696f6e446174613f0a2020202020202020202020203f3f2070616e69632822436f756c64206e6f74207265736f6c766520746865204e4654436f6c6c656374696f6e44617461207669657720666f722074686520676976656e206e6f6e2d66756e6769626c6520746f6b656e20636f6e747261637422290a0a0a20202020202020202f2f20626f72726f772061207265666572656e636520746f20746865207369676e65722773204e465420636f6c6c656374696f6e0a20202020202020206c6574207769746864726177526566203d207369676e65722e73746f726167652e626f72726f773c61757468284e6f6e46756e6769626c65546f6b656e2e57697468647261772920267b4e6f6e46756e6769626c65546f6b656e2e436f6c6c656374696f6e7d3e280a2020202020202020202020202020202066726f6d3a2073656c662e636f6c6c656374696f6e446174612e73746f72616765506174680a20202020202020202020202029203f3f2070616e696328224163636f756e7420646f6573206e6f742073746f7265206120636f6c6c656374696f6e206f626a6563742061742074686520737065636966696564207061746822290a0a202020202020202073656c662e74656d704e4654203c2d2077697468647261775265662e776974686472617728776974686472617749443a206964290a202020207d0a0a2020202065786563757465207b0a20202020202020202f2f206765742074686520726563697069656e7473207075626c6963206163636f756e74206f626a6563740a20202020202020206c657420726563697069656e74203d206765744163636f756e7428746f290a0a20202020202020202f2f20626f72726f772061207075626c6963207265666572656e636520746f207468652072656365697665727320636f6c6c656374696f6e0a20202020202020206c6574207265636569766572436170203d20726563697069656e742e6361706162696c69746965732e6765743c267b4e6f6e46756e6769626c65546f6b656e2e52656365697665727d3e2873656c662e636f6c6c656374696f6e446174612e7075626c696350617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f74206765742074686520726563697069656e742773205265636569766572204361706162696c69747922290a0a20202020202020206c6574207265636569766572526566203d2072656365697665724361702e626f72726f7728290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f2074686520726563697069656e74277320726563656976657222290a0a20202020202020202f2f204465706f73697420746865204e465420746f207468652072656365697665720a202020202020202072656365697665725265662e6465706f73697428746f6b656e3a203c2d73656c662e74656d704e4654290a202020207d0a7df8a3af7b2274797065223a2241646472657373222c2276616c7565223a22307838633533303365616132363230326436227d9e7b2276616c7565223a223130222c2274797065223a2255496e743634227daf7b2276616c7565223a22307838633533303365616132363230326436222c2274797065223a2241646472657373227da37b2276616c7565223a22546f7053686f74222c2274797065223a22537472696e67227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", + "metadata": "02b7892b30d7a68531db8af3aa73eec7bf899bd039bc9883c4d0270e44c78cec30111142945f27d91bf3be630737805eba25d586b0c292bb3818e5d4cf4287e31c5472616e73666572204e465420776974682041646472657373000401526563697069656e740000416464726573730003014e465420494420746f205472616e73666572000155496e7436340003014e465420436f6e747261637420416464726573730002416464726573730003014e465420436f6e7472616374204e616d650003537472696e670003", + "hash": "b7892b30d7a68531db8af3aa73eec7bf899bd039bc9883c4d0270e44c78cec30" }, { - "title": "TH.17 - Register Delegator", + "title": "TH.01 - Withdraw Unlocked FLOW", "valid": true, "chainID": "Testnet", "payloadMessage": { - "script": "import FlowToken from 0x7e60df042a9c0868\nimport LockedTokens from 0x95e019a17d0e23d7\n\ntransaction(id: String, amount: UFix64) {\n\n let holderRef: &LockedTokens.TokenHolder\n\n let vaultRef: &FlowToken.Vault\n\n prepare(account: AuthAccount) {\n self.holderRef = account.borrow<&LockedTokens.TokenHolder>(from: LockedTokens.TokenHolderStoragePath) \n ?? panic(\"TokenHolder is not saved at specified path\")\n\n self.vaultRef = account.borrow<&FlowToken.Vault>(from: /storage/flowTokenVault)\n ?? panic(\"Could not borrow flow token vault reference\")\n }\n\n execute {\n self.holderRef.createNodeDelegator(nodeID: id)\n\n let delegatorProxy = self.holderRef.borrowDelegator()\n\n let lockedBalance = self.holderRef.getLockedAccountBalance()\n\n if amount <= lockedBalance {\n\n delegatorProxy.delegateNewTokens(amount: amount)\n\n } else if ((amount - lockedBalance) <= self.vaultRef.balance) {\n\n self.holderRef.deposit(from: <-self.vaultRef.withdraw(amount: amount - lockedBalance))\n\n delegatorProxy.delegateNewTokens(amount: amount)\n\n } else {\n panic(\"Not enough tokens to stake!\")\n }\n }\n}\n", + "script": "import FungibleToken from 0x9a0766d93b6608b7\nimport FlowToken from 0x7e60df042a9c0868\nimport LockedTokens from 0x95e019a17d0e23d7\n\ntransaction(amount: UFix64) {\n\n let holderRef: auth(LockedTokens.TokenOperations, FungibleToken.Withdraw) &LockedTokens.TokenHolder\n let vaultRef: auth(FungibleToken.Withdraw) &FlowToken.Vault\n\n prepare(acct: auth(BorrowValue) &Account) {\n self.holderRef = acct.storage.borrow(from: LockedTokens.TokenHolderStoragePath)\n ?? panic(\"The primary user account does not have an associated locked account\")\n\n self.vaultRef = acct.storage.borrow(from: /storage/flowTokenVault)\n ?? panic(\"Could not borrow flow token vault ref\")\n }\n\n execute {\n self.vaultRef.deposit(from: <-self.holderRef.withdraw(amount: amount))\n }\n}\n", "arguments": [ - { - "type": "String", - "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" - }, { "type": "UFix64", "value": "92233720368.54775808" @@ -624,12 +634,8 @@ ] }, "envelopeMessage": { - "script": "import FlowToken from 0x7e60df042a9c0868\nimport LockedTokens from 0x95e019a17d0e23d7\n\ntransaction(id: String, amount: UFix64) {\n\n let holderRef: &LockedTokens.TokenHolder\n\n let vaultRef: &FlowToken.Vault\n\n prepare(account: AuthAccount) {\n self.holderRef = account.borrow<&LockedTokens.TokenHolder>(from: LockedTokens.TokenHolderStoragePath) \n ?? panic(\"TokenHolder is not saved at specified path\")\n\n self.vaultRef = account.borrow<&FlowToken.Vault>(from: /storage/flowTokenVault)\n ?? panic(\"Could not borrow flow token vault reference\")\n }\n\n execute {\n self.holderRef.createNodeDelegator(nodeID: id)\n\n let delegatorProxy = self.holderRef.borrowDelegator()\n\n let lockedBalance = self.holderRef.getLockedAccountBalance()\n\n if amount <= lockedBalance {\n\n delegatorProxy.delegateNewTokens(amount: amount)\n\n } else if ((amount - lockedBalance) <= self.vaultRef.balance) {\n\n self.holderRef.deposit(from: <-self.vaultRef.withdraw(amount: amount - lockedBalance))\n\n delegatorProxy.delegateNewTokens(amount: amount)\n\n } else {\n panic(\"Not enough tokens to stake!\")\n }\n }\n}\n", + "script": "import FungibleToken from 0x9a0766d93b6608b7\nimport FlowToken from 0x7e60df042a9c0868\nimport LockedTokens from 0x95e019a17d0e23d7\n\ntransaction(amount: UFix64) {\n\n let holderRef: auth(LockedTokens.TokenOperations, FungibleToken.Withdraw) &LockedTokens.TokenHolder\n let vaultRef: auth(FungibleToken.Withdraw) &FlowToken.Vault\n\n prepare(acct: auth(BorrowValue) &Account) {\n self.holderRef = acct.storage.borrow(from: LockedTokens.TokenHolderStoragePath)\n ?? panic(\"The primary user account does not have an associated locked account\")\n\n self.vaultRef = acct.storage.borrow(from: /storage/flowTokenVault)\n ?? panic(\"Could not borrow flow token vault ref\")\n }\n\n execute {\n self.vaultRef.deposit(from: <-self.holderRef.withdraw(amount: amount))\n }\n}\n", "arguments": [ - { - "type": "String", - "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" - }, { "type": "UFix64", "value": "92233720368.54775808" @@ -648,17 +654,17 @@ ], "payloadSigs": [] }, - "encodedTransactionPayloadHex": "f9058fb904bb696d706f727420466c6f77546f6b656e2066726f6d203078376536306466303432613963303836380a696d706f7274204c6f636b6564546f6b656e732066726f6d203078393565303139613137643065323364370a0a7472616e73616374696f6e2869643a20537472696e672c20616d6f756e743a2055466978363429207b0a0a202020206c657420686f6c6465725265663a20264c6f636b6564546f6b656e732e546f6b656e486f6c6465720a0a202020206c6574207661756c745265663a2026466c6f77546f6b656e2e5661756c740a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e686f6c646572526566203d206163636f756e742e626f72726f773c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f726167655061746829200a2020202020202020202020203f3f2070616e69632822546f6b656e486f6c646572206973206e6f7420736176656420617420737065636966696564207061746822290a0a202020202020202073656c662e7661756c74526566203d206163636f756e742e626f72726f773c26466c6f77546f6b656e2e5661756c743e2866726f6d3a202f73746f726167652f666c6f77546f6b656e5661756c74290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f7720666c6f7720746f6b656e207661756c74207265666572656e636522290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e686f6c6465725265662e6372656174654e6f646544656c656761746f72286e6f646549443a206964290a0a20202020202020206c65742064656c656761746f7250726f7879203d2073656c662e686f6c6465725265662e626f72726f7744656c656761746f7228290a0a20202020202020206c6574206c6f636b656442616c616e6365203d2073656c662e686f6c6465725265662e6765744c6f636b65644163636f756e7442616c616e636528290a0a2020202020202020696620616d6f756e74203c3d206c6f636b656442616c616e6365207b0a0a20202020202020202020202064656c656761746f7250726f78792e64656c65676174654e6577546f6b656e7328616d6f756e743a20616d6f756e74290a0a20202020202020207d20656c7365206966202828616d6f756e74202d206c6f636b656442616c616e636529203c3d2073656c662e7661756c745265662e62616c616e636529207b0a0a20202020202020202020202073656c662e686f6c6465725265662e6465706f7369742866726f6d3a203c2d73656c662e7661756c745265662e776974686472617728616d6f756e743a20616d6f756e74202d206c6f636b656442616c616e636529290a0a20202020202020202020202064656c656761746f7250726f78792e64656c65676174654e6577546f6b656e7328616d6f756e743a20616d6f756e74290a0a20202020202020207d20656c7365207b0a20202020202020202020202070616e696328224e6f7420656e6f75676820746f6b656e7320746f207374616b652122290a20202020202020207d0a202020207d0a7d0af88fb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", - "encodedTransactionEnvelopeHex": "f90593f9058fb904bb696d706f727420466c6f77546f6b656e2066726f6d203078376536306466303432613963303836380a696d706f7274204c6f636b6564546f6b656e732066726f6d203078393565303139613137643065323364370a0a7472616e73616374696f6e2869643a20537472696e672c20616d6f756e743a2055466978363429207b0a0a202020206c657420686f6c6465725265663a20264c6f636b6564546f6b656e732e546f6b656e486f6c6465720a0a202020206c6574207661756c745265663a2026466c6f77546f6b656e2e5661756c740a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e686f6c646572526566203d206163636f756e742e626f72726f773c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f726167655061746829200a2020202020202020202020203f3f2070616e69632822546f6b656e486f6c646572206973206e6f7420736176656420617420737065636966696564207061746822290a0a202020202020202073656c662e7661756c74526566203d206163636f756e742e626f72726f773c26466c6f77546f6b656e2e5661756c743e2866726f6d3a202f73746f726167652f666c6f77546f6b656e5661756c74290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f7720666c6f7720746f6b656e207661756c74207265666572656e636522290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e686f6c6465725265662e6372656174654e6f646544656c656761746f72286e6f646549443a206964290a0a20202020202020206c65742064656c656761746f7250726f7879203d2073656c662e686f6c6465725265662e626f72726f7744656c656761746f7228290a0a20202020202020206c6574206c6f636b656442616c616e6365203d2073656c662e686f6c6465725265662e6765744c6f636b65644163636f756e7442616c616e636528290a0a2020202020202020696620616d6f756e74203c3d206c6f636b656442616c616e6365207b0a0a20202020202020202020202064656c656761746f7250726f78792e64656c65676174654e6577546f6b656e7328616d6f756e743a20616d6f756e74290a0a20202020202020207d20656c7365206966202828616d6f756e74202d206c6f636b656442616c616e636529203c3d2073656c662e7661756c745265662e62616c616e636529207b0a0a20202020202020202020202073656c662e686f6c6465725265662e6465706f7369742866726f6d3a203c2d73656c662e7661756c745265662e776974686472617728616d6f756e743a20616d6f756e74202d206c6f636b656442616c616e636529290a0a20202020202020202020202064656c656761746f7250726f78792e64656c65676174654e6577546f6b656e7328616d6f756e743a20616d6f756e74290a0a20202020202020207d20656c7365207b0a20202020202020202020202070616e696328224e6f7420656e6f75676820746f6b656e7320746f207374616b652122290a20202020202020207d0a202020207d0a7d0af88fb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", - "metadata": "021378405c85e0c966344b196c0fce602f39e79f3938ec7b689e0c96a8703b018a3cb357a97a57d9abbe5c68f0df342ee96ba97ade2013753fd2ddf47695a8c08a52656769737465722044656c656761746f720002014e6f64652049440000537472696e67000301416d6f756e7400015546697836340003", - "hash": "1378405c85e0c966344b196c0fce602f39e79f3938ec7b689e0c96a8703b018a" + "encodedTransactionPayloadHex": "f9041fb903aa696d706f72742046756e6769626c65546f6b656e2066726f6d203078396130373636643933623636303862370a696d706f727420466c6f77546f6b656e2066726f6d203078376536306466303432613963303836380a696d706f7274204c6f636b6564546f6b656e732066726f6d203078393565303139613137643065323364370a0a7472616e73616374696f6e28616d6f756e743a2055466978363429207b0a0a202020206c657420686f6c6465725265663a2061757468284c6f636b6564546f6b656e732e546f6b656e4f7065726174696f6e732c2046756e6769626c65546f6b656e2e57697468647261772920264c6f636b6564546f6b656e732e546f6b656e486f6c6465720a202020206c6574207661756c745265663a20617574682846756e6769626c65546f6b656e2e5769746864726177292026466c6f77546f6b656e2e5661756c740a0a202020207072657061726528616363743a206175746828426f72726f7756616c75652920264163636f756e7429207b0a202020202020202073656c662e686f6c646572526566203d20616363742e73746f726167652e626f72726f773c61757468284c6f636b6564546f6b656e732e546f6b656e4f7065726174696f6e732c2046756e6769626c65546f6b656e2e57697468647261772920264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f7261676550617468290a2020202020202020202020203f3f2070616e69632822546865207072696d6172792075736572206163636f756e7420646f6573206e6f74206861766520616e206173736f636961746564206c6f636b6564206163636f756e7422290a0a202020202020202073656c662e7661756c74526566203d20616363742e73746f726167652e626f72726f773c617574682846756e6769626c65546f6b656e2e5769746864726177292026466c6f77546f6b656e2e5661756c743e2866726f6d3a202f73746f726167652f666c6f77546f6b656e5661756c74290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f7720666c6f7720746f6b656e207661756c742072656622290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7661756c745265662e6465706f7369742866726f6d3a203c2d73656c662e686f6c6465725265662e776974686472617728616d6f756e743a20616d6f756e7429290a202020207d0a7d0af1b07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", + "encodedTransactionEnvelopeHex": "f90423f9041fb903aa696d706f72742046756e6769626c65546f6b656e2066726f6d203078396130373636643933623636303862370a696d706f727420466c6f77546f6b656e2066726f6d203078376536306466303432613963303836380a696d706f7274204c6f636b6564546f6b656e732066726f6d203078393565303139613137643065323364370a0a7472616e73616374696f6e28616d6f756e743a2055466978363429207b0a0a202020206c657420686f6c6465725265663a2061757468284c6f636b6564546f6b656e732e546f6b656e4f7065726174696f6e732c2046756e6769626c65546f6b656e2e57697468647261772920264c6f636b6564546f6b656e732e546f6b656e486f6c6465720a202020206c6574207661756c745265663a20617574682846756e6769626c65546f6b656e2e5769746864726177292026466c6f77546f6b656e2e5661756c740a0a202020207072657061726528616363743a206175746828426f72726f7756616c75652920264163636f756e7429207b0a202020202020202073656c662e686f6c646572526566203d20616363742e73746f726167652e626f72726f773c61757468284c6f636b6564546f6b656e732e546f6b656e4f7065726174696f6e732c2046756e6769626c65546f6b656e2e57697468647261772920264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f7261676550617468290a2020202020202020202020203f3f2070616e69632822546865207072696d6172792075736572206163636f756e7420646f6573206e6f74206861766520616e206173736f636961746564206c6f636b6564206163636f756e7422290a0a202020202020202073656c662e7661756c74526566203d20616363742e73746f726167652e626f72726f773c617574682846756e6769626c65546f6b656e2e5769746864726177292026466c6f77546f6b656e2e5661756c743e2866726f6d3a202f73746f726167652f666c6f77546f6b656e5661756c74290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f7720666c6f7720746f6b656e207661756c742072656622290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7661756c745265662e6465706f7369742866726f6d3a203c2d73656c662e686f6c6465725265662e776974686472617728616d6f756e743a20616d6f756e7429290a202020207d0a7d0af1b07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", + "metadata": "02094798e93daeacaa9ff262486a3683ec5a5e2204407e7d00bc3416fbf3efa3b14a830e6f93f74179a99e17c7ae762980c7fdc428bc949767529be2f071ac52b9576974686472617720556e6c6f636b656420464c4f57000101416d6f756e7400005546697836340003", + "hash": "094798e93daeacaa9ff262486a3683ec5a5e2204407e7d00bc3416fbf3efa3b1" }, { - "title": "TH.19 - Delegate New Locked FLOW", + "title": "TH.02 - Deposit Unlocked FLOW", "valid": true, "chainID": "Testnet", "payloadMessage": { - "script": "import FlowToken from 0x7e60df042a9c0868\nimport FungibleToken from 0x9a0766d93b6608b7\nimport LockedTokens from 0x95e019a17d0e23d7\n\ntransaction(amount: UFix64) {\n\n let holderRef: &LockedTokens.TokenHolder\n\n let vaultRef: &FlowToken.Vault\n\n prepare(account: AuthAccount) {\n self.holderRef = account.borrow<&LockedTokens.TokenHolder>(from: LockedTokens.TokenHolderStoragePath)\n ?? panic(\"Could not borrow reference to TokenHolder\")\n\n self.vaultRef = account.borrow<&FlowToken.Vault>(from: /storage/flowTokenVault)\n ?? panic(\"Could not borrow flow token vault reference\")\n }\n\n execute {\n let stakerProxy = self.holderRef.borrowDelegator()\n\n let lockedBalance = self.holderRef.getLockedAccountBalance()\n\n if amount <= lockedBalance {\n\n stakerProxy.delegateNewTokens(amount: amount)\n\n } else if ((amount - lockedBalance) <= self.vaultRef.balance) {\n\n self.holderRef.deposit(from: <-self.vaultRef.withdraw(amount: amount - lockedBalance))\n\n stakerProxy.delegateNewTokens(amount: amount)\n } else {\n panic(\"Not enough tokens to stake!\")\n }\n }\n}\n", + "script": "import FungibleToken from 0x9a0766d93b6608b7\nimport FlowToken from 0x7e60df042a9c0868\nimport LockedTokens from 0x95e019a17d0e23d7\n\ntransaction(amount: UFix64) {\n\n let holderRef: &LockedTokens.TokenHolder\n let vaultRef: auth(FungibleToken.Withdraw) &FlowToken.Vault\n\n prepare(acct: auth(BorrowValue) &Account) {\n self.holderRef = acct.storage.borrow<&LockedTokens.TokenHolder>(from: LockedTokens.TokenHolderStoragePath)\n ?? panic(\"The primary user account does not have an associated locked account\")\n\n self.vaultRef = acct.storage.borrow(from: /storage/flowTokenVault)\n ?? panic(\"Could not borrow flow token vault ref\")\n }\n\n execute {\n self.holderRef.deposit(from: <-self.vaultRef.withdraw(amount: amount))\n }\n}\n", "arguments": [ { "type": "UFix64", @@ -678,7 +684,7 @@ ] }, "envelopeMessage": { - "script": "import FlowToken from 0x7e60df042a9c0868\nimport FungibleToken from 0x9a0766d93b6608b7\nimport LockedTokens from 0x95e019a17d0e23d7\n\ntransaction(amount: UFix64) {\n\n let holderRef: &LockedTokens.TokenHolder\n\n let vaultRef: &FlowToken.Vault\n\n prepare(account: AuthAccount) {\n self.holderRef = account.borrow<&LockedTokens.TokenHolder>(from: LockedTokens.TokenHolderStoragePath)\n ?? panic(\"Could not borrow reference to TokenHolder\")\n\n self.vaultRef = account.borrow<&FlowToken.Vault>(from: /storage/flowTokenVault)\n ?? panic(\"Could not borrow flow token vault reference\")\n }\n\n execute {\n let stakerProxy = self.holderRef.borrowDelegator()\n\n let lockedBalance = self.holderRef.getLockedAccountBalance()\n\n if amount <= lockedBalance {\n\n stakerProxy.delegateNewTokens(amount: amount)\n\n } else if ((amount - lockedBalance) <= self.vaultRef.balance) {\n\n self.holderRef.deposit(from: <-self.vaultRef.withdraw(amount: amount - lockedBalance))\n\n stakerProxy.delegateNewTokens(amount: amount)\n } else {\n panic(\"Not enough tokens to stake!\")\n }\n }\n}\n", + "script": "import FungibleToken from 0x9a0766d93b6608b7\nimport FlowToken from 0x7e60df042a9c0868\nimport LockedTokens from 0x95e019a17d0e23d7\n\ntransaction(amount: UFix64) {\n\n let holderRef: &LockedTokens.TokenHolder\n let vaultRef: auth(FungibleToken.Withdraw) &FlowToken.Vault\n\n prepare(acct: auth(BorrowValue) &Account) {\n self.holderRef = acct.storage.borrow<&LockedTokens.TokenHolder>(from: LockedTokens.TokenHolderStoragePath)\n ?? panic(\"The primary user account does not have an associated locked account\")\n\n self.vaultRef = acct.storage.borrow(from: /storage/flowTokenVault)\n ?? panic(\"Could not borrow flow token vault ref\")\n }\n\n execute {\n self.holderRef.deposit(from: <-self.vaultRef.withdraw(amount: amount))\n }\n}\n", "arguments": [ { "type": "UFix64", @@ -698,23 +704,18 @@ ], "payloadSigs": [] }, - "encodedTransactionPayloadHex": "f9050db90498696d706f727420466c6f77546f6b656e2066726f6d203078376536306466303432613963303836380a696d706f72742046756e6769626c65546f6b656e2066726f6d203078396130373636643933623636303862370a696d706f7274204c6f636b6564546f6b656e732066726f6d203078393565303139613137643065323364370a0a7472616e73616374696f6e28616d6f756e743a2055466978363429207b0a0a202020206c657420686f6c6465725265663a20264c6f636b6564546f6b656e732e546f6b656e486f6c6465720a0a202020206c6574207661756c745265663a2026466c6f77546f6b656e2e5661756c740a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e686f6c646572526566203d206163636f756e742e626f72726f773c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f20546f6b656e486f6c64657222290a0a202020202020202073656c662e7661756c74526566203d206163636f756e742e626f72726f773c26466c6f77546f6b656e2e5661756c743e2866726f6d3a202f73746f726167652f666c6f77546f6b656e5661756c74290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f7720666c6f7720746f6b656e207661756c74207265666572656e636522290a202020207d0a0a2020202065786563757465207b0a20202020202020206c6574207374616b657250726f7879203d2073656c662e686f6c6465725265662e626f72726f7744656c656761746f7228290a0a20202020202020206c6574206c6f636b656442616c616e6365203d2073656c662e686f6c6465725265662e6765744c6f636b65644163636f756e7442616c616e636528290a0a2020202020202020696620616d6f756e74203c3d206c6f636b656442616c616e6365207b0a0a2020202020202020202020207374616b657250726f78792e64656c65676174654e6577546f6b656e7328616d6f756e743a20616d6f756e74290a0a20202020202020207d20656c7365206966202828616d6f756e74202d206c6f636b656442616c616e636529203c3d2073656c662e7661756c745265662e62616c616e636529207b0a0a20202020202020202020202073656c662e686f6c6465725265662e6465706f7369742866726f6d3a203c2d73656c662e7661756c745265662e776974686472617728616d6f756e743a20616d6f756e74202d206c6f636b656442616c616e636529290a0a2020202020202020202020207374616b657250726f78792e64656c65676174654e6577546f6b656e7328616d6f756e743a20616d6f756e74290a20202020202020207d20656c7365207b0a20202020202020202020202070616e696328224e6f7420656e6f75676820746f6b656e7320746f207374616b652122290a20202020202020207d0a202020207d0a7d0af1b07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", - "encodedTransactionEnvelopeHex": "f90511f9050db90498696d706f727420466c6f77546f6b656e2066726f6d203078376536306466303432613963303836380a696d706f72742046756e6769626c65546f6b656e2066726f6d203078396130373636643933623636303862370a696d706f7274204c6f636b6564546f6b656e732066726f6d203078393565303139613137643065323364370a0a7472616e73616374696f6e28616d6f756e743a2055466978363429207b0a0a202020206c657420686f6c6465725265663a20264c6f636b6564546f6b656e732e546f6b656e486f6c6465720a0a202020206c6574207661756c745265663a2026466c6f77546f6b656e2e5661756c740a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e686f6c646572526566203d206163636f756e742e626f72726f773c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f20546f6b656e486f6c64657222290a0a202020202020202073656c662e7661756c74526566203d206163636f756e742e626f72726f773c26466c6f77546f6b656e2e5661756c743e2866726f6d3a202f73746f726167652f666c6f77546f6b656e5661756c74290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f7720666c6f7720746f6b656e207661756c74207265666572656e636522290a202020207d0a0a2020202065786563757465207b0a20202020202020206c6574207374616b657250726f7879203d2073656c662e686f6c6465725265662e626f72726f7744656c656761746f7228290a0a20202020202020206c6574206c6f636b656442616c616e6365203d2073656c662e686f6c6465725265662e6765744c6f636b65644163636f756e7442616c616e636528290a0a2020202020202020696620616d6f756e74203c3d206c6f636b656442616c616e6365207b0a0a2020202020202020202020207374616b657250726f78792e64656c65676174654e6577546f6b656e7328616d6f756e743a20616d6f756e74290a0a20202020202020207d20656c7365206966202828616d6f756e74202d206c6f636b656442616c616e636529203c3d2073656c662e7661756c745265662e62616c616e636529207b0a0a20202020202020202020202073656c662e686f6c6465725265662e6465706f7369742866726f6d3a203c2d73656c662e7661756c745265662e776974686472617728616d6f756e743a20616d6f756e74202d206c6f636b656442616c616e636529290a0a2020202020202020202020207374616b657250726f78792e64656c65676174654e6577546f6b656e7328616d6f756e743a20616d6f756e74290a20202020202020207d20656c7365207b0a20202020202020202020202070616e696328224e6f7420656e6f75676820746f6b656e7320746f207374616b652122290a20202020202020207d0a202020207d0a7d0af1b07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", - "metadata": "0218fad68368a4394b245db91217d7dc979e1316ab757388d416eaef831f565ab3802354d8b3e7908e584bcb5217637fb9f4ef045427c32d57d81ad4a390ed1a6044656c6567617465204e6577204c6f636b656420464c4f57000101416d6f756e7400005546697836340003", - "hash": "18fad68368a4394b245db91217d7dc979e1316ab757388d416eaef831f565ab3" + "encodedTransactionPayloadHex": "f903a9b90334696d706f72742046756e6769626c65546f6b656e2066726f6d203078396130373636643933623636303862370a696d706f727420466c6f77546f6b656e2066726f6d203078376536306466303432613963303836380a696d706f7274204c6f636b6564546f6b656e732066726f6d203078393565303139613137643065323364370a0a7472616e73616374696f6e28616d6f756e743a2055466978363429207b0a0a202020206c657420686f6c6465725265663a20264c6f636b6564546f6b656e732e546f6b656e486f6c6465720a202020206c6574207661756c745265663a20617574682846756e6769626c65546f6b656e2e5769746864726177292026466c6f77546f6b656e2e5661756c740a0a202020207072657061726528616363743a206175746828426f72726f7756616c75652920264163636f756e7429207b0a202020202020202073656c662e686f6c646572526566203d20616363742e73746f726167652e626f72726f773c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f7261676550617468290a2020202020202020202020203f3f2070616e69632822546865207072696d6172792075736572206163636f756e7420646f6573206e6f74206861766520616e206173736f636961746564206c6f636b6564206163636f756e7422290a0a202020202020202073656c662e7661756c74526566203d20616363742e73746f726167652e626f72726f773c617574682846756e6769626c65546f6b656e2e5769746864726177292026466c6f77546f6b656e2e5661756c743e2866726f6d3a202f73746f726167652f666c6f77546f6b656e5661756c74290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f7720666c6f7720746f6b656e207661756c742072656622290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e686f6c6465725265662e6465706f7369742866726f6d3a203c2d73656c662e7661756c745265662e776974686472617728616d6f756e743a20616d6f756e7429290a202020207d0a7d0af1b07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", + "encodedTransactionEnvelopeHex": "f903adf903a9b90334696d706f72742046756e6769626c65546f6b656e2066726f6d203078396130373636643933623636303862370a696d706f727420466c6f77546f6b656e2066726f6d203078376536306466303432613963303836380a696d706f7274204c6f636b6564546f6b656e732066726f6d203078393565303139613137643065323364370a0a7472616e73616374696f6e28616d6f756e743a2055466978363429207b0a0a202020206c657420686f6c6465725265663a20264c6f636b6564546f6b656e732e546f6b656e486f6c6465720a202020206c6574207661756c745265663a20617574682846756e6769626c65546f6b656e2e5769746864726177292026466c6f77546f6b656e2e5661756c740a0a202020207072657061726528616363743a206175746828426f72726f7756616c75652920264163636f756e7429207b0a202020202020202073656c662e686f6c646572526566203d20616363742e73746f726167652e626f72726f773c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f7261676550617468290a2020202020202020202020203f3f2070616e69632822546865207072696d6172792075736572206163636f756e7420646f6573206e6f74206861766520616e206173736f636961746564206c6f636b6564206163636f756e7422290a0a202020202020202073656c662e7661756c74526566203d20616363742e73746f726167652e626f72726f773c617574682846756e6769626c65546f6b656e2e5769746864726177292026466c6f77546f6b656e2e5661756c743e2866726f6d3a202f73746f726167652f666c6f77546f6b656e5661756c74290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f7720666c6f7720746f6b656e207661756c742072656622290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e686f6c6465725265662e6465706f7369742866726f6d3a203c2d73656c662e7661756c745265662e776974686472617728616d6f756e743a20616d6f756e7429290a202020207d0a7d0af1b07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", + "metadata": "0217ffcd60667893674d8d4044bdd8232959dc8b694df1dd88d1b9c5443352f253038382a947fa96bf2f4dfe5aa9b4b2abee1ef0975955175e80cf911c3edf4b614465706f73697420556e6c6f636b656420464c4f57000101416d6f756e7400005546697836340003", + "hash": "17ffcd60667893674d8d4044bdd8232959dc8b694df1dd88d1b9c5443352f253" }, { - "title": "TH.20 - Re-delegate Unstaked FLOW", + "title": "SCO.01 - Setup Staking Collection", "valid": true, "chainID": "Testnet", "payloadMessage": { - "script": "import LockedTokens from 0x95e019a17d0e23d7\n\ntransaction(amount: UFix64) {\n let nodeDelegatorProxy: LockedTokens.LockedNodeDelegatorProxy\n\n prepare(account: AuthAccount) {\n let holderRef = account.borrow<&LockedTokens.TokenHolder>(from: LockedTokens.TokenHolderStoragePath) \n ?? panic(\"TokenHolder is not saved at specified path\")\n\n self.nodeDelegatorProxy = holderRef.borrowDelegator()\n }\n\n execute {\n self.nodeDelegatorProxy.delegateUnstakedTokens(amount: amount)\n }\n}\n", - "arguments": [ - { - "type": "UFix64", - "value": "92233720368.54775808" - } - ], + "script": "import FungibleToken from 0x9a0766d93b6608b7\nimport FlowToken from 0x7e60df042a9c0868\nimport FlowIDTableStaking from 0x9eca2b38b18b5dfe\nimport LockedTokens from 0x95e019a17d0e23d7\nimport FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// This transaction sets up an account to use a staking collection\n/// It will work regardless of whether they have a regular account, a two-account locked tokens setup,\n/// or staking objects stored in the unlocked account\n\ntransaction {\n prepare(signer: auth(BorrowValue, Storage, Capabilities) &Account) {\n\n // If there isn't already a staking collection\n if signer.storage.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath) == nil {\n\n // Create private capabilities for the token holder and unlocked vault\n let lockedHolder = signer.capabilities.storage.issue(LockedTokens.TokenHolderStoragePath)!\n let flowToken = signer.capabilities.storage.issue(/storage/flowTokenVault)!\n\n // Create a new Staking Collection and put it in storage\n if lockedHolder.check() {\n signer.storage.save(\n <- FlowStakingCollection.createStakingCollection(\n unlockedVault: flowToken,\n tokenHolder: lockedHolder\n ),\n to: FlowStakingCollection.StakingCollectionStoragePath\n )\n } else {\n signer.storage.save(\n <- FlowStakingCollection.createStakingCollection(\n unlockedVault: flowToken,\n tokenHolder: nil\n ),\n to: FlowStakingCollection.StakingCollectionStoragePath\n )\n }\n\n // Publish a capability to the created staking collection.\n let stakingCollectionCap = signer.capabilities.storage.issue<&FlowStakingCollection.StakingCollection>(\n FlowStakingCollection.StakingCollectionStoragePath\n )\n\n signer.capabilities.publish(\n stakingCollectionCap,\n at: FlowStakingCollection.StakingCollectionPublicPath\n )\n }\n\n // borrow a reference to the staking collection\n let collectionRef = signer.storage.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow staking collection reference\")\n\n // If there is a node staker object in the account, put it in the staking collection\n if signer.storage.borrow<&FlowIDTableStaking.NodeStaker>(from: FlowIDTableStaking.NodeStakerStoragePath) != nil {\n let node <- signer.storage.load<@FlowIDTableStaking.NodeStaker>(from: FlowIDTableStaking.NodeStakerStoragePath)!\n collectionRef.addNodeObject(<-node, machineAccountInfo: nil)\n }\n\n // If there is a delegator object in the account, put it in the staking collection\n if signer.storage.borrow<&FlowIDTableStaking.NodeDelegator>(from: FlowIDTableStaking.DelegatorStoragePath) != nil {\n let delegator <- signer.storage.load<@FlowIDTableStaking.NodeDelegator>(from: FlowIDTableStaking.DelegatorStoragePath)!\n collectionRef.addDelegatorObject(<-delegator)\n }\n }\n}\n", + "arguments": [], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", "gasLimit": 42, "proposalKey": { @@ -728,13 +729,8 @@ ] }, "envelopeMessage": { - "script": "import LockedTokens from 0x95e019a17d0e23d7\n\ntransaction(amount: UFix64) {\n let nodeDelegatorProxy: LockedTokens.LockedNodeDelegatorProxy\n\n prepare(account: AuthAccount) {\n let holderRef = account.borrow<&LockedTokens.TokenHolder>(from: LockedTokens.TokenHolderStoragePath) \n ?? panic(\"TokenHolder is not saved at specified path\")\n\n self.nodeDelegatorProxy = holderRef.borrowDelegator()\n }\n\n execute {\n self.nodeDelegatorProxy.delegateUnstakedTokens(amount: amount)\n }\n}\n", - "arguments": [ - { - "type": "UFix64", - "value": "92233720368.54775808" - } - ], + "script": "import FungibleToken from 0x9a0766d93b6608b7\nimport FlowToken from 0x7e60df042a9c0868\nimport FlowIDTableStaking from 0x9eca2b38b18b5dfe\nimport LockedTokens from 0x95e019a17d0e23d7\nimport FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// This transaction sets up an account to use a staking collection\n/// It will work regardless of whether they have a regular account, a two-account locked tokens setup,\n/// or staking objects stored in the unlocked account\n\ntransaction {\n prepare(signer: auth(BorrowValue, Storage, Capabilities) &Account) {\n\n // If there isn't already a staking collection\n if signer.storage.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath) == nil {\n\n // Create private capabilities for the token holder and unlocked vault\n let lockedHolder = signer.capabilities.storage.issue(LockedTokens.TokenHolderStoragePath)!\n let flowToken = signer.capabilities.storage.issue(/storage/flowTokenVault)!\n\n // Create a new Staking Collection and put it in storage\n if lockedHolder.check() {\n signer.storage.save(\n <- FlowStakingCollection.createStakingCollection(\n unlockedVault: flowToken,\n tokenHolder: lockedHolder\n ),\n to: FlowStakingCollection.StakingCollectionStoragePath\n )\n } else {\n signer.storage.save(\n <- FlowStakingCollection.createStakingCollection(\n unlockedVault: flowToken,\n tokenHolder: nil\n ),\n to: FlowStakingCollection.StakingCollectionStoragePath\n )\n }\n\n // Publish a capability to the created staking collection.\n let stakingCollectionCap = signer.capabilities.storage.issue<&FlowStakingCollection.StakingCollection>(\n FlowStakingCollection.StakingCollectionStoragePath\n )\n\n signer.capabilities.publish(\n stakingCollectionCap,\n at: FlowStakingCollection.StakingCollectionPublicPath\n )\n }\n\n // borrow a reference to the staking collection\n let collectionRef = signer.storage.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow staking collection reference\")\n\n // If there is a node staker object in the account, put it in the staking collection\n if signer.storage.borrow<&FlowIDTableStaking.NodeStaker>(from: FlowIDTableStaking.NodeStakerStoragePath) != nil {\n let node <- signer.storage.load<@FlowIDTableStaking.NodeStaker>(from: FlowIDTableStaking.NodeStakerStoragePath)!\n collectionRef.addNodeObject(<-node, machineAccountInfo: nil)\n }\n\n // If there is a delegator object in the account, put it in the staking collection\n if signer.storage.borrow<&FlowIDTableStaking.NodeDelegator>(from: FlowIDTableStaking.DelegatorStoragePath) != nil {\n let delegator <- signer.storage.load<@FlowIDTableStaking.NodeDelegator>(from: FlowIDTableStaking.DelegatorStoragePath)!\n collectionRef.addDelegatorObject(<-delegator)\n }\n }\n}\n", + "arguments": [], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", "gasLimit": 42, "proposalKey": { @@ -748,21 +744,25 @@ ], "payloadSigs": [] }, - "encodedTransactionPayloadHex": "f9027bb90206696d706f7274204c6f636b6564546f6b656e732066726f6d203078393565303139613137643065323364370a0a7472616e73616374696f6e28616d6f756e743a2055466978363429207b0a202020206c6574206e6f646544656c656761746f7250726f78793a204c6f636b6564546f6b656e732e4c6f636b65644e6f646544656c656761746f7250726f78790a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a20202020202020206c657420686f6c646572526566203d206163636f756e742e626f72726f773c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f726167655061746829200a2020202020202020202020203f3f2070616e69632822546f6b656e486f6c646572206973206e6f7420736176656420617420737065636966696564207061746822290a0a202020202020202073656c662e6e6f646544656c656761746f7250726f7879203d20686f6c6465725265662e626f72726f7744656c656761746f7228290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e6e6f646544656c656761746f7250726f78792e64656c6567617465556e7374616b6564546f6b656e7328616d6f756e743a20616d6f756e74290a202020207d0a7d0af1b07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", - "encodedTransactionEnvelopeHex": "f9027ff9027bb90206696d706f7274204c6f636b6564546f6b656e732066726f6d203078393565303139613137643065323364370a0a7472616e73616374696f6e28616d6f756e743a2055466978363429207b0a202020206c6574206e6f646544656c656761746f7250726f78793a204c6f636b6564546f6b656e732e4c6f636b65644e6f646544656c656761746f7250726f78790a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a20202020202020206c657420686f6c646572526566203d206163636f756e742e626f72726f773c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f726167655061746829200a2020202020202020202020203f3f2070616e69632822546f6b656e486f6c646572206973206e6f7420736176656420617420737065636966696564207061746822290a0a202020202020202073656c662e6e6f646544656c656761746f7250726f7879203d20686f6c6465725265662e626f72726f7744656c656761746f7228290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e6e6f646544656c656761746f7250726f78792e64656c6567617465556e7374616b6564546f6b656e7328616d6f756e743a20616d6f756e74290a202020207d0a7d0af1b07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", - "metadata": "028776b1521b04395754734f8f40d4a0482863274f8d832973d9e011b3cbb48c852027331b72d8710a1a05feb6ecebadb5858d134bc8c95d6f261319cd9fa1bb9552652d64656c656761746520556e7374616b656420464c4f57000101416d6f756e7400005546697836340003", - "hash": "8776b1521b04395754734f8f40d4a0482863274f8d832973d9e011b3cbb48c85" + "encodedTransactionPayloadHex": "f90df1b90dad696d706f72742046756e6769626c65546f6b656e2066726f6d203078396130373636643933623636303862370a696d706f727420466c6f77546f6b656e2066726f6d203078376536306466303432613963303836380a696d706f727420466c6f7749445461626c655374616b696e672066726f6d203078396563613262333862313862356466650a696d706f7274204c6f636b6564546f6b656e732066726f6d203078393565303139613137643065323364370a696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f2054686973207472616e73616374696f6e207365747320757020616e206163636f756e7420746f207573652061207374616b696e6720636f6c6c656374696f6e0a2f2f2f2049742077696c6c20776f726b207265676172646c657373206f66207768657468657220746865792068617665206120726567756c6172206163636f756e742c20612074776f2d6163636f756e74206c6f636b656420746f6b656e732073657475702c0a2f2f2f206f72207374616b696e67206f626a656374732073746f72656420696e2074686520756e6c6f636b6564206163636f756e740a0a7472616e73616374696f6e207b0a2020202070726570617265287369676e65723a206175746828426f72726f7756616c75652c2053746f726167652c204361706162696c69746965732920264163636f756e7429207b0a0a20202020202020202f2f2049662074686572652069736e277420616c72656164792061207374616b696e6720636f6c6c656374696f6e0a20202020202020206966207369676e65722e73746f726167652e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f726167655061746829203d3d206e696c207b0a0a2020202020202020202020202f2f204372656174652070726976617465206361706162696c697469657320666f722074686520746f6b656e20686f6c64657220616e6420756e6c6f636b6564207661756c740a2020202020202020202020206c6574206c6f636b6564486f6c646572203d207369676e65722e6361706162696c69746965732e73746f726167652e69737375653c617574682846756e6769626c65546f6b656e2e57697468647261772c204c6f636b6564546f6b656e732e546f6b656e4f7065726174696f6e732920264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e284c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f726167655061746829210a2020202020202020202020206c657420666c6f77546f6b656e203d207369676e65722e6361706162696c69746965732e73746f726167652e69737375653c617574682846756e6769626c65546f6b656e2e5769746864726177292026466c6f77546f6b656e2e5661756c743e282f73746f726167652f666c6f77546f6b656e5661756c7429210a0a2020202020202020202020202f2f204372656174652061206e6577205374616b696e6720436f6c6c656374696f6e20616e642070757420697420696e2073746f726167650a2020202020202020202020206966206c6f636b6564486f6c6465722e636865636b2829207b0a202020202020202020202020202020207369676e65722e73746f726167652e73617665280a20202020202020202020202020202020202020203c2d20466c6f775374616b696e67436f6c6c656374696f6e2e6372656174655374616b696e67436f6c6c656374696f6e280a202020202020202020202020202020202020202020202020756e6c6f636b65645661756c743a20666c6f77546f6b656e2c0a202020202020202020202020202020202020202020202020746f6b656e486f6c6465723a206c6f636b6564486f6c6465720a2020202020202020202020202020202020202020292c0a2020202020202020202020202020202020202020746f3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f72616765506174680a20202020202020202020202020202020290a2020202020202020202020207d20656c7365207b0a202020202020202020202020202020207369676e65722e73746f726167652e73617665280a20202020202020202020202020202020202020203c2d20466c6f775374616b696e67436f6c6c656374696f6e2e6372656174655374616b696e67436f6c6c656374696f6e280a202020202020202020202020202020202020202020202020756e6c6f636b65645661756c743a20666c6f77546f6b656e2c0a202020202020202020202020202020202020202020202020746f6b656e486f6c6465723a206e696c0a2020202020202020202020202020202020202020292c0a2020202020202020202020202020202020202020746f3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f72616765506174680a20202020202020202020202020202020290a2020202020202020202020207d0a0a2020202020202020202020202f2f205075626c6973682061206361706162696c69747920746f207468652063726561746564207374616b696e6720636f6c6c656374696f6e2e0a2020202020202020202020206c6574207374616b696e67436f6c6c656374696f6e436170203d207369676e65722e6361706162696c69746965732e73746f726167652e69737375653c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e280a20202020202020202020202020202020466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f72616765506174680a202020202020202020202020290a0a2020202020202020202020207369676e65722e6361706162696c69746965732e7075626c697368280a202020202020202020202020202020207374616b696e67436f6c6c656374696f6e4361702c0a2020202020202020202020202020202061743a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e5075626c6963506174680a202020202020202020202020290a20202020202020207d0a0a20202020202020202f2f20626f72726f772061207265666572656e636520746f20746865207374616b696e6720636f6c6c656374696f6e0a20202020202020206c657420636f6c6c656374696f6e526566203d207369676e65722e73746f726167652e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207374616b696e6720636f6c6c656374696f6e207265666572656e636522290a0a20202020202020202f2f2049662074686572652069732061206e6f6465207374616b6572206f626a65637420696e20746865206163636f756e742c2070757420697420696e20746865207374616b696e6720636f6c6c656374696f6e0a20202020202020206966207369676e65722e73746f726167652e626f72726f773c26466c6f7749445461626c655374616b696e672e4e6f64655374616b65723e2866726f6d3a20466c6f7749445461626c655374616b696e672e4e6f64655374616b657253746f72616765506174682920213d206e696c207b0a2020202020202020202020206c6574206e6f6465203c2d207369676e65722e73746f726167652e6c6f61643c40466c6f7749445461626c655374616b696e672e4e6f64655374616b65723e2866726f6d3a20466c6f7749445461626c655374616b696e672e4e6f64655374616b657253746f726167655061746829210a202020202020202020202020636f6c6c656374696f6e5265662e6164644e6f64654f626a656374283c2d6e6f64652c206d616368696e654163636f756e74496e666f3a206e696c290a20202020202020207d0a0a20202020202020202f2f20496620746865726520697320612064656c656761746f72206f626a65637420696e20746865206163636f756e742c2070757420697420696e20746865207374616b696e6720636f6c6c656374696f6e0a20202020202020206966207369676e65722e73746f726167652e626f72726f773c26466c6f7749445461626c655374616b696e672e4e6f646544656c656761746f723e2866726f6d3a20466c6f7749445461626c655374616b696e672e44656c656761746f7253746f72616765506174682920213d206e696c207b0a2020202020202020202020206c65742064656c656761746f72203c2d207369676e65722e73746f726167652e6c6f61643c40466c6f7749445461626c655374616b696e672e4e6f646544656c656761746f723e2866726f6d3a20466c6f7749445461626c655374616b696e672e44656c656761746f7253746f726167655061746829210a202020202020202020202020636f6c6c656374696f6e5265662e61646444656c656761746f724f626a656374283c2d64656c656761746f72290a20202020202020207d0a202020207d0a7d0ac0a0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", + "encodedTransactionEnvelopeHex": "f90df5f90df1b90dad696d706f72742046756e6769626c65546f6b656e2066726f6d203078396130373636643933623636303862370a696d706f727420466c6f77546f6b656e2066726f6d203078376536306466303432613963303836380a696d706f727420466c6f7749445461626c655374616b696e672066726f6d203078396563613262333862313862356466650a696d706f7274204c6f636b6564546f6b656e732066726f6d203078393565303139613137643065323364370a696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f2054686973207472616e73616374696f6e207365747320757020616e206163636f756e7420746f207573652061207374616b696e6720636f6c6c656374696f6e0a2f2f2f2049742077696c6c20776f726b207265676172646c657373206f66207768657468657220746865792068617665206120726567756c6172206163636f756e742c20612074776f2d6163636f756e74206c6f636b656420746f6b656e732073657475702c0a2f2f2f206f72207374616b696e67206f626a656374732073746f72656420696e2074686520756e6c6f636b6564206163636f756e740a0a7472616e73616374696f6e207b0a2020202070726570617265287369676e65723a206175746828426f72726f7756616c75652c2053746f726167652c204361706162696c69746965732920264163636f756e7429207b0a0a20202020202020202f2f2049662074686572652069736e277420616c72656164792061207374616b696e6720636f6c6c656374696f6e0a20202020202020206966207369676e65722e73746f726167652e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f726167655061746829203d3d206e696c207b0a0a2020202020202020202020202f2f204372656174652070726976617465206361706162696c697469657320666f722074686520746f6b656e20686f6c64657220616e6420756e6c6f636b6564207661756c740a2020202020202020202020206c6574206c6f636b6564486f6c646572203d207369676e65722e6361706162696c69746965732e73746f726167652e69737375653c617574682846756e6769626c65546f6b656e2e57697468647261772c204c6f636b6564546f6b656e732e546f6b656e4f7065726174696f6e732920264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e284c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f726167655061746829210a2020202020202020202020206c657420666c6f77546f6b656e203d207369676e65722e6361706162696c69746965732e73746f726167652e69737375653c617574682846756e6769626c65546f6b656e2e5769746864726177292026466c6f77546f6b656e2e5661756c743e282f73746f726167652f666c6f77546f6b656e5661756c7429210a0a2020202020202020202020202f2f204372656174652061206e6577205374616b696e6720436f6c6c656374696f6e20616e642070757420697420696e2073746f726167650a2020202020202020202020206966206c6f636b6564486f6c6465722e636865636b2829207b0a202020202020202020202020202020207369676e65722e73746f726167652e73617665280a20202020202020202020202020202020202020203c2d20466c6f775374616b696e67436f6c6c656374696f6e2e6372656174655374616b696e67436f6c6c656374696f6e280a202020202020202020202020202020202020202020202020756e6c6f636b65645661756c743a20666c6f77546f6b656e2c0a202020202020202020202020202020202020202020202020746f6b656e486f6c6465723a206c6f636b6564486f6c6465720a2020202020202020202020202020202020202020292c0a2020202020202020202020202020202020202020746f3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f72616765506174680a20202020202020202020202020202020290a2020202020202020202020207d20656c7365207b0a202020202020202020202020202020207369676e65722e73746f726167652e73617665280a20202020202020202020202020202020202020203c2d20466c6f775374616b696e67436f6c6c656374696f6e2e6372656174655374616b696e67436f6c6c656374696f6e280a202020202020202020202020202020202020202020202020756e6c6f636b65645661756c743a20666c6f77546f6b656e2c0a202020202020202020202020202020202020202020202020746f6b656e486f6c6465723a206e696c0a2020202020202020202020202020202020202020292c0a2020202020202020202020202020202020202020746f3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f72616765506174680a20202020202020202020202020202020290a2020202020202020202020207d0a0a2020202020202020202020202f2f205075626c6973682061206361706162696c69747920746f207468652063726561746564207374616b696e6720636f6c6c656374696f6e2e0a2020202020202020202020206c6574207374616b696e67436f6c6c656374696f6e436170203d207369676e65722e6361706162696c69746965732e73746f726167652e69737375653c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e280a20202020202020202020202020202020466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f72616765506174680a202020202020202020202020290a0a2020202020202020202020207369676e65722e6361706162696c69746965732e7075626c697368280a202020202020202020202020202020207374616b696e67436f6c6c656374696f6e4361702c0a2020202020202020202020202020202061743a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e5075626c6963506174680a202020202020202020202020290a20202020202020207d0a0a20202020202020202f2f20626f72726f772061207265666572656e636520746f20746865207374616b696e6720636f6c6c656374696f6e0a20202020202020206c657420636f6c6c656374696f6e526566203d207369676e65722e73746f726167652e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207374616b696e6720636f6c6c656374696f6e207265666572656e636522290a0a20202020202020202f2f2049662074686572652069732061206e6f6465207374616b6572206f626a65637420696e20746865206163636f756e742c2070757420697420696e20746865207374616b696e6720636f6c6c656374696f6e0a20202020202020206966207369676e65722e73746f726167652e626f72726f773c26466c6f7749445461626c655374616b696e672e4e6f64655374616b65723e2866726f6d3a20466c6f7749445461626c655374616b696e672e4e6f64655374616b657253746f72616765506174682920213d206e696c207b0a2020202020202020202020206c6574206e6f6465203c2d207369676e65722e73746f726167652e6c6f61643c40466c6f7749445461626c655374616b696e672e4e6f64655374616b65723e2866726f6d3a20466c6f7749445461626c655374616b696e672e4e6f64655374616b657253746f726167655061746829210a202020202020202020202020636f6c6c656374696f6e5265662e6164644e6f64654f626a656374283c2d6e6f64652c206d616368696e654163636f756e74496e666f3a206e696c290a20202020202020207d0a0a20202020202020202f2f20496620746865726520697320612064656c656761746f72206f626a65637420696e20746865206163636f756e742c2070757420697420696e20746865207374616b696e6720636f6c6c656374696f6e0a20202020202020206966207369676e65722e73746f726167652e626f72726f773c26466c6f7749445461626c655374616b696e672e4e6f646544656c656761746f723e2866726f6d3a20466c6f7749445461626c655374616b696e672e44656c656761746f7253746f72616765506174682920213d206e696c207b0a2020202020202020202020206c65742064656c656761746f72203c2d207369676e65722e73746f726167652e6c6f61643c40466c6f7749445461626c655374616b696e672e4e6f646544656c656761746f723e2866726f6d3a20466c6f7749445461626c655374616b696e672e44656c656761746f7253746f726167655061746829210a202020202020202020202020636f6c6c656374696f6e5265662e61646444656c656761746f724f626a656374283c2d64656c656761746f72290a20202020202020207d0a202020207d0a7d0ac0a0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", + "metadata": "02861784e7ac135a9cfec90decdff2e53971a4d63135db77bcef3b273b710b181469f30decc15bd78107c631e200963398e8ddbc58bb61e577d223725f348fc2d95365747570205374616b696e6720436f6c6c656374696f6e0000", + "hash": "861784e7ac135a9cfec90decdff2e53971a4d63135db77bcef3b273b710b1814" }, { - "title": "TH.21 - Re-delegate Rewarded FLOW", + "title": "SCO.02 - Register Delegator", "valid": true, "chainID": "Testnet", "payloadMessage": { - "script": "import LockedTokens from 0x95e019a17d0e23d7\n\ntransaction(amount: UFix64) {\n let nodeDelegatorProxy: LockedTokens.LockedNodeDelegatorProxy\n\n prepare(account: AuthAccount) {\n let holderRef = account.borrow<&LockedTokens.TokenHolder>(from: LockedTokens.TokenHolderStoragePath) \n ?? panic(\"TokenHolder is not saved at specified path\")\n \n self.nodeDelegatorProxy = holderRef.borrowDelegator()\n }\n\n execute {\n self.nodeDelegatorProxy.delegateRewardedTokens(amount: amount)\n }\n}\n", + "script": "import FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// Registers a delegator in the staking collection resource\n/// for the specified nodeID and the amount of tokens to commit\n\ntransaction(id: String, amount: UFix64) {\n \n let stakingCollectionRef: auth(FlowStakingCollection.CollectionOwner) &FlowStakingCollection.StakingCollection\n\n prepare(account: auth(BorrowValue) &Account) {\n self.stakingCollectionRef = account.storage.borrow(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow a reference to a StakingCollection in the primary user's account\")\n }\n\n execute {\n self.stakingCollectionRef.registerDelegator(nodeID: id, amount: amount) \n }\n}\n", "arguments": [ { - "type": "UFix64", - "value": "92233720368.54775808" + "type": "String", + "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" + }, + { + "value": "92233720368.54775808", + "type": "UFix64" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -778,11 +778,15 @@ ] }, "envelopeMessage": { - "script": "import LockedTokens from 0x95e019a17d0e23d7\n\ntransaction(amount: UFix64) {\n let nodeDelegatorProxy: LockedTokens.LockedNodeDelegatorProxy\n\n prepare(account: AuthAccount) {\n let holderRef = account.borrow<&LockedTokens.TokenHolder>(from: LockedTokens.TokenHolderStoragePath) \n ?? panic(\"TokenHolder is not saved at specified path\")\n \n self.nodeDelegatorProxy = holderRef.borrowDelegator()\n }\n\n execute {\n self.nodeDelegatorProxy.delegateRewardedTokens(amount: amount)\n }\n}\n", + "script": "import FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// Registers a delegator in the staking collection resource\n/// for the specified nodeID and the amount of tokens to commit\n\ntransaction(id: String, amount: UFix64) {\n \n let stakingCollectionRef: auth(FlowStakingCollection.CollectionOwner) &FlowStakingCollection.StakingCollection\n\n prepare(account: auth(BorrowValue) &Account) {\n self.stakingCollectionRef = account.storage.borrow(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow a reference to a StakingCollection in the primary user's account\")\n }\n\n execute {\n self.stakingCollectionRef.registerDelegator(nodeID: id, amount: amount) \n }\n}\n", "arguments": [ { - "type": "UFix64", - "value": "92233720368.54775808" + "type": "String", + "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" + }, + { + "value": "92233720368.54775808", + "type": "UFix64" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -798,71 +802,53 @@ ], "payloadSigs": [] }, - "encodedTransactionPayloadHex": "f90283b9020e696d706f7274204c6f636b6564546f6b656e732066726f6d203078393565303139613137643065323364370a0a7472616e73616374696f6e28616d6f756e743a2055466978363429207b0a202020206c6574206e6f646544656c656761746f7250726f78793a204c6f636b6564546f6b656e732e4c6f636b65644e6f646544656c656761746f7250726f78790a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a20202020202020206c657420686f6c646572526566203d206163636f756e742e626f72726f773c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f726167655061746829200a2020202020202020202020203f3f2070616e69632822546f6b656e486f6c646572206973206e6f7420736176656420617420737065636966696564207061746822290a20202020202020200a202020202020202073656c662e6e6f646544656c656761746f7250726f7879203d20686f6c6465725265662e626f72726f7744656c656761746f7228290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e6e6f646544656c656761746f7250726f78792e64656c65676174655265776172646564546f6b656e7328616d6f756e743a20616d6f756e74290a202020207d0a7d0af1b07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", - "encodedTransactionEnvelopeHex": "f90287f90283b9020e696d706f7274204c6f636b6564546f6b656e732066726f6d203078393565303139613137643065323364370a0a7472616e73616374696f6e28616d6f756e743a2055466978363429207b0a202020206c6574206e6f646544656c656761746f7250726f78793a204c6f636b6564546f6b656e732e4c6f636b65644e6f646544656c656761746f7250726f78790a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a20202020202020206c657420686f6c646572526566203d206163636f756e742e626f72726f773c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f726167655061746829200a2020202020202020202020203f3f2070616e69632822546f6b656e486f6c646572206973206e6f7420736176656420617420737065636966696564207061746822290a20202020202020200a202020202020202073656c662e6e6f646544656c656761746f7250726f7879203d20686f6c6465725265662e626f72726f7744656c656761746f7228290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e6e6f646544656c656761746f7250726f78792e64656c65676174655265776172646564546f6b656e7328616d6f756e743a20616d6f756e74290a202020207d0a7d0af1b07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", - "metadata": "026b40ffc9169abd75107a45da5974c7e502d38773275abb231d747e4760b7ebee864edbff384335ef21c26b3bcf17d36b2b1d894afbe2b203f58099cc457971e452652d64656c656761746520526577617264656420464c4f57000101416d6f756e7400005546697836340003", - "hash": "6b40ffc9169abd75107a45da5974c7e502d38773275abb231d747e4760b7ebee" + "encodedTransactionPayloadHex": "f90406b90332696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f2052656769737465727320612064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e207265736f757263650a2f2f2f20666f722074686520737065636966696564206e6f6465494420616e642074686520616d6f756e74206f6620746f6b656e7320746f20636f6d6d69740a0a7472616e73616374696f6e2869643a20537472696e672c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a206175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a206175746828426f72726f7756616c75652920264163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e73746f726167652e626f72726f773c6175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f2061205374616b696e67436f6c6c656374696f6e20696e20746865207072696d61727920757365722773206163636f756e7422290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e726567697374657244656c656761746f72286e6f646549443a2069642c20616d6f756e743a20616d6f756e74292020202020200a202020207d0a7d0af88fb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db07b2276616c7565223a2239323233333732303336382e3534373735383038222c2274797065223a22554669783634227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", + "encodedTransactionEnvelopeHex": "f9040af90406b90332696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f2052656769737465727320612064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e207265736f757263650a2f2f2f20666f722074686520737065636966696564206e6f6465494420616e642074686520616d6f756e74206f6620746f6b656e7320746f20636f6d6d69740a0a7472616e73616374696f6e2869643a20537472696e672c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a206175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a206175746828426f72726f7756616c75652920264163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e73746f726167652e626f72726f773c6175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f2061205374616b696e67436f6c6c656374696f6e20696e20746865207072696d61727920757365722773206163636f756e7422290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e726567697374657244656c656761746f72286e6f646549443a2069642c20616d6f756e743a20616d6f756e74292020202020200a202020207d0a7d0af88fb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db07b2276616c7565223a2239323233333732303336382e3534373735383038222c2274797065223a22554669783634227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", + "metadata": "02e093df9c425be9cdbee44bdbbd721f6aff523e41802a50cf0ff353873e9f94830a41e53ad3c9c1c16c8732dd8331b8ca66063617d433b01d4d09c4730044874452656769737465722044656c656761746f720002014e6f64652049440000537472696e67000301416d6f756e7400015546697836340003", + "hash": "e093df9c425be9cdbee44bdbbd721f6aff523e41802a50cf0ff353873e9f9483" }, { - "title": "TH.22 - Unstake Delegated FLOW", + "title": "SCO.03 - Register Node", "valid": true, "chainID": "Testnet", "payloadMessage": { - "script": "import LockedTokens from 0x95e019a17d0e23d7\n\ntransaction(amount: UFix64) {\n let nodeDelegatorProxy: LockedTokens.LockedNodeDelegatorProxy\n\n prepare(account: AuthAccount) {\n let holderRef = account.borrow<&LockedTokens.TokenHolder>(from: LockedTokens.TokenHolderStoragePath) \n ?? panic(\"TokenHolder is not saved at specified path\")\n \n self.nodeDelegatorProxy = holderRef.borrowDelegator()\n }\n\n execute {\n self.nodeDelegatorProxy.requestUnstaking(amount: amount)\n }\n}\n", + "script": "import Crypto\nimport FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// Registers a delegator in the staking collection resource\n/// for the specified node information and the amount of tokens to commit\n\ntransaction(id: String,\n role: UInt8,\n networkingAddress: String,\n networkingKey: String,\n stakingKey: String,\n amount: UFix64,\n machineAccountKey: String, \n machineAccountKeySignatureAlgorithm: UInt8, \n machineAccountKeyHashAlgorithm: UInt8) {\n\n let stakingCollectionRef: auth(FlowStakingCollection.CollectionOwner) &FlowStakingCollection.StakingCollection\n\n prepare(account: auth(BorrowValue) &Account) {\n self.stakingCollectionRef = account.storage.borrow(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow a reference to a StakingCollection in the primary user's account\")\n\n if let machineAccount = self.stakingCollectionRef.registerNode(\n id: id,\n role: role,\n networkingAddress: networkingAddress,\n networkingKey: networkingKey,\n stakingKey: stakingKey,\n amount: amount,\n payer: account\n ) {\n let sigAlgo = SignatureAlgorithm(rawValue: machineAccountKeySignatureAlgorithm)\n ?? panic(\"Could not get a signature algorithm from the raw enum value provided\")\n\n let hashAlgo = HashAlgorithm(rawValue: machineAccountKeyHashAlgorithm)\n ?? panic(\"Could not get a hash algorithm from the raw enum value provided\")\n \n let publicKey = PublicKey(\n\t\t\t publicKey: machineAccountKey.decodeHex(),\n\t\t\t signatureAlgorithm: sigAlgo\n\t\t )\n machineAccount.keys.add(publicKey: publicKey, hashAlgorithm: hashAlgo, weight: 1000.0)\n }\n }\n}\n", "arguments": [ { - "type": "UFix64", - "value": "92233720368.54775808" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "99a8ac2c71d4f6bd", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "99a8ac2c71d4f6bd", - "authorizers": [ - "99a8ac2c71d4f6bd" - ] - }, - "envelopeMessage": { - "script": "import LockedTokens from 0x95e019a17d0e23d7\n\ntransaction(amount: UFix64) {\n let nodeDelegatorProxy: LockedTokens.LockedNodeDelegatorProxy\n\n prepare(account: AuthAccount) {\n let holderRef = account.borrow<&LockedTokens.TokenHolder>(from: LockedTokens.TokenHolderStoragePath) \n ?? panic(\"TokenHolder is not saved at specified path\")\n \n self.nodeDelegatorProxy = holderRef.borrowDelegator()\n }\n\n execute {\n self.nodeDelegatorProxy.requestUnstaking(amount: amount)\n }\n}\n", - "arguments": [ + "type": "String", + "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" + }, { - "type": "UFix64", - "value": "92233720368.54775808" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "99a8ac2c71d4f6bd", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "99a8ac2c71d4f6bd", - "authorizers": [ - "99a8ac2c71d4f6bd" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f9027db90208696d706f7274204c6f636b6564546f6b656e732066726f6d203078393565303139613137643065323364370a0a7472616e73616374696f6e28616d6f756e743a2055466978363429207b0a202020206c6574206e6f646544656c656761746f7250726f78793a204c6f636b6564546f6b656e732e4c6f636b65644e6f646544656c656761746f7250726f78790a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a20202020202020206c657420686f6c646572526566203d206163636f756e742e626f72726f773c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f726167655061746829200a2020202020202020202020203f3f2070616e69632822546f6b656e486f6c646572206973206e6f7420736176656420617420737065636966696564207061746822290a20202020202020200a202020202020202073656c662e6e6f646544656c656761746f7250726f7879203d20686f6c6465725265662e626f72726f7744656c656761746f7228290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e6e6f646544656c656761746f7250726f78792e72657175657374556e7374616b696e6728616d6f756e743a20616d6f756e74290a202020207d0a7d0af1b07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", - "encodedTransactionEnvelopeHex": "f90281f9027db90208696d706f7274204c6f636b6564546f6b656e732066726f6d203078393565303139613137643065323364370a0a7472616e73616374696f6e28616d6f756e743a2055466978363429207b0a202020206c6574206e6f646544656c656761746f7250726f78793a204c6f636b6564546f6b656e732e4c6f636b65644e6f646544656c656761746f7250726f78790a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a20202020202020206c657420686f6c646572526566203d206163636f756e742e626f72726f773c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f726167655061746829200a2020202020202020202020203f3f2070616e69632822546f6b656e486f6c646572206973206e6f7420736176656420617420737065636966696564207061746822290a20202020202020200a202020202020202073656c662e6e6f646544656c656761746f7250726f7879203d20686f6c6465725265662e626f72726f7744656c656761746f7228290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e6e6f646544656c656761746f7250726f78792e72657175657374556e7374616b696e6728616d6f756e743a20616d6f756e74290a202020207d0a7d0af1b07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", - "metadata": "0261cbcd1c31bbfc9ceb4a5ac726e2f8b3d845a4fdf59b0ab23cbbfa8f16d7a024262aeddd3f49fd6222d706c02696bd7d359ba962b6c30232cc93d7cf4166a23e556e7374616b652044656c65676174656420464c4f57000101416d6f756e7400005546697836340003", - "hash": "61cbcd1c31bbfc9ceb4a5ac726e2f8b3d845a4fdf59b0ab23cbbfa8f16d7a024" - }, - { - "title": "TH.23 - Withdraw Unstaked FLOW", - "valid": true, - "chainID": "Testnet", - "payloadMessage": { - "script": "import LockedTokens from 0x95e019a17d0e23d7\n\ntransaction(amount: UFix64) {\n let nodeDelegatorProxy: LockedTokens.LockedNodeDelegatorProxy\n\n prepare(account: AuthAccount) {\n let holderRef = account.borrow<&LockedTokens.TokenHolder>(from: LockedTokens.TokenHolderStoragePath) \n ?? panic(\"TokenHolder is not saved at specified path\")\n \n self.nodeDelegatorProxy = holderRef.borrowDelegator()\n }\n\n execute {\n self.nodeDelegatorProxy.withdrawUnstakedTokens(amount: amount)\n }\n}\n", - "arguments": [ + "value": "1", + "type": "UInt8" + }, { - "type": "UFix64", - "value": "92233720368.54775808" + "value": "flow-node.test:3569", + "type": "String" + }, + { + "value": "1348307bc77c688e80049de9d081aa09755da33e6997605fa059db2144fc85e560cbe6f7da8d74b453f5916618cb8fd392c2db856f3e78221dc68db1b1d914e4", + "type": "String" + }, + { + "value": "9e9ae0d645fd5fd9050792e0b0daa82cc1686d9133afa0f81a784b375c42ae48567d1545e7a9e1965f2c1a32f73cf8575ebb7a967f6e4d104d2df78eb8be409135d12da0499b8a00771f642c1b9c49397f22b440439f036c3bdee82f5309dab3", + "type": "String" + }, + { + "value": "92233720368.54775808", + "type": "UFix64" + }, + { + "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164", + "type": "String" + }, + { + "value": "1", + "type": "UInt8" + }, + { + "value": "1", + "type": "UInt8" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -878,11 +864,43 @@ ] }, "envelopeMessage": { - "script": "import LockedTokens from 0x95e019a17d0e23d7\n\ntransaction(amount: UFix64) {\n let nodeDelegatorProxy: LockedTokens.LockedNodeDelegatorProxy\n\n prepare(account: AuthAccount) {\n let holderRef = account.borrow<&LockedTokens.TokenHolder>(from: LockedTokens.TokenHolderStoragePath) \n ?? panic(\"TokenHolder is not saved at specified path\")\n \n self.nodeDelegatorProxy = holderRef.borrowDelegator()\n }\n\n execute {\n self.nodeDelegatorProxy.withdrawUnstakedTokens(amount: amount)\n }\n}\n", + "script": "import Crypto\nimport FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// Registers a delegator in the staking collection resource\n/// for the specified node information and the amount of tokens to commit\n\ntransaction(id: String,\n role: UInt8,\n networkingAddress: String,\n networkingKey: String,\n stakingKey: String,\n amount: UFix64,\n machineAccountKey: String, \n machineAccountKeySignatureAlgorithm: UInt8, \n machineAccountKeyHashAlgorithm: UInt8) {\n\n let stakingCollectionRef: auth(FlowStakingCollection.CollectionOwner) &FlowStakingCollection.StakingCollection\n\n prepare(account: auth(BorrowValue) &Account) {\n self.stakingCollectionRef = account.storage.borrow(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow a reference to a StakingCollection in the primary user's account\")\n\n if let machineAccount = self.stakingCollectionRef.registerNode(\n id: id,\n role: role,\n networkingAddress: networkingAddress,\n networkingKey: networkingKey,\n stakingKey: stakingKey,\n amount: amount,\n payer: account\n ) {\n let sigAlgo = SignatureAlgorithm(rawValue: machineAccountKeySignatureAlgorithm)\n ?? panic(\"Could not get a signature algorithm from the raw enum value provided\")\n\n let hashAlgo = HashAlgorithm(rawValue: machineAccountKeyHashAlgorithm)\n ?? panic(\"Could not get a hash algorithm from the raw enum value provided\")\n \n let publicKey = PublicKey(\n\t\t\t publicKey: machineAccountKey.decodeHex(),\n\t\t\t signatureAlgorithm: sigAlgo\n\t\t )\n machineAccount.keys.add(publicKey: publicKey, hashAlgorithm: hashAlgo, weight: 1000.0)\n }\n }\n}\n", "arguments": [ { - "type": "UFix64", - "value": "92233720368.54775808" + "type": "String", + "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" + }, + { + "value": "1", + "type": "UInt8" + }, + { + "value": "flow-node.test:3569", + "type": "String" + }, + { + "value": "1348307bc77c688e80049de9d081aa09755da33e6997605fa059db2144fc85e560cbe6f7da8d74b453f5916618cb8fd392c2db856f3e78221dc68db1b1d914e4", + "type": "String" + }, + { + "value": "9e9ae0d645fd5fd9050792e0b0daa82cc1686d9133afa0f81a784b375c42ae48567d1545e7a9e1965f2c1a32f73cf8575ebb7a967f6e4d104d2df78eb8be409135d12da0499b8a00771f642c1b9c49397f22b440439f036c3bdee82f5309dab3", + "type": "String" + }, + { + "value": "92233720368.54775808", + "type": "UFix64" + }, + { + "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164", + "type": "String" + }, + { + "value": "1", + "type": "UInt8" + }, + { + "value": "1", + "type": "UInt8" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -898,21 +916,33 @@ ], "payloadSigs": [] }, - "encodedTransactionPayloadHex": "f90283b9020e696d706f7274204c6f636b6564546f6b656e732066726f6d203078393565303139613137643065323364370a0a7472616e73616374696f6e28616d6f756e743a2055466978363429207b0a202020206c6574206e6f646544656c656761746f7250726f78793a204c6f636b6564546f6b656e732e4c6f636b65644e6f646544656c656761746f7250726f78790a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a20202020202020206c657420686f6c646572526566203d206163636f756e742e626f72726f773c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f726167655061746829200a2020202020202020202020203f3f2070616e69632822546f6b656e486f6c646572206973206e6f7420736176656420617420737065636966696564207061746822290a20202020202020200a202020202020202073656c662e6e6f646544656c656761746f7250726f7879203d20686f6c6465725265662e626f72726f7744656c656761746f7228290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e6e6f646544656c656761746f7250726f78792e7769746864726177556e7374616b6564546f6b656e7328616d6f756e743a20616d6f756e74290a202020207d0a7d0af1b07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", - "encodedTransactionEnvelopeHex": "f90287f90283b9020e696d706f7274204c6f636b6564546f6b656e732066726f6d203078393565303139613137643065323364370a0a7472616e73616374696f6e28616d6f756e743a2055466978363429207b0a202020206c6574206e6f646544656c656761746f7250726f78793a204c6f636b6564546f6b656e732e4c6f636b65644e6f646544656c656761746f7250726f78790a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a20202020202020206c657420686f6c646572526566203d206163636f756e742e626f72726f773c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f726167655061746829200a2020202020202020202020203f3f2070616e69632822546f6b656e486f6c646572206973206e6f7420736176656420617420737065636966696564207061746822290a20202020202020200a202020202020202073656c662e6e6f646544656c656761746f7250726f7879203d20686f6c6465725265662e626f72726f7744656c656761746f7228290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e6e6f646544656c656761746f7250726f78792e7769746864726177556e7374616b6564546f6b656e7328616d6f756e743a20616d6f756e74290a202020207d0a7d0af1b07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", - "metadata": "022ae983f78e32b989fafa58ee7910b131fb51a2a74356f7916624695cb8bf596412675a013c064b6d0ef11dbf13f92210489bf2b3d299b2f14cd09be70b37577f576974686472617720556e7374616b656420464c4f57000101416d6f756e7400005546697836340003", - "hash": "2ae983f78e32b989fafa58ee7910b131fb51a2a74356f7916624695cb8bf5964" + "encodedTransactionPayloadHex": "f90b24b907a0696d706f72742043727970746f0a696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f2052656769737465727320612064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e207265736f757263650a2f2f2f20666f722074686520737065636966696564206e6f646520696e666f726d6174696f6e20616e642074686520616d6f756e74206f6620746f6b656e7320746f20636f6d6d69740a0a7472616e73616374696f6e2869643a20537472696e672c0a202020202020202020202020726f6c653a2055496e74382c0a2020202020202020202020206e6574776f726b696e67416464726573733a20537472696e672c0a2020202020202020202020206e6574776f726b696e674b65793a20537472696e672c0a2020202020202020202020207374616b696e674b65793a20537472696e672c0a202020202020202020202020616d6f756e743a205546697836342c0a2020202020202020202020206d616368696e654163636f756e744b65793a20537472696e672c200a2020202020202020202020206d616368696e654163636f756e744b65795369676e6174757265416c676f726974686d3a2055496e74382c200a2020202020202020202020206d616368696e654163636f756e744b657948617368416c676f726974686d3a2055496e743829207b0a0a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a206175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a206175746828426f72726f7756616c75652920264163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e73746f726167652e626f72726f773c6175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f2061205374616b696e67436f6c6c656374696f6e20696e20746865207072696d61727920757365722773206163636f756e7422290a0a20202020202020206966206c6574206d616368696e654163636f756e74203d2073656c662e7374616b696e67436f6c6c656374696f6e5265662e72656769737465724e6f6465280a20202020202020202020202069643a2069642c0a202020202020202020202020726f6c653a20726f6c652c0a2020202020202020202020206e6574776f726b696e67416464726573733a206e6574776f726b696e67416464726573732c0a2020202020202020202020206e6574776f726b696e674b65793a206e6574776f726b696e674b65792c0a2020202020202020202020207374616b696e674b65793a207374616b696e674b65792c0a202020202020202020202020616d6f756e743a20616d6f756e742c0a20202020202020202020202070617965723a206163636f756e740a202020202020202029207b0a2020202020202020202020206c657420736967416c676f203d205369676e6174757265416c676f726974686d2872617756616c75653a206d616368696e654163636f756e744b65795369676e6174757265416c676f726974686d290a202020202020202020202020202020203f3f2070616e69632822436f756c64206e6f74206765742061207369676e617475726520616c676f726974686d2066726f6d207468652072617720656e756d2076616c75652070726f766964656422290a0a2020202020202020202020206c65742068617368416c676f203d2048617368416c676f726974686d2872617756616c75653a206d616368696e654163636f756e744b657948617368416c676f726974686d290a202020202020202020202020202020203f3f2070616e69632822436f756c64206e6f74206765742061206861736820616c676f726974686d2066726f6d207468652072617720656e756d2076616c75652070726f766964656422290a2020202020202020202020200a2020202020202020202020206c6574207075626c69634b6579203d205075626c69634b6579280a090909202020207075626c69634b65793a206d616368696e654163636f756e744b65792e6465636f646548657828292c0a090909202020207369676e6174757265416c676f726974686d3a20736967416c676f0a090920202020290a2020202020202020202020206d616368696e654163636f756e742e6b6579732e616464287075626c69634b65793a207075626c69634b65792c2068617368416c676f726974686d3a2068617368416c676f2c207765696768743a20313030302e30290a20202020202020207d0a202020207d0a7d0af9033eb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227d9c7b2276616c7565223a2231222c2274797065223a2255496e7438227daf7b2276616c7565223a22666c6f772d6e6f64652e746573743a33353639222c2274797065223a22537472696e67227db89c7b2276616c7565223a223133343833303762633737633638386538303034396465396430383161613039373535646133336536393937363035666130353964623231343466633835653536306362653666376461386437346234353366353931363631386362386664333932633264623835366633653738323231646336386462316231643931346534222c2274797065223a22537472696e67227db8dc7b2276616c7565223a22396539616530643634356664356664393035303739326530623064616138326363313638366439313333616661306638316137383462333735633432616534383536376431353435653761396531393635663263316133326637336366383537356562623761393637663665346431303464326466373865623862653430393133356431326461303439396238613030373731663634326331623963343933393766323262343430343339663033366333626465653832663533303964616233222c2274797065223a22537472696e67227db07b2276616c7565223a2239323233333732303336382e3534373735383038222c2274797065223a22554669783634227db8aa7b2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634222c2274797065223a22537472696e67227d9c7b2276616c7565223a2231222c2274797065223a2255496e7438227d9c7b2276616c7565223a2231222c2274797065223a2255496e7438227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", + "encodedTransactionEnvelopeHex": "f90b28f90b24b907a0696d706f72742043727970746f0a696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f2052656769737465727320612064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e207265736f757263650a2f2f2f20666f722074686520737065636966696564206e6f646520696e666f726d6174696f6e20616e642074686520616d6f756e74206f6620746f6b656e7320746f20636f6d6d69740a0a7472616e73616374696f6e2869643a20537472696e672c0a202020202020202020202020726f6c653a2055496e74382c0a2020202020202020202020206e6574776f726b696e67416464726573733a20537472696e672c0a2020202020202020202020206e6574776f726b696e674b65793a20537472696e672c0a2020202020202020202020207374616b696e674b65793a20537472696e672c0a202020202020202020202020616d6f756e743a205546697836342c0a2020202020202020202020206d616368696e654163636f756e744b65793a20537472696e672c200a2020202020202020202020206d616368696e654163636f756e744b65795369676e6174757265416c676f726974686d3a2055496e74382c200a2020202020202020202020206d616368696e654163636f756e744b657948617368416c676f726974686d3a2055496e743829207b0a0a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a206175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a206175746828426f72726f7756616c75652920264163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e73746f726167652e626f72726f773c6175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f2061205374616b696e67436f6c6c656374696f6e20696e20746865207072696d61727920757365722773206163636f756e7422290a0a20202020202020206966206c6574206d616368696e654163636f756e74203d2073656c662e7374616b696e67436f6c6c656374696f6e5265662e72656769737465724e6f6465280a20202020202020202020202069643a2069642c0a202020202020202020202020726f6c653a20726f6c652c0a2020202020202020202020206e6574776f726b696e67416464726573733a206e6574776f726b696e67416464726573732c0a2020202020202020202020206e6574776f726b696e674b65793a206e6574776f726b696e674b65792c0a2020202020202020202020207374616b696e674b65793a207374616b696e674b65792c0a202020202020202020202020616d6f756e743a20616d6f756e742c0a20202020202020202020202070617965723a206163636f756e740a202020202020202029207b0a2020202020202020202020206c657420736967416c676f203d205369676e6174757265416c676f726974686d2872617756616c75653a206d616368696e654163636f756e744b65795369676e6174757265416c676f726974686d290a202020202020202020202020202020203f3f2070616e69632822436f756c64206e6f74206765742061207369676e617475726520616c676f726974686d2066726f6d207468652072617720656e756d2076616c75652070726f766964656422290a0a2020202020202020202020206c65742068617368416c676f203d2048617368416c676f726974686d2872617756616c75653a206d616368696e654163636f756e744b657948617368416c676f726974686d290a202020202020202020202020202020203f3f2070616e69632822436f756c64206e6f74206765742061206861736820616c676f726974686d2066726f6d207468652072617720656e756d2076616c75652070726f766964656422290a2020202020202020202020200a2020202020202020202020206c6574207075626c69634b6579203d205075626c69634b6579280a090909202020207075626c69634b65793a206d616368696e654163636f756e744b65792e6465636f646548657828292c0a090909202020207369676e6174757265416c676f726974686d3a20736967416c676f0a090920202020290a2020202020202020202020206d616368696e654163636f756e742e6b6579732e616464287075626c69634b65793a207075626c69634b65792c2068617368416c676f726974686d3a2068617368416c676f2c207765696768743a20313030302e30290a20202020202020207d0a202020207d0a7d0af9033eb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227d9c7b2276616c7565223a2231222c2274797065223a2255496e7438227daf7b2276616c7565223a22666c6f772d6e6f64652e746573743a33353639222c2274797065223a22537472696e67227db89c7b2276616c7565223a223133343833303762633737633638386538303034396465396430383161613039373535646133336536393937363035666130353964623231343466633835653536306362653666376461386437346234353366353931363631386362386664333932633264623835366633653738323231646336386462316231643931346534222c2274797065223a22537472696e67227db8dc7b2276616c7565223a22396539616530643634356664356664393035303739326530623064616138326363313638366439313333616661306638316137383462333735633432616534383536376431353435653761396531393635663263316133326637336366383537356562623761393637663665346431303464326466373865623862653430393133356431326461303439396238613030373731663634326331623963343933393766323262343430343339663033366333626465653832663533303964616233222c2274797065223a22537472696e67227db07b2276616c7565223a2239323233333732303336382e3534373735383038222c2274797065223a22554669783634227db8aa7b2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634222c2274797065223a22537472696e67227d9c7b2276616c7565223a2231222c2274797065223a2255496e7438227d9c7b2276616c7565223a2231222c2274797065223a2255496e7438227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", + "metadata": "02deb5f758f3eb3b125cd9b14a6528f18d535377709fcef41e743751eb828009213b0b2bbc3a2ad674122c182112f7008a8d3d1b60b107033c0ebe7bbe50df52675265676973746572204e6f64650009014e6f64652049440000537472696e670003014e6f646520526f6c65000155496e74380003014e6574772e20416464726573730002537472696e670003014e6574772e204b65790003537472696e670003015374616b696e67204b65790004537472696e67000301416d6f756e7400055546697836340003014d41205075624b65790006537472696e670003014d412053416c67000755496e74380003014d412048416c67000855496e74380003", + "hash": "deb5f758f3eb3b125cd9b14a6528f18d535377709fcef41e743751eb82800921" }, { - "title": "TH.24 - Withdraw Rewarded FLOW", + "title": "SCO.04 - Create Machine Account", "valid": true, "chainID": "Testnet", "payloadMessage": { - "script": "import LockedTokens from 0x95e019a17d0e23d7\nimport FlowToken from 0x7e60df042a9c0868\n\ntransaction(amount: UFix64) {\n\n let holderRef: &LockedTokens.TokenHolder\n let vaultRef: &FlowToken.Vault\n\n prepare(account: AuthAccount) {\n self.holderRef = account.borrow<&LockedTokens.TokenHolder>(from: LockedTokens.TokenHolderStoragePath) \n ?? panic(\"Could not borrow reference to TokenHolder\")\n\n self.vaultRef = account.borrow<&FlowToken.Vault>(from: /storage/flowTokenVault)\n ?? panic(\"Could not borrow reference to FlowToken value\")\n }\n\n execute {\n let delegatorProxy = self.holderRef.borrowDelegator()\n\n delegatorProxy.withdrawRewardedTokens(amount: amount)\n self.vaultRef.deposit(from: <-self.holderRef.withdraw(amount: amount))\n }\n}\n", + "script": "import Crypto\nimport FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// Creates a machine account for a node that is already in the staking collection\n/// and adds public keys to the new account\n\ntransaction(nodeID: String, \n machineAccountKey: String, \n machineAccountKeySignatureAlgorithm: UInt8, \n machineAccountKeyHashAlgorithm: UInt8) {\n \n let stakingCollectionRef: auth(FlowStakingCollection.CollectionOwner) &FlowStakingCollection.StakingCollection\n\n prepare(account: auth(BorrowValue) &Account) {\n self.stakingCollectionRef = account.storage.borrow(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow a reference to a StakingCollection in the primary user's account\")\n\n if let machineAccount = self.stakingCollectionRef.createMachineAccountForExistingNode(nodeID: nodeID, payer: account) {\n let sigAlgo = SignatureAlgorithm(rawValue: machineAccountKeySignatureAlgorithm)\n ?? panic(\"Could not get a signature algorithm from the raw enum value provided\")\n\n let hashAlgo = HashAlgorithm(rawValue: machineAccountKeyHashAlgorithm)\n ?? panic(\"Could not get a hash algorithm from the raw enum value provided\")\n \n let publicKey = PublicKey(\n\t\t\t publicKey: machineAccountKey.decodeHex(),\n\t\t\t signatureAlgorithm: sigAlgo\n\t\t )\n machineAccount.keys.add(publicKey: publicKey, hashAlgorithm: hashAlgo, weight: 1000.0)\n } else {\n panic(\"Could not create a machine account for the node\")\n }\n }\n}\n", "arguments": [ { - "type": "UFix64", - "value": "92233720368.54775808" + "type": "String", + "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" + }, + { + "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164", + "type": "String" + }, + { + "value": "1", + "type": "UInt8" + }, + { + "value": "1", + "type": "UInt8" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -928,11 +958,23 @@ ] }, "envelopeMessage": { - "script": "import LockedTokens from 0x95e019a17d0e23d7\nimport FlowToken from 0x7e60df042a9c0868\n\ntransaction(amount: UFix64) {\n\n let holderRef: &LockedTokens.TokenHolder\n let vaultRef: &FlowToken.Vault\n\n prepare(account: AuthAccount) {\n self.holderRef = account.borrow<&LockedTokens.TokenHolder>(from: LockedTokens.TokenHolderStoragePath) \n ?? panic(\"Could not borrow reference to TokenHolder\")\n\n self.vaultRef = account.borrow<&FlowToken.Vault>(from: /storage/flowTokenVault)\n ?? panic(\"Could not borrow reference to FlowToken value\")\n }\n\n execute {\n let delegatorProxy = self.holderRef.borrowDelegator()\n\n delegatorProxy.withdrawRewardedTokens(amount: amount)\n self.vaultRef.deposit(from: <-self.holderRef.withdraw(amount: amount))\n }\n}\n", + "script": "import Crypto\nimport FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// Creates a machine account for a node that is already in the staking collection\n/// and adds public keys to the new account\n\ntransaction(nodeID: String, \n machineAccountKey: String, \n machineAccountKeySignatureAlgorithm: UInt8, \n machineAccountKeyHashAlgorithm: UInt8) {\n \n let stakingCollectionRef: auth(FlowStakingCollection.CollectionOwner) &FlowStakingCollection.StakingCollection\n\n prepare(account: auth(BorrowValue) &Account) {\n self.stakingCollectionRef = account.storage.borrow(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow a reference to a StakingCollection in the primary user's account\")\n\n if let machineAccount = self.stakingCollectionRef.createMachineAccountForExistingNode(nodeID: nodeID, payer: account) {\n let sigAlgo = SignatureAlgorithm(rawValue: machineAccountKeySignatureAlgorithm)\n ?? panic(\"Could not get a signature algorithm from the raw enum value provided\")\n\n let hashAlgo = HashAlgorithm(rawValue: machineAccountKeyHashAlgorithm)\n ?? panic(\"Could not get a hash algorithm from the raw enum value provided\")\n \n let publicKey = PublicKey(\n\t\t\t publicKey: machineAccountKey.decodeHex(),\n\t\t\t signatureAlgorithm: sigAlgo\n\t\t )\n machineAccount.keys.add(publicKey: publicKey, hashAlgorithm: hashAlgo, weight: 1000.0)\n } else {\n panic(\"Could not create a machine account for the node\")\n }\n }\n}\n", "arguments": [ { - "type": "UFix64", - "value": "92233720368.54775808" + "type": "String", + "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" + }, + { + "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164", + "type": "String" + }, + { + "value": "1", + "type": "UInt8" + }, + { + "value": "1", + "type": "UInt8" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -948,21 +990,29 @@ ], "payloadSigs": [] }, - "encodedTransactionPayloadHex": "f90398b90323696d706f7274204c6f636b6564546f6b656e732066726f6d203078393565303139613137643065323364370a696d706f727420466c6f77546f6b656e2066726f6d203078376536306466303432613963303836380a0a7472616e73616374696f6e28616d6f756e743a2055466978363429207b0a0a202020206c657420686f6c6465725265663a20264c6f636b6564546f6b656e732e546f6b656e486f6c6465720a202020206c6574207661756c745265663a2026466c6f77546f6b656e2e5661756c740a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e686f6c646572526566203d206163636f756e742e626f72726f773c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f726167655061746829200a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f20546f6b656e486f6c64657222290a0a202020202020202073656c662e7661756c74526566203d206163636f756e742e626f72726f773c26466c6f77546f6b656e2e5661756c743e2866726f6d3a202f73746f726167652f666c6f77546f6b656e5661756c74290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f20466c6f77546f6b656e2076616c756522290a202020207d0a0a2020202065786563757465207b0a20202020202020206c65742064656c656761746f7250726f7879203d2073656c662e686f6c6465725265662e626f72726f7744656c656761746f7228290a0a202020202020202064656c656761746f7250726f78792e77697468647261775265776172646564546f6b656e7328616d6f756e743a20616d6f756e74290a202020202020202073656c662e7661756c745265662e6465706f7369742866726f6d3a203c2d73656c662e686f6c6465725265662e776974686472617728616d6f756e743a20616d6f756e7429290a202020207d0a7d0af1b07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", - "encodedTransactionEnvelopeHex": "f9039cf90398b90323696d706f7274204c6f636b6564546f6b656e732066726f6d203078393565303139613137643065323364370a696d706f727420466c6f77546f6b656e2066726f6d203078376536306466303432613963303836380a0a7472616e73616374696f6e28616d6f756e743a2055466978363429207b0a0a202020206c657420686f6c6465725265663a20264c6f636b6564546f6b656e732e546f6b656e486f6c6465720a202020206c6574207661756c745265663a2026466c6f77546f6b656e2e5661756c740a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e686f6c646572526566203d206163636f756e742e626f72726f773c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f726167655061746829200a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f20546f6b656e486f6c64657222290a0a202020202020202073656c662e7661756c74526566203d206163636f756e742e626f72726f773c26466c6f77546f6b656e2e5661756c743e2866726f6d3a202f73746f726167652f666c6f77546f6b656e5661756c74290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f20466c6f77546f6b656e2076616c756522290a202020207d0a0a2020202065786563757465207b0a20202020202020206c65742064656c656761746f7250726f7879203d2073656c662e686f6c6465725265662e626f72726f7744656c656761746f7228290a0a202020202020202064656c656761746f7250726f78792e77697468647261775265776172646564546f6b656e7328616d6f756e743a20616d6f756e74290a202020202020202073656c662e7661756c745265662e6465706f7369742866726f6d3a203c2d73656c662e686f6c6465725265662e776974686472617728616d6f756e743a20616d6f756e7429290a202020207d0a7d0af1b07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", - "metadata": "02385042aa453566fcff0b2bd418b837d8f46fbc23b1b46e6651b25a395bc04be8239ffa449eae5560eec3e99633dcf9c63b1e9c99996d1c5636644dceef9ec44b576974686472617720526577617264656420464c4f57000101416d6f756e7400005546697836340003", - "hash": "385042aa453566fcff0b2bd418b837d8f46fbc23b1b46e6651b25a395bc04be8" + "encodedTransactionPayloadHex": "f9082bb906a1696d706f72742043727970746f0a696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f20437265617465732061206d616368696e65206163636f756e7420666f722061206e6f6465207468617420697320616c726561647920696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f20616e642061646473207075626c6963206b65797320746f20746865206e6577206163636f756e740a0a7472616e73616374696f6e286e6f646549443a20537472696e672c200a2020202020202020202020206d616368696e654163636f756e744b65793a20537472696e672c200a2020202020202020202020206d616368696e654163636f756e744b65795369676e6174757265416c676f726974686d3a2055496e74382c200a2020202020202020202020206d616368696e654163636f756e744b657948617368416c676f726974686d3a2055496e743829207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a206175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a206175746828426f72726f7756616c75652920264163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e73746f726167652e626f72726f773c6175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f2061205374616b696e67436f6c6c656374696f6e20696e20746865207072696d61727920757365722773206163636f756e7422290a0a20202020202020206966206c6574206d616368696e654163636f756e74203d2073656c662e7374616b696e67436f6c6c656374696f6e5265662e6372656174654d616368696e654163636f756e74466f724578697374696e674e6f6465286e6f646549443a206e6f646549442c2070617965723a206163636f756e7429207b0a2020202020202020202020206c657420736967416c676f203d205369676e6174757265416c676f726974686d2872617756616c75653a206d616368696e654163636f756e744b65795369676e6174757265416c676f726974686d290a202020202020202020202020202020203f3f2070616e69632822436f756c64206e6f74206765742061207369676e617475726520616c676f726974686d2066726f6d207468652072617720656e756d2076616c75652070726f766964656422290a0a2020202020202020202020206c65742068617368416c676f203d2048617368416c676f726974686d2872617756616c75653a206d616368696e654163636f756e744b657948617368416c676f726974686d290a202020202020202020202020202020203f3f2070616e69632822436f756c64206e6f74206765742061206861736820616c676f726974686d2066726f6d207468652072617720656e756d2076616c75652070726f766964656422290a2020202020202020202020200a2020202020202020202020206c6574207075626c69634b6579203d205075626c69634b6579280a090909202020207075626c69634b65793a206d616368696e654163636f756e744b65792e6465636f646548657828292c0a090909202020207369676e6174757265416c676f726974686d3a20736967416c676f0a090920202020290a2020202020202020202020206d616368696e654163636f756e742e6b6579732e616464287075626c69634b65793a207075626c69634b65792c2068617368416c676f726974686d3a2068617368416c676f2c207765696768743a20313030302e30290a20202020202020207d20656c7365207b0a20202020202020202020202070616e69632822436f756c64206e6f74206372656174652061206d616368696e65206163636f756e7420666f7220746865206e6f646522290a20202020202020207d0a202020207d0a7d0af90144b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db8aa7b2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634222c2274797065223a22537472696e67227d9c7b2276616c7565223a2231222c2274797065223a2255496e7438227d9c7b2276616c7565223a2231222c2274797065223a2255496e7438227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", + "encodedTransactionEnvelopeHex": "f9082ff9082bb906a1696d706f72742043727970746f0a696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f20437265617465732061206d616368696e65206163636f756e7420666f722061206e6f6465207468617420697320616c726561647920696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f20616e642061646473207075626c6963206b65797320746f20746865206e6577206163636f756e740a0a7472616e73616374696f6e286e6f646549443a20537472696e672c200a2020202020202020202020206d616368696e654163636f756e744b65793a20537472696e672c200a2020202020202020202020206d616368696e654163636f756e744b65795369676e6174757265416c676f726974686d3a2055496e74382c200a2020202020202020202020206d616368696e654163636f756e744b657948617368416c676f726974686d3a2055496e743829207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a206175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a206175746828426f72726f7756616c75652920264163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e73746f726167652e626f72726f773c6175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f2061205374616b696e67436f6c6c656374696f6e20696e20746865207072696d61727920757365722773206163636f756e7422290a0a20202020202020206966206c6574206d616368696e654163636f756e74203d2073656c662e7374616b696e67436f6c6c656374696f6e5265662e6372656174654d616368696e654163636f756e74466f724578697374696e674e6f6465286e6f646549443a206e6f646549442c2070617965723a206163636f756e7429207b0a2020202020202020202020206c657420736967416c676f203d205369676e6174757265416c676f726974686d2872617756616c75653a206d616368696e654163636f756e744b65795369676e6174757265416c676f726974686d290a202020202020202020202020202020203f3f2070616e69632822436f756c64206e6f74206765742061207369676e617475726520616c676f726974686d2066726f6d207468652072617720656e756d2076616c75652070726f766964656422290a0a2020202020202020202020206c65742068617368416c676f203d2048617368416c676f726974686d2872617756616c75653a206d616368696e654163636f756e744b657948617368416c676f726974686d290a202020202020202020202020202020203f3f2070616e69632822436f756c64206e6f74206765742061206861736820616c676f726974686d2066726f6d207468652072617720656e756d2076616c75652070726f766964656422290a2020202020202020202020200a2020202020202020202020206c6574207075626c69634b6579203d205075626c69634b6579280a090909202020207075626c69634b65793a206d616368696e654163636f756e744b65792e6465636f646548657828292c0a090909202020207369676e6174757265416c676f726974686d3a20736967416c676f0a090920202020290a2020202020202020202020206d616368696e654163636f756e742e6b6579732e616464287075626c69634b65793a207075626c69634b65792c2068617368416c676f726974686d3a2068617368416c676f2c207765696768743a20313030302e30290a20202020202020207d20656c7365207b0a20202020202020202020202070616e69632822436f756c64206e6f74206372656174652061206d616368696e65206163636f756e7420666f7220746865206e6f646522290a20202020202020207d0a202020207d0a7d0af90144b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db8aa7b2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634222c2274797065223a22537472696e67227d9c7b2276616c7565223a2231222c2274797065223a2255496e7438227d9c7b2276616c7565223a2231222c2274797065223a2255496e7438227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", + "metadata": "024c1ad61500bcd0d32d7aa7eb84ca9b7417219ed6d524e05de8c55fb7d50940e4f0a6cedb6703cd4ce4cc3b735e5edb5a7e5b17a87a725343d745e5d53b7c0a01437265617465204d616368696e65204163636f756e740004014e6f64652049440000537472696e670003014d41205075624b65790001537472696e670003014d412053416c67000255496e74380003014d412048416c67000355496e74380003", + "hash": "4c1ad61500bcd0d32d7aa7eb84ca9b7417219ed6d524e05de8c55fb7d50940e4" }, { - "title": "TH.25 - Update Networking Address", + "title": "SCO.05 - Request Unstaking - 1", "valid": true, "chainID": "Testnet", "payloadMessage": { - "script": "import FlowIDTableStaking from 0x9eca2b38b18b5dfe\n\ntransaction(newAddress: String) {\n\n // Local variable for a reference to the node object\n let stakerRef: &FlowIDTableStaking.NodeStaker\n\n prepare(acct: AuthAccount) {\n // borrow a reference to the node object\n self.stakerRef = acct.borrow<&FlowIDTableStaking.NodeStaker>(from: FlowIDTableStaking.NodeStakerStoragePath)\n ?? panic(\"Could not borrow reference to staking admin\")\n }\n\n execute {\n\n self.stakerRef.updateNetworkingAddress(newAddress)\n\n }\n}", + "script": "import FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// Requests unstaking for the specified node or delegator in the staking collection\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: auth(FlowStakingCollection.CollectionOwner) &FlowStakingCollection.StakingCollection\n\n prepare(account: auth(BorrowValue) &Account) {\n self.stakingCollectionRef = account.storage.borrow(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow a reference to a StakingCollection in the primary user's account\")\n }\n\n execute {\n self.stakingCollectionRef.requestUnstaking(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", "arguments": [ { "type": "String", - "value": "flow-node.test:3569" + "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" + }, + { + "value": null, + "type": "Optional" + }, + { + "value": "92233720368.54775808", + "type": "UFix64" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -978,11 +1028,19 @@ ] }, "envelopeMessage": { - "script": "import FlowIDTableStaking from 0x9eca2b38b18b5dfe\n\ntransaction(newAddress: String) {\n\n // Local variable for a reference to the node object\n let stakerRef: &FlowIDTableStaking.NodeStaker\n\n prepare(acct: AuthAccount) {\n // borrow a reference to the node object\n self.stakerRef = acct.borrow<&FlowIDTableStaking.NodeStaker>(from: FlowIDTableStaking.NodeStakerStoragePath)\n ?? panic(\"Could not borrow reference to staking admin\")\n }\n\n execute {\n\n self.stakerRef.updateNetworkingAddress(newAddress)\n\n }\n}", + "script": "import FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// Requests unstaking for the specified node or delegator in the staking collection\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: auth(FlowStakingCollection.CollectionOwner) &FlowStakingCollection.StakingCollection\n\n prepare(account: auth(BorrowValue) &Account) {\n self.stakingCollectionRef = account.storage.borrow(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow a reference to a StakingCollection in the primary user's account\")\n }\n\n execute {\n self.stakingCollectionRef.requestUnstaking(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", "arguments": [ { "type": "String", - "value": "flow-node.test:3569" + "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" + }, + { + "value": null, + "type": "Optional" + }, + { + "value": "92233720368.54775808", + "type": "UFix64" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -998,18 +1056,34 @@ ], "payloadSigs": [] }, - "encodedTransactionPayloadHex": "f9029ab90226696d706f727420466c6f7749445461626c655374616b696e672066726f6d203078396563613262333862313862356466650a0a7472616e73616374696f6e286e6577416464726573733a20537472696e6729207b0a0a202020202f2f204c6f63616c207661726961626c6520666f722061207265666572656e636520746f20746865206e6f6465206f626a6563740a202020206c6574207374616b65725265663a2026466c6f7749445461626c655374616b696e672e4e6f64655374616b65720a0a202020207072657061726528616363743a20417574684163636f756e7429207b0a20202020202020202f2f20626f72726f772061207265666572656e636520746f20746865206e6f6465206f626a6563740a202020202020202073656c662e7374616b6572526566203d20616363742e626f72726f773c26466c6f7749445461626c655374616b696e672e4e6f64655374616b65723e2866726f6d3a20466c6f7749445461626c655374616b696e672e4e6f64655374616b657253746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f207374616b696e672061646d696e22290a202020207d0a0a2020202065786563757465207b0a0a202020202020202073656c662e7374616b65725265662e7570646174654e6574776f726b696e6741646472657373286e657741646472657373290a0a202020207d0a7df0af7b2274797065223a22537472696e67222c2276616c7565223a22666c6f772d6e6f64652e746573743a33353639227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", - "encodedTransactionEnvelopeHex": "f9029ef9029ab90226696d706f727420466c6f7749445461626c655374616b696e672066726f6d203078396563613262333862313862356466650a0a7472616e73616374696f6e286e6577416464726573733a20537472696e6729207b0a0a202020202f2f204c6f63616c207661726961626c6520666f722061207265666572656e636520746f20746865206e6f6465206f626a6563740a202020206c6574207374616b65725265663a2026466c6f7749445461626c655374616b696e672e4e6f64655374616b65720a0a202020207072657061726528616363743a20417574684163636f756e7429207b0a20202020202020202f2f20626f72726f772061207265666572656e636520746f20746865206e6f6465206f626a6563740a202020202020202073656c662e7374616b6572526566203d20616363742e626f72726f773c26466c6f7749445461626c655374616b696e672e4e6f64655374616b65723e2866726f6d3a20466c6f7749445461626c655374616b696e672e4e6f64655374616b657253746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f207374616b696e672061646d696e22290a202020207d0a0a2020202065786563757465207b0a0a202020202020202073656c662e7374616b65725265662e7570646174654e6574776f726b696e6741646472657373286e657741646472657373290a0a202020207d0a7df0af7b2274797065223a22537472696e67222c2276616c7565223a22666c6f772d6e6f64652e746573743a33353639227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", - "metadata": "026cbe81c71d2b04dc403ea0db89377f0abc5db14d3d2bd014397b2776aa29bc3ee79cb076f2f7da7a3039b5061916e081a823087f1560bdf3caea773992892873557064617465204e6574776f726b696e672041646472657373000101416464726573730000537472696e670003", - "hash": "6cbe81c71d2b04dc403ea0db89377f0abc5db14d3d2bd014397b2776aa29bc3e" + "encodedTransactionPayloadHex": "f90430b9033b696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f20526571756573747320756e7374616b696e6720666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a206175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a206175746828426f72726f7756616c75652920264163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e73746f726167652e626f72726f773c6175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f2061205374616b696e67436f6c6c656374696f6e20696e20746865207072696d61727920757365722773206163636f756e7422290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e72657175657374556e7374616b696e67286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8b0b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227da07b2276616c7565223a6e756c6c2c2274797065223a224f7074696f6e616c227db07b2276616c7565223a2239323233333732303336382e3534373735383038222c2274797065223a22554669783634227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", + "encodedTransactionEnvelopeHex": "f90434f90430b9033b696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f20526571756573747320756e7374616b696e6720666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a206175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a206175746828426f72726f7756616c75652920264163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e73746f726167652e626f72726f773c6175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f2061205374616b696e67436f6c6c656374696f6e20696e20746865207072696d61727920757365722773206163636f756e7422290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e72657175657374556e7374616b696e67286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8b0b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227da07b2276616c7565223a6e756c6c2c2274797065223a224f7074696f6e616c227db07b2276616c7565223a2239323233333732303336382e3534373735383038222c2274797065223a22554669783634227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", + "metadata": "022d59f2c2c402f919c8dba30009e31480d54e2b250d2e10456e1ff029bd7cce99f26c058a127500fcd8445ba9fcf55149fe8f1a1a7cd212688d13fcd6ee2765295265717565737420556e7374616b696e670003014e6f64652049440000537472696e6700030244656c656761746f72204944000155496e743332000301416d6f756e7400025546697836340003", + "hash": "2d59f2c2c402f919c8dba30009e31480d54e2b250d2e10456e1ff029bd7cce99" }, { - "title": "SCO.01 - Setup Staking Collection", + "title": "SCO.05 - Request Unstaking - 2", "valid": true, "chainID": "Testnet", "payloadMessage": { - "script": "import FungibleToken from 0x9a0766d93b6608b7\nimport FlowToken from 0x7e60df042a9c0868\nimport FlowIDTableStaking from 0x9eca2b38b18b5dfe\nimport LockedTokens from 0x95e019a17d0e23d7\nimport FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// This transaction sets up an account to use a staking collection\n/// It will work regardless of whether they have a regular account, a two-account locked tokens setup,\n/// or staking objects stored in the unlocked account\n\ntransaction {\n prepare(signer: AuthAccount) {\n\n // If there isn't already a staking collection\n if signer.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath) == nil {\n\n // Create private capabilities for the token holder and unlocked vault\n let lockedHolder = signer.link<&LockedTokens.TokenHolder>(/private/flowTokenHolder, target: LockedTokens.TokenHolderStoragePath)!\n let flowToken = signer.link<&FlowToken.Vault>(/private/flowTokenVault, target: /storage/flowTokenVault)!\n \n // Create a new Staking Collection and put it in storage\n if lockedHolder.check() {\n signer.save(<-FlowStakingCollection.createStakingCollection(unlockedVault: flowToken, tokenHolder: lockedHolder), to: FlowStakingCollection.StakingCollectionStoragePath)\n } else {\n signer.save(<-FlowStakingCollection.createStakingCollection(unlockedVault: flowToken, tokenHolder: nil), to: FlowStakingCollection.StakingCollectionStoragePath)\n }\n\n // Create a public link to the staking collection\n signer.link<&FlowStakingCollection.StakingCollection{FlowStakingCollection.StakingCollectionPublic}>(\n FlowStakingCollection.StakingCollectionPublicPath,\n target: FlowStakingCollection.StakingCollectionStoragePath\n )\n }\n\n // borrow a reference to the staking collection\n let collectionRef = signer.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow staking collection reference\")\n\n // If there is a node staker object in the account, put it in the staking collection\n if signer.borrow<&FlowIDTableStaking.NodeStaker>(from: FlowIDTableStaking.NodeStakerStoragePath) != nil {\n let node <- signer.load<@FlowIDTableStaking.NodeStaker>(from: FlowIDTableStaking.NodeStakerStoragePath)!\n collectionRef.addNodeObject(<-node, machineAccountInfo: nil)\n }\n\n // If there is a delegator object in the account, put it in the staking collection\n if signer.borrow<&FlowIDTableStaking.NodeDelegator>(from: FlowIDTableStaking.DelegatorStoragePath) != nil {\n let delegator <- signer.load<@FlowIDTableStaking.NodeDelegator>(from: FlowIDTableStaking.DelegatorStoragePath)!\n collectionRef.addDelegatorObject(<-delegator)\n }\n }\n}\n", - "arguments": [], + "script": "import FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// Requests unstaking for the specified node or delegator in the staking collection\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: auth(FlowStakingCollection.CollectionOwner) &FlowStakingCollection.StakingCollection\n\n prepare(account: auth(BorrowValue) &Account) {\n self.stakingCollectionRef = account.storage.borrow(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow a reference to a StakingCollection in the primary user's account\")\n }\n\n execute {\n self.stakingCollectionRef.requestUnstaking(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", + "arguments": [ + { + "type": "String", + "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" + }, + { + "value": { + "value": "42", + "type": "UInt32" + }, + "type": "Optional" + }, + { + "value": "92233720368.54775808", + "type": "UFix64" + } + ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", "gasLimit": 42, "proposalKey": { @@ -1023,8 +1097,24 @@ ] }, "envelopeMessage": { - "script": "import FungibleToken from 0x9a0766d93b6608b7\nimport FlowToken from 0x7e60df042a9c0868\nimport FlowIDTableStaking from 0x9eca2b38b18b5dfe\nimport LockedTokens from 0x95e019a17d0e23d7\nimport FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// This transaction sets up an account to use a staking collection\n/// It will work regardless of whether they have a regular account, a two-account locked tokens setup,\n/// or staking objects stored in the unlocked account\n\ntransaction {\n prepare(signer: AuthAccount) {\n\n // If there isn't already a staking collection\n if signer.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath) == nil {\n\n // Create private capabilities for the token holder and unlocked vault\n let lockedHolder = signer.link<&LockedTokens.TokenHolder>(/private/flowTokenHolder, target: LockedTokens.TokenHolderStoragePath)!\n let flowToken = signer.link<&FlowToken.Vault>(/private/flowTokenVault, target: /storage/flowTokenVault)!\n \n // Create a new Staking Collection and put it in storage\n if lockedHolder.check() {\n signer.save(<-FlowStakingCollection.createStakingCollection(unlockedVault: flowToken, tokenHolder: lockedHolder), to: FlowStakingCollection.StakingCollectionStoragePath)\n } else {\n signer.save(<-FlowStakingCollection.createStakingCollection(unlockedVault: flowToken, tokenHolder: nil), to: FlowStakingCollection.StakingCollectionStoragePath)\n }\n\n // Create a public link to the staking collection\n signer.link<&FlowStakingCollection.StakingCollection{FlowStakingCollection.StakingCollectionPublic}>(\n FlowStakingCollection.StakingCollectionPublicPath,\n target: FlowStakingCollection.StakingCollectionStoragePath\n )\n }\n\n // borrow a reference to the staking collection\n let collectionRef = signer.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow staking collection reference\")\n\n // If there is a node staker object in the account, put it in the staking collection\n if signer.borrow<&FlowIDTableStaking.NodeStaker>(from: FlowIDTableStaking.NodeStakerStoragePath) != nil {\n let node <- signer.load<@FlowIDTableStaking.NodeStaker>(from: FlowIDTableStaking.NodeStakerStoragePath)!\n collectionRef.addNodeObject(<-node, machineAccountInfo: nil)\n }\n\n // If there is a delegator object in the account, put it in the staking collection\n if signer.borrow<&FlowIDTableStaking.NodeDelegator>(from: FlowIDTableStaking.DelegatorStoragePath) != nil {\n let delegator <- signer.load<@FlowIDTableStaking.NodeDelegator>(from: FlowIDTableStaking.DelegatorStoragePath)!\n collectionRef.addDelegatorObject(<-delegator)\n }\n }\n}\n", - "arguments": [], + "script": "import FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// Requests unstaking for the specified node or delegator in the staking collection\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: auth(FlowStakingCollection.CollectionOwner) &FlowStakingCollection.StakingCollection\n\n prepare(account: auth(BorrowValue) &Account) {\n self.stakingCollectionRef = account.storage.borrow(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow a reference to a StakingCollection in the primary user's account\")\n }\n\n execute {\n self.stakingCollectionRef.requestUnstaking(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", + "arguments": [ + { + "type": "String", + "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" + }, + { + "value": { + "value": "42", + "type": "UInt32" + }, + "type": "Optional" + }, + { + "value": "92233720368.54775808", + "type": "UFix64" + } + ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", "gasLimit": 42, "proposalKey": { @@ -1038,25 +1128,29 @@ ], "payloadSigs": [] }, - "encodedTransactionPayloadHex": "f90bf0b90bac696d706f72742046756e6769626c65546f6b656e2066726f6d203078396130373636643933623636303862370a696d706f727420466c6f77546f6b656e2066726f6d203078376536306466303432613963303836380a696d706f727420466c6f7749445461626c655374616b696e672066726f6d203078396563613262333862313862356466650a696d706f7274204c6f636b6564546f6b656e732066726f6d203078393565303139613137643065323364370a696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f2054686973207472616e73616374696f6e207365747320757020616e206163636f756e7420746f207573652061207374616b696e6720636f6c6c656374696f6e0a2f2f2f2049742077696c6c20776f726b207265676172646c657373206f66207768657468657220746865792068617665206120726567756c6172206163636f756e742c20612074776f2d6163636f756e74206c6f636b656420746f6b656e732073657475702c0a2f2f2f206f72207374616b696e67206f626a656374732073746f72656420696e2074686520756e6c6f636b6564206163636f756e740a0a7472616e73616374696f6e207b0a2020202070726570617265287369676e65723a20417574684163636f756e7429207b0a0a20202020202020202f2f2049662074686572652069736e277420616c72656164792061207374616b696e6720636f6c6c656374696f6e0a20202020202020206966207369676e65722e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f726167655061746829203d3d206e696c207b0a0a2020202020202020202020202f2f204372656174652070726976617465206361706162696c697469657320666f722074686520746f6b656e20686f6c64657220616e6420756e6c6f636b6564207661756c740a2020202020202020202020206c6574206c6f636b6564486f6c646572203d207369676e65722e6c696e6b3c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e282f707269766174652f666c6f77546f6b656e486f6c6465722c207461726765743a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f726167655061746829210a2020202020202020202020206c657420666c6f77546f6b656e203d207369676e65722e6c696e6b3c26466c6f77546f6b656e2e5661756c743e282f707269766174652f666c6f77546f6b656e5661756c742c207461726765743a202f73746f726167652f666c6f77546f6b656e5661756c7429210a2020202020202020202020200a2020202020202020202020202f2f204372656174652061206e6577205374616b696e6720436f6c6c656374696f6e20616e642070757420697420696e2073746f726167650a2020202020202020202020206966206c6f636b6564486f6c6465722e636865636b2829207b0a202020202020202020202020202020207369676e65722e73617665283c2d466c6f775374616b696e67436f6c6c656374696f6e2e6372656174655374616b696e67436f6c6c656374696f6e28756e6c6f636b65645661756c743a20666c6f77546f6b656e2c20746f6b656e486f6c6465723a206c6f636b6564486f6c646572292c20746f3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020207d20656c7365207b0a202020202020202020202020202020207369676e65722e73617665283c2d466c6f775374616b696e67436f6c6c656374696f6e2e6372656174655374616b696e67436f6c6c656374696f6e28756e6c6f636b65645661756c743a20666c6f77546f6b656e2c20746f6b656e486f6c6465723a206e696c292c20746f3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020207d0a0a2020202020202020202020202f2f204372656174652061207075626c6963206c696e6b20746f20746865207374616b696e6720636f6c6c656374696f6e0a2020202020202020202020207369676e65722e6c696e6b3c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e7b466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e5075626c69637d3e280a20202020202020202020202020202020466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e5075626c6963506174682c0a202020202020202020202020202020207461726765743a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f72616765506174680a202020202020202020202020290a20202020202020207d0a0a20202020202020202f2f20626f72726f772061207265666572656e636520746f20746865207374616b696e6720636f6c6c656374696f6e0a20202020202020206c657420636f6c6c656374696f6e526566203d207369676e65722e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207374616b696e6720636f6c6c656374696f6e207265666572656e636522290a0a20202020202020202f2f2049662074686572652069732061206e6f6465207374616b6572206f626a65637420696e20746865206163636f756e742c2070757420697420696e20746865207374616b696e6720636f6c6c656374696f6e0a20202020202020206966207369676e65722e626f72726f773c26466c6f7749445461626c655374616b696e672e4e6f64655374616b65723e2866726f6d3a20466c6f7749445461626c655374616b696e672e4e6f64655374616b657253746f72616765506174682920213d206e696c207b0a2020202020202020202020206c6574206e6f6465203c2d207369676e65722e6c6f61643c40466c6f7749445461626c655374616b696e672e4e6f64655374616b65723e2866726f6d3a20466c6f7749445461626c655374616b696e672e4e6f64655374616b657253746f726167655061746829210a202020202020202020202020636f6c6c656374696f6e5265662e6164644e6f64654f626a656374283c2d6e6f64652c206d616368696e654163636f756e74496e666f3a206e696c290a20202020202020207d0a0a20202020202020202f2f20496620746865726520697320612064656c656761746f72206f626a65637420696e20746865206163636f756e742c2070757420697420696e20746865207374616b696e6720636f6c6c656374696f6e0a20202020202020206966207369676e65722e626f72726f773c26466c6f7749445461626c655374616b696e672e4e6f646544656c656761746f723e2866726f6d3a20466c6f7749445461626c655374616b696e672e44656c656761746f7253746f72616765506174682920213d206e696c207b0a2020202020202020202020206c65742064656c656761746f72203c2d207369676e65722e6c6f61643c40466c6f7749445461626c655374616b696e672e4e6f646544656c656761746f723e2866726f6d3a20466c6f7749445461626c655374616b696e672e44656c656761746f7253746f726167655061746829210a202020202020202020202020636f6c6c656374696f6e5265662e61646444656c656761746f724f626a656374283c2d64656c656761746f72290a20202020202020207d0a202020207d0a7d0ac0a0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", - "encodedTransactionEnvelopeHex": "f90bf4f90bf0b90bac696d706f72742046756e6769626c65546f6b656e2066726f6d203078396130373636643933623636303862370a696d706f727420466c6f77546f6b656e2066726f6d203078376536306466303432613963303836380a696d706f727420466c6f7749445461626c655374616b696e672066726f6d203078396563613262333862313862356466650a696d706f7274204c6f636b6564546f6b656e732066726f6d203078393565303139613137643065323364370a696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f2054686973207472616e73616374696f6e207365747320757020616e206163636f756e7420746f207573652061207374616b696e6720636f6c6c656374696f6e0a2f2f2f2049742077696c6c20776f726b207265676172646c657373206f66207768657468657220746865792068617665206120726567756c6172206163636f756e742c20612074776f2d6163636f756e74206c6f636b656420746f6b656e732073657475702c0a2f2f2f206f72207374616b696e67206f626a656374732073746f72656420696e2074686520756e6c6f636b6564206163636f756e740a0a7472616e73616374696f6e207b0a2020202070726570617265287369676e65723a20417574684163636f756e7429207b0a0a20202020202020202f2f2049662074686572652069736e277420616c72656164792061207374616b696e6720636f6c6c656374696f6e0a20202020202020206966207369676e65722e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f726167655061746829203d3d206e696c207b0a0a2020202020202020202020202f2f204372656174652070726976617465206361706162696c697469657320666f722074686520746f6b656e20686f6c64657220616e6420756e6c6f636b6564207661756c740a2020202020202020202020206c6574206c6f636b6564486f6c646572203d207369676e65722e6c696e6b3c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e282f707269766174652f666c6f77546f6b656e486f6c6465722c207461726765743a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f726167655061746829210a2020202020202020202020206c657420666c6f77546f6b656e203d207369676e65722e6c696e6b3c26466c6f77546f6b656e2e5661756c743e282f707269766174652f666c6f77546f6b656e5661756c742c207461726765743a202f73746f726167652f666c6f77546f6b656e5661756c7429210a2020202020202020202020200a2020202020202020202020202f2f204372656174652061206e6577205374616b696e6720436f6c6c656374696f6e20616e642070757420697420696e2073746f726167650a2020202020202020202020206966206c6f636b6564486f6c6465722e636865636b2829207b0a202020202020202020202020202020207369676e65722e73617665283c2d466c6f775374616b696e67436f6c6c656374696f6e2e6372656174655374616b696e67436f6c6c656374696f6e28756e6c6f636b65645661756c743a20666c6f77546f6b656e2c20746f6b656e486f6c6465723a206c6f636b6564486f6c646572292c20746f3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020207d20656c7365207b0a202020202020202020202020202020207369676e65722e73617665283c2d466c6f775374616b696e67436f6c6c656374696f6e2e6372656174655374616b696e67436f6c6c656374696f6e28756e6c6f636b65645661756c743a20666c6f77546f6b656e2c20746f6b656e486f6c6465723a206e696c292c20746f3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020207d0a0a2020202020202020202020202f2f204372656174652061207075626c6963206c696e6b20746f20746865207374616b696e6720636f6c6c656374696f6e0a2020202020202020202020207369676e65722e6c696e6b3c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e7b466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e5075626c69637d3e280a20202020202020202020202020202020466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e5075626c6963506174682c0a202020202020202020202020202020207461726765743a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f72616765506174680a202020202020202020202020290a20202020202020207d0a0a20202020202020202f2f20626f72726f772061207265666572656e636520746f20746865207374616b696e6720636f6c6c656374696f6e0a20202020202020206c657420636f6c6c656374696f6e526566203d207369676e65722e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207374616b696e6720636f6c6c656374696f6e207265666572656e636522290a0a20202020202020202f2f2049662074686572652069732061206e6f6465207374616b6572206f626a65637420696e20746865206163636f756e742c2070757420697420696e20746865207374616b696e6720636f6c6c656374696f6e0a20202020202020206966207369676e65722e626f72726f773c26466c6f7749445461626c655374616b696e672e4e6f64655374616b65723e2866726f6d3a20466c6f7749445461626c655374616b696e672e4e6f64655374616b657253746f72616765506174682920213d206e696c207b0a2020202020202020202020206c6574206e6f6465203c2d207369676e65722e6c6f61643c40466c6f7749445461626c655374616b696e672e4e6f64655374616b65723e2866726f6d3a20466c6f7749445461626c655374616b696e672e4e6f64655374616b657253746f726167655061746829210a202020202020202020202020636f6c6c656374696f6e5265662e6164644e6f64654f626a656374283c2d6e6f64652c206d616368696e654163636f756e74496e666f3a206e696c290a20202020202020207d0a0a20202020202020202f2f20496620746865726520697320612064656c656761746f72206f626a65637420696e20746865206163636f756e742c2070757420697420696e20746865207374616b696e6720636f6c6c656374696f6e0a20202020202020206966207369676e65722e626f72726f773c26466c6f7749445461626c655374616b696e672e4e6f646544656c656761746f723e2866726f6d3a20466c6f7749445461626c655374616b696e672e44656c656761746f7253746f72616765506174682920213d206e696c207b0a2020202020202020202020206c65742064656c656761746f72203c2d207369676e65722e6c6f61643c40466c6f7749445461626c655374616b696e672e4e6f646544656c656761746f723e2866726f6d3a20466c6f7749445461626c655374616b696e672e44656c656761746f7253746f726167655061746829210a202020202020202020202020636f6c6c656374696f6e5265662e61646444656c656761746f724f626a656374283c2d64656c656761746f72290a20202020202020207d0a202020207d0a7d0ac0a0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", - "metadata": "02a524b4094fcaf1051dbf43ac33ff80bb2f553670c58eeeb719757972a25d6b500e5c2445c0b1016eed4f60c429f233aa0bb223a0d9ff2aedffce00a58037a2bf5365747570205374616b696e6720436f6c6c656374696f6e0000", - "hash": "a524b4094fcaf1051dbf43ac33ff80bb2f553670c58eeeb719757972a25d6b50" + "encodedTransactionPayloadHex": "f9044bb9033b696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f20526571756573747320756e7374616b696e6720666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a206175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a206175746828426f72726f7756616c75652920264163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e73746f726167652e626f72726f773c6175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f2061205374616b696e67436f6c6c656374696f6e20696e20746865207072696d61727920757365722773206163636f756e7422290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e72657175657374556e7374616b696e67286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8cbb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db83a7b2276616c7565223a7b2276616c7565223a223432222c2274797065223a2255496e743332227d2c2274797065223a224f7074696f6e616c227db07b2276616c7565223a2239323233333732303336382e3534373735383038222c2274797065223a22554669783634227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", + "encodedTransactionEnvelopeHex": "f9044ff9044bb9033b696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f20526571756573747320756e7374616b696e6720666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a206175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a206175746828426f72726f7756616c75652920264163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e73746f726167652e626f72726f773c6175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f2061205374616b696e67436f6c6c656374696f6e20696e20746865207072696d61727920757365722773206163636f756e7422290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e72657175657374556e7374616b696e67286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8cbb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db83a7b2276616c7565223a7b2276616c7565223a223432222c2274797065223a2255496e743332227d2c2274797065223a224f7074696f6e616c227db07b2276616c7565223a2239323233333732303336382e3534373735383038222c2274797065223a22554669783634227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", + "metadata": "022d59f2c2c402f919c8dba30009e31480d54e2b250d2e10456e1ff029bd7cce99f26c058a127500fcd8445ba9fcf55149fe8f1a1a7cd212688d13fcd6ee2765295265717565737420556e7374616b696e670003014e6f64652049440000537472696e6700030244656c656761746f72204944000155496e743332000301416d6f756e7400025546697836340003", + "hash": "2d59f2c2c402f919c8dba30009e31480d54e2b250d2e10456e1ff029bd7cce99" }, { - "title": "SCO.02 - Register Delegator", + "title": "SCO.06 - Stake New Tokens - 1", "valid": true, "chainID": "Testnet", "payloadMessage": { - "script": "import FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// Registers a delegator in the staking collection resource\n/// for the specified nodeID and the amount of tokens to commit\n\ntransaction(id: String, amount: UFix64) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n }\n\n execute {\n self.stakingCollectionRef.registerDelegator(nodeID: id, amount: amount) \n }\n}\n", + "script": "import FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// Commits new tokens to stake for the specified node or delegator in the staking collection\n/// The tokens from the locked vault are used first, if it exists\n/// followed by the tokens from the unlocked vault\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: auth(FlowStakingCollection.CollectionOwner) &FlowStakingCollection.StakingCollection\n\n prepare(account: auth(BorrowValue) &Account) {\n self.stakingCollectionRef = account.storage.borrow(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow a reference to a StakingCollection in the primary user's account\")\n }\n\n execute {\n self.stakingCollectionRef.stakeNewTokens(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", "arguments": [ { "type": "String", "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" }, { - "type": "UFix64", - "value": "92233720368.54775808" + "value": null, + "type": "Optional" + }, + { + "value": "92233720368.54775808", + "type": "UFix64" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -1072,15 +1166,19 @@ ] }, "envelopeMessage": { - "script": "import FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// Registers a delegator in the staking collection resource\n/// for the specified nodeID and the amount of tokens to commit\n\ntransaction(id: String, amount: UFix64) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n }\n\n execute {\n self.stakingCollectionRef.registerDelegator(nodeID: id, amount: amount) \n }\n}\n", + "script": "import FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// Commits new tokens to stake for the specified node or delegator in the staking collection\n/// The tokens from the locked vault are used first, if it exists\n/// followed by the tokens from the unlocked vault\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: auth(FlowStakingCollection.CollectionOwner) &FlowStakingCollection.StakingCollection\n\n prepare(account: auth(BorrowValue) &Account) {\n self.stakingCollectionRef = account.storage.borrow(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow a reference to a StakingCollection in the primary user's account\")\n }\n\n execute {\n self.stakingCollectionRef.stakeNewTokens(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", "arguments": [ { "type": "String", "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" }, { - "type": "UFix64", - "value": "92233720368.54775808" + "value": null, + "type": "Optional" + }, + { + "value": "92233720368.54775808", + "type": "UFix64" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -1096,45 +1194,32 @@ ], "payloadSigs": [] }, - "encodedTransactionPayloadHex": "f9036fb9029b696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f2052656769737465727320612064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e207265736f757263650a2f2f2f20666f722074686520737065636966696564206e6f6465494420616e642074686520616d6f756e74206f6620746f6b656e7320746f20636f6d6d69740a0a7472616e73616374696f6e2869643a20537472696e672c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e726567697374657244656c656761746f72286e6f646549443a2069642c20616d6f756e743a20616d6f756e74292020202020200a202020207d0a7d0af88fb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", - "encodedTransactionEnvelopeHex": "f90373f9036fb9029b696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f2052656769737465727320612064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e207265736f757263650a2f2f2f20666f722074686520737065636966696564206e6f6465494420616e642074686520616d6f756e74206f6620746f6b656e7320746f20636f6d6d69740a0a7472616e73616374696f6e2869643a20537472696e672c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e726567697374657244656c656761746f72286e6f646549443a2069642c20616d6f756e743a20616d6f756e74292020202020200a202020207d0a7d0af88fb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", - "metadata": "02c26f69a33ead535e7d597cec4567c6c70170e86fd85ec708f5381e50d43871e2c5636d510872a16eb06996dacb43d6a28f8f72ff1b05b2eb03416cc711d9bb1f52656769737465722044656c656761746f720002014e6f64652049440000537472696e67000301416d6f756e7400015546697836340003", - "hash": "c26f69a33ead535e7d597cec4567c6c70170e86fd85ec708f5381e50d43871e2" + "encodedTransactionPayloadHex": "f904acb903b7696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f20436f6d6d697473206e657720746f6b656e7320746f207374616b6520666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f2054686520746f6b656e732066726f6d20746865206c6f636b6564207661756c742061726520757365642066697273742c206966206974206578697374730a2f2f2f20666f6c6c6f7765642062792074686520746f6b656e732066726f6d2074686520756e6c6f636b6564207661756c740a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a206175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a206175746828426f72726f7756616c75652920264163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e73746f726167652e626f72726f773c6175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f2061205374616b696e67436f6c6c656374696f6e20696e20746865207072696d61727920757365722773206163636f756e7422290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e7374616b654e6577546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8b0b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227da07b2276616c7565223a6e756c6c2c2274797065223a224f7074696f6e616c227db07b2276616c7565223a2239323233333732303336382e3534373735383038222c2274797065223a22554669783634227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", + "encodedTransactionEnvelopeHex": "f904b0f904acb903b7696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f20436f6d6d697473206e657720746f6b656e7320746f207374616b6520666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f2054686520746f6b656e732066726f6d20746865206c6f636b6564207661756c742061726520757365642066697273742c206966206974206578697374730a2f2f2f20666f6c6c6f7765642062792074686520746f6b656e732066726f6d2074686520756e6c6f636b6564207661756c740a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a206175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a206175746828426f72726f7756616c75652920264163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e73746f726167652e626f72726f773c6175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f2061205374616b696e67436f6c6c656374696f6e20696e20746865207072696d61727920757365722773206163636f756e7422290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e7374616b654e6577546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8b0b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227da07b2276616c7565223a6e756c6c2c2274797065223a224f7074696f6e616c227db07b2276616c7565223a2239323233333732303336382e3534373735383038222c2274797065223a22554669783634227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", + "metadata": "02cf2b03950077352487e6344ab65edc3e1856731ab9cf68aa2ebbe279ae496d4b4c0658934352486097cc89fa06b98bac21e514770fc6a4d70a7adc4bec6d711d5374616b65204e657720546f6b656e730003014e6f64652049440000537472696e6700030244656c656761746f72204944000155496e743332000301416d6f756e7400025546697836340003", + "hash": "cf2b03950077352487e6344ab65edc3e1856731ab9cf68aa2ebbe279ae496d4b" }, { - "title": "SCO.03 - Register Node - 1", + "title": "SCO.06 - Stake New Tokens - 2", "valid": true, "chainID": "Testnet", "payloadMessage": { - "script": "import FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// Registers a delegator in the staking collection resource\n/// for the specified node information and the amount of tokens to commit\n\ntransaction(id: String,\n role: UInt8,\n networkingAddress: String,\n networkingKey: String,\n stakingKey: String,\n amount: UFix64,\n publicKeys: [String]?) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n\n if let machineAccount = self.stakingCollectionRef.registerNode(\n id: id,\n role: role,\n networkingAddress: networkingAddress,\n networkingKey: networkingKey,\n stakingKey: stakingKey,\n amount: amount,\n payer: account) \n {\n if publicKeys == nil || publicKeys!.length == 0 {\n panic(\"Cannot provide zero keys for the machine account\")\n }\n for key in publicKeys! {\n machineAccount.addPublicKey(key.decodeHex())\n }\n }\n }\n}\n", + "script": "import FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// Commits new tokens to stake for the specified node or delegator in the staking collection\n/// The tokens from the locked vault are used first, if it exists\n/// followed by the tokens from the unlocked vault\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: auth(FlowStakingCollection.CollectionOwner) &FlowStakingCollection.StakingCollection\n\n prepare(account: auth(BorrowValue) &Account) {\n self.stakingCollectionRef = account.storage.borrow(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow a reference to a StakingCollection in the primary user's account\")\n }\n\n execute {\n self.stakingCollectionRef.stakeNewTokens(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", "arguments": [ { "type": "String", "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" }, { - "type": "UInt8", - "value": "1" - }, - { - "type": "String", - "value": "flow-node.test:3569" - }, - { - "type": "String", - "value": "1348307bc77c688e80049de9d081aa09755da33e6997605fa059db2144fc85e560cbe6f7da8d74b453f5916618cb8fd392c2db856f3e78221dc68db1b1d914e4" - }, - { - "type": "String", - "value": "9e9ae0d645fd5fd9050792e0b0daa82cc1686d9133afa0f81a784b375c42ae48567d1545e7a9e1965f2c1a32f73cf8575ebb7a967f6e4d104d2df78eb8be409135d12da0499b8a00771f642c1b9c49397f22b440439f036c3bdee82f5309dab3" - }, - { - "type": "UFix64", - "value": "92233720368.54775808" + "value": { + "value": "42", + "type": "UInt32" + }, + "type": "Optional" }, { - "type": "Optional", - "value": null + "value": "92233720368.54775808", + "type": "UFix64" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -1150,35 +1235,22 @@ ] }, "envelopeMessage": { - "script": "import FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// Registers a delegator in the staking collection resource\n/// for the specified node information and the amount of tokens to commit\n\ntransaction(id: String,\n role: UInt8,\n networkingAddress: String,\n networkingKey: String,\n stakingKey: String,\n amount: UFix64,\n publicKeys: [String]?) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n\n if let machineAccount = self.stakingCollectionRef.registerNode(\n id: id,\n role: role,\n networkingAddress: networkingAddress,\n networkingKey: networkingKey,\n stakingKey: stakingKey,\n amount: amount,\n payer: account) \n {\n if publicKeys == nil || publicKeys!.length == 0 {\n panic(\"Cannot provide zero keys for the machine account\")\n }\n for key in publicKeys! {\n machineAccount.addPublicKey(key.decodeHex())\n }\n }\n }\n}\n", + "script": "import FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// Commits new tokens to stake for the specified node or delegator in the staking collection\n/// The tokens from the locked vault are used first, if it exists\n/// followed by the tokens from the unlocked vault\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: auth(FlowStakingCollection.CollectionOwner) &FlowStakingCollection.StakingCollection\n\n prepare(account: auth(BorrowValue) &Account) {\n self.stakingCollectionRef = account.storage.borrow(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow a reference to a StakingCollection in the primary user's account\")\n }\n\n execute {\n self.stakingCollectionRef.stakeNewTokens(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", "arguments": [ { "type": "String", "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" }, { - "type": "UInt8", - "value": "1" - }, - { - "type": "String", - "value": "flow-node.test:3569" - }, - { - "type": "String", - "value": "1348307bc77c688e80049de9d081aa09755da33e6997605fa059db2144fc85e560cbe6f7da8d74b453f5916618cb8fd392c2db856f3e78221dc68db1b1d914e4" - }, - { - "type": "String", - "value": "9e9ae0d645fd5fd9050792e0b0daa82cc1686d9133afa0f81a784b375c42ae48567d1545e7a9e1965f2c1a32f73cf8575ebb7a967f6e4d104d2df78eb8be409135d12da0499b8a00771f642c1b9c49397f22b440439f036c3bdee82f5309dab3" - }, - { - "type": "UFix64", - "value": "92233720368.54775808" + "value": { + "value": "42", + "type": "UInt32" + }, + "type": "Optional" }, { - "type": "Optional", - "value": null + "value": "92233720368.54775808", + "type": "UFix64" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -1194,48 +1266,29 @@ ], "payloadSigs": [] }, - "encodedTransactionPayloadHex": "f907f3b90534696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f2052656769737465727320612064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e207265736f757263650a2f2f2f20666f722074686520737065636966696564206e6f646520696e666f726d6174696f6e20616e642074686520616d6f756e74206f6620746f6b656e7320746f20636f6d6d69740a0a7472616e73616374696f6e2869643a20537472696e672c0a202020202020202020202020726f6c653a2055496e74382c0a2020202020202020202020206e6574776f726b696e67416464726573733a20537472696e672c0a2020202020202020202020206e6574776f726b696e674b65793a20537472696e672c0a2020202020202020202020207374616b696e674b65793a20537472696e672c0a202020202020202020202020616d6f756e743a205546697836342c0a2020202020202020202020207075626c69634b6579733a205b537472696e675d3f29207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a0a20202020202020206966206c6574206d616368696e654163636f756e74203d2073656c662e7374616b696e67436f6c6c656374696f6e5265662e72656769737465724e6f6465280a20202020202020202020202069643a2069642c0a202020202020202020202020726f6c653a20726f6c652c0a2020202020202020202020206e6574776f726b696e67416464726573733a206e6574776f726b696e67416464726573732c0a2020202020202020202020206e6574776f726b696e674b65793a206e6574776f726b696e674b65792c0a2020202020202020202020207374616b696e674b65793a207374616b696e674b65792c0a202020202020202020202020616d6f756e743a20616d6f756e742c0a20202020202020202020202070617965723a206163636f756e7429200a20202020202020207b0a2020202020202020202020206966207075626c69634b657973203d3d206e696c207c7c207075626c69634b657973212e6c656e677468203d3d2030207b0a2020202020202020202020202020202070616e6963282243616e6e6f742070726f76696465207a65726f206b65797320666f7220746865206d616368696e65206163636f756e7422290a2020202020202020202020207d0a202020202020202020202020666f72206b657920696e207075626c69634b65797321207b0a202020202020202020202020202020206d616368696e654163636f756e742e6164645075626c69634b6579286b65792e6465636f64654865782829290a2020202020202020202020207d0a20202020202020207d0a202020207d0a7d0af90279b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227d9c7b2274797065223a2255496e7438222c2276616c7565223a2231227daf7b2274797065223a22537472696e67222c2276616c7565223a22666c6f772d6e6f64652e746573743a33353639227db89c7b2274797065223a22537472696e67222c2276616c7565223a223133343833303762633737633638386538303034396465396430383161613039373535646133336536393937363035666130353964623231343466633835653536306362653666376461386437346234353366353931363631386362386664333932633264623835366633653738323231646336386462316231643931346534227db8dc7b2274797065223a22537472696e67222c2276616c7565223a22396539616530643634356664356664393035303739326530623064616138326363313638366439313333616661306638316137383462333735633432616534383536376431353435653761396531393635663263316133326637336366383537356562623761393637663665346431303464326466373865623862653430393133356431326461303439396238613030373731663634326331623963343933393766323262343430343339663033366333626465653832663533303964616233227db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da07b2274797065223a224f7074696f6e616c222c2276616c7565223a6e756c6c7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", - "encodedTransactionEnvelopeHex": "f907f7f907f3b90534696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f2052656769737465727320612064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e207265736f757263650a2f2f2f20666f722074686520737065636966696564206e6f646520696e666f726d6174696f6e20616e642074686520616d6f756e74206f6620746f6b656e7320746f20636f6d6d69740a0a7472616e73616374696f6e2869643a20537472696e672c0a202020202020202020202020726f6c653a2055496e74382c0a2020202020202020202020206e6574776f726b696e67416464726573733a20537472696e672c0a2020202020202020202020206e6574776f726b696e674b65793a20537472696e672c0a2020202020202020202020207374616b696e674b65793a20537472696e672c0a202020202020202020202020616d6f756e743a205546697836342c0a2020202020202020202020207075626c69634b6579733a205b537472696e675d3f29207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a0a20202020202020206966206c6574206d616368696e654163636f756e74203d2073656c662e7374616b696e67436f6c6c656374696f6e5265662e72656769737465724e6f6465280a20202020202020202020202069643a2069642c0a202020202020202020202020726f6c653a20726f6c652c0a2020202020202020202020206e6574776f726b696e67416464726573733a206e6574776f726b696e67416464726573732c0a2020202020202020202020206e6574776f726b696e674b65793a206e6574776f726b696e674b65792c0a2020202020202020202020207374616b696e674b65793a207374616b696e674b65792c0a202020202020202020202020616d6f756e743a20616d6f756e742c0a20202020202020202020202070617965723a206163636f756e7429200a20202020202020207b0a2020202020202020202020206966207075626c69634b657973203d3d206e696c207c7c207075626c69634b657973212e6c656e677468203d3d2030207b0a2020202020202020202020202020202070616e6963282243616e6e6f742070726f76696465207a65726f206b65797320666f7220746865206d616368696e65206163636f756e7422290a2020202020202020202020207d0a202020202020202020202020666f72206b657920696e207075626c69634b65797321207b0a202020202020202020202020202020206d616368696e654163636f756e742e6164645075626c69634b6579286b65792e6465636f64654865782829290a2020202020202020202020207d0a20202020202020207d0a202020207d0a7d0af90279b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227d9c7b2274797065223a2255496e7438222c2276616c7565223a2231227daf7b2274797065223a22537472696e67222c2276616c7565223a22666c6f772d6e6f64652e746573743a33353639227db89c7b2274797065223a22537472696e67222c2276616c7565223a223133343833303762633737633638386538303034396465396430383161613039373535646133336536393937363035666130353964623231343466633835653536306362653666376461386437346234353366353931363631386362386664333932633264623835366633653738323231646336386462316231643931346534227db8dc7b2274797065223a22537472696e67222c2276616c7565223a22396539616530643634356664356664393035303739326530623064616138326363313638366439313333616661306638316137383462333735633432616534383536376431353435653761396531393635663263316133326637336366383537356562623761393637663665346431303464326466373865623862653430393133356431326461303439396238613030373731663634326331623963343933393766323262343430343339663033366333626465653832663533303964616233227db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da07b2274797065223a224f7074696f6e616c222c2276616c7565223a6e756c6c7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", - "metadata": "02f47efa834bc0559afae9a660b2efefddd0c6dc6e1bbcf9c3994e45ea9e5135ec99997236b6d76caa298331d5cef77cbdf83c1af64584ece537a780ba4ac468835265676973746572204e6f64650007014e6f64652049440000537472696e670003014e6f646520526f6c65000155496e74380003014e6574772e20416464726573730002537472696e670003014e6574772e204b65790003537472696e670003015374616b696e67204b65790004537472696e67000301416d6f756e74000555466978363400030400035075622e204b65790006537472696e670003", - "hash": "f47efa834bc0559afae9a660b2efefddd0c6dc6e1bbcf9c3994e45ea9e5135ec" + "encodedTransactionPayloadHex": "f904c7b903b7696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f20436f6d6d697473206e657720746f6b656e7320746f207374616b6520666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f2054686520746f6b656e732066726f6d20746865206c6f636b6564207661756c742061726520757365642066697273742c206966206974206578697374730a2f2f2f20666f6c6c6f7765642062792074686520746f6b656e732066726f6d2074686520756e6c6f636b6564207661756c740a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a206175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a206175746828426f72726f7756616c75652920264163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e73746f726167652e626f72726f773c6175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f2061205374616b696e67436f6c6c656374696f6e20696e20746865207072696d61727920757365722773206163636f756e7422290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e7374616b654e6577546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8cbb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db83a7b2276616c7565223a7b2276616c7565223a223432222c2274797065223a2255496e743332227d2c2274797065223a224f7074696f6e616c227db07b2276616c7565223a2239323233333732303336382e3534373735383038222c2274797065223a22554669783634227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", + "encodedTransactionEnvelopeHex": "f904cbf904c7b903b7696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f20436f6d6d697473206e657720746f6b656e7320746f207374616b6520666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f2054686520746f6b656e732066726f6d20746865206c6f636b6564207661756c742061726520757365642066697273742c206966206974206578697374730a2f2f2f20666f6c6c6f7765642062792074686520746f6b656e732066726f6d2074686520756e6c6f636b6564207661756c740a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a206175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a206175746828426f72726f7756616c75652920264163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e73746f726167652e626f72726f773c6175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f2061205374616b696e67436f6c6c656374696f6e20696e20746865207072696d61727920757365722773206163636f756e7422290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e7374616b654e6577546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8cbb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db83a7b2276616c7565223a7b2276616c7565223a223432222c2274797065223a2255496e743332227d2c2274797065223a224f7074696f6e616c227db07b2276616c7565223a2239323233333732303336382e3534373735383038222c2274797065223a22554669783634227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", + "metadata": "02cf2b03950077352487e6344ab65edc3e1856731ab9cf68aa2ebbe279ae496d4b4c0658934352486097cc89fa06b98bac21e514770fc6a4d70a7adc4bec6d711d5374616b65204e657720546f6b656e730003014e6f64652049440000537472696e6700030244656c656761746f72204944000155496e743332000301416d6f756e7400025546697836340003", + "hash": "cf2b03950077352487e6344ab65edc3e1856731ab9cf68aa2ebbe279ae496d4b" }, { - "title": "SCO.03 - Register Node - 2", + "title": "SCO.07 - Stake Rewarded Tokens - 1", "valid": true, "chainID": "Testnet", "payloadMessage": { - "script": "import FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// Registers a delegator in the staking collection resource\n/// for the specified node information and the amount of tokens to commit\n\ntransaction(id: String,\n role: UInt8,\n networkingAddress: String,\n networkingKey: String,\n stakingKey: String,\n amount: UFix64,\n publicKeys: [String]?) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n\n if let machineAccount = self.stakingCollectionRef.registerNode(\n id: id,\n role: role,\n networkingAddress: networkingAddress,\n networkingKey: networkingKey,\n stakingKey: stakingKey,\n amount: amount,\n payer: account) \n {\n if publicKeys == nil || publicKeys!.length == 0 {\n panic(\"Cannot provide zero keys for the machine account\")\n }\n for key in publicKeys! {\n machineAccount.addPublicKey(key.decodeHex())\n }\n }\n }\n}\n", + "script": "import FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// Commits rewarded tokens to stake for the specified node or delegator in the staking collection\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: auth(FlowStakingCollection.CollectionOwner) &FlowStakingCollection.StakingCollection\n\n prepare(account: auth(BorrowValue) &Account) {\n self.stakingCollectionRef = account.storage.borrow(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow a reference to a StakingCollection in the primary user's account\")\n }\n\n execute {\n self.stakingCollectionRef.stakeRewardedTokens(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", "arguments": [ { "type": "String", "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" }, { - "type": "UInt8", - "value": "1" - }, - { - "type": "String", - "value": "flow-node.test:3569" - }, - { - "type": "String", - "value": "1348307bc77c688e80049de9d081aa09755da33e6997605fa059db2144fc85e560cbe6f7da8d74b453f5916618cb8fd392c2db856f3e78221dc68db1b1d914e4" - }, - { - "type": "String", - "value": "9e9ae0d645fd5fd9050792e0b0daa82cc1686d9133afa0f81a784b375c42ae48567d1545e7a9e1965f2c1a32f73cf8575ebb7a967f6e4d104d2df78eb8be409135d12da0499b8a00771f642c1b9c49397f22b440439f036c3bdee82f5309dab3" - }, - { - "type": "UFix64", - "value": "92233720368.54775808" + "value": null, + "type": "Optional" }, { - "type": "Optional", - "value": { - "type": "Array", - "value": [] - } + "value": "92233720368.54775808", + "type": "UFix64" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -1251,38 +1304,19 @@ ] }, "envelopeMessage": { - "script": "import FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// Registers a delegator in the staking collection resource\n/// for the specified node information and the amount of tokens to commit\n\ntransaction(id: String,\n role: UInt8,\n networkingAddress: String,\n networkingKey: String,\n stakingKey: String,\n amount: UFix64,\n publicKeys: [String]?) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n\n if let machineAccount = self.stakingCollectionRef.registerNode(\n id: id,\n role: role,\n networkingAddress: networkingAddress,\n networkingKey: networkingKey,\n stakingKey: stakingKey,\n amount: amount,\n payer: account) \n {\n if publicKeys == nil || publicKeys!.length == 0 {\n panic(\"Cannot provide zero keys for the machine account\")\n }\n for key in publicKeys! {\n machineAccount.addPublicKey(key.decodeHex())\n }\n }\n }\n}\n", + "script": "import FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// Commits rewarded tokens to stake for the specified node or delegator in the staking collection\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: auth(FlowStakingCollection.CollectionOwner) &FlowStakingCollection.StakingCollection\n\n prepare(account: auth(BorrowValue) &Account) {\n self.stakingCollectionRef = account.storage.borrow(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow a reference to a StakingCollection in the primary user's account\")\n }\n\n execute {\n self.stakingCollectionRef.stakeRewardedTokens(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", "arguments": [ { "type": "String", "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" }, { - "type": "UInt8", - "value": "1" - }, - { - "type": "String", - "value": "flow-node.test:3569" - }, - { - "type": "String", - "value": "1348307bc77c688e80049de9d081aa09755da33e6997605fa059db2144fc85e560cbe6f7da8d74b453f5916618cb8fd392c2db856f3e78221dc68db1b1d914e4" - }, - { - "type": "String", - "value": "9e9ae0d645fd5fd9050792e0b0daa82cc1686d9133afa0f81a784b375c42ae48567d1545e7a9e1965f2c1a32f73cf8575ebb7a967f6e4d104d2df78eb8be409135d12da0499b8a00771f642c1b9c49397f22b440439f036c3bdee82f5309dab3" - }, - { - "type": "UFix64", - "value": "92233720368.54775808" + "value": null, + "type": "Optional" }, { - "type": "Optional", - "value": { - "type": "Array", - "value": [] - } + "value": "92233720368.54775808", + "type": "UFix64" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -1298,53 +1332,32 @@ ], "payloadSigs": [] }, - "encodedTransactionPayloadHex": "f9080ab90534696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f2052656769737465727320612064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e207265736f757263650a2f2f2f20666f722074686520737065636966696564206e6f646520696e666f726d6174696f6e20616e642074686520616d6f756e74206f6620746f6b656e7320746f20636f6d6d69740a0a7472616e73616374696f6e2869643a20537472696e672c0a202020202020202020202020726f6c653a2055496e74382c0a2020202020202020202020206e6574776f726b696e67416464726573733a20537472696e672c0a2020202020202020202020206e6574776f726b696e674b65793a20537472696e672c0a2020202020202020202020207374616b696e674b65793a20537472696e672c0a202020202020202020202020616d6f756e743a205546697836342c0a2020202020202020202020207075626c69634b6579733a205b537472696e675d3f29207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a0a20202020202020206966206c6574206d616368696e654163636f756e74203d2073656c662e7374616b696e67436f6c6c656374696f6e5265662e72656769737465724e6f6465280a20202020202020202020202069643a2069642c0a202020202020202020202020726f6c653a20726f6c652c0a2020202020202020202020206e6574776f726b696e67416464726573733a206e6574776f726b696e67416464726573732c0a2020202020202020202020206e6574776f726b696e674b65793a206e6574776f726b696e674b65792c0a2020202020202020202020207374616b696e674b65793a207374616b696e674b65792c0a202020202020202020202020616d6f756e743a20616d6f756e742c0a20202020202020202020202070617965723a206163636f756e7429200a20202020202020207b0a2020202020202020202020206966207075626c69634b657973203d3d206e696c207c7c207075626c69634b657973212e6c656e677468203d3d2030207b0a2020202020202020202020202020202070616e6963282243616e6e6f742070726f76696465207a65726f206b65797320666f7220746865206d616368696e65206163636f756e7422290a2020202020202020202020207d0a202020202020202020202020666f72206b657920696e207075626c69634b65797321207b0a202020202020202020202020202020206d616368696e654163636f756e742e6164645075626c69634b6579286b65792e6465636f64654865782829290a2020202020202020202020207d0a20202020202020207d0a202020207d0a7d0af90290b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227d9c7b2274797065223a2255496e7438222c2276616c7565223a2231227daf7b2274797065223a22537472696e67222c2276616c7565223a22666c6f772d6e6f64652e746573743a33353639227db89c7b2274797065223a22537472696e67222c2276616c7565223a223133343833303762633737633638386538303034396465396430383161613039373535646133336536393937363035666130353964623231343466633835653536306362653666376461386437346234353366353931363631386362386664333932633264623835366633653738323231646336386462316231643931346534227db8dc7b2274797065223a22537472696e67222c2276616c7565223a22396539616530643634356664356664393035303739326530623064616138326363313638366439313333616661306638316137383462333735633432616534383536376431353435653761396531393635663263316133326637336366383537356562623761393637663665346431303464326466373865623862653430393133356431326461303439396238613030373731663634326331623963343933393766323262343430343339663033366333626465653832663533303964616233227db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227db77b2274797065223a224f7074696f6e616c222c2276616c7565223a7b2274797065223a224172726179222c2276616c7565223a5b5d7d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", - "encodedTransactionEnvelopeHex": "f9080ef9080ab90534696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f2052656769737465727320612064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e207265736f757263650a2f2f2f20666f722074686520737065636966696564206e6f646520696e666f726d6174696f6e20616e642074686520616d6f756e74206f6620746f6b656e7320746f20636f6d6d69740a0a7472616e73616374696f6e2869643a20537472696e672c0a202020202020202020202020726f6c653a2055496e74382c0a2020202020202020202020206e6574776f726b696e67416464726573733a20537472696e672c0a2020202020202020202020206e6574776f726b696e674b65793a20537472696e672c0a2020202020202020202020207374616b696e674b65793a20537472696e672c0a202020202020202020202020616d6f756e743a205546697836342c0a2020202020202020202020207075626c69634b6579733a205b537472696e675d3f29207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a0a20202020202020206966206c6574206d616368696e654163636f756e74203d2073656c662e7374616b696e67436f6c6c656374696f6e5265662e72656769737465724e6f6465280a20202020202020202020202069643a2069642c0a202020202020202020202020726f6c653a20726f6c652c0a2020202020202020202020206e6574776f726b696e67416464726573733a206e6574776f726b696e67416464726573732c0a2020202020202020202020206e6574776f726b696e674b65793a206e6574776f726b696e674b65792c0a2020202020202020202020207374616b696e674b65793a207374616b696e674b65792c0a202020202020202020202020616d6f756e743a20616d6f756e742c0a20202020202020202020202070617965723a206163636f756e7429200a20202020202020207b0a2020202020202020202020206966207075626c69634b657973203d3d206e696c207c7c207075626c69634b657973212e6c656e677468203d3d2030207b0a2020202020202020202020202020202070616e6963282243616e6e6f742070726f76696465207a65726f206b65797320666f7220746865206d616368696e65206163636f756e7422290a2020202020202020202020207d0a202020202020202020202020666f72206b657920696e207075626c69634b65797321207b0a202020202020202020202020202020206d616368696e654163636f756e742e6164645075626c69634b6579286b65792e6465636f64654865782829290a2020202020202020202020207d0a20202020202020207d0a202020207d0a7d0af90290b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227d9c7b2274797065223a2255496e7438222c2276616c7565223a2231227daf7b2274797065223a22537472696e67222c2276616c7565223a22666c6f772d6e6f64652e746573743a33353639227db89c7b2274797065223a22537472696e67222c2276616c7565223a223133343833303762633737633638386538303034396465396430383161613039373535646133336536393937363035666130353964623231343466633835653536306362653666376461386437346234353366353931363631386362386664333932633264623835366633653738323231646336386462316231643931346534227db8dc7b2274797065223a22537472696e67222c2276616c7565223a22396539616530643634356664356664393035303739326530623064616138326363313638366439313333616661306638316137383462333735633432616534383536376431353435653761396531393635663263316133326637336366383537356562623761393637663665346431303464326466373865623862653430393133356431326461303439396238613030373731663634326331623963343933393766323262343430343339663033366333626465653832663533303964616233227db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227db77b2274797065223a224f7074696f6e616c222c2276616c7565223a7b2274797065223a224172726179222c2276616c7565223a5b5d7d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", - "metadata": "02f47efa834bc0559afae9a660b2efefddd0c6dc6e1bbcf9c3994e45ea9e5135ec99997236b6d76caa298331d5cef77cbdf83c1af64584ece537a780ba4ac468835265676973746572204e6f64650007014e6f64652049440000537472696e670003014e6f646520526f6c65000155496e74380003014e6574772e20416464726573730002537472696e670003014e6574772e204b65790003537472696e670003015374616b696e67204b65790004537472696e67000301416d6f756e74000555466978363400030400035075622e204b65790006537472696e670003", - "hash": "f47efa834bc0559afae9a660b2efefddd0c6dc6e1bbcf9c3994e45ea9e5135ec" + "encodedTransactionPayloadHex": "f90441b9034c696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f20436f6d6d69747320726577617264656420746f6b656e7320746f207374616b6520666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a206175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a206175746828426f72726f7756616c75652920264163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e73746f726167652e626f72726f773c6175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f2061205374616b696e67436f6c6c656374696f6e20696e20746865207072696d61727920757365722773206163636f756e7422290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e7374616b655265776172646564546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8b0b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227da07b2276616c7565223a6e756c6c2c2274797065223a224f7074696f6e616c227db07b2276616c7565223a2239323233333732303336382e3534373735383038222c2274797065223a22554669783634227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", + "encodedTransactionEnvelopeHex": "f90445f90441b9034c696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f20436f6d6d69747320726577617264656420746f6b656e7320746f207374616b6520666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a206175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a206175746828426f72726f7756616c75652920264163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e73746f726167652e626f72726f773c6175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f2061205374616b696e67436f6c6c656374696f6e20696e20746865207072696d61727920757365722773206163636f756e7422290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e7374616b655265776172646564546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8b0b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227da07b2276616c7565223a6e756c6c2c2274797065223a224f7074696f6e616c227db07b2276616c7565223a2239323233333732303336382e3534373735383038222c2274797065223a22554669783634227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", + "metadata": "024395faf2e515eea4d40f82416ad387575f0d5a580612223c361130e53e72f00bc989e8b3beb9c2eb5af2ee1e11d592c9f1131e76e7ef105a0d40cf1610d1e3485374616b6520526577617264656420546f6b656e730003014e6f64652049440000537472696e6700030244656c656761746f72204944000155496e743332000301416d6f756e7400025546697836340003", + "hash": "4395faf2e515eea4d40f82416ad387575f0d5a580612223c361130e53e72f00b" }, { - "title": "SCO.03 - Register Node - 3", + "title": "SCO.07 - Stake Rewarded Tokens - 2", "valid": true, "chainID": "Testnet", "payloadMessage": { - "script": "import FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// Registers a delegator in the staking collection resource\n/// for the specified node information and the amount of tokens to commit\n\ntransaction(id: String,\n role: UInt8,\n networkingAddress: String,\n networkingKey: String,\n stakingKey: String,\n amount: UFix64,\n publicKeys: [String]?) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n\n if let machineAccount = self.stakingCollectionRef.registerNode(\n id: id,\n role: role,\n networkingAddress: networkingAddress,\n networkingKey: networkingKey,\n stakingKey: stakingKey,\n amount: amount,\n payer: account) \n {\n if publicKeys == nil || publicKeys!.length == 0 {\n panic(\"Cannot provide zero keys for the machine account\")\n }\n for key in publicKeys! {\n machineAccount.addPublicKey(key.decodeHex())\n }\n }\n }\n}\n", + "script": "import FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// Commits rewarded tokens to stake for the specified node or delegator in the staking collection\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: auth(FlowStakingCollection.CollectionOwner) &FlowStakingCollection.StakingCollection\n\n prepare(account: auth(BorrowValue) &Account) {\n self.stakingCollectionRef = account.storage.borrow(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow a reference to a StakingCollection in the primary user's account\")\n }\n\n execute {\n self.stakingCollectionRef.stakeRewardedTokens(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", "arguments": [ { "type": "String", "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" }, { - "type": "UInt8", - "value": "1" - }, - { - "type": "String", - "value": "flow-node.test:3569" - }, - { - "type": "String", - "value": "1348307bc77c688e80049de9d081aa09755da33e6997605fa059db2144fc85e560cbe6f7da8d74b453f5916618cb8fd392c2db856f3e78221dc68db1b1d914e4" - }, - { - "type": "String", - "value": "9e9ae0d645fd5fd9050792e0b0daa82cc1686d9133afa0f81a784b375c42ae48567d1545e7a9e1965f2c1a32f73cf8575ebb7a967f6e4d104d2df78eb8be409135d12da0499b8a00771f642c1b9c49397f22b440439f036c3bdee82f5309dab3" - }, - { - "type": "UFix64", - "value": "92233720368.54775808" + "value": { + "value": "42", + "type": "UInt32" + }, + "type": "Optional" }, { - "type": "Optional", - "value": { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164" - } - ] - } + "value": "92233720368.54775808", + "type": "UFix64" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -1360,43 +1373,22 @@ ] }, "envelopeMessage": { - "script": "import FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// Registers a delegator in the staking collection resource\n/// for the specified node information and the amount of tokens to commit\n\ntransaction(id: String,\n role: UInt8,\n networkingAddress: String,\n networkingKey: String,\n stakingKey: String,\n amount: UFix64,\n publicKeys: [String]?) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n\n if let machineAccount = self.stakingCollectionRef.registerNode(\n id: id,\n role: role,\n networkingAddress: networkingAddress,\n networkingKey: networkingKey,\n stakingKey: stakingKey,\n amount: amount,\n payer: account) \n {\n if publicKeys == nil || publicKeys!.length == 0 {\n panic(\"Cannot provide zero keys for the machine account\")\n }\n for key in publicKeys! {\n machineAccount.addPublicKey(key.decodeHex())\n }\n }\n }\n}\n", + "script": "import FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// Commits rewarded tokens to stake for the specified node or delegator in the staking collection\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: auth(FlowStakingCollection.CollectionOwner) &FlowStakingCollection.StakingCollection\n\n prepare(account: auth(BorrowValue) &Account) {\n self.stakingCollectionRef = account.storage.borrow(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow a reference to a StakingCollection in the primary user's account\")\n }\n\n execute {\n self.stakingCollectionRef.stakeRewardedTokens(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", "arguments": [ { "type": "String", "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" }, { - "type": "UInt8", - "value": "1" - }, - { - "type": "String", - "value": "flow-node.test:3569" - }, - { - "type": "String", - "value": "1348307bc77c688e80049de9d081aa09755da33e6997605fa059db2144fc85e560cbe6f7da8d74b453f5916618cb8fd392c2db856f3e78221dc68db1b1d914e4" - }, - { - "type": "String", - "value": "9e9ae0d645fd5fd9050792e0b0daa82cc1686d9133afa0f81a784b375c42ae48567d1545e7a9e1965f2c1a32f73cf8575ebb7a967f6e4d104d2df78eb8be409135d12da0499b8a00771f642c1b9c49397f22b440439f036c3bdee82f5309dab3" - }, - { - "type": "UFix64", - "value": "92233720368.54775808" + "value": { + "value": "42", + "type": "UInt32" + }, + "type": "Optional" }, { - "type": "Optional", - "value": { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164" - } - ] - } + "value": "92233720368.54775808", + "type": "UFix64" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -1412,61 +1404,29 @@ ], "payloadSigs": [] }, - "encodedTransactionPayloadHex": "f908b5b90534696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f2052656769737465727320612064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e207265736f757263650a2f2f2f20666f722074686520737065636966696564206e6f646520696e666f726d6174696f6e20616e642074686520616d6f756e74206f6620746f6b656e7320746f20636f6d6d69740a0a7472616e73616374696f6e2869643a20537472696e672c0a202020202020202020202020726f6c653a2055496e74382c0a2020202020202020202020206e6574776f726b696e67416464726573733a20537472696e672c0a2020202020202020202020206e6574776f726b696e674b65793a20537472696e672c0a2020202020202020202020207374616b696e674b65793a20537472696e672c0a202020202020202020202020616d6f756e743a205546697836342c0a2020202020202020202020207075626c69634b6579733a205b537472696e675d3f29207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a0a20202020202020206966206c6574206d616368696e654163636f756e74203d2073656c662e7374616b696e67436f6c6c656374696f6e5265662e72656769737465724e6f6465280a20202020202020202020202069643a2069642c0a202020202020202020202020726f6c653a20726f6c652c0a2020202020202020202020206e6574776f726b696e67416464726573733a206e6574776f726b696e67416464726573732c0a2020202020202020202020206e6574776f726b696e674b65793a206e6574776f726b696e674b65792c0a2020202020202020202020207374616b696e674b65793a207374616b696e674b65792c0a202020202020202020202020616d6f756e743a20616d6f756e742c0a20202020202020202020202070617965723a206163636f756e7429200a20202020202020207b0a2020202020202020202020206966207075626c69634b657973203d3d206e696c207c7c207075626c69634b657973212e6c656e677468203d3d2030207b0a2020202020202020202020202020202070616e6963282243616e6e6f742070726f76696465207a65726f206b65797320666f7220746865206d616368696e65206163636f756e7422290a2020202020202020202020207d0a202020202020202020202020666f72206b657920696e207075626c69634b65797321207b0a202020202020202020202020202020206d616368696e654163636f756e742e6164645075626c69634b6579286b65792e6465636f64654865782829290a2020202020202020202020207d0a20202020202020207d0a202020207d0a7d0af9033bb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227d9c7b2274797065223a2255496e7438222c2276616c7565223a2231227daf7b2274797065223a22537472696e67222c2276616c7565223a22666c6f772d6e6f64652e746573743a33353639227db89c7b2274797065223a22537472696e67222c2276616c7565223a223133343833303762633737633638386538303034396465396430383161613039373535646133336536393937363035666130353964623231343466633835653536306362653666376461386437346234353366353931363631386362386664333932633264623835366633653738323231646336386462316231643931346534227db8dc7b2274797065223a22537472696e67222c2276616c7565223a22396539616530643634356664356664393035303739326530623064616138326363313638366439313333616661306638316137383462333735633432616534383536376431353435653761396531393635663263316133326637336366383537356562623761393637663665346431303464326466373865623862653430393133356431326461303439396238613030373731663634326331623963343933393766323262343430343339663033366333626465653832663533303964616233227db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227db8e17b2274797065223a224f7074696f6e616c222c2276616c7565223a7b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634227d5d7d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", - "encodedTransactionEnvelopeHex": "f908b9f908b5b90534696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f2052656769737465727320612064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e207265736f757263650a2f2f2f20666f722074686520737065636966696564206e6f646520696e666f726d6174696f6e20616e642074686520616d6f756e74206f6620746f6b656e7320746f20636f6d6d69740a0a7472616e73616374696f6e2869643a20537472696e672c0a202020202020202020202020726f6c653a2055496e74382c0a2020202020202020202020206e6574776f726b696e67416464726573733a20537472696e672c0a2020202020202020202020206e6574776f726b696e674b65793a20537472696e672c0a2020202020202020202020207374616b696e674b65793a20537472696e672c0a202020202020202020202020616d6f756e743a205546697836342c0a2020202020202020202020207075626c69634b6579733a205b537472696e675d3f29207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a0a20202020202020206966206c6574206d616368696e654163636f756e74203d2073656c662e7374616b696e67436f6c6c656374696f6e5265662e72656769737465724e6f6465280a20202020202020202020202069643a2069642c0a202020202020202020202020726f6c653a20726f6c652c0a2020202020202020202020206e6574776f726b696e67416464726573733a206e6574776f726b696e67416464726573732c0a2020202020202020202020206e6574776f726b696e674b65793a206e6574776f726b696e674b65792c0a2020202020202020202020207374616b696e674b65793a207374616b696e674b65792c0a202020202020202020202020616d6f756e743a20616d6f756e742c0a20202020202020202020202070617965723a206163636f756e7429200a20202020202020207b0a2020202020202020202020206966207075626c69634b657973203d3d206e696c207c7c207075626c69634b657973212e6c656e677468203d3d2030207b0a2020202020202020202020202020202070616e6963282243616e6e6f742070726f76696465207a65726f206b65797320666f7220746865206d616368696e65206163636f756e7422290a2020202020202020202020207d0a202020202020202020202020666f72206b657920696e207075626c69634b65797321207b0a202020202020202020202020202020206d616368696e654163636f756e742e6164645075626c69634b6579286b65792e6465636f64654865782829290a2020202020202020202020207d0a20202020202020207d0a202020207d0a7d0af9033bb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227d9c7b2274797065223a2255496e7438222c2276616c7565223a2231227daf7b2274797065223a22537472696e67222c2276616c7565223a22666c6f772d6e6f64652e746573743a33353639227db89c7b2274797065223a22537472696e67222c2276616c7565223a223133343833303762633737633638386538303034396465396430383161613039373535646133336536393937363035666130353964623231343466633835653536306362653666376461386437346234353366353931363631386362386664333932633264623835366633653738323231646336386462316231643931346534227db8dc7b2274797065223a22537472696e67222c2276616c7565223a22396539616530643634356664356664393035303739326530623064616138326363313638366439313333616661306638316137383462333735633432616534383536376431353435653761396531393635663263316133326637336366383537356562623761393637663665346431303464326466373865623862653430393133356431326461303439396238613030373731663634326331623963343933393766323262343430343339663033366333626465653832663533303964616233227db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227db8e17b2274797065223a224f7074696f6e616c222c2276616c7565223a7b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634227d5d7d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", - "metadata": "02f47efa834bc0559afae9a660b2efefddd0c6dc6e1bbcf9c3994e45ea9e5135ec99997236b6d76caa298331d5cef77cbdf83c1af64584ece537a780ba4ac468835265676973746572204e6f64650007014e6f64652049440000537472696e670003014e6f646520526f6c65000155496e74380003014e6574772e20416464726573730002537472696e670003014e6574772e204b65790003537472696e670003015374616b696e67204b65790004537472696e67000301416d6f756e74000555466978363400030400035075622e204b65790006537472696e670003", - "hash": "f47efa834bc0559afae9a660b2efefddd0c6dc6e1bbcf9c3994e45ea9e5135ec" + "encodedTransactionPayloadHex": "f9045cb9034c696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f20436f6d6d69747320726577617264656420746f6b656e7320746f207374616b6520666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a206175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a206175746828426f72726f7756616c75652920264163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e73746f726167652e626f72726f773c6175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f2061205374616b696e67436f6c6c656374696f6e20696e20746865207072696d61727920757365722773206163636f756e7422290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e7374616b655265776172646564546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8cbb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db83a7b2276616c7565223a7b2276616c7565223a223432222c2274797065223a2255496e743332227d2c2274797065223a224f7074696f6e616c227db07b2276616c7565223a2239323233333732303336382e3534373735383038222c2274797065223a22554669783634227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", + "encodedTransactionEnvelopeHex": "f90460f9045cb9034c696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f20436f6d6d69747320726577617264656420746f6b656e7320746f207374616b6520666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a206175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a206175746828426f72726f7756616c75652920264163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e73746f726167652e626f72726f773c6175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f2061205374616b696e67436f6c6c656374696f6e20696e20746865207072696d61727920757365722773206163636f756e7422290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e7374616b655265776172646564546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8cbb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db83a7b2276616c7565223a7b2276616c7565223a223432222c2274797065223a2255496e743332227d2c2274797065223a224f7074696f6e616c227db07b2276616c7565223a2239323233333732303336382e3534373735383038222c2274797065223a22554669783634227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", + "metadata": "024395faf2e515eea4d40f82416ad387575f0d5a580612223c361130e53e72f00bc989e8b3beb9c2eb5af2ee1e11d592c9f1131e76e7ef105a0d40cf1610d1e3485374616b6520526577617264656420546f6b656e730003014e6f64652049440000537472696e6700030244656c656761746f72204944000155496e743332000301416d6f756e7400025546697836340003", + "hash": "4395faf2e515eea4d40f82416ad387575f0d5a580612223c361130e53e72f00b" }, { - "title": "SCO.03 - Register Node - 4", + "title": "SCO.08 - Stake Unstaked Tokens - 1", "valid": true, "chainID": "Testnet", "payloadMessage": { - "script": "import FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// Registers a delegator in the staking collection resource\n/// for the specified node information and the amount of tokens to commit\n\ntransaction(id: String,\n role: UInt8,\n networkingAddress: String,\n networkingKey: String,\n stakingKey: String,\n amount: UFix64,\n publicKeys: [String]?) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n\n if let machineAccount = self.stakingCollectionRef.registerNode(\n id: id,\n role: role,\n networkingAddress: networkingAddress,\n networkingKey: networkingKey,\n stakingKey: stakingKey,\n amount: amount,\n payer: account) \n {\n if publicKeys == nil || publicKeys!.length == 0 {\n panic(\"Cannot provide zero keys for the machine account\")\n }\n for key in publicKeys! {\n machineAccount.addPublicKey(key.decodeHex())\n }\n }\n }\n}\n", + "script": "import FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// Commits unstaked tokens to stake for the specified node or delegator in the staking collection\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: auth(FlowStakingCollection.CollectionOwner) &FlowStakingCollection.StakingCollection\n\n prepare(account: auth(BorrowValue) &Account) {\n self.stakingCollectionRef = account.storage.borrow(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow a reference to a StakingCollection in the primary user's account\")\n }\n\n execute {\n self.stakingCollectionRef.stakeUnstakedTokens(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", "arguments": [ { "type": "String", "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" }, { - "type": "UInt8", - "value": "1" - }, - { - "type": "String", - "value": "flow-node.test:3569" - }, - { - "type": "String", - "value": "1348307bc77c688e80049de9d081aa09755da33e6997605fa059db2144fc85e560cbe6f7da8d74b453f5916618cb8fd392c2db856f3e78221dc68db1b1d914e4" - }, - { - "type": "String", - "value": "9e9ae0d645fd5fd9050792e0b0daa82cc1686d9133afa0f81a784b375c42ae48567d1545e7a9e1965f2c1a32f73cf8575ebb7a967f6e4d104d2df78eb8be409135d12da0499b8a00771f642c1b9c49397f22b440439f036c3bdee82f5309dab3" - }, - { - "type": "UFix64", - "value": "92233720368.54775808" + "value": null, + "type": "Optional" }, { - "type": "Optional", - "value": { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164" - }, - { - "type": "String", - "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164" - }, - { - "type": "String", - "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164" - } - ] - } + "value": "92233720368.54775808", + "type": "UFix64" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -1482,51 +1442,19 @@ ] }, "envelopeMessage": { - "script": "import FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// Registers a delegator in the staking collection resource\n/// for the specified node information and the amount of tokens to commit\n\ntransaction(id: String,\n role: UInt8,\n networkingAddress: String,\n networkingKey: String,\n stakingKey: String,\n amount: UFix64,\n publicKeys: [String]?) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n\n if let machineAccount = self.stakingCollectionRef.registerNode(\n id: id,\n role: role,\n networkingAddress: networkingAddress,\n networkingKey: networkingKey,\n stakingKey: stakingKey,\n amount: amount,\n payer: account) \n {\n if publicKeys == nil || publicKeys!.length == 0 {\n panic(\"Cannot provide zero keys for the machine account\")\n }\n for key in publicKeys! {\n machineAccount.addPublicKey(key.decodeHex())\n }\n }\n }\n}\n", + "script": "import FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// Commits unstaked tokens to stake for the specified node or delegator in the staking collection\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: auth(FlowStakingCollection.CollectionOwner) &FlowStakingCollection.StakingCollection\n\n prepare(account: auth(BorrowValue) &Account) {\n self.stakingCollectionRef = account.storage.borrow(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow a reference to a StakingCollection in the primary user's account\")\n }\n\n execute {\n self.stakingCollectionRef.stakeUnstakedTokens(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", "arguments": [ { "type": "String", "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" }, { - "type": "UInt8", - "value": "1" - }, - { - "type": "String", - "value": "flow-node.test:3569" - }, - { - "type": "String", - "value": "1348307bc77c688e80049de9d081aa09755da33e6997605fa059db2144fc85e560cbe6f7da8d74b453f5916618cb8fd392c2db856f3e78221dc68db1b1d914e4" - }, - { - "type": "String", - "value": "9e9ae0d645fd5fd9050792e0b0daa82cc1686d9133afa0f81a784b375c42ae48567d1545e7a9e1965f2c1a32f73cf8575ebb7a967f6e4d104d2df78eb8be409135d12da0499b8a00771f642c1b9c49397f22b440439f036c3bdee82f5309dab3" - }, - { - "type": "UFix64", - "value": "92233720368.54775808" + "value": null, + "type": "Optional" }, { - "type": "Optional", - "value": { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164" - }, - { - "type": "String", - "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164" - }, - { - "type": "String", - "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164" - } - ] - } + "value": "92233720368.54775808", + "type": "UFix64" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -1542,88 +1470,32 @@ ], "payloadSigs": [] }, - "encodedTransactionPayloadHex": "f90a0cb90534696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f2052656769737465727320612064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e207265736f757263650a2f2f2f20666f722074686520737065636966696564206e6f646520696e666f726d6174696f6e20616e642074686520616d6f756e74206f6620746f6b656e7320746f20636f6d6d69740a0a7472616e73616374696f6e2869643a20537472696e672c0a202020202020202020202020726f6c653a2055496e74382c0a2020202020202020202020206e6574776f726b696e67416464726573733a20537472696e672c0a2020202020202020202020206e6574776f726b696e674b65793a20537472696e672c0a2020202020202020202020207374616b696e674b65793a20537472696e672c0a202020202020202020202020616d6f756e743a205546697836342c0a2020202020202020202020207075626c69634b6579733a205b537472696e675d3f29207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a0a20202020202020206966206c6574206d616368696e654163636f756e74203d2073656c662e7374616b696e67436f6c6c656374696f6e5265662e72656769737465724e6f6465280a20202020202020202020202069643a2069642c0a202020202020202020202020726f6c653a20726f6c652c0a2020202020202020202020206e6574776f726b696e67416464726573733a206e6574776f726b696e67416464726573732c0a2020202020202020202020206e6574776f726b696e674b65793a206e6574776f726b696e674b65792c0a2020202020202020202020207374616b696e674b65793a207374616b696e674b65792c0a202020202020202020202020616d6f756e743a20616d6f756e742c0a20202020202020202020202070617965723a206163636f756e7429200a20202020202020207b0a2020202020202020202020206966207075626c69634b657973203d3d206e696c207c7c207075626c69634b657973212e6c656e677468203d3d2030207b0a2020202020202020202020202020202070616e6963282243616e6e6f742070726f76696465207a65726f206b65797320666f7220746865206d616368696e65206163636f756e7422290a2020202020202020202020207d0a202020202020202020202020666f72206b657920696e207075626c69634b65797321207b0a202020202020202020202020202020206d616368696e654163636f756e742e6164645075626c69634b6579286b65792e6465636f64654865782829290a2020202020202020202020207d0a20202020202020207d0a202020207d0a7d0af90492b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227d9c7b2274797065223a2255496e7438222c2276616c7565223a2231227daf7b2274797065223a22537472696e67222c2276616c7565223a22666c6f772d6e6f64652e746573743a33353639227db89c7b2274797065223a22537472696e67222c2276616c7565223a223133343833303762633737633638386538303034396465396430383161613039373535646133336536393937363035666130353964623231343466633835653536306362653666376461386437346234353366353931363631386362386664333932633264623835366633653738323231646336386462316231643931346534227db8dc7b2274797065223a22537472696e67222c2276616c7565223a22396539616530643634356664356664393035303739326530623064616138326363313638366439313333616661306638316137383462333735633432616534383536376431353435653761396531393635663263316133326637336366383537356562623761393637663665346431303464326466373865623862653430393133356431326461303439396238613030373731663634326331623963343933393766323262343430343339663033366333626465653832663533303964616233227db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227db902377b2274797065223a224f7074696f6e616c222c2276616c7565223a7b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634227d2c7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634227d2c7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634227d5d7d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", - "encodedTransactionEnvelopeHex": "f90a10f90a0cb90534696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f2052656769737465727320612064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e207265736f757263650a2f2f2f20666f722074686520737065636966696564206e6f646520696e666f726d6174696f6e20616e642074686520616d6f756e74206f6620746f6b656e7320746f20636f6d6d69740a0a7472616e73616374696f6e2869643a20537472696e672c0a202020202020202020202020726f6c653a2055496e74382c0a2020202020202020202020206e6574776f726b696e67416464726573733a20537472696e672c0a2020202020202020202020206e6574776f726b696e674b65793a20537472696e672c0a2020202020202020202020207374616b696e674b65793a20537472696e672c0a202020202020202020202020616d6f756e743a205546697836342c0a2020202020202020202020207075626c69634b6579733a205b537472696e675d3f29207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a0a20202020202020206966206c6574206d616368696e654163636f756e74203d2073656c662e7374616b696e67436f6c6c656374696f6e5265662e72656769737465724e6f6465280a20202020202020202020202069643a2069642c0a202020202020202020202020726f6c653a20726f6c652c0a2020202020202020202020206e6574776f726b696e67416464726573733a206e6574776f726b696e67416464726573732c0a2020202020202020202020206e6574776f726b696e674b65793a206e6574776f726b696e674b65792c0a2020202020202020202020207374616b696e674b65793a207374616b696e674b65792c0a202020202020202020202020616d6f756e743a20616d6f756e742c0a20202020202020202020202070617965723a206163636f756e7429200a20202020202020207b0a2020202020202020202020206966207075626c69634b657973203d3d206e696c207c7c207075626c69634b657973212e6c656e677468203d3d2030207b0a2020202020202020202020202020202070616e6963282243616e6e6f742070726f76696465207a65726f206b65797320666f7220746865206d616368696e65206163636f756e7422290a2020202020202020202020207d0a202020202020202020202020666f72206b657920696e207075626c69634b65797321207b0a202020202020202020202020202020206d616368696e654163636f756e742e6164645075626c69634b6579286b65792e6465636f64654865782829290a2020202020202020202020207d0a20202020202020207d0a202020207d0a7d0af90492b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227d9c7b2274797065223a2255496e7438222c2276616c7565223a2231227daf7b2274797065223a22537472696e67222c2276616c7565223a22666c6f772d6e6f64652e746573743a33353639227db89c7b2274797065223a22537472696e67222c2276616c7565223a223133343833303762633737633638386538303034396465396430383161613039373535646133336536393937363035666130353964623231343466633835653536306362653666376461386437346234353366353931363631386362386664333932633264623835366633653738323231646336386462316231643931346534227db8dc7b2274797065223a22537472696e67222c2276616c7565223a22396539616530643634356664356664393035303739326530623064616138326363313638366439313333616661306638316137383462333735633432616534383536376431353435653761396531393635663263316133326637336366383537356562623761393637663665346431303464326466373865623862653430393133356431326461303439396238613030373731663634326331623963343933393766323262343430343339663033366333626465653832663533303964616233227db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227db902377b2274797065223a224f7074696f6e616c222c2276616c7565223a7b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634227d2c7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634227d2c7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634227d5d7d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", - "metadata": "02f47efa834bc0559afae9a660b2efefddd0c6dc6e1bbcf9c3994e45ea9e5135ec99997236b6d76caa298331d5cef77cbdf83c1af64584ece537a780ba4ac468835265676973746572204e6f64650007014e6f64652049440000537472696e670003014e6f646520526f6c65000155496e74380003014e6574772e20416464726573730002537472696e670003014e6574772e204b65790003537472696e670003015374616b696e67204b65790004537472696e67000301416d6f756e74000555466978363400030400035075622e204b65790006537472696e670003", - "hash": "f47efa834bc0559afae9a660b2efefddd0c6dc6e1bbcf9c3994e45ea9e5135ec" + "encodedTransactionPayloadHex": "f90441b9034c696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f20436f6d6d69747320756e7374616b656420746f6b656e7320746f207374616b6520666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a206175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a206175746828426f72726f7756616c75652920264163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e73746f726167652e626f72726f773c6175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f2061205374616b696e67436f6c6c656374696f6e20696e20746865207072696d61727920757365722773206163636f756e7422290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e7374616b65556e7374616b6564546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8b0b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227da07b2276616c7565223a6e756c6c2c2274797065223a224f7074696f6e616c227db07b2276616c7565223a2239323233333732303336382e3534373735383038222c2274797065223a22554669783634227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", + "encodedTransactionEnvelopeHex": "f90445f90441b9034c696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f20436f6d6d69747320756e7374616b656420746f6b656e7320746f207374616b6520666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a206175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a206175746828426f72726f7756616c75652920264163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e73746f726167652e626f72726f773c6175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f2061205374616b696e67436f6c6c656374696f6e20696e20746865207072696d61727920757365722773206163636f756e7422290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e7374616b65556e7374616b6564546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8b0b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227da07b2276616c7565223a6e756c6c2c2274797065223a224f7074696f6e616c227db07b2276616c7565223a2239323233333732303336382e3534373735383038222c2274797065223a22554669783634227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", + "metadata": "020b1721f2a8ef6c0c4121ef83c7b38f2141eebcd65c72dab9ebaafe1b4d66fea8fe6adb75bf22b2033800e916fa7e3a7810417e9a36d35320de7f4b5f7ec4f1b85374616b6520556e7374616b656420546f6b656e730003014e6f64652049440000537472696e6700030244656c656761746f72204944000155496e743332000301416d6f756e7400025546697836340003", + "hash": "0b1721f2a8ef6c0c4121ef83c7b38f2141eebcd65c72dab9ebaafe1b4d66fea8" }, { - "title": "SCO.04 - Create Machine Account - 1", + "title": "SCO.08 - Stake Unstaked Tokens - 2", "valid": true, "chainID": "Testnet", "payloadMessage": { - "script": "import FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// Creates a machine account for a node that is already in the staking collection\n/// and adds public keys to the new account\n\ntransaction(nodeID: String, publicKeys: [String]) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n\n if let machineAccount = self.stakingCollectionRef.createMachineAccountForExistingNode(nodeID: nodeID, payer: account) {\n if publicKeys == nil || publicKeys!.length == 0 {\n panic(\"Cannot provide zero keys for the machine account\")\n }\n for key in publicKeys! {\n machineAccount.addPublicKey(key.decodeHex())\n }\n } else {\n panic(\"Could not create a machine account for the node\")\n }\n }\n}\n", + "script": "import FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// Commits unstaked tokens to stake for the specified node or delegator in the staking collection\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: auth(FlowStakingCollection.CollectionOwner) &FlowStakingCollection.StakingCollection\n\n prepare(account: auth(BorrowValue) &Account) {\n self.stakingCollectionRef = account.storage.borrow(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow a reference to a StakingCollection in the primary user's account\")\n }\n\n execute {\n self.stakingCollectionRef.stakeUnstakedTokens(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", "arguments": [ { "type": "String", "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" }, { - "type": "Array", - "value": [] - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "99a8ac2c71d4f6bd", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "99a8ac2c71d4f6bd", - "authorizers": [ - "99a8ac2c71d4f6bd" - ] - }, - "envelopeMessage": { - "script": "import FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// Creates a machine account for a node that is already in the staking collection\n/// and adds public keys to the new account\n\ntransaction(nodeID: String, publicKeys: [String]) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n\n if let machineAccount = self.stakingCollectionRef.createMachineAccountForExistingNode(nodeID: nodeID, payer: account) {\n if publicKeys == nil || publicKeys!.length == 0 {\n panic(\"Cannot provide zero keys for the machine account\")\n }\n for key in publicKeys! {\n machineAccount.addPublicKey(key.decodeHex())\n }\n } else {\n panic(\"Could not create a machine account for the node\")\n }\n }\n}\n", - "arguments": [ - { - "type": "String", - "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" - }, - { - "type": "Array", - "value": [] - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "99a8ac2c71d4f6bd", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "99a8ac2c71d4f6bd", - "authorizers": [ - "99a8ac2c71d4f6bd" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f904e2b90423696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f20437265617465732061206d616368696e65206163636f756e7420666f722061206e6f6465207468617420697320616c726561647920696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f20616e642061646473207075626c6963206b65797320746f20746865206e6577206163636f756e740a0a7472616e73616374696f6e286e6f646549443a20537472696e672c207075626c69634b6579733a205b537472696e675d29207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a0a20202020202020206966206c6574206d616368696e654163636f756e74203d2073656c662e7374616b696e67436f6c6c656374696f6e5265662e6372656174654d616368696e654163636f756e74466f724578697374696e674e6f6465286e6f646549443a206e6f646549442c2070617965723a206163636f756e7429207b0a2020202020202020202020206966207075626c69634b657973203d3d206e696c207c7c207075626c69634b657973212e6c656e677468203d3d2030207b0a2020202020202020202020202020202070616e6963282243616e6e6f742070726f76696465207a65726f206b65797320666f7220746865206d616368696e65206163636f756e7422290a2020202020202020202020207d0a202020202020202020202020666f72206b657920696e207075626c69634b65797321207b0a202020202020202020202020202020206d616368696e654163636f756e742e6164645075626c69634b6579286b65792e6465636f64654865782829290a2020202020202020202020207d0a20202020202020207d20656c7365207b0a20202020202020202020202070616e69632822436f756c64206e6f74206372656174652061206d616368696e65206163636f756e7420666f7220746865206e6f646522290a20202020202020207d0a202020207d0a7d0af87ab85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227d9b7b2274797065223a224172726179222c2276616c7565223a5b5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", - "encodedTransactionEnvelopeHex": "f904e6f904e2b90423696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f20437265617465732061206d616368696e65206163636f756e7420666f722061206e6f6465207468617420697320616c726561647920696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f20616e642061646473207075626c6963206b65797320746f20746865206e6577206163636f756e740a0a7472616e73616374696f6e286e6f646549443a20537472696e672c207075626c69634b6579733a205b537472696e675d29207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a0a20202020202020206966206c6574206d616368696e654163636f756e74203d2073656c662e7374616b696e67436f6c6c656374696f6e5265662e6372656174654d616368696e654163636f756e74466f724578697374696e674e6f6465286e6f646549443a206e6f646549442c2070617965723a206163636f756e7429207b0a2020202020202020202020206966207075626c69634b657973203d3d206e696c207c7c207075626c69634b657973212e6c656e677468203d3d2030207b0a2020202020202020202020202020202070616e6963282243616e6e6f742070726f76696465207a65726f206b65797320666f7220746865206d616368696e65206163636f756e7422290a2020202020202020202020207d0a202020202020202020202020666f72206b657920696e207075626c69634b65797321207b0a202020202020202020202020202020206d616368696e654163636f756e742e6164645075626c69634b6579286b65792e6465636f64654865782829290a2020202020202020202020207d0a20202020202020207d20656c7365207b0a20202020202020202020202070616e69632822436f756c64206e6f74206372656174652061206d616368696e65206163636f756e7420666f7220746865206e6f646522290a20202020202020207d0a202020207d0a7d0af87ab85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227d9b7b2274797065223a224172726179222c2276616c7565223a5b5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", - "metadata": "02e79df145af42488e3da1d1b2e50a38a2084229896d670884f278a2119dc3bf9ec2442b498eea025099815ea613d6407407192dc12ad70e1a4f47936db804a841437265617465204d616368696e65204163636f756e740002014e6f64652049440000537472696e6700030300035075622e204b65790001537472696e670003", - "hash": "e79df145af42488e3da1d1b2e50a38a2084229896d670884f278a2119dc3bf9e" - }, - { - "title": "SCO.04 - Create Machine Account - 2", - "valid": true, - "chainID": "Testnet", - "payloadMessage": { - "script": "import FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// Creates a machine account for a node that is already in the staking collection\n/// and adds public keys to the new account\n\ntransaction(nodeID: String, publicKeys: [String]) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n\n if let machineAccount = self.stakingCollectionRef.createMachineAccountForExistingNode(nodeID: nodeID, payer: account) {\n if publicKeys == nil || publicKeys!.length == 0 {\n panic(\"Cannot provide zero keys for the machine account\")\n }\n for key in publicKeys! {\n machineAccount.addPublicKey(key.decodeHex())\n }\n } else {\n panic(\"Could not create a machine account for the node\")\n }\n }\n}\n", - "arguments": [ - { - "type": "String", - "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" + "value": { + "value": "42", + "type": "UInt32" + }, + "type": "Optional" }, { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164" - } - ] + "value": "92233720368.54775808", + "type": "UFix64" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -1639,20 +1511,22 @@ ] }, "envelopeMessage": { - "script": "import FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// Creates a machine account for a node that is already in the staking collection\n/// and adds public keys to the new account\n\ntransaction(nodeID: String, publicKeys: [String]) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n\n if let machineAccount = self.stakingCollectionRef.createMachineAccountForExistingNode(nodeID: nodeID, payer: account) {\n if publicKeys == nil || publicKeys!.length == 0 {\n panic(\"Cannot provide zero keys for the machine account\")\n }\n for key in publicKeys! {\n machineAccount.addPublicKey(key.decodeHex())\n }\n } else {\n panic(\"Could not create a machine account for the node\")\n }\n }\n}\n", + "script": "import FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// Commits unstaked tokens to stake for the specified node or delegator in the staking collection\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: auth(FlowStakingCollection.CollectionOwner) &FlowStakingCollection.StakingCollection\n\n prepare(account: auth(BorrowValue) &Account) {\n self.stakingCollectionRef = account.storage.borrow(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow a reference to a StakingCollection in the primary user's account\")\n }\n\n execute {\n self.stakingCollectionRef.stakeUnstakedTokens(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", "arguments": [ { "type": "String", "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" }, { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164" - } - ] + "value": { + "value": "42", + "type": "UInt32" + }, + "type": "Optional" + }, + { + "value": "92233720368.54775808", + "type": "UFix64" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -1668,38 +1542,21 @@ ], "payloadSigs": [] }, - "encodedTransactionPayloadHex": "f9058eb90423696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f20437265617465732061206d616368696e65206163636f756e7420666f722061206e6f6465207468617420697320616c726561647920696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f20616e642061646473207075626c6963206b65797320746f20746865206e6577206163636f756e740a0a7472616e73616374696f6e286e6f646549443a20537472696e672c207075626c69634b6579733a205b537472696e675d29207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a0a20202020202020206966206c6574206d616368696e654163636f756e74203d2073656c662e7374616b696e67436f6c6c656374696f6e5265662e6372656174654d616368696e654163636f756e74466f724578697374696e674e6f6465286e6f646549443a206e6f646549442c2070617965723a206163636f756e7429207b0a2020202020202020202020206966207075626c69634b657973203d3d206e696c207c7c207075626c69634b657973212e6c656e677468203d3d2030207b0a2020202020202020202020202020202070616e6963282243616e6e6f742070726f76696465207a65726f206b65797320666f7220746865206d616368696e65206163636f756e7422290a2020202020202020202020207d0a202020202020202020202020666f72206b657920696e207075626c69634b65797321207b0a202020202020202020202020202020206d616368696e654163636f756e742e6164645075626c69634b6579286b65792e6465636f64654865782829290a2020202020202020202020207d0a20202020202020207d20656c7365207b0a20202020202020202020202070616e69632822436f756c64206e6f74206372656174652061206d616368696e65206163636f756e7420666f7220746865206e6f646522290a20202020202020207d0a202020207d0a7d0af90125b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db8c57b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634227d5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", - "encodedTransactionEnvelopeHex": "f90592f9058eb90423696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f20437265617465732061206d616368696e65206163636f756e7420666f722061206e6f6465207468617420697320616c726561647920696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f20616e642061646473207075626c6963206b65797320746f20746865206e6577206163636f756e740a0a7472616e73616374696f6e286e6f646549443a20537472696e672c207075626c69634b6579733a205b537472696e675d29207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a0a20202020202020206966206c6574206d616368696e654163636f756e74203d2073656c662e7374616b696e67436f6c6c656374696f6e5265662e6372656174654d616368696e654163636f756e74466f724578697374696e674e6f6465286e6f646549443a206e6f646549442c2070617965723a206163636f756e7429207b0a2020202020202020202020206966207075626c69634b657973203d3d206e696c207c7c207075626c69634b657973212e6c656e677468203d3d2030207b0a2020202020202020202020202020202070616e6963282243616e6e6f742070726f76696465207a65726f206b65797320666f7220746865206d616368696e65206163636f756e7422290a2020202020202020202020207d0a202020202020202020202020666f72206b657920696e207075626c69634b65797321207b0a202020202020202020202020202020206d616368696e654163636f756e742e6164645075626c69634b6579286b65792e6465636f64654865782829290a2020202020202020202020207d0a20202020202020207d20656c7365207b0a20202020202020202020202070616e69632822436f756c64206e6f74206372656174652061206d616368696e65206163636f756e7420666f7220746865206e6f646522290a20202020202020207d0a202020207d0a7d0af90125b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db8c57b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634227d5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", - "metadata": "02e79df145af42488e3da1d1b2e50a38a2084229896d670884f278a2119dc3bf9ec2442b498eea025099815ea613d6407407192dc12ad70e1a4f47936db804a841437265617465204d616368696e65204163636f756e740002014e6f64652049440000537472696e6700030300035075622e204b65790001537472696e670003", - "hash": "e79df145af42488e3da1d1b2e50a38a2084229896d670884f278a2119dc3bf9e" + "encodedTransactionPayloadHex": "f9045cb9034c696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f20436f6d6d69747320756e7374616b656420746f6b656e7320746f207374616b6520666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a206175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a206175746828426f72726f7756616c75652920264163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e73746f726167652e626f72726f773c6175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f2061205374616b696e67436f6c6c656374696f6e20696e20746865207072696d61727920757365722773206163636f756e7422290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e7374616b65556e7374616b6564546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8cbb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db83a7b2276616c7565223a7b2276616c7565223a223432222c2274797065223a2255496e743332227d2c2274797065223a224f7074696f6e616c227db07b2276616c7565223a2239323233333732303336382e3534373735383038222c2274797065223a22554669783634227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", + "encodedTransactionEnvelopeHex": "f90460f9045cb9034c696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f20436f6d6d69747320756e7374616b656420746f6b656e7320746f207374616b6520666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a206175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a206175746828426f72726f7756616c75652920264163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e73746f726167652e626f72726f773c6175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f2061205374616b696e67436f6c6c656374696f6e20696e20746865207072696d61727920757365722773206163636f756e7422290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e7374616b65556e7374616b6564546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8cbb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db83a7b2276616c7565223a7b2276616c7565223a223432222c2274797065223a2255496e743332227d2c2274797065223a224f7074696f6e616c227db07b2276616c7565223a2239323233333732303336382e3534373735383038222c2274797065223a22554669783634227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", + "metadata": "020b1721f2a8ef6c0c4121ef83c7b38f2141eebcd65c72dab9ebaafe1b4d66fea8fe6adb75bf22b2033800e916fa7e3a7810417e9a36d35320de7f4b5f7ec4f1b85374616b6520556e7374616b656420546f6b656e730003014e6f64652049440000537472696e6700030244656c656761746f72204944000155496e743332000301416d6f756e7400025546697836340003", + "hash": "0b1721f2a8ef6c0c4121ef83c7b38f2141eebcd65c72dab9ebaafe1b4d66fea8" }, { - "title": "SCO.04 - Create Machine Account - 3", + "title": "SCO.09 - Unstake All", "valid": true, "chainID": "Testnet", "payloadMessage": { - "script": "import FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// Creates a machine account for a node that is already in the staking collection\n/// and adds public keys to the new account\n\ntransaction(nodeID: String, publicKeys: [String]) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n\n if let machineAccount = self.stakingCollectionRef.createMachineAccountForExistingNode(nodeID: nodeID, payer: account) {\n if publicKeys == nil || publicKeys!.length == 0 {\n panic(\"Cannot provide zero keys for the machine account\")\n }\n for key in publicKeys! {\n machineAccount.addPublicKey(key.decodeHex())\n }\n } else {\n panic(\"Could not create a machine account for the node\")\n }\n }\n}\n", + "script": "import FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// Requests to unstake ALL tokens for the specified node or delegator in the staking collection\n\ntransaction(nodeID: String) {\n \n let stakingCollectionRef: auth(FlowStakingCollection.CollectionOwner) &FlowStakingCollection.StakingCollection\n\n prepare(account: auth(BorrowValue) &Account) {\n self.stakingCollectionRef = account.storage.borrow(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow a reference to a StakingCollection in the primary user's account\")\n }\n\n execute {\n self.stakingCollectionRef.unstakeAll(nodeID: nodeID)\n }\n}\n", "arguments": [ { "type": "String", "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" - }, - { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164" - }, - { - "type": "String", - "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164" - }, - { - "type": "String", - "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164" - } - ] } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -1715,28 +1572,11 @@ ] }, "envelopeMessage": { - "script": "import FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// Creates a machine account for a node that is already in the staking collection\n/// and adds public keys to the new account\n\ntransaction(nodeID: String, publicKeys: [String]) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n\n if let machineAccount = self.stakingCollectionRef.createMachineAccountForExistingNode(nodeID: nodeID, payer: account) {\n if publicKeys == nil || publicKeys!.length == 0 {\n panic(\"Cannot provide zero keys for the machine account\")\n }\n for key in publicKeys! {\n machineAccount.addPublicKey(key.decodeHex())\n }\n } else {\n panic(\"Could not create a machine account for the node\")\n }\n }\n}\n", + "script": "import FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// Requests to unstake ALL tokens for the specified node or delegator in the staking collection\n\ntransaction(nodeID: String) {\n \n let stakingCollectionRef: auth(FlowStakingCollection.CollectionOwner) &FlowStakingCollection.StakingCollection\n\n prepare(account: auth(BorrowValue) &Account) {\n self.stakingCollectionRef = account.storage.borrow(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow a reference to a StakingCollection in the primary user's account\")\n }\n\n execute {\n self.stakingCollectionRef.unstakeAll(nodeID: nodeID)\n }\n}\n", "arguments": [ { "type": "String", "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" - }, - { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164" - }, - { - "type": "String", - "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164" - }, - { - "type": "String", - "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164" - } - ] } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -1752,29 +1592,32 @@ ], "payloadSigs": [] }, - "encodedTransactionPayloadHex": "f906e5b90423696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f20437265617465732061206d616368696e65206163636f756e7420666f722061206e6f6465207468617420697320616c726561647920696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f20616e642061646473207075626c6963206b65797320746f20746865206e6577206163636f756e740a0a7472616e73616374696f6e286e6f646549443a20537472696e672c207075626c69634b6579733a205b537472696e675d29207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a0a20202020202020206966206c6574206d616368696e654163636f756e74203d2073656c662e7374616b696e67436f6c6c656374696f6e5265662e6372656174654d616368696e654163636f756e74466f724578697374696e674e6f6465286e6f646549443a206e6f646549442c2070617965723a206163636f756e7429207b0a2020202020202020202020206966207075626c69634b657973203d3d206e696c207c7c207075626c69634b657973212e6c656e677468203d3d2030207b0a2020202020202020202020202020202070616e6963282243616e6e6f742070726f76696465207a65726f206b65797320666f7220746865206d616368696e65206163636f756e7422290a2020202020202020202020207d0a202020202020202020202020666f72206b657920696e207075626c69634b65797321207b0a202020202020202020202020202020206d616368696e654163636f756e742e6164645075626c69634b6579286b65792e6465636f64654865782829290a2020202020202020202020207d0a20202020202020207d20656c7365207b0a20202020202020202020202070616e69632822436f756c64206e6f74206372656174652061206d616368696e65206163636f756e7420666f7220746865206e6f646522290a20202020202020207d0a202020207d0a7d0af9027cb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db9021b7b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634227d2c7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634227d2c7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634227d5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", - "encodedTransactionEnvelopeHex": "f906e9f906e5b90423696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f20437265617465732061206d616368696e65206163636f756e7420666f722061206e6f6465207468617420697320616c726561647920696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f20616e642061646473207075626c6963206b65797320746f20746865206e6577206163636f756e740a0a7472616e73616374696f6e286e6f646549443a20537472696e672c207075626c69634b6579733a205b537472696e675d29207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a0a20202020202020206966206c6574206d616368696e654163636f756e74203d2073656c662e7374616b696e67436f6c6c656374696f6e5265662e6372656174654d616368696e654163636f756e74466f724578697374696e674e6f6465286e6f646549443a206e6f646549442c2070617965723a206163636f756e7429207b0a2020202020202020202020206966207075626c69634b657973203d3d206e696c207c7c207075626c69634b657973212e6c656e677468203d3d2030207b0a2020202020202020202020202020202070616e6963282243616e6e6f742070726f76696465207a65726f206b65797320666f7220746865206d616368696e65206163636f756e7422290a2020202020202020202020207d0a202020202020202020202020666f72206b657920696e207075626c69634b65797321207b0a202020202020202020202020202020206d616368696e654163636f756e742e6164645075626c69634b6579286b65792e6465636f64654865782829290a2020202020202020202020207d0a20202020202020207d20656c7365207b0a20202020202020202020202070616e69632822436f756c64206e6f74206372656174652061206d616368696e65206163636f756e7420666f7220746865206e6f646522290a20202020202020207d0a202020207d0a7d0af9027cb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db9021b7b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634227d2c7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634227d2c7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634227d5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", - "metadata": "02e79df145af42488e3da1d1b2e50a38a2084229896d670884f278a2119dc3bf9ec2442b498eea025099815ea613d6407407192dc12ad70e1a4f47936db804a841437265617465204d616368696e65204163636f756e740002014e6f64652049440000537472696e6700030300035075622e204b65790001537472696e670003", - "hash": "e79df145af42488e3da1d1b2e50a38a2084229896d670884f278a2119dc3bf9e" + "encodedTransactionPayloadHex": "f90394b902f1696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f20526571756573747320746f20756e7374616b6520414c4c20746f6b656e7320666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a0a7472616e73616374696f6e286e6f646549443a20537472696e6729207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a206175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a206175746828426f72726f7756616c75652920264163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e73746f726167652e626f72726f773c6175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f2061205374616b696e67436f6c6c656374696f6e20696e20746865207072696d61727920757365722773206163636f756e7422290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e756e7374616b65416c6c286e6f646549443a206e6f64654944290a202020207d0a7d0af85eb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", + "encodedTransactionEnvelopeHex": "f90398f90394b902f1696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f20526571756573747320746f20756e7374616b6520414c4c20746f6b656e7320666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a0a7472616e73616374696f6e286e6f646549443a20537472696e6729207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a206175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a206175746828426f72726f7756616c75652920264163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e73746f726167652e626f72726f773c6175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f2061205374616b696e67436f6c6c656374696f6e20696e20746865207072696d61727920757365722773206163636f756e7422290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e756e7374616b65416c6c286e6f646549443a206e6f64654944290a202020207d0a7d0af85eb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", + "metadata": "02c84843e3399be2ce95ea00e7c17d72db3c5c3363ec008c7a1c1cfa5b6afe70ae1c8256fb857f6c6fd929511ecac8624d0159877cf72c884f7128297dfb069510556e7374616b6520416c6c0001014e6f64652049440000537472696e670003", + "hash": "c84843e3399be2ce95ea00e7c17d72db3c5c3363ec008c7a1c1cfa5b6afe70ae" }, { - "title": "SCO.05 - Request Unstaking - 1", + "title": "SCO.10 - Withdraw Rewarded Tokens - 1", "valid": true, "chainID": "Testnet", "payloadMessage": { - "script": "import FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// Requests unstaking for the specified node or delegator in the staking collection\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n }\n\n execute {\n self.stakingCollectionRef.requestUnstaking(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", + "script": "import FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// Request to withdraw rewarded tokens for the specified node or delegator in the staking collection\n/// The tokens are automatically deposited to the unlocked account vault first,\n/// And then any locked tokens are deposited into the locked account vault\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: auth(FlowStakingCollection.CollectionOwner) &FlowStakingCollection.StakingCollection\n\n prepare(account: auth(BorrowValue) &Account) {\n self.stakingCollectionRef = account.storage.borrow(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow a reference to a StakingCollection in the primary user's account\")\n }\n\n execute {\n self.stakingCollectionRef.withdrawRewardedTokens(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", "arguments": [ { "type": "String", "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" }, { - "type": "Optional", - "value": null + "value": { + "value": "42", + "type": "UInt32" + }, + "type": "Optional" }, { - "type": "UFix64", - "value": "92233720368.54775808" + "value": "92233720368.54775808", + "type": "UFix64" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -1790,19 +1633,22 @@ ] }, "envelopeMessage": { - "script": "import FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// Requests unstaking for the specified node or delegator in the staking collection\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n }\n\n execute {\n self.stakingCollectionRef.requestUnstaking(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", + "script": "import FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// Request to withdraw rewarded tokens for the specified node or delegator in the staking collection\n/// The tokens are automatically deposited to the unlocked account vault first,\n/// And then any locked tokens are deposited into the locked account vault\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: auth(FlowStakingCollection.CollectionOwner) &FlowStakingCollection.StakingCollection\n\n prepare(account: auth(BorrowValue) &Account) {\n self.stakingCollectionRef = account.storage.borrow(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow a reference to a StakingCollection in the primary user's account\")\n }\n\n execute {\n self.stakingCollectionRef.withdrawRewardedTokens(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", "arguments": [ { "type": "String", "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" }, { - "type": "Optional", - "value": null + "value": { + "value": "42", + "type": "UInt32" + }, + "type": "Optional" }, { - "type": "UFix64", - "value": "92233720368.54775808" + "value": "92233720368.54775808", + "type": "UFix64" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -1818,32 +1664,29 @@ ], "payloadSigs": [] }, - "encodedTransactionPayloadHex": "f90399b902a4696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f20526571756573747320756e7374616b696e6720666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e72657175657374556e7374616b696e67286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8b0b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227da07b2274797065223a224f7074696f6e616c222c2276616c7565223a6e756c6c7db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", - "encodedTransactionEnvelopeHex": "f9039df90399b902a4696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f20526571756573747320756e7374616b696e6720666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e72657175657374556e7374616b696e67286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8b0b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227da07b2274797065223a224f7074696f6e616c222c2276616c7565223a6e756c6c7db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", - "metadata": "02b00f6b3b9d8d7d4a9a8ad14fce11ee0edb23c39c56a8c1351e6b597f53f2fb71a552951c5e6300a118610fbf2d36b3073ee266e1d26787d04717c141976ef78c5265717565737420556e7374616b696e670003014e6f64652049440000537472696e6700030244656c656761746f72204944000155496e743332000301416d6f756e7400025546697836340003", - "hash": "b00f6b3b9d8d7d4a9a8ad14fce11ee0edb23c39c56a8c1351e6b597f53f2fb71" + "encodedTransactionPayloadHex": "f904fdb903ed696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f205265717565737420746f20776974686472617720726577617264656420746f6b656e7320666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f2054686520746f6b656e7320617265206175746f6d61746963616c6c79206465706f736974656420746f2074686520756e6c6f636b6564206163636f756e74207661756c742066697273742c0a2f2f2f20416e64207468656e20616e79206c6f636b656420746f6b656e7320617265206465706f736974656420696e746f20746865206c6f636b6564206163636f756e74207661756c740a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a206175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a206175746828426f72726f7756616c75652920264163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e73746f726167652e626f72726f773c6175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f2061205374616b696e67436f6c6c656374696f6e20696e20746865207072696d61727920757365722773206163636f756e7422290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e77697468647261775265776172646564546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8cbb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db83a7b2276616c7565223a7b2276616c7565223a223432222c2274797065223a2255496e743332227d2c2274797065223a224f7074696f6e616c227db07b2276616c7565223a2239323233333732303336382e3534373735383038222c2274797065223a22554669783634227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", + "encodedTransactionEnvelopeHex": "f90501f904fdb903ed696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f205265717565737420746f20776974686472617720726577617264656420746f6b656e7320666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f2054686520746f6b656e7320617265206175746f6d61746963616c6c79206465706f736974656420746f2074686520756e6c6f636b6564206163636f756e74207661756c742066697273742c0a2f2f2f20416e64207468656e20616e79206c6f636b656420746f6b656e7320617265206465706f736974656420696e746f20746865206c6f636b6564206163636f756e74207661756c740a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a206175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a206175746828426f72726f7756616c75652920264163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e73746f726167652e626f72726f773c6175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f2061205374616b696e67436f6c6c656374696f6e20696e20746865207072696d61727920757365722773206163636f756e7422290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e77697468647261775265776172646564546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8cbb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db83a7b2276616c7565223a7b2276616c7565223a223432222c2274797065223a2255496e743332227d2c2274797065223a224f7074696f6e616c227db07b2276616c7565223a2239323233333732303336382e3534373735383038222c2274797065223a22554669783634227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", + "metadata": "025a07ca4c016973bdeb168590e111b2c2855833b5ece11ffb28b08b8668f258a8fbd8ebbfff7a88b6b667ff4e3f9f904eaaba71cbf02a140f3b7007c61fbd8f34576974686472617720526577617264656420546f6b656e730003014e6f64652049440000537472696e6700030244656c656761746f72204944000155496e743332000301416d6f756e7400025546697836340003", + "hash": "5a07ca4c016973bdeb168590e111b2c2855833b5ece11ffb28b08b8668f258a8" }, { - "title": "SCO.05 - Request Unstaking - 2", + "title": "SCO.10 - Withdraw Rewarded Tokens - 2", "valid": true, "chainID": "Testnet", "payloadMessage": { - "script": "import FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// Requests unstaking for the specified node or delegator in the staking collection\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n }\n\n execute {\n self.stakingCollectionRef.requestUnstaking(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", + "script": "import FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// Request to withdraw rewarded tokens for the specified node or delegator in the staking collection\n/// The tokens are automatically deposited to the unlocked account vault first,\n/// And then any locked tokens are deposited into the locked account vault\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: auth(FlowStakingCollection.CollectionOwner) &FlowStakingCollection.StakingCollection\n\n prepare(account: auth(BorrowValue) &Account) {\n self.stakingCollectionRef = account.storage.borrow(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow a reference to a StakingCollection in the primary user's account\")\n }\n\n execute {\n self.stakingCollectionRef.withdrawRewardedTokens(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", "arguments": [ { "type": "String", "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" }, { - "type": "Optional", - "value": { - "type": "UInt32", - "value": "42" - } + "value": null, + "type": "Optional" }, { - "type": "UFix64", - "value": "92233720368.54775808" + "value": "92233720368.54775808", + "type": "UFix64" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -1859,22 +1702,19 @@ ] }, "envelopeMessage": { - "script": "import FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// Requests unstaking for the specified node or delegator in the staking collection\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n }\n\n execute {\n self.stakingCollectionRef.requestUnstaking(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", + "script": "import FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// Request to withdraw rewarded tokens for the specified node or delegator in the staking collection\n/// The tokens are automatically deposited to the unlocked account vault first,\n/// And then any locked tokens are deposited into the locked account vault\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: auth(FlowStakingCollection.CollectionOwner) &FlowStakingCollection.StakingCollection\n\n prepare(account: auth(BorrowValue) &Account) {\n self.stakingCollectionRef = account.storage.borrow(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow a reference to a StakingCollection in the primary user's account\")\n }\n\n execute {\n self.stakingCollectionRef.withdrawRewardedTokens(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", "arguments": [ { "type": "String", "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" }, { - "type": "Optional", - "value": { - "type": "UInt32", - "value": "42" - } + "value": null, + "type": "Optional" }, { - "type": "UFix64", - "value": "92233720368.54775808" + "value": "92233720368.54775808", + "type": "UFix64" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -1890,29 +1730,29 @@ ], "payloadSigs": [] }, - "encodedTransactionPayloadHex": "f903b4b902a4696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f20526571756573747320756e7374616b696e6720666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e72657175657374556e7374616b696e67286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8cbb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db83a7b2274797065223a224f7074696f6e616c222c2276616c7565223a7b2274797065223a2255496e743332222c2276616c7565223a223432227d7db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", - "encodedTransactionEnvelopeHex": "f903b8f903b4b902a4696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f20526571756573747320756e7374616b696e6720666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e72657175657374556e7374616b696e67286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8cbb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db83a7b2274797065223a224f7074696f6e616c222c2276616c7565223a7b2274797065223a2255496e743332222c2276616c7565223a223432227d7db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", - "metadata": "02b00f6b3b9d8d7d4a9a8ad14fce11ee0edb23c39c56a8c1351e6b597f53f2fb71a552951c5e6300a118610fbf2d36b3073ee266e1d26787d04717c141976ef78c5265717565737420556e7374616b696e670003014e6f64652049440000537472696e6700030244656c656761746f72204944000155496e743332000301416d6f756e7400025546697836340003", - "hash": "b00f6b3b9d8d7d4a9a8ad14fce11ee0edb23c39c56a8c1351e6b597f53f2fb71" + "encodedTransactionPayloadHex": "f904e2b903ed696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f205265717565737420746f20776974686472617720726577617264656420746f6b656e7320666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f2054686520746f6b656e7320617265206175746f6d61746963616c6c79206465706f736974656420746f2074686520756e6c6f636b6564206163636f756e74207661756c742066697273742c0a2f2f2f20416e64207468656e20616e79206c6f636b656420746f6b656e7320617265206465706f736974656420696e746f20746865206c6f636b6564206163636f756e74207661756c740a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a206175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a206175746828426f72726f7756616c75652920264163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e73746f726167652e626f72726f773c6175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f2061205374616b696e67436f6c6c656374696f6e20696e20746865207072696d61727920757365722773206163636f756e7422290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e77697468647261775265776172646564546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8b0b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227da07b2276616c7565223a6e756c6c2c2274797065223a224f7074696f6e616c227db07b2276616c7565223a2239323233333732303336382e3534373735383038222c2274797065223a22554669783634227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", + "encodedTransactionEnvelopeHex": "f904e6f904e2b903ed696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f205265717565737420746f20776974686472617720726577617264656420746f6b656e7320666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f2054686520746f6b656e7320617265206175746f6d61746963616c6c79206465706f736974656420746f2074686520756e6c6f636b6564206163636f756e74207661756c742066697273742c0a2f2f2f20416e64207468656e20616e79206c6f636b656420746f6b656e7320617265206465706f736974656420696e746f20746865206c6f636b6564206163636f756e74207661756c740a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a206175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a206175746828426f72726f7756616c75652920264163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e73746f726167652e626f72726f773c6175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f2061205374616b696e67436f6c6c656374696f6e20696e20746865207072696d61727920757365722773206163636f756e7422290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e77697468647261775265776172646564546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8b0b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227da07b2276616c7565223a6e756c6c2c2274797065223a224f7074696f6e616c227db07b2276616c7565223a2239323233333732303336382e3534373735383038222c2274797065223a22554669783634227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", + "metadata": "025a07ca4c016973bdeb168590e111b2c2855833b5ece11ffb28b08b8668f258a8fbd8ebbfff7a88b6b667ff4e3f9f904eaaba71cbf02a140f3b7007c61fbd8f34576974686472617720526577617264656420546f6b656e730003014e6f64652049440000537472696e6700030244656c656761746f72204944000155496e743332000301416d6f756e7400025546697836340003", + "hash": "5a07ca4c016973bdeb168590e111b2c2855833b5ece11ffb28b08b8668f258a8" }, { - "title": "SCO.06 - Stake New Tokens - 1", + "title": "SCO.11 - Withdraw Unstaked Tokens - 1", "valid": true, "chainID": "Testnet", "payloadMessage": { - "script": "import FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// Commits new tokens to stake for the specified node or delegator in the staking collection\n/// The tokens from the locked vault are used first, if it exists\n/// followed by the tokens from the unlocked vault\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n }\n\n execute {\n self.stakingCollectionRef.stakeNewTokens(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", + "script": "import FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// Request to withdraw unstaked tokens for the specified node or delegator in the staking collection\n/// The tokens are automatically deposited to the unlocked account vault first,\n/// And then any locked tokens are deposited into the locked account vault if it is there\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: auth(FlowStakingCollection.CollectionOwner) &FlowStakingCollection.StakingCollection\n\n prepare(account: auth(BorrowValue) &Account) {\n self.stakingCollectionRef = account.storage.borrow(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow a reference to a StakingCollection in the primary user's account\")\n }\n\n execute {\n self.stakingCollectionRef.withdrawUnstakedTokens(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", "arguments": [ { "type": "String", "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" }, { - "type": "Optional", - "value": null + "value": null, + "type": "Optional" }, { - "type": "UFix64", - "value": "92233720368.54775808" + "value": "92233720368.54775808", + "type": "UFix64" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -1928,19 +1768,19 @@ ] }, "envelopeMessage": { - "script": "import FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// Commits new tokens to stake for the specified node or delegator in the staking collection\n/// The tokens from the locked vault are used first, if it exists\n/// followed by the tokens from the unlocked vault\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n }\n\n execute {\n self.stakingCollectionRef.stakeNewTokens(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", + "script": "import FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// Request to withdraw unstaked tokens for the specified node or delegator in the staking collection\n/// The tokens are automatically deposited to the unlocked account vault first,\n/// And then any locked tokens are deposited into the locked account vault if it is there\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: auth(FlowStakingCollection.CollectionOwner) &FlowStakingCollection.StakingCollection\n\n prepare(account: auth(BorrowValue) &Account) {\n self.stakingCollectionRef = account.storage.borrow(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow a reference to a StakingCollection in the primary user's account\")\n }\n\n execute {\n self.stakingCollectionRef.withdrawUnstakedTokens(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", "arguments": [ { "type": "String", "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" }, { - "type": "Optional", - "value": null + "value": null, + "type": "Optional" }, { - "type": "UFix64", - "value": "92233720368.54775808" + "value": "92233720368.54775808", + "type": "UFix64" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -1956,32 +1796,32 @@ ], "payloadSigs": [] }, - "encodedTransactionPayloadHex": "f90415b90320696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f20436f6d6d697473206e657720746f6b656e7320746f207374616b6520666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f2054686520746f6b656e732066726f6d20746865206c6f636b6564207661756c742061726520757365642066697273742c206966206974206578697374730a2f2f2f20666f6c6c6f7765642062792074686520746f6b656e732066726f6d2074686520756e6c6f636b6564207661756c740a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e7374616b654e6577546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8b0b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227da07b2274797065223a224f7074696f6e616c222c2276616c7565223a6e756c6c7db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", - "encodedTransactionEnvelopeHex": "f90419f90415b90320696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f20436f6d6d697473206e657720746f6b656e7320746f207374616b6520666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f2054686520746f6b656e732066726f6d20746865206c6f636b6564207661756c742061726520757365642066697273742c206966206974206578697374730a2f2f2f20666f6c6c6f7765642062792074686520746f6b656e732066726f6d2074686520756e6c6f636b6564207661756c740a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e7374616b654e6577546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8b0b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227da07b2274797065223a224f7074696f6e616c222c2276616c7565223a6e756c6c7db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", - "metadata": "021307928440cee4289235793d6ff860a24315f7b6a5d5907a145dcc5f83702a2c8e10ac56db8ec5d5e0051d3c9608fabc8edd6abed983f6d3a254e7668a54b32b5374616b65204e657720546f6b656e730003014e6f64652049440000537472696e6700030244656c656761746f72204944000155496e743332000301416d6f756e7400025546697836340003", - "hash": "1307928440cee4289235793d6ff860a24315f7b6a5d5907a145dcc5f83702a2c" + "encodedTransactionPayloadHex": "f904f1b903fc696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f205265717565737420746f20776974686472617720756e7374616b656420746f6b656e7320666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f2054686520746f6b656e7320617265206175746f6d61746963616c6c79206465706f736974656420746f2074686520756e6c6f636b6564206163636f756e74207661756c742066697273742c0a2f2f2f20416e64207468656e20616e79206c6f636b656420746f6b656e7320617265206465706f736974656420696e746f20746865206c6f636b6564206163636f756e74207661756c742069662069742069732074686572650a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a206175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a206175746828426f72726f7756616c75652920264163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e73746f726167652e626f72726f773c6175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f2061205374616b696e67436f6c6c656374696f6e20696e20746865207072696d61727920757365722773206163636f756e7422290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e7769746864726177556e7374616b6564546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8b0b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227da07b2276616c7565223a6e756c6c2c2274797065223a224f7074696f6e616c227db07b2276616c7565223a2239323233333732303336382e3534373735383038222c2274797065223a22554669783634227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", + "encodedTransactionEnvelopeHex": "f904f5f904f1b903fc696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f205265717565737420746f20776974686472617720756e7374616b656420746f6b656e7320666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f2054686520746f6b656e7320617265206175746f6d61746963616c6c79206465706f736974656420746f2074686520756e6c6f636b6564206163636f756e74207661756c742066697273742c0a2f2f2f20416e64207468656e20616e79206c6f636b656420746f6b656e7320617265206465706f736974656420696e746f20746865206c6f636b6564206163636f756e74207661756c742069662069742069732074686572650a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a206175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a206175746828426f72726f7756616c75652920264163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e73746f726167652e626f72726f773c6175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f2061205374616b696e67436f6c6c656374696f6e20696e20746865207072696d61727920757365722773206163636f756e7422290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e7769746864726177556e7374616b6564546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8b0b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227da07b2276616c7565223a6e756c6c2c2274797065223a224f7074696f6e616c227db07b2276616c7565223a2239323233333732303336382e3534373735383038222c2274797065223a22554669783634227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", + "metadata": "0201fd4ea83d20510d24ed9f245873a7ee2715aefb774495c80bce7e3e34d6442ec2484f17e640e285769c3edaa6f2d090dcef1f2f57983f82b7179c3c047290ca576974686472617720556e7374616b656420546f6b656e730003014e6f64652049440000537472696e6700030244656c656761746f72204944000155496e743332000301416d6f756e7400025546697836340003", + "hash": "01fd4ea83d20510d24ed9f245873a7ee2715aefb774495c80bce7e3e34d6442e" }, { - "title": "SCO.06 - Stake New Tokens - 2", + "title": "SCO.11 - Withdraw Unstaked Tokens - 2", "valid": true, "chainID": "Testnet", "payloadMessage": { - "script": "import FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// Commits new tokens to stake for the specified node or delegator in the staking collection\n/// The tokens from the locked vault are used first, if it exists\n/// followed by the tokens from the unlocked vault\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n }\n\n execute {\n self.stakingCollectionRef.stakeNewTokens(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", + "script": "import FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// Request to withdraw unstaked tokens for the specified node or delegator in the staking collection\n/// The tokens are automatically deposited to the unlocked account vault first,\n/// And then any locked tokens are deposited into the locked account vault if it is there\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: auth(FlowStakingCollection.CollectionOwner) &FlowStakingCollection.StakingCollection\n\n prepare(account: auth(BorrowValue) &Account) {\n self.stakingCollectionRef = account.storage.borrow(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow a reference to a StakingCollection in the primary user's account\")\n }\n\n execute {\n self.stakingCollectionRef.withdrawUnstakedTokens(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", "arguments": [ { "type": "String", "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" }, { - "type": "Optional", "value": { - "type": "UInt32", - "value": "42" - } + "value": "42", + "type": "UInt32" + }, + "type": "Optional" }, { - "type": "UFix64", - "value": "92233720368.54775808" + "value": "92233720368.54775808", + "type": "UFix64" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -1997,22 +1837,22 @@ ] }, "envelopeMessage": { - "script": "import FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// Commits new tokens to stake for the specified node or delegator in the staking collection\n/// The tokens from the locked vault are used first, if it exists\n/// followed by the tokens from the unlocked vault\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n }\n\n execute {\n self.stakingCollectionRef.stakeNewTokens(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", + "script": "import FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// Request to withdraw unstaked tokens for the specified node or delegator in the staking collection\n/// The tokens are automatically deposited to the unlocked account vault first,\n/// And then any locked tokens are deposited into the locked account vault if it is there\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: auth(FlowStakingCollection.CollectionOwner) &FlowStakingCollection.StakingCollection\n\n prepare(account: auth(BorrowValue) &Account) {\n self.stakingCollectionRef = account.storage.borrow(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow a reference to a StakingCollection in the primary user's account\")\n }\n\n execute {\n self.stakingCollectionRef.withdrawUnstakedTokens(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", "arguments": [ { "type": "String", "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" }, { - "type": "Optional", "value": { - "type": "UInt32", - "value": "42" - } + "value": "42", + "type": "UInt32" + }, + "type": "Optional" }, { - "type": "UFix64", - "value": "92233720368.54775808" + "value": "92233720368.54775808", + "type": "UFix64" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -2028,29 +1868,28 @@ ], "payloadSigs": [] }, - "encodedTransactionPayloadHex": "f90430b90320696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f20436f6d6d697473206e657720746f6b656e7320746f207374616b6520666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f2054686520746f6b656e732066726f6d20746865206c6f636b6564207661756c742061726520757365642066697273742c206966206974206578697374730a2f2f2f20666f6c6c6f7765642062792074686520746f6b656e732066726f6d2074686520756e6c6f636b6564207661756c740a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e7374616b654e6577546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8cbb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db83a7b2274797065223a224f7074696f6e616c222c2276616c7565223a7b2274797065223a2255496e743332222c2276616c7565223a223432227d7db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", - "encodedTransactionEnvelopeHex": "f90434f90430b90320696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f20436f6d6d697473206e657720746f6b656e7320746f207374616b6520666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f2054686520746f6b656e732066726f6d20746865206c6f636b6564207661756c742061726520757365642066697273742c206966206974206578697374730a2f2f2f20666f6c6c6f7765642062792074686520746f6b656e732066726f6d2074686520756e6c6f636b6564207661756c740a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e7374616b654e6577546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8cbb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db83a7b2274797065223a224f7074696f6e616c222c2276616c7565223a7b2274797065223a2255496e743332222c2276616c7565223a223432227d7db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", - "metadata": "021307928440cee4289235793d6ff860a24315f7b6a5d5907a145dcc5f83702a2c8e10ac56db8ec5d5e0051d3c9608fabc8edd6abed983f6d3a254e7668a54b32b5374616b65204e657720546f6b656e730003014e6f64652049440000537472696e6700030244656c656761746f72204944000155496e743332000301416d6f756e7400025546697836340003", - "hash": "1307928440cee4289235793d6ff860a24315f7b6a5d5907a145dcc5f83702a2c" + "encodedTransactionPayloadHex": "f9050cb903fc696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f205265717565737420746f20776974686472617720756e7374616b656420746f6b656e7320666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f2054686520746f6b656e7320617265206175746f6d61746963616c6c79206465706f736974656420746f2074686520756e6c6f636b6564206163636f756e74207661756c742066697273742c0a2f2f2f20416e64207468656e20616e79206c6f636b656420746f6b656e7320617265206465706f736974656420696e746f20746865206c6f636b6564206163636f756e74207661756c742069662069742069732074686572650a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a206175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a206175746828426f72726f7756616c75652920264163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e73746f726167652e626f72726f773c6175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f2061205374616b696e67436f6c6c656374696f6e20696e20746865207072696d61727920757365722773206163636f756e7422290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e7769746864726177556e7374616b6564546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8cbb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db83a7b2276616c7565223a7b2276616c7565223a223432222c2274797065223a2255496e743332227d2c2274797065223a224f7074696f6e616c227db07b2276616c7565223a2239323233333732303336382e3534373735383038222c2274797065223a22554669783634227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", + "encodedTransactionEnvelopeHex": "f90510f9050cb903fc696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f205265717565737420746f20776974686472617720756e7374616b656420746f6b656e7320666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f2054686520746f6b656e7320617265206175746f6d61746963616c6c79206465706f736974656420746f2074686520756e6c6f636b6564206163636f756e74207661756c742066697273742c0a2f2f2f20416e64207468656e20616e79206c6f636b656420746f6b656e7320617265206465706f736974656420696e746f20746865206c6f636b6564206163636f756e74207661756c742069662069742069732074686572650a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a206175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a206175746828426f72726f7756616c75652920264163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e73746f726167652e626f72726f773c6175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f2061205374616b696e67436f6c6c656374696f6e20696e20746865207072696d61727920757365722773206163636f756e7422290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e7769746864726177556e7374616b6564546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8cbb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db83a7b2276616c7565223a7b2276616c7565223a223432222c2274797065223a2255496e743332227d2c2274797065223a224f7074696f6e616c227db07b2276616c7565223a2239323233333732303336382e3534373735383038222c2274797065223a22554669783634227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", + "metadata": "0201fd4ea83d20510d24ed9f245873a7ee2715aefb774495c80bce7e3e34d6442ec2484f17e640e285769c3edaa6f2d090dcef1f2f57983f82b7179c3c047290ca576974686472617720556e7374616b656420546f6b656e730003014e6f64652049440000537472696e6700030244656c656761746f72204944000155496e743332000301416d6f756e7400025546697836340003", + "hash": "01fd4ea83d20510d24ed9f245873a7ee2715aefb774495c80bce7e3e34d6442e" }, { - "title": "SCO.07 - Stake Rewarded Tokens - 1", + "title": "SCO.12 - Close Stake - 1", "valid": true, "chainID": "Testnet", "payloadMessage": { - "script": "import FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// Commits rewarded tokens to stake for the specified node or delegator in the staking collection\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n }\n\n execute {\n self.stakingCollectionRef.stakeRewardedTokens(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", + "script": "import FlowStakingCollection from 0x95e019a17d0e23d7\n\n// Closes out a staking object in the staking collection\n// This does not remove the record from the identity table,\n// but it does mean that the account that closes it cannot ever access it again\n\ntransaction(nodeID: String, delegatorID: UInt32?) {\n \n let stakingCollectionRef: auth(FlowStakingCollection.CollectionOwner) &FlowStakingCollection.StakingCollection\n\n prepare(account: auth(BorrowValue) &Account) {\n self.stakingCollectionRef = account.storage.borrow(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow a reference to a StakingCollection in the primary user's account\")\n }\n\n execute {\n self.stakingCollectionRef.closeStake(nodeID: nodeID, delegatorID: delegatorID)\n }\n}\n", "arguments": [ { "type": "String", "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" }, { - "type": "Optional", - "value": null - }, - { - "type": "UFix64", - "value": "92233720368.54775808" + "value": { + "value": "42", + "type": "UInt32" + }, + "type": "Optional" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -2066,19 +1905,18 @@ ] }, "envelopeMessage": { - "script": "import FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// Commits rewarded tokens to stake for the specified node or delegator in the staking collection\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n }\n\n execute {\n self.stakingCollectionRef.stakeRewardedTokens(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", + "script": "import FlowStakingCollection from 0x95e019a17d0e23d7\n\n// Closes out a staking object in the staking collection\n// This does not remove the record from the identity table,\n// but it does mean that the account that closes it cannot ever access it again\n\ntransaction(nodeID: String, delegatorID: UInt32?) {\n \n let stakingCollectionRef: auth(FlowStakingCollection.CollectionOwner) &FlowStakingCollection.StakingCollection\n\n prepare(account: auth(BorrowValue) &Account) {\n self.stakingCollectionRef = account.storage.borrow(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow a reference to a StakingCollection in the primary user's account\")\n }\n\n execute {\n self.stakingCollectionRef.closeStake(nodeID: nodeID, delegatorID: delegatorID)\n }\n}\n", "arguments": [ { "type": "String", "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" }, { - "type": "Optional", - "value": null - }, - { - "type": "UFix64", - "value": "92233720368.54775808" + "value": { + "value": "42", + "type": "UInt32" + }, + "type": "Optional" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -2094,32 +1932,25 @@ ], "payloadSigs": [] }, - "encodedTransactionPayloadHex": "f903aab902b5696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f20436f6d6d69747320726577617264656420746f6b656e7320746f207374616b6520666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e7374616b655265776172646564546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8b0b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227da07b2274797065223a224f7074696f6e616c222c2276616c7565223a6e756c6c7db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", - "encodedTransactionEnvelopeHex": "f903aef903aab902b5696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f20436f6d6d69747320726577617264656420746f6b656e7320746f207374616b6520666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e7374616b655265776172646564546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8b0b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227da07b2274797065223a224f7074696f6e616c222c2276616c7565223a6e756c6c7db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", - "metadata": "02d7aca7113a7aa03e0afd20ee36f4873779708a02ac4c6985017740c2ecea3d62907c4cfd67a98a8003393c64dc74eb7a957b229352a266139a542bb105ac4c405374616b6520526577617264656420546f6b656e730003014e6f64652049440000537472696e6700030244656c656761746f72204944000155496e743332000301416d6f756e7400025546697836340003", - "hash": "d7aca7113a7aa03e0afd20ee36f4873779708a02ac4c6985017740c2ecea3d62" + "encodedTransactionPayloadHex": "f90464b90385696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f20436c6f736573206f75742061207374616b696e67206f626a65637420696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f205468697320646f6573206e6f742072656d6f766520746865207265636f72642066726f6d20746865206964656e74697479207461626c652c0a2f2f2062757420697420646f6573206d65616e207468617420746865206163636f756e74207468617420636c6f7365732069742063616e6e6f7420657665722061636365737320697420616761696e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f29207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a206175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a206175746828426f72726f7756616c75652920264163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e73746f726167652e626f72726f773c6175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f2061205374616b696e67436f6c6c656374696f6e20696e20746865207072696d61727920757365722773206163636f756e7422290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e636c6f73655374616b65286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f724944290a202020207d0a7d0af89ab85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db83a7b2276616c7565223a7b2276616c7565223a223432222c2274797065223a2255496e743332227d2c2274797065223a224f7074696f6e616c227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", + "encodedTransactionEnvelopeHex": "f90468f90464b90385696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f20436c6f736573206f75742061207374616b696e67206f626a65637420696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f205468697320646f6573206e6f742072656d6f766520746865207265636f72642066726f6d20746865206964656e74697479207461626c652c0a2f2f2062757420697420646f6573206d65616e207468617420746865206163636f756e74207468617420636c6f7365732069742063616e6e6f7420657665722061636365737320697420616761696e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f29207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a206175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a206175746828426f72726f7756616c75652920264163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e73746f726167652e626f72726f773c6175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f2061205374616b696e67436f6c6c656374696f6e20696e20746865207072696d61727920757365722773206163636f756e7422290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e636c6f73655374616b65286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f724944290a202020207d0a7d0af89ab85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db83a7b2276616c7565223a7b2276616c7565223a223432222c2274797065223a2255496e743332227d2c2274797065223a224f7074696f6e616c227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", + "metadata": "027e216d96d75414b27c2301a3b0a7816804d43014337a14731d1493531116d185a0fad319bf8aede66212257ad0d21532858381e2c9d7c4cec179b28180f5be93436c6f7365205374616b650002014e6f64652049440000537472696e6700030244656c656761746f72204944000155496e7433320003", + "hash": "7e216d96d75414b27c2301a3b0a7816804d43014337a14731d1493531116d185" }, { - "title": "SCO.07 - Stake Rewarded Tokens - 2", + "title": "SCO.12 - Close Stake - 2", "valid": true, "chainID": "Testnet", "payloadMessage": { - "script": "import FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// Commits rewarded tokens to stake for the specified node or delegator in the staking collection\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n }\n\n execute {\n self.stakingCollectionRef.stakeRewardedTokens(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", + "script": "import FlowStakingCollection from 0x95e019a17d0e23d7\n\n// Closes out a staking object in the staking collection\n// This does not remove the record from the identity table,\n// but it does mean that the account that closes it cannot ever access it again\n\ntransaction(nodeID: String, delegatorID: UInt32?) {\n \n let stakingCollectionRef: auth(FlowStakingCollection.CollectionOwner) &FlowStakingCollection.StakingCollection\n\n prepare(account: auth(BorrowValue) &Account) {\n self.stakingCollectionRef = account.storage.borrow(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow a reference to a StakingCollection in the primary user's account\")\n }\n\n execute {\n self.stakingCollectionRef.closeStake(nodeID: nodeID, delegatorID: delegatorID)\n }\n}\n", "arguments": [ { "type": "String", "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" }, { - "type": "Optional", - "value": { - "type": "UInt32", - "value": "42" - } - }, - { - "type": "UFix64", - "value": "92233720368.54775808" + "value": null, + "type": "Optional" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -2135,22 +1966,15 @@ ] }, "envelopeMessage": { - "script": "import FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// Commits rewarded tokens to stake for the specified node or delegator in the staking collection\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n }\n\n execute {\n self.stakingCollectionRef.stakeRewardedTokens(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", + "script": "import FlowStakingCollection from 0x95e019a17d0e23d7\n\n// Closes out a staking object in the staking collection\n// This does not remove the record from the identity table,\n// but it does mean that the account that closes it cannot ever access it again\n\ntransaction(nodeID: String, delegatorID: UInt32?) {\n \n let stakingCollectionRef: auth(FlowStakingCollection.CollectionOwner) &FlowStakingCollection.StakingCollection\n\n prepare(account: auth(BorrowValue) &Account) {\n self.stakingCollectionRef = account.storage.borrow(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow a reference to a StakingCollection in the primary user's account\")\n }\n\n execute {\n self.stakingCollectionRef.closeStake(nodeID: nodeID, delegatorID: delegatorID)\n }\n}\n", "arguments": [ { "type": "String", "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" }, { - "type": "Optional", - "value": { - "type": "UInt32", - "value": "42" - } - }, - { - "type": "UFix64", - "value": "92233720368.54775808" + "value": null, + "type": "Optional" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -2166,29 +1990,25 @@ ], "payloadSigs": [] }, - "encodedTransactionPayloadHex": "f903c5b902b5696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f20436f6d6d69747320726577617264656420746f6b656e7320746f207374616b6520666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e7374616b655265776172646564546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8cbb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db83a7b2274797065223a224f7074696f6e616c222c2276616c7565223a7b2274797065223a2255496e743332222c2276616c7565223a223432227d7db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", - "encodedTransactionEnvelopeHex": "f903c9f903c5b902b5696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f20436f6d6d69747320726577617264656420746f6b656e7320746f207374616b6520666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e7374616b655265776172646564546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8cbb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db83a7b2274797065223a224f7074696f6e616c222c2276616c7565223a7b2274797065223a2255496e743332222c2276616c7565223a223432227d7db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", - "metadata": "02d7aca7113a7aa03e0afd20ee36f4873779708a02ac4c6985017740c2ecea3d62907c4cfd67a98a8003393c64dc74eb7a957b229352a266139a542bb105ac4c405374616b6520526577617264656420546f6b656e730003014e6f64652049440000537472696e6700030244656c656761746f72204944000155496e743332000301416d6f756e7400025546697836340003", - "hash": "d7aca7113a7aa03e0afd20ee36f4873779708a02ac4c6985017740c2ecea3d62" + "encodedTransactionPayloadHex": "f90449b90385696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f20436c6f736573206f75742061207374616b696e67206f626a65637420696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f205468697320646f6573206e6f742072656d6f766520746865207265636f72642066726f6d20746865206964656e74697479207461626c652c0a2f2f2062757420697420646f6573206d65616e207468617420746865206163636f756e74207468617420636c6f7365732069742063616e6e6f7420657665722061636365737320697420616761696e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f29207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a206175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a206175746828426f72726f7756616c75652920264163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e73746f726167652e626f72726f773c6175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f2061205374616b696e67436f6c6c656374696f6e20696e20746865207072696d61727920757365722773206163636f756e7422290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e636c6f73655374616b65286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f724944290a202020207d0a7d0af87fb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227da07b2276616c7565223a6e756c6c2c2274797065223a224f7074696f6e616c227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", + "encodedTransactionEnvelopeHex": "f9044df90449b90385696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f20436c6f736573206f75742061207374616b696e67206f626a65637420696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f205468697320646f6573206e6f742072656d6f766520746865207265636f72642066726f6d20746865206964656e74697479207461626c652c0a2f2f2062757420697420646f6573206d65616e207468617420746865206163636f756e74207468617420636c6f7365732069742063616e6e6f7420657665722061636365737320697420616761696e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f29207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a206175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a206175746828426f72726f7756616c75652920264163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e73746f726167652e626f72726f773c6175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f2061205374616b696e67436f6c6c656374696f6e20696e20746865207072696d61727920757365722773206163636f756e7422290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e636c6f73655374616b65286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f724944290a202020207d0a7d0af87fb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227da07b2276616c7565223a6e756c6c2c2274797065223a224f7074696f6e616c227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", + "metadata": "027e216d96d75414b27c2301a3b0a7816804d43014337a14731d1493531116d185a0fad319bf8aede66212257ad0d21532858381e2c9d7c4cec179b28180f5be93436c6f7365205374616b650002014e6f64652049440000537472696e6700030244656c656761746f72204944000155496e7433320003", + "hash": "7e216d96d75414b27c2301a3b0a7816804d43014337a14731d1493531116d185" }, { - "title": "SCO.08 - Stake Unstaked Tokens - 1", + "title": "SCO.13 - Transfer Node", "valid": true, "chainID": "Testnet", "payloadMessage": { - "script": "import FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// Commits unstaked tokens to stake for the specified node or delegator in the staking collection\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n }\n\n execute {\n self.stakingCollectionRef.stakeUnstakedTokens(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", + "script": "import FlowStakingCollection from 0x95e019a17d0e23d7\n\n// Transfers a NodeStaker object from an authorizers accoount\n// and adds the NodeStaker to another accounts Staking Collection\n// identified by the to Address.\n\ntransaction(nodeID: String, to: Address) {\n let fromStakingCollectionRef: auth(FlowStakingCollection.CollectionOwner) &FlowStakingCollection.StakingCollection\n let toStakingCollectionCap: &FlowStakingCollection.StakingCollection\n\n prepare(account: auth(BorrowValue) &Account) {\n // The account to transfer the NodeStaker object to must have a valid Staking Collection in order to receive the NodeStaker.\n if (!FlowStakingCollection.doesAccountHaveStakingCollection(address: to)) {\n panic(\"Destination account must have a Staking Collection set up.\")\n }\n\n // Get a reference to the authorizers StakingCollection\n self.fromStakingCollectionRef = account.storage.borrow(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow a reference to a StakingCollection in the primary user's account\")\n\n // Get the PublicAccount of the account to transfer the NodeStaker to. \n let toAccount = getAccount(to)\n\n // Borrow a capability to the public methods available on the receivers StakingCollection.\n self.toStakingCollectionCap = toAccount.capabilities\n .borrow<&FlowStakingCollection.StakingCollection>(FlowStakingCollection.StakingCollectionPublicPath)\n ?? panic(\"Could not borrow a reference to a StakingCollection in the receiver's account\")\n\n let machineAccountInfo = self.fromStakingCollectionRef.getMachineAccounts()[nodeID]\n ?? panic(\"Could not get machine account info for the specified node ID\")\n\n // Remove the NodeStaker from the authorizers StakingCollection.\n let nodeStaker <- self.fromStakingCollectionRef.removeNode(nodeID: nodeID)\n\n // Deposit the NodeStaker to the receivers StakingCollection.\n self.toStakingCollectionCap.addNodeObject(<- nodeStaker!, machineAccountInfo: machineAccountInfo)\n }\n}", "arguments": [ { "type": "String", "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" }, { - "type": "Optional", - "value": null - }, - { - "type": "UFix64", - "value": "92233720368.54775808" + "value": "0x8c5303eaa26202d6", + "type": "Address" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -2204,19 +2024,15 @@ ] }, "envelopeMessage": { - "script": "import FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// Commits unstaked tokens to stake for the specified node or delegator in the staking collection\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n }\n\n execute {\n self.stakingCollectionRef.stakeUnstakedTokens(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", + "script": "import FlowStakingCollection from 0x95e019a17d0e23d7\n\n// Transfers a NodeStaker object from an authorizers accoount\n// and adds the NodeStaker to another accounts Staking Collection\n// identified by the to Address.\n\ntransaction(nodeID: String, to: Address) {\n let fromStakingCollectionRef: auth(FlowStakingCollection.CollectionOwner) &FlowStakingCollection.StakingCollection\n let toStakingCollectionCap: &FlowStakingCollection.StakingCollection\n\n prepare(account: auth(BorrowValue) &Account) {\n // The account to transfer the NodeStaker object to must have a valid Staking Collection in order to receive the NodeStaker.\n if (!FlowStakingCollection.doesAccountHaveStakingCollection(address: to)) {\n panic(\"Destination account must have a Staking Collection set up.\")\n }\n\n // Get a reference to the authorizers StakingCollection\n self.fromStakingCollectionRef = account.storage.borrow(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow a reference to a StakingCollection in the primary user's account\")\n\n // Get the PublicAccount of the account to transfer the NodeStaker to. \n let toAccount = getAccount(to)\n\n // Borrow a capability to the public methods available on the receivers StakingCollection.\n self.toStakingCollectionCap = toAccount.capabilities\n .borrow<&FlowStakingCollection.StakingCollection>(FlowStakingCollection.StakingCollectionPublicPath)\n ?? panic(\"Could not borrow a reference to a StakingCollection in the receiver's account\")\n\n let machineAccountInfo = self.fromStakingCollectionRef.getMachineAccounts()[nodeID]\n ?? panic(\"Could not get machine account info for the specified node ID\")\n\n // Remove the NodeStaker from the authorizers StakingCollection.\n let nodeStaker <- self.fromStakingCollectionRef.removeNode(nodeID: nodeID)\n\n // Deposit the NodeStaker to the receivers StakingCollection.\n self.toStakingCollectionCap.addNodeObject(<- nodeStaker!, machineAccountInfo: machineAccountInfo)\n }\n}", "arguments": [ { "type": "String", "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" }, { - "type": "Optional", - "value": null - }, - { - "type": "UFix64", - "value": "92233720368.54775808" + "value": "0x8c5303eaa26202d6", + "type": "Address" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -2232,32 +2048,29 @@ ], "payloadSigs": [] }, - "encodedTransactionPayloadHex": "f903aab902b5696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f20436f6d6d69747320756e7374616b656420746f6b656e7320746f207374616b6520666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e7374616b65556e7374616b6564546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8b0b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227da07b2274797065223a224f7074696f6e616c222c2276616c7565223a6e756c6c7db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", - "encodedTransactionEnvelopeHex": "f903aef903aab902b5696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f20436f6d6d69747320756e7374616b656420746f6b656e7320746f207374616b6520666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e7374616b65556e7374616b6564546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8b0b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227da07b2274797065223a224f7074696f6e616c222c2276616c7565223a6e756c6c7db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", - "metadata": "023595fcd68cff445c65ad99f8d4d726b5e28807b061800769c41cbe3adb98aeec082e690b9647182cf6969db1a0fa8e0f1728da6db01fe0d462e9f0841c268cbb5374616b6520556e7374616b656420546f6b656e730003014e6f64652049440000537472696e6700030244656c656761746f72204944000155496e743332000301416d6f756e7400025546697836340003", - "hash": "3595fcd68cff445c65ad99f8d4d726b5e28807b061800769c41cbe3adb98aeec" + "encodedTransactionPayloadHex": "f9096eb9089b696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f205472616e73666572732061204e6f64655374616b6572206f626a6563742066726f6d20616e20617574686f72697a657273206163636f6f756e740a2f2f20616e64206164647320746865204e6f64655374616b657220746f20616e6f74686572206163636f756e7473205374616b696e6720436f6c6c656374696f6e0a2f2f206964656e7469666965642062792074686520746f20416464726573732e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c20746f3a204164647265737329207b0a202020206c65742066726f6d5374616b696e67436f6c6c656374696f6e5265663a206175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a202020206c657420746f5374616b696e67436f6c6c656374696f6e4361703a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a206175746828426f72726f7756616c75652920264163636f756e7429207b0a20202020202020202f2f20546865206163636f756e7420746f207472616e7366657220746865204e6f64655374616b6572206f626a65637420746f206d757374206861766520612076616c6964205374616b696e6720436f6c6c656374696f6e20696e206f7264657220746f207265636569766520746865204e6f64655374616b65722e0a20202020202020206966202821466c6f775374616b696e67436f6c6c656374696f6e2e646f65734163636f756e74486176655374616b696e67436f6c6c656374696f6e28616464726573733a20746f2929207b0a20202020202020202020202070616e6963282244657374696e6174696f6e206163636f756e74206d75737420686176652061205374616b696e6720436f6c6c656374696f6e207365742075702e22290a20202020202020207d0a0a20202020202020202f2f204765742061207265666572656e636520746f2074686520617574686f72697a657273205374616b696e67436f6c6c656374696f6e0a202020202020202073656c662e66726f6d5374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e73746f726167652e626f72726f773c6175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f2061205374616b696e67436f6c6c656374696f6e20696e20746865207072696d61727920757365722773206163636f756e7422290a0a20202020202020202f2f2047657420746865205075626c69634163636f756e74206f6620746865206163636f756e7420746f207472616e7366657220746865204e6f64655374616b657220746f2e200a20202020202020206c657420746f4163636f756e74203d206765744163636f756e7428746f290a0a20202020202020202f2f20426f72726f772061206361706162696c69747920746f20746865207075626c6963206d6574686f647320617661696c61626c65206f6e2074686520726563656976657273205374616b696e67436f6c6c656374696f6e2e0a202020202020202073656c662e746f5374616b696e67436f6c6c656374696f6e436170203d20746f4163636f756e742e6361706162696c69746965730a2020202020202020202020202e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e28466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e5075626c696350617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f2061205374616b696e67436f6c6c656374696f6e20696e207468652072656365697665722773206163636f756e7422290a0a20202020202020206c6574206d616368696e654163636f756e74496e666f203d2073656c662e66726f6d5374616b696e67436f6c6c656374696f6e5265662e6765744d616368696e654163636f756e747328295b6e6f646549445d0a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420676574206d616368696e65206163636f756e7420696e666f20666f722074686520737065636966696564206e6f646520494422290a0a20202020202020202f2f2052656d6f766520746865204e6f64655374616b65722066726f6d2074686520617574686f72697a657273205374616b696e67436f6c6c656374696f6e2e0a20202020202020206c6574206e6f64655374616b6572203c2d2073656c662e66726f6d5374616b696e67436f6c6c656374696f6e5265662e72656d6f76654e6f6465286e6f646549443a206e6f64654944290a0a20202020202020202f2f204465706f73697420746865204e6f64655374616b657220746f2074686520726563656976657273205374616b696e67436f6c6c656374696f6e2e0a202020202020202073656c662e746f5374616b696e67436f6c6c656374696f6e4361702e6164644e6f64654f626a656374283c2d206e6f64655374616b6572212c206d616368696e654163636f756e74496e666f3a206d616368696e654163636f756e74496e666f290a202020207d0a7df88eb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227daf7b2276616c7565223a22307838633533303365616132363230326436222c2274797065223a2241646472657373227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", + "encodedTransactionEnvelopeHex": "f90972f9096eb9089b696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f205472616e73666572732061204e6f64655374616b6572206f626a6563742066726f6d20616e20617574686f72697a657273206163636f6f756e740a2f2f20616e64206164647320746865204e6f64655374616b657220746f20616e6f74686572206163636f756e7473205374616b696e6720436f6c6c656374696f6e0a2f2f206964656e7469666965642062792074686520746f20416464726573732e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c20746f3a204164647265737329207b0a202020206c65742066726f6d5374616b696e67436f6c6c656374696f6e5265663a206175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a202020206c657420746f5374616b696e67436f6c6c656374696f6e4361703a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a206175746828426f72726f7756616c75652920264163636f756e7429207b0a20202020202020202f2f20546865206163636f756e7420746f207472616e7366657220746865204e6f64655374616b6572206f626a65637420746f206d757374206861766520612076616c6964205374616b696e6720436f6c6c656374696f6e20696e206f7264657220746f207265636569766520746865204e6f64655374616b65722e0a20202020202020206966202821466c6f775374616b696e67436f6c6c656374696f6e2e646f65734163636f756e74486176655374616b696e67436f6c6c656374696f6e28616464726573733a20746f2929207b0a20202020202020202020202070616e6963282244657374696e6174696f6e206163636f756e74206d75737420686176652061205374616b696e6720436f6c6c656374696f6e207365742075702e22290a20202020202020207d0a0a20202020202020202f2f204765742061207265666572656e636520746f2074686520617574686f72697a657273205374616b696e67436f6c6c656374696f6e0a202020202020202073656c662e66726f6d5374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e73746f726167652e626f72726f773c6175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f2061205374616b696e67436f6c6c656374696f6e20696e20746865207072696d61727920757365722773206163636f756e7422290a0a20202020202020202f2f2047657420746865205075626c69634163636f756e74206f6620746865206163636f756e7420746f207472616e7366657220746865204e6f64655374616b657220746f2e200a20202020202020206c657420746f4163636f756e74203d206765744163636f756e7428746f290a0a20202020202020202f2f20426f72726f772061206361706162696c69747920746f20746865207075626c6963206d6574686f647320617661696c61626c65206f6e2074686520726563656976657273205374616b696e67436f6c6c656374696f6e2e0a202020202020202073656c662e746f5374616b696e67436f6c6c656374696f6e436170203d20746f4163636f756e742e6361706162696c69746965730a2020202020202020202020202e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e28466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e5075626c696350617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f2061205374616b696e67436f6c6c656374696f6e20696e207468652072656365697665722773206163636f756e7422290a0a20202020202020206c6574206d616368696e654163636f756e74496e666f203d2073656c662e66726f6d5374616b696e67436f6c6c656374696f6e5265662e6765744d616368696e654163636f756e747328295b6e6f646549445d0a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420676574206d616368696e65206163636f756e7420696e666f20666f722074686520737065636966696564206e6f646520494422290a0a20202020202020202f2f2052656d6f766520746865204e6f64655374616b65722066726f6d2074686520617574686f72697a657273205374616b696e67436f6c6c656374696f6e2e0a20202020202020206c6574206e6f64655374616b6572203c2d2073656c662e66726f6d5374616b696e67436f6c6c656374696f6e5265662e72656d6f76654e6f6465286e6f646549443a206e6f64654944290a0a20202020202020202f2f204465706f73697420746865204e6f64655374616b657220746f2074686520726563656976657273205374616b696e67436f6c6c656374696f6e2e0a202020202020202073656c662e746f5374616b696e67436f6c6c656374696f6e4361702e6164644e6f64654f626a656374283c2d206e6f64655374616b6572212c206d616368696e654163636f756e74496e666f3a206d616368696e654163636f756e74496e666f290a202020207d0a7df88eb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227daf7b2276616c7565223a22307838633533303365616132363230326436222c2274797065223a2241646472657373227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", + "metadata": "02311f4071dda8b17ac6cbc6f0a27e98bd426026825d3c68308903fead884e616e38bfd23b200ecef4d13fa3c2ea998b51e6a24f3a8ceb260d2affab7c918a97d05472616e73666572204e6f64650002014e6f64652049440000537472696e67000301416464726573730001416464726573730003", + "hash": "311f4071dda8b17ac6cbc6f0a27e98bd426026825d3c68308903fead884e616e" }, { - "title": "SCO.08 - Stake Unstaked Tokens - 2", + "title": "SCO.14 - Transfer Delegator", "valid": true, "chainID": "Testnet", "payloadMessage": { - "script": "import FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// Commits unstaked tokens to stake for the specified node or delegator in the staking collection\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n }\n\n execute {\n self.stakingCollectionRef.stakeUnstakedTokens(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", + "script": "import FlowStakingCollection from 0x95e019a17d0e23d7\n\n// Transfers a NodeDelegator object from an authorizers accoount\n// and adds the NodeDelegator to another accounts Staking Collection\n// identified by the to Address.\n\ntransaction(nodeID: String, delegatorID: UInt32, to: Address) {\n let fromStakingCollectionRef: auth(FlowStakingCollection.CollectionOwner) &FlowStakingCollection.StakingCollection\n let toStakingCollectionCap: &FlowStakingCollection.StakingCollection\n\n prepare(account: auth(BorrowValue) &Account) {\n // The account to transfer the NodeDelegator object to must have a valid Staking Collection in order to receive the NodeDelegator.\n if (!FlowStakingCollection.doesAccountHaveStakingCollection(address: to)) {\n panic(\"Destination account must have a Staking Collection set up.\")\n }\n\n // Get a reference to the authorizers StakingCollection\n self.fromStakingCollectionRef = account.storage.borrow(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow a reference to a StakingCollection in the primary user's account\")\n\n // Get the PublicAccount of the account to transfer the NodeDelegator to. \n let toAccount = getAccount(to)\n\n // Borrow a capability to the public methods available on the receivers StakingCollection.\n self.toStakingCollectionCap = toAccount.capabilities\n .borrow<&FlowStakingCollection.StakingCollection>(FlowStakingCollection.StakingCollectionPublicPath)\n ?? panic(\"Could not borrow a referamce to a StakingCollection in the receiver's account\")\n }\n\n execute {\n // Remove the NodeDelegator from the authorizers StakingCollection.\n let nodeDelegator <- self.fromStakingCollectionRef.removeDelegator(nodeID: nodeID, delegatorID: delegatorID)\n\n // Deposit the NodeDelegator to the receivers StakingCollection.\n self.toStakingCollectionCap.addDelegatorObject(<- nodeDelegator!)\n }\n}", "arguments": [ { "type": "String", "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" }, { - "type": "Optional", - "value": { - "type": "UInt32", - "value": "42" - } + "value": "42", + "type": "UInt32" }, { - "type": "UFix64", - "value": "92233720368.54775808" + "value": "0x8c5303eaa26202d6", + "type": "Address" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -2273,22 +2086,19 @@ ] }, "envelopeMessage": { - "script": "import FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// Commits unstaked tokens to stake for the specified node or delegator in the staking collection\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n }\n\n execute {\n self.stakingCollectionRef.stakeUnstakedTokens(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", + "script": "import FlowStakingCollection from 0x95e019a17d0e23d7\n\n// Transfers a NodeDelegator object from an authorizers accoount\n// and adds the NodeDelegator to another accounts Staking Collection\n// identified by the to Address.\n\ntransaction(nodeID: String, delegatorID: UInt32, to: Address) {\n let fromStakingCollectionRef: auth(FlowStakingCollection.CollectionOwner) &FlowStakingCollection.StakingCollection\n let toStakingCollectionCap: &FlowStakingCollection.StakingCollection\n\n prepare(account: auth(BorrowValue) &Account) {\n // The account to transfer the NodeDelegator object to must have a valid Staking Collection in order to receive the NodeDelegator.\n if (!FlowStakingCollection.doesAccountHaveStakingCollection(address: to)) {\n panic(\"Destination account must have a Staking Collection set up.\")\n }\n\n // Get a reference to the authorizers StakingCollection\n self.fromStakingCollectionRef = account.storage.borrow(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow a reference to a StakingCollection in the primary user's account\")\n\n // Get the PublicAccount of the account to transfer the NodeDelegator to. \n let toAccount = getAccount(to)\n\n // Borrow a capability to the public methods available on the receivers StakingCollection.\n self.toStakingCollectionCap = toAccount.capabilities\n .borrow<&FlowStakingCollection.StakingCollection>(FlowStakingCollection.StakingCollectionPublicPath)\n ?? panic(\"Could not borrow a referamce to a StakingCollection in the receiver's account\")\n }\n\n execute {\n // Remove the NodeDelegator from the authorizers StakingCollection.\n let nodeDelegator <- self.fromStakingCollectionRef.removeDelegator(nodeID: nodeID, delegatorID: delegatorID)\n\n // Deposit the NodeDelegator to the receivers StakingCollection.\n self.toStakingCollectionCap.addDelegatorObject(<- nodeDelegator!)\n }\n}", "arguments": [ { "type": "String", "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" }, { - "type": "Optional", - "value": { - "type": "UInt32", - "value": "42" - } + "value": "42", + "type": "UInt32" }, { - "type": "UFix64", - "value": "92233720368.54775808" + "value": "0x8c5303eaa26202d6", + "type": "Address" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -2304,21 +2114,25 @@ ], "payloadSigs": [] }, - "encodedTransactionPayloadHex": "f903c5b902b5696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f20436f6d6d69747320756e7374616b656420746f6b656e7320746f207374616b6520666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e7374616b65556e7374616b6564546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8cbb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db83a7b2274797065223a224f7074696f6e616c222c2276616c7565223a7b2274797065223a2255496e743332222c2276616c7565223a223432227d7db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", - "encodedTransactionEnvelopeHex": "f903c9f903c5b902b5696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f20436f6d6d69747320756e7374616b656420746f6b656e7320746f207374616b6520666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e7374616b65556e7374616b6564546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8cbb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db83a7b2274797065223a224f7074696f6e616c222c2276616c7565223a7b2274797065223a2255496e743332222c2276616c7565223a223432227d7db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", - "metadata": "023595fcd68cff445c65ad99f8d4d726b5e28807b061800769c41cbe3adb98aeec082e690b9647182cf6969db1a0fa8e0f1728da6db01fe0d462e9f0841c268cbb5374616b6520556e7374616b656420546f6b656e730003014e6f64652049440000537472696e6700030244656c656761746f72204944000155496e743332000301416d6f756e7400025546697836340003", - "hash": "3595fcd68cff445c65ad99f8d4d726b5e28807b061800769c41cbe3adb98aeec" + "encodedTransactionPayloadHex": "f9091bb90829696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f205472616e73666572732061204e6f646544656c656761746f72206f626a6563742066726f6d20616e20617574686f72697a657273206163636f6f756e740a2f2f20616e64206164647320746865204e6f646544656c656761746f7220746f20616e6f74686572206163636f756e7473205374616b696e6720436f6c6c656374696f6e0a2f2f206964656e7469666965642062792074686520746f20416464726573732e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433322c20746f3a204164647265737329207b0a202020206c65742066726f6d5374616b696e67436f6c6c656374696f6e5265663a206175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a202020206c657420746f5374616b696e67436f6c6c656374696f6e4361703a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a206175746828426f72726f7756616c75652920264163636f756e7429207b0a20202020202020202f2f20546865206163636f756e7420746f207472616e7366657220746865204e6f646544656c656761746f72206f626a65637420746f206d757374206861766520612076616c6964205374616b696e6720436f6c6c656374696f6e20696e206f7264657220746f207265636569766520746865204e6f646544656c656761746f722e0a20202020202020206966202821466c6f775374616b696e67436f6c6c656374696f6e2e646f65734163636f756e74486176655374616b696e67436f6c6c656374696f6e28616464726573733a20746f2929207b0a20202020202020202020202070616e6963282244657374696e6174696f6e206163636f756e74206d75737420686176652061205374616b696e6720436f6c6c656374696f6e207365742075702e22290a20202020202020207d0a0a20202020202020202f2f204765742061207265666572656e636520746f2074686520617574686f72697a657273205374616b696e67436f6c6c656374696f6e0a202020202020202073656c662e66726f6d5374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e73746f726167652e626f72726f773c6175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f2061205374616b696e67436f6c6c656374696f6e20696e20746865207072696d61727920757365722773206163636f756e7422290a0a20202020202020202f2f2047657420746865205075626c69634163636f756e74206f6620746865206163636f756e7420746f207472616e7366657220746865204e6f646544656c656761746f7220746f2e200a20202020202020206c657420746f4163636f756e74203d206765744163636f756e7428746f290a0a20202020202020202f2f20426f72726f772061206361706162696c69747920746f20746865207075626c6963206d6574686f647320617661696c61626c65206f6e2074686520726563656976657273205374616b696e67436f6c6c656374696f6e2e0a202020202020202073656c662e746f5374616b696e67436f6c6c656374696f6e436170203d20746f4163636f756e742e6361706162696c69746965730a2020202020202020202020202e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e28466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e5075626c696350617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572616d636520746f2061205374616b696e67436f6c6c656374696f6e20696e207468652072656365697665722773206163636f756e7422290a202020207d0a0a2020202065786563757465207b0a20202020202020202f2f2052656d6f766520746865204e6f646544656c656761746f722066726f6d2074686520617574686f72697a657273205374616b696e67436f6c6c656374696f6e2e0a20202020202020206c6574206e6f646544656c656761746f72203c2d2073656c662e66726f6d5374616b696e67436f6c6c656374696f6e5265662e72656d6f766544656c656761746f72286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f724944290a0a20202020202020202f2f204465706f73697420746865204e6f646544656c656761746f7220746f2074686520726563656976657273205374616b696e67436f6c6c656374696f6e2e0a202020202020202073656c662e746f5374616b696e67436f6c6c656374696f6e4361702e61646444656c656761746f724f626a656374283c2d206e6f646544656c656761746f7221290a202020207d0a7df8adb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227d9e7b2276616c7565223a223432222c2274797065223a2255496e743332227daf7b2276616c7565223a22307838633533303365616132363230326436222c2274797065223a2241646472657373227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", + "encodedTransactionEnvelopeHex": "f9091ff9091bb90829696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f205472616e73666572732061204e6f646544656c656761746f72206f626a6563742066726f6d20616e20617574686f72697a657273206163636f6f756e740a2f2f20616e64206164647320746865204e6f646544656c656761746f7220746f20616e6f74686572206163636f756e7473205374616b696e6720436f6c6c656374696f6e0a2f2f206964656e7469666965642062792074686520746f20416464726573732e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433322c20746f3a204164647265737329207b0a202020206c65742066726f6d5374616b696e67436f6c6c656374696f6e5265663a206175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a202020206c657420746f5374616b696e67436f6c6c656374696f6e4361703a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a206175746828426f72726f7756616c75652920264163636f756e7429207b0a20202020202020202f2f20546865206163636f756e7420746f207472616e7366657220746865204e6f646544656c656761746f72206f626a65637420746f206d757374206861766520612076616c6964205374616b696e6720436f6c6c656374696f6e20696e206f7264657220746f207265636569766520746865204e6f646544656c656761746f722e0a20202020202020206966202821466c6f775374616b696e67436f6c6c656374696f6e2e646f65734163636f756e74486176655374616b696e67436f6c6c656374696f6e28616464726573733a20746f2929207b0a20202020202020202020202070616e6963282244657374696e6174696f6e206163636f756e74206d75737420686176652061205374616b696e6720436f6c6c656374696f6e207365742075702e22290a20202020202020207d0a0a20202020202020202f2f204765742061207265666572656e636520746f2074686520617574686f72697a657273205374616b696e67436f6c6c656374696f6e0a202020202020202073656c662e66726f6d5374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e73746f726167652e626f72726f773c6175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f2061205374616b696e67436f6c6c656374696f6e20696e20746865207072696d61727920757365722773206163636f756e7422290a0a20202020202020202f2f2047657420746865205075626c69634163636f756e74206f6620746865206163636f756e7420746f207472616e7366657220746865204e6f646544656c656761746f7220746f2e200a20202020202020206c657420746f4163636f756e74203d206765744163636f756e7428746f290a0a20202020202020202f2f20426f72726f772061206361706162696c69747920746f20746865207075626c6963206d6574686f647320617661696c61626c65206f6e2074686520726563656976657273205374616b696e67436f6c6c656374696f6e2e0a202020202020202073656c662e746f5374616b696e67436f6c6c656374696f6e436170203d20746f4163636f756e742e6361706162696c69746965730a2020202020202020202020202e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e28466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e5075626c696350617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572616d636520746f2061205374616b696e67436f6c6c656374696f6e20696e207468652072656365697665722773206163636f756e7422290a202020207d0a0a2020202065786563757465207b0a20202020202020202f2f2052656d6f766520746865204e6f646544656c656761746f722066726f6d2074686520617574686f72697a657273205374616b696e67436f6c6c656374696f6e2e0a20202020202020206c6574206e6f646544656c656761746f72203c2d2073656c662e66726f6d5374616b696e67436f6c6c656374696f6e5265662e72656d6f766544656c656761746f72286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f724944290a0a20202020202020202f2f204465706f73697420746865204e6f646544656c656761746f7220746f2074686520726563656976657273205374616b696e67436f6c6c656374696f6e2e0a202020202020202073656c662e746f5374616b696e67436f6c6c656374696f6e4361702e61646444656c656761746f724f626a656374283c2d206e6f646544656c656761746f7221290a202020207d0a7df8adb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227d9e7b2276616c7565223a223432222c2274797065223a2255496e743332227daf7b2276616c7565223a22307838633533303365616132363230326436222c2274797065223a2241646472657373227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", + "metadata": "02f9fa239cb78b3e07b8f8d56e173e2673b4b53aeb07d507a769c8d96eaf400b8d11e2107d2ccd96cb6b3fa3a704491dcd9e1736215137304e0494243c21befc765472616e736665722044656c656761746f720003014e6f64652049440000537472696e6700030144656c656761746f72204944000155496e743332000301416464726573730002416464726573730003", + "hash": "f9fa239cb78b3e07b8f8d56e173e2673b4b53aeb07d507a769c8d96eaf400b8d" }, { - "title": "SCO.09 - Unstake All", + "title": "SCO.15 - Withdraw From Machine Account", "valid": true, "chainID": "Testnet", "payloadMessage": { - "script": "import FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// Requests to unstake ALL tokens for the specified node or delegator in the staking collection\n\ntransaction(nodeID: String) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n }\n\n execute {\n self.stakingCollectionRef.unstakeAll(nodeID: nodeID)\n }\n}\n", + "script": "import FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// Request to withdraw tokens from the machine account\n/// The tokens are automatically deposited to the unlocked account vault\n\ntransaction(nodeID: String, amount: UFix64) {\n \n let stakingCollectionRef: auth(FlowStakingCollection.CollectionOwner) &FlowStakingCollection.StakingCollection\n\n prepare(account: auth(BorrowValue) &Account) {\n self.stakingCollectionRef = account.storage.borrow(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow a reference to a StakingCollection in the primary user's account\")\n }\n\n execute {\n self.stakingCollectionRef.withdrawFromMachineAccount(nodeID: nodeID, amount: amount)\n }\n}\n", "arguments": [ { "type": "String", "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" + }, + { + "value": "92233720368.54775808", + "type": "UFix64" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -2334,11 +2148,15 @@ ] }, "envelopeMessage": { - "script": "import FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// Requests to unstake ALL tokens for the specified node or delegator in the staking collection\n\ntransaction(nodeID: String) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n }\n\n execute {\n self.stakingCollectionRef.unstakeAll(nodeID: nodeID)\n }\n}\n", + "script": "import FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// Request to withdraw tokens from the machine account\n/// The tokens are automatically deposited to the unlocked account vault\n\ntransaction(nodeID: String, amount: UFix64) {\n \n let stakingCollectionRef: auth(FlowStakingCollection.CollectionOwner) &FlowStakingCollection.StakingCollection\n\n prepare(account: auth(BorrowValue) &Account) {\n self.stakingCollectionRef = account.storage.borrow(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow a reference to a StakingCollection in the primary user's account\")\n }\n\n execute {\n self.stakingCollectionRef.withdrawFromMachineAccount(nodeID: nodeID, amount: amount)\n }\n}\n", "arguments": [ { "type": "String", "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" + }, + { + "value": "92233720368.54775808", + "type": "UFix64" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -2354,32 +2172,25 @@ ], "payloadSigs": [] }, - "encodedTransactionPayloadHex": "f902fdb9025a696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f20526571756573747320746f20756e7374616b6520414c4c20746f6b656e7320666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a0a7472616e73616374696f6e286e6f646549443a20537472696e6729207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e756e7374616b65416c6c286e6f646549443a206e6f64654944290a202020207d0a7d0af85eb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", - "encodedTransactionEnvelopeHex": "f90301f902fdb9025a696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f20526571756573747320746f20756e7374616b6520414c4c20746f6b656e7320666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a0a7472616e73616374696f6e286e6f646549443a20537472696e6729207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e756e7374616b65416c6c286e6f646549443a206e6f64654944290a202020207d0a7d0af85eb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", - "metadata": "020bde358f3965ba2f4c18fb45b6536857c3f53d7d3b740fe66fe93a4ebf7524c1df9c6486baa6f8f685368ea216659239cb81fa8ebd9062a9723edb54ca0d7525556e7374616b6520416c6c0001014e6f64652049440000537472696e670003", - "hash": "0bde358f3965ba2f4c18fb45b6536857c3f53d7d3b740fe66fe93a4ebf7524c1" + "encodedTransactionPayloadHex": "f90415b90341696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f205265717565737420746f20776974686472617720746f6b656e732066726f6d20746865206d616368696e65206163636f756e740a2f2f2f2054686520746f6b656e7320617265206175746f6d61746963616c6c79206465706f736974656420746f2074686520756e6c6f636b6564206163636f756e74207661756c740a0a7472616e73616374696f6e286e6f646549443a20537472696e672c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a206175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a206175746828426f72726f7756616c75652920264163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e73746f726167652e626f72726f773c6175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f2061205374616b696e67436f6c6c656374696f6e20696e20746865207072696d61727920757365722773206163636f756e7422290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e776974686472617746726f6d4d616368696e654163636f756e74286e6f646549443a206e6f646549442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af88fb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db07b2276616c7565223a2239323233333732303336382e3534373735383038222c2274797065223a22554669783634227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", + "encodedTransactionEnvelopeHex": "f90419f90415b90341696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f205265717565737420746f20776974686472617720746f6b656e732066726f6d20746865206d616368696e65206163636f756e740a2f2f2f2054686520746f6b656e7320617265206175746f6d61746963616c6c79206465706f736974656420746f2074686520756e6c6f636b6564206163636f756e74207661756c740a0a7472616e73616374696f6e286e6f646549443a20537472696e672c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a206175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a206175746828426f72726f7756616c75652920264163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e73746f726167652e626f72726f773c6175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f2061205374616b696e67436f6c6c656374696f6e20696e20746865207072696d61727920757365722773206163636f756e7422290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e776974686472617746726f6d4d616368696e654163636f756e74286e6f646549443a206e6f646549442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af88fb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db07b2276616c7565223a2239323233333732303336382e3534373735383038222c2274797065223a22554669783634227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", + "metadata": "02fdd40862af04dc36dd0e9e727966c6f81dd6be8246b9c70afd18297aac9e86a8e12b16ef4218b8ce52189ae5814b381272bf473436978fae94d01c10c036903457697468647261772046726f6d204d616368696e65204163636f756e740002014e6f64652049440000537472696e67000301416d6f756e7400015546697836340003", + "hash": "fdd40862af04dc36dd0e9e727966c6f81dd6be8246b9c70afd18297aac9e86a8" }, { - "title": "SCO.10 - Withdraw Rewarded Tokens - 1", + "title": "SCO.16 - Update Networking Address", "valid": true, "chainID": "Testnet", "payloadMessage": { - "script": "import FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// Request to withdraw rewarded tokens for the specified node or delegator in the staking collection\n/// The tokens are automatically deposited to the unlocked account vault first,\n/// And then any locked tokens are deposited into the locked account vault\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n }\n\n execute {\n self.stakingCollectionRef.withdrawRewardedTokens(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", + "script": "import FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// Changes the networking address for the specified node\n\ntransaction(nodeID: String, newAddress: String) {\n \n let stakingCollectionRef: auth(FlowStakingCollection.CollectionOwner) &FlowStakingCollection.StakingCollection\n\n prepare(account: auth(BorrowValue) &Account) {\n self.stakingCollectionRef = account.storage.borrow(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow a reference to a StakingCollection in the primary user's account\")\n }\n\n execute {\n self.stakingCollectionRef.updateNetworkingAddress(nodeID: nodeID, newAddress: newAddress)\n }\n}\n", "arguments": [ { "type": "String", "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" }, { - "type": "Optional", - "value": { - "type": "UInt32", - "value": "42" - } - }, - { - "type": "UFix64", - "value": "92233720368.54775808" + "value": "flow-node.test:3569", + "type": "String" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -2395,22 +2206,15 @@ ] }, "envelopeMessage": { - "script": "import FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// Request to withdraw rewarded tokens for the specified node or delegator in the staking collection\n/// The tokens are automatically deposited to the unlocked account vault first,\n/// And then any locked tokens are deposited into the locked account vault\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n }\n\n execute {\n self.stakingCollectionRef.withdrawRewardedTokens(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", + "script": "import FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// Changes the networking address for the specified node\n\ntransaction(nodeID: String, newAddress: String) {\n \n let stakingCollectionRef: auth(FlowStakingCollection.CollectionOwner) &FlowStakingCollection.StakingCollection\n\n prepare(account: auth(BorrowValue) &Account) {\n self.stakingCollectionRef = account.storage.borrow(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow a reference to a StakingCollection in the primary user's account\")\n }\n\n execute {\n self.stakingCollectionRef.updateNetworkingAddress(nodeID: nodeID, newAddress: newAddress)\n }\n}\n", "arguments": [ { "type": "String", "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" }, { - "type": "Optional", - "value": { - "type": "UInt32", - "value": "42" - } - }, - { - "type": "UFix64", - "value": "92233720368.54775808" + "value": "flow-node.test:3569", + "type": "String" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -2426,3372 +2230,223 @@ ], "payloadSigs": [] }, - "encodedTransactionPayloadHex": "f90466b90356696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f205265717565737420746f20776974686472617720726577617264656420746f6b656e7320666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f2054686520746f6b656e7320617265206175746f6d61746963616c6c79206465706f736974656420746f2074686520756e6c6f636b6564206163636f756e74207661756c742066697273742c0a2f2f2f20416e64207468656e20616e79206c6f636b656420746f6b656e7320617265206465706f736974656420696e746f20746865206c6f636b6564206163636f756e74207661756c740a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e77697468647261775265776172646564546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8cbb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db83a7b2274797065223a224f7074696f6e616c222c2276616c7565223a7b2274797065223a2255496e743332222c2276616c7565223a223432227d7db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", - "encodedTransactionEnvelopeHex": "f9046af90466b90356696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f205265717565737420746f20776974686472617720726577617264656420746f6b656e7320666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f2054686520746f6b656e7320617265206175746f6d61746963616c6c79206465706f736974656420746f2074686520756e6c6f636b6564206163636f756e74207661756c742066697273742c0a2f2f2f20416e64207468656e20616e79206c6f636b656420746f6b656e7320617265206465706f736974656420696e746f20746865206c6f636b6564206163636f756e74207661756c740a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e77697468647261775265776172646564546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8cbb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db83a7b2274797065223a224f7074696f6e616c222c2276616c7565223a7b2274797065223a2255496e743332222c2276616c7565223a223432227d7db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", - "metadata": "023af182f568b37a8067d3fb524afcfe96991c85a928bf7651e730be0e15fdb72d27a2b60d538b8bb883b602ea83d1697986a29dd69a44a9209dc75affb9e63299576974686472617720526577617264656420546f6b656e730003014e6f64652049440000537472696e6700030244656c656761746f72204944000155496e743332000301416d6f756e7400025546697836340003", - "hash": "3af182f568b37a8067d3fb524afcfe96991c85a928bf7651e730be0e15fdb72d" + "encodedTransactionPayloadHex": "f903d6b90303696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f204368616e67657320746865206e6574776f726b696e67206164647265737320666f722074686520737065636966696564206e6f64650a0a7472616e73616374696f6e286e6f646549443a20537472696e672c206e6577416464726573733a20537472696e6729207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a206175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a206175746828426f72726f7756616c75652920264163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e73746f726167652e626f72726f773c6175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f2061205374616b696e67436f6c6c656374696f6e20696e20746865207072696d61727920757365722773206163636f756e7422290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e7570646174654e6574776f726b696e6741646472657373286e6f646549443a206e6f646549442c206e6577416464726573733a206e657741646472657373290a202020207d0a7d0af88eb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227daf7b2276616c7565223a22666c6f772d6e6f64652e746573743a33353639222c2274797065223a22537472696e67227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", + "encodedTransactionEnvelopeHex": "f903daf903d6b90303696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f204368616e67657320746865206e6574776f726b696e67206164647265737320666f722074686520737065636966696564206e6f64650a0a7472616e73616374696f6e286e6f646549443a20537472696e672c206e6577416464726573733a20537472696e6729207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a206175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a206175746828426f72726f7756616c75652920264163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e73746f726167652e626f72726f773c6175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f2061205374616b696e67436f6c6c656374696f6e20696e20746865207072696d61727920757365722773206163636f756e7422290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e7570646174654e6574776f726b696e6741646472657373286e6f646549443a206e6f646549442c206e6577416464726573733a206e657741646472657373290a202020207d0a7d0af88eb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227daf7b2276616c7565223a22666c6f772d6e6f64652e746573743a33353639222c2274797065223a22537472696e67227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", + "metadata": "023a68789d8cd56e6c7b064057045a56340746aac710db57700de2c33eb6610e5f68d24560d9e49318dca82ab0975f526a8663d934225f0cb715cd1ff188def16d557064617465204e6574776f726b696e6720416464726573730002014e6f64652049440000537472696e67000301416464726573730001537472696e670003", + "hash": "3a68789d8cd56e6c7b064057045a56340746aac710db57700de2c33eb6610e5f" }, { - "title": "SCO.10 - Withdraw Rewarded Tokens - 2", + "title": "FA.01 - Create Account", "valid": true, - "chainID": "Testnet", + "chainID": "Mainnet", "payloadMessage": { - "script": "import FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// Request to withdraw rewarded tokens for the specified node or delegator in the staking collection\n/// The tokens are automatically deposited to the unlocked account vault first,\n/// And then any locked tokens are deposited into the locked account vault\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n }\n\n execute {\n self.stakingCollectionRef.withdrawRewardedTokens(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", + "script": "import Crypto\n\ntransaction(key: String, signatureAlgorithm: UInt8, hashAlgorithm: UInt8, weight: UFix64) {\n\tprepare(signer: auth(BorrowValue, Storage) &Account) {\n\t\tpre {\n\t\t\tsignatureAlgorithm >= 1 && signatureAlgorithm <= 3: \"Must provide a signature algoritm raw value that is 1, 2, or 3\"\n\t\t\thashAlgorithm >= 1 && hashAlgorithm <= 6: \"Must provide a hash algoritm raw value that is between 1 and 6\"\n\t\t\tweight <= 1000.0: \"The key weight must be between 0 and 1000\"\n\t\t}\n\n\t\tlet publicKey = PublicKey(\n\t\t\tpublicKey: key.decodeHex(),\n\t\t\tsignatureAlgorithm: SignatureAlgorithm(rawValue: signatureAlgorithm)!\n\t\t)\n\n\t\tlet account = Account(payer: signer)\n\n\t\taccount.keys.add(publicKey: publicKey, hashAlgorithm: HashAlgorithm(rawValue: hashAlgorithm)!, weight: weight)\n\t}\n}", "arguments": [ { "type": "String", - "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" + "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164" }, { - "type": "Optional", - "value": null + "value": "1", + "type": "UInt8" }, { - "type": "UFix64", - "value": "92233720368.54775808" + "value": "1", + "type": "UInt8" + }, + { + "value": "1000.00000000", + "type": "UFix64" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", "gasLimit": 42, "proposalKey": { - "address": "99a8ac2c71d4f6bd", + "address": "f19c161bc24cf4b4", "keyId": 4, "sequenceNum": 10 }, - "payer": "99a8ac2c71d4f6bd", + "payer": "f19c161bc24cf4b4", "authorizers": [ - "99a8ac2c71d4f6bd" + "f19c161bc24cf4b4" ] }, "envelopeMessage": { - "script": "import FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// Request to withdraw rewarded tokens for the specified node or delegator in the staking collection\n/// The tokens are automatically deposited to the unlocked account vault first,\n/// And then any locked tokens are deposited into the locked account vault\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n }\n\n execute {\n self.stakingCollectionRef.withdrawRewardedTokens(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", + "script": "import Crypto\n\ntransaction(key: String, signatureAlgorithm: UInt8, hashAlgorithm: UInt8, weight: UFix64) {\n\tprepare(signer: auth(BorrowValue, Storage) &Account) {\n\t\tpre {\n\t\t\tsignatureAlgorithm >= 1 && signatureAlgorithm <= 3: \"Must provide a signature algoritm raw value that is 1, 2, or 3\"\n\t\t\thashAlgorithm >= 1 && hashAlgorithm <= 6: \"Must provide a hash algoritm raw value that is between 1 and 6\"\n\t\t\tweight <= 1000.0: \"The key weight must be between 0 and 1000\"\n\t\t}\n\n\t\tlet publicKey = PublicKey(\n\t\t\tpublicKey: key.decodeHex(),\n\t\t\tsignatureAlgorithm: SignatureAlgorithm(rawValue: signatureAlgorithm)!\n\t\t)\n\n\t\tlet account = Account(payer: signer)\n\n\t\taccount.keys.add(publicKey: publicKey, hashAlgorithm: HashAlgorithm(rawValue: hashAlgorithm)!, weight: weight)\n\t}\n}", "arguments": [ { "type": "String", - "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" + "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164" }, { - "type": "Optional", - "value": null + "value": "1", + "type": "UInt8" }, { - "type": "UFix64", - "value": "92233720368.54775808" + "value": "1", + "type": "UInt8" + }, + { + "value": "1000.00000000", + "type": "UFix64" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", "gasLimit": 42, "proposalKey": { - "address": "99a8ac2c71d4f6bd", + "address": "f19c161bc24cf4b4", "keyId": 4, "sequenceNum": 10 }, - "payer": "99a8ac2c71d4f6bd", + "payer": "f19c161bc24cf4b4", "authorizers": [ - "99a8ac2c71d4f6bd" + "f19c161bc24cf4b4" ], "payloadSigs": [] }, - "encodedTransactionPayloadHex": "f9044bb90356696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f205265717565737420746f20776974686472617720726577617264656420746f6b656e7320666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f2054686520746f6b656e7320617265206175746f6d61746963616c6c79206465706f736974656420746f2074686520756e6c6f636b6564206163636f756e74207661756c742066697273742c0a2f2f2f20416e64207468656e20616e79206c6f636b656420746f6b656e7320617265206465706f736974656420696e746f20746865206c6f636b6564206163636f756e74207661756c740a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e77697468647261775265776172646564546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8b0b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227da07b2274797065223a224f7074696f6e616c222c2276616c7565223a6e756c6c7db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", - "encodedTransactionEnvelopeHex": "f9044ff9044bb90356696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f205265717565737420746f20776974686472617720726577617264656420746f6b656e7320666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f2054686520746f6b656e7320617265206175746f6d61746963616c6c79206465706f736974656420746f2074686520756e6c6f636b6564206163636f756e74207661756c742066697273742c0a2f2f2f20416e64207468656e20616e79206c6f636b656420746f6b656e7320617265206465706f736974656420696e746f20746865206c6f636b6564206163636f756e74207661756c740a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e77697468647261775265776172646564546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8b0b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227da07b2274797065223a224f7074696f6e616c222c2276616c7565223a6e756c6c7db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", - "metadata": "023af182f568b37a8067d3fb524afcfe96991c85a928bf7651e730be0e15fdb72d27a2b60d538b8bb883b602ea83d1697986a29dd69a44a9209dc75affb9e63299576974686472617720526577617264656420546f6b656e730003014e6f64652049440000537472696e6700030244656c656761746f72204944000155496e743332000301416d6f756e7400025546697836340003", - "hash": "3af182f568b37a8067d3fb524afcfe96991c85a928bf7651e730be0e15fdb72d" + "encodedTransactionPayloadHex": "f90454b902fe696d706f72742043727970746f0a0a7472616e73616374696f6e286b65793a20537472696e672c207369676e6174757265416c676f726974686d3a2055496e74382c2068617368416c676f726974686d3a2055496e74382c207765696768743a2055466978363429207b0a0970726570617265287369676e65723a206175746828426f72726f7756616c75652c2053746f726167652920264163636f756e7429207b0a0909707265207b0a0909097369676e6174757265416c676f726974686d203e3d2031202626207369676e6174757265416c676f726974686d203c3d20333a20224d7573742070726f766964652061207369676e617475726520616c676f7269746d207261772076616c7565207468617420697320312c20322c206f722033220a09090968617368416c676f726974686d203e3d20312026262068617368416c676f726974686d203c3d20363a20224d7573742070726f766964652061206861736820616c676f7269746d207261772076616c75652074686174206973206265747765656e203120616e642036220a090909776569676874203c3d20313030302e303a2022546865206b657920776569676874206d757374206265206265747765656e203020616e642031303030220a09097d0a0a09096c6574207075626c69634b6579203d205075626c69634b6579280a0909097075626c69634b65793a206b65792e6465636f646548657828292c0a0909097369676e6174757265416c676f726974686d3a205369676e6174757265416c676f726974686d2872617756616c75653a207369676e6174757265416c676f726974686d29210a0909290a0a09096c6574206163636f756e74203d204163636f756e742870617965723a207369676e6572290a0a09096163636f756e742e6b6579732e616464287075626c69634b65793a207075626c69634b65792c2068617368416c676f726974686d3a2048617368416c676f726974686d2872617756616c75653a2068617368416c676f726974686d29212c207765696768743a20776569676874290a097d0a7df90110b8aa7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634227d9c7b2276616c7565223a2231222c2274797065223a2255496e7438227d9c7b2276616c7565223a2231222c2274797065223a2255496e7438227da97b2276616c7565223a22313030302e3030303030303030222c2274797065223a22554669783634227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", + "encodedTransactionEnvelopeHex": "f90458f90454b902fe696d706f72742043727970746f0a0a7472616e73616374696f6e286b65793a20537472696e672c207369676e6174757265416c676f726974686d3a2055496e74382c2068617368416c676f726974686d3a2055496e74382c207765696768743a2055466978363429207b0a0970726570617265287369676e65723a206175746828426f72726f7756616c75652c2053746f726167652920264163636f756e7429207b0a0909707265207b0a0909097369676e6174757265416c676f726974686d203e3d2031202626207369676e6174757265416c676f726974686d203c3d20333a20224d7573742070726f766964652061207369676e617475726520616c676f7269746d207261772076616c7565207468617420697320312c20322c206f722033220a09090968617368416c676f726974686d203e3d20312026262068617368416c676f726974686d203c3d20363a20224d7573742070726f766964652061206861736820616c676f7269746d207261772076616c75652074686174206973206265747765656e203120616e642036220a090909776569676874203c3d20313030302e303a2022546865206b657920776569676874206d757374206265206265747765656e203020616e642031303030220a09097d0a0a09096c6574207075626c69634b6579203d205075626c69634b6579280a0909097075626c69634b65793a206b65792e6465636f646548657828292c0a0909097369676e6174757265416c676f726974686d3a205369676e6174757265416c676f726974686d2872617756616c75653a207369676e6174757265416c676f726974686d29210a0909290a0a09096c6574206163636f756e74203d204163636f756e742870617965723a207369676e6572290a0a09096163636f756e742e6b6579732e616464287075626c69634b65793a207075626c69634b65792c2068617368416c676f726974686d3a2048617368416c676f726974686d2872617756616c75653a2068617368416c676f726974686d29212c207765696768743a20776569676874290a097d0a7df90110b8aa7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634227d9c7b2276616c7565223a2231222c2274797065223a2255496e7438227d9c7b2276616c7565223a2231222c2274797065223a2255496e7438227da97b2276616c7565223a22313030302e3030303030303030222c2274797065223a22554669783634227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", + "metadata": "0263d8b6a045bf8e6196198184db685c2cf22932503ccb2dcb85c7d2dc04c882ba63d8b6a045bf8e6196198184db685c2cf22932503ccb2dcb85c7d2dc04c882ba437265617465204163636f756e740004015075626c6963204b65790000537472696e670003015261772056616c756520666f72205369676e617475726520416c676f726974686d20456e756d000155496e74380003015261772056616c756520666f72204861736820416c676f726974686d20456e756d000255496e74380003014b65792057656967687400035546697836340003", + "hash": "63d8b6a045bf8e6196198184db685c2cf22932503ccb2dcb85c7d2dc04c882ba" }, { - "title": "SCO.11 - Withdraw Unstaked Tokens - 1", + "title": "FA.02 - Add Key", "valid": true, - "chainID": "Testnet", + "chainID": "Mainnet", "payloadMessage": { - "script": "import FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// Request to withdraw unstaked tokens for the specified node or delegator in the staking collection\n/// The tokens are automatically deposited to the unlocked account vault first,\n/// And then any locked tokens are deposited into the locked account vault if it is there\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n }\n\n execute {\n self.stakingCollectionRef.withdrawUnstakedTokens(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", + "script": "import Crypto\n\ntransaction(key: String, signatureAlgorithm: UInt8, hashAlgorithm: UInt8, weight: UFix64) {\n\n\tprepare(signer: auth(AddKey) &Account) {\n\t\tpre {\n\t\t\tsignatureAlgorithm >= 1 && signatureAlgorithm <= 3: \"Must provide a signature algoritm raw value that is 1, 2, or 3\"\n\t\t\thashAlgorithm >= 1 && hashAlgorithm <= 6: \"Must provide a hash algoritm raw value that is between 1 and 6\"\n\t\t\tweight <= 1000.0: \"The key weight must be between 0 and 1000\"\n\t\t}\n\t\tlet publicKey = PublicKey(\n\t\t\tpublicKey: key.decodeHex(),\n\t\t\tsignatureAlgorithm: SignatureAlgorithm(rawValue: signatureAlgorithm)!\n\t\t)\n\n\t\tsigner.keys.add(publicKey: publicKey, hashAlgorithm: HashAlgorithm(rawValue: hashAlgorithm)!, weight: weight)\n\t}\n}", "arguments": [ { "type": "String", - "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" + "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164" }, { - "type": "Optional", - "value": null + "value": "1", + "type": "UInt8" }, { - "type": "UFix64", - "value": "92233720368.54775808" + "value": "1", + "type": "UInt8" + }, + { + "value": "1000.00000000", + "type": "UFix64" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", "gasLimit": 42, "proposalKey": { - "address": "99a8ac2c71d4f6bd", + "address": "f19c161bc24cf4b4", "keyId": 4, "sequenceNum": 10 }, - "payer": "99a8ac2c71d4f6bd", + "payer": "f19c161bc24cf4b4", "authorizers": [ - "99a8ac2c71d4f6bd" + "f19c161bc24cf4b4" ] }, "envelopeMessage": { - "script": "import FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// Request to withdraw unstaked tokens for the specified node or delegator in the staking collection\n/// The tokens are automatically deposited to the unlocked account vault first,\n/// And then any locked tokens are deposited into the locked account vault if it is there\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n }\n\n execute {\n self.stakingCollectionRef.withdrawUnstakedTokens(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", + "script": "import Crypto\n\ntransaction(key: String, signatureAlgorithm: UInt8, hashAlgorithm: UInt8, weight: UFix64) {\n\n\tprepare(signer: auth(AddKey) &Account) {\n\t\tpre {\n\t\t\tsignatureAlgorithm >= 1 && signatureAlgorithm <= 3: \"Must provide a signature algoritm raw value that is 1, 2, or 3\"\n\t\t\thashAlgorithm >= 1 && hashAlgorithm <= 6: \"Must provide a hash algoritm raw value that is between 1 and 6\"\n\t\t\tweight <= 1000.0: \"The key weight must be between 0 and 1000\"\n\t\t}\n\t\tlet publicKey = PublicKey(\n\t\t\tpublicKey: key.decodeHex(),\n\t\t\tsignatureAlgorithm: SignatureAlgorithm(rawValue: signatureAlgorithm)!\n\t\t)\n\n\t\tsigner.keys.add(publicKey: publicKey, hashAlgorithm: HashAlgorithm(rawValue: hashAlgorithm)!, weight: weight)\n\t}\n}", "arguments": [ { "type": "String", - "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" + "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164" }, { - "type": "Optional", - "value": null + "value": "1", + "type": "UInt8" }, { - "type": "UFix64", - "value": "92233720368.54775808" + "value": "1", + "type": "UInt8" + }, + { + "value": "1000.00000000", + "type": "UFix64" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", "gasLimit": 42, "proposalKey": { - "address": "99a8ac2c71d4f6bd", + "address": "f19c161bc24cf4b4", "keyId": 4, "sequenceNum": 10 }, - "payer": "99a8ac2c71d4f6bd", + "payer": "f19c161bc24cf4b4", "authorizers": [ - "99a8ac2c71d4f6bd" + "f19c161bc24cf4b4" ], "payloadSigs": [] }, - "encodedTransactionPayloadHex": "f9045ab90365696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f205265717565737420746f20776974686472617720756e7374616b656420746f6b656e7320666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f2054686520746f6b656e7320617265206175746f6d61746963616c6c79206465706f736974656420746f2074686520756e6c6f636b6564206163636f756e74207661756c742066697273742c0a2f2f2f20416e64207468656e20616e79206c6f636b656420746f6b656e7320617265206465706f736974656420696e746f20746865206c6f636b6564206163636f756e74207661756c742069662069742069732074686572650a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e7769746864726177556e7374616b6564546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8b0b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227da07b2274797065223a224f7074696f6e616c222c2276616c7565223a6e756c6c7db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", - "encodedTransactionEnvelopeHex": "f9045ef9045ab90365696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f205265717565737420746f20776974686472617720756e7374616b656420746f6b656e7320666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f2054686520746f6b656e7320617265206175746f6d61746963616c6c79206465706f736974656420746f2074686520756e6c6f636b6564206163636f756e74207661756c742066697273742c0a2f2f2f20416e64207468656e20616e79206c6f636b656420746f6b656e7320617265206465706f736974656420696e746f20746865206c6f636b6564206163636f756e74207661756c742069662069742069732074686572650a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e7769746864726177556e7374616b6564546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8b0b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227da07b2274797065223a224f7074696f6e616c222c2276616c7565223a6e756c6c7db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", - "metadata": "0268879197d961bb104a56e1e7d35660436fe4c52ed78f79d97fa50aa9e96fabf06d50ab1ef3d74203081c38306da74f5ad8fdd489e49fba732f8ba194d0c781c8576974686472617720556e7374616b656420546f6b656e730003014e6f64652049440000537472696e6700030244656c656761746f72204944000155496e743332000301416d6f756e7400025546697836340003", - "hash": "68879197d961bb104a56e1e7d35660436fe4c52ed78f79d97fa50aa9e96fabf0" + "encodedTransactionPayloadHex": "f9041db902c7696d706f72742043727970746f0a0a7472616e73616374696f6e286b65793a20537472696e672c207369676e6174757265416c676f726974686d3a2055496e74382c2068617368416c676f726974686d3a2055496e74382c207765696768743a2055466978363429207b0a0a0970726570617265287369676e65723a2061757468284164644b65792920264163636f756e7429207b0a0909707265207b0a0909097369676e6174757265416c676f726974686d203e3d2031202626207369676e6174757265416c676f726974686d203c3d20333a20224d7573742070726f766964652061207369676e617475726520616c676f7269746d207261772076616c7565207468617420697320312c20322c206f722033220a09090968617368416c676f726974686d203e3d20312026262068617368416c676f726974686d203c3d20363a20224d7573742070726f766964652061206861736820616c676f7269746d207261772076616c75652074686174206973206265747765656e203120616e642036220a090909776569676874203c3d20313030302e303a2022546865206b657920776569676874206d757374206265206265747765656e203020616e642031303030220a09097d0a09096c6574207075626c69634b6579203d205075626c69634b6579280a0909097075626c69634b65793a206b65792e6465636f646548657828292c0a0909097369676e6174757265416c676f726974686d3a205369676e6174757265416c676f726974686d2872617756616c75653a207369676e6174757265416c676f726974686d29210a0909290a0a09097369676e65722e6b6579732e616464287075626c69634b65793a207075626c69634b65792c2068617368416c676f726974686d3a2048617368416c676f726974686d2872617756616c75653a2068617368416c676f726974686d29212c207765696768743a20776569676874290a097d0a7df90110b8aa7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634227d9c7b2276616c7565223a2231222c2274797065223a2255496e7438227d9c7b2276616c7565223a2231222c2274797065223a2255496e7438227da97b2276616c7565223a22313030302e3030303030303030222c2274797065223a22554669783634227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", + "encodedTransactionEnvelopeHex": "f90421f9041db902c7696d706f72742043727970746f0a0a7472616e73616374696f6e286b65793a20537472696e672c207369676e6174757265416c676f726974686d3a2055496e74382c2068617368416c676f726974686d3a2055496e74382c207765696768743a2055466978363429207b0a0a0970726570617265287369676e65723a2061757468284164644b65792920264163636f756e7429207b0a0909707265207b0a0909097369676e6174757265416c676f726974686d203e3d2031202626207369676e6174757265416c676f726974686d203c3d20333a20224d7573742070726f766964652061207369676e617475726520616c676f7269746d207261772076616c7565207468617420697320312c20322c206f722033220a09090968617368416c676f726974686d203e3d20312026262068617368416c676f726974686d203c3d20363a20224d7573742070726f766964652061206861736820616c676f7269746d207261772076616c75652074686174206973206265747765656e203120616e642036220a090909776569676874203c3d20313030302e303a2022546865206b657920776569676874206d757374206265206265747765656e203020616e642031303030220a09097d0a09096c6574207075626c69634b6579203d205075626c69634b6579280a0909097075626c69634b65793a206b65792e6465636f646548657828292c0a0909097369676e6174757265416c676f726974686d3a205369676e6174757265416c676f726974686d2872617756616c75653a207369676e6174757265416c676f726974686d29210a0909290a0a09097369676e65722e6b6579732e616464287075626c69634b65793a207075626c69634b65792c2068617368416c676f726974686d3a2048617368416c676f726974686d2872617756616c75653a2068617368416c676f726974686d29212c207765696768743a20776569676874290a097d0a7df90110b8aa7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634227d9c7b2276616c7565223a2231222c2274797065223a2255496e7438227d9c7b2276616c7565223a2231222c2274797065223a2255496e7438227da97b2276616c7565223a22313030302e3030303030303030222c2274797065223a22554669783634227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", + "metadata": "0221d4e87df171ccbe015efe69dc2ffd24814c5fc0f2e364daf5c80515ce4a8bd921d4e87df171ccbe015efe69dc2ffd24814c5fc0f2e364daf5c80515ce4a8bd9416464204b65790004015075626c6963204b65790000537472696e670003015261772056616c756520666f72205369676e617475726520416c676f726974686d20456e756d000155496e74380003015261772056616c756520666f72204861736820416c676f726974686d20456e756d000255496e74380003014b65792057656967687400035546697836340003", + "hash": "21d4e87df171ccbe015efe69dc2ffd24814c5fc0f2e364daf5c80515ce4a8bd9" }, { - "title": "SCO.11 - Withdraw Unstaked Tokens - 2", + "title": "FA.03 - Remove Key", "valid": true, - "chainID": "Testnet", + "chainID": "Mainnet", "payloadMessage": { - "script": "import FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// Request to withdraw unstaked tokens for the specified node or delegator in the staking collection\n/// The tokens are automatically deposited to the unlocked account vault first,\n/// And then any locked tokens are deposited into the locked account vault if it is there\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n }\n\n execute {\n self.stakingCollectionRef.withdrawUnstakedTokens(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", + "script": "transaction(keyIndex: Int) {\n\tprepare(signer: auth(RevokeKey) &Account) {\n\t\tif let key = signer.keys.get(keyIndex: keyIndex) {\n\t\t\tsigner.keys.revoke(keyIndex: keyIndex)\n\t\t} else {\n\t\t\tpanic(\"No key with the given index exists on the authorizer's account\")\n\t\t}\n\t}\n}", "arguments": [ { - "type": "String", - "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" - }, - { - "type": "Optional", - "value": { - "type": "UInt32", - "value": "42" - } - }, - { - "type": "UFix64", - "value": "92233720368.54775808" + "type": "Int", + "value": "1" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", "gasLimit": 42, "proposalKey": { - "address": "99a8ac2c71d4f6bd", + "address": "f19c161bc24cf4b4", "keyId": 4, "sequenceNum": 10 }, - "payer": "99a8ac2c71d4f6bd", + "payer": "f19c161bc24cf4b4", "authorizers": [ - "99a8ac2c71d4f6bd" + "f19c161bc24cf4b4" ] }, "envelopeMessage": { - "script": "import FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// Request to withdraw unstaked tokens for the specified node or delegator in the staking collection\n/// The tokens are automatically deposited to the unlocked account vault first,\n/// And then any locked tokens are deposited into the locked account vault if it is there\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n }\n\n execute {\n self.stakingCollectionRef.withdrawUnstakedTokens(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", + "script": "transaction(keyIndex: Int) {\n\tprepare(signer: auth(RevokeKey) &Account) {\n\t\tif let key = signer.keys.get(keyIndex: keyIndex) {\n\t\t\tsigner.keys.revoke(keyIndex: keyIndex)\n\t\t} else {\n\t\t\tpanic(\"No key with the given index exists on the authorizer's account\")\n\t\t}\n\t}\n}", "arguments": [ { - "type": "String", - "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" - }, - { - "type": "Optional", - "value": { - "type": "UInt32", - "value": "42" - } - }, - { - "type": "UFix64", - "value": "92233720368.54775808" + "type": "Int", + "value": "1" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", "gasLimit": 42, "proposalKey": { - "address": "99a8ac2c71d4f6bd", + "address": "f19c161bc24cf4b4", "keyId": 4, "sequenceNum": 10 }, - "payer": "99a8ac2c71d4f6bd", + "payer": "f19c161bc24cf4b4", "authorizers": [ - "99a8ac2c71d4f6bd" + "f19c161bc24cf4b4" ], "payloadSigs": [] }, - "encodedTransactionPayloadHex": "f90475b90365696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f205265717565737420746f20776974686472617720756e7374616b656420746f6b656e7320666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f2054686520746f6b656e7320617265206175746f6d61746963616c6c79206465706f736974656420746f2074686520756e6c6f636b6564206163636f756e74207661756c742066697273742c0a2f2f2f20416e64207468656e20616e79206c6f636b656420746f6b656e7320617265206465706f736974656420696e746f20746865206c6f636b6564206163636f756e74207661756c742069662069742069732074686572650a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e7769746864726177556e7374616b6564546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8cbb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db83a7b2274797065223a224f7074696f6e616c222c2276616c7565223a7b2274797065223a2255496e743332222c2276616c7565223a223432227d7db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", - "encodedTransactionEnvelopeHex": "f90479f90475b90365696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f205265717565737420746f20776974686472617720756e7374616b656420746f6b656e7320666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f2054686520746f6b656e7320617265206175746f6d61746963616c6c79206465706f736974656420746f2074686520756e6c6f636b6564206163636f756e74207661756c742066697273742c0a2f2f2f20416e64207468656e20616e79206c6f636b656420746f6b656e7320617265206465706f736974656420696e746f20746865206c6f636b6564206163636f756e74207661756c742069662069742069732074686572650a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e7769746864726177556e7374616b6564546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8cbb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db83a7b2274797065223a224f7074696f6e616c222c2276616c7565223a7b2274797065223a2255496e743332222c2276616c7565223a223432227d7db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", - "metadata": "0268879197d961bb104a56e1e7d35660436fe4c52ed78f79d97fa50aa9e96fabf06d50ab1ef3d74203081c38306da74f5ad8fdd489e49fba732f8ba194d0c781c8576974686472617720556e7374616b656420546f6b656e730003014e6f64652049440000537472696e6700030244656c656761746f72204944000155496e743332000301416d6f756e7400025546697836340003", - "hash": "68879197d961bb104a56e1e7d35660436fe4c52ed78f79d97fa50aa9e96fabf0" + "encodedTransactionPayloadHex": "f90166b901077472616e73616374696f6e286b6579496e6465783a20496e7429207b0a0970726570617265287369676e65723a2061757468285265766f6b654b65792920264163636f756e7429207b0a09096966206c6574206b6579203d207369676e65722e6b6579732e676574286b6579496e6465783a206b6579496e64657829207b0a0909097369676e65722e6b6579732e7265766f6b65286b6579496e6465783a206b6579496e646578290a09097d20656c7365207b0a09090970616e696328224e6f206b657920776974682074686520676976656e20696e64657820657869737473206f6e2074686520617574686f72697a65722773206163636f756e7422290a09097d0a097d0a7ddb9a7b2274797065223a22496e74222c2276616c7565223a2231227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", + "encodedTransactionEnvelopeHex": "f9016af90166b901077472616e73616374696f6e286b6579496e6465783a20496e7429207b0a0970726570617265287369676e65723a2061757468285265766f6b654b65792920264163636f756e7429207b0a09096966206c6574206b6579203d207369676e65722e6b6579732e676574286b6579496e6465783a206b6579496e64657829207b0a0909097369676e65722e6b6579732e7265766f6b65286b6579496e6465783a206b6579496e646578290a09097d20656c7365207b0a09090970616e696328224e6f206b657920776974682074686520676976656e20696e64657820657869737473206f6e2074686520617574686f72697a65722773206163636f756e7422290a09097d0a097d0a7ddb9a7b2274797065223a22496e74222c2276616c7565223a2231227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", + "metadata": "026c7ab72837fdce77a910f6fc0c622c6c4d5b17f6fbf7295f345d50d3508dd5156c7ab72837fdce77a910f6fc0c622c6c4d5b17f6fbf7295f345d50d3508dd51552656d6f7665204b65790001014b657920496e6465780000496e740003", + "hash": "6c7ab72837fdce77a910f6fc0c622c6c4d5b17f6fbf7295f345d50d3508dd515" }, { - "title": "SCO.12 - Close Stake - 1", + "title": "FT.01 - Setup Fungible Token Vault", "valid": true, - "chainID": "Testnet", + "chainID": "Mainnet", "payloadMessage": { - "script": "import FlowStakingCollection from 0x95e019a17d0e23d7\n\n// Closes out a staking object in the staking collection\n// This does not remove the record from the identity table,\n// but it does mean that the account that closes it cannot ever access it again\n\ntransaction(nodeID: String, delegatorID: UInt32?) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n }\n\n execute {\n self.stakingCollectionRef.closeStake(nodeID: nodeID, delegatorID: delegatorID)\n }\n}\n", - "arguments": [ - { - "type": "String", - "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" - }, - { - "type": "Optional", - "value": { - "type": "UInt32", - "value": "42" - } - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "99a8ac2c71d4f6bd", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "99a8ac2c71d4f6bd", - "authorizers": [ - "99a8ac2c71d4f6bd" - ] - }, - "envelopeMessage": { - "script": "import FlowStakingCollection from 0x95e019a17d0e23d7\n\n// Closes out a staking object in the staking collection\n// This does not remove the record from the identity table,\n// but it does mean that the account that closes it cannot ever access it again\n\ntransaction(nodeID: String, delegatorID: UInt32?) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n }\n\n execute {\n self.stakingCollectionRef.closeStake(nodeID: nodeID, delegatorID: delegatorID)\n }\n}\n", + "script": "import FungibleToken from 0xf233dcee88fe0abe\nimport FungibleTokenMetadataViews from 0xf233dcee88fe0abe\n\n/// This transaction is what an account would run\n/// to set itself up to manage fungible tokens. This function\n/// uses views to know where to set up the vault\n/// in storage and to create the empty vault.\n\ntransaction(contractAddress: Address, contractName: String) {\n\n prepare(signer: auth(SaveValue, Capabilities) &Account) {\n // Borrow a reference to the vault stored on the passed account at the passed publicPath\n let resolverRef = getAccount(contractAddress)\n .contracts.borrow<&{FungibleToken}>(name: contractName)\n ?? panic(\"Could not borrow a reference to the fungible token contract\")\n\n // Use that reference to retrieve the FTView \n let ftVaultData = resolverRef.resolveContractView(resourceType: nil, viewType: Type()) as! FungibleTokenMetadataViews.FTVaultData?\n ?? panic(\"Could not resolve the FTVaultData view for the given Fungible token contract\")\n\n // Create a new empty vault using the createEmptyVault function inside the FTVaultData\n let emptyVault <-ftVaultData.createEmptyVault()\n\n // Save it to the account\n signer.storage.save(<-emptyVault, to: ftVaultData.storagePath)\n \n // Create a public capability for the vault which includes the .Resolver interface\n let vaultCap = signer.capabilities.storage.issue<&{FungibleToken.Vault}>(ftVaultData.storagePath)\n signer.capabilities.publish(vaultCap, at: ftVaultData.metadataPath)\n\n // Create a public capability for the vault exposing the receiver interface\n let receiverCap = signer.capabilities.storage.issue<&{FungibleToken.Receiver}>(ftVaultData.storagePath)\n signer.capabilities.publish(receiverCap, at: ftVaultData.receiverPath)\n\n }\n}\n ", "arguments": [ - { - "type": "String", - "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" - }, - { - "type": "Optional", - "value": { - "type": "UInt32", - "value": "42" - } - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "99a8ac2c71d4f6bd", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "99a8ac2c71d4f6bd", - "authorizers": [ - "99a8ac2c71d4f6bd" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f903cdb902ee696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f20436c6f736573206f75742061207374616b696e67206f626a65637420696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f205468697320646f6573206e6f742072656d6f766520746865207265636f72642066726f6d20746865206964656e74697479207461626c652c0a2f2f2062757420697420646f6573206d65616e207468617420746865206163636f756e74207468617420636c6f7365732069742063616e6e6f7420657665722061636365737320697420616761696e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f29207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e636c6f73655374616b65286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f724944290a202020207d0a7d0af89ab85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db83a7b2274797065223a224f7074696f6e616c222c2276616c7565223a7b2274797065223a2255496e743332222c2276616c7565223a223432227d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", - "encodedTransactionEnvelopeHex": "f903d1f903cdb902ee696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f20436c6f736573206f75742061207374616b696e67206f626a65637420696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f205468697320646f6573206e6f742072656d6f766520746865207265636f72642066726f6d20746865206964656e74697479207461626c652c0a2f2f2062757420697420646f6573206d65616e207468617420746865206163636f756e74207468617420636c6f7365732069742063616e6e6f7420657665722061636365737320697420616761696e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f29207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e636c6f73655374616b65286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f724944290a202020207d0a7d0af89ab85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db83a7b2274797065223a224f7074696f6e616c222c2276616c7565223a7b2274797065223a2255496e743332222c2276616c7565223a223432227d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", - "metadata": "02079aaa9cfb22138415056b43d5d91e8d73bd8bd5f37ebff4f4023d33ea6d2f25ecdffc1ae67479bc20c06eba6c776ff37b9523660ff1cd3129a3924d92484884436c6f7365205374616b650002014e6f64652049440000537472696e6700030244656c656761746f72204944000155496e7433320003", - "hash": "079aaa9cfb22138415056b43d5d91e8d73bd8bd5f37ebff4f4023d33ea6d2f25" - }, - { - "title": "SCO.12 - Close Stake - 2", - "valid": true, - "chainID": "Testnet", - "payloadMessage": { - "script": "import FlowStakingCollection from 0x95e019a17d0e23d7\n\n// Closes out a staking object in the staking collection\n// This does not remove the record from the identity table,\n// but it does mean that the account that closes it cannot ever access it again\n\ntransaction(nodeID: String, delegatorID: UInt32?) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n }\n\n execute {\n self.stakingCollectionRef.closeStake(nodeID: nodeID, delegatorID: delegatorID)\n }\n}\n", - "arguments": [ - { - "type": "String", - "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" - }, - { - "type": "Optional", - "value": null - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "99a8ac2c71d4f6bd", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "99a8ac2c71d4f6bd", - "authorizers": [ - "99a8ac2c71d4f6bd" - ] - }, - "envelopeMessage": { - "script": "import FlowStakingCollection from 0x95e019a17d0e23d7\n\n// Closes out a staking object in the staking collection\n// This does not remove the record from the identity table,\n// but it does mean that the account that closes it cannot ever access it again\n\ntransaction(nodeID: String, delegatorID: UInt32?) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n }\n\n execute {\n self.stakingCollectionRef.closeStake(nodeID: nodeID, delegatorID: delegatorID)\n }\n}\n", - "arguments": [ - { - "type": "String", - "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" - }, - { - "type": "Optional", - "value": null - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "99a8ac2c71d4f6bd", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "99a8ac2c71d4f6bd", - "authorizers": [ - "99a8ac2c71d4f6bd" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f903b2b902ee696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f20436c6f736573206f75742061207374616b696e67206f626a65637420696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f205468697320646f6573206e6f742072656d6f766520746865207265636f72642066726f6d20746865206964656e74697479207461626c652c0a2f2f2062757420697420646f6573206d65616e207468617420746865206163636f756e74207468617420636c6f7365732069742063616e6e6f7420657665722061636365737320697420616761696e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f29207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e636c6f73655374616b65286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f724944290a202020207d0a7d0af87fb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227da07b2274797065223a224f7074696f6e616c222c2276616c7565223a6e756c6c7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", - "encodedTransactionEnvelopeHex": "f903b6f903b2b902ee696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f20436c6f736573206f75742061207374616b696e67206f626a65637420696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f205468697320646f6573206e6f742072656d6f766520746865207265636f72642066726f6d20746865206964656e74697479207461626c652c0a2f2f2062757420697420646f6573206d65616e207468617420746865206163636f756e74207468617420636c6f7365732069742063616e6e6f7420657665722061636365737320697420616761696e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f29207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e636c6f73655374616b65286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f724944290a202020207d0a7d0af87fb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227da07b2274797065223a224f7074696f6e616c222c2276616c7565223a6e756c6c7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", - "metadata": "02079aaa9cfb22138415056b43d5d91e8d73bd8bd5f37ebff4f4023d33ea6d2f25ecdffc1ae67479bc20c06eba6c776ff37b9523660ff1cd3129a3924d92484884436c6f7365205374616b650002014e6f64652049440000537472696e6700030244656c656761746f72204944000155496e7433320003", - "hash": "079aaa9cfb22138415056b43d5d91e8d73bd8bd5f37ebff4f4023d33ea6d2f25" - }, - { - "title": "SCO.13 - Transfer Node", - "valid": true, - "chainID": "Testnet", - "payloadMessage": { - "script": "import FlowStakingCollection from 0x95e019a17d0e23d7\n\n// Transfers a NodeStaker object from an authorizers accoount\n// and adds the NodeStaker to another accounts Staking Collection\n// identified by the to Address.\n\ntransaction(nodeID: String, to: Address) {\n let fromStakingCollectionRef: &FlowStakingCollection.StakingCollection\n let toStakingCollectionCap: &FlowStakingCollection.StakingCollection{FlowStakingCollection.StakingCollectionPublic}\n\n prepare(account: AuthAccount) {\n // The account to transfer the NodeStaker object to must have a valid Staking Collection in order to receive the NodeStaker.\n if (!FlowStakingCollection.doesAccountHaveStakingCollection(address: to)) {\n panic(\"Destination account must have a Staking Collection set up.\")\n }\n\n // Get a reference to the authorizers StakingCollection\n self.fromStakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n\n // Get the PublicAccount of the account to transfer the NodeStaker to. \n let toAccount = getAccount(to)\n\n // Borrow a capability to the public methods available on the receivers StakingCollection.\n self.toStakingCollectionCap = toAccount.getCapability<&FlowStakingCollection.StakingCollection{FlowStakingCollection.StakingCollectionPublic}>(FlowStakingCollection.StakingCollectionPublicPath).borrow()\n ?? panic(\"Could not borrow ref to StakingCollection\")\n\n let machineAccountInfo = self.fromStakingCollectionRef.getMachineAccounts()[nodeID]\n ?? panic(\"Could not get machine account info for the specified node ID\")\n\n // Remove the NodeStaker from the authorizers StakingCollection.\n let nodeStaker <- self.fromStakingCollectionRef.removeNode(nodeID: nodeID)\n\n // Deposit the NodeStaker to the receivers StakingCollection.\n self.toStakingCollectionCap.addNodeObject(<- nodeStaker!, machineAccountInfo: machineAccountInfo)\n }\n}", - "arguments": [ - { - "type": "String", - "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" - }, - { - "type": "Address", - "value": "0x8c5303eaa26202d6" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "99a8ac2c71d4f6bd", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "99a8ac2c71d4f6bd", - "authorizers": [ - "99a8ac2c71d4f6bd" - ] - }, - "envelopeMessage": { - "script": "import FlowStakingCollection from 0x95e019a17d0e23d7\n\n// Transfers a NodeStaker object from an authorizers accoount\n// and adds the NodeStaker to another accounts Staking Collection\n// identified by the to Address.\n\ntransaction(nodeID: String, to: Address) {\n let fromStakingCollectionRef: &FlowStakingCollection.StakingCollection\n let toStakingCollectionCap: &FlowStakingCollection.StakingCollection{FlowStakingCollection.StakingCollectionPublic}\n\n prepare(account: AuthAccount) {\n // The account to transfer the NodeStaker object to must have a valid Staking Collection in order to receive the NodeStaker.\n if (!FlowStakingCollection.doesAccountHaveStakingCollection(address: to)) {\n panic(\"Destination account must have a Staking Collection set up.\")\n }\n\n // Get a reference to the authorizers StakingCollection\n self.fromStakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n\n // Get the PublicAccount of the account to transfer the NodeStaker to. \n let toAccount = getAccount(to)\n\n // Borrow a capability to the public methods available on the receivers StakingCollection.\n self.toStakingCollectionCap = toAccount.getCapability<&FlowStakingCollection.StakingCollection{FlowStakingCollection.StakingCollectionPublic}>(FlowStakingCollection.StakingCollectionPublicPath).borrow()\n ?? panic(\"Could not borrow ref to StakingCollection\")\n\n let machineAccountInfo = self.fromStakingCollectionRef.getMachineAccounts()[nodeID]\n ?? panic(\"Could not get machine account info for the specified node ID\")\n\n // Remove the NodeStaker from the authorizers StakingCollection.\n let nodeStaker <- self.fromStakingCollectionRef.removeNode(nodeID: nodeID)\n\n // Deposit the NodeStaker to the receivers StakingCollection.\n self.toStakingCollectionCap.addNodeObject(<- nodeStaker!, machineAccountInfo: machineAccountInfo)\n }\n}", - "arguments": [ - { - "type": "String", - "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" - }, - { - "type": "Address", - "value": "0x8c5303eaa26202d6" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "99a8ac2c71d4f6bd", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "99a8ac2c71d4f6bd", - "authorizers": [ - "99a8ac2c71d4f6bd" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f90907b90834696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f205472616e73666572732061204e6f64655374616b6572206f626a6563742066726f6d20616e20617574686f72697a657273206163636f6f756e740a2f2f20616e64206164647320746865204e6f64655374616b657220746f20616e6f74686572206163636f756e7473205374616b696e6720436f6c6c656374696f6e0a2f2f206964656e7469666965642062792074686520746f20416464726573732e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c20746f3a204164647265737329207b0a202020206c65742066726f6d5374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a202020206c657420746f5374616b696e67436f6c6c656374696f6e4361703a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e7b466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e5075626c69637d0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a20202020202020202f2f20546865206163636f756e7420746f207472616e7366657220746865204e6f64655374616b6572206f626a65637420746f206d757374206861766520612076616c6964205374616b696e6720436f6c6c656374696f6e20696e206f7264657220746f207265636569766520746865204e6f64655374616b65722e0a20202020202020206966202821466c6f775374616b696e67436f6c6c656374696f6e2e646f65734163636f756e74486176655374616b696e67436f6c6c656374696f6e28616464726573733a20746f2929207b0a20202020202020202020202070616e6963282244657374696e6174696f6e206163636f756e74206d75737420686176652061205374616b696e6720436f6c6c656374696f6e207365742075702e22290a20202020202020207d0a0a20202020202020202f2f204765742061207265666572656e636520746f2074686520617574686f72697a657273205374616b696e67436f6c6c656374696f6e0a202020202020202073656c662e66726f6d5374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a0a20202020202020202f2f2047657420746865205075626c69634163636f756e74206f6620746865206163636f756e7420746f207472616e7366657220746865204e6f64655374616b657220746f2e200a20202020202020206c657420746f4163636f756e74203d206765744163636f756e7428746f290a0a20202020202020202f2f20426f72726f772061206361706162696c69747920746f20746865207075626c6963206d6574686f647320617661696c61626c65206f6e2074686520726563656976657273205374616b696e67436f6c6c656374696f6e2e0a202020202020202073656c662e746f5374616b696e67436f6c6c656374696f6e436170203d20746f4163636f756e742e6765744361706162696c6974793c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e7b466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e5075626c69637d3e28466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e5075626c696350617468292e626f72726f7728290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a0a20202020202020206c6574206d616368696e654163636f756e74496e666f203d2073656c662e66726f6d5374616b696e67436f6c6c656374696f6e5265662e6765744d616368696e654163636f756e747328295b6e6f646549445d0a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420676574206d616368696e65206163636f756e7420696e666f20666f722074686520737065636966696564206e6f646520494422290a0a20202020202020202f2f2052656d6f766520746865204e6f64655374616b65722066726f6d2074686520617574686f72697a657273205374616b696e67436f6c6c656374696f6e2e0a20202020202020206c6574206e6f64655374616b6572203c2d2073656c662e66726f6d5374616b696e67436f6c6c656374696f6e5265662e72656d6f76654e6f6465286e6f646549443a206e6f64654944290a0a20202020202020202f2f204465706f73697420746865204e6f64655374616b657220746f2074686520726563656976657273205374616b696e67436f6c6c656374696f6e2e0a202020202020202073656c662e746f5374616b696e67436f6c6c656374696f6e4361702e6164644e6f64654f626a656374283c2d206e6f64655374616b6572212c206d616368696e654163636f756e74496e666f3a206d616368696e654163636f756e74496e666f290a202020207d0a7df88eb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227daf7b2274797065223a2241646472657373222c2276616c7565223a22307838633533303365616132363230326436227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", - "encodedTransactionEnvelopeHex": "f9090bf90907b90834696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f205472616e73666572732061204e6f64655374616b6572206f626a6563742066726f6d20616e20617574686f72697a657273206163636f6f756e740a2f2f20616e64206164647320746865204e6f64655374616b657220746f20616e6f74686572206163636f756e7473205374616b696e6720436f6c6c656374696f6e0a2f2f206964656e7469666965642062792074686520746f20416464726573732e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c20746f3a204164647265737329207b0a202020206c65742066726f6d5374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a202020206c657420746f5374616b696e67436f6c6c656374696f6e4361703a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e7b466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e5075626c69637d0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a20202020202020202f2f20546865206163636f756e7420746f207472616e7366657220746865204e6f64655374616b6572206f626a65637420746f206d757374206861766520612076616c6964205374616b696e6720436f6c6c656374696f6e20696e206f7264657220746f207265636569766520746865204e6f64655374616b65722e0a20202020202020206966202821466c6f775374616b696e67436f6c6c656374696f6e2e646f65734163636f756e74486176655374616b696e67436f6c6c656374696f6e28616464726573733a20746f2929207b0a20202020202020202020202070616e6963282244657374696e6174696f6e206163636f756e74206d75737420686176652061205374616b696e6720436f6c6c656374696f6e207365742075702e22290a20202020202020207d0a0a20202020202020202f2f204765742061207265666572656e636520746f2074686520617574686f72697a657273205374616b696e67436f6c6c656374696f6e0a202020202020202073656c662e66726f6d5374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a0a20202020202020202f2f2047657420746865205075626c69634163636f756e74206f6620746865206163636f756e7420746f207472616e7366657220746865204e6f64655374616b657220746f2e200a20202020202020206c657420746f4163636f756e74203d206765744163636f756e7428746f290a0a20202020202020202f2f20426f72726f772061206361706162696c69747920746f20746865207075626c6963206d6574686f647320617661696c61626c65206f6e2074686520726563656976657273205374616b696e67436f6c6c656374696f6e2e0a202020202020202073656c662e746f5374616b696e67436f6c6c656374696f6e436170203d20746f4163636f756e742e6765744361706162696c6974793c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e7b466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e5075626c69637d3e28466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e5075626c696350617468292e626f72726f7728290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a0a20202020202020206c6574206d616368696e654163636f756e74496e666f203d2073656c662e66726f6d5374616b696e67436f6c6c656374696f6e5265662e6765744d616368696e654163636f756e747328295b6e6f646549445d0a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420676574206d616368696e65206163636f756e7420696e666f20666f722074686520737065636966696564206e6f646520494422290a0a20202020202020202f2f2052656d6f766520746865204e6f64655374616b65722066726f6d2074686520617574686f72697a657273205374616b696e67436f6c6c656374696f6e2e0a20202020202020206c6574206e6f64655374616b6572203c2d2073656c662e66726f6d5374616b696e67436f6c6c656374696f6e5265662e72656d6f76654e6f6465286e6f646549443a206e6f64654944290a0a20202020202020202f2f204465706f73697420746865204e6f64655374616b657220746f2074686520726563656976657273205374616b696e67436f6c6c656374696f6e2e0a202020202020202073656c662e746f5374616b696e67436f6c6c656374696f6e4361702e6164644e6f64654f626a656374283c2d206e6f64655374616b6572212c206d616368696e654163636f756e74496e666f3a206d616368696e654163636f756e74496e666f290a202020207d0a7df88eb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227daf7b2274797065223a2241646472657373222c2276616c7565223a22307838633533303365616132363230326436227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", - "metadata": "022386d7ae1a5b936e3914729ee34e01d53a8fbd2e403512ec1beccb4062c231ebcdc3a63d0c75ea95b414becb6fbb8f5a8004236d48661cd3c3d4f540ee4d422e5472616e73666572204e6f64650002014e6f64652049440000537472696e67000301416464726573730001416464726573730003", - "hash": "2386d7ae1a5b936e3914729ee34e01d53a8fbd2e403512ec1beccb4062c231eb" - }, - { - "title": "SCO.14 - Transfer Delegator", - "valid": true, - "chainID": "Testnet", - "payloadMessage": { - "script": "import FlowStakingCollection from 0x95e019a17d0e23d7\n\n// Transfers a NodeDelegator object from an authorizers accoount\n// and adds the NodeDelegator to another accounts Staking Collection\n// identified by the to Address.\n\ntransaction(nodeID: String, delegatorID: UInt32, to: Address) {\n let fromStakingCollectionRef: &FlowStakingCollection.StakingCollection\n let toStakingCollectionCap: &FlowStakingCollection.StakingCollection{FlowStakingCollection.StakingCollectionPublic}\n\n prepare(account: AuthAccount) {\n // The account to transfer the NodeDelegator object to must have a valid Staking Collection in order to receive the NodeDelegator.\n if (!FlowStakingCollection.doesAccountHaveStakingCollection(address: to)) {\n panic(\"Destination account must have a Staking Collection set up.\")\n }\n\n // Get a reference to the authorizers StakingCollection\n self.fromStakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n\n // Get the PublicAccount of the account to transfer the NodeDelegator to. \n let toAccount = getAccount(to)\n\n // Borrow a capability to the public methods available on the receivers StakingCollection.\n self.toStakingCollectionCap = toAccount.getCapability<&FlowStakingCollection.StakingCollection{FlowStakingCollection.StakingCollectionPublic}>(FlowStakingCollection.StakingCollectionPublicPath).borrow()\n ?? panic(\"Could not borrow ref to StakingCollection\")\n }\n\n execute {\n // Remove the NodeDelegator from the authorizers StakingCollection.\n let nodeDelegator <- self.fromStakingCollectionRef.removeDelegator(nodeID: nodeID, delegatorID: delegatorID)\n\n // Deposit the NodeDelegator to the receivers StakingCollection.\n self.toStakingCollectionCap.addDelegatorObject(<- nodeDelegator!)\n }\n}", - "arguments": [ - { - "type": "String", - "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" - }, - { - "type": "UInt32", - "value": "42" - }, - { - "type": "Address", - "value": "0x8c5303eaa26202d6" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "99a8ac2c71d4f6bd", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "99a8ac2c71d4f6bd", - "authorizers": [ - "99a8ac2c71d4f6bd" - ] - }, - "envelopeMessage": { - "script": "import FlowStakingCollection from 0x95e019a17d0e23d7\n\n// Transfers a NodeDelegator object from an authorizers accoount\n// and adds the NodeDelegator to another accounts Staking Collection\n// identified by the to Address.\n\ntransaction(nodeID: String, delegatorID: UInt32, to: Address) {\n let fromStakingCollectionRef: &FlowStakingCollection.StakingCollection\n let toStakingCollectionCap: &FlowStakingCollection.StakingCollection{FlowStakingCollection.StakingCollectionPublic}\n\n prepare(account: AuthAccount) {\n // The account to transfer the NodeDelegator object to must have a valid Staking Collection in order to receive the NodeDelegator.\n if (!FlowStakingCollection.doesAccountHaveStakingCollection(address: to)) {\n panic(\"Destination account must have a Staking Collection set up.\")\n }\n\n // Get a reference to the authorizers StakingCollection\n self.fromStakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n\n // Get the PublicAccount of the account to transfer the NodeDelegator to. \n let toAccount = getAccount(to)\n\n // Borrow a capability to the public methods available on the receivers StakingCollection.\n self.toStakingCollectionCap = toAccount.getCapability<&FlowStakingCollection.StakingCollection{FlowStakingCollection.StakingCollectionPublic}>(FlowStakingCollection.StakingCollectionPublicPath).borrow()\n ?? panic(\"Could not borrow ref to StakingCollection\")\n }\n\n execute {\n // Remove the NodeDelegator from the authorizers StakingCollection.\n let nodeDelegator <- self.fromStakingCollectionRef.removeDelegator(nodeID: nodeID, delegatorID: delegatorID)\n\n // Deposit the NodeDelegator to the receivers StakingCollection.\n self.toStakingCollectionCap.addDelegatorObject(<- nodeDelegator!)\n }\n}", - "arguments": [ - { - "type": "String", - "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" - }, - { - "type": "UInt32", - "value": "42" - }, { "type": "Address", - "value": "0x8c5303eaa26202d6" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "99a8ac2c71d4f6bd", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "99a8ac2c71d4f6bd", - "authorizers": [ - "99a8ac2c71d4f6bd" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f908b4b907c2696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f205472616e73666572732061204e6f646544656c656761746f72206f626a6563742066726f6d20616e20617574686f72697a657273206163636f6f756e740a2f2f20616e64206164647320746865204e6f646544656c656761746f7220746f20616e6f74686572206163636f756e7473205374616b696e6720436f6c6c656374696f6e0a2f2f206964656e7469666965642062792074686520746f20416464726573732e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433322c20746f3a204164647265737329207b0a202020206c65742066726f6d5374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a202020206c657420746f5374616b696e67436f6c6c656374696f6e4361703a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e7b466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e5075626c69637d0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a20202020202020202f2f20546865206163636f756e7420746f207472616e7366657220746865204e6f646544656c656761746f72206f626a65637420746f206d757374206861766520612076616c6964205374616b696e6720436f6c6c656374696f6e20696e206f7264657220746f207265636569766520746865204e6f646544656c656761746f722e0a20202020202020206966202821466c6f775374616b696e67436f6c6c656374696f6e2e646f65734163636f756e74486176655374616b696e67436f6c6c656374696f6e28616464726573733a20746f2929207b0a20202020202020202020202070616e6963282244657374696e6174696f6e206163636f756e74206d75737420686176652061205374616b696e6720436f6c6c656374696f6e207365742075702e22290a20202020202020207d0a0a20202020202020202f2f204765742061207265666572656e636520746f2074686520617574686f72697a657273205374616b696e67436f6c6c656374696f6e0a202020202020202073656c662e66726f6d5374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a0a20202020202020202f2f2047657420746865205075626c69634163636f756e74206f6620746865206163636f756e7420746f207472616e7366657220746865204e6f646544656c656761746f7220746f2e200a20202020202020206c657420746f4163636f756e74203d206765744163636f756e7428746f290a0a20202020202020202f2f20426f72726f772061206361706162696c69747920746f20746865207075626c6963206d6574686f647320617661696c61626c65206f6e2074686520726563656976657273205374616b696e67436f6c6c656374696f6e2e0a202020202020202073656c662e746f5374616b696e67436f6c6c656374696f6e436170203d20746f4163636f756e742e6765744361706162696c6974793c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e7b466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e5075626c69637d3e28466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e5075626c696350617468292e626f72726f7728290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a20202020202020202f2f2052656d6f766520746865204e6f646544656c656761746f722066726f6d2074686520617574686f72697a657273205374616b696e67436f6c6c656374696f6e2e0a20202020202020206c6574206e6f646544656c656761746f72203c2d2073656c662e66726f6d5374616b696e67436f6c6c656374696f6e5265662e72656d6f766544656c656761746f72286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f724944290a0a20202020202020202f2f204465706f73697420746865204e6f646544656c656761746f7220746f2074686520726563656976657273205374616b696e67436f6c6c656374696f6e2e0a202020202020202073656c662e746f5374616b696e67436f6c6c656374696f6e4361702e61646444656c656761746f724f626a656374283c2d206e6f646544656c656761746f7221290a202020207d0a7df8adb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227d9e7b2274797065223a2255496e743332222c2276616c7565223a223432227daf7b2274797065223a2241646472657373222c2276616c7565223a22307838633533303365616132363230326436227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", - "encodedTransactionEnvelopeHex": "f908b8f908b4b907c2696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f205472616e73666572732061204e6f646544656c656761746f72206f626a6563742066726f6d20616e20617574686f72697a657273206163636f6f756e740a2f2f20616e64206164647320746865204e6f646544656c656761746f7220746f20616e6f74686572206163636f756e7473205374616b696e6720436f6c6c656374696f6e0a2f2f206964656e7469666965642062792074686520746f20416464726573732e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433322c20746f3a204164647265737329207b0a202020206c65742066726f6d5374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a202020206c657420746f5374616b696e67436f6c6c656374696f6e4361703a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e7b466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e5075626c69637d0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a20202020202020202f2f20546865206163636f756e7420746f207472616e7366657220746865204e6f646544656c656761746f72206f626a65637420746f206d757374206861766520612076616c6964205374616b696e6720436f6c6c656374696f6e20696e206f7264657220746f207265636569766520746865204e6f646544656c656761746f722e0a20202020202020206966202821466c6f775374616b696e67436f6c6c656374696f6e2e646f65734163636f756e74486176655374616b696e67436f6c6c656374696f6e28616464726573733a20746f2929207b0a20202020202020202020202070616e6963282244657374696e6174696f6e206163636f756e74206d75737420686176652061205374616b696e6720436f6c6c656374696f6e207365742075702e22290a20202020202020207d0a0a20202020202020202f2f204765742061207265666572656e636520746f2074686520617574686f72697a657273205374616b696e67436f6c6c656374696f6e0a202020202020202073656c662e66726f6d5374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a0a20202020202020202f2f2047657420746865205075626c69634163636f756e74206f6620746865206163636f756e7420746f207472616e7366657220746865204e6f646544656c656761746f7220746f2e200a20202020202020206c657420746f4163636f756e74203d206765744163636f756e7428746f290a0a20202020202020202f2f20426f72726f772061206361706162696c69747920746f20746865207075626c6963206d6574686f647320617661696c61626c65206f6e2074686520726563656976657273205374616b696e67436f6c6c656374696f6e2e0a202020202020202073656c662e746f5374616b696e67436f6c6c656374696f6e436170203d20746f4163636f756e742e6765744361706162696c6974793c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e7b466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e5075626c69637d3e28466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e5075626c696350617468292e626f72726f7728290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a20202020202020202f2f2052656d6f766520746865204e6f646544656c656761746f722066726f6d2074686520617574686f72697a657273205374616b696e67436f6c6c656374696f6e2e0a20202020202020206c6574206e6f646544656c656761746f72203c2d2073656c662e66726f6d5374616b696e67436f6c6c656374696f6e5265662e72656d6f766544656c656761746f72286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f724944290a0a20202020202020202f2f204465706f73697420746865204e6f646544656c656761746f7220746f2074686520726563656976657273205374616b696e67436f6c6c656374696f6e2e0a202020202020202073656c662e746f5374616b696e67436f6c6c656374696f6e4361702e61646444656c656761746f724f626a656374283c2d206e6f646544656c656761746f7221290a202020207d0a7df8adb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227d9e7b2274797065223a2255496e743332222c2276616c7565223a223432227daf7b2274797065223a2241646472657373222c2276616c7565223a22307838633533303365616132363230326436227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", - "metadata": "0253b096b4850a30894e7b272ec5c39e2b2f4a23f8c40e76a3c64cfc63dc2999b6b34d6fafcc5a4d0ed9cf92e168a08d0674c93341e2393ee72dde6664918ec2405472616e736665722044656c656761746f720003014e6f64652049440000537472696e6700030144656c656761746f72204944000155496e743332000301416464726573730002416464726573730003", - "hash": "53b096b4850a30894e7b272ec5c39e2b2f4a23f8c40e76a3c64cfc63dc2999b6" - }, - { - "title": "SCO.15 - Withdraw From Machine Account", - "valid": true, - "chainID": "Testnet", - "payloadMessage": { - "script": "import FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// Request to withdraw tokens from the machine account\n/// The tokens are automatically deposited to the unlocked account vault\n\ntransaction(nodeID: String, amount: UFix64) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n }\n\n execute {\n self.stakingCollectionRef.withdrawFromMachineAccount(nodeID: nodeID, amount: amount)\n }\n}\n", - "arguments": [ - { - "type": "String", - "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" - }, - { - "type": "UFix64", - "value": "92233720368.54775808" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "99a8ac2c71d4f6bd", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "99a8ac2c71d4f6bd", - "authorizers": [ - "99a8ac2c71d4f6bd" - ] - }, - "envelopeMessage": { - "script": "import FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// Request to withdraw tokens from the machine account\n/// The tokens are automatically deposited to the unlocked account vault\n\ntransaction(nodeID: String, amount: UFix64) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n }\n\n execute {\n self.stakingCollectionRef.withdrawFromMachineAccount(nodeID: nodeID, amount: amount)\n }\n}\n", - "arguments": [ - { - "type": "String", - "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" - }, - { - "type": "UFix64", - "value": "92233720368.54775808" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "99a8ac2c71d4f6bd", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "99a8ac2c71d4f6bd", - "authorizers": [ - "99a8ac2c71d4f6bd" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f9037eb902aa696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f205265717565737420746f20776974686472617720746f6b656e732066726f6d20746865206d616368696e65206163636f756e740a2f2f2f2054686520746f6b656e7320617265206175746f6d61746963616c6c79206465706f736974656420746f2074686520756e6c6f636b6564206163636f756e74207661756c740a0a7472616e73616374696f6e286e6f646549443a20537472696e672c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e776974686472617746726f6d4d616368696e654163636f756e74286e6f646549443a206e6f646549442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af88fb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", - "encodedTransactionEnvelopeHex": "f90382f9037eb902aa696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f205265717565737420746f20776974686472617720746f6b656e732066726f6d20746865206d616368696e65206163636f756e740a2f2f2f2054686520746f6b656e7320617265206175746f6d61746963616c6c79206465706f736974656420746f2074686520756e6c6f636b6564206163636f756e74207661756c740a0a7472616e73616374696f6e286e6f646549443a20537472696e672c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e776974686472617746726f6d4d616368696e654163636f756e74286e6f646549443a206e6f646549442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af88fb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", - "metadata": "0239a126038522c6c964d53aaf78dde55bfe80929091510792fe49678bb22cbd96f9c48e18bda7f113e82711a4c95dfd151c6600ed9fbf46ceb22566d6c5728c6f57697468647261772046726f6d204d616368696e65204163636f756e740002014e6f64652049440000537472696e67000301416d6f756e7400015546697836340003", - "hash": "39a126038522c6c964d53aaf78dde55bfe80929091510792fe49678bb22cbd96" - }, - { - "title": "SCO.16 - Update Networking Address", - "valid": true, - "chainID": "Testnet", - "payloadMessage": { - "script": "import FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// Changes the networking address for the specified node\n\ntransaction(nodeID: String, newAddress: String) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n }\n\n execute {\n self.stakingCollectionRef.updateNetworkingAddress(nodeID: nodeID, newAddress: newAddress)\n }\n}\n", - "arguments": [ - { - "type": "String", - "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" - }, - { - "type": "String", - "value": "flow-node.test:3569" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "99a8ac2c71d4f6bd", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "99a8ac2c71d4f6bd", - "authorizers": [ - "99a8ac2c71d4f6bd" - ] - }, - "envelopeMessage": { - "script": "import FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// Changes the networking address for the specified node\n\ntransaction(nodeID: String, newAddress: String) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n }\n\n execute {\n self.stakingCollectionRef.updateNetworkingAddress(nodeID: nodeID, newAddress: newAddress)\n }\n}\n", - "arguments": [ - { - "type": "String", - "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" - }, - { - "type": "String", - "value": "flow-node.test:3569" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "99a8ac2c71d4f6bd", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "99a8ac2c71d4f6bd", - "authorizers": [ - "99a8ac2c71d4f6bd" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f9033fb9026c696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f204368616e67657320746865206e6574776f726b696e67206164647265737320666f722074686520737065636966696564206e6f64650a0a7472616e73616374696f6e286e6f646549443a20537472696e672c206e6577416464726573733a20537472696e6729207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e7570646174654e6574776f726b696e6741646472657373286e6f646549443a206e6f646549442c206e6577416464726573733a206e657741646472657373290a202020207d0a7d0af88eb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227daf7b2274797065223a22537472696e67222c2276616c7565223a22666c6f772d6e6f64652e746573743a33353639227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", - "encodedTransactionEnvelopeHex": "f90343f9033fb9026c696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f204368616e67657320746865206e6574776f726b696e67206164647265737320666f722074686520737065636966696564206e6f64650a0a7472616e73616374696f6e286e6f646549443a20537472696e672c206e6577416464726573733a20537472696e6729207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e7570646174654e6574776f726b696e6741646472657373286e6f646549443a206e6f646549442c206e6577416464726573733a206e657741646472657373290a202020207d0a7d0af88eb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227daf7b2274797065223a22537472696e67222c2276616c7565223a22666c6f772d6e6f64652e746573743a33353639227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", - "metadata": "0260f2cf219d56b19dc7fd223caed42dda9143c87b1b0d2c21a9652e12a3714133ff067b40ac67020ef864cd14842f62023254da34dd2ded56affa1364305bf1c5557064617465204e6574776f726b696e6720416464726573730002014e6f64652049440000537472696e67000301416464726573730001537472696e670003", - "hash": "60f2cf219d56b19dc7fd223caed42dda9143c87b1b0d2c21a9652e12a3714133" - }, - { - "title": "FUSD.01 - Setup FUSD Vault", - "valid": true, - "chainID": "Testnet", - "payloadMessage": { - "script": "// This transaction configures the signer's account with an empty FUSD vault.\n//\n// It also links the following capabilities:\n//\n// - FungibleToken.Receiver: this capability allows this account to accept FUSD deposits.\n// - FungibleToken.Balance: this capability allows anybody to inspect the FUSD balance of this account.\n\nimport FungibleToken from 0x9a0766d93b6608b7\nimport FUSD from 0xe223d8a629e49c68\n\ntransaction {\n\n prepare(signer: AuthAccount) {\n\n // It's OK if the account already has a Vault, but we don't want to replace it\n if(signer.borrow<&FUSD.Vault>(from: /storage/fusdVault) != nil) {\n return\n }\n \n // Create a new FUSD Vault and put it in storage\n signer.save(<-FUSD.createEmptyVault(), to: /storage/fusdVault)\n\n // Create a public capability to the Vault that only exposes\n // the deposit function through the Receiver interface\n signer.link<&FUSD.Vault{FungibleToken.Receiver}>(\n /public/fusdReceiver,\n target: /storage/fusdVault\n )\n\n // Create a public capability to the Vault that only exposes\n // the balance field through the Balance interface\n signer.link<&FUSD.Vault{FungibleToken.Balance}>(\n /public/fusdBalance,\n target: /storage/fusdVault\n )\n }\n}\n", - "arguments": [], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "99a8ac2c71d4f6bd", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "99a8ac2c71d4f6bd", - "authorizers": [ - "99a8ac2c71d4f6bd" - ] - }, - "envelopeMessage": { - "script": "// This transaction configures the signer's account with an empty FUSD vault.\n//\n// It also links the following capabilities:\n//\n// - FungibleToken.Receiver: this capability allows this account to accept FUSD deposits.\n// - FungibleToken.Balance: this capability allows anybody to inspect the FUSD balance of this account.\n\nimport FungibleToken from 0x9a0766d93b6608b7\nimport FUSD from 0xe223d8a629e49c68\n\ntransaction {\n\n prepare(signer: AuthAccount) {\n\n // It's OK if the account already has a Vault, but we don't want to replace it\n if(signer.borrow<&FUSD.Vault>(from: /storage/fusdVault) != nil) {\n return\n }\n \n // Create a new FUSD Vault and put it in storage\n signer.save(<-FUSD.createEmptyVault(), to: /storage/fusdVault)\n\n // Create a public capability to the Vault that only exposes\n // the deposit function through the Receiver interface\n signer.link<&FUSD.Vault{FungibleToken.Receiver}>(\n /public/fusdReceiver,\n target: /storage/fusdVault\n )\n\n // Create a public capability to the Vault that only exposes\n // the balance field through the Balance interface\n signer.link<&FUSD.Vault{FungibleToken.Balance}>(\n /public/fusdBalance,\n target: /storage/fusdVault\n )\n }\n}\n", - "arguments": [], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "99a8ac2c71d4f6bd", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "99a8ac2c71d4f6bd", - "authorizers": [ - "99a8ac2c71d4f6bd" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f9057ab905362f2f2054686973207472616e73616374696f6e20636f6e6669677572657320746865207369676e65722773206163636f756e74207769746820616e20656d7074792046555344207661756c742e0a2f2f0a2f2f20497420616c736f206c696e6b732074686520666f6c6c6f77696e67206361706162696c69746965733a0a2f2f0a2f2f202d2046756e6769626c65546f6b656e2e52656365697665723a2074686973206361706162696c69747920616c6c6f77732074686973206163636f756e7420746f206163636570742046555344206465706f736974732e0a2f2f202d2046756e6769626c65546f6b656e2e42616c616e63653a2074686973206361706162696c69747920616c6c6f777320616e79626f647920746f20696e73706563742074686520465553442062616c616e6365206f662074686973206163636f756e742e0a0a696d706f72742046756e6769626c65546f6b656e2066726f6d203078396130373636643933623636303862370a696d706f727420465553442066726f6d203078653232336438613632396534396336380a0a7472616e73616374696f6e207b0a0a2020202070726570617265287369676e65723a20417574684163636f756e7429207b0a0a20202020202020202f2f2049742773204f4b20696620746865206163636f756e7420616c7265616479206861732061205661756c742c2062757420776520646f6e27742077616e7420746f207265706c6163652069740a20202020202020206966287369676e65722e626f72726f773c26465553442e5661756c743e2866726f6d3a202f73746f726167652f667573645661756c742920213d206e696c29207b0a20202020202020202020202072657475726e0a20202020202020207d0a20202020202020200a20202020202020202f2f204372656174652061206e65772046555344205661756c7420616e642070757420697420696e2073746f726167650a20202020202020207369676e65722e73617665283c2d465553442e637265617465456d7074795661756c7428292c20746f3a202f73746f726167652f667573645661756c74290a0a20202020202020202f2f204372656174652061207075626c6963206361706162696c69747920746f20746865205661756c742074686174206f6e6c79206578706f7365730a20202020202020202f2f20746865206465706f7369742066756e6374696f6e207468726f7567682074686520526563656976657220696e746572666163650a20202020202020207369676e65722e6c696e6b3c26465553442e5661756c747b46756e6769626c65546f6b656e2e52656365697665727d3e280a2020202020202020202020202f7075626c69632f6675736452656365697665722c0a2020202020202020202020207461726765743a202f73746f726167652f667573645661756c740a2020202020202020290a0a20202020202020202f2f204372656174652061207075626c6963206361706162696c69747920746f20746865205661756c742074686174206f6e6c79206578706f7365730a20202020202020202f2f207468652062616c616e6365206669656c64207468726f756768207468652042616c616e636520696e746572666163650a20202020202020207369676e65722e6c696e6b3c26465553442e5661756c747b46756e6769626c65546f6b656e2e42616c616e63657d3e280a2020202020202020202020202f7075626c69632f6675736442616c616e63652c0a2020202020202020202020207461726765743a202f73746f726167652f667573645661756c740a2020202020202020290a202020207d0a7d0ac0a0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", - "encodedTransactionEnvelopeHex": "f9057ef9057ab905362f2f2054686973207472616e73616374696f6e20636f6e6669677572657320746865207369676e65722773206163636f756e74207769746820616e20656d7074792046555344207661756c742e0a2f2f0a2f2f20497420616c736f206c696e6b732074686520666f6c6c6f77696e67206361706162696c69746965733a0a2f2f0a2f2f202d2046756e6769626c65546f6b656e2e52656365697665723a2074686973206361706162696c69747920616c6c6f77732074686973206163636f756e7420746f206163636570742046555344206465706f736974732e0a2f2f202d2046756e6769626c65546f6b656e2e42616c616e63653a2074686973206361706162696c69747920616c6c6f777320616e79626f647920746f20696e73706563742074686520465553442062616c616e6365206f662074686973206163636f756e742e0a0a696d706f72742046756e6769626c65546f6b656e2066726f6d203078396130373636643933623636303862370a696d706f727420465553442066726f6d203078653232336438613632396534396336380a0a7472616e73616374696f6e207b0a0a2020202070726570617265287369676e65723a20417574684163636f756e7429207b0a0a20202020202020202f2f2049742773204f4b20696620746865206163636f756e7420616c7265616479206861732061205661756c742c2062757420776520646f6e27742077616e7420746f207265706c6163652069740a20202020202020206966287369676e65722e626f72726f773c26465553442e5661756c743e2866726f6d3a202f73746f726167652f667573645661756c742920213d206e696c29207b0a20202020202020202020202072657475726e0a20202020202020207d0a20202020202020200a20202020202020202f2f204372656174652061206e65772046555344205661756c7420616e642070757420697420696e2073746f726167650a20202020202020207369676e65722e73617665283c2d465553442e637265617465456d7074795661756c7428292c20746f3a202f73746f726167652f667573645661756c74290a0a20202020202020202f2f204372656174652061207075626c6963206361706162696c69747920746f20746865205661756c742074686174206f6e6c79206578706f7365730a20202020202020202f2f20746865206465706f7369742066756e6374696f6e207468726f7567682074686520526563656976657220696e746572666163650a20202020202020207369676e65722e6c696e6b3c26465553442e5661756c747b46756e6769626c65546f6b656e2e52656365697665727d3e280a2020202020202020202020202f7075626c69632f6675736452656365697665722c0a2020202020202020202020207461726765743a202f73746f726167652f667573645661756c740a2020202020202020290a0a20202020202020202f2f204372656174652061207075626c6963206361706162696c69747920746f20746865205661756c742074686174206f6e6c79206578706f7365730a20202020202020202f2f207468652062616c616e6365206669656c64207468726f756768207468652042616c616e636520696e746572666163650a20202020202020207369676e65722e6c696e6b3c26465553442e5661756c747b46756e6769626c65546f6b656e2e42616c616e63657d3e280a2020202020202020202020202f7075626c69632f6675736442616c616e63652c0a2020202020202020202020207461726765743a202f73746f726167652f667573645661756c740a2020202020202020290a202020207d0a7d0ac0a0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", - "metadata": "020ffaf77ab320ce4cc9602d39b89c85f094ebcea571ed324537e703bc07b0fdc4aa7fecdf159e71bd0b029e40b22643fb443161e67796f42bac68e9bab4630e2953657475702046555344205661756c740000", - "hash": "0ffaf77ab320ce4cc9602d39b89c85f094ebcea571ed324537e703bc07b0fdc4" - }, - { - "title": "FUSD.02 - Transfer FUSD", - "valid": true, - "chainID": "Testnet", - "payloadMessage": { - "script": "// This transaction withdraws FUSD from the signer's account and deposits it into a recipient account. \n// This transaction will fail if the recipient does not have an FUSD receiver. \n// No funds are transferred or lost if the transaction fails.\n//\n// Parameters:\n// - amount: The amount of FUSD to transfer (e.g. 10.0)\n// - to: The recipient account address.\n//\n// This transaction will fail if either the sender or recipient does not have\n// an FUSD vault stored in their account. To check if an account has a vault\n// or initialize a new vault, use check_fusd_vault_setup.cdc and setup_fusd_vault.cdc\n// respectively.\n\nimport FungibleToken from 0x9a0766d93b6608b7\nimport FUSD from 0xe223d8a629e49c68\n\ntransaction(amount: UFix64, to: Address) {\n\n // The Vault resource that holds the tokens that are being transferred\n let sentVault: @FungibleToken.Vault\n\n prepare(signer: AuthAccount) {\n // Get a reference to the signer's stored vault\n let vaultRef = signer.borrow<&FUSD.Vault>(from: /storage/fusdVault)\n ?? panic(\"Could not borrow reference to the owner's Vault!\")\n\n // Withdraw tokens from the signer's stored vault\n self.sentVault <- vaultRef.withdraw(amount: amount)\n }\n\n execute {\n // Get the recipient's public account object\n let recipient = getAccount(to)\n\n // Get a reference to the recipient's Receiver\n let receiverRef = recipient.getCapability(/public/fusdReceiver)!.borrow<&{FungibleToken.Receiver}>()\n ?? panic(\"Could not borrow receiver reference to the recipient's Vault\")\n\n // Deposit the withdrawn tokens in the recipient's receiver\n receiverRef.deposit(from: <-self.sentVault)\n }\n}\n", - "arguments": [ - { - "type": "UFix64", - "value": "92233720368.54775808" - }, - { - "type": "Address", - "value": "0xe467b9dd11fa00df" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "99a8ac2c71d4f6bd", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "99a8ac2c71d4f6bd", - "authorizers": [ - "99a8ac2c71d4f6bd" - ] - }, - "envelopeMessage": { - "script": "// This transaction withdraws FUSD from the signer's account and deposits it into a recipient account. \n// This transaction will fail if the recipient does not have an FUSD receiver. \n// No funds are transferred or lost if the transaction fails.\n//\n// Parameters:\n// - amount: The amount of FUSD to transfer (e.g. 10.0)\n// - to: The recipient account address.\n//\n// This transaction will fail if either the sender or recipient does not have\n// an FUSD vault stored in their account. To check if an account has a vault\n// or initialize a new vault, use check_fusd_vault_setup.cdc and setup_fusd_vault.cdc\n// respectively.\n\nimport FungibleToken from 0x9a0766d93b6608b7\nimport FUSD from 0xe223d8a629e49c68\n\ntransaction(amount: UFix64, to: Address) {\n\n // The Vault resource that holds the tokens that are being transferred\n let sentVault: @FungibleToken.Vault\n\n prepare(signer: AuthAccount) {\n // Get a reference to the signer's stored vault\n let vaultRef = signer.borrow<&FUSD.Vault>(from: /storage/fusdVault)\n ?? panic(\"Could not borrow reference to the owner's Vault!\")\n\n // Withdraw tokens from the signer's stored vault\n self.sentVault <- vaultRef.withdraw(amount: amount)\n }\n\n execute {\n // Get the recipient's public account object\n let recipient = getAccount(to)\n\n // Get a reference to the recipient's Receiver\n let receiverRef = recipient.getCapability(/public/fusdReceiver)!.borrow<&{FungibleToken.Receiver}>()\n ?? panic(\"Could not borrow receiver reference to the recipient's Vault\")\n\n // Deposit the withdrawn tokens in the recipient's receiver\n receiverRef.deposit(from: <-self.sentVault)\n }\n}\n", - "arguments": [ - { - "type": "UFix64", - "value": "92233720368.54775808" - }, - { - "type": "Address", - "value": "0xe467b9dd11fa00df" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "99a8ac2c71d4f6bd", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "99a8ac2c71d4f6bd", - "authorizers": [ - "99a8ac2c71d4f6bd" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f90759b906b32f2f2054686973207472616e73616374696f6e2077697468647261777320465553442066726f6d20746865207369676e65722773206163636f756e7420616e64206465706f7369747320697420696e746f206120726563697069656e74206163636f756e742e200a2f2f2054686973207472616e73616374696f6e2077696c6c206661696c2069662074686520726563697069656e7420646f6573206e6f74206861766520616e20465553442072656365697665722e200a2f2f204e6f2066756e647320617265207472616e73666572726564206f72206c6f737420696620746865207472616e73616374696f6e206661696c732e0a2f2f0a2f2f20506172616d65746572733a0a2f2f202d20616d6f756e743a2054686520616d6f756e74206f66204655534420746f207472616e736665722028652e672e2031302e30290a2f2f202d20746f3a2054686520726563697069656e74206163636f756e7420616464726573732e0a2f2f0a2f2f2054686973207472616e73616374696f6e2077696c6c206661696c20696620656974686572207468652073656e646572206f7220726563697069656e7420646f6573206e6f7420686176650a2f2f20616e2046555344207661756c742073746f72656420696e207468656972206163636f756e742e20546f20636865636b20696620616e206163636f756e74206861732061207661756c740a2f2f206f7220696e697469616c697a652061206e6577207661756c742c2075736520636865636b5f667573645f7661756c745f73657475702e63646320616e642073657475705f667573645f7661756c742e6364630a2f2f20726573706563746976656c792e0a0a696d706f72742046756e6769626c65546f6b656e2066726f6d203078396130373636643933623636303862370a696d706f727420465553442066726f6d203078653232336438613632396534396336380a0a7472616e73616374696f6e28616d6f756e743a205546697836342c20746f3a204164647265737329207b0a0a202020202f2f20546865205661756c74207265736f75726365207468617420686f6c64732074686520746f6b656e73207468617420617265206265696e67207472616e736665727265640a202020206c65742073656e745661756c743a204046756e6769626c65546f6b656e2e5661756c740a0a2020202070726570617265287369676e65723a20417574684163636f756e7429207b0a20202020202020202f2f204765742061207265666572656e636520746f20746865207369676e657227732073746f726564207661756c740a20202020202020206c6574207661756c74526566203d207369676e65722e626f72726f773c26465553442e5661756c743e2866726f6d3a202f73746f726167652f667573645661756c74290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f20746865206f776e65722773205661756c742122290a0a20202020202020202f2f20576974686472617720746f6b656e732066726f6d20746865207369676e657227732073746f726564207661756c740a202020202020202073656c662e73656e745661756c74203c2d207661756c745265662e776974686472617728616d6f756e743a20616d6f756e74290a202020207d0a0a2020202065786563757465207b0a20202020202020202f2f204765742074686520726563697069656e742773207075626c6963206163636f756e74206f626a6563740a20202020202020206c657420726563697069656e74203d206765744163636f756e7428746f290a0a20202020202020202f2f204765742061207265666572656e636520746f2074686520726563697069656e7427732052656365697665720a20202020202020206c6574207265636569766572526566203d20726563697069656e742e6765744361706162696c697479282f7075626c69632f66757364526563656976657229212e626f72726f773c267b46756e6769626c65546f6b656e2e52656365697665727d3e28290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265636569766572207265666572656e636520746f2074686520726563697069656e742773205661756c7422290a0a20202020202020202f2f204465706f736974207468652077697468647261776e20746f6b656e7320696e2074686520726563697069656e7427732072656365697665720a202020202020202072656365697665725265662e6465706f7369742866726f6d3a203c2d73656c662e73656e745661756c74290a202020207d0a7d0af861b07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227daf7b2274797065223a2241646472657373222c2276616c7565223a22307865343637623964643131666130306466227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", - "encodedTransactionEnvelopeHex": "f9075df90759b906b32f2f2054686973207472616e73616374696f6e2077697468647261777320465553442066726f6d20746865207369676e65722773206163636f756e7420616e64206465706f7369747320697420696e746f206120726563697069656e74206163636f756e742e200a2f2f2054686973207472616e73616374696f6e2077696c6c206661696c2069662074686520726563697069656e7420646f6573206e6f74206861766520616e20465553442072656365697665722e200a2f2f204e6f2066756e647320617265207472616e73666572726564206f72206c6f737420696620746865207472616e73616374696f6e206661696c732e0a2f2f0a2f2f20506172616d65746572733a0a2f2f202d20616d6f756e743a2054686520616d6f756e74206f66204655534420746f207472616e736665722028652e672e2031302e30290a2f2f202d20746f3a2054686520726563697069656e74206163636f756e7420616464726573732e0a2f2f0a2f2f2054686973207472616e73616374696f6e2077696c6c206661696c20696620656974686572207468652073656e646572206f7220726563697069656e7420646f6573206e6f7420686176650a2f2f20616e2046555344207661756c742073746f72656420696e207468656972206163636f756e742e20546f20636865636b20696620616e206163636f756e74206861732061207661756c740a2f2f206f7220696e697469616c697a652061206e6577207661756c742c2075736520636865636b5f667573645f7661756c745f73657475702e63646320616e642073657475705f667573645f7661756c742e6364630a2f2f20726573706563746976656c792e0a0a696d706f72742046756e6769626c65546f6b656e2066726f6d203078396130373636643933623636303862370a696d706f727420465553442066726f6d203078653232336438613632396534396336380a0a7472616e73616374696f6e28616d6f756e743a205546697836342c20746f3a204164647265737329207b0a0a202020202f2f20546865205661756c74207265736f75726365207468617420686f6c64732074686520746f6b656e73207468617420617265206265696e67207472616e736665727265640a202020206c65742073656e745661756c743a204046756e6769626c65546f6b656e2e5661756c740a0a2020202070726570617265287369676e65723a20417574684163636f756e7429207b0a20202020202020202f2f204765742061207265666572656e636520746f20746865207369676e657227732073746f726564207661756c740a20202020202020206c6574207661756c74526566203d207369676e65722e626f72726f773c26465553442e5661756c743e2866726f6d3a202f73746f726167652f667573645661756c74290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f20746865206f776e65722773205661756c742122290a0a20202020202020202f2f20576974686472617720746f6b656e732066726f6d20746865207369676e657227732073746f726564207661756c740a202020202020202073656c662e73656e745661756c74203c2d207661756c745265662e776974686472617728616d6f756e743a20616d6f756e74290a202020207d0a0a2020202065786563757465207b0a20202020202020202f2f204765742074686520726563697069656e742773207075626c6963206163636f756e74206f626a6563740a20202020202020206c657420726563697069656e74203d206765744163636f756e7428746f290a0a20202020202020202f2f204765742061207265666572656e636520746f2074686520726563697069656e7427732052656365697665720a20202020202020206c6574207265636569766572526566203d20726563697069656e742e6765744361706162696c697479282f7075626c69632f66757364526563656976657229212e626f72726f773c267b46756e6769626c65546f6b656e2e52656365697665727d3e28290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265636569766572207265666572656e636520746f2074686520726563697069656e742773205661756c7422290a0a20202020202020202f2f204465706f736974207468652077697468647261776e20746f6b656e7320696e2074686520726563697069656e7427732072656365697665720a202020202020202072656365697665725265662e6465706f7369742866726f6d3a203c2d73656c662e73656e745661756c74290a202020207d0a7d0af861b07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227daf7b2274797065223a2241646472657373222c2276616c7565223a22307865343637623964643131666130306466227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", - "metadata": "02f22ca4b350a79c724f6471d5a6a7a0efa7ba9aeebb7fed2843a3ddd6e42c2e1c180cef7053a5f0ae66e19e3a96cc3b9eb7da29767fb5d6938239bf1f8e1dc2845472616e736665722046555344000201416d6f756e740000554669783634000301526563697069656e740001416464726573730003", - "hash": "f22ca4b350a79c724f6471d5a6a7a0efa7ba9aeebb7fed2843a3ddd6e42c2e1c" - }, - { - "title": "TS.01 - Set up Top Shot Collection", - "valid": true, - "chainID": "Testnet", - "payloadMessage": { - "script": "import TopShot from 0x877931736ee77cff\n\n// This transaction sets up an account to use Top Shot\n// by storing an empty moment collection and creating\n// a public capability for it\n\ntransaction {\n\n prepare(acct: AuthAccount) {\n\n // First, check to see if a moment collection already exists\n if acct.borrow<&TopShot.Collection>(from: /storage/MomentCollection) == nil {\n\n // create a new TopShot Collection\n let collection <- TopShot.createEmptyCollection() as! @TopShot.Collection\n\n // Put the new Collection in storage\n acct.save(<-collection, to: /storage/MomentCollection)\n\n // create a public capability for the collection\n acct.link<&{TopShot.MomentCollectionPublic}>(/public/MomentCollection, target: /storage/MomentCollection)\n }\n }\n}", - "arguments": [], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "99a8ac2c71d4f6bd", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "99a8ac2c71d4f6bd", - "authorizers": [ - "99a8ac2c71d4f6bd" - ] - }, - "envelopeMessage": { - "script": "import TopShot from 0x877931736ee77cff\n\n// This transaction sets up an account to use Top Shot\n// by storing an empty moment collection and creating\n// a public capability for it\n\ntransaction {\n\n prepare(acct: AuthAccount) {\n\n // First, check to see if a moment collection already exists\n if acct.borrow<&TopShot.Collection>(from: /storage/MomentCollection) == nil {\n\n // create a new TopShot Collection\n let collection <- TopShot.createEmptyCollection() as! @TopShot.Collection\n\n // Put the new Collection in storage\n acct.save(<-collection, to: /storage/MomentCollection)\n\n // create a public capability for the collection\n acct.link<&{TopShot.MomentCollectionPublic}>(/public/MomentCollection, target: /storage/MomentCollection)\n }\n }\n}", - "arguments": [], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "99a8ac2c71d4f6bd", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "99a8ac2c71d4f6bd", - "authorizers": [ - "99a8ac2c71d4f6bd" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f90384b90340696d706f727420546f7053686f742066726f6d203078383737393331373336656537376366660a0a2f2f2054686973207472616e73616374696f6e207365747320757020616e206163636f756e7420746f2075736520546f702053686f740a2f2f2062792073746f72696e6720616e20656d707479206d6f6d656e7420636f6c6c656374696f6e20616e64206372656174696e670a2f2f2061207075626c6963206361706162696c69747920666f722069740a0a7472616e73616374696f6e207b0a0a202020207072657061726528616363743a20417574684163636f756e7429207b0a0a20202020202020202f2f2046697273742c20636865636b20746f207365652069662061206d6f6d656e7420636f6c6c656374696f6e20616c7265616479206578697374730a2020202020202020696620616363742e626f72726f773c26546f7053686f742e436f6c6c656374696f6e3e2866726f6d3a202f73746f726167652f4d6f6d656e74436f6c6c656374696f6e29203d3d206e696c207b0a0a2020202020202020202020202f2f206372656174652061206e657720546f7053686f7420436f6c6c656374696f6e0a2020202020202020202020206c657420636f6c6c656374696f6e203c2d20546f7053686f742e637265617465456d707479436f6c6c656374696f6e2829206173212040546f7053686f742e436f6c6c656374696f6e0a0a2020202020202020202020202f2f2050757420746865206e657720436f6c6c656374696f6e20696e2073746f726167650a202020202020202020202020616363742e73617665283c2d636f6c6c656374696f6e2c20746f3a202f73746f726167652f4d6f6d656e74436f6c6c656374696f6e290a0a2020202020202020202020202f2f206372656174652061207075626c6963206361706162696c69747920666f722074686520636f6c6c656374696f6e0a202020202020202020202020616363742e6c696e6b3c267b546f7053686f742e4d6f6d656e74436f6c6c656374696f6e5075626c69637d3e282f7075626c69632f4d6f6d656e74436f6c6c656374696f6e2c207461726765743a202f73746f726167652f4d6f6d656e74436f6c6c656374696f6e290a20202020202020207d0a202020207d0a7dc0a0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", - "encodedTransactionEnvelopeHex": "f90388f90384b90340696d706f727420546f7053686f742066726f6d203078383737393331373336656537376366660a0a2f2f2054686973207472616e73616374696f6e207365747320757020616e206163636f756e7420746f2075736520546f702053686f740a2f2f2062792073746f72696e6720616e20656d707479206d6f6d656e7420636f6c6c656374696f6e20616e64206372656174696e670a2f2f2061207075626c6963206361706162696c69747920666f722069740a0a7472616e73616374696f6e207b0a0a202020207072657061726528616363743a20417574684163636f756e7429207b0a0a20202020202020202f2f2046697273742c20636865636b20746f207365652069662061206d6f6d656e7420636f6c6c656374696f6e20616c7265616479206578697374730a2020202020202020696620616363742e626f72726f773c26546f7053686f742e436f6c6c656374696f6e3e2866726f6d3a202f73746f726167652f4d6f6d656e74436f6c6c656374696f6e29203d3d206e696c207b0a0a2020202020202020202020202f2f206372656174652061206e657720546f7053686f7420436f6c6c656374696f6e0a2020202020202020202020206c657420636f6c6c656374696f6e203c2d20546f7053686f742e637265617465456d707479436f6c6c656374696f6e2829206173212040546f7053686f742e436f6c6c656374696f6e0a0a2020202020202020202020202f2f2050757420746865206e657720436f6c6c656374696f6e20696e2073746f726167650a202020202020202020202020616363742e73617665283c2d636f6c6c656374696f6e2c20746f3a202f73746f726167652f4d6f6d656e74436f6c6c656374696f6e290a0a2020202020202020202020202f2f206372656174652061207075626c6963206361706162696c69747920666f722074686520636f6c6c656374696f6e0a202020202020202020202020616363742e6c696e6b3c267b546f7053686f742e4d6f6d656e74436f6c6c656374696f6e5075626c69637d3e282f7075626c69632f4d6f6d656e74436f6c6c656374696f6e2c207461726765743a202f73746f726167652f4d6f6d656e74436f6c6c656374696f6e290a20202020202020207d0a202020207d0a7dc0a0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", - "metadata": "020f0baeef9353ceee607c5be3b7c0f86792dadf20b9e9c89e831adb0199e758827511848f1c27a173d966f4b868fd7efead7eeb1bbf04fc3f3e60dabc6c7f759353657420757020546f702053686f7420436f6c6c656374696f6e0000", - "hash": "0f0baeef9353ceee607c5be3b7c0f86792dadf20b9e9c89e831adb0199e75882" - }, - { - "title": "TS.02 - Transfer Top Shot Moment", - "valid": true, - "chainID": "Testnet", - "payloadMessage": { - "script": "import NonFungibleToken from 0x631e88ae7f1d7c20\nimport TopShot from 0x877931736ee77cff\n\n// This transaction transfers a moment to a recipient\n\n// This transaction is how a topshot user would transfer a moment\n// from their account to another account\n// The recipient must have a TopShot Collection object stored\n// and a public MomentCollectionPublic capability stored at\n// `/public/MomentCollection`\n\n// Parameters:\n//\n// recipient: The Flow address of the account to receive the moment.\n// withdrawID: The id of the moment to be transferred\n\ntransaction(recipient: Address, withdrawID: UInt64) {\n\n // local variable for storing the transferred token\n let transferToken: @NonFungibleToken.NFT\n \n prepare(acct: AuthAccount) {\n\n // borrow a reference to the owner's collection\n let collectionRef = acct.borrow<&TopShot.Collection>(from: /storage/MomentCollection)\n ?? panic(\"Could not borrow a reference to the stored Moment collection\")\n \n // withdraw the NFT\n self.transferToken <- collectionRef.withdraw(withdrawID: withdrawID)\n }\n\n execute {\n \n // get the recipient's public account object\n let recipient = getAccount(recipient)\n\n // get the Collection reference for the receiver\n let receiverRef = recipient.getCapability(/public/MomentCollection).borrow<&{TopShot.MomentCollectionPublic}>()!\n\n // deposit the NFT in the receivers collection\n receiverRef.deposit(token: <-self.transferToken)\n }\n}", - "arguments": [ - { - "type": "Address", - "value": "0x8c5303eaa26202d6" - }, - { - "type": "UInt64", - "value": "42" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "99a8ac2c71d4f6bd", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "99a8ac2c71d4f6bd", - "authorizers": [ - "99a8ac2c71d4f6bd" - ] - }, - "envelopeMessage": { - "script": "import NonFungibleToken from 0x631e88ae7f1d7c20\nimport TopShot from 0x877931736ee77cff\n\n// This transaction transfers a moment to a recipient\n\n// This transaction is how a topshot user would transfer a moment\n// from their account to another account\n// The recipient must have a TopShot Collection object stored\n// and a public MomentCollectionPublic capability stored at\n// `/public/MomentCollection`\n\n// Parameters:\n//\n// recipient: The Flow address of the account to receive the moment.\n// withdrawID: The id of the moment to be transferred\n\ntransaction(recipient: Address, withdrawID: UInt64) {\n\n // local variable for storing the transferred token\n let transferToken: @NonFungibleToken.NFT\n \n prepare(acct: AuthAccount) {\n\n // borrow a reference to the owner's collection\n let collectionRef = acct.borrow<&TopShot.Collection>(from: /storage/MomentCollection)\n ?? panic(\"Could not borrow a reference to the stored Moment collection\")\n \n // withdraw the NFT\n self.transferToken <- collectionRef.withdraw(withdrawID: withdrawID)\n }\n\n execute {\n \n // get the recipient's public account object\n let recipient = getAccount(recipient)\n\n // get the Collection reference for the receiver\n let receiverRef = recipient.getCapability(/public/MomentCollection).borrow<&{TopShot.MomentCollectionPublic}>()!\n\n // deposit the NFT in the receivers collection\n receiverRef.deposit(token: <-self.transferToken)\n }\n}", - "arguments": [ - { - "type": "Address", - "value": "0x8c5303eaa26202d6" - }, - { - "type": "UInt64", - "value": "42" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "99a8ac2c71d4f6bd", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "99a8ac2c71d4f6bd", - "authorizers": [ - "99a8ac2c71d4f6bd" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f90681b905ed696d706f7274204e6f6e46756e6769626c65546f6b656e2066726f6d203078363331653838616537663164376332300a696d706f727420546f7053686f742066726f6d203078383737393331373336656537376366660a0a2f2f2054686973207472616e73616374696f6e207472616e73666572732061206d6f6d656e7420746f206120726563697069656e740a0a2f2f2054686973207472616e73616374696f6e20697320686f77206120746f7073686f74207573657220776f756c64207472616e736665722061206d6f6d656e740a2f2f2066726f6d207468656972206163636f756e7420746f20616e6f74686572206163636f756e740a2f2f2054686520726563697069656e74206d7573742068617665206120546f7053686f7420436f6c6c656374696f6e206f626a6563742073746f7265640a2f2f20616e642061207075626c6963204d6f6d656e74436f6c6c656374696f6e5075626c6963206361706162696c6974792073746f7265642061740a2f2f20602f7075626c69632f4d6f6d656e74436f6c6c656374696f6e600a0a2f2f20506172616d65746572733a0a2f2f0a2f2f20726563697069656e743a2054686520466c6f772061646472657373206f6620746865206163636f756e7420746f207265636569766520746865206d6f6d656e742e0a2f2f20776974686472617749443a20546865206964206f6620746865206d6f6d656e7420746f206265207472616e736665727265640a0a7472616e73616374696f6e28726563697069656e743a20416464726573732c20776974686472617749443a2055496e74363429207b0a0a202020202f2f206c6f63616c207661726961626c6520666f722073746f72696e6720746865207472616e7366657272656420746f6b656e0a202020206c6574207472616e73666572546f6b656e3a20404e6f6e46756e6769626c65546f6b656e2e4e46540a202020200a202020207072657061726528616363743a20417574684163636f756e7429207b0a0a20202020202020202f2f20626f72726f772061207265666572656e636520746f20746865206f776e6572277320636f6c6c656374696f6e0a20202020202020206c657420636f6c6c656374696f6e526566203d20616363742e626f72726f773c26546f7053686f742e436f6c6c656374696f6e3e2866726f6d3a202f73746f726167652f4d6f6d656e74436f6c6c656374696f6e290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f207468652073746f726564204d6f6d656e7420636f6c6c656374696f6e22290a20202020202020200a20202020202020202f2f20776974686472617720746865204e46540a202020202020202073656c662e7472616e73666572546f6b656e203c2d20636f6c6c656374696f6e5265662e776974686472617728776974686472617749443a2077697468647261774944290a202020207d0a0a2020202065786563757465207b0a20202020202020200a20202020202020202f2f206765742074686520726563697069656e742773207075626c6963206163636f756e74206f626a6563740a20202020202020206c657420726563697069656e74203d206765744163636f756e7428726563697069656e74290a0a20202020202020202f2f206765742074686520436f6c6c656374696f6e207265666572656e636520666f72207468652072656365697665720a20202020202020206c6574207265636569766572526566203d20726563697069656e742e6765744361706162696c697479282f7075626c69632f4d6f6d656e74436f6c6c656374696f6e292e626f72726f773c267b546f7053686f742e4d6f6d656e74436f6c6c656374696f6e5075626c69637d3e2829210a0a20202020202020202f2f206465706f73697420746865204e465420696e207468652072656365697665727320636f6c6c656374696f6e0a202020202020202072656365697665725265662e6465706f73697428746f6b656e3a203c2d73656c662e7472616e73666572546f6b656e290a202020207d0a7df84faf7b2274797065223a2241646472657373222c2276616c7565223a22307838633533303365616132363230326436227d9e7b2274797065223a2255496e743634222c2276616c7565223a223432227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", - "encodedTransactionEnvelopeHex": "f90685f90681b905ed696d706f7274204e6f6e46756e6769626c65546f6b656e2066726f6d203078363331653838616537663164376332300a696d706f727420546f7053686f742066726f6d203078383737393331373336656537376366660a0a2f2f2054686973207472616e73616374696f6e207472616e73666572732061206d6f6d656e7420746f206120726563697069656e740a0a2f2f2054686973207472616e73616374696f6e20697320686f77206120746f7073686f74207573657220776f756c64207472616e736665722061206d6f6d656e740a2f2f2066726f6d207468656972206163636f756e7420746f20616e6f74686572206163636f756e740a2f2f2054686520726563697069656e74206d7573742068617665206120546f7053686f7420436f6c6c656374696f6e206f626a6563742073746f7265640a2f2f20616e642061207075626c6963204d6f6d656e74436f6c6c656374696f6e5075626c6963206361706162696c6974792073746f7265642061740a2f2f20602f7075626c69632f4d6f6d656e74436f6c6c656374696f6e600a0a2f2f20506172616d65746572733a0a2f2f0a2f2f20726563697069656e743a2054686520466c6f772061646472657373206f6620746865206163636f756e7420746f207265636569766520746865206d6f6d656e742e0a2f2f20776974686472617749443a20546865206964206f6620746865206d6f6d656e7420746f206265207472616e736665727265640a0a7472616e73616374696f6e28726563697069656e743a20416464726573732c20776974686472617749443a2055496e74363429207b0a0a202020202f2f206c6f63616c207661726961626c6520666f722073746f72696e6720746865207472616e7366657272656420746f6b656e0a202020206c6574207472616e73666572546f6b656e3a20404e6f6e46756e6769626c65546f6b656e2e4e46540a202020200a202020207072657061726528616363743a20417574684163636f756e7429207b0a0a20202020202020202f2f20626f72726f772061207265666572656e636520746f20746865206f776e6572277320636f6c6c656374696f6e0a20202020202020206c657420636f6c6c656374696f6e526566203d20616363742e626f72726f773c26546f7053686f742e436f6c6c656374696f6e3e2866726f6d3a202f73746f726167652f4d6f6d656e74436f6c6c656374696f6e290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f207468652073746f726564204d6f6d656e7420636f6c6c656374696f6e22290a20202020202020200a20202020202020202f2f20776974686472617720746865204e46540a202020202020202073656c662e7472616e73666572546f6b656e203c2d20636f6c6c656374696f6e5265662e776974686472617728776974686472617749443a2077697468647261774944290a202020207d0a0a2020202065786563757465207b0a20202020202020200a20202020202020202f2f206765742074686520726563697069656e742773207075626c6963206163636f756e74206f626a6563740a20202020202020206c657420726563697069656e74203d206765744163636f756e7428726563697069656e74290a0a20202020202020202f2f206765742074686520436f6c6c656374696f6e207265666572656e636520666f72207468652072656365697665720a20202020202020206c6574207265636569766572526566203d20726563697069656e742e6765744361706162696c697479282f7075626c69632f4d6f6d656e74436f6c6c656374696f6e292e626f72726f773c267b546f7053686f742e4d6f6d656e74436f6c6c656374696f6e5075626c69637d3e2829210a0a20202020202020202f2f206465706f73697420746865204e465420696e207468652072656365697665727320636f6c6c656374696f6e0a202020202020202072656365697665725265662e6465706f73697428746f6b656e3a203c2d73656c662e7472616e73666572546f6b656e290a202020207d0a7df84faf7b2274797065223a2241646472657373222c2276616c7565223a22307838633533303365616132363230326436227d9e7b2274797065223a2255496e743634222c2276616c7565223a223432227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", - "metadata": "021ec9aea0b51409610f882f5ae4278567da675542bb378eb999f05b7c4f12f7d809d5ad21bf70dfe4f8d800db9e61a77f2f64837ae0e818c3cd67e9cea837a1cf5472616e7366657220546f702053686f74204d6f6d656e74000201526563697069656e740000416464726573730003014d6f6d656e74204944000155496e7436340003", - "hash": "1ec9aea0b51409610f882f5ae4278567da675542bb378eb999f05b7c4f12f7d8" - }, - { - "title": "USDC.01 - Setup USDC Vault", - "valid": true, - "chainID": "Testnet", - "payloadMessage": { - "script": "import FungibleToken from 0x9a0766d93b6608b7\nimport FiatToken from 0x1ab3c177460e1e4a\n\ntransaction {\n\n prepare(signer: AuthAccount) {\n\n // Return early if the account already stores a FiatToken Vault\n if signer.borrow<&FiatToken.Vault>(from: FiatToken.VaultStoragePath) != nil {\n return\n }\n\n // Create a new ExampleToken Vault and put it in storage\n signer.save(\n <-FiatToken.createEmptyVault(),\n to: FiatToken.VaultStoragePath\n )\n\n // Create a public capability to the Vault that only exposes\n // the deposit function through the Receiver interface\n signer.link<&FiatToken.Vault{FungibleToken.Receiver}>(\n FiatToken.VaultReceiverPubPath,\n target: FiatToken.VaultStoragePath\n )\n\n // Create a public capability to the Vault that only exposes\n // the UUID() function through the VaultUUID interface\n signer.link<&FiatToken.Vault{FiatToken.ResourceId}>(\n FiatToken.VaultUUIDPubPath,\n target: FiatToken.VaultStoragePath\n )\n\n // Create a public capability to the Vault that only exposes\n // the balance field through the Balance interface\n signer.link<&FiatToken.Vault{FungibleToken.Balance}>(\n FiatToken.VaultBalancePubPath,\n target: FiatToken.VaultStoragePath\n )\n\n }\n}\n", - "arguments": [], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "99a8ac2c71d4f6bd", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "99a8ac2c71d4f6bd", - "authorizers": [ - "99a8ac2c71d4f6bd" - ] - }, - "envelopeMessage": { - "script": "import FungibleToken from 0x9a0766d93b6608b7\nimport FiatToken from 0x1ab3c177460e1e4a\n\ntransaction {\n\n prepare(signer: AuthAccount) {\n\n // Return early if the account already stores a FiatToken Vault\n if signer.borrow<&FiatToken.Vault>(from: FiatToken.VaultStoragePath) != nil {\n return\n }\n\n // Create a new ExampleToken Vault and put it in storage\n signer.save(\n <-FiatToken.createEmptyVault(),\n to: FiatToken.VaultStoragePath\n )\n\n // Create a public capability to the Vault that only exposes\n // the deposit function through the Receiver interface\n signer.link<&FiatToken.Vault{FungibleToken.Receiver}>(\n FiatToken.VaultReceiverPubPath,\n target: FiatToken.VaultStoragePath\n )\n\n // Create a public capability to the Vault that only exposes\n // the UUID() function through the VaultUUID interface\n signer.link<&FiatToken.Vault{FiatToken.ResourceId}>(\n FiatToken.VaultUUIDPubPath,\n target: FiatToken.VaultStoragePath\n )\n\n // Create a public capability to the Vault that only exposes\n // the balance field through the Balance interface\n signer.link<&FiatToken.Vault{FungibleToken.Balance}>(\n FiatToken.VaultBalancePubPath,\n target: FiatToken.VaultStoragePath\n )\n\n }\n}\n", - "arguments": [], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "99a8ac2c71d4f6bd", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "99a8ac2c71d4f6bd", - "authorizers": [ - "99a8ac2c71d4f6bd" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f905b9b90575696d706f72742046756e6769626c65546f6b656e2066726f6d203078396130373636643933623636303862370a696d706f72742046696174546f6b656e2066726f6d203078316162336331373734363065316534610a0a7472616e73616374696f6e207b0a0a2020202070726570617265287369676e65723a20417574684163636f756e7429207b0a0a20202020202020202f2f2052657475726e206561726c7920696620746865206163636f756e7420616c72656164792073746f72657320612046696174546f6b656e205661756c740a20202020202020206966207369676e65722e626f72726f773c2646696174546f6b656e2e5661756c743e2866726f6d3a2046696174546f6b656e2e5661756c7453746f72616765506174682920213d206e696c207b0a20202020202020202020202072657475726e0a20202020202020207d0a0a20202020202020202f2f204372656174652061206e6577204578616d706c65546f6b656e205661756c7420616e642070757420697420696e2073746f726167650a20202020202020207369676e65722e73617665280a2020202020202020202020203c2d46696174546f6b656e2e637265617465456d7074795661756c7428292c0a202020202020202020202020746f3a2046696174546f6b656e2e5661756c7453746f72616765506174680a2020202020202020290a0a20202020202020202f2f204372656174652061207075626c6963206361706162696c69747920746f20746865205661756c742074686174206f6e6c79206578706f7365730a20202020202020202f2f20746865206465706f7369742066756e6374696f6e207468726f7567682074686520526563656976657220696e746572666163650a20202020202020207369676e65722e6c696e6b3c2646696174546f6b656e2e5661756c747b46756e6769626c65546f6b656e2e52656365697665727d3e280a20202020202020202020202046696174546f6b656e2e5661756c745265636569766572507562506174682c0a2020202020202020202020207461726765743a2046696174546f6b656e2e5661756c7453746f72616765506174680a2020202020202020290a0a20202020202020202f2f204372656174652061207075626c6963206361706162696c69747920746f20746865205661756c742074686174206f6e6c79206578706f7365730a20202020202020202f2f20746865205555494428292066756e6374696f6e207468726f75676820746865205661756c745555494420696e746572666163650a20202020202020207369676e65722e6c696e6b3c2646696174546f6b656e2e5661756c747b46696174546f6b656e2e5265736f7572636549647d3e280a20202020202020202020202046696174546f6b656e2e5661756c7455554944507562506174682c0a2020202020202020202020207461726765743a2046696174546f6b656e2e5661756c7453746f72616765506174680a2020202020202020290a0a20202020202020202f2f204372656174652061207075626c6963206361706162696c69747920746f20746865205661756c742074686174206f6e6c79206578706f7365730a20202020202020202f2f207468652062616c616e6365206669656c64207468726f756768207468652042616c616e636520696e746572666163650a20202020202020207369676e65722e6c696e6b3c2646696174546f6b656e2e5661756c747b46756e6769626c65546f6b656e2e42616c616e63657d3e280a20202020202020202020202046696174546f6b656e2e5661756c7442616c616e6365507562506174682c0a2020202020202020202020207461726765743a2046696174546f6b656e2e5661756c7453746f72616765506174680a2020202020202020290a0a202020207d0a7d0ac0a0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", - "encodedTransactionEnvelopeHex": "f905bdf905b9b90575696d706f72742046756e6769626c65546f6b656e2066726f6d203078396130373636643933623636303862370a696d706f72742046696174546f6b656e2066726f6d203078316162336331373734363065316534610a0a7472616e73616374696f6e207b0a0a2020202070726570617265287369676e65723a20417574684163636f756e7429207b0a0a20202020202020202f2f2052657475726e206561726c7920696620746865206163636f756e7420616c72656164792073746f72657320612046696174546f6b656e205661756c740a20202020202020206966207369676e65722e626f72726f773c2646696174546f6b656e2e5661756c743e2866726f6d3a2046696174546f6b656e2e5661756c7453746f72616765506174682920213d206e696c207b0a20202020202020202020202072657475726e0a20202020202020207d0a0a20202020202020202f2f204372656174652061206e6577204578616d706c65546f6b656e205661756c7420616e642070757420697420696e2073746f726167650a20202020202020207369676e65722e73617665280a2020202020202020202020203c2d46696174546f6b656e2e637265617465456d7074795661756c7428292c0a202020202020202020202020746f3a2046696174546f6b656e2e5661756c7453746f72616765506174680a2020202020202020290a0a20202020202020202f2f204372656174652061207075626c6963206361706162696c69747920746f20746865205661756c742074686174206f6e6c79206578706f7365730a20202020202020202f2f20746865206465706f7369742066756e6374696f6e207468726f7567682074686520526563656976657220696e746572666163650a20202020202020207369676e65722e6c696e6b3c2646696174546f6b656e2e5661756c747b46756e6769626c65546f6b656e2e52656365697665727d3e280a20202020202020202020202046696174546f6b656e2e5661756c745265636569766572507562506174682c0a2020202020202020202020207461726765743a2046696174546f6b656e2e5661756c7453746f72616765506174680a2020202020202020290a0a20202020202020202f2f204372656174652061207075626c6963206361706162696c69747920746f20746865205661756c742074686174206f6e6c79206578706f7365730a20202020202020202f2f20746865205555494428292066756e6374696f6e207468726f75676820746865205661756c745555494420696e746572666163650a20202020202020207369676e65722e6c696e6b3c2646696174546f6b656e2e5661756c747b46696174546f6b656e2e5265736f7572636549647d3e280a20202020202020202020202046696174546f6b656e2e5661756c7455554944507562506174682c0a2020202020202020202020207461726765743a2046696174546f6b656e2e5661756c7453746f72616765506174680a2020202020202020290a0a20202020202020202f2f204372656174652061207075626c6963206361706162696c69747920746f20746865205661756c742074686174206f6e6c79206578706f7365730a20202020202020202f2f207468652062616c616e6365206669656c64207468726f756768207468652042616c616e636520696e746572666163650a20202020202020207369676e65722e6c696e6b3c2646696174546f6b656e2e5661756c747b46756e6769626c65546f6b656e2e42616c616e63657d3e280a20202020202020202020202046696174546f6b656e2e5661756c7442616c616e6365507562506174682c0a2020202020202020202020207461726765743a2046696174546f6b656e2e5661756c7453746f72616765506174680a2020202020202020290a0a202020207d0a7d0ac0a0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", - "metadata": "022defee818c0c003ca519f83517f4c7bcf9dd8664a562ec80959cb6146428f971887673892a2e2c12337394570dfa30c5669e93f537ae426690f402799514a9a153657475702055534443205661756c740000", - "hash": "2defee818c0c003ca519f83517f4c7bcf9dd8664a562ec80959cb6146428f971" - }, - { - "title": "USDC.02 - Transfer USDC", - "valid": true, - "chainID": "Testnet", - "payloadMessage": { - "script": "import FungibleToken from 0x9a0766d93b6608b7\nimport FiatToken from 0x1ab3c177460e1e4a\n\ntransaction(amount: UFix64, to: Address) {\n\n // The Vault resource that holds the tokens that are being transferred\n let sentVault: @FungibleToken.Vault\n\n prepare(signer: AuthAccount) {\n\n // Get a reference to the signer's stored vault\n let vaultRef = signer.borrow<&FiatToken.Vault>(from: FiatToken.VaultStoragePath)\n ?? panic(\"Could not borrow reference to the owner's Vault!\")\n\n // Withdraw tokens from the signer's stored vault\n self.sentVault <- vaultRef.withdraw(amount: amount)\n }\n\n execute {\n\n // Get the recipient's public account object\n let recipient = getAccount(to)\n\n // Get a reference to the recipient's Receiver\n let receiverRef = recipient.getCapability(FiatToken.VaultReceiverPubPath)\n .borrow<&{FungibleToken.Receiver}>()\n ?? panic(\"Could not borrow receiver reference to the recipient's Vault\")\n\n // Deposit the withdrawn tokens in the recipient's receiver\n receiverRef.deposit(from: <-self.sentVault)\n }\n}\n", - "arguments": [ - { - "type": "UFix64", - "value": "42" - }, - { - "type": "Address", - "value": "0x8c5303eaa26202d6" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "99a8ac2c71d4f6bd", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "99a8ac2c71d4f6bd", - "authorizers": [ - "99a8ac2c71d4f6bd" - ] - }, - "envelopeMessage": { - "script": "import FungibleToken from 0x9a0766d93b6608b7\nimport FiatToken from 0x1ab3c177460e1e4a\n\ntransaction(amount: UFix64, to: Address) {\n\n // The Vault resource that holds the tokens that are being transferred\n let sentVault: @FungibleToken.Vault\n\n prepare(signer: AuthAccount) {\n\n // Get a reference to the signer's stored vault\n let vaultRef = signer.borrow<&FiatToken.Vault>(from: FiatToken.VaultStoragePath)\n ?? panic(\"Could not borrow reference to the owner's Vault!\")\n\n // Withdraw tokens from the signer's stored vault\n self.sentVault <- vaultRef.withdraw(amount: amount)\n }\n\n execute {\n\n // Get the recipient's public account object\n let recipient = getAccount(to)\n\n // Get a reference to the recipient's Receiver\n let receiverRef = recipient.getCapability(FiatToken.VaultReceiverPubPath)\n .borrow<&{FungibleToken.Receiver}>()\n ?? panic(\"Could not borrow receiver reference to the recipient's Vault\")\n\n // Deposit the withdrawn tokens in the recipient's receiver\n receiverRef.deposit(from: <-self.sentVault)\n }\n}\n", - "arguments": [ - { - "type": "UFix64", - "value": "42" - }, - { - "type": "Address", - "value": "0x8c5303eaa26202d6" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "99a8ac2c71d4f6bd", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "99a8ac2c71d4f6bd", - "authorizers": [ - "99a8ac2c71d4f6bd" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f90503b9046f696d706f72742046756e6769626c65546f6b656e2066726f6d203078396130373636643933623636303862370a696d706f72742046696174546f6b656e2066726f6d203078316162336331373734363065316534610a0a7472616e73616374696f6e28616d6f756e743a205546697836342c20746f3a204164647265737329207b0a0a202020202f2f20546865205661756c74207265736f75726365207468617420686f6c64732074686520746f6b656e73207468617420617265206265696e67207472616e736665727265640a202020206c65742073656e745661756c743a204046756e6769626c65546f6b656e2e5661756c740a0a2020202070726570617265287369676e65723a20417574684163636f756e7429207b0a0a20202020202020202f2f204765742061207265666572656e636520746f20746865207369676e657227732073746f726564207661756c740a20202020202020206c6574207661756c74526566203d207369676e65722e626f72726f773c2646696174546f6b656e2e5661756c743e2866726f6d3a2046696174546f6b656e2e5661756c7453746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f20746865206f776e65722773205661756c742122290a0a20202020202020202f2f20576974686472617720746f6b656e732066726f6d20746865207369676e657227732073746f726564207661756c740a202020202020202073656c662e73656e745661756c74203c2d207661756c745265662e776974686472617728616d6f756e743a20616d6f756e74290a202020207d0a0a2020202065786563757465207b0a0a20202020202020202f2f204765742074686520726563697069656e742773207075626c6963206163636f756e74206f626a6563740a20202020202020206c657420726563697069656e74203d206765744163636f756e7428746f290a0a20202020202020202f2f204765742061207265666572656e636520746f2074686520726563697069656e7427732052656365697665720a20202020202020206c6574207265636569766572526566203d20726563697069656e742e6765744361706162696c6974792846696174546f6b656e2e5661756c74526563656976657250756250617468290a2020202020202020202020202e626f72726f773c267b46756e6769626c65546f6b656e2e52656365697665727d3e28290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265636569766572207265666572656e636520746f2074686520726563697069656e742773205661756c7422290a0a20202020202020202f2f204465706f736974207468652077697468647261776e20746f6b656e7320696e2074686520726563697069656e7427732072656365697665720a202020202020202072656365697665725265662e6465706f7369742866726f6d3a203c2d73656c662e73656e745661756c74290a202020207d0a7d0af84f9e7b2274797065223a22554669783634222c2276616c7565223a223432227daf7b2274797065223a2241646472657373222c2276616c7565223a22307838633533303365616132363230326436227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", - "encodedTransactionEnvelopeHex": "f90507f90503b9046f696d706f72742046756e6769626c65546f6b656e2066726f6d203078396130373636643933623636303862370a696d706f72742046696174546f6b656e2066726f6d203078316162336331373734363065316534610a0a7472616e73616374696f6e28616d6f756e743a205546697836342c20746f3a204164647265737329207b0a0a202020202f2f20546865205661756c74207265736f75726365207468617420686f6c64732074686520746f6b656e73207468617420617265206265696e67207472616e736665727265640a202020206c65742073656e745661756c743a204046756e6769626c65546f6b656e2e5661756c740a0a2020202070726570617265287369676e65723a20417574684163636f756e7429207b0a0a20202020202020202f2f204765742061207265666572656e636520746f20746865207369676e657227732073746f726564207661756c740a20202020202020206c6574207661756c74526566203d207369676e65722e626f72726f773c2646696174546f6b656e2e5661756c743e2866726f6d3a2046696174546f6b656e2e5661756c7453746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f20746865206f776e65722773205661756c742122290a0a20202020202020202f2f20576974686472617720746f6b656e732066726f6d20746865207369676e657227732073746f726564207661756c740a202020202020202073656c662e73656e745661756c74203c2d207661756c745265662e776974686472617728616d6f756e743a20616d6f756e74290a202020207d0a0a2020202065786563757465207b0a0a20202020202020202f2f204765742074686520726563697069656e742773207075626c6963206163636f756e74206f626a6563740a20202020202020206c657420726563697069656e74203d206765744163636f756e7428746f290a0a20202020202020202f2f204765742061207265666572656e636520746f2074686520726563697069656e7427732052656365697665720a20202020202020206c6574207265636569766572526566203d20726563697069656e742e6765744361706162696c6974792846696174546f6b656e2e5661756c74526563656976657250756250617468290a2020202020202020202020202e626f72726f773c267b46756e6769626c65546f6b656e2e52656365697665727d3e28290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265636569766572207265666572656e636520746f2074686520726563697069656e742773205661756c7422290a0a20202020202020202f2f204465706f736974207468652077697468647261776e20746f6b656e7320696e2074686520726563697069656e7427732072656365697665720a202020202020202072656365697665725265662e6465706f7369742866726f6d3a203c2d73656c662e73656e745661756c74290a202020207d0a7d0af84f9e7b2274797065223a22554669783634222c2276616c7565223a223432227daf7b2274797065223a2241646472657373222c2276616c7565223a22307838633533303365616132363230326436227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", - "metadata": "02512485ec3f8e007853b0ea2a22fb2b9f7e2fa55fd9819171c5d013282efee60a7ff4d9f53ba5eebda556d0ead0ca13911bc8996e2c91c5147f8787d10a3244835472616e736665722055534443000201416d6f756e740000554669783634000301526563697069656e740001416464726573730003", - "hash": "512485ec3f8e007853b0ea2a22fb2b9f7e2fa55fd9819171c5d013282efee60a" - }, - { - "title": "SCO.03 - Register Node - 1", - "valid": true, - "chainID": "Testnet", - "payloadMessage": { - "script": "import Crypto\nimport FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// Registers a delegator in the staking collection resource\n/// for the specified node information and the amount of tokens to commit\n\ntransaction(id: String,\n role: UInt8,\n networkingAddress: String,\n networkingKey: String,\n stakingKey: String,\n amount: UFix64,\n publicKeys: [Crypto.KeyListEntry]?) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n\n if let machineAccount = self.stakingCollectionRef.registerNode(\n id: id,\n role: role,\n networkingAddress: networkingAddress,\n networkingKey: networkingKey,\n stakingKey: stakingKey,\n amount: amount,\n payer: account) \n {\n if publicKeys == nil || publicKeys!.length == 0 {\n panic(\"Cannot provide zero keys for the machine account\")\n }\n for key in publicKeys! {\n machineAccount.keys.add(publicKey: key.publicKey, hashAlgorithm: key.hashAlgorithm, weight: key.weight)\n }\n }\n }\n}\n", - "arguments": [ - { - "type": "String", - "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" - }, - { - "type": "UInt8", - "value": "1" - }, - { - "type": "String", - "value": "flow-node.test:3569" - }, - { - "type": "String", - "value": "1348307bc77c688e80049de9d081aa09755da33e6997605fa059db2144fc85e560cbe6f7da8d74b453f5916618cb8fd392c2db856f3e78221dc68db1b1d914e4" - }, - { - "type": "String", - "value": "9e9ae0d645fd5fd9050792e0b0daa82cc1686d9133afa0f81a784b375c42ae48567d1545e7a9e1965f2c1a32f73cf8575ebb7a967f6e4d104d2df78eb8be409135d12da0499b8a00771f642c1b9c49397f22b440439f036c3bdee82f5309dab3" - }, - { - "type": "UFix64", - "value": "92233720368.54775808" - }, - { - "type": "Optional", - "value": null - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "99a8ac2c71d4f6bd", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "99a8ac2c71d4f6bd", - "authorizers": [ - "99a8ac2c71d4f6bd" - ] - }, - "envelopeMessage": { - "script": "import Crypto\nimport FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// Registers a delegator in the staking collection resource\n/// for the specified node information and the amount of tokens to commit\n\ntransaction(id: String,\n role: UInt8,\n networkingAddress: String,\n networkingKey: String,\n stakingKey: String,\n amount: UFix64,\n publicKeys: [Crypto.KeyListEntry]?) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n\n if let machineAccount = self.stakingCollectionRef.registerNode(\n id: id,\n role: role,\n networkingAddress: networkingAddress,\n networkingKey: networkingKey,\n stakingKey: stakingKey,\n amount: amount,\n payer: account) \n {\n if publicKeys == nil || publicKeys!.length == 0 {\n panic(\"Cannot provide zero keys for the machine account\")\n }\n for key in publicKeys! {\n machineAccount.keys.add(publicKey: key.publicKey, hashAlgorithm: key.hashAlgorithm, weight: key.weight)\n }\n }\n }\n}\n", - "arguments": [ - { - "type": "String", - "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" - }, - { - "type": "UInt8", - "value": "1" - }, - { - "type": "String", - "value": "flow-node.test:3569" - }, - { - "type": "String", - "value": "1348307bc77c688e80049de9d081aa09755da33e6997605fa059db2144fc85e560cbe6f7da8d74b453f5916618cb8fd392c2db856f3e78221dc68db1b1d914e4" - }, - { - "type": "String", - "value": "9e9ae0d645fd5fd9050792e0b0daa82cc1686d9133afa0f81a784b375c42ae48567d1545e7a9e1965f2c1a32f73cf8575ebb7a967f6e4d104d2df78eb8be409135d12da0499b8a00771f642c1b9c49397f22b440439f036c3bdee82f5309dab3" - }, - { - "type": "UFix64", - "value": "92233720368.54775808" - }, - { - "type": "Optional", - "value": null - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "99a8ac2c71d4f6bd", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "99a8ac2c71d4f6bd", - "authorizers": [ - "99a8ac2c71d4f6bd" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f90849b9058a696d706f72742043727970746f0a696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f2052656769737465727320612064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e207265736f757263650a2f2f2f20666f722074686520737065636966696564206e6f646520696e666f726d6174696f6e20616e642074686520616d6f756e74206f6620746f6b656e7320746f20636f6d6d69740a0a7472616e73616374696f6e2869643a20537472696e672c0a202020202020202020202020726f6c653a2055496e74382c0a2020202020202020202020206e6574776f726b696e67416464726573733a20537472696e672c0a2020202020202020202020206e6574776f726b696e674b65793a20537472696e672c0a2020202020202020202020207374616b696e674b65793a20537472696e672c0a202020202020202020202020616d6f756e743a205546697836342c0a2020202020202020202020207075626c69634b6579733a205b43727970746f2e4b65794c697374456e7472795d3f29207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a0a20202020202020206966206c6574206d616368696e654163636f756e74203d2073656c662e7374616b696e67436f6c6c656374696f6e5265662e72656769737465724e6f6465280a20202020202020202020202069643a2069642c0a202020202020202020202020726f6c653a20726f6c652c0a2020202020202020202020206e6574776f726b696e67416464726573733a206e6574776f726b696e67416464726573732c0a2020202020202020202020206e6574776f726b696e674b65793a206e6574776f726b696e674b65792c0a2020202020202020202020207374616b696e674b65793a207374616b696e674b65792c0a202020202020202020202020616d6f756e743a20616d6f756e742c0a20202020202020202020202070617965723a206163636f756e7429200a20202020202020207b0a2020202020202020202020206966207075626c69634b657973203d3d206e696c207c7c207075626c69634b657973212e6c656e677468203d3d2030207b0a2020202020202020202020202020202070616e6963282243616e6e6f742070726f76696465207a65726f206b65797320666f7220746865206d616368696e65206163636f756e7422290a2020202020202020202020207d0a202020202020202020202020666f72206b657920696e207075626c69634b65797321207b0a202020202020202020202020202020206d616368696e654163636f756e742e6b6579732e616464287075626c69634b65793a206b65792e7075626c69634b65792c2068617368416c676f726974686d3a206b65792e68617368416c676f726974686d2c207765696768743a206b65792e776569676874290a2020202020202020202020207d0a20202020202020207d0a202020207d0a7d0af90279b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227d9c7b2274797065223a2255496e7438222c2276616c7565223a2231227daf7b2274797065223a22537472696e67222c2276616c7565223a22666c6f772d6e6f64652e746573743a33353639227db89c7b2274797065223a22537472696e67222c2276616c7565223a223133343833303762633737633638386538303034396465396430383161613039373535646133336536393937363035666130353964623231343466633835653536306362653666376461386437346234353366353931363631386362386664333932633264623835366633653738323231646336386462316231643931346534227db8dc7b2274797065223a22537472696e67222c2276616c7565223a22396539616530643634356664356664393035303739326530623064616138326363313638366439313333616661306638316137383462333735633432616534383536376431353435653761396531393635663263316133326637336366383537356562623761393637663665346431303464326466373865623862653430393133356431326461303439396238613030373731663634326331623963343933393766323262343430343339663033366333626465653832663533303964616233227db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da07b2274797065223a224f7074696f6e616c222c2276616c7565223a6e756c6c7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", - "encodedTransactionEnvelopeHex": "f9084df90849b9058a696d706f72742043727970746f0a696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f2052656769737465727320612064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e207265736f757263650a2f2f2f20666f722074686520737065636966696564206e6f646520696e666f726d6174696f6e20616e642074686520616d6f756e74206f6620746f6b656e7320746f20636f6d6d69740a0a7472616e73616374696f6e2869643a20537472696e672c0a202020202020202020202020726f6c653a2055496e74382c0a2020202020202020202020206e6574776f726b696e67416464726573733a20537472696e672c0a2020202020202020202020206e6574776f726b696e674b65793a20537472696e672c0a2020202020202020202020207374616b696e674b65793a20537472696e672c0a202020202020202020202020616d6f756e743a205546697836342c0a2020202020202020202020207075626c69634b6579733a205b43727970746f2e4b65794c697374456e7472795d3f29207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a0a20202020202020206966206c6574206d616368696e654163636f756e74203d2073656c662e7374616b696e67436f6c6c656374696f6e5265662e72656769737465724e6f6465280a20202020202020202020202069643a2069642c0a202020202020202020202020726f6c653a20726f6c652c0a2020202020202020202020206e6574776f726b696e67416464726573733a206e6574776f726b696e67416464726573732c0a2020202020202020202020206e6574776f726b696e674b65793a206e6574776f726b696e674b65792c0a2020202020202020202020207374616b696e674b65793a207374616b696e674b65792c0a202020202020202020202020616d6f756e743a20616d6f756e742c0a20202020202020202020202070617965723a206163636f756e7429200a20202020202020207b0a2020202020202020202020206966207075626c69634b657973203d3d206e696c207c7c207075626c69634b657973212e6c656e677468203d3d2030207b0a2020202020202020202020202020202070616e6963282243616e6e6f742070726f76696465207a65726f206b65797320666f7220746865206d616368696e65206163636f756e7422290a2020202020202020202020207d0a202020202020202020202020666f72206b657920696e207075626c69634b65797321207b0a202020202020202020202020202020206d616368696e654163636f756e742e6b6579732e616464287075626c69634b65793a206b65792e7075626c69634b65792c2068617368416c676f726974686d3a206b65792e68617368416c676f726974686d2c207765696768743a206b65792e776569676874290a2020202020202020202020207d0a20202020202020207d0a202020207d0a7d0af90279b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227d9c7b2274797065223a2255496e7438222c2276616c7565223a2231227daf7b2274797065223a22537472696e67222c2276616c7565223a22666c6f772d6e6f64652e746573743a33353639227db89c7b2274797065223a22537472696e67222c2276616c7565223a223133343833303762633737633638386538303034396465396430383161613039373535646133336536393937363035666130353964623231343466633835653536306362653666376461386437346234353366353931363631386362386664333932633264623835366633653738323231646336386462316231643931346534227db8dc7b2274797065223a22537472696e67222c2276616c7565223a22396539616530643634356664356664393035303739326530623064616138326363313638366439313333616661306638316137383462333735633432616534383536376431353435653761396531393635663263316133326637336366383537356562623761393637663665346431303464326466373865623862653430393133356431326461303439396238613030373731663634326331623963343933393766323262343430343339663033366333626465653832663533303964616233227db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da07b2274797065223a224f7074696f6e616c222c2276616c7565223a6e756c6c7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", - "metadata": "029246ec9b7a5c81151156e7c2f6d356f68b1b884f88728daca46b968d9a46cd5a79de7119aea61bdafb39cc3d1f4fa17ca802c2732726a86d2c636dbc19808b685265676973746572204e6f64650007014e6f64652049440000537472696e670003014e6f646520526f6c65000155496e74380003014e6574772e20416464726573730002537472696e670003014e6574772e204b65790003537472696e670003015374616b696e67204b65790004537472696e67000301416d6f756e74000555466978363400030400035075622e204b65790006537472696e670003", - "hash": "9246ec9b7a5c81151156e7c2f6d356f68b1b884f88728daca46b968d9a46cd5a" - }, - { - "title": "SCO.03 - Register Node - 2", - "valid": true, - "chainID": "Testnet", - "payloadMessage": { - "script": "import Crypto\nimport FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// Registers a delegator in the staking collection resource\n/// for the specified node information and the amount of tokens to commit\n\ntransaction(id: String,\n role: UInt8,\n networkingAddress: String,\n networkingKey: String,\n stakingKey: String,\n amount: UFix64,\n publicKeys: [Crypto.KeyListEntry]?) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n\n if let machineAccount = self.stakingCollectionRef.registerNode(\n id: id,\n role: role,\n networkingAddress: networkingAddress,\n networkingKey: networkingKey,\n stakingKey: stakingKey,\n amount: amount,\n payer: account) \n {\n if publicKeys == nil || publicKeys!.length == 0 {\n panic(\"Cannot provide zero keys for the machine account\")\n }\n for key in publicKeys! {\n machineAccount.keys.add(publicKey: key.publicKey, hashAlgorithm: key.hashAlgorithm, weight: key.weight)\n }\n }\n }\n}\n", - "arguments": [ - { - "type": "String", - "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" - }, - { - "type": "UInt8", - "value": "1" - }, - { - "type": "String", - "value": "flow-node.test:3569" - }, - { - "type": "String", - "value": "1348307bc77c688e80049de9d081aa09755da33e6997605fa059db2144fc85e560cbe6f7da8d74b453f5916618cb8fd392c2db856f3e78221dc68db1b1d914e4" - }, - { - "type": "String", - "value": "9e9ae0d645fd5fd9050792e0b0daa82cc1686d9133afa0f81a784b375c42ae48567d1545e7a9e1965f2c1a32f73cf8575ebb7a967f6e4d104d2df78eb8be409135d12da0499b8a00771f642c1b9c49397f22b440439f036c3bdee82f5309dab3" - }, - { - "type": "UFix64", - "value": "92233720368.54775808" - }, - { - "type": "Optional", - "value": { - "type": "Array", - "value": [] - } - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "99a8ac2c71d4f6bd", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "99a8ac2c71d4f6bd", - "authorizers": [ - "99a8ac2c71d4f6bd" - ] - }, - "envelopeMessage": { - "script": "import Crypto\nimport FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// Registers a delegator in the staking collection resource\n/// for the specified node information and the amount of tokens to commit\n\ntransaction(id: String,\n role: UInt8,\n networkingAddress: String,\n networkingKey: String,\n stakingKey: String,\n amount: UFix64,\n publicKeys: [Crypto.KeyListEntry]?) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n\n if let machineAccount = self.stakingCollectionRef.registerNode(\n id: id,\n role: role,\n networkingAddress: networkingAddress,\n networkingKey: networkingKey,\n stakingKey: stakingKey,\n amount: amount,\n payer: account) \n {\n if publicKeys == nil || publicKeys!.length == 0 {\n panic(\"Cannot provide zero keys for the machine account\")\n }\n for key in publicKeys! {\n machineAccount.keys.add(publicKey: key.publicKey, hashAlgorithm: key.hashAlgorithm, weight: key.weight)\n }\n }\n }\n}\n", - "arguments": [ - { - "type": "String", - "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" - }, - { - "type": "UInt8", - "value": "1" - }, - { - "type": "String", - "value": "flow-node.test:3569" - }, - { - "type": "String", - "value": "1348307bc77c688e80049de9d081aa09755da33e6997605fa059db2144fc85e560cbe6f7da8d74b453f5916618cb8fd392c2db856f3e78221dc68db1b1d914e4" - }, - { - "type": "String", - "value": "9e9ae0d645fd5fd9050792e0b0daa82cc1686d9133afa0f81a784b375c42ae48567d1545e7a9e1965f2c1a32f73cf8575ebb7a967f6e4d104d2df78eb8be409135d12da0499b8a00771f642c1b9c49397f22b440439f036c3bdee82f5309dab3" - }, - { - "type": "UFix64", - "value": "92233720368.54775808" - }, - { - "type": "Optional", - "value": { - "type": "Array", - "value": [] - } - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "99a8ac2c71d4f6bd", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "99a8ac2c71d4f6bd", - "authorizers": [ - "99a8ac2c71d4f6bd" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f90860b9058a696d706f72742043727970746f0a696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f2052656769737465727320612064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e207265736f757263650a2f2f2f20666f722074686520737065636966696564206e6f646520696e666f726d6174696f6e20616e642074686520616d6f756e74206f6620746f6b656e7320746f20636f6d6d69740a0a7472616e73616374696f6e2869643a20537472696e672c0a202020202020202020202020726f6c653a2055496e74382c0a2020202020202020202020206e6574776f726b696e67416464726573733a20537472696e672c0a2020202020202020202020206e6574776f726b696e674b65793a20537472696e672c0a2020202020202020202020207374616b696e674b65793a20537472696e672c0a202020202020202020202020616d6f756e743a205546697836342c0a2020202020202020202020207075626c69634b6579733a205b43727970746f2e4b65794c697374456e7472795d3f29207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a0a20202020202020206966206c6574206d616368696e654163636f756e74203d2073656c662e7374616b696e67436f6c6c656374696f6e5265662e72656769737465724e6f6465280a20202020202020202020202069643a2069642c0a202020202020202020202020726f6c653a20726f6c652c0a2020202020202020202020206e6574776f726b696e67416464726573733a206e6574776f726b696e67416464726573732c0a2020202020202020202020206e6574776f726b696e674b65793a206e6574776f726b696e674b65792c0a2020202020202020202020207374616b696e674b65793a207374616b696e674b65792c0a202020202020202020202020616d6f756e743a20616d6f756e742c0a20202020202020202020202070617965723a206163636f756e7429200a20202020202020207b0a2020202020202020202020206966207075626c69634b657973203d3d206e696c207c7c207075626c69634b657973212e6c656e677468203d3d2030207b0a2020202020202020202020202020202070616e6963282243616e6e6f742070726f76696465207a65726f206b65797320666f7220746865206d616368696e65206163636f756e7422290a2020202020202020202020207d0a202020202020202020202020666f72206b657920696e207075626c69634b65797321207b0a202020202020202020202020202020206d616368696e654163636f756e742e6b6579732e616464287075626c69634b65793a206b65792e7075626c69634b65792c2068617368416c676f726974686d3a206b65792e68617368416c676f726974686d2c207765696768743a206b65792e776569676874290a2020202020202020202020207d0a20202020202020207d0a202020207d0a7d0af90290b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227d9c7b2274797065223a2255496e7438222c2276616c7565223a2231227daf7b2274797065223a22537472696e67222c2276616c7565223a22666c6f772d6e6f64652e746573743a33353639227db89c7b2274797065223a22537472696e67222c2276616c7565223a223133343833303762633737633638386538303034396465396430383161613039373535646133336536393937363035666130353964623231343466633835653536306362653666376461386437346234353366353931363631386362386664333932633264623835366633653738323231646336386462316231643931346534227db8dc7b2274797065223a22537472696e67222c2276616c7565223a22396539616530643634356664356664393035303739326530623064616138326363313638366439313333616661306638316137383462333735633432616534383536376431353435653761396531393635663263316133326637336366383537356562623761393637663665346431303464326466373865623862653430393133356431326461303439396238613030373731663634326331623963343933393766323262343430343339663033366333626465653832663533303964616233227db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227db77b2274797065223a224f7074696f6e616c222c2276616c7565223a7b2274797065223a224172726179222c2276616c7565223a5b5d7d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", - "encodedTransactionEnvelopeHex": "f90864f90860b9058a696d706f72742043727970746f0a696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f2052656769737465727320612064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e207265736f757263650a2f2f2f20666f722074686520737065636966696564206e6f646520696e666f726d6174696f6e20616e642074686520616d6f756e74206f6620746f6b656e7320746f20636f6d6d69740a0a7472616e73616374696f6e2869643a20537472696e672c0a202020202020202020202020726f6c653a2055496e74382c0a2020202020202020202020206e6574776f726b696e67416464726573733a20537472696e672c0a2020202020202020202020206e6574776f726b696e674b65793a20537472696e672c0a2020202020202020202020207374616b696e674b65793a20537472696e672c0a202020202020202020202020616d6f756e743a205546697836342c0a2020202020202020202020207075626c69634b6579733a205b43727970746f2e4b65794c697374456e7472795d3f29207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a0a20202020202020206966206c6574206d616368696e654163636f756e74203d2073656c662e7374616b696e67436f6c6c656374696f6e5265662e72656769737465724e6f6465280a20202020202020202020202069643a2069642c0a202020202020202020202020726f6c653a20726f6c652c0a2020202020202020202020206e6574776f726b696e67416464726573733a206e6574776f726b696e67416464726573732c0a2020202020202020202020206e6574776f726b696e674b65793a206e6574776f726b696e674b65792c0a2020202020202020202020207374616b696e674b65793a207374616b696e674b65792c0a202020202020202020202020616d6f756e743a20616d6f756e742c0a20202020202020202020202070617965723a206163636f756e7429200a20202020202020207b0a2020202020202020202020206966207075626c69634b657973203d3d206e696c207c7c207075626c69634b657973212e6c656e677468203d3d2030207b0a2020202020202020202020202020202070616e6963282243616e6e6f742070726f76696465207a65726f206b65797320666f7220746865206d616368696e65206163636f756e7422290a2020202020202020202020207d0a202020202020202020202020666f72206b657920696e207075626c69634b65797321207b0a202020202020202020202020202020206d616368696e654163636f756e742e6b6579732e616464287075626c69634b65793a206b65792e7075626c69634b65792c2068617368416c676f726974686d3a206b65792e68617368416c676f726974686d2c207765696768743a206b65792e776569676874290a2020202020202020202020207d0a20202020202020207d0a202020207d0a7d0af90290b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227d9c7b2274797065223a2255496e7438222c2276616c7565223a2231227daf7b2274797065223a22537472696e67222c2276616c7565223a22666c6f772d6e6f64652e746573743a33353639227db89c7b2274797065223a22537472696e67222c2276616c7565223a223133343833303762633737633638386538303034396465396430383161613039373535646133336536393937363035666130353964623231343466633835653536306362653666376461386437346234353366353931363631386362386664333932633264623835366633653738323231646336386462316231643931346534227db8dc7b2274797065223a22537472696e67222c2276616c7565223a22396539616530643634356664356664393035303739326530623064616138326363313638366439313333616661306638316137383462333735633432616534383536376431353435653761396531393635663263316133326637336366383537356562623761393637663665346431303464326466373865623862653430393133356431326461303439396238613030373731663634326331623963343933393766323262343430343339663033366333626465653832663533303964616233227db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227db77b2274797065223a224f7074696f6e616c222c2276616c7565223a7b2274797065223a224172726179222c2276616c7565223a5b5d7d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", - "metadata": "029246ec9b7a5c81151156e7c2f6d356f68b1b884f88728daca46b968d9a46cd5a79de7119aea61bdafb39cc3d1f4fa17ca802c2732726a86d2c636dbc19808b685265676973746572204e6f64650007014e6f64652049440000537472696e670003014e6f646520526f6c65000155496e74380003014e6574772e20416464726573730002537472696e670003014e6574772e204b65790003537472696e670003015374616b696e67204b65790004537472696e67000301416d6f756e74000555466978363400030400035075622e204b65790006537472696e670003", - "hash": "9246ec9b7a5c81151156e7c2f6d356f68b1b884f88728daca46b968d9a46cd5a" - }, - { - "title": "SCO.03 - Register Node - 3", - "valid": true, - "chainID": "Testnet", - "payloadMessage": { - "script": "import Crypto\nimport FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// Registers a delegator in the staking collection resource\n/// for the specified node information and the amount of tokens to commit\n\ntransaction(id: String,\n role: UInt8,\n networkingAddress: String,\n networkingKey: String,\n stakingKey: String,\n amount: UFix64,\n publicKeys: [Crypto.KeyListEntry]?) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n\n if let machineAccount = self.stakingCollectionRef.registerNode(\n id: id,\n role: role,\n networkingAddress: networkingAddress,\n networkingKey: networkingKey,\n stakingKey: stakingKey,\n amount: amount,\n payer: account) \n {\n if publicKeys == nil || publicKeys!.length == 0 {\n panic(\"Cannot provide zero keys for the machine account\")\n }\n for key in publicKeys! {\n machineAccount.keys.add(publicKey: key.publicKey, hashAlgorithm: key.hashAlgorithm, weight: key.weight)\n }\n }\n }\n}\n", - "arguments": [ - { - "type": "String", - "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" - }, - { - "type": "UInt8", - "value": "1" - }, - { - "type": "String", - "value": "flow-node.test:3569" - }, - { - "type": "String", - "value": "1348307bc77c688e80049de9d081aa09755da33e6997605fa059db2144fc85e560cbe6f7da8d74b453f5916618cb8fd392c2db856f3e78221dc68db1b1d914e4" - }, - { - "type": "String", - "value": "9e9ae0d645fd5fd9050792e0b0daa82cc1686d9133afa0f81a784b375c42ae48567d1545e7a9e1965f2c1a32f73cf8575ebb7a967f6e4d104d2df78eb8be409135d12da0499b8a00771f642c1b9c49397f22b440439f036c3bdee82f5309dab3" - }, - { - "type": "UFix64", - "value": "92233720368.54775808" - }, - { - "type": "Optional", - "value": { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164" - } - ] - } - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "99a8ac2c71d4f6bd", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "99a8ac2c71d4f6bd", - "authorizers": [ - "99a8ac2c71d4f6bd" - ] - }, - "envelopeMessage": { - "script": "import Crypto\nimport FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// Registers a delegator in the staking collection resource\n/// for the specified node information and the amount of tokens to commit\n\ntransaction(id: String,\n role: UInt8,\n networkingAddress: String,\n networkingKey: String,\n stakingKey: String,\n amount: UFix64,\n publicKeys: [Crypto.KeyListEntry]?) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n\n if let machineAccount = self.stakingCollectionRef.registerNode(\n id: id,\n role: role,\n networkingAddress: networkingAddress,\n networkingKey: networkingKey,\n stakingKey: stakingKey,\n amount: amount,\n payer: account) \n {\n if publicKeys == nil || publicKeys!.length == 0 {\n panic(\"Cannot provide zero keys for the machine account\")\n }\n for key in publicKeys! {\n machineAccount.keys.add(publicKey: key.publicKey, hashAlgorithm: key.hashAlgorithm, weight: key.weight)\n }\n }\n }\n}\n", - "arguments": [ - { - "type": "String", - "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" - }, - { - "type": "UInt8", - "value": "1" - }, - { - "type": "String", - "value": "flow-node.test:3569" - }, - { - "type": "String", - "value": "1348307bc77c688e80049de9d081aa09755da33e6997605fa059db2144fc85e560cbe6f7da8d74b453f5916618cb8fd392c2db856f3e78221dc68db1b1d914e4" - }, - { - "type": "String", - "value": "9e9ae0d645fd5fd9050792e0b0daa82cc1686d9133afa0f81a784b375c42ae48567d1545e7a9e1965f2c1a32f73cf8575ebb7a967f6e4d104d2df78eb8be409135d12da0499b8a00771f642c1b9c49397f22b440439f036c3bdee82f5309dab3" - }, - { - "type": "UFix64", - "value": "92233720368.54775808" - }, - { - "type": "Optional", - "value": { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164" - } - ] - } - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "99a8ac2c71d4f6bd", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "99a8ac2c71d4f6bd", - "authorizers": [ - "99a8ac2c71d4f6bd" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f9090bb9058a696d706f72742043727970746f0a696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f2052656769737465727320612064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e207265736f757263650a2f2f2f20666f722074686520737065636966696564206e6f646520696e666f726d6174696f6e20616e642074686520616d6f756e74206f6620746f6b656e7320746f20636f6d6d69740a0a7472616e73616374696f6e2869643a20537472696e672c0a202020202020202020202020726f6c653a2055496e74382c0a2020202020202020202020206e6574776f726b696e67416464726573733a20537472696e672c0a2020202020202020202020206e6574776f726b696e674b65793a20537472696e672c0a2020202020202020202020207374616b696e674b65793a20537472696e672c0a202020202020202020202020616d6f756e743a205546697836342c0a2020202020202020202020207075626c69634b6579733a205b43727970746f2e4b65794c697374456e7472795d3f29207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a0a20202020202020206966206c6574206d616368696e654163636f756e74203d2073656c662e7374616b696e67436f6c6c656374696f6e5265662e72656769737465724e6f6465280a20202020202020202020202069643a2069642c0a202020202020202020202020726f6c653a20726f6c652c0a2020202020202020202020206e6574776f726b696e67416464726573733a206e6574776f726b696e67416464726573732c0a2020202020202020202020206e6574776f726b696e674b65793a206e6574776f726b696e674b65792c0a2020202020202020202020207374616b696e674b65793a207374616b696e674b65792c0a202020202020202020202020616d6f756e743a20616d6f756e742c0a20202020202020202020202070617965723a206163636f756e7429200a20202020202020207b0a2020202020202020202020206966207075626c69634b657973203d3d206e696c207c7c207075626c69634b657973212e6c656e677468203d3d2030207b0a2020202020202020202020202020202070616e6963282243616e6e6f742070726f76696465207a65726f206b65797320666f7220746865206d616368696e65206163636f756e7422290a2020202020202020202020207d0a202020202020202020202020666f72206b657920696e207075626c69634b65797321207b0a202020202020202020202020202020206d616368696e654163636f756e742e6b6579732e616464287075626c69634b65793a206b65792e7075626c69634b65792c2068617368416c676f726974686d3a206b65792e68617368416c676f726974686d2c207765696768743a206b65792e776569676874290a2020202020202020202020207d0a20202020202020207d0a202020207d0a7d0af9033bb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227d9c7b2274797065223a2255496e7438222c2276616c7565223a2231227daf7b2274797065223a22537472696e67222c2276616c7565223a22666c6f772d6e6f64652e746573743a33353639227db89c7b2274797065223a22537472696e67222c2276616c7565223a223133343833303762633737633638386538303034396465396430383161613039373535646133336536393937363035666130353964623231343466633835653536306362653666376461386437346234353366353931363631386362386664333932633264623835366633653738323231646336386462316231643931346534227db8dc7b2274797065223a22537472696e67222c2276616c7565223a22396539616530643634356664356664393035303739326530623064616138326363313638366439313333616661306638316137383462333735633432616534383536376431353435653761396531393635663263316133326637336366383537356562623761393637663665346431303464326466373865623862653430393133356431326461303439396238613030373731663634326331623963343933393766323262343430343339663033366333626465653832663533303964616233227db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227db8e17b2274797065223a224f7074696f6e616c222c2276616c7565223a7b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634227d5d7d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", - "encodedTransactionEnvelopeHex": "f9090ff9090bb9058a696d706f72742043727970746f0a696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f2052656769737465727320612064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e207265736f757263650a2f2f2f20666f722074686520737065636966696564206e6f646520696e666f726d6174696f6e20616e642074686520616d6f756e74206f6620746f6b656e7320746f20636f6d6d69740a0a7472616e73616374696f6e2869643a20537472696e672c0a202020202020202020202020726f6c653a2055496e74382c0a2020202020202020202020206e6574776f726b696e67416464726573733a20537472696e672c0a2020202020202020202020206e6574776f726b696e674b65793a20537472696e672c0a2020202020202020202020207374616b696e674b65793a20537472696e672c0a202020202020202020202020616d6f756e743a205546697836342c0a2020202020202020202020207075626c69634b6579733a205b43727970746f2e4b65794c697374456e7472795d3f29207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a0a20202020202020206966206c6574206d616368696e654163636f756e74203d2073656c662e7374616b696e67436f6c6c656374696f6e5265662e72656769737465724e6f6465280a20202020202020202020202069643a2069642c0a202020202020202020202020726f6c653a20726f6c652c0a2020202020202020202020206e6574776f726b696e67416464726573733a206e6574776f726b696e67416464726573732c0a2020202020202020202020206e6574776f726b696e674b65793a206e6574776f726b696e674b65792c0a2020202020202020202020207374616b696e674b65793a207374616b696e674b65792c0a202020202020202020202020616d6f756e743a20616d6f756e742c0a20202020202020202020202070617965723a206163636f756e7429200a20202020202020207b0a2020202020202020202020206966207075626c69634b657973203d3d206e696c207c7c207075626c69634b657973212e6c656e677468203d3d2030207b0a2020202020202020202020202020202070616e6963282243616e6e6f742070726f76696465207a65726f206b65797320666f7220746865206d616368696e65206163636f756e7422290a2020202020202020202020207d0a202020202020202020202020666f72206b657920696e207075626c69634b65797321207b0a202020202020202020202020202020206d616368696e654163636f756e742e6b6579732e616464287075626c69634b65793a206b65792e7075626c69634b65792c2068617368416c676f726974686d3a206b65792e68617368416c676f726974686d2c207765696768743a206b65792e776569676874290a2020202020202020202020207d0a20202020202020207d0a202020207d0a7d0af9033bb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227d9c7b2274797065223a2255496e7438222c2276616c7565223a2231227daf7b2274797065223a22537472696e67222c2276616c7565223a22666c6f772d6e6f64652e746573743a33353639227db89c7b2274797065223a22537472696e67222c2276616c7565223a223133343833303762633737633638386538303034396465396430383161613039373535646133336536393937363035666130353964623231343466633835653536306362653666376461386437346234353366353931363631386362386664333932633264623835366633653738323231646336386462316231643931346534227db8dc7b2274797065223a22537472696e67222c2276616c7565223a22396539616530643634356664356664393035303739326530623064616138326363313638366439313333616661306638316137383462333735633432616534383536376431353435653761396531393635663263316133326637336366383537356562623761393637663665346431303464326466373865623862653430393133356431326461303439396238613030373731663634326331623963343933393766323262343430343339663033366333626465653832663533303964616233227db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227db8e17b2274797065223a224f7074696f6e616c222c2276616c7565223a7b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634227d5d7d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", - "metadata": "029246ec9b7a5c81151156e7c2f6d356f68b1b884f88728daca46b968d9a46cd5a79de7119aea61bdafb39cc3d1f4fa17ca802c2732726a86d2c636dbc19808b685265676973746572204e6f64650007014e6f64652049440000537472696e670003014e6f646520526f6c65000155496e74380003014e6574772e20416464726573730002537472696e670003014e6574772e204b65790003537472696e670003015374616b696e67204b65790004537472696e67000301416d6f756e74000555466978363400030400035075622e204b65790006537472696e670003", - "hash": "9246ec9b7a5c81151156e7c2f6d356f68b1b884f88728daca46b968d9a46cd5a" - }, - { - "title": "SCO.03 - Register Node - 4", - "valid": true, - "chainID": "Testnet", - "payloadMessage": { - "script": "import Crypto\nimport FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// Registers a delegator in the staking collection resource\n/// for the specified node information and the amount of tokens to commit\n\ntransaction(id: String,\n role: UInt8,\n networkingAddress: String,\n networkingKey: String,\n stakingKey: String,\n amount: UFix64,\n publicKeys: [Crypto.KeyListEntry]?) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n\n if let machineAccount = self.stakingCollectionRef.registerNode(\n id: id,\n role: role,\n networkingAddress: networkingAddress,\n networkingKey: networkingKey,\n stakingKey: stakingKey,\n amount: amount,\n payer: account) \n {\n if publicKeys == nil || publicKeys!.length == 0 {\n panic(\"Cannot provide zero keys for the machine account\")\n }\n for key in publicKeys! {\n machineAccount.keys.add(publicKey: key.publicKey, hashAlgorithm: key.hashAlgorithm, weight: key.weight)\n }\n }\n }\n}\n", - "arguments": [ - { - "type": "String", - "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" - }, - { - "type": "UInt8", - "value": "1" - }, - { - "type": "String", - "value": "flow-node.test:3569" - }, - { - "type": "String", - "value": "1348307bc77c688e80049de9d081aa09755da33e6997605fa059db2144fc85e560cbe6f7da8d74b453f5916618cb8fd392c2db856f3e78221dc68db1b1d914e4" - }, - { - "type": "String", - "value": "9e9ae0d645fd5fd9050792e0b0daa82cc1686d9133afa0f81a784b375c42ae48567d1545e7a9e1965f2c1a32f73cf8575ebb7a967f6e4d104d2df78eb8be409135d12da0499b8a00771f642c1b9c49397f22b440439f036c3bdee82f5309dab3" - }, - { - "type": "UFix64", - "value": "92233720368.54775808" - }, - { - "type": "Optional", - "value": { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164" - }, - { - "type": "String", - "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164" - }, - { - "type": "String", - "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164" - } - ] - } - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "99a8ac2c71d4f6bd", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "99a8ac2c71d4f6bd", - "authorizers": [ - "99a8ac2c71d4f6bd" - ] - }, - "envelopeMessage": { - "script": "import Crypto\nimport FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// Registers a delegator in the staking collection resource\n/// for the specified node information and the amount of tokens to commit\n\ntransaction(id: String,\n role: UInt8,\n networkingAddress: String,\n networkingKey: String,\n stakingKey: String,\n amount: UFix64,\n publicKeys: [Crypto.KeyListEntry]?) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n\n if let machineAccount = self.stakingCollectionRef.registerNode(\n id: id,\n role: role,\n networkingAddress: networkingAddress,\n networkingKey: networkingKey,\n stakingKey: stakingKey,\n amount: amount,\n payer: account) \n {\n if publicKeys == nil || publicKeys!.length == 0 {\n panic(\"Cannot provide zero keys for the machine account\")\n }\n for key in publicKeys! {\n machineAccount.keys.add(publicKey: key.publicKey, hashAlgorithm: key.hashAlgorithm, weight: key.weight)\n }\n }\n }\n}\n", - "arguments": [ - { - "type": "String", - "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" - }, - { - "type": "UInt8", - "value": "1" - }, - { - "type": "String", - "value": "flow-node.test:3569" - }, - { - "type": "String", - "value": "1348307bc77c688e80049de9d081aa09755da33e6997605fa059db2144fc85e560cbe6f7da8d74b453f5916618cb8fd392c2db856f3e78221dc68db1b1d914e4" - }, - { - "type": "String", - "value": "9e9ae0d645fd5fd9050792e0b0daa82cc1686d9133afa0f81a784b375c42ae48567d1545e7a9e1965f2c1a32f73cf8575ebb7a967f6e4d104d2df78eb8be409135d12da0499b8a00771f642c1b9c49397f22b440439f036c3bdee82f5309dab3" - }, - { - "type": "UFix64", - "value": "92233720368.54775808" - }, - { - "type": "Optional", - "value": { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164" - }, - { - "type": "String", - "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164" - }, - { - "type": "String", - "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164" - } - ] - } - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "99a8ac2c71d4f6bd", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "99a8ac2c71d4f6bd", - "authorizers": [ - "99a8ac2c71d4f6bd" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f90a62b9058a696d706f72742043727970746f0a696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f2052656769737465727320612064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e207265736f757263650a2f2f2f20666f722074686520737065636966696564206e6f646520696e666f726d6174696f6e20616e642074686520616d6f756e74206f6620746f6b656e7320746f20636f6d6d69740a0a7472616e73616374696f6e2869643a20537472696e672c0a202020202020202020202020726f6c653a2055496e74382c0a2020202020202020202020206e6574776f726b696e67416464726573733a20537472696e672c0a2020202020202020202020206e6574776f726b696e674b65793a20537472696e672c0a2020202020202020202020207374616b696e674b65793a20537472696e672c0a202020202020202020202020616d6f756e743a205546697836342c0a2020202020202020202020207075626c69634b6579733a205b43727970746f2e4b65794c697374456e7472795d3f29207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a0a20202020202020206966206c6574206d616368696e654163636f756e74203d2073656c662e7374616b696e67436f6c6c656374696f6e5265662e72656769737465724e6f6465280a20202020202020202020202069643a2069642c0a202020202020202020202020726f6c653a20726f6c652c0a2020202020202020202020206e6574776f726b696e67416464726573733a206e6574776f726b696e67416464726573732c0a2020202020202020202020206e6574776f726b696e674b65793a206e6574776f726b696e674b65792c0a2020202020202020202020207374616b696e674b65793a207374616b696e674b65792c0a202020202020202020202020616d6f756e743a20616d6f756e742c0a20202020202020202020202070617965723a206163636f756e7429200a20202020202020207b0a2020202020202020202020206966207075626c69634b657973203d3d206e696c207c7c207075626c69634b657973212e6c656e677468203d3d2030207b0a2020202020202020202020202020202070616e6963282243616e6e6f742070726f76696465207a65726f206b65797320666f7220746865206d616368696e65206163636f756e7422290a2020202020202020202020207d0a202020202020202020202020666f72206b657920696e207075626c69634b65797321207b0a202020202020202020202020202020206d616368696e654163636f756e742e6b6579732e616464287075626c69634b65793a206b65792e7075626c69634b65792c2068617368416c676f726974686d3a206b65792e68617368416c676f726974686d2c207765696768743a206b65792e776569676874290a2020202020202020202020207d0a20202020202020207d0a202020207d0a7d0af90492b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227d9c7b2274797065223a2255496e7438222c2276616c7565223a2231227daf7b2274797065223a22537472696e67222c2276616c7565223a22666c6f772d6e6f64652e746573743a33353639227db89c7b2274797065223a22537472696e67222c2276616c7565223a223133343833303762633737633638386538303034396465396430383161613039373535646133336536393937363035666130353964623231343466633835653536306362653666376461386437346234353366353931363631386362386664333932633264623835366633653738323231646336386462316231643931346534227db8dc7b2274797065223a22537472696e67222c2276616c7565223a22396539616530643634356664356664393035303739326530623064616138326363313638366439313333616661306638316137383462333735633432616534383536376431353435653761396531393635663263316133326637336366383537356562623761393637663665346431303464326466373865623862653430393133356431326461303439396238613030373731663634326331623963343933393766323262343430343339663033366333626465653832663533303964616233227db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227db902377b2274797065223a224f7074696f6e616c222c2276616c7565223a7b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634227d2c7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634227d2c7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634227d5d7d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", - "encodedTransactionEnvelopeHex": "f90a66f90a62b9058a696d706f72742043727970746f0a696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f2052656769737465727320612064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e207265736f757263650a2f2f2f20666f722074686520737065636966696564206e6f646520696e666f726d6174696f6e20616e642074686520616d6f756e74206f6620746f6b656e7320746f20636f6d6d69740a0a7472616e73616374696f6e2869643a20537472696e672c0a202020202020202020202020726f6c653a2055496e74382c0a2020202020202020202020206e6574776f726b696e67416464726573733a20537472696e672c0a2020202020202020202020206e6574776f726b696e674b65793a20537472696e672c0a2020202020202020202020207374616b696e674b65793a20537472696e672c0a202020202020202020202020616d6f756e743a205546697836342c0a2020202020202020202020207075626c69634b6579733a205b43727970746f2e4b65794c697374456e7472795d3f29207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a0a20202020202020206966206c6574206d616368696e654163636f756e74203d2073656c662e7374616b696e67436f6c6c656374696f6e5265662e72656769737465724e6f6465280a20202020202020202020202069643a2069642c0a202020202020202020202020726f6c653a20726f6c652c0a2020202020202020202020206e6574776f726b696e67416464726573733a206e6574776f726b696e67416464726573732c0a2020202020202020202020206e6574776f726b696e674b65793a206e6574776f726b696e674b65792c0a2020202020202020202020207374616b696e674b65793a207374616b696e674b65792c0a202020202020202020202020616d6f756e743a20616d6f756e742c0a20202020202020202020202070617965723a206163636f756e7429200a20202020202020207b0a2020202020202020202020206966207075626c69634b657973203d3d206e696c207c7c207075626c69634b657973212e6c656e677468203d3d2030207b0a2020202020202020202020202020202070616e6963282243616e6e6f742070726f76696465207a65726f206b65797320666f7220746865206d616368696e65206163636f756e7422290a2020202020202020202020207d0a202020202020202020202020666f72206b657920696e207075626c69634b65797321207b0a202020202020202020202020202020206d616368696e654163636f756e742e6b6579732e616464287075626c69634b65793a206b65792e7075626c69634b65792c2068617368416c676f726974686d3a206b65792e68617368416c676f726974686d2c207765696768743a206b65792e776569676874290a2020202020202020202020207d0a20202020202020207d0a202020207d0a7d0af90492b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227d9c7b2274797065223a2255496e7438222c2276616c7565223a2231227daf7b2274797065223a22537472696e67222c2276616c7565223a22666c6f772d6e6f64652e746573743a33353639227db89c7b2274797065223a22537472696e67222c2276616c7565223a223133343833303762633737633638386538303034396465396430383161613039373535646133336536393937363035666130353964623231343466633835653536306362653666376461386437346234353366353931363631386362386664333932633264623835366633653738323231646336386462316231643931346534227db8dc7b2274797065223a22537472696e67222c2276616c7565223a22396539616530643634356664356664393035303739326530623064616138326363313638366439313333616661306638316137383462333735633432616534383536376431353435653761396531393635663263316133326637336366383537356562623761393637663665346431303464326466373865623862653430393133356431326461303439396238613030373731663634326331623963343933393766323262343430343339663033366333626465653832663533303964616233227db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227db902377b2274797065223a224f7074696f6e616c222c2276616c7565223a7b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634227d2c7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634227d2c7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634227d5d7d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", - "metadata": "029246ec9b7a5c81151156e7c2f6d356f68b1b884f88728daca46b968d9a46cd5a79de7119aea61bdafb39cc3d1f4fa17ca802c2732726a86d2c636dbc19808b685265676973746572204e6f64650007014e6f64652049440000537472696e670003014e6f646520526f6c65000155496e74380003014e6574772e20416464726573730002537472696e670003014e6574772e204b65790003537472696e670003015374616b696e67204b65790004537472696e67000301416d6f756e74000555466978363400030400035075622e204b65790006537472696e670003", - "hash": "9246ec9b7a5c81151156e7c2f6d356f68b1b884f88728daca46b968d9a46cd5a" - }, - { - "title": "SCO.04 - Create Machine Account - 1", - "valid": true, - "chainID": "Testnet", - "payloadMessage": { - "script": "import Crypto\nimport FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// Creates a machine account for a node that is already in the staking collection\n/// and adds public keys to the new account\n\ntransaction(nodeID: String, publicKeys: [Crypto.KeyListEntry]) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n\n if let machineAccount = self.stakingCollectionRef.createMachineAccountForExistingNode(nodeID: nodeID, payer: account) {\n if publicKeys == nil || publicKeys!.length == 0 {\n panic(\"Cannot provide zero keys for the machine account\")\n }\n for key in publicKeys {\n machineAccount.keys.add(publicKey: key.publicKey, hashAlgorithm: key.hashAlgorithm, weight: key.weight)\n }\n } else {\n panic(\"Could not create a machine account for the node\")\n }\n }\n}\n", - "arguments": [ - { - "type": "String", - "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" - }, - { - "type": "Array", - "value": [] - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "99a8ac2c71d4f6bd", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "99a8ac2c71d4f6bd", - "authorizers": [ - "99a8ac2c71d4f6bd" - ] - }, - "envelopeMessage": { - "script": "import Crypto\nimport FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// Creates a machine account for a node that is already in the staking collection\n/// and adds public keys to the new account\n\ntransaction(nodeID: String, publicKeys: [Crypto.KeyListEntry]) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n\n if let machineAccount = self.stakingCollectionRef.createMachineAccountForExistingNode(nodeID: nodeID, payer: account) {\n if publicKeys == nil || publicKeys!.length == 0 {\n panic(\"Cannot provide zero keys for the machine account\")\n }\n for key in publicKeys {\n machineAccount.keys.add(publicKey: key.publicKey, hashAlgorithm: key.hashAlgorithm, weight: key.weight)\n }\n } else {\n panic(\"Could not create a machine account for the node\")\n }\n }\n}\n", - "arguments": [ - { - "type": "String", - "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" - }, - { - "type": "Array", - "value": [] - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "99a8ac2c71d4f6bd", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "99a8ac2c71d4f6bd", - "authorizers": [ - "99a8ac2c71d4f6bd" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f90537b90478696d706f72742043727970746f0a696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f20437265617465732061206d616368696e65206163636f756e7420666f722061206e6f6465207468617420697320616c726561647920696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f20616e642061646473207075626c6963206b65797320746f20746865206e6577206163636f756e740a0a7472616e73616374696f6e286e6f646549443a20537472696e672c207075626c69634b6579733a205b43727970746f2e4b65794c697374456e7472795d29207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a0a20202020202020206966206c6574206d616368696e654163636f756e74203d2073656c662e7374616b696e67436f6c6c656374696f6e5265662e6372656174654d616368696e654163636f756e74466f724578697374696e674e6f6465286e6f646549443a206e6f646549442c2070617965723a206163636f756e7429207b0a2020202020202020202020206966207075626c69634b657973203d3d206e696c207c7c207075626c69634b657973212e6c656e677468203d3d2030207b0a2020202020202020202020202020202070616e6963282243616e6e6f742070726f76696465207a65726f206b65797320666f7220746865206d616368696e65206163636f756e7422290a2020202020202020202020207d0a202020202020202020202020666f72206b657920696e207075626c69634b657973207b0a202020202020202020202020202020206d616368696e654163636f756e742e6b6579732e616464287075626c69634b65793a206b65792e7075626c69634b65792c2068617368416c676f726974686d3a206b65792e68617368416c676f726974686d2c207765696768743a206b65792e776569676874290a2020202020202020202020207d0a20202020202020207d20656c7365207b0a20202020202020202020202070616e69632822436f756c64206e6f74206372656174652061206d616368696e65206163636f756e7420666f7220746865206e6f646522290a20202020202020207d0a202020207d0a7d0af87ab85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227d9b7b2274797065223a224172726179222c2276616c7565223a5b5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", - "encodedTransactionEnvelopeHex": "f9053bf90537b90478696d706f72742043727970746f0a696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f20437265617465732061206d616368696e65206163636f756e7420666f722061206e6f6465207468617420697320616c726561647920696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f20616e642061646473207075626c6963206b65797320746f20746865206e6577206163636f756e740a0a7472616e73616374696f6e286e6f646549443a20537472696e672c207075626c69634b6579733a205b43727970746f2e4b65794c697374456e7472795d29207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a0a20202020202020206966206c6574206d616368696e654163636f756e74203d2073656c662e7374616b696e67436f6c6c656374696f6e5265662e6372656174654d616368696e654163636f756e74466f724578697374696e674e6f6465286e6f646549443a206e6f646549442c2070617965723a206163636f756e7429207b0a2020202020202020202020206966207075626c69634b657973203d3d206e696c207c7c207075626c69634b657973212e6c656e677468203d3d2030207b0a2020202020202020202020202020202070616e6963282243616e6e6f742070726f76696465207a65726f206b65797320666f7220746865206d616368696e65206163636f756e7422290a2020202020202020202020207d0a202020202020202020202020666f72206b657920696e207075626c69634b657973207b0a202020202020202020202020202020206d616368696e654163636f756e742e6b6579732e616464287075626c69634b65793a206b65792e7075626c69634b65792c2068617368416c676f726974686d3a206b65792e68617368416c676f726974686d2c207765696768743a206b65792e776569676874290a2020202020202020202020207d0a20202020202020207d20656c7365207b0a20202020202020202020202070616e69632822436f756c64206e6f74206372656174652061206d616368696e65206163636f756e7420666f7220746865206e6f646522290a20202020202020207d0a202020207d0a7d0af87ab85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227d9b7b2274797065223a224172726179222c2276616c7565223a5b5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", - "metadata": "0286c69d731560f3bff549c5f180eb4219bfe650ae4efec8e0c5b5ad3ebed54a92dd3b327b09087ea7f8e92a22a6b04a3c6ca33b868b430c4f15f251658c38c1b7437265617465204d616368696e65204163636f756e740002014e6f64652049440000537472696e6700030300035075622e204b65790001537472696e670003", - "hash": "86c69d731560f3bff549c5f180eb4219bfe650ae4efec8e0c5b5ad3ebed54a92" - }, - { - "title": "SCO.04 - Create Machine Account - 2", - "valid": true, - "chainID": "Testnet", - "payloadMessage": { - "script": "import Crypto\nimport FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// Creates a machine account for a node that is already in the staking collection\n/// and adds public keys to the new account\n\ntransaction(nodeID: String, publicKeys: [Crypto.KeyListEntry]) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n\n if let machineAccount = self.stakingCollectionRef.createMachineAccountForExistingNode(nodeID: nodeID, payer: account) {\n if publicKeys == nil || publicKeys!.length == 0 {\n panic(\"Cannot provide zero keys for the machine account\")\n }\n for key in publicKeys {\n machineAccount.keys.add(publicKey: key.publicKey, hashAlgorithm: key.hashAlgorithm, weight: key.weight)\n }\n } else {\n panic(\"Could not create a machine account for the node\")\n }\n }\n}\n", - "arguments": [ - { - "type": "String", - "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" - }, - { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164" - } - ] - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "99a8ac2c71d4f6bd", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "99a8ac2c71d4f6bd", - "authorizers": [ - "99a8ac2c71d4f6bd" - ] - }, - "envelopeMessage": { - "script": "import Crypto\nimport FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// Creates a machine account for a node that is already in the staking collection\n/// and adds public keys to the new account\n\ntransaction(nodeID: String, publicKeys: [Crypto.KeyListEntry]) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n\n if let machineAccount = self.stakingCollectionRef.createMachineAccountForExistingNode(nodeID: nodeID, payer: account) {\n if publicKeys == nil || publicKeys!.length == 0 {\n panic(\"Cannot provide zero keys for the machine account\")\n }\n for key in publicKeys {\n machineAccount.keys.add(publicKey: key.publicKey, hashAlgorithm: key.hashAlgorithm, weight: key.weight)\n }\n } else {\n panic(\"Could not create a machine account for the node\")\n }\n }\n}\n", - "arguments": [ - { - "type": "String", - "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" - }, - { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164" - } - ] - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "99a8ac2c71d4f6bd", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "99a8ac2c71d4f6bd", - "authorizers": [ - "99a8ac2c71d4f6bd" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f905e3b90478696d706f72742043727970746f0a696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f20437265617465732061206d616368696e65206163636f756e7420666f722061206e6f6465207468617420697320616c726561647920696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f20616e642061646473207075626c6963206b65797320746f20746865206e6577206163636f756e740a0a7472616e73616374696f6e286e6f646549443a20537472696e672c207075626c69634b6579733a205b43727970746f2e4b65794c697374456e7472795d29207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a0a20202020202020206966206c6574206d616368696e654163636f756e74203d2073656c662e7374616b696e67436f6c6c656374696f6e5265662e6372656174654d616368696e654163636f756e74466f724578697374696e674e6f6465286e6f646549443a206e6f646549442c2070617965723a206163636f756e7429207b0a2020202020202020202020206966207075626c69634b657973203d3d206e696c207c7c207075626c69634b657973212e6c656e677468203d3d2030207b0a2020202020202020202020202020202070616e6963282243616e6e6f742070726f76696465207a65726f206b65797320666f7220746865206d616368696e65206163636f756e7422290a2020202020202020202020207d0a202020202020202020202020666f72206b657920696e207075626c69634b657973207b0a202020202020202020202020202020206d616368696e654163636f756e742e6b6579732e616464287075626c69634b65793a206b65792e7075626c69634b65792c2068617368416c676f726974686d3a206b65792e68617368416c676f726974686d2c207765696768743a206b65792e776569676874290a2020202020202020202020207d0a20202020202020207d20656c7365207b0a20202020202020202020202070616e69632822436f756c64206e6f74206372656174652061206d616368696e65206163636f756e7420666f7220746865206e6f646522290a20202020202020207d0a202020207d0a7d0af90125b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db8c57b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634227d5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", - "encodedTransactionEnvelopeHex": "f905e7f905e3b90478696d706f72742043727970746f0a696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f20437265617465732061206d616368696e65206163636f756e7420666f722061206e6f6465207468617420697320616c726561647920696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f20616e642061646473207075626c6963206b65797320746f20746865206e6577206163636f756e740a0a7472616e73616374696f6e286e6f646549443a20537472696e672c207075626c69634b6579733a205b43727970746f2e4b65794c697374456e7472795d29207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a0a20202020202020206966206c6574206d616368696e654163636f756e74203d2073656c662e7374616b696e67436f6c6c656374696f6e5265662e6372656174654d616368696e654163636f756e74466f724578697374696e674e6f6465286e6f646549443a206e6f646549442c2070617965723a206163636f756e7429207b0a2020202020202020202020206966207075626c69634b657973203d3d206e696c207c7c207075626c69634b657973212e6c656e677468203d3d2030207b0a2020202020202020202020202020202070616e6963282243616e6e6f742070726f76696465207a65726f206b65797320666f7220746865206d616368696e65206163636f756e7422290a2020202020202020202020207d0a202020202020202020202020666f72206b657920696e207075626c69634b657973207b0a202020202020202020202020202020206d616368696e654163636f756e742e6b6579732e616464287075626c69634b65793a206b65792e7075626c69634b65792c2068617368416c676f726974686d3a206b65792e68617368416c676f726974686d2c207765696768743a206b65792e776569676874290a2020202020202020202020207d0a20202020202020207d20656c7365207b0a20202020202020202020202070616e69632822436f756c64206e6f74206372656174652061206d616368696e65206163636f756e7420666f7220746865206e6f646522290a20202020202020207d0a202020207d0a7d0af90125b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db8c57b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634227d5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", - "metadata": "0286c69d731560f3bff549c5f180eb4219bfe650ae4efec8e0c5b5ad3ebed54a92dd3b327b09087ea7f8e92a22a6b04a3c6ca33b868b430c4f15f251658c38c1b7437265617465204d616368696e65204163636f756e740002014e6f64652049440000537472696e6700030300035075622e204b65790001537472696e670003", - "hash": "86c69d731560f3bff549c5f180eb4219bfe650ae4efec8e0c5b5ad3ebed54a92" - }, - { - "title": "SCO.04 - Create Machine Account - 3", - "valid": true, - "chainID": "Testnet", - "payloadMessage": { - "script": "import Crypto\nimport FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// Creates a machine account for a node that is already in the staking collection\n/// and adds public keys to the new account\n\ntransaction(nodeID: String, publicKeys: [Crypto.KeyListEntry]) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n\n if let machineAccount = self.stakingCollectionRef.createMachineAccountForExistingNode(nodeID: nodeID, payer: account) {\n if publicKeys == nil || publicKeys!.length == 0 {\n panic(\"Cannot provide zero keys for the machine account\")\n }\n for key in publicKeys {\n machineAccount.keys.add(publicKey: key.publicKey, hashAlgorithm: key.hashAlgorithm, weight: key.weight)\n }\n } else {\n panic(\"Could not create a machine account for the node\")\n }\n }\n}\n", - "arguments": [ - { - "type": "String", - "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" - }, - { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164" - }, - { - "type": "String", - "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164" - }, - { - "type": "String", - "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164" - } - ] - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "99a8ac2c71d4f6bd", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "99a8ac2c71d4f6bd", - "authorizers": [ - "99a8ac2c71d4f6bd" - ] - }, - "envelopeMessage": { - "script": "import Crypto\nimport FlowStakingCollection from 0x95e019a17d0e23d7\n\n/// Creates a machine account for a node that is already in the staking collection\n/// and adds public keys to the new account\n\ntransaction(nodeID: String, publicKeys: [Crypto.KeyListEntry]) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n\n if let machineAccount = self.stakingCollectionRef.createMachineAccountForExistingNode(nodeID: nodeID, payer: account) {\n if publicKeys == nil || publicKeys!.length == 0 {\n panic(\"Cannot provide zero keys for the machine account\")\n }\n for key in publicKeys {\n machineAccount.keys.add(publicKey: key.publicKey, hashAlgorithm: key.hashAlgorithm, weight: key.weight)\n }\n } else {\n panic(\"Could not create a machine account for the node\")\n }\n }\n}\n", - "arguments": [ - { - "type": "String", - "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" - }, - { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164" - }, - { - "type": "String", - "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164" - }, - { - "type": "String", - "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164" - } - ] - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "99a8ac2c71d4f6bd", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "99a8ac2c71d4f6bd", - "authorizers": [ - "99a8ac2c71d4f6bd" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f9073ab90478696d706f72742043727970746f0a696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f20437265617465732061206d616368696e65206163636f756e7420666f722061206e6f6465207468617420697320616c726561647920696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f20616e642061646473207075626c6963206b65797320746f20746865206e6577206163636f756e740a0a7472616e73616374696f6e286e6f646549443a20537472696e672c207075626c69634b6579733a205b43727970746f2e4b65794c697374456e7472795d29207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a0a20202020202020206966206c6574206d616368696e654163636f756e74203d2073656c662e7374616b696e67436f6c6c656374696f6e5265662e6372656174654d616368696e654163636f756e74466f724578697374696e674e6f6465286e6f646549443a206e6f646549442c2070617965723a206163636f756e7429207b0a2020202020202020202020206966207075626c69634b657973203d3d206e696c207c7c207075626c69634b657973212e6c656e677468203d3d2030207b0a2020202020202020202020202020202070616e6963282243616e6e6f742070726f76696465207a65726f206b65797320666f7220746865206d616368696e65206163636f756e7422290a2020202020202020202020207d0a202020202020202020202020666f72206b657920696e207075626c69634b657973207b0a202020202020202020202020202020206d616368696e654163636f756e742e6b6579732e616464287075626c69634b65793a206b65792e7075626c69634b65792c2068617368416c676f726974686d3a206b65792e68617368416c676f726974686d2c207765696768743a206b65792e776569676874290a2020202020202020202020207d0a20202020202020207d20656c7365207b0a20202020202020202020202070616e69632822436f756c64206e6f74206372656174652061206d616368696e65206163636f756e7420666f7220746865206e6f646522290a20202020202020207d0a202020207d0a7d0af9027cb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db9021b7b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634227d2c7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634227d2c7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634227d5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", - "encodedTransactionEnvelopeHex": "f9073ef9073ab90478696d706f72742043727970746f0a696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f20437265617465732061206d616368696e65206163636f756e7420666f722061206e6f6465207468617420697320616c726561647920696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f20616e642061646473207075626c6963206b65797320746f20746865206e6577206163636f756e740a0a7472616e73616374696f6e286e6f646549443a20537472696e672c207075626c69634b6579733a205b43727970746f2e4b65794c697374456e7472795d29207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a0a20202020202020206966206c6574206d616368696e654163636f756e74203d2073656c662e7374616b696e67436f6c6c656374696f6e5265662e6372656174654d616368696e654163636f756e74466f724578697374696e674e6f6465286e6f646549443a206e6f646549442c2070617965723a206163636f756e7429207b0a2020202020202020202020206966207075626c69634b657973203d3d206e696c207c7c207075626c69634b657973212e6c656e677468203d3d2030207b0a2020202020202020202020202020202070616e6963282243616e6e6f742070726f76696465207a65726f206b65797320666f7220746865206d616368696e65206163636f756e7422290a2020202020202020202020207d0a202020202020202020202020666f72206b657920696e207075626c69634b657973207b0a202020202020202020202020202020206d616368696e654163636f756e742e6b6579732e616464287075626c69634b65793a206b65792e7075626c69634b65792c2068617368416c676f726974686d3a206b65792e68617368416c676f726974686d2c207765696768743a206b65792e776569676874290a2020202020202020202020207d0a20202020202020207d20656c7365207b0a20202020202020202020202070616e69632822436f756c64206e6f74206372656174652061206d616368696e65206163636f756e7420666f7220746865206e6f646522290a20202020202020207d0a202020207d0a7d0af9027cb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db9021b7b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634227d2c7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634227d2c7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634227d5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", - "metadata": "0286c69d731560f3bff549c5f180eb4219bfe650ae4efec8e0c5b5ad3ebed54a92dd3b327b09087ea7f8e92a22a6b04a3c6ca33b868b430c4f15f251658c38c1b7437265617465204d616368696e65204163636f756e740002014e6f64652049440000537472696e6700030300035075622e204b65790001537472696e670003", - "hash": "86c69d731560f3bff549c5f180eb4219bfe650ae4efec8e0c5b5ad3ebed54a92" - }, - { - "title": "TH.01 - Withdraw Unlocked FLOW", - "valid": true, - "chainID": "Mainnet", - "payloadMessage": { - "script": "import FungibleToken from 0xf233dcee88fe0abe\nimport FlowToken from 0x1654653399040a61\nimport LockedTokens from 0x8d0e87b65159ae63\n\ntransaction(amount: UFix64) {\n\n let holderRef: &LockedTokens.TokenHolder\n let vaultRef: &FlowToken.Vault\n\n prepare(acct: AuthAccount) {\n self.holderRef = acct.borrow<&LockedTokens.TokenHolder>(from: LockedTokens.TokenHolderStoragePath)\n ?? panic(\"Could not borrow a reference to TokenHolder\")\n\n self.vaultRef = acct.borrow<&FlowToken.Vault>(from: /storage/flowTokenVault)\n ?? panic(\"Could not borrow flow token vault ref\")\n }\n\n execute {\n self.vaultRef.deposit(from: <-self.holderRef.withdraw(amount: amount))\n }\n}\n", - "arguments": [ - { - "type": "UFix64", - "value": "92233720368.54775808" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ] - }, - "envelopeMessage": { - "script": "import FungibleToken from 0xf233dcee88fe0abe\nimport FlowToken from 0x1654653399040a61\nimport LockedTokens from 0x8d0e87b65159ae63\n\ntransaction(amount: UFix64) {\n\n let holderRef: &LockedTokens.TokenHolder\n let vaultRef: &FlowToken.Vault\n\n prepare(acct: AuthAccount) {\n self.holderRef = acct.borrow<&LockedTokens.TokenHolder>(from: LockedTokens.TokenHolderStoragePath)\n ?? panic(\"Could not borrow a reference to TokenHolder\")\n\n self.vaultRef = acct.borrow<&FlowToken.Vault>(from: /storage/flowTokenVault)\n ?? panic(\"Could not borrow flow token vault ref\")\n }\n\n execute {\n self.vaultRef.deposit(from: <-self.holderRef.withdraw(amount: amount))\n }\n}\n", - "arguments": [ - { - "type": "UFix64", - "value": "92233720368.54775808" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f90338b902c3696d706f72742046756e6769626c65546f6b656e2066726f6d203078663233336463656538386665306162650a696d706f727420466c6f77546f6b656e2066726f6d203078313635343635333339393034306136310a696d706f7274204c6f636b6564546f6b656e732066726f6d203078386430653837623635313539616536330a0a7472616e73616374696f6e28616d6f756e743a2055466978363429207b0a0a202020206c657420686f6c6465725265663a20264c6f636b6564546f6b656e732e546f6b656e486f6c6465720a202020206c6574207661756c745265663a2026466c6f77546f6b656e2e5661756c740a0a202020207072657061726528616363743a20417574684163636f756e7429207b0a202020202020202073656c662e686f6c646572526566203d20616363742e626f72726f773c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f20546f6b656e486f6c64657222290a0a202020202020202073656c662e7661756c74526566203d20616363742e626f72726f773c26466c6f77546f6b656e2e5661756c743e2866726f6d3a202f73746f726167652f666c6f77546f6b656e5661756c74290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f7720666c6f7720746f6b656e207661756c742072656622290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7661756c745265662e6465706f7369742866726f6d3a203c2d73656c662e686f6c6465725265662e776974686472617728616d6f756e743a20616d6f756e7429290a202020207d0a7d0af1b07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f9033cf90338b902c3696d706f72742046756e6769626c65546f6b656e2066726f6d203078663233336463656538386665306162650a696d706f727420466c6f77546f6b656e2066726f6d203078313635343635333339393034306136310a696d706f7274204c6f636b6564546f6b656e732066726f6d203078386430653837623635313539616536330a0a7472616e73616374696f6e28616d6f756e743a2055466978363429207b0a0a202020206c657420686f6c6465725265663a20264c6f636b6564546f6b656e732e546f6b656e486f6c6465720a202020206c6574207661756c745265663a2026466c6f77546f6b656e2e5661756c740a0a202020207072657061726528616363743a20417574684163636f756e7429207b0a202020202020202073656c662e686f6c646572526566203d20616363742e626f72726f773c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f20546f6b656e486f6c64657222290a0a202020202020202073656c662e7661756c74526566203d20616363742e626f72726f773c26466c6f77546f6b656e2e5661756c743e2866726f6d3a202f73746f726167652f666c6f77546f6b656e5661756c74290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f7720666c6f7720746f6b656e207661756c742072656622290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7661756c745265662e6465706f7369742866726f6d3a203c2d73656c662e686f6c6465725265662e776974686472617728616d6f756e743a20616d6f756e7429290a202020207d0a7d0af1b07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "026e73db6edd0190f5311f6adc5f2b1f27e9e60c68574b00ee90da867da52cdbb1a2146e3e6e7718779ce59376b88760c154d82b7d132fe2c377114ec7cf434e7b576974686472617720556e6c6f636b656420464c4f57000101416d6f756e7400005546697836340003", - "hash": "a2146e3e6e7718779ce59376b88760c154d82b7d132fe2c377114ec7cf434e7b" - }, - { - "title": "TH.02 - Deposit Unlocked FLOW", - "valid": true, - "chainID": "Mainnet", - "payloadMessage": { - "script": "import FungibleToken from 0xf233dcee88fe0abe\nimport FlowToken from 0x1654653399040a61\nimport LockedTokens from 0x8d0e87b65159ae63\n\ntransaction(amount: UFix64) {\n\n let holderRef: &LockedTokens.TokenHolder\n let vaultRef: &FlowToken.Vault\n\n prepare(acct: AuthAccount) {\n self.holderRef = acct.borrow<&LockedTokens.TokenHolder>(from: LockedTokens.TokenHolderStoragePath)\n ?? panic(\"Could not borrow a reference to TokenHolder\")\n\n self.vaultRef = acct.borrow<&FlowToken.Vault>(from: /storage/flowTokenVault)\n ?? panic(\"Could not borrow flow token vault ref\")\n }\n\n execute {\n self.holderRef.deposit(from: <-self.vaultRef.withdraw(amount: amount))\n }\n}\n", - "arguments": [ - { - "type": "UFix64", - "value": "92233720368.54775808" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ] - }, - "envelopeMessage": { - "script": "import FungibleToken from 0xf233dcee88fe0abe\nimport FlowToken from 0x1654653399040a61\nimport LockedTokens from 0x8d0e87b65159ae63\n\ntransaction(amount: UFix64) {\n\n let holderRef: &LockedTokens.TokenHolder\n let vaultRef: &FlowToken.Vault\n\n prepare(acct: AuthAccount) {\n self.holderRef = acct.borrow<&LockedTokens.TokenHolder>(from: LockedTokens.TokenHolderStoragePath)\n ?? panic(\"Could not borrow a reference to TokenHolder\")\n\n self.vaultRef = acct.borrow<&FlowToken.Vault>(from: /storage/flowTokenVault)\n ?? panic(\"Could not borrow flow token vault ref\")\n }\n\n execute {\n self.holderRef.deposit(from: <-self.vaultRef.withdraw(amount: amount))\n }\n}\n", - "arguments": [ - { - "type": "UFix64", - "value": "92233720368.54775808" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f90338b902c3696d706f72742046756e6769626c65546f6b656e2066726f6d203078663233336463656538386665306162650a696d706f727420466c6f77546f6b656e2066726f6d203078313635343635333339393034306136310a696d706f7274204c6f636b6564546f6b656e732066726f6d203078386430653837623635313539616536330a0a7472616e73616374696f6e28616d6f756e743a2055466978363429207b0a0a202020206c657420686f6c6465725265663a20264c6f636b6564546f6b656e732e546f6b656e486f6c6465720a202020206c6574207661756c745265663a2026466c6f77546f6b656e2e5661756c740a0a202020207072657061726528616363743a20417574684163636f756e7429207b0a202020202020202073656c662e686f6c646572526566203d20616363742e626f72726f773c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f20546f6b656e486f6c64657222290a0a202020202020202073656c662e7661756c74526566203d20616363742e626f72726f773c26466c6f77546f6b656e2e5661756c743e2866726f6d3a202f73746f726167652f666c6f77546f6b656e5661756c74290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f7720666c6f7720746f6b656e207661756c742072656622290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e686f6c6465725265662e6465706f7369742866726f6d3a203c2d73656c662e7661756c745265662e776974686472617728616d6f756e743a20616d6f756e7429290a202020207d0a7d0af1b07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f9033cf90338b902c3696d706f72742046756e6769626c65546f6b656e2066726f6d203078663233336463656538386665306162650a696d706f727420466c6f77546f6b656e2066726f6d203078313635343635333339393034306136310a696d706f7274204c6f636b6564546f6b656e732066726f6d203078386430653837623635313539616536330a0a7472616e73616374696f6e28616d6f756e743a2055466978363429207b0a0a202020206c657420686f6c6465725265663a20264c6f636b6564546f6b656e732e546f6b656e486f6c6465720a202020206c6574207661756c745265663a2026466c6f77546f6b656e2e5661756c740a0a202020207072657061726528616363743a20417574684163636f756e7429207b0a202020202020202073656c662e686f6c646572526566203d20616363742e626f72726f773c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f20546f6b656e486f6c64657222290a0a202020202020202073656c662e7661756c74526566203d20616363742e626f72726f773c26466c6f77546f6b656e2e5661756c743e2866726f6d3a202f73746f726167652f666c6f77546f6b656e5661756c74290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f7720666c6f7720746f6b656e207661756c742072656622290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e686f6c6465725265662e6465706f7369742866726f6d3a203c2d73656c662e7661756c745265662e776974686472617728616d6f756e743a20616d6f756e7429290a202020207d0a7d0af1b07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "020cb11c10b86d2afeae086ef511d28b14760eb854935a0b0dcfeecc85db847f4874355dc8df221bc0d170b2fe8deacd6f1f554d6beea58ad9fee7a07f740eaefe4465706f73697420556e6c6f636b656420464c4f57000101416d6f756e7400005546697836340003", - "hash": "74355dc8df221bc0d170b2fe8deacd6f1f554d6beea58ad9fee7a07f740eaefe" - }, - { - "title": "TH.06 - Register Node", - "valid": true, - "chainID": "Mainnet", - "payloadMessage": { - "script": "import FlowToken from 0x1654653399040a61\nimport LockedTokens from 0x8d0e87b65159ae63\nimport StakingProxy from 0x62430cf28c26d095\n\ntransaction(id: String, role: UInt8, networkingAddress: String, networkingKey: String, stakingKey: String, amount: UFix64) {\n\n let holderRef: &LockedTokens.TokenHolder\n\n let vaultRef: &FlowToken.Vault\n\n prepare(account: AuthAccount) {\n self.holderRef = account.borrow<&LockedTokens.TokenHolder>(from: LockedTokens.TokenHolderStoragePath)\n ?? panic(\"Could not borrow ref to TokenHolder\")\n\n self.vaultRef = account.borrow<&FlowToken.Vault>(from: /storage/flowTokenVault)\n ?? panic(\"Could not borrow flow token vault reference\")\n }\n\n execute {\n let nodeInfo = StakingProxy.NodeInfo(id: id, role: role, networkingAddress: networkingAddress, networkingKey: networkingKey, stakingKey: stakingKey)\n\n let lockedBalance = self.holderRef.getLockedAccountBalance()\n\n if amount <= lockedBalance {\n\n self.holderRef.createNodeStaker(nodeInfo: nodeInfo, amount: amount)\n\n } else if ((amount - lockedBalance) <= self.vaultRef.balance) {\n\n self.holderRef.deposit(from: <-self.vaultRef.withdraw(amount: amount - lockedBalance))\n\n self.holderRef.createNodeStaker(nodeInfo: nodeInfo, amount: amount)\n\n } else {\n panic(\"Not enough tokens to stake!\")\n }\n \n }\n}\n", - "arguments": [ - { - "type": "String", - "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" - }, - { - "type": "UInt8", - "value": "1" - }, - { - "type": "String", - "value": "flow-node.test:3569" - }, - { - "type": "String", - "value": "1348307bc77c688e80049de9d081aa09755da33e6997605fa059db2144fc85e560cbe6f7da8d74b453f5916618cb8fd392c2db856f3e78221dc68db1b1d914e4" - }, - { - "type": "String", - "value": "9e9ae0d645fd5fd9050792e0b0daa82cc1686d9133afa0f81a784b375c42ae48567d1545e7a9e1965f2c1a32f73cf8575ebb7a967f6e4d104d2df78eb8be409135d12da0499b8a00771f642c1b9c49397f22b440439f036c3bdee82f5309dab3" - }, - { - "type": "UFix64", - "value": "92233720368.54775808" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ] - }, - "envelopeMessage": { - "script": "import FlowToken from 0x1654653399040a61\nimport LockedTokens from 0x8d0e87b65159ae63\nimport StakingProxy from 0x62430cf28c26d095\n\ntransaction(id: String, role: UInt8, networkingAddress: String, networkingKey: String, stakingKey: String, amount: UFix64) {\n\n let holderRef: &LockedTokens.TokenHolder\n\n let vaultRef: &FlowToken.Vault\n\n prepare(account: AuthAccount) {\n self.holderRef = account.borrow<&LockedTokens.TokenHolder>(from: LockedTokens.TokenHolderStoragePath)\n ?? panic(\"Could not borrow ref to TokenHolder\")\n\n self.vaultRef = account.borrow<&FlowToken.Vault>(from: /storage/flowTokenVault)\n ?? panic(\"Could not borrow flow token vault reference\")\n }\n\n execute {\n let nodeInfo = StakingProxy.NodeInfo(id: id, role: role, networkingAddress: networkingAddress, networkingKey: networkingKey, stakingKey: stakingKey)\n\n let lockedBalance = self.holderRef.getLockedAccountBalance()\n\n if amount <= lockedBalance {\n\n self.holderRef.createNodeStaker(nodeInfo: nodeInfo, amount: amount)\n\n } else if ((amount - lockedBalance) <= self.vaultRef.balance) {\n\n self.holderRef.deposit(from: <-self.vaultRef.withdraw(amount: amount - lockedBalance))\n\n self.holderRef.createNodeStaker(nodeInfo: nodeInfo, amount: amount)\n\n } else {\n panic(\"Not enough tokens to stake!\")\n }\n \n }\n}\n", - "arguments": [ - { - "type": "String", - "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" - }, - { - "type": "UInt8", - "value": "1" - }, - { - "type": "String", - "value": "flow-node.test:3569" - }, - { - "type": "String", - "value": "1348307bc77c688e80049de9d081aa09755da33e6997605fa059db2144fc85e560cbe6f7da8d74b453f5916618cb8fd392c2db856f3e78221dc68db1b1d914e4" - }, - { - "type": "String", - "value": "9e9ae0d645fd5fd9050792e0b0daa82cc1686d9133afa0f81a784b375c42ae48567d1545e7a9e1965f2c1a32f73cf8575ebb7a967f6e4d104d2df78eb8be409135d12da0499b8a00771f642c1b9c49397f22b440439f036c3bdee82f5309dab3" - }, - { - "type": "UFix64", - "value": "92233720368.54775808" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f90826b90588696d706f727420466c6f77546f6b656e2066726f6d203078313635343635333339393034306136310a696d706f7274204c6f636b6564546f6b656e732066726f6d203078386430653837623635313539616536330a696d706f7274205374616b696e6750726f78792066726f6d203078363234333063663238633236643039350a0a7472616e73616374696f6e2869643a20537472696e672c20726f6c653a2055496e74382c206e6574776f726b696e67416464726573733a20537472696e672c206e6574776f726b696e674b65793a20537472696e672c207374616b696e674b65793a20537472696e672c20616d6f756e743a2055466978363429207b0a0a202020206c657420686f6c6465725265663a20264c6f636b6564546f6b656e732e546f6b656e486f6c6465720a0a202020206c6574207661756c745265663a2026466c6f77546f6b656e2e5661756c740a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e686f6c646572526566203d206163636f756e742e626f72726f773c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f20546f6b656e486f6c64657222290a0a202020202020202073656c662e7661756c74526566203d206163636f756e742e626f72726f773c26466c6f77546f6b656e2e5661756c743e2866726f6d3a202f73746f726167652f666c6f77546f6b656e5661756c74290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f7720666c6f7720746f6b656e207661756c74207265666572656e636522290a202020207d0a0a2020202065786563757465207b0a20202020202020206c6574206e6f6465496e666f203d205374616b696e6750726f78792e4e6f6465496e666f2869643a2069642c20726f6c653a20726f6c652c206e6574776f726b696e67416464726573733a206e6574776f726b696e67416464726573732c206e6574776f726b696e674b65793a206e6574776f726b696e674b65792c207374616b696e674b65793a207374616b696e674b6579290a0a20202020202020206c6574206c6f636b656442616c616e6365203d2073656c662e686f6c6465725265662e6765744c6f636b65644163636f756e7442616c616e636528290a0a2020202020202020696620616d6f756e74203c3d206c6f636b656442616c616e6365207b0a0a20202020202020202020202073656c662e686f6c6465725265662e6372656174654e6f64655374616b6572286e6f6465496e666f3a206e6f6465496e666f2c20616d6f756e743a20616d6f756e74290a0a20202020202020207d20656c7365206966202828616d6f756e74202d206c6f636b656442616c616e636529203c3d2073656c662e7661756c745265662e62616c616e636529207b0a0a20202020202020202020202073656c662e686f6c6465725265662e6465706f7369742866726f6d3a203c2d73656c662e7661756c745265662e776974686472617728616d6f756e743a20616d6f756e74202d206c6f636b656442616c616e636529290a0a20202020202020202020202073656c662e686f6c6465725265662e6372656174654e6f64655374616b6572286e6f6465496e666f3a206e6f6465496e666f2c20616d6f756e743a20616d6f756e74290a0a20202020202020207d20656c7365207b0a20202020202020202020202070616e696328224e6f7420656e6f75676820746f6b656e7320746f207374616b652122290a20202020202020207d0a20202020202020200a202020207d0a7d0af90258b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227d9c7b2274797065223a2255496e7438222c2276616c7565223a2231227daf7b2274797065223a22537472696e67222c2276616c7565223a22666c6f772d6e6f64652e746573743a33353639227db89c7b2274797065223a22537472696e67222c2276616c7565223a223133343833303762633737633638386538303034396465396430383161613039373535646133336536393937363035666130353964623231343466633835653536306362653666376461386437346234353366353931363631386362386664333932633264623835366633653738323231646336386462316231643931346534227db8dc7b2274797065223a22537472696e67222c2276616c7565223a22396539616530643634356664356664393035303739326530623064616138326363313638366439313333616661306638316137383462333735633432616534383536376431353435653761396531393635663263316133326637336366383537356562623761393637663665346431303464326466373865623862653430393133356431326461303439396238613030373731663634326331623963343933393766323262343430343339663033366333626465653832663533303964616233227db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f9082af90826b90588696d706f727420466c6f77546f6b656e2066726f6d203078313635343635333339393034306136310a696d706f7274204c6f636b6564546f6b656e732066726f6d203078386430653837623635313539616536330a696d706f7274205374616b696e6750726f78792066726f6d203078363234333063663238633236643039350a0a7472616e73616374696f6e2869643a20537472696e672c20726f6c653a2055496e74382c206e6574776f726b696e67416464726573733a20537472696e672c206e6574776f726b696e674b65793a20537472696e672c207374616b696e674b65793a20537472696e672c20616d6f756e743a2055466978363429207b0a0a202020206c657420686f6c6465725265663a20264c6f636b6564546f6b656e732e546f6b656e486f6c6465720a0a202020206c6574207661756c745265663a2026466c6f77546f6b656e2e5661756c740a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e686f6c646572526566203d206163636f756e742e626f72726f773c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f20546f6b656e486f6c64657222290a0a202020202020202073656c662e7661756c74526566203d206163636f756e742e626f72726f773c26466c6f77546f6b656e2e5661756c743e2866726f6d3a202f73746f726167652f666c6f77546f6b656e5661756c74290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f7720666c6f7720746f6b656e207661756c74207265666572656e636522290a202020207d0a0a2020202065786563757465207b0a20202020202020206c6574206e6f6465496e666f203d205374616b696e6750726f78792e4e6f6465496e666f2869643a2069642c20726f6c653a20726f6c652c206e6574776f726b696e67416464726573733a206e6574776f726b696e67416464726573732c206e6574776f726b696e674b65793a206e6574776f726b696e674b65792c207374616b696e674b65793a207374616b696e674b6579290a0a20202020202020206c6574206c6f636b656442616c616e6365203d2073656c662e686f6c6465725265662e6765744c6f636b65644163636f756e7442616c616e636528290a0a2020202020202020696620616d6f756e74203c3d206c6f636b656442616c616e6365207b0a0a20202020202020202020202073656c662e686f6c6465725265662e6372656174654e6f64655374616b6572286e6f6465496e666f3a206e6f6465496e666f2c20616d6f756e743a20616d6f756e74290a0a20202020202020207d20656c7365206966202828616d6f756e74202d206c6f636b656442616c616e636529203c3d2073656c662e7661756c745265662e62616c616e636529207b0a0a20202020202020202020202073656c662e686f6c6465725265662e6465706f7369742866726f6d3a203c2d73656c662e7661756c745265662e776974686472617728616d6f756e743a20616d6f756e74202d206c6f636b656442616c616e636529290a0a20202020202020202020202073656c662e686f6c6465725265662e6372656174654e6f64655374616b6572286e6f6465496e666f3a206e6f6465496e666f2c20616d6f756e743a20616d6f756e74290a0a20202020202020207d20656c7365207b0a20202020202020202020202070616e696328224e6f7420656e6f75676820746f6b656e7320746f207374616b652122290a20202020202020207d0a20202020202020200a202020207d0a7d0af90258b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227d9c7b2274797065223a2255496e7438222c2276616c7565223a2231227daf7b2274797065223a22537472696e67222c2276616c7565223a22666c6f772d6e6f64652e746573743a33353639227db89c7b2274797065223a22537472696e67222c2276616c7565223a223133343833303762633737633638386538303034396465396430383161613039373535646133336536393937363035666130353964623231343466633835653536306362653666376461386437346234353366353931363631386362386664333932633264623835366633653738323231646336386462316231643931346534227db8dc7b2274797065223a22537472696e67222c2276616c7565223a22396539616530643634356664356664393035303739326530623064616138326363313638366439313333616661306638316137383462333735633432616534383536376431353435653761396531393635663263316133326637336366383537356562623761393637663665346431303464326466373865623862653430393133356431326461303439396238613030373731663634326331623963343933393766323262343430343339663033366333626465653832663533303964616233227db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "02b6a3502d2205eb05ec18772c13b91cc88a056b325c2617c57948d38cab8db600b64e0e3ed9eb28789198f2b0437f55f750bfa76da99450f63be6543bde66122a5265676973746572204e6f64650006014e6f64652049440000537472696e670003014e6f646520526f6c65000155496e74380003014e6574772e20416464726573730002537472696e670003014e6574772e204b65790003537472696e670003015374616b696e67204b65790004537472696e67000301416d6f756e7400055546697836340003", - "hash": "b64e0e3ed9eb28789198f2b0437f55f750bfa76da99450f63be6543bde66122a" - }, - { - "title": "TH.08 - Stake New Locked FLOW", - "valid": true, - "chainID": "Mainnet", - "payloadMessage": { - "script": "import FlowToken from 0x1654653399040a61\nimport FungibleToken from 0xf233dcee88fe0abe\n\nimport LockedTokens from 0x8d0e87b65159ae63\nimport StakingProxy from 0x62430cf28c26d095\n\ntransaction(amount: UFix64) {\n\n let holderRef: &LockedTokens.TokenHolder\n\n let vaultRef: &FlowToken.Vault\n\n prepare(account: AuthAccount) {\n self.holderRef = account.borrow<&LockedTokens.TokenHolder>(from: LockedTokens.TokenHolderStoragePath)\n ?? panic(\"Could not borrow reference to TokenHolder\")\n\n self.vaultRef = account.borrow<&FlowToken.Vault>(from: /storage/flowTokenVault)\n ?? panic(\"Could not borrow flow token vault reference\")\n }\n\n execute {\n let stakerProxy = self.holderRef.borrowStaker()\n\n let lockedBalance = self.holderRef.getLockedAccountBalance()\n\n if amount <= lockedBalance {\n\n stakerProxy.stakeNewTokens(amount: amount)\n\n } else if ((amount - lockedBalance) <= self.vaultRef.balance) {\n\n self.holderRef.deposit(from: <-self.vaultRef.withdraw(amount: amount - lockedBalance))\n\n stakerProxy.stakeNewTokens(amount: amount)\n \n } else {\n panic(\"Not enough tokens to stake!\")\n }\n }\n}\n", - "arguments": [ - { - "type": "UFix64", - "value": "92233720368.54775808" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ] - }, - "envelopeMessage": { - "script": "import FlowToken from 0x1654653399040a61\nimport FungibleToken from 0xf233dcee88fe0abe\n\nimport LockedTokens from 0x8d0e87b65159ae63\nimport StakingProxy from 0x62430cf28c26d095\n\ntransaction(amount: UFix64) {\n\n let holderRef: &LockedTokens.TokenHolder\n\n let vaultRef: &FlowToken.Vault\n\n prepare(account: AuthAccount) {\n self.holderRef = account.borrow<&LockedTokens.TokenHolder>(from: LockedTokens.TokenHolderStoragePath)\n ?? panic(\"Could not borrow reference to TokenHolder\")\n\n self.vaultRef = account.borrow<&FlowToken.Vault>(from: /storage/flowTokenVault)\n ?? panic(\"Could not borrow flow token vault reference\")\n }\n\n execute {\n let stakerProxy = self.holderRef.borrowStaker()\n\n let lockedBalance = self.holderRef.getLockedAccountBalance()\n\n if amount <= lockedBalance {\n\n stakerProxy.stakeNewTokens(amount: amount)\n\n } else if ((amount - lockedBalance) <= self.vaultRef.balance) {\n\n self.holderRef.deposit(from: <-self.vaultRef.withdraw(amount: amount - lockedBalance))\n\n stakerProxy.stakeNewTokens(amount: amount)\n \n } else {\n panic(\"Not enough tokens to stake!\")\n }\n }\n}\n", - "arguments": [ - { - "type": "UFix64", - "value": "92233720368.54775808" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f9053eb904c9696d706f727420466c6f77546f6b656e2066726f6d203078313635343635333339393034306136310a696d706f72742046756e6769626c65546f6b656e2066726f6d203078663233336463656538386665306162650a0a696d706f7274204c6f636b6564546f6b656e732066726f6d203078386430653837623635313539616536330a696d706f7274205374616b696e6750726f78792066726f6d203078363234333063663238633236643039350a0a7472616e73616374696f6e28616d6f756e743a2055466978363429207b0a0a202020206c657420686f6c6465725265663a20264c6f636b6564546f6b656e732e546f6b656e486f6c6465720a0a202020206c6574207661756c745265663a2026466c6f77546f6b656e2e5661756c740a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e686f6c646572526566203d206163636f756e742e626f72726f773c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f20546f6b656e486f6c64657222290a0a202020202020202073656c662e7661756c74526566203d206163636f756e742e626f72726f773c26466c6f77546f6b656e2e5661756c743e2866726f6d3a202f73746f726167652f666c6f77546f6b656e5661756c74290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f7720666c6f7720746f6b656e207661756c74207265666572656e636522290a202020207d0a0a2020202065786563757465207b0a20202020202020206c6574207374616b657250726f7879203d2073656c662e686f6c6465725265662e626f72726f775374616b657228290a0a20202020202020206c6574206c6f636b656442616c616e6365203d2073656c662e686f6c6465725265662e6765744c6f636b65644163636f756e7442616c616e636528290a0a2020202020202020696620616d6f756e74203c3d206c6f636b656442616c616e6365207b0a0a2020202020202020202020207374616b657250726f78792e7374616b654e6577546f6b656e7328616d6f756e743a20616d6f756e74290a0a20202020202020207d20656c7365206966202828616d6f756e74202d206c6f636b656442616c616e636529203c3d2073656c662e7661756c745265662e62616c616e636529207b0a0a20202020202020202020202073656c662e686f6c6465725265662e6465706f7369742866726f6d3a203c2d73656c662e7661756c745265662e776974686472617728616d6f756e743a20616d6f756e74202d206c6f636b656442616c616e636529290a0a2020202020202020202020207374616b657250726f78792e7374616b654e6577546f6b656e7328616d6f756e743a20616d6f756e74290a2020202020202020202020200a20202020202020207d20656c7365207b0a20202020202020202020202070616e696328224e6f7420656e6f75676820746f6b656e7320746f207374616b652122290a20202020202020207d0a202020207d0a7d0af1b07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f90542f9053eb904c9696d706f727420466c6f77546f6b656e2066726f6d203078313635343635333339393034306136310a696d706f72742046756e6769626c65546f6b656e2066726f6d203078663233336463656538386665306162650a0a696d706f7274204c6f636b6564546f6b656e732066726f6d203078386430653837623635313539616536330a696d706f7274205374616b696e6750726f78792066726f6d203078363234333063663238633236643039350a0a7472616e73616374696f6e28616d6f756e743a2055466978363429207b0a0a202020206c657420686f6c6465725265663a20264c6f636b6564546f6b656e732e546f6b656e486f6c6465720a0a202020206c6574207661756c745265663a2026466c6f77546f6b656e2e5661756c740a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e686f6c646572526566203d206163636f756e742e626f72726f773c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f20546f6b656e486f6c64657222290a0a202020202020202073656c662e7661756c74526566203d206163636f756e742e626f72726f773c26466c6f77546f6b656e2e5661756c743e2866726f6d3a202f73746f726167652f666c6f77546f6b656e5661756c74290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f7720666c6f7720746f6b656e207661756c74207265666572656e636522290a202020207d0a0a2020202065786563757465207b0a20202020202020206c6574207374616b657250726f7879203d2073656c662e686f6c6465725265662e626f72726f775374616b657228290a0a20202020202020206c6574206c6f636b656442616c616e6365203d2073656c662e686f6c6465725265662e6765744c6f636b65644163636f756e7442616c616e636528290a0a2020202020202020696620616d6f756e74203c3d206c6f636b656442616c616e6365207b0a0a2020202020202020202020207374616b657250726f78792e7374616b654e6577546f6b656e7328616d6f756e743a20616d6f756e74290a0a20202020202020207d20656c7365206966202828616d6f756e74202d206c6f636b656442616c616e636529203c3d2073656c662e7661756c745265662e62616c616e636529207b0a0a20202020202020202020202073656c662e686f6c6465725265662e6465706f7369742866726f6d3a203c2d73656c662e7661756c745265662e776974686472617728616d6f756e743a20616d6f756e74202d206c6f636b656442616c616e636529290a0a2020202020202020202020207374616b657250726f78792e7374616b654e6577546f6b656e7328616d6f756e743a20616d6f756e74290a2020202020202020202020200a20202020202020207d20656c7365207b0a20202020202020202020202070616e696328224e6f7420656e6f75676820746f6b656e7320746f207374616b652122290a20202020202020207d0a202020207d0a7d0af1b07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "02d5689b89f53214e7ce9ba7be2bb651961f7e3036b85f9250494290da9e9ba9891929e4f38894b8641848a3c0a3b9d35495b35083d42e8a3d4c928b9db4174ee85374616b65204e6577204c6f636b656420464c4f57000101416d6f756e7400005546697836340003", - "hash": "1929e4f38894b8641848a3c0a3b9d35495b35083d42e8a3d4c928b9db4174ee8" - }, - { - "title": "TH.09 - Re-stake Unstaked FLOW", - "valid": true, - "chainID": "Mainnet", - "payloadMessage": { - "script": "import LockedTokens from 0x8d0e87b65159ae63\nimport StakingProxy from 0x62430cf28c26d095\n\ntransaction(amount: UFix64) {\n\n let holderRef: &LockedTokens.TokenHolder\n\n prepare(account: AuthAccount) {\n self.holderRef = account.borrow<&LockedTokens.TokenHolder>(from: LockedTokens.TokenHolderStoragePath)\n ?? panic(\"Could not borrow reference to TokenHolder\")\n }\n\n execute {\n let stakerProxy = self.holderRef.borrowStaker()\n\n stakerProxy.stakeUnstakedTokens(amount: amount)\n }\n}\n", - "arguments": [ - { - "type": "UFix64", - "value": "92233720368.54775808" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ] - }, - "envelopeMessage": { - "script": "import LockedTokens from 0x8d0e87b65159ae63\nimport StakingProxy from 0x62430cf28c26d095\n\ntransaction(amount: UFix64) {\n\n let holderRef: &LockedTokens.TokenHolder\n\n prepare(account: AuthAccount) {\n self.holderRef = account.borrow<&LockedTokens.TokenHolder>(from: LockedTokens.TokenHolderStoragePath)\n ?? panic(\"Could not borrow reference to TokenHolder\")\n }\n\n execute {\n let stakerProxy = self.holderRef.borrowStaker()\n\n stakerProxy.stakeUnstakedTokens(amount: amount)\n }\n}\n", - "arguments": [ - { - "type": "UFix64", - "value": "92233720368.54775808" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f9027db90208696d706f7274204c6f636b6564546f6b656e732066726f6d203078386430653837623635313539616536330a696d706f7274205374616b696e6750726f78792066726f6d203078363234333063663238633236643039350a0a7472616e73616374696f6e28616d6f756e743a2055466978363429207b0a0a202020206c657420686f6c6465725265663a20264c6f636b6564546f6b656e732e546f6b656e486f6c6465720a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e686f6c646572526566203d206163636f756e742e626f72726f773c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f20546f6b656e486f6c64657222290a202020207d0a0a2020202065786563757465207b0a20202020202020206c6574207374616b657250726f7879203d2073656c662e686f6c6465725265662e626f72726f775374616b657228290a0a20202020202020207374616b657250726f78792e7374616b65556e7374616b6564546f6b656e7328616d6f756e743a20616d6f756e74290a202020207d0a7d0af1b07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f90281f9027db90208696d706f7274204c6f636b6564546f6b656e732066726f6d203078386430653837623635313539616536330a696d706f7274205374616b696e6750726f78792066726f6d203078363234333063663238633236643039350a0a7472616e73616374696f6e28616d6f756e743a2055466978363429207b0a0a202020206c657420686f6c6465725265663a20264c6f636b6564546f6b656e732e546f6b656e486f6c6465720a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e686f6c646572526566203d206163636f756e742e626f72726f773c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f20546f6b656e486f6c64657222290a202020207d0a0a2020202065786563757465207b0a20202020202020206c6574207374616b657250726f7879203d2073656c662e686f6c6465725265662e626f72726f775374616b657228290a0a20202020202020207374616b657250726f78792e7374616b65556e7374616b6564546f6b656e7328616d6f756e743a20616d6f756e74290a202020207d0a7d0af1b07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "0223e5bfd594bb3245090e3e0bafb9cb9246fc84d30e4a35a7fde1b51085624d86677cc0ac3962ec136ca26dbec0aa942d926640ecf8418433f0db4b7925f5d0fe52652d7374616b6520556e7374616b656420464c4f57000101416d6f756e7400005546697836340003", - "hash": "677cc0ac3962ec136ca26dbec0aa942d926640ecf8418433f0db4b7925f5d0fe" - }, - { - "title": "TH.10 - Re-stake Rewarded FLOW", - "valid": true, - "chainID": "Mainnet", - "payloadMessage": { - "script": "import LockedTokens from 0x8d0e87b65159ae63\nimport StakingProxy from 0x62430cf28c26d095\n\ntransaction(amount: UFix64) {\n\n let holderRef: &LockedTokens.TokenHolder\n\n prepare(account: AuthAccount) {\n self.holderRef = account.borrow<&LockedTokens.TokenHolder>(from: LockedTokens.TokenHolderStoragePath)\n ?? panic(\"Could not borrow reference to TokenHolder\")\n }\n\n execute {\n let stakerProxy = self.holderRef.borrowStaker()\n\n stakerProxy.stakeRewardedTokens(amount: amount)\n }\n}\n", - "arguments": [ - { - "type": "UFix64", - "value": "92233720368.54775808" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ] - }, - "envelopeMessage": { - "script": "import LockedTokens from 0x8d0e87b65159ae63\nimport StakingProxy from 0x62430cf28c26d095\n\ntransaction(amount: UFix64) {\n\n let holderRef: &LockedTokens.TokenHolder\n\n prepare(account: AuthAccount) {\n self.holderRef = account.borrow<&LockedTokens.TokenHolder>(from: LockedTokens.TokenHolderStoragePath)\n ?? panic(\"Could not borrow reference to TokenHolder\")\n }\n\n execute {\n let stakerProxy = self.holderRef.borrowStaker()\n\n stakerProxy.stakeRewardedTokens(amount: amount)\n }\n}\n", - "arguments": [ - { - "type": "UFix64", - "value": "92233720368.54775808" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f9027db90208696d706f7274204c6f636b6564546f6b656e732066726f6d203078386430653837623635313539616536330a696d706f7274205374616b696e6750726f78792066726f6d203078363234333063663238633236643039350a0a7472616e73616374696f6e28616d6f756e743a2055466978363429207b0a0a202020206c657420686f6c6465725265663a20264c6f636b6564546f6b656e732e546f6b656e486f6c6465720a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e686f6c646572526566203d206163636f756e742e626f72726f773c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f20546f6b656e486f6c64657222290a202020207d0a0a2020202065786563757465207b0a20202020202020206c6574207374616b657250726f7879203d2073656c662e686f6c6465725265662e626f72726f775374616b657228290a0a20202020202020207374616b657250726f78792e7374616b655265776172646564546f6b656e7328616d6f756e743a20616d6f756e74290a202020207d0a7d0af1b07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f90281f9027db90208696d706f7274204c6f636b6564546f6b656e732066726f6d203078386430653837623635313539616536330a696d706f7274205374616b696e6750726f78792066726f6d203078363234333063663238633236643039350a0a7472616e73616374696f6e28616d6f756e743a2055466978363429207b0a0a202020206c657420686f6c6465725265663a20264c6f636b6564546f6b656e732e546f6b656e486f6c6465720a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e686f6c646572526566203d206163636f756e742e626f72726f773c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f20546f6b656e486f6c64657222290a202020207d0a0a2020202065786563757465207b0a20202020202020206c6574207374616b657250726f7879203d2073656c662e686f6c6465725265662e626f72726f775374616b657228290a0a20202020202020207374616b657250726f78792e7374616b655265776172646564546f6b656e7328616d6f756e743a20616d6f756e74290a202020207d0a7d0af1b07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "02239319825ad68178e76465b5ea18cb43f06c4ee11341f8fe9424809163a027a528d1719c5b21c88c62665db5ba04886809f3234c27057b057c36d5f265ee9de452652d7374616b6520526577617264656420464c4f57000101416d6f756e7400005546697836340003", - "hash": "28d1719c5b21c88c62665db5ba04886809f3234c27057b057c36d5f265ee9de4" - }, - { - "title": "TH.11 - Request Unstake of FLOW", - "valid": true, - "chainID": "Mainnet", - "payloadMessage": { - "script": "import LockedTokens from 0x8d0e87b65159ae63\nimport StakingProxy from 0x62430cf28c26d095\n\ntransaction(amount: UFix64) {\n\n let holderRef: &LockedTokens.TokenHolder\n\n prepare(account: AuthAccount) {\n self.holderRef = account.borrow<&LockedTokens.TokenHolder>(from: LockedTokens.TokenHolderStoragePath)\n ?? panic(\"Could not borrow reference to TokenHolder\")\n }\n\n execute {\n let stakerProxy = self.holderRef.borrowStaker()\n\n stakerProxy.requestUnstaking(amount: amount)\n }\n}\n", - "arguments": [ - { - "type": "UFix64", - "value": "92233720368.54775808" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ] - }, - "envelopeMessage": { - "script": "import LockedTokens from 0x8d0e87b65159ae63\nimport StakingProxy from 0x62430cf28c26d095\n\ntransaction(amount: UFix64) {\n\n let holderRef: &LockedTokens.TokenHolder\n\n prepare(account: AuthAccount) {\n self.holderRef = account.borrow<&LockedTokens.TokenHolder>(from: LockedTokens.TokenHolderStoragePath)\n ?? panic(\"Could not borrow reference to TokenHolder\")\n }\n\n execute {\n let stakerProxy = self.holderRef.borrowStaker()\n\n stakerProxy.requestUnstaking(amount: amount)\n }\n}\n", - "arguments": [ - { - "type": "UFix64", - "value": "92233720368.54775808" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f9027ab90205696d706f7274204c6f636b6564546f6b656e732066726f6d203078386430653837623635313539616536330a696d706f7274205374616b696e6750726f78792066726f6d203078363234333063663238633236643039350a0a7472616e73616374696f6e28616d6f756e743a2055466978363429207b0a0a202020206c657420686f6c6465725265663a20264c6f636b6564546f6b656e732e546f6b656e486f6c6465720a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e686f6c646572526566203d206163636f756e742e626f72726f773c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f20546f6b656e486f6c64657222290a202020207d0a0a2020202065786563757465207b0a20202020202020206c6574207374616b657250726f7879203d2073656c662e686f6c6465725265662e626f72726f775374616b657228290a0a20202020202020207374616b657250726f78792e72657175657374556e7374616b696e6728616d6f756e743a20616d6f756e74290a202020207d0a7d0af1b07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f9027ef9027ab90205696d706f7274204c6f636b6564546f6b656e732066726f6d203078386430653837623635313539616536330a696d706f7274205374616b696e6750726f78792066726f6d203078363234333063663238633236643039350a0a7472616e73616374696f6e28616d6f756e743a2055466978363429207b0a0a202020206c657420686f6c6465725265663a20264c6f636b6564546f6b656e732e546f6b656e486f6c6465720a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e686f6c646572526566203d206163636f756e742e626f72726f773c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f20546f6b656e486f6c64657222290a202020207d0a0a2020202065786563757465207b0a20202020202020206c6574207374616b657250726f7879203d2073656c662e686f6c6465725265662e626f72726f775374616b657228290a0a20202020202020207374616b657250726f78792e72657175657374556e7374616b696e6728616d6f756e743a20616d6f756e74290a202020207d0a7d0af1b07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "0233e3977c45e7c23c1472bcf334d00b03ebf91b06b67c57b63b562c7b1ff5c59f4e2a35541453f89c55e5dc6dbc963290380d779c81df0b3bf89c29b2a8d7a9fe5265717565737420556e7374616b65206f6620464c4f57000101416d6f756e7400005546697836340003", - "hash": "4e2a35541453f89c55e5dc6dbc963290380d779c81df0b3bf89c29b2a8d7a9fe" - }, - { - "title": "TH.12 - Unstake All FLOW", - "valid": true, - "chainID": "Mainnet", - "payloadMessage": { - "script": "import LockedTokens from 0x8d0e87b65159ae63\nimport StakingProxy from 0x62430cf28c26d095\n\ntransaction() {\n\n let holderRef: &LockedTokens.TokenHolder\n\n prepare(account: AuthAccount) {\n self.holderRef = account.borrow<&LockedTokens.TokenHolder>(from: LockedTokens.TokenHolderStoragePath)\n ?? panic(\"Could not borrow reference to TokenHolder\")\n }\n\n execute {\n let stakerProxy = self.holderRef.borrowStaker()\n\n stakerProxy.unstakeAll()\n }\n}\n", - "arguments": [], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ] - }, - "envelopeMessage": { - "script": "import LockedTokens from 0x8d0e87b65159ae63\nimport StakingProxy from 0x62430cf28c26d095\n\ntransaction() {\n\n let holderRef: &LockedTokens.TokenHolder\n\n prepare(account: AuthAccount) {\n self.holderRef = account.borrow<&LockedTokens.TokenHolder>(from: LockedTokens.TokenHolderStoragePath)\n ?? panic(\"Could not borrow reference to TokenHolder\")\n }\n\n execute {\n let stakerProxy = self.holderRef.borrowStaker()\n\n stakerProxy.unstakeAll()\n }\n}\n", - "arguments": [], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f90227b901e3696d706f7274204c6f636b6564546f6b656e732066726f6d203078386430653837623635313539616536330a696d706f7274205374616b696e6750726f78792066726f6d203078363234333063663238633236643039350a0a7472616e73616374696f6e2829207b0a0a202020206c657420686f6c6465725265663a20264c6f636b6564546f6b656e732e546f6b656e486f6c6465720a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e686f6c646572526566203d206163636f756e742e626f72726f773c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f20546f6b656e486f6c64657222290a202020207d0a0a2020202065786563757465207b0a20202020202020206c6574207374616b657250726f7879203d2073656c662e686f6c6465725265662e626f72726f775374616b657228290a0a20202020202020207374616b657250726f78792e756e7374616b65416c6c28290a202020207d0a7d0ac0a0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f9022bf90227b901e3696d706f7274204c6f636b6564546f6b656e732066726f6d203078386430653837623635313539616536330a696d706f7274205374616b696e6750726f78792066726f6d203078363234333063663238633236643039350a0a7472616e73616374696f6e2829207b0a0a202020206c657420686f6c6465725265663a20264c6f636b6564546f6b656e732e546f6b656e486f6c6465720a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e686f6c646572526566203d206163636f756e742e626f72726f773c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f20546f6b656e486f6c64657222290a202020207d0a0a2020202065786563757465207b0a20202020202020206c6574207374616b657250726f7879203d2073656c662e686f6c6465725265662e626f72726f775374616b657228290a0a20202020202020207374616b657250726f78792e756e7374616b65416c6c28290a202020207d0a7d0ac0a0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "02f92c4cd663b2e335cd821a656bb2ebcf239b222036a7825af5e512fad4d820357099904b953b062e81e2575a2c2081b3d98bfccf5c743b4bdb224b937e292dad556e7374616b6520416c6c20464c4f570000", - "hash": "7099904b953b062e81e2575a2c2081b3d98bfccf5c743b4bdb224b937e292dad" - }, - { - "title": "TH.13 - Withdraw Unstaked FLOW", - "valid": true, - "chainID": "Mainnet", - "payloadMessage": { - "script": "import LockedTokens from 0x8d0e87b65159ae63\nimport StakingProxy from 0x62430cf28c26d095\n\ntransaction(amount: UFix64) {\n\n let holderRef: &LockedTokens.TokenHolder\n\n prepare(account: AuthAccount) {\n self.holderRef = account.borrow<&LockedTokens.TokenHolder>(from: LockedTokens.TokenHolderStoragePath)\n ?? panic(\"Could not borrow reference to TokenHolder\")\n }\n\n execute {\n let stakerProxy = self.holderRef.borrowStaker()\n\n stakerProxy.withdrawUnstakedTokens(amount: amount)\n }\n}\n", - "arguments": [ - { - "type": "UFix64", - "value": "92233720368.54775808" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ] - }, - "envelopeMessage": { - "script": "import LockedTokens from 0x8d0e87b65159ae63\nimport StakingProxy from 0x62430cf28c26d095\n\ntransaction(amount: UFix64) {\n\n let holderRef: &LockedTokens.TokenHolder\n\n prepare(account: AuthAccount) {\n self.holderRef = account.borrow<&LockedTokens.TokenHolder>(from: LockedTokens.TokenHolderStoragePath)\n ?? panic(\"Could not borrow reference to TokenHolder\")\n }\n\n execute {\n let stakerProxy = self.holderRef.borrowStaker()\n\n stakerProxy.withdrawUnstakedTokens(amount: amount)\n }\n}\n", - "arguments": [ - { - "type": "UFix64", - "value": "92233720368.54775808" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f90280b9020b696d706f7274204c6f636b6564546f6b656e732066726f6d203078386430653837623635313539616536330a696d706f7274205374616b696e6750726f78792066726f6d203078363234333063663238633236643039350a0a7472616e73616374696f6e28616d6f756e743a2055466978363429207b0a0a202020206c657420686f6c6465725265663a20264c6f636b6564546f6b656e732e546f6b656e486f6c6465720a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e686f6c646572526566203d206163636f756e742e626f72726f773c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f20546f6b656e486f6c64657222290a202020207d0a0a2020202065786563757465207b0a20202020202020206c6574207374616b657250726f7879203d2073656c662e686f6c6465725265662e626f72726f775374616b657228290a0a20202020202020207374616b657250726f78792e7769746864726177556e7374616b6564546f6b656e7328616d6f756e743a20616d6f756e74290a202020207d0a7d0af1b07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f90284f90280b9020b696d706f7274204c6f636b6564546f6b656e732066726f6d203078386430653837623635313539616536330a696d706f7274205374616b696e6750726f78792066726f6d203078363234333063663238633236643039350a0a7472616e73616374696f6e28616d6f756e743a2055466978363429207b0a0a202020206c657420686f6c6465725265663a20264c6f636b6564546f6b656e732e546f6b656e486f6c6465720a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e686f6c646572526566203d206163636f756e742e626f72726f773c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f20546f6b656e486f6c64657222290a202020207d0a0a2020202065786563757465207b0a20202020202020206c6574207374616b657250726f7879203d2073656c662e686f6c6465725265662e626f72726f775374616b657228290a0a20202020202020207374616b657250726f78792e7769746864726177556e7374616b6564546f6b656e7328616d6f756e743a20616d6f756e74290a202020207d0a7d0af1b07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "0290097e3aff9b67f65bbada3cdedbb73d45d093ff333aaaff38809bf9910a3e39dcae4faa6d689873f7caf7c5efef669f9fe1d4113e58b474b7aec1e07113a7ff576974686472617720556e7374616b656420464c4f57000101416d6f756e7400005546697836340003", - "hash": "dcae4faa6d689873f7caf7c5efef669f9fe1d4113e58b474b7aec1e07113a7ff" - }, - { - "title": "TH.14 - Withdraw Rewarded FLOW", - "valid": true, - "chainID": "Mainnet", - "payloadMessage": { - "script": "import LockedTokens from 0x8d0e87b65159ae63\nimport FlowToken from 0x1654653399040a61\n\ntransaction(amount: UFix64) {\n\n let holderRef: &LockedTokens.TokenHolder\n let vaultRef: &FlowToken.Vault\n\n prepare(account: AuthAccount) {\n self.holderRef = account.borrow<&LockedTokens.TokenHolder>(from: LockedTokens.TokenHolderStoragePath)\n ?? panic(\"Could not borrow reference to TokenHolder\")\n\n self.vaultRef = account.borrow<&FlowToken.Vault>(from: /storage/flowTokenVault)\n ?? panic(\"Could not borrow reference to FlowToken value\")\n }\n\n execute {\n let stakerProxy = self.holderRef.borrowStaker()\n\n stakerProxy.withdrawRewardedTokens(amount: amount)\n self.vaultRef.deposit(from: <-self.holderRef.withdraw(amount: amount))\n }\n}\n", - "arguments": [ - { - "type": "UFix64", - "value": "92233720368.54775808" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ] - }, - "envelopeMessage": { - "script": "import LockedTokens from 0x8d0e87b65159ae63\nimport FlowToken from 0x1654653399040a61\n\ntransaction(amount: UFix64) {\n\n let holderRef: &LockedTokens.TokenHolder\n let vaultRef: &FlowToken.Vault\n\n prepare(account: AuthAccount) {\n self.holderRef = account.borrow<&LockedTokens.TokenHolder>(from: LockedTokens.TokenHolderStoragePath)\n ?? panic(\"Could not borrow reference to TokenHolder\")\n\n self.vaultRef = account.borrow<&FlowToken.Vault>(from: /storage/flowTokenVault)\n ?? panic(\"Could not borrow reference to FlowToken value\")\n }\n\n execute {\n let stakerProxy = self.holderRef.borrowStaker()\n\n stakerProxy.withdrawRewardedTokens(amount: amount)\n self.vaultRef.deposit(from: <-self.holderRef.withdraw(amount: amount))\n }\n}\n", - "arguments": [ - { - "type": "UFix64", - "value": "92233720368.54775808" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f9038eb90319696d706f7274204c6f636b6564546f6b656e732066726f6d203078386430653837623635313539616536330a696d706f727420466c6f77546f6b656e2066726f6d203078313635343635333339393034306136310a0a7472616e73616374696f6e28616d6f756e743a2055466978363429207b0a0a202020206c657420686f6c6465725265663a20264c6f636b6564546f6b656e732e546f6b656e486f6c6465720a202020206c6574207661756c745265663a2026466c6f77546f6b656e2e5661756c740a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e686f6c646572526566203d206163636f756e742e626f72726f773c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f20546f6b656e486f6c64657222290a0a202020202020202073656c662e7661756c74526566203d206163636f756e742e626f72726f773c26466c6f77546f6b656e2e5661756c743e2866726f6d3a202f73746f726167652f666c6f77546f6b656e5661756c74290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f20466c6f77546f6b656e2076616c756522290a202020207d0a0a2020202065786563757465207b0a20202020202020206c6574207374616b657250726f7879203d2073656c662e686f6c6465725265662e626f72726f775374616b657228290a0a20202020202020207374616b657250726f78792e77697468647261775265776172646564546f6b656e7328616d6f756e743a20616d6f756e74290a202020202020202073656c662e7661756c745265662e6465706f7369742866726f6d3a203c2d73656c662e686f6c6465725265662e776974686472617728616d6f756e743a20616d6f756e7429290a202020207d0a7d0af1b07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f90392f9038eb90319696d706f7274204c6f636b6564546f6b656e732066726f6d203078386430653837623635313539616536330a696d706f727420466c6f77546f6b656e2066726f6d203078313635343635333339393034306136310a0a7472616e73616374696f6e28616d6f756e743a2055466978363429207b0a0a202020206c657420686f6c6465725265663a20264c6f636b6564546f6b656e732e546f6b656e486f6c6465720a202020206c6574207661756c745265663a2026466c6f77546f6b656e2e5661756c740a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e686f6c646572526566203d206163636f756e742e626f72726f773c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f20546f6b656e486f6c64657222290a0a202020202020202073656c662e7661756c74526566203d206163636f756e742e626f72726f773c26466c6f77546f6b656e2e5661756c743e2866726f6d3a202f73746f726167652f666c6f77546f6b656e5661756c74290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f20466c6f77546f6b656e2076616c756522290a202020207d0a0a2020202065786563757465207b0a20202020202020206c6574207374616b657250726f7879203d2073656c662e686f6c6465725265662e626f72726f775374616b657228290a0a20202020202020207374616b657250726f78792e77697468647261775265776172646564546f6b656e7328616d6f756e743a20616d6f756e74290a202020202020202073656c662e7661756c745265662e6465706f7369742866726f6d3a203c2d73656c662e686f6c6465725265662e776974686472617728616d6f756e743a20616d6f756e7429290a202020207d0a7d0af1b07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "02f23406ff402f02418629432912ce732be0441b1a7e71f16c03d688a165ff7f499bb8f0562eea5e45c11f9289540f39c99a21c9a0fb060a7d3f832e98c2696f2d576974686472617720526577617264656420464c4f57000101416d6f756e7400005546697836340003", - "hash": "9bb8f0562eea5e45c11f9289540f39c99a21c9a0fb060a7d3f832e98c2696f2d" - }, - { - "title": "TH.16 - Register Operator Node", - "valid": true, - "chainID": "Mainnet", - "payloadMessage": { - "script": "import LockedTokens from 0x8d0e87b65159ae63\nimport StakingProxy from 0x62430cf28c26d095\n\ntransaction(address: Address, id: String, amount: UFix64) {\n\n let holderRef: &LockedTokens.TokenHolder\n\n prepare(account: AuthAccount) {\n self.holderRef = account.borrow<&LockedTokens.TokenHolder>(from: LockedTokens.TokenHolderStoragePath)\n ?? panic(\"Could not borrow reference to TokenHolder\")\n }\n\n execute {\n let nodeOperatorRef = getAccount(address).getCapability\n <&StakingProxy.NodeStakerProxyHolder{StakingProxy.NodeStakerProxyHolderPublic}>\n (StakingProxy.NodeOperatorCapabilityPublicPath)!.borrow() \n ?? panic(\"Could not borrow node operator public capability\")\n\n let nodeInfo = nodeOperatorRef.getNodeInfo(nodeID: id)\n ?? panic(\"Couldn't get info for nodeID=\".concat(id))\n\n self.holderRef.createNodeStaker(nodeInfo: nodeInfo, amount: amount)\n\n let nodeStakerProxy = self.holderRef.borrowStaker()\n\n nodeOperatorRef.addStakingProxy(nodeID: nodeInfo.id, proxy: nodeStakerProxy)\n }\n}\n", - "arguments": [ - { - "type": "Address", - "value": "0xe467b9dd11fa00df" - }, - { - "type": "String", - "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" - }, - { - "type": "UFix64", - "value": "92233720368.54775808" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ] - }, - "envelopeMessage": { - "script": "import LockedTokens from 0x8d0e87b65159ae63\nimport StakingProxy from 0x62430cf28c26d095\n\ntransaction(address: Address, id: String, amount: UFix64) {\n\n let holderRef: &LockedTokens.TokenHolder\n\n prepare(account: AuthAccount) {\n self.holderRef = account.borrow<&LockedTokens.TokenHolder>(from: LockedTokens.TokenHolderStoragePath)\n ?? panic(\"Could not borrow reference to TokenHolder\")\n }\n\n execute {\n let nodeOperatorRef = getAccount(address).getCapability\n <&StakingProxy.NodeStakerProxyHolder{StakingProxy.NodeStakerProxyHolderPublic}>\n (StakingProxy.NodeOperatorCapabilityPublicPath)!.borrow() \n ?? panic(\"Could not borrow node operator public capability\")\n\n let nodeInfo = nodeOperatorRef.getNodeInfo(nodeID: id)\n ?? panic(\"Couldn't get info for nodeID=\".concat(id))\n\n self.holderRef.createNodeStaker(nodeInfo: nodeInfo, amount: amount)\n\n let nodeStakerProxy = self.holderRef.borrowStaker()\n\n nodeOperatorRef.addStakingProxy(nodeID: nodeInfo.id, proxy: nodeStakerProxy)\n }\n}\n", - "arguments": [ - { - "type": "Address", - "value": "0xe467b9dd11fa00df" - }, - { - "type": "String", - "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" - }, - { - "type": "UFix64", - "value": "92233720368.54775808" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f90546b90442696d706f7274204c6f636b6564546f6b656e732066726f6d203078386430653837623635313539616536330a696d706f7274205374616b696e6750726f78792066726f6d203078363234333063663238633236643039350a0a7472616e73616374696f6e28616464726573733a20416464726573732c2069643a20537472696e672c20616d6f756e743a2055466978363429207b0a0a202020206c657420686f6c6465725265663a20264c6f636b6564546f6b656e732e546f6b656e486f6c6465720a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e686f6c646572526566203d206163636f756e742e626f72726f773c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f20546f6b656e486f6c64657222290a202020207d0a0a2020202065786563757465207b0a20202020202020206c6574206e6f64654f70657261746f72526566203d206765744163636f756e742861646472657373292e6765744361706162696c6974790a2020202020202020202020203c265374616b696e6750726f78792e4e6f64655374616b657250726f7879486f6c6465727b5374616b696e6750726f78792e4e6f64655374616b657250726f7879486f6c6465725075626c69637d3e0a202020202020202020202020285374616b696e6750726f78792e4e6f64654f70657261746f724361706162696c6974795075626c69635061746829212e626f72726f772829200a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77206e6f6465206f70657261746f72207075626c6963206361706162696c69747922290a0a20202020202020206c6574206e6f6465496e666f203d206e6f64654f70657261746f725265662e6765744e6f6465496e666f286e6f646549443a206964290a2020202020202020202020203f3f2070616e69632822436f756c646e27742067657420696e666f20666f72206e6f646549443d222e636f6e63617428696429290a0a202020202020202073656c662e686f6c6465725265662e6372656174654e6f64655374616b6572286e6f6465496e666f3a206e6f6465496e666f2c20616d6f756e743a20616d6f756e74290a0a20202020202020206c6574206e6f64655374616b657250726f7879203d2073656c662e686f6c6465725265662e626f72726f775374616b657228290a0a20202020202020206e6f64654f70657261746f725265662e6164645374616b696e6750726f7879286e6f646549443a206e6f6465496e666f2e69642c2070726f78793a206e6f64655374616b657250726f7879290a202020207d0a7d0af8bfaf7b2274797065223a2241646472657373222c2276616c7565223a22307865343637623964643131666130306466227db85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f9054af90546b90442696d706f7274204c6f636b6564546f6b656e732066726f6d203078386430653837623635313539616536330a696d706f7274205374616b696e6750726f78792066726f6d203078363234333063663238633236643039350a0a7472616e73616374696f6e28616464726573733a20416464726573732c2069643a20537472696e672c20616d6f756e743a2055466978363429207b0a0a202020206c657420686f6c6465725265663a20264c6f636b6564546f6b656e732e546f6b656e486f6c6465720a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e686f6c646572526566203d206163636f756e742e626f72726f773c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f20546f6b656e486f6c64657222290a202020207d0a0a2020202065786563757465207b0a20202020202020206c6574206e6f64654f70657261746f72526566203d206765744163636f756e742861646472657373292e6765744361706162696c6974790a2020202020202020202020203c265374616b696e6750726f78792e4e6f64655374616b657250726f7879486f6c6465727b5374616b696e6750726f78792e4e6f64655374616b657250726f7879486f6c6465725075626c69637d3e0a202020202020202020202020285374616b696e6750726f78792e4e6f64654f70657261746f724361706162696c6974795075626c69635061746829212e626f72726f772829200a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77206e6f6465206f70657261746f72207075626c6963206361706162696c69747922290a0a20202020202020206c6574206e6f6465496e666f203d206e6f64654f70657261746f725265662e6765744e6f6465496e666f286e6f646549443a206964290a2020202020202020202020203f3f2070616e69632822436f756c646e27742067657420696e666f20666f72206e6f646549443d222e636f6e63617428696429290a0a202020202020202073656c662e686f6c6465725265662e6372656174654e6f64655374616b6572286e6f6465496e666f3a206e6f6465496e666f2c20616d6f756e743a20616d6f756e74290a0a20202020202020206c6574206e6f64655374616b657250726f7879203d2073656c662e686f6c6465725265662e626f72726f775374616b657228290a0a20202020202020206e6f64654f70657261746f725265662e6164645374616b696e6750726f7879286e6f646549443a206e6f6465496e666f2e69642c2070726f78793a206e6f64655374616b657250726f7879290a202020207d0a7d0af8bfaf7b2274797065223a2241646472657373222c2276616c7565223a22307865343637623964643131666130306466227db85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "02c29d4024aaeb71ab478182542499e0ba3d5d303ec027252e3b8333515ee3de4897b3436482c5aefc1baf8b850e92c829202e468c57241dec707b6c27bd89d15c5265676973746572204f70657261746f72204e6f64650003014f70657261746f7220416464726573730000416464726573730003014e6f64652049440001537472696e67000301416d6f756e7400025546697836340003", - "hash": "97b3436482c5aefc1baf8b850e92c829202e468c57241dec707b6c27bd89d15c" - }, - { - "title": "TH.17 - Register Delegator", - "valid": true, - "chainID": "Mainnet", - "payloadMessage": { - "script": "import FlowToken from 0x1654653399040a61\nimport LockedTokens from 0x8d0e87b65159ae63\n\ntransaction(id: String, amount: UFix64) {\n\n let holderRef: &LockedTokens.TokenHolder\n\n let vaultRef: &FlowToken.Vault\n\n prepare(account: AuthAccount) {\n self.holderRef = account.borrow<&LockedTokens.TokenHolder>(from: LockedTokens.TokenHolderStoragePath) \n ?? panic(\"TokenHolder is not saved at specified path\")\n\n self.vaultRef = account.borrow<&FlowToken.Vault>(from: /storage/flowTokenVault)\n ?? panic(\"Could not borrow flow token vault reference\")\n }\n\n execute {\n self.holderRef.createNodeDelegator(nodeID: id)\n\n let delegatorProxy = self.holderRef.borrowDelegator()\n\n let lockedBalance = self.holderRef.getLockedAccountBalance()\n\n if amount <= lockedBalance {\n\n delegatorProxy.delegateNewTokens(amount: amount)\n\n } else if ((amount - lockedBalance) <= self.vaultRef.balance) {\n\n self.holderRef.deposit(from: <-self.vaultRef.withdraw(amount: amount - lockedBalance))\n\n delegatorProxy.delegateNewTokens(amount: amount)\n\n } else {\n panic(\"Not enough tokens to stake!\")\n }\n }\n}\n", - "arguments": [ - { - "type": "String", - "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" - }, - { - "type": "UFix64", - "value": "92233720368.54775808" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ] - }, - "envelopeMessage": { - "script": "import FlowToken from 0x1654653399040a61\nimport LockedTokens from 0x8d0e87b65159ae63\n\ntransaction(id: String, amount: UFix64) {\n\n let holderRef: &LockedTokens.TokenHolder\n\n let vaultRef: &FlowToken.Vault\n\n prepare(account: AuthAccount) {\n self.holderRef = account.borrow<&LockedTokens.TokenHolder>(from: LockedTokens.TokenHolderStoragePath) \n ?? panic(\"TokenHolder is not saved at specified path\")\n\n self.vaultRef = account.borrow<&FlowToken.Vault>(from: /storage/flowTokenVault)\n ?? panic(\"Could not borrow flow token vault reference\")\n }\n\n execute {\n self.holderRef.createNodeDelegator(nodeID: id)\n\n let delegatorProxy = self.holderRef.borrowDelegator()\n\n let lockedBalance = self.holderRef.getLockedAccountBalance()\n\n if amount <= lockedBalance {\n\n delegatorProxy.delegateNewTokens(amount: amount)\n\n } else if ((amount - lockedBalance) <= self.vaultRef.balance) {\n\n self.holderRef.deposit(from: <-self.vaultRef.withdraw(amount: amount - lockedBalance))\n\n delegatorProxy.delegateNewTokens(amount: amount)\n\n } else {\n panic(\"Not enough tokens to stake!\")\n }\n }\n}\n", - "arguments": [ - { - "type": "String", - "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" - }, - { - "type": "UFix64", - "value": "92233720368.54775808" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f9058fb904bb696d706f727420466c6f77546f6b656e2066726f6d203078313635343635333339393034306136310a696d706f7274204c6f636b6564546f6b656e732066726f6d203078386430653837623635313539616536330a0a7472616e73616374696f6e2869643a20537472696e672c20616d6f756e743a2055466978363429207b0a0a202020206c657420686f6c6465725265663a20264c6f636b6564546f6b656e732e546f6b656e486f6c6465720a0a202020206c6574207661756c745265663a2026466c6f77546f6b656e2e5661756c740a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e686f6c646572526566203d206163636f756e742e626f72726f773c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f726167655061746829200a2020202020202020202020203f3f2070616e69632822546f6b656e486f6c646572206973206e6f7420736176656420617420737065636966696564207061746822290a0a202020202020202073656c662e7661756c74526566203d206163636f756e742e626f72726f773c26466c6f77546f6b656e2e5661756c743e2866726f6d3a202f73746f726167652f666c6f77546f6b656e5661756c74290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f7720666c6f7720746f6b656e207661756c74207265666572656e636522290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e686f6c6465725265662e6372656174654e6f646544656c656761746f72286e6f646549443a206964290a0a20202020202020206c65742064656c656761746f7250726f7879203d2073656c662e686f6c6465725265662e626f72726f7744656c656761746f7228290a0a20202020202020206c6574206c6f636b656442616c616e6365203d2073656c662e686f6c6465725265662e6765744c6f636b65644163636f756e7442616c616e636528290a0a2020202020202020696620616d6f756e74203c3d206c6f636b656442616c616e6365207b0a0a20202020202020202020202064656c656761746f7250726f78792e64656c65676174654e6577546f6b656e7328616d6f756e743a20616d6f756e74290a0a20202020202020207d20656c7365206966202828616d6f756e74202d206c6f636b656442616c616e636529203c3d2073656c662e7661756c745265662e62616c616e636529207b0a0a20202020202020202020202073656c662e686f6c6465725265662e6465706f7369742866726f6d3a203c2d73656c662e7661756c745265662e776974686472617728616d6f756e743a20616d6f756e74202d206c6f636b656442616c616e636529290a0a20202020202020202020202064656c656761746f7250726f78792e64656c65676174654e6577546f6b656e7328616d6f756e743a20616d6f756e74290a0a20202020202020207d20656c7365207b0a20202020202020202020202070616e696328224e6f7420656e6f75676820746f6b656e7320746f207374616b652122290a20202020202020207d0a202020207d0a7d0af88fb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f90593f9058fb904bb696d706f727420466c6f77546f6b656e2066726f6d203078313635343635333339393034306136310a696d706f7274204c6f636b6564546f6b656e732066726f6d203078386430653837623635313539616536330a0a7472616e73616374696f6e2869643a20537472696e672c20616d6f756e743a2055466978363429207b0a0a202020206c657420686f6c6465725265663a20264c6f636b6564546f6b656e732e546f6b656e486f6c6465720a0a202020206c6574207661756c745265663a2026466c6f77546f6b656e2e5661756c740a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e686f6c646572526566203d206163636f756e742e626f72726f773c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f726167655061746829200a2020202020202020202020203f3f2070616e69632822546f6b656e486f6c646572206973206e6f7420736176656420617420737065636966696564207061746822290a0a202020202020202073656c662e7661756c74526566203d206163636f756e742e626f72726f773c26466c6f77546f6b656e2e5661756c743e2866726f6d3a202f73746f726167652f666c6f77546f6b656e5661756c74290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f7720666c6f7720746f6b656e207661756c74207265666572656e636522290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e686f6c6465725265662e6372656174654e6f646544656c656761746f72286e6f646549443a206964290a0a20202020202020206c65742064656c656761746f7250726f7879203d2073656c662e686f6c6465725265662e626f72726f7744656c656761746f7228290a0a20202020202020206c6574206c6f636b656442616c616e6365203d2073656c662e686f6c6465725265662e6765744c6f636b65644163636f756e7442616c616e636528290a0a2020202020202020696620616d6f756e74203c3d206c6f636b656442616c616e6365207b0a0a20202020202020202020202064656c656761746f7250726f78792e64656c65676174654e6577546f6b656e7328616d6f756e743a20616d6f756e74290a0a20202020202020207d20656c7365206966202828616d6f756e74202d206c6f636b656442616c616e636529203c3d2073656c662e7661756c745265662e62616c616e636529207b0a0a20202020202020202020202073656c662e686f6c6465725265662e6465706f7369742866726f6d3a203c2d73656c662e7661756c745265662e776974686472617728616d6f756e743a20616d6f756e74202d206c6f636b656442616c616e636529290a0a20202020202020202020202064656c656761746f7250726f78792e64656c65676174654e6577546f6b656e7328616d6f756e743a20616d6f756e74290a0a20202020202020207d20656c7365207b0a20202020202020202020202070616e696328224e6f7420656e6f75676820746f6b656e7320746f207374616b652122290a20202020202020207d0a202020207d0a7d0af88fb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "021378405c85e0c966344b196c0fce602f39e79f3938ec7b689e0c96a8703b018a3cb357a97a57d9abbe5c68f0df342ee96ba97ade2013753fd2ddf47695a8c08a52656769737465722044656c656761746f720002014e6f64652049440000537472696e67000301416d6f756e7400015546697836340003", - "hash": "3cb357a97a57d9abbe5c68f0df342ee96ba97ade2013753fd2ddf47695a8c08a" - }, - { - "title": "TH.19 - Delegate New Locked FLOW", - "valid": true, - "chainID": "Mainnet", - "payloadMessage": { - "script": "import FlowToken from 0x1654653399040a61\nimport FungibleToken from 0xf233dcee88fe0abe\nimport LockedTokens from 0x8d0e87b65159ae63\n\ntransaction(amount: UFix64) {\n\n let holderRef: &LockedTokens.TokenHolder\n\n let vaultRef: &FlowToken.Vault\n\n prepare(account: AuthAccount) {\n self.holderRef = account.borrow<&LockedTokens.TokenHolder>(from: LockedTokens.TokenHolderStoragePath)\n ?? panic(\"Could not borrow reference to TokenHolder\")\n\n self.vaultRef = account.borrow<&FlowToken.Vault>(from: /storage/flowTokenVault)\n ?? panic(\"Could not borrow flow token vault reference\")\n }\n\n execute {\n let stakerProxy = self.holderRef.borrowDelegator()\n\n let lockedBalance = self.holderRef.getLockedAccountBalance()\n\n if amount <= lockedBalance {\n\n stakerProxy.delegateNewTokens(amount: amount)\n\n } else if ((amount - lockedBalance) <= self.vaultRef.balance) {\n\n self.holderRef.deposit(from: <-self.vaultRef.withdraw(amount: amount - lockedBalance))\n\n stakerProxy.delegateNewTokens(amount: amount)\n } else {\n panic(\"Not enough tokens to stake!\")\n }\n }\n}\n", - "arguments": [ - { - "type": "UFix64", - "value": "92233720368.54775808" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ] - }, - "envelopeMessage": { - "script": "import FlowToken from 0x1654653399040a61\nimport FungibleToken from 0xf233dcee88fe0abe\nimport LockedTokens from 0x8d0e87b65159ae63\n\ntransaction(amount: UFix64) {\n\n let holderRef: &LockedTokens.TokenHolder\n\n let vaultRef: &FlowToken.Vault\n\n prepare(account: AuthAccount) {\n self.holderRef = account.borrow<&LockedTokens.TokenHolder>(from: LockedTokens.TokenHolderStoragePath)\n ?? panic(\"Could not borrow reference to TokenHolder\")\n\n self.vaultRef = account.borrow<&FlowToken.Vault>(from: /storage/flowTokenVault)\n ?? panic(\"Could not borrow flow token vault reference\")\n }\n\n execute {\n let stakerProxy = self.holderRef.borrowDelegator()\n\n let lockedBalance = self.holderRef.getLockedAccountBalance()\n\n if amount <= lockedBalance {\n\n stakerProxy.delegateNewTokens(amount: amount)\n\n } else if ((amount - lockedBalance) <= self.vaultRef.balance) {\n\n self.holderRef.deposit(from: <-self.vaultRef.withdraw(amount: amount - lockedBalance))\n\n stakerProxy.delegateNewTokens(amount: amount)\n } else {\n panic(\"Not enough tokens to stake!\")\n }\n }\n}\n", - "arguments": [ - { - "type": "UFix64", - "value": "92233720368.54775808" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f9050db90498696d706f727420466c6f77546f6b656e2066726f6d203078313635343635333339393034306136310a696d706f72742046756e6769626c65546f6b656e2066726f6d203078663233336463656538386665306162650a696d706f7274204c6f636b6564546f6b656e732066726f6d203078386430653837623635313539616536330a0a7472616e73616374696f6e28616d6f756e743a2055466978363429207b0a0a202020206c657420686f6c6465725265663a20264c6f636b6564546f6b656e732e546f6b656e486f6c6465720a0a202020206c6574207661756c745265663a2026466c6f77546f6b656e2e5661756c740a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e686f6c646572526566203d206163636f756e742e626f72726f773c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f20546f6b656e486f6c64657222290a0a202020202020202073656c662e7661756c74526566203d206163636f756e742e626f72726f773c26466c6f77546f6b656e2e5661756c743e2866726f6d3a202f73746f726167652f666c6f77546f6b656e5661756c74290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f7720666c6f7720746f6b656e207661756c74207265666572656e636522290a202020207d0a0a2020202065786563757465207b0a20202020202020206c6574207374616b657250726f7879203d2073656c662e686f6c6465725265662e626f72726f7744656c656761746f7228290a0a20202020202020206c6574206c6f636b656442616c616e6365203d2073656c662e686f6c6465725265662e6765744c6f636b65644163636f756e7442616c616e636528290a0a2020202020202020696620616d6f756e74203c3d206c6f636b656442616c616e6365207b0a0a2020202020202020202020207374616b657250726f78792e64656c65676174654e6577546f6b656e7328616d6f756e743a20616d6f756e74290a0a20202020202020207d20656c7365206966202828616d6f756e74202d206c6f636b656442616c616e636529203c3d2073656c662e7661756c745265662e62616c616e636529207b0a0a20202020202020202020202073656c662e686f6c6465725265662e6465706f7369742866726f6d3a203c2d73656c662e7661756c745265662e776974686472617728616d6f756e743a20616d6f756e74202d206c6f636b656442616c616e636529290a0a2020202020202020202020207374616b657250726f78792e64656c65676174654e6577546f6b656e7328616d6f756e743a20616d6f756e74290a20202020202020207d20656c7365207b0a20202020202020202020202070616e696328224e6f7420656e6f75676820746f6b656e7320746f207374616b652122290a20202020202020207d0a202020207d0a7d0af1b07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f90511f9050db90498696d706f727420466c6f77546f6b656e2066726f6d203078313635343635333339393034306136310a696d706f72742046756e6769626c65546f6b656e2066726f6d203078663233336463656538386665306162650a696d706f7274204c6f636b6564546f6b656e732066726f6d203078386430653837623635313539616536330a0a7472616e73616374696f6e28616d6f756e743a2055466978363429207b0a0a202020206c657420686f6c6465725265663a20264c6f636b6564546f6b656e732e546f6b656e486f6c6465720a0a202020206c6574207661756c745265663a2026466c6f77546f6b656e2e5661756c740a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e686f6c646572526566203d206163636f756e742e626f72726f773c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f20546f6b656e486f6c64657222290a0a202020202020202073656c662e7661756c74526566203d206163636f756e742e626f72726f773c26466c6f77546f6b656e2e5661756c743e2866726f6d3a202f73746f726167652f666c6f77546f6b656e5661756c74290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f7720666c6f7720746f6b656e207661756c74207265666572656e636522290a202020207d0a0a2020202065786563757465207b0a20202020202020206c6574207374616b657250726f7879203d2073656c662e686f6c6465725265662e626f72726f7744656c656761746f7228290a0a20202020202020206c6574206c6f636b656442616c616e6365203d2073656c662e686f6c6465725265662e6765744c6f636b65644163636f756e7442616c616e636528290a0a2020202020202020696620616d6f756e74203c3d206c6f636b656442616c616e6365207b0a0a2020202020202020202020207374616b657250726f78792e64656c65676174654e6577546f6b656e7328616d6f756e743a20616d6f756e74290a0a20202020202020207d20656c7365206966202828616d6f756e74202d206c6f636b656442616c616e636529203c3d2073656c662e7661756c745265662e62616c616e636529207b0a0a20202020202020202020202073656c662e686f6c6465725265662e6465706f7369742866726f6d3a203c2d73656c662e7661756c745265662e776974686472617728616d6f756e743a20616d6f756e74202d206c6f636b656442616c616e636529290a0a2020202020202020202020207374616b657250726f78792e64656c65676174654e6577546f6b656e7328616d6f756e743a20616d6f756e74290a20202020202020207d20656c7365207b0a20202020202020202020202070616e696328224e6f7420656e6f75676820746f6b656e7320746f207374616b652122290a20202020202020207d0a202020207d0a7d0af1b07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "0218fad68368a4394b245db91217d7dc979e1316ab757388d416eaef831f565ab3802354d8b3e7908e584bcb5217637fb9f4ef045427c32d57d81ad4a390ed1a6044656c6567617465204e6577204c6f636b656420464c4f57000101416d6f756e7400005546697836340003", - "hash": "802354d8b3e7908e584bcb5217637fb9f4ef045427c32d57d81ad4a390ed1a60" - }, - { - "title": "TH.20 - Re-delegate Unstaked FLOW", - "valid": true, - "chainID": "Mainnet", - "payloadMessage": { - "script": "import LockedTokens from 0x8d0e87b65159ae63\n\ntransaction(amount: UFix64) {\n let nodeDelegatorProxy: LockedTokens.LockedNodeDelegatorProxy\n\n prepare(account: AuthAccount) {\n let holderRef = account.borrow<&LockedTokens.TokenHolder>(from: LockedTokens.TokenHolderStoragePath) \n ?? panic(\"TokenHolder is not saved at specified path\")\n\n self.nodeDelegatorProxy = holderRef.borrowDelegator()\n }\n\n execute {\n self.nodeDelegatorProxy.delegateUnstakedTokens(amount: amount)\n }\n}\n", - "arguments": [ - { - "type": "UFix64", - "value": "92233720368.54775808" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ] - }, - "envelopeMessage": { - "script": "import LockedTokens from 0x8d0e87b65159ae63\n\ntransaction(amount: UFix64) {\n let nodeDelegatorProxy: LockedTokens.LockedNodeDelegatorProxy\n\n prepare(account: AuthAccount) {\n let holderRef = account.borrow<&LockedTokens.TokenHolder>(from: LockedTokens.TokenHolderStoragePath) \n ?? panic(\"TokenHolder is not saved at specified path\")\n\n self.nodeDelegatorProxy = holderRef.borrowDelegator()\n }\n\n execute {\n self.nodeDelegatorProxy.delegateUnstakedTokens(amount: amount)\n }\n}\n", - "arguments": [ - { - "type": "UFix64", - "value": "92233720368.54775808" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f9027bb90206696d706f7274204c6f636b6564546f6b656e732066726f6d203078386430653837623635313539616536330a0a7472616e73616374696f6e28616d6f756e743a2055466978363429207b0a202020206c6574206e6f646544656c656761746f7250726f78793a204c6f636b6564546f6b656e732e4c6f636b65644e6f646544656c656761746f7250726f78790a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a20202020202020206c657420686f6c646572526566203d206163636f756e742e626f72726f773c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f726167655061746829200a2020202020202020202020203f3f2070616e69632822546f6b656e486f6c646572206973206e6f7420736176656420617420737065636966696564207061746822290a0a202020202020202073656c662e6e6f646544656c656761746f7250726f7879203d20686f6c6465725265662e626f72726f7744656c656761746f7228290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e6e6f646544656c656761746f7250726f78792e64656c6567617465556e7374616b6564546f6b656e7328616d6f756e743a20616d6f756e74290a202020207d0a7d0af1b07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f9027ff9027bb90206696d706f7274204c6f636b6564546f6b656e732066726f6d203078386430653837623635313539616536330a0a7472616e73616374696f6e28616d6f756e743a2055466978363429207b0a202020206c6574206e6f646544656c656761746f7250726f78793a204c6f636b6564546f6b656e732e4c6f636b65644e6f646544656c656761746f7250726f78790a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a20202020202020206c657420686f6c646572526566203d206163636f756e742e626f72726f773c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f726167655061746829200a2020202020202020202020203f3f2070616e69632822546f6b656e486f6c646572206973206e6f7420736176656420617420737065636966696564207061746822290a0a202020202020202073656c662e6e6f646544656c656761746f7250726f7879203d20686f6c6465725265662e626f72726f7744656c656761746f7228290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e6e6f646544656c656761746f7250726f78792e64656c6567617465556e7374616b6564546f6b656e7328616d6f756e743a20616d6f756e74290a202020207d0a7d0af1b07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "028776b1521b04395754734f8f40d4a0482863274f8d832973d9e011b3cbb48c852027331b72d8710a1a05feb6ecebadb5858d134bc8c95d6f261319cd9fa1bb9552652d64656c656761746520556e7374616b656420464c4f57000101416d6f756e7400005546697836340003", - "hash": "2027331b72d8710a1a05feb6ecebadb5858d134bc8c95d6f261319cd9fa1bb95" - }, - { - "title": "TH.21 - Re-delegate Rewarded FLOW", - "valid": true, - "chainID": "Mainnet", - "payloadMessage": { - "script": "import LockedTokens from 0x8d0e87b65159ae63\n\ntransaction(amount: UFix64) {\n let nodeDelegatorProxy: LockedTokens.LockedNodeDelegatorProxy\n\n prepare(account: AuthAccount) {\n let holderRef = account.borrow<&LockedTokens.TokenHolder>(from: LockedTokens.TokenHolderStoragePath) \n ?? panic(\"TokenHolder is not saved at specified path\")\n \n self.nodeDelegatorProxy = holderRef.borrowDelegator()\n }\n\n execute {\n self.nodeDelegatorProxy.delegateRewardedTokens(amount: amount)\n }\n}\n", - "arguments": [ - { - "type": "UFix64", - "value": "92233720368.54775808" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ] - }, - "envelopeMessage": { - "script": "import LockedTokens from 0x8d0e87b65159ae63\n\ntransaction(amount: UFix64) {\n let nodeDelegatorProxy: LockedTokens.LockedNodeDelegatorProxy\n\n prepare(account: AuthAccount) {\n let holderRef = account.borrow<&LockedTokens.TokenHolder>(from: LockedTokens.TokenHolderStoragePath) \n ?? panic(\"TokenHolder is not saved at specified path\")\n \n self.nodeDelegatorProxy = holderRef.borrowDelegator()\n }\n\n execute {\n self.nodeDelegatorProxy.delegateRewardedTokens(amount: amount)\n }\n}\n", - "arguments": [ - { - "type": "UFix64", - "value": "92233720368.54775808" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f90283b9020e696d706f7274204c6f636b6564546f6b656e732066726f6d203078386430653837623635313539616536330a0a7472616e73616374696f6e28616d6f756e743a2055466978363429207b0a202020206c6574206e6f646544656c656761746f7250726f78793a204c6f636b6564546f6b656e732e4c6f636b65644e6f646544656c656761746f7250726f78790a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a20202020202020206c657420686f6c646572526566203d206163636f756e742e626f72726f773c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f726167655061746829200a2020202020202020202020203f3f2070616e69632822546f6b656e486f6c646572206973206e6f7420736176656420617420737065636966696564207061746822290a20202020202020200a202020202020202073656c662e6e6f646544656c656761746f7250726f7879203d20686f6c6465725265662e626f72726f7744656c656761746f7228290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e6e6f646544656c656761746f7250726f78792e64656c65676174655265776172646564546f6b656e7328616d6f756e743a20616d6f756e74290a202020207d0a7d0af1b07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f90287f90283b9020e696d706f7274204c6f636b6564546f6b656e732066726f6d203078386430653837623635313539616536330a0a7472616e73616374696f6e28616d6f756e743a2055466978363429207b0a202020206c6574206e6f646544656c656761746f7250726f78793a204c6f636b6564546f6b656e732e4c6f636b65644e6f646544656c656761746f7250726f78790a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a20202020202020206c657420686f6c646572526566203d206163636f756e742e626f72726f773c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f726167655061746829200a2020202020202020202020203f3f2070616e69632822546f6b656e486f6c646572206973206e6f7420736176656420617420737065636966696564207061746822290a20202020202020200a202020202020202073656c662e6e6f646544656c656761746f7250726f7879203d20686f6c6465725265662e626f72726f7744656c656761746f7228290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e6e6f646544656c656761746f7250726f78792e64656c65676174655265776172646564546f6b656e7328616d6f756e743a20616d6f756e74290a202020207d0a7d0af1b07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "026b40ffc9169abd75107a45da5974c7e502d38773275abb231d747e4760b7ebee864edbff384335ef21c26b3bcf17d36b2b1d894afbe2b203f58099cc457971e452652d64656c656761746520526577617264656420464c4f57000101416d6f756e7400005546697836340003", - "hash": "864edbff384335ef21c26b3bcf17d36b2b1d894afbe2b203f58099cc457971e4" - }, - { - "title": "TH.22 - Unstake Delegated FLOW", - "valid": true, - "chainID": "Mainnet", - "payloadMessage": { - "script": "import LockedTokens from 0x8d0e87b65159ae63\n\ntransaction(amount: UFix64) {\n let nodeDelegatorProxy: LockedTokens.LockedNodeDelegatorProxy\n\n prepare(account: AuthAccount) {\n let holderRef = account.borrow<&LockedTokens.TokenHolder>(from: LockedTokens.TokenHolderStoragePath) \n ?? panic(\"TokenHolder is not saved at specified path\")\n \n self.nodeDelegatorProxy = holderRef.borrowDelegator()\n }\n\n execute {\n self.nodeDelegatorProxy.requestUnstaking(amount: amount)\n }\n}\n", - "arguments": [ - { - "type": "UFix64", - "value": "92233720368.54775808" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ] - }, - "envelopeMessage": { - "script": "import LockedTokens from 0x8d0e87b65159ae63\n\ntransaction(amount: UFix64) {\n let nodeDelegatorProxy: LockedTokens.LockedNodeDelegatorProxy\n\n prepare(account: AuthAccount) {\n let holderRef = account.borrow<&LockedTokens.TokenHolder>(from: LockedTokens.TokenHolderStoragePath) \n ?? panic(\"TokenHolder is not saved at specified path\")\n \n self.nodeDelegatorProxy = holderRef.borrowDelegator()\n }\n\n execute {\n self.nodeDelegatorProxy.requestUnstaking(amount: amount)\n }\n}\n", - "arguments": [ - { - "type": "UFix64", - "value": "92233720368.54775808" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f9027db90208696d706f7274204c6f636b6564546f6b656e732066726f6d203078386430653837623635313539616536330a0a7472616e73616374696f6e28616d6f756e743a2055466978363429207b0a202020206c6574206e6f646544656c656761746f7250726f78793a204c6f636b6564546f6b656e732e4c6f636b65644e6f646544656c656761746f7250726f78790a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a20202020202020206c657420686f6c646572526566203d206163636f756e742e626f72726f773c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f726167655061746829200a2020202020202020202020203f3f2070616e69632822546f6b656e486f6c646572206973206e6f7420736176656420617420737065636966696564207061746822290a20202020202020200a202020202020202073656c662e6e6f646544656c656761746f7250726f7879203d20686f6c6465725265662e626f72726f7744656c656761746f7228290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e6e6f646544656c656761746f7250726f78792e72657175657374556e7374616b696e6728616d6f756e743a20616d6f756e74290a202020207d0a7d0af1b07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f90281f9027db90208696d706f7274204c6f636b6564546f6b656e732066726f6d203078386430653837623635313539616536330a0a7472616e73616374696f6e28616d6f756e743a2055466978363429207b0a202020206c6574206e6f646544656c656761746f7250726f78793a204c6f636b6564546f6b656e732e4c6f636b65644e6f646544656c656761746f7250726f78790a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a20202020202020206c657420686f6c646572526566203d206163636f756e742e626f72726f773c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f726167655061746829200a2020202020202020202020203f3f2070616e69632822546f6b656e486f6c646572206973206e6f7420736176656420617420737065636966696564207061746822290a20202020202020200a202020202020202073656c662e6e6f646544656c656761746f7250726f7879203d20686f6c6465725265662e626f72726f7744656c656761746f7228290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e6e6f646544656c656761746f7250726f78792e72657175657374556e7374616b696e6728616d6f756e743a20616d6f756e74290a202020207d0a7d0af1b07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "0261cbcd1c31bbfc9ceb4a5ac726e2f8b3d845a4fdf59b0ab23cbbfa8f16d7a024262aeddd3f49fd6222d706c02696bd7d359ba962b6c30232cc93d7cf4166a23e556e7374616b652044656c65676174656420464c4f57000101416d6f756e7400005546697836340003", - "hash": "262aeddd3f49fd6222d706c02696bd7d359ba962b6c30232cc93d7cf4166a23e" - }, - { - "title": "TH.23 - Withdraw Unstaked FLOW", - "valid": true, - "chainID": "Mainnet", - "payloadMessage": { - "script": "import LockedTokens from 0x8d0e87b65159ae63\n\ntransaction(amount: UFix64) {\n let nodeDelegatorProxy: LockedTokens.LockedNodeDelegatorProxy\n\n prepare(account: AuthAccount) {\n let holderRef = account.borrow<&LockedTokens.TokenHolder>(from: LockedTokens.TokenHolderStoragePath) \n ?? panic(\"TokenHolder is not saved at specified path\")\n \n self.nodeDelegatorProxy = holderRef.borrowDelegator()\n }\n\n execute {\n self.nodeDelegatorProxy.withdrawUnstakedTokens(amount: amount)\n }\n}\n", - "arguments": [ - { - "type": "UFix64", - "value": "92233720368.54775808" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ] - }, - "envelopeMessage": { - "script": "import LockedTokens from 0x8d0e87b65159ae63\n\ntransaction(amount: UFix64) {\n let nodeDelegatorProxy: LockedTokens.LockedNodeDelegatorProxy\n\n prepare(account: AuthAccount) {\n let holderRef = account.borrow<&LockedTokens.TokenHolder>(from: LockedTokens.TokenHolderStoragePath) \n ?? panic(\"TokenHolder is not saved at specified path\")\n \n self.nodeDelegatorProxy = holderRef.borrowDelegator()\n }\n\n execute {\n self.nodeDelegatorProxy.withdrawUnstakedTokens(amount: amount)\n }\n}\n", - "arguments": [ - { - "type": "UFix64", - "value": "92233720368.54775808" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f90283b9020e696d706f7274204c6f636b6564546f6b656e732066726f6d203078386430653837623635313539616536330a0a7472616e73616374696f6e28616d6f756e743a2055466978363429207b0a202020206c6574206e6f646544656c656761746f7250726f78793a204c6f636b6564546f6b656e732e4c6f636b65644e6f646544656c656761746f7250726f78790a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a20202020202020206c657420686f6c646572526566203d206163636f756e742e626f72726f773c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f726167655061746829200a2020202020202020202020203f3f2070616e69632822546f6b656e486f6c646572206973206e6f7420736176656420617420737065636966696564207061746822290a20202020202020200a202020202020202073656c662e6e6f646544656c656761746f7250726f7879203d20686f6c6465725265662e626f72726f7744656c656761746f7228290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e6e6f646544656c656761746f7250726f78792e7769746864726177556e7374616b6564546f6b656e7328616d6f756e743a20616d6f756e74290a202020207d0a7d0af1b07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f90287f90283b9020e696d706f7274204c6f636b6564546f6b656e732066726f6d203078386430653837623635313539616536330a0a7472616e73616374696f6e28616d6f756e743a2055466978363429207b0a202020206c6574206e6f646544656c656761746f7250726f78793a204c6f636b6564546f6b656e732e4c6f636b65644e6f646544656c656761746f7250726f78790a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a20202020202020206c657420686f6c646572526566203d206163636f756e742e626f72726f773c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f726167655061746829200a2020202020202020202020203f3f2070616e69632822546f6b656e486f6c646572206973206e6f7420736176656420617420737065636966696564207061746822290a20202020202020200a202020202020202073656c662e6e6f646544656c656761746f7250726f7879203d20686f6c6465725265662e626f72726f7744656c656761746f7228290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e6e6f646544656c656761746f7250726f78792e7769746864726177556e7374616b6564546f6b656e7328616d6f756e743a20616d6f756e74290a202020207d0a7d0af1b07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "022ae983f78e32b989fafa58ee7910b131fb51a2a74356f7916624695cb8bf596412675a013c064b6d0ef11dbf13f92210489bf2b3d299b2f14cd09be70b37577f576974686472617720556e7374616b656420464c4f57000101416d6f756e7400005546697836340003", - "hash": "12675a013c064b6d0ef11dbf13f92210489bf2b3d299b2f14cd09be70b37577f" - }, - { - "title": "TH.24 - Withdraw Rewarded FLOW", - "valid": true, - "chainID": "Mainnet", - "payloadMessage": { - "script": "import LockedTokens from 0x8d0e87b65159ae63\nimport FlowToken from 0x1654653399040a61\n\ntransaction(amount: UFix64) {\n\n let holderRef: &LockedTokens.TokenHolder\n let vaultRef: &FlowToken.Vault\n\n prepare(account: AuthAccount) {\n self.holderRef = account.borrow<&LockedTokens.TokenHolder>(from: LockedTokens.TokenHolderStoragePath) \n ?? panic(\"Could not borrow reference to TokenHolder\")\n\n self.vaultRef = account.borrow<&FlowToken.Vault>(from: /storage/flowTokenVault)\n ?? panic(\"Could not borrow reference to FlowToken value\")\n }\n\n execute {\n let delegatorProxy = self.holderRef.borrowDelegator()\n\n delegatorProxy.withdrawRewardedTokens(amount: amount)\n self.vaultRef.deposit(from: <-self.holderRef.withdraw(amount: amount))\n }\n}\n", - "arguments": [ - { - "type": "UFix64", - "value": "92233720368.54775808" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ] - }, - "envelopeMessage": { - "script": "import LockedTokens from 0x8d0e87b65159ae63\nimport FlowToken from 0x1654653399040a61\n\ntransaction(amount: UFix64) {\n\n let holderRef: &LockedTokens.TokenHolder\n let vaultRef: &FlowToken.Vault\n\n prepare(account: AuthAccount) {\n self.holderRef = account.borrow<&LockedTokens.TokenHolder>(from: LockedTokens.TokenHolderStoragePath) \n ?? panic(\"Could not borrow reference to TokenHolder\")\n\n self.vaultRef = account.borrow<&FlowToken.Vault>(from: /storage/flowTokenVault)\n ?? panic(\"Could not borrow reference to FlowToken value\")\n }\n\n execute {\n let delegatorProxy = self.holderRef.borrowDelegator()\n\n delegatorProxy.withdrawRewardedTokens(amount: amount)\n self.vaultRef.deposit(from: <-self.holderRef.withdraw(amount: amount))\n }\n}\n", - "arguments": [ - { - "type": "UFix64", - "value": "92233720368.54775808" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f90398b90323696d706f7274204c6f636b6564546f6b656e732066726f6d203078386430653837623635313539616536330a696d706f727420466c6f77546f6b656e2066726f6d203078313635343635333339393034306136310a0a7472616e73616374696f6e28616d6f756e743a2055466978363429207b0a0a202020206c657420686f6c6465725265663a20264c6f636b6564546f6b656e732e546f6b656e486f6c6465720a202020206c6574207661756c745265663a2026466c6f77546f6b656e2e5661756c740a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e686f6c646572526566203d206163636f756e742e626f72726f773c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f726167655061746829200a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f20546f6b656e486f6c64657222290a0a202020202020202073656c662e7661756c74526566203d206163636f756e742e626f72726f773c26466c6f77546f6b656e2e5661756c743e2866726f6d3a202f73746f726167652f666c6f77546f6b656e5661756c74290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f20466c6f77546f6b656e2076616c756522290a202020207d0a0a2020202065786563757465207b0a20202020202020206c65742064656c656761746f7250726f7879203d2073656c662e686f6c6465725265662e626f72726f7744656c656761746f7228290a0a202020202020202064656c656761746f7250726f78792e77697468647261775265776172646564546f6b656e7328616d6f756e743a20616d6f756e74290a202020202020202073656c662e7661756c745265662e6465706f7369742866726f6d3a203c2d73656c662e686f6c6465725265662e776974686472617728616d6f756e743a20616d6f756e7429290a202020207d0a7d0af1b07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f9039cf90398b90323696d706f7274204c6f636b6564546f6b656e732066726f6d203078386430653837623635313539616536330a696d706f727420466c6f77546f6b656e2066726f6d203078313635343635333339393034306136310a0a7472616e73616374696f6e28616d6f756e743a2055466978363429207b0a0a202020206c657420686f6c6465725265663a20264c6f636b6564546f6b656e732e546f6b656e486f6c6465720a202020206c6574207661756c745265663a2026466c6f77546f6b656e2e5661756c740a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e686f6c646572526566203d206163636f756e742e626f72726f773c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f726167655061746829200a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f20546f6b656e486f6c64657222290a0a202020202020202073656c662e7661756c74526566203d206163636f756e742e626f72726f773c26466c6f77546f6b656e2e5661756c743e2866726f6d3a202f73746f726167652f666c6f77546f6b656e5661756c74290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f20466c6f77546f6b656e2076616c756522290a202020207d0a0a2020202065786563757465207b0a20202020202020206c65742064656c656761746f7250726f7879203d2073656c662e686f6c6465725265662e626f72726f7744656c656761746f7228290a0a202020202020202064656c656761746f7250726f78792e77697468647261775265776172646564546f6b656e7328616d6f756e743a20616d6f756e74290a202020202020202073656c662e7661756c745265662e6465706f7369742866726f6d3a203c2d73656c662e686f6c6465725265662e776974686472617728616d6f756e743a20616d6f756e7429290a202020207d0a7d0af1b07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "02385042aa453566fcff0b2bd418b837d8f46fbc23b1b46e6651b25a395bc04be8239ffa449eae5560eec3e99633dcf9c63b1e9c99996d1c5636644dceef9ec44b576974686472617720526577617264656420464c4f57000101416d6f756e7400005546697836340003", - "hash": "239ffa449eae5560eec3e99633dcf9c63b1e9c99996d1c5636644dceef9ec44b" - }, - { - "title": "TH.25 - Update Networking Address", - "valid": true, - "chainID": "Mainnet", - "payloadMessage": { - "script": "import FlowIDTableStaking from 0x8624b52f9ddcd04a\n\ntransaction(newAddress: String) {\n\n // Local variable for a reference to the node object\n let stakerRef: &FlowIDTableStaking.NodeStaker\n\n prepare(acct: AuthAccount) {\n // borrow a reference to the node object\n self.stakerRef = acct.borrow<&FlowIDTableStaking.NodeStaker>(from: FlowIDTableStaking.NodeStakerStoragePath)\n ?? panic(\"Could not borrow reference to staking admin\")\n }\n\n execute {\n\n self.stakerRef.updateNetworkingAddress(newAddress)\n\n }\n}", - "arguments": [ - { - "type": "String", - "value": "flow-node.test:3569" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ] - }, - "envelopeMessage": { - "script": "import FlowIDTableStaking from 0x8624b52f9ddcd04a\n\ntransaction(newAddress: String) {\n\n // Local variable for a reference to the node object\n let stakerRef: &FlowIDTableStaking.NodeStaker\n\n prepare(acct: AuthAccount) {\n // borrow a reference to the node object\n self.stakerRef = acct.borrow<&FlowIDTableStaking.NodeStaker>(from: FlowIDTableStaking.NodeStakerStoragePath)\n ?? panic(\"Could not borrow reference to staking admin\")\n }\n\n execute {\n\n self.stakerRef.updateNetworkingAddress(newAddress)\n\n }\n}", - "arguments": [ - { - "type": "String", - "value": "flow-node.test:3569" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f9029ab90226696d706f727420466c6f7749445461626c655374616b696e672066726f6d203078383632346235326639646463643034610a0a7472616e73616374696f6e286e6577416464726573733a20537472696e6729207b0a0a202020202f2f204c6f63616c207661726961626c6520666f722061207265666572656e636520746f20746865206e6f6465206f626a6563740a202020206c6574207374616b65725265663a2026466c6f7749445461626c655374616b696e672e4e6f64655374616b65720a0a202020207072657061726528616363743a20417574684163636f756e7429207b0a20202020202020202f2f20626f72726f772061207265666572656e636520746f20746865206e6f6465206f626a6563740a202020202020202073656c662e7374616b6572526566203d20616363742e626f72726f773c26466c6f7749445461626c655374616b696e672e4e6f64655374616b65723e2866726f6d3a20466c6f7749445461626c655374616b696e672e4e6f64655374616b657253746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f207374616b696e672061646d696e22290a202020207d0a0a2020202065786563757465207b0a0a202020202020202073656c662e7374616b65725265662e7570646174654e6574776f726b696e6741646472657373286e657741646472657373290a0a202020207d0a7df0af7b2274797065223a22537472696e67222c2276616c7565223a22666c6f772d6e6f64652e746573743a33353639227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f9029ef9029ab90226696d706f727420466c6f7749445461626c655374616b696e672066726f6d203078383632346235326639646463643034610a0a7472616e73616374696f6e286e6577416464726573733a20537472696e6729207b0a0a202020202f2f204c6f63616c207661726961626c6520666f722061207265666572656e636520746f20746865206e6f6465206f626a6563740a202020206c6574207374616b65725265663a2026466c6f7749445461626c655374616b696e672e4e6f64655374616b65720a0a202020207072657061726528616363743a20417574684163636f756e7429207b0a20202020202020202f2f20626f72726f772061207265666572656e636520746f20746865206e6f6465206f626a6563740a202020202020202073656c662e7374616b6572526566203d20616363742e626f72726f773c26466c6f7749445461626c655374616b696e672e4e6f64655374616b65723e2866726f6d3a20466c6f7749445461626c655374616b696e672e4e6f64655374616b657253746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f207374616b696e672061646d696e22290a202020207d0a0a2020202065786563757465207b0a0a202020202020202073656c662e7374616b65725265662e7570646174654e6574776f726b696e6741646472657373286e657741646472657373290a0a202020207d0a7df0af7b2274797065223a22537472696e67222c2276616c7565223a22666c6f772d6e6f64652e746573743a33353639227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "026cbe81c71d2b04dc403ea0db89377f0abc5db14d3d2bd014397b2776aa29bc3ee79cb076f2f7da7a3039b5061916e081a823087f1560bdf3caea773992892873557064617465204e6574776f726b696e672041646472657373000101416464726573730000537472696e670003", - "hash": "e79cb076f2f7da7a3039b5061916e081a823087f1560bdf3caea773992892873" - }, - { - "title": "SCO.01 - Setup Staking Collection", - "valid": true, - "chainID": "Mainnet", - "payloadMessage": { - "script": "import FungibleToken from 0xf233dcee88fe0abe\nimport FlowToken from 0x1654653399040a61\nimport FlowIDTableStaking from 0x8624b52f9ddcd04a\nimport LockedTokens from 0x8d0e87b65159ae63\nimport FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// This transaction sets up an account to use a staking collection\n/// It will work regardless of whether they have a regular account, a two-account locked tokens setup,\n/// or staking objects stored in the unlocked account\n\ntransaction {\n prepare(signer: AuthAccount) {\n\n // If there isn't already a staking collection\n if signer.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath) == nil {\n\n // Create private capabilities for the token holder and unlocked vault\n let lockedHolder = signer.link<&LockedTokens.TokenHolder>(/private/flowTokenHolder, target: LockedTokens.TokenHolderStoragePath)!\n let flowToken = signer.link<&FlowToken.Vault>(/private/flowTokenVault, target: /storage/flowTokenVault)!\n \n // Create a new Staking Collection and put it in storage\n if lockedHolder.check() {\n signer.save(<-FlowStakingCollection.createStakingCollection(unlockedVault: flowToken, tokenHolder: lockedHolder), to: FlowStakingCollection.StakingCollectionStoragePath)\n } else {\n signer.save(<-FlowStakingCollection.createStakingCollection(unlockedVault: flowToken, tokenHolder: nil), to: FlowStakingCollection.StakingCollectionStoragePath)\n }\n\n // Create a public link to the staking collection\n signer.link<&FlowStakingCollection.StakingCollection{FlowStakingCollection.StakingCollectionPublic}>(\n FlowStakingCollection.StakingCollectionPublicPath,\n target: FlowStakingCollection.StakingCollectionStoragePath\n )\n }\n\n // borrow a reference to the staking collection\n let collectionRef = signer.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow staking collection reference\")\n\n // If there is a node staker object in the account, put it in the staking collection\n if signer.borrow<&FlowIDTableStaking.NodeStaker>(from: FlowIDTableStaking.NodeStakerStoragePath) != nil {\n let node <- signer.load<@FlowIDTableStaking.NodeStaker>(from: FlowIDTableStaking.NodeStakerStoragePath)!\n collectionRef.addNodeObject(<-node, machineAccountInfo: nil)\n }\n\n // If there is a delegator object in the account, put it in the staking collection\n if signer.borrow<&FlowIDTableStaking.NodeDelegator>(from: FlowIDTableStaking.DelegatorStoragePath) != nil {\n let delegator <- signer.load<@FlowIDTableStaking.NodeDelegator>(from: FlowIDTableStaking.DelegatorStoragePath)!\n collectionRef.addDelegatorObject(<-delegator)\n }\n }\n}\n", - "arguments": [], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ] - }, - "envelopeMessage": { - "script": "import FungibleToken from 0xf233dcee88fe0abe\nimport FlowToken from 0x1654653399040a61\nimport FlowIDTableStaking from 0x8624b52f9ddcd04a\nimport LockedTokens from 0x8d0e87b65159ae63\nimport FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// This transaction sets up an account to use a staking collection\n/// It will work regardless of whether they have a regular account, a two-account locked tokens setup,\n/// or staking objects stored in the unlocked account\n\ntransaction {\n prepare(signer: AuthAccount) {\n\n // If there isn't already a staking collection\n if signer.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath) == nil {\n\n // Create private capabilities for the token holder and unlocked vault\n let lockedHolder = signer.link<&LockedTokens.TokenHolder>(/private/flowTokenHolder, target: LockedTokens.TokenHolderStoragePath)!\n let flowToken = signer.link<&FlowToken.Vault>(/private/flowTokenVault, target: /storage/flowTokenVault)!\n \n // Create a new Staking Collection and put it in storage\n if lockedHolder.check() {\n signer.save(<-FlowStakingCollection.createStakingCollection(unlockedVault: flowToken, tokenHolder: lockedHolder), to: FlowStakingCollection.StakingCollectionStoragePath)\n } else {\n signer.save(<-FlowStakingCollection.createStakingCollection(unlockedVault: flowToken, tokenHolder: nil), to: FlowStakingCollection.StakingCollectionStoragePath)\n }\n\n // Create a public link to the staking collection\n signer.link<&FlowStakingCollection.StakingCollection{FlowStakingCollection.StakingCollectionPublic}>(\n FlowStakingCollection.StakingCollectionPublicPath,\n target: FlowStakingCollection.StakingCollectionStoragePath\n )\n }\n\n // borrow a reference to the staking collection\n let collectionRef = signer.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow staking collection reference\")\n\n // If there is a node staker object in the account, put it in the staking collection\n if signer.borrow<&FlowIDTableStaking.NodeStaker>(from: FlowIDTableStaking.NodeStakerStoragePath) != nil {\n let node <- signer.load<@FlowIDTableStaking.NodeStaker>(from: FlowIDTableStaking.NodeStakerStoragePath)!\n collectionRef.addNodeObject(<-node, machineAccountInfo: nil)\n }\n\n // If there is a delegator object in the account, put it in the staking collection\n if signer.borrow<&FlowIDTableStaking.NodeDelegator>(from: FlowIDTableStaking.DelegatorStoragePath) != nil {\n let delegator <- signer.load<@FlowIDTableStaking.NodeDelegator>(from: FlowIDTableStaking.DelegatorStoragePath)!\n collectionRef.addDelegatorObject(<-delegator)\n }\n }\n}\n", - "arguments": [], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f90bf0b90bac696d706f72742046756e6769626c65546f6b656e2066726f6d203078663233336463656538386665306162650a696d706f727420466c6f77546f6b656e2066726f6d203078313635343635333339393034306136310a696d706f727420466c6f7749445461626c655374616b696e672066726f6d203078383632346235326639646463643034610a696d706f7274204c6f636b6564546f6b656e732066726f6d203078386430653837623635313539616536330a696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f2054686973207472616e73616374696f6e207365747320757020616e206163636f756e7420746f207573652061207374616b696e6720636f6c6c656374696f6e0a2f2f2f2049742077696c6c20776f726b207265676172646c657373206f66207768657468657220746865792068617665206120726567756c6172206163636f756e742c20612074776f2d6163636f756e74206c6f636b656420746f6b656e732073657475702c0a2f2f2f206f72207374616b696e67206f626a656374732073746f72656420696e2074686520756e6c6f636b6564206163636f756e740a0a7472616e73616374696f6e207b0a2020202070726570617265287369676e65723a20417574684163636f756e7429207b0a0a20202020202020202f2f2049662074686572652069736e277420616c72656164792061207374616b696e6720636f6c6c656374696f6e0a20202020202020206966207369676e65722e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f726167655061746829203d3d206e696c207b0a0a2020202020202020202020202f2f204372656174652070726976617465206361706162696c697469657320666f722074686520746f6b656e20686f6c64657220616e6420756e6c6f636b6564207661756c740a2020202020202020202020206c6574206c6f636b6564486f6c646572203d207369676e65722e6c696e6b3c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e282f707269766174652f666c6f77546f6b656e486f6c6465722c207461726765743a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f726167655061746829210a2020202020202020202020206c657420666c6f77546f6b656e203d207369676e65722e6c696e6b3c26466c6f77546f6b656e2e5661756c743e282f707269766174652f666c6f77546f6b656e5661756c742c207461726765743a202f73746f726167652f666c6f77546f6b656e5661756c7429210a2020202020202020202020200a2020202020202020202020202f2f204372656174652061206e6577205374616b696e6720436f6c6c656374696f6e20616e642070757420697420696e2073746f726167650a2020202020202020202020206966206c6f636b6564486f6c6465722e636865636b2829207b0a202020202020202020202020202020207369676e65722e73617665283c2d466c6f775374616b696e67436f6c6c656374696f6e2e6372656174655374616b696e67436f6c6c656374696f6e28756e6c6f636b65645661756c743a20666c6f77546f6b656e2c20746f6b656e486f6c6465723a206c6f636b6564486f6c646572292c20746f3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020207d20656c7365207b0a202020202020202020202020202020207369676e65722e73617665283c2d466c6f775374616b696e67436f6c6c656374696f6e2e6372656174655374616b696e67436f6c6c656374696f6e28756e6c6f636b65645661756c743a20666c6f77546f6b656e2c20746f6b656e486f6c6465723a206e696c292c20746f3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020207d0a0a2020202020202020202020202f2f204372656174652061207075626c6963206c696e6b20746f20746865207374616b696e6720636f6c6c656374696f6e0a2020202020202020202020207369676e65722e6c696e6b3c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e7b466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e5075626c69637d3e280a20202020202020202020202020202020466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e5075626c6963506174682c0a202020202020202020202020202020207461726765743a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f72616765506174680a202020202020202020202020290a20202020202020207d0a0a20202020202020202f2f20626f72726f772061207265666572656e636520746f20746865207374616b696e6720636f6c6c656374696f6e0a20202020202020206c657420636f6c6c656374696f6e526566203d207369676e65722e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207374616b696e6720636f6c6c656374696f6e207265666572656e636522290a0a20202020202020202f2f2049662074686572652069732061206e6f6465207374616b6572206f626a65637420696e20746865206163636f756e742c2070757420697420696e20746865207374616b696e6720636f6c6c656374696f6e0a20202020202020206966207369676e65722e626f72726f773c26466c6f7749445461626c655374616b696e672e4e6f64655374616b65723e2866726f6d3a20466c6f7749445461626c655374616b696e672e4e6f64655374616b657253746f72616765506174682920213d206e696c207b0a2020202020202020202020206c6574206e6f6465203c2d207369676e65722e6c6f61643c40466c6f7749445461626c655374616b696e672e4e6f64655374616b65723e2866726f6d3a20466c6f7749445461626c655374616b696e672e4e6f64655374616b657253746f726167655061746829210a202020202020202020202020636f6c6c656374696f6e5265662e6164644e6f64654f626a656374283c2d6e6f64652c206d616368696e654163636f756e74496e666f3a206e696c290a20202020202020207d0a0a20202020202020202f2f20496620746865726520697320612064656c656761746f72206f626a65637420696e20746865206163636f756e742c2070757420697420696e20746865207374616b696e6720636f6c6c656374696f6e0a20202020202020206966207369676e65722e626f72726f773c26466c6f7749445461626c655374616b696e672e4e6f646544656c656761746f723e2866726f6d3a20466c6f7749445461626c655374616b696e672e44656c656761746f7253746f72616765506174682920213d206e696c207b0a2020202020202020202020206c65742064656c656761746f72203c2d207369676e65722e6c6f61643c40466c6f7749445461626c655374616b696e672e4e6f646544656c656761746f723e2866726f6d3a20466c6f7749445461626c655374616b696e672e44656c656761746f7253746f726167655061746829210a202020202020202020202020636f6c6c656374696f6e5265662e61646444656c656761746f724f626a656374283c2d64656c656761746f72290a20202020202020207d0a202020207d0a7d0ac0a0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f90bf4f90bf0b90bac696d706f72742046756e6769626c65546f6b656e2066726f6d203078663233336463656538386665306162650a696d706f727420466c6f77546f6b656e2066726f6d203078313635343635333339393034306136310a696d706f727420466c6f7749445461626c655374616b696e672066726f6d203078383632346235326639646463643034610a696d706f7274204c6f636b6564546f6b656e732066726f6d203078386430653837623635313539616536330a696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f2054686973207472616e73616374696f6e207365747320757020616e206163636f756e7420746f207573652061207374616b696e6720636f6c6c656374696f6e0a2f2f2f2049742077696c6c20776f726b207265676172646c657373206f66207768657468657220746865792068617665206120726567756c6172206163636f756e742c20612074776f2d6163636f756e74206c6f636b656420746f6b656e732073657475702c0a2f2f2f206f72207374616b696e67206f626a656374732073746f72656420696e2074686520756e6c6f636b6564206163636f756e740a0a7472616e73616374696f6e207b0a2020202070726570617265287369676e65723a20417574684163636f756e7429207b0a0a20202020202020202f2f2049662074686572652069736e277420616c72656164792061207374616b696e6720636f6c6c656374696f6e0a20202020202020206966207369676e65722e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f726167655061746829203d3d206e696c207b0a0a2020202020202020202020202f2f204372656174652070726976617465206361706162696c697469657320666f722074686520746f6b656e20686f6c64657220616e6420756e6c6f636b6564207661756c740a2020202020202020202020206c6574206c6f636b6564486f6c646572203d207369676e65722e6c696e6b3c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e282f707269766174652f666c6f77546f6b656e486f6c6465722c207461726765743a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f726167655061746829210a2020202020202020202020206c657420666c6f77546f6b656e203d207369676e65722e6c696e6b3c26466c6f77546f6b656e2e5661756c743e282f707269766174652f666c6f77546f6b656e5661756c742c207461726765743a202f73746f726167652f666c6f77546f6b656e5661756c7429210a2020202020202020202020200a2020202020202020202020202f2f204372656174652061206e6577205374616b696e6720436f6c6c656374696f6e20616e642070757420697420696e2073746f726167650a2020202020202020202020206966206c6f636b6564486f6c6465722e636865636b2829207b0a202020202020202020202020202020207369676e65722e73617665283c2d466c6f775374616b696e67436f6c6c656374696f6e2e6372656174655374616b696e67436f6c6c656374696f6e28756e6c6f636b65645661756c743a20666c6f77546f6b656e2c20746f6b656e486f6c6465723a206c6f636b6564486f6c646572292c20746f3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020207d20656c7365207b0a202020202020202020202020202020207369676e65722e73617665283c2d466c6f775374616b696e67436f6c6c656374696f6e2e6372656174655374616b696e67436f6c6c656374696f6e28756e6c6f636b65645661756c743a20666c6f77546f6b656e2c20746f6b656e486f6c6465723a206e696c292c20746f3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020207d0a0a2020202020202020202020202f2f204372656174652061207075626c6963206c696e6b20746f20746865207374616b696e6720636f6c6c656374696f6e0a2020202020202020202020207369676e65722e6c696e6b3c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e7b466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e5075626c69637d3e280a20202020202020202020202020202020466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e5075626c6963506174682c0a202020202020202020202020202020207461726765743a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f72616765506174680a202020202020202020202020290a20202020202020207d0a0a20202020202020202f2f20626f72726f772061207265666572656e636520746f20746865207374616b696e6720636f6c6c656374696f6e0a20202020202020206c657420636f6c6c656374696f6e526566203d207369676e65722e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207374616b696e6720636f6c6c656374696f6e207265666572656e636522290a0a20202020202020202f2f2049662074686572652069732061206e6f6465207374616b6572206f626a65637420696e20746865206163636f756e742c2070757420697420696e20746865207374616b696e6720636f6c6c656374696f6e0a20202020202020206966207369676e65722e626f72726f773c26466c6f7749445461626c655374616b696e672e4e6f64655374616b65723e2866726f6d3a20466c6f7749445461626c655374616b696e672e4e6f64655374616b657253746f72616765506174682920213d206e696c207b0a2020202020202020202020206c6574206e6f6465203c2d207369676e65722e6c6f61643c40466c6f7749445461626c655374616b696e672e4e6f64655374616b65723e2866726f6d3a20466c6f7749445461626c655374616b696e672e4e6f64655374616b657253746f726167655061746829210a202020202020202020202020636f6c6c656374696f6e5265662e6164644e6f64654f626a656374283c2d6e6f64652c206d616368696e654163636f756e74496e666f3a206e696c290a20202020202020207d0a0a20202020202020202f2f20496620746865726520697320612064656c656761746f72206f626a65637420696e20746865206163636f756e742c2070757420697420696e20746865207374616b696e6720636f6c6c656374696f6e0a20202020202020206966207369676e65722e626f72726f773c26466c6f7749445461626c655374616b696e672e4e6f646544656c656761746f723e2866726f6d3a20466c6f7749445461626c655374616b696e672e44656c656761746f7253746f72616765506174682920213d206e696c207b0a2020202020202020202020206c65742064656c656761746f72203c2d207369676e65722e6c6f61643c40466c6f7749445461626c655374616b696e672e4e6f646544656c656761746f723e2866726f6d3a20466c6f7749445461626c655374616b696e672e44656c656761746f7253746f726167655061746829210a202020202020202020202020636f6c6c656374696f6e5265662e61646444656c656761746f724f626a656374283c2d64656c656761746f72290a20202020202020207d0a202020207d0a7d0ac0a0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "02a524b4094fcaf1051dbf43ac33ff80bb2f553670c58eeeb719757972a25d6b500e5c2445c0b1016eed4f60c429f233aa0bb223a0d9ff2aedffce00a58037a2bf5365747570205374616b696e6720436f6c6c656374696f6e0000", - "hash": "0e5c2445c0b1016eed4f60c429f233aa0bb223a0d9ff2aedffce00a58037a2bf" - }, - { - "title": "SCO.02 - Register Delegator", - "valid": true, - "chainID": "Mainnet", - "payloadMessage": { - "script": "import FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// Registers a delegator in the staking collection resource\n/// for the specified nodeID and the amount of tokens to commit\n\ntransaction(id: String, amount: UFix64) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n }\n\n execute {\n self.stakingCollectionRef.registerDelegator(nodeID: id, amount: amount) \n }\n}\n", - "arguments": [ - { - "type": "String", - "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" - }, - { - "type": "UFix64", - "value": "92233720368.54775808" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ] - }, - "envelopeMessage": { - "script": "import FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// Registers a delegator in the staking collection resource\n/// for the specified nodeID and the amount of tokens to commit\n\ntransaction(id: String, amount: UFix64) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n }\n\n execute {\n self.stakingCollectionRef.registerDelegator(nodeID: id, amount: amount) \n }\n}\n", - "arguments": [ - { - "type": "String", - "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" - }, - { - "type": "UFix64", - "value": "92233720368.54775808" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f9036fb9029b696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f2052656769737465727320612064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e207265736f757263650a2f2f2f20666f722074686520737065636966696564206e6f6465494420616e642074686520616d6f756e74206f6620746f6b656e7320746f20636f6d6d69740a0a7472616e73616374696f6e2869643a20537472696e672c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e726567697374657244656c656761746f72286e6f646549443a2069642c20616d6f756e743a20616d6f756e74292020202020200a202020207d0a7d0af88fb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f90373f9036fb9029b696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f2052656769737465727320612064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e207265736f757263650a2f2f2f20666f722074686520737065636966696564206e6f6465494420616e642074686520616d6f756e74206f6620746f6b656e7320746f20636f6d6d69740a0a7472616e73616374696f6e2869643a20537472696e672c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e726567697374657244656c656761746f72286e6f646549443a2069642c20616d6f756e743a20616d6f756e74292020202020200a202020207d0a7d0af88fb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "02c26f69a33ead535e7d597cec4567c6c70170e86fd85ec708f5381e50d43871e2c5636d510872a16eb06996dacb43d6a28f8f72ff1b05b2eb03416cc711d9bb1f52656769737465722044656c656761746f720002014e6f64652049440000537472696e67000301416d6f756e7400015546697836340003", - "hash": "c5636d510872a16eb06996dacb43d6a28f8f72ff1b05b2eb03416cc711d9bb1f" - }, - { - "title": "SCO.03 - Register Node - 1", - "valid": true, - "chainID": "Mainnet", - "payloadMessage": { - "script": "import FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// Registers a delegator in the staking collection resource\n/// for the specified node information and the amount of tokens to commit\n\ntransaction(id: String,\n role: UInt8,\n networkingAddress: String,\n networkingKey: String,\n stakingKey: String,\n amount: UFix64,\n publicKeys: [String]?) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n\n if let machineAccount = self.stakingCollectionRef.registerNode(\n id: id,\n role: role,\n networkingAddress: networkingAddress,\n networkingKey: networkingKey,\n stakingKey: stakingKey,\n amount: amount,\n payer: account) \n {\n if publicKeys == nil || publicKeys!.length == 0 {\n panic(\"Cannot provide zero keys for the machine account\")\n }\n for key in publicKeys! {\n machineAccount.addPublicKey(key.decodeHex())\n }\n }\n }\n}\n", - "arguments": [ - { - "type": "String", - "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" - }, - { - "type": "UInt8", - "value": "1" - }, - { - "type": "String", - "value": "flow-node.test:3569" - }, - { - "type": "String", - "value": "1348307bc77c688e80049de9d081aa09755da33e6997605fa059db2144fc85e560cbe6f7da8d74b453f5916618cb8fd392c2db856f3e78221dc68db1b1d914e4" - }, - { - "type": "String", - "value": "9e9ae0d645fd5fd9050792e0b0daa82cc1686d9133afa0f81a784b375c42ae48567d1545e7a9e1965f2c1a32f73cf8575ebb7a967f6e4d104d2df78eb8be409135d12da0499b8a00771f642c1b9c49397f22b440439f036c3bdee82f5309dab3" - }, - { - "type": "UFix64", - "value": "92233720368.54775808" - }, - { - "type": "Optional", - "value": null - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ] - }, - "envelopeMessage": { - "script": "import FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// Registers a delegator in the staking collection resource\n/// for the specified node information and the amount of tokens to commit\n\ntransaction(id: String,\n role: UInt8,\n networkingAddress: String,\n networkingKey: String,\n stakingKey: String,\n amount: UFix64,\n publicKeys: [String]?) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n\n if let machineAccount = self.stakingCollectionRef.registerNode(\n id: id,\n role: role,\n networkingAddress: networkingAddress,\n networkingKey: networkingKey,\n stakingKey: stakingKey,\n amount: amount,\n payer: account) \n {\n if publicKeys == nil || publicKeys!.length == 0 {\n panic(\"Cannot provide zero keys for the machine account\")\n }\n for key in publicKeys! {\n machineAccount.addPublicKey(key.decodeHex())\n }\n }\n }\n}\n", - "arguments": [ - { - "type": "String", - "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" - }, - { - "type": "UInt8", - "value": "1" - }, - { - "type": "String", - "value": "flow-node.test:3569" - }, - { - "type": "String", - "value": "1348307bc77c688e80049de9d081aa09755da33e6997605fa059db2144fc85e560cbe6f7da8d74b453f5916618cb8fd392c2db856f3e78221dc68db1b1d914e4" - }, - { - "type": "String", - "value": "9e9ae0d645fd5fd9050792e0b0daa82cc1686d9133afa0f81a784b375c42ae48567d1545e7a9e1965f2c1a32f73cf8575ebb7a967f6e4d104d2df78eb8be409135d12da0499b8a00771f642c1b9c49397f22b440439f036c3bdee82f5309dab3" - }, - { - "type": "UFix64", - "value": "92233720368.54775808" - }, - { - "type": "Optional", - "value": null - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f907f3b90534696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f2052656769737465727320612064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e207265736f757263650a2f2f2f20666f722074686520737065636966696564206e6f646520696e666f726d6174696f6e20616e642074686520616d6f756e74206f6620746f6b656e7320746f20636f6d6d69740a0a7472616e73616374696f6e2869643a20537472696e672c0a202020202020202020202020726f6c653a2055496e74382c0a2020202020202020202020206e6574776f726b696e67416464726573733a20537472696e672c0a2020202020202020202020206e6574776f726b696e674b65793a20537472696e672c0a2020202020202020202020207374616b696e674b65793a20537472696e672c0a202020202020202020202020616d6f756e743a205546697836342c0a2020202020202020202020207075626c69634b6579733a205b537472696e675d3f29207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a0a20202020202020206966206c6574206d616368696e654163636f756e74203d2073656c662e7374616b696e67436f6c6c656374696f6e5265662e72656769737465724e6f6465280a20202020202020202020202069643a2069642c0a202020202020202020202020726f6c653a20726f6c652c0a2020202020202020202020206e6574776f726b696e67416464726573733a206e6574776f726b696e67416464726573732c0a2020202020202020202020206e6574776f726b696e674b65793a206e6574776f726b696e674b65792c0a2020202020202020202020207374616b696e674b65793a207374616b696e674b65792c0a202020202020202020202020616d6f756e743a20616d6f756e742c0a20202020202020202020202070617965723a206163636f756e7429200a20202020202020207b0a2020202020202020202020206966207075626c69634b657973203d3d206e696c207c7c207075626c69634b657973212e6c656e677468203d3d2030207b0a2020202020202020202020202020202070616e6963282243616e6e6f742070726f76696465207a65726f206b65797320666f7220746865206d616368696e65206163636f756e7422290a2020202020202020202020207d0a202020202020202020202020666f72206b657920696e207075626c69634b65797321207b0a202020202020202020202020202020206d616368696e654163636f756e742e6164645075626c69634b6579286b65792e6465636f64654865782829290a2020202020202020202020207d0a20202020202020207d0a202020207d0a7d0af90279b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227d9c7b2274797065223a2255496e7438222c2276616c7565223a2231227daf7b2274797065223a22537472696e67222c2276616c7565223a22666c6f772d6e6f64652e746573743a33353639227db89c7b2274797065223a22537472696e67222c2276616c7565223a223133343833303762633737633638386538303034396465396430383161613039373535646133336536393937363035666130353964623231343466633835653536306362653666376461386437346234353366353931363631386362386664333932633264623835366633653738323231646336386462316231643931346534227db8dc7b2274797065223a22537472696e67222c2276616c7565223a22396539616530643634356664356664393035303739326530623064616138326363313638366439313333616661306638316137383462333735633432616534383536376431353435653761396531393635663263316133326637336366383537356562623761393637663665346431303464326466373865623862653430393133356431326461303439396238613030373731663634326331623963343933393766323262343430343339663033366333626465653832663533303964616233227db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da07b2274797065223a224f7074696f6e616c222c2276616c7565223a6e756c6c7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f907f7f907f3b90534696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f2052656769737465727320612064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e207265736f757263650a2f2f2f20666f722074686520737065636966696564206e6f646520696e666f726d6174696f6e20616e642074686520616d6f756e74206f6620746f6b656e7320746f20636f6d6d69740a0a7472616e73616374696f6e2869643a20537472696e672c0a202020202020202020202020726f6c653a2055496e74382c0a2020202020202020202020206e6574776f726b696e67416464726573733a20537472696e672c0a2020202020202020202020206e6574776f726b696e674b65793a20537472696e672c0a2020202020202020202020207374616b696e674b65793a20537472696e672c0a202020202020202020202020616d6f756e743a205546697836342c0a2020202020202020202020207075626c69634b6579733a205b537472696e675d3f29207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a0a20202020202020206966206c6574206d616368696e654163636f756e74203d2073656c662e7374616b696e67436f6c6c656374696f6e5265662e72656769737465724e6f6465280a20202020202020202020202069643a2069642c0a202020202020202020202020726f6c653a20726f6c652c0a2020202020202020202020206e6574776f726b696e67416464726573733a206e6574776f726b696e67416464726573732c0a2020202020202020202020206e6574776f726b696e674b65793a206e6574776f726b696e674b65792c0a2020202020202020202020207374616b696e674b65793a207374616b696e674b65792c0a202020202020202020202020616d6f756e743a20616d6f756e742c0a20202020202020202020202070617965723a206163636f756e7429200a20202020202020207b0a2020202020202020202020206966207075626c69634b657973203d3d206e696c207c7c207075626c69634b657973212e6c656e677468203d3d2030207b0a2020202020202020202020202020202070616e6963282243616e6e6f742070726f76696465207a65726f206b65797320666f7220746865206d616368696e65206163636f756e7422290a2020202020202020202020207d0a202020202020202020202020666f72206b657920696e207075626c69634b65797321207b0a202020202020202020202020202020206d616368696e654163636f756e742e6164645075626c69634b6579286b65792e6465636f64654865782829290a2020202020202020202020207d0a20202020202020207d0a202020207d0a7d0af90279b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227d9c7b2274797065223a2255496e7438222c2276616c7565223a2231227daf7b2274797065223a22537472696e67222c2276616c7565223a22666c6f772d6e6f64652e746573743a33353639227db89c7b2274797065223a22537472696e67222c2276616c7565223a223133343833303762633737633638386538303034396465396430383161613039373535646133336536393937363035666130353964623231343466633835653536306362653666376461386437346234353366353931363631386362386664333932633264623835366633653738323231646336386462316231643931346534227db8dc7b2274797065223a22537472696e67222c2276616c7565223a22396539616530643634356664356664393035303739326530623064616138326363313638366439313333616661306638316137383462333735633432616534383536376431353435653761396531393635663263316133326637336366383537356562623761393637663665346431303464326466373865623862653430393133356431326461303439396238613030373731663634326331623963343933393766323262343430343339663033366333626465653832663533303964616233227db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da07b2274797065223a224f7074696f6e616c222c2276616c7565223a6e756c6c7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "02f47efa834bc0559afae9a660b2efefddd0c6dc6e1bbcf9c3994e45ea9e5135ec99997236b6d76caa298331d5cef77cbdf83c1af64584ece537a780ba4ac468835265676973746572204e6f64650007014e6f64652049440000537472696e670003014e6f646520526f6c65000155496e74380003014e6574772e20416464726573730002537472696e670003014e6574772e204b65790003537472696e670003015374616b696e67204b65790004537472696e67000301416d6f756e74000555466978363400030400035075622e204b65790006537472696e670003", - "hash": "99997236b6d76caa298331d5cef77cbdf83c1af64584ece537a780ba4ac46883" - }, - { - "title": "SCO.03 - Register Node - 2", - "valid": true, - "chainID": "Mainnet", - "payloadMessage": { - "script": "import FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// Registers a delegator in the staking collection resource\n/// for the specified node information and the amount of tokens to commit\n\ntransaction(id: String,\n role: UInt8,\n networkingAddress: String,\n networkingKey: String,\n stakingKey: String,\n amount: UFix64,\n publicKeys: [String]?) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n\n if let machineAccount = self.stakingCollectionRef.registerNode(\n id: id,\n role: role,\n networkingAddress: networkingAddress,\n networkingKey: networkingKey,\n stakingKey: stakingKey,\n amount: amount,\n payer: account) \n {\n if publicKeys == nil || publicKeys!.length == 0 {\n panic(\"Cannot provide zero keys for the machine account\")\n }\n for key in publicKeys! {\n machineAccount.addPublicKey(key.decodeHex())\n }\n }\n }\n}\n", - "arguments": [ - { - "type": "String", - "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" - }, - { - "type": "UInt8", - "value": "1" - }, - { - "type": "String", - "value": "flow-node.test:3569" - }, - { - "type": "String", - "value": "1348307bc77c688e80049de9d081aa09755da33e6997605fa059db2144fc85e560cbe6f7da8d74b453f5916618cb8fd392c2db856f3e78221dc68db1b1d914e4" - }, - { - "type": "String", - "value": "9e9ae0d645fd5fd9050792e0b0daa82cc1686d9133afa0f81a784b375c42ae48567d1545e7a9e1965f2c1a32f73cf8575ebb7a967f6e4d104d2df78eb8be409135d12da0499b8a00771f642c1b9c49397f22b440439f036c3bdee82f5309dab3" - }, - { - "type": "UFix64", - "value": "92233720368.54775808" - }, - { - "type": "Optional", - "value": { - "type": "Array", - "value": [] - } - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ] - }, - "envelopeMessage": { - "script": "import FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// Registers a delegator in the staking collection resource\n/// for the specified node information and the amount of tokens to commit\n\ntransaction(id: String,\n role: UInt8,\n networkingAddress: String,\n networkingKey: String,\n stakingKey: String,\n amount: UFix64,\n publicKeys: [String]?) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n\n if let machineAccount = self.stakingCollectionRef.registerNode(\n id: id,\n role: role,\n networkingAddress: networkingAddress,\n networkingKey: networkingKey,\n stakingKey: stakingKey,\n amount: amount,\n payer: account) \n {\n if publicKeys == nil || publicKeys!.length == 0 {\n panic(\"Cannot provide zero keys for the machine account\")\n }\n for key in publicKeys! {\n machineAccount.addPublicKey(key.decodeHex())\n }\n }\n }\n}\n", - "arguments": [ - { - "type": "String", - "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" - }, - { - "type": "UInt8", - "value": "1" - }, - { - "type": "String", - "value": "flow-node.test:3569" - }, - { - "type": "String", - "value": "1348307bc77c688e80049de9d081aa09755da33e6997605fa059db2144fc85e560cbe6f7da8d74b453f5916618cb8fd392c2db856f3e78221dc68db1b1d914e4" - }, - { - "type": "String", - "value": "9e9ae0d645fd5fd9050792e0b0daa82cc1686d9133afa0f81a784b375c42ae48567d1545e7a9e1965f2c1a32f73cf8575ebb7a967f6e4d104d2df78eb8be409135d12da0499b8a00771f642c1b9c49397f22b440439f036c3bdee82f5309dab3" - }, - { - "type": "UFix64", - "value": "92233720368.54775808" - }, - { - "type": "Optional", - "value": { - "type": "Array", - "value": [] - } - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f9080ab90534696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f2052656769737465727320612064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e207265736f757263650a2f2f2f20666f722074686520737065636966696564206e6f646520696e666f726d6174696f6e20616e642074686520616d6f756e74206f6620746f6b656e7320746f20636f6d6d69740a0a7472616e73616374696f6e2869643a20537472696e672c0a202020202020202020202020726f6c653a2055496e74382c0a2020202020202020202020206e6574776f726b696e67416464726573733a20537472696e672c0a2020202020202020202020206e6574776f726b696e674b65793a20537472696e672c0a2020202020202020202020207374616b696e674b65793a20537472696e672c0a202020202020202020202020616d6f756e743a205546697836342c0a2020202020202020202020207075626c69634b6579733a205b537472696e675d3f29207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a0a20202020202020206966206c6574206d616368696e654163636f756e74203d2073656c662e7374616b696e67436f6c6c656374696f6e5265662e72656769737465724e6f6465280a20202020202020202020202069643a2069642c0a202020202020202020202020726f6c653a20726f6c652c0a2020202020202020202020206e6574776f726b696e67416464726573733a206e6574776f726b696e67416464726573732c0a2020202020202020202020206e6574776f726b696e674b65793a206e6574776f726b696e674b65792c0a2020202020202020202020207374616b696e674b65793a207374616b696e674b65792c0a202020202020202020202020616d6f756e743a20616d6f756e742c0a20202020202020202020202070617965723a206163636f756e7429200a20202020202020207b0a2020202020202020202020206966207075626c69634b657973203d3d206e696c207c7c207075626c69634b657973212e6c656e677468203d3d2030207b0a2020202020202020202020202020202070616e6963282243616e6e6f742070726f76696465207a65726f206b65797320666f7220746865206d616368696e65206163636f756e7422290a2020202020202020202020207d0a202020202020202020202020666f72206b657920696e207075626c69634b65797321207b0a202020202020202020202020202020206d616368696e654163636f756e742e6164645075626c69634b6579286b65792e6465636f64654865782829290a2020202020202020202020207d0a20202020202020207d0a202020207d0a7d0af90290b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227d9c7b2274797065223a2255496e7438222c2276616c7565223a2231227daf7b2274797065223a22537472696e67222c2276616c7565223a22666c6f772d6e6f64652e746573743a33353639227db89c7b2274797065223a22537472696e67222c2276616c7565223a223133343833303762633737633638386538303034396465396430383161613039373535646133336536393937363035666130353964623231343466633835653536306362653666376461386437346234353366353931363631386362386664333932633264623835366633653738323231646336386462316231643931346534227db8dc7b2274797065223a22537472696e67222c2276616c7565223a22396539616530643634356664356664393035303739326530623064616138326363313638366439313333616661306638316137383462333735633432616534383536376431353435653761396531393635663263316133326637336366383537356562623761393637663665346431303464326466373865623862653430393133356431326461303439396238613030373731663634326331623963343933393766323262343430343339663033366333626465653832663533303964616233227db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227db77b2274797065223a224f7074696f6e616c222c2276616c7565223a7b2274797065223a224172726179222c2276616c7565223a5b5d7d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f9080ef9080ab90534696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f2052656769737465727320612064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e207265736f757263650a2f2f2f20666f722074686520737065636966696564206e6f646520696e666f726d6174696f6e20616e642074686520616d6f756e74206f6620746f6b656e7320746f20636f6d6d69740a0a7472616e73616374696f6e2869643a20537472696e672c0a202020202020202020202020726f6c653a2055496e74382c0a2020202020202020202020206e6574776f726b696e67416464726573733a20537472696e672c0a2020202020202020202020206e6574776f726b696e674b65793a20537472696e672c0a2020202020202020202020207374616b696e674b65793a20537472696e672c0a202020202020202020202020616d6f756e743a205546697836342c0a2020202020202020202020207075626c69634b6579733a205b537472696e675d3f29207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a0a20202020202020206966206c6574206d616368696e654163636f756e74203d2073656c662e7374616b696e67436f6c6c656374696f6e5265662e72656769737465724e6f6465280a20202020202020202020202069643a2069642c0a202020202020202020202020726f6c653a20726f6c652c0a2020202020202020202020206e6574776f726b696e67416464726573733a206e6574776f726b696e67416464726573732c0a2020202020202020202020206e6574776f726b696e674b65793a206e6574776f726b696e674b65792c0a2020202020202020202020207374616b696e674b65793a207374616b696e674b65792c0a202020202020202020202020616d6f756e743a20616d6f756e742c0a20202020202020202020202070617965723a206163636f756e7429200a20202020202020207b0a2020202020202020202020206966207075626c69634b657973203d3d206e696c207c7c207075626c69634b657973212e6c656e677468203d3d2030207b0a2020202020202020202020202020202070616e6963282243616e6e6f742070726f76696465207a65726f206b65797320666f7220746865206d616368696e65206163636f756e7422290a2020202020202020202020207d0a202020202020202020202020666f72206b657920696e207075626c69634b65797321207b0a202020202020202020202020202020206d616368696e654163636f756e742e6164645075626c69634b6579286b65792e6465636f64654865782829290a2020202020202020202020207d0a20202020202020207d0a202020207d0a7d0af90290b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227d9c7b2274797065223a2255496e7438222c2276616c7565223a2231227daf7b2274797065223a22537472696e67222c2276616c7565223a22666c6f772d6e6f64652e746573743a33353639227db89c7b2274797065223a22537472696e67222c2276616c7565223a223133343833303762633737633638386538303034396465396430383161613039373535646133336536393937363035666130353964623231343466633835653536306362653666376461386437346234353366353931363631386362386664333932633264623835366633653738323231646336386462316231643931346534227db8dc7b2274797065223a22537472696e67222c2276616c7565223a22396539616530643634356664356664393035303739326530623064616138326363313638366439313333616661306638316137383462333735633432616534383536376431353435653761396531393635663263316133326637336366383537356562623761393637663665346431303464326466373865623862653430393133356431326461303439396238613030373731663634326331623963343933393766323262343430343339663033366333626465653832663533303964616233227db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227db77b2274797065223a224f7074696f6e616c222c2276616c7565223a7b2274797065223a224172726179222c2276616c7565223a5b5d7d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "02f47efa834bc0559afae9a660b2efefddd0c6dc6e1bbcf9c3994e45ea9e5135ec99997236b6d76caa298331d5cef77cbdf83c1af64584ece537a780ba4ac468835265676973746572204e6f64650007014e6f64652049440000537472696e670003014e6f646520526f6c65000155496e74380003014e6574772e20416464726573730002537472696e670003014e6574772e204b65790003537472696e670003015374616b696e67204b65790004537472696e67000301416d6f756e74000555466978363400030400035075622e204b65790006537472696e670003", - "hash": "99997236b6d76caa298331d5cef77cbdf83c1af64584ece537a780ba4ac46883" - }, - { - "title": "SCO.03 - Register Node - 3", - "valid": true, - "chainID": "Mainnet", - "payloadMessage": { - "script": "import FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// Registers a delegator in the staking collection resource\n/// for the specified node information and the amount of tokens to commit\n\ntransaction(id: String,\n role: UInt8,\n networkingAddress: String,\n networkingKey: String,\n stakingKey: String,\n amount: UFix64,\n publicKeys: [String]?) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n\n if let machineAccount = self.stakingCollectionRef.registerNode(\n id: id,\n role: role,\n networkingAddress: networkingAddress,\n networkingKey: networkingKey,\n stakingKey: stakingKey,\n amount: amount,\n payer: account) \n {\n if publicKeys == nil || publicKeys!.length == 0 {\n panic(\"Cannot provide zero keys for the machine account\")\n }\n for key in publicKeys! {\n machineAccount.addPublicKey(key.decodeHex())\n }\n }\n }\n}\n", - "arguments": [ - { - "type": "String", - "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" - }, - { - "type": "UInt8", - "value": "1" - }, - { - "type": "String", - "value": "flow-node.test:3569" - }, - { - "type": "String", - "value": "1348307bc77c688e80049de9d081aa09755da33e6997605fa059db2144fc85e560cbe6f7da8d74b453f5916618cb8fd392c2db856f3e78221dc68db1b1d914e4" - }, - { - "type": "String", - "value": "9e9ae0d645fd5fd9050792e0b0daa82cc1686d9133afa0f81a784b375c42ae48567d1545e7a9e1965f2c1a32f73cf8575ebb7a967f6e4d104d2df78eb8be409135d12da0499b8a00771f642c1b9c49397f22b440439f036c3bdee82f5309dab3" - }, - { - "type": "UFix64", - "value": "92233720368.54775808" - }, - { - "type": "Optional", - "value": { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164" - } - ] - } - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ] - }, - "envelopeMessage": { - "script": "import FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// Registers a delegator in the staking collection resource\n/// for the specified node information and the amount of tokens to commit\n\ntransaction(id: String,\n role: UInt8,\n networkingAddress: String,\n networkingKey: String,\n stakingKey: String,\n amount: UFix64,\n publicKeys: [String]?) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n\n if let machineAccount = self.stakingCollectionRef.registerNode(\n id: id,\n role: role,\n networkingAddress: networkingAddress,\n networkingKey: networkingKey,\n stakingKey: stakingKey,\n amount: amount,\n payer: account) \n {\n if publicKeys == nil || publicKeys!.length == 0 {\n panic(\"Cannot provide zero keys for the machine account\")\n }\n for key in publicKeys! {\n machineAccount.addPublicKey(key.decodeHex())\n }\n }\n }\n}\n", - "arguments": [ - { - "type": "String", - "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" - }, - { - "type": "UInt8", - "value": "1" - }, - { - "type": "String", - "value": "flow-node.test:3569" - }, - { - "type": "String", - "value": "1348307bc77c688e80049de9d081aa09755da33e6997605fa059db2144fc85e560cbe6f7da8d74b453f5916618cb8fd392c2db856f3e78221dc68db1b1d914e4" - }, - { - "type": "String", - "value": "9e9ae0d645fd5fd9050792e0b0daa82cc1686d9133afa0f81a784b375c42ae48567d1545e7a9e1965f2c1a32f73cf8575ebb7a967f6e4d104d2df78eb8be409135d12da0499b8a00771f642c1b9c49397f22b440439f036c3bdee82f5309dab3" - }, - { - "type": "UFix64", - "value": "92233720368.54775808" - }, - { - "type": "Optional", - "value": { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164" - } - ] - } - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f908b5b90534696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f2052656769737465727320612064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e207265736f757263650a2f2f2f20666f722074686520737065636966696564206e6f646520696e666f726d6174696f6e20616e642074686520616d6f756e74206f6620746f6b656e7320746f20636f6d6d69740a0a7472616e73616374696f6e2869643a20537472696e672c0a202020202020202020202020726f6c653a2055496e74382c0a2020202020202020202020206e6574776f726b696e67416464726573733a20537472696e672c0a2020202020202020202020206e6574776f726b696e674b65793a20537472696e672c0a2020202020202020202020207374616b696e674b65793a20537472696e672c0a202020202020202020202020616d6f756e743a205546697836342c0a2020202020202020202020207075626c69634b6579733a205b537472696e675d3f29207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a0a20202020202020206966206c6574206d616368696e654163636f756e74203d2073656c662e7374616b696e67436f6c6c656374696f6e5265662e72656769737465724e6f6465280a20202020202020202020202069643a2069642c0a202020202020202020202020726f6c653a20726f6c652c0a2020202020202020202020206e6574776f726b696e67416464726573733a206e6574776f726b696e67416464726573732c0a2020202020202020202020206e6574776f726b696e674b65793a206e6574776f726b696e674b65792c0a2020202020202020202020207374616b696e674b65793a207374616b696e674b65792c0a202020202020202020202020616d6f756e743a20616d6f756e742c0a20202020202020202020202070617965723a206163636f756e7429200a20202020202020207b0a2020202020202020202020206966207075626c69634b657973203d3d206e696c207c7c207075626c69634b657973212e6c656e677468203d3d2030207b0a2020202020202020202020202020202070616e6963282243616e6e6f742070726f76696465207a65726f206b65797320666f7220746865206d616368696e65206163636f756e7422290a2020202020202020202020207d0a202020202020202020202020666f72206b657920696e207075626c69634b65797321207b0a202020202020202020202020202020206d616368696e654163636f756e742e6164645075626c69634b6579286b65792e6465636f64654865782829290a2020202020202020202020207d0a20202020202020207d0a202020207d0a7d0af9033bb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227d9c7b2274797065223a2255496e7438222c2276616c7565223a2231227daf7b2274797065223a22537472696e67222c2276616c7565223a22666c6f772d6e6f64652e746573743a33353639227db89c7b2274797065223a22537472696e67222c2276616c7565223a223133343833303762633737633638386538303034396465396430383161613039373535646133336536393937363035666130353964623231343466633835653536306362653666376461386437346234353366353931363631386362386664333932633264623835366633653738323231646336386462316231643931346534227db8dc7b2274797065223a22537472696e67222c2276616c7565223a22396539616530643634356664356664393035303739326530623064616138326363313638366439313333616661306638316137383462333735633432616534383536376431353435653761396531393635663263316133326637336366383537356562623761393637663665346431303464326466373865623862653430393133356431326461303439396238613030373731663634326331623963343933393766323262343430343339663033366333626465653832663533303964616233227db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227db8e17b2274797065223a224f7074696f6e616c222c2276616c7565223a7b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634227d5d7d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f908b9f908b5b90534696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f2052656769737465727320612064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e207265736f757263650a2f2f2f20666f722074686520737065636966696564206e6f646520696e666f726d6174696f6e20616e642074686520616d6f756e74206f6620746f6b656e7320746f20636f6d6d69740a0a7472616e73616374696f6e2869643a20537472696e672c0a202020202020202020202020726f6c653a2055496e74382c0a2020202020202020202020206e6574776f726b696e67416464726573733a20537472696e672c0a2020202020202020202020206e6574776f726b696e674b65793a20537472696e672c0a2020202020202020202020207374616b696e674b65793a20537472696e672c0a202020202020202020202020616d6f756e743a205546697836342c0a2020202020202020202020207075626c69634b6579733a205b537472696e675d3f29207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a0a20202020202020206966206c6574206d616368696e654163636f756e74203d2073656c662e7374616b696e67436f6c6c656374696f6e5265662e72656769737465724e6f6465280a20202020202020202020202069643a2069642c0a202020202020202020202020726f6c653a20726f6c652c0a2020202020202020202020206e6574776f726b696e67416464726573733a206e6574776f726b696e67416464726573732c0a2020202020202020202020206e6574776f726b696e674b65793a206e6574776f726b696e674b65792c0a2020202020202020202020207374616b696e674b65793a207374616b696e674b65792c0a202020202020202020202020616d6f756e743a20616d6f756e742c0a20202020202020202020202070617965723a206163636f756e7429200a20202020202020207b0a2020202020202020202020206966207075626c69634b657973203d3d206e696c207c7c207075626c69634b657973212e6c656e677468203d3d2030207b0a2020202020202020202020202020202070616e6963282243616e6e6f742070726f76696465207a65726f206b65797320666f7220746865206d616368696e65206163636f756e7422290a2020202020202020202020207d0a202020202020202020202020666f72206b657920696e207075626c69634b65797321207b0a202020202020202020202020202020206d616368696e654163636f756e742e6164645075626c69634b6579286b65792e6465636f64654865782829290a2020202020202020202020207d0a20202020202020207d0a202020207d0a7d0af9033bb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227d9c7b2274797065223a2255496e7438222c2276616c7565223a2231227daf7b2274797065223a22537472696e67222c2276616c7565223a22666c6f772d6e6f64652e746573743a33353639227db89c7b2274797065223a22537472696e67222c2276616c7565223a223133343833303762633737633638386538303034396465396430383161613039373535646133336536393937363035666130353964623231343466633835653536306362653666376461386437346234353366353931363631386362386664333932633264623835366633653738323231646336386462316231643931346534227db8dc7b2274797065223a22537472696e67222c2276616c7565223a22396539616530643634356664356664393035303739326530623064616138326363313638366439313333616661306638316137383462333735633432616534383536376431353435653761396531393635663263316133326637336366383537356562623761393637663665346431303464326466373865623862653430393133356431326461303439396238613030373731663634326331623963343933393766323262343430343339663033366333626465653832663533303964616233227db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227db8e17b2274797065223a224f7074696f6e616c222c2276616c7565223a7b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634227d5d7d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "02f47efa834bc0559afae9a660b2efefddd0c6dc6e1bbcf9c3994e45ea9e5135ec99997236b6d76caa298331d5cef77cbdf83c1af64584ece537a780ba4ac468835265676973746572204e6f64650007014e6f64652049440000537472696e670003014e6f646520526f6c65000155496e74380003014e6574772e20416464726573730002537472696e670003014e6574772e204b65790003537472696e670003015374616b696e67204b65790004537472696e67000301416d6f756e74000555466978363400030400035075622e204b65790006537472696e670003", - "hash": "99997236b6d76caa298331d5cef77cbdf83c1af64584ece537a780ba4ac46883" - }, - { - "title": "SCO.03 - Register Node - 4", - "valid": true, - "chainID": "Mainnet", - "payloadMessage": { - "script": "import FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// Registers a delegator in the staking collection resource\n/// for the specified node information and the amount of tokens to commit\n\ntransaction(id: String,\n role: UInt8,\n networkingAddress: String,\n networkingKey: String,\n stakingKey: String,\n amount: UFix64,\n publicKeys: [String]?) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n\n if let machineAccount = self.stakingCollectionRef.registerNode(\n id: id,\n role: role,\n networkingAddress: networkingAddress,\n networkingKey: networkingKey,\n stakingKey: stakingKey,\n amount: amount,\n payer: account) \n {\n if publicKeys == nil || publicKeys!.length == 0 {\n panic(\"Cannot provide zero keys for the machine account\")\n }\n for key in publicKeys! {\n machineAccount.addPublicKey(key.decodeHex())\n }\n }\n }\n}\n", - "arguments": [ - { - "type": "String", - "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" - }, - { - "type": "UInt8", - "value": "1" - }, - { - "type": "String", - "value": "flow-node.test:3569" - }, - { - "type": "String", - "value": "1348307bc77c688e80049de9d081aa09755da33e6997605fa059db2144fc85e560cbe6f7da8d74b453f5916618cb8fd392c2db856f3e78221dc68db1b1d914e4" - }, - { - "type": "String", - "value": "9e9ae0d645fd5fd9050792e0b0daa82cc1686d9133afa0f81a784b375c42ae48567d1545e7a9e1965f2c1a32f73cf8575ebb7a967f6e4d104d2df78eb8be409135d12da0499b8a00771f642c1b9c49397f22b440439f036c3bdee82f5309dab3" - }, - { - "type": "UFix64", - "value": "92233720368.54775808" - }, - { - "type": "Optional", - "value": { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164" - }, - { - "type": "String", - "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164" - }, - { - "type": "String", - "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164" - } - ] - } - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ] - }, - "envelopeMessage": { - "script": "import FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// Registers a delegator in the staking collection resource\n/// for the specified node information and the amount of tokens to commit\n\ntransaction(id: String,\n role: UInt8,\n networkingAddress: String,\n networkingKey: String,\n stakingKey: String,\n amount: UFix64,\n publicKeys: [String]?) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n\n if let machineAccount = self.stakingCollectionRef.registerNode(\n id: id,\n role: role,\n networkingAddress: networkingAddress,\n networkingKey: networkingKey,\n stakingKey: stakingKey,\n amount: amount,\n payer: account) \n {\n if publicKeys == nil || publicKeys!.length == 0 {\n panic(\"Cannot provide zero keys for the machine account\")\n }\n for key in publicKeys! {\n machineAccount.addPublicKey(key.decodeHex())\n }\n }\n }\n}\n", - "arguments": [ - { - "type": "String", - "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" - }, - { - "type": "UInt8", - "value": "1" - }, - { - "type": "String", - "value": "flow-node.test:3569" - }, - { - "type": "String", - "value": "1348307bc77c688e80049de9d081aa09755da33e6997605fa059db2144fc85e560cbe6f7da8d74b453f5916618cb8fd392c2db856f3e78221dc68db1b1d914e4" - }, - { - "type": "String", - "value": "9e9ae0d645fd5fd9050792e0b0daa82cc1686d9133afa0f81a784b375c42ae48567d1545e7a9e1965f2c1a32f73cf8575ebb7a967f6e4d104d2df78eb8be409135d12da0499b8a00771f642c1b9c49397f22b440439f036c3bdee82f5309dab3" - }, - { - "type": "UFix64", - "value": "92233720368.54775808" - }, - { - "type": "Optional", - "value": { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164" - }, - { - "type": "String", - "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164" - }, - { - "type": "String", - "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164" - } - ] - } - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f90a0cb90534696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f2052656769737465727320612064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e207265736f757263650a2f2f2f20666f722074686520737065636966696564206e6f646520696e666f726d6174696f6e20616e642074686520616d6f756e74206f6620746f6b656e7320746f20636f6d6d69740a0a7472616e73616374696f6e2869643a20537472696e672c0a202020202020202020202020726f6c653a2055496e74382c0a2020202020202020202020206e6574776f726b696e67416464726573733a20537472696e672c0a2020202020202020202020206e6574776f726b696e674b65793a20537472696e672c0a2020202020202020202020207374616b696e674b65793a20537472696e672c0a202020202020202020202020616d6f756e743a205546697836342c0a2020202020202020202020207075626c69634b6579733a205b537472696e675d3f29207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a0a20202020202020206966206c6574206d616368696e654163636f756e74203d2073656c662e7374616b696e67436f6c6c656374696f6e5265662e72656769737465724e6f6465280a20202020202020202020202069643a2069642c0a202020202020202020202020726f6c653a20726f6c652c0a2020202020202020202020206e6574776f726b696e67416464726573733a206e6574776f726b696e67416464726573732c0a2020202020202020202020206e6574776f726b696e674b65793a206e6574776f726b696e674b65792c0a2020202020202020202020207374616b696e674b65793a207374616b696e674b65792c0a202020202020202020202020616d6f756e743a20616d6f756e742c0a20202020202020202020202070617965723a206163636f756e7429200a20202020202020207b0a2020202020202020202020206966207075626c69634b657973203d3d206e696c207c7c207075626c69634b657973212e6c656e677468203d3d2030207b0a2020202020202020202020202020202070616e6963282243616e6e6f742070726f76696465207a65726f206b65797320666f7220746865206d616368696e65206163636f756e7422290a2020202020202020202020207d0a202020202020202020202020666f72206b657920696e207075626c69634b65797321207b0a202020202020202020202020202020206d616368696e654163636f756e742e6164645075626c69634b6579286b65792e6465636f64654865782829290a2020202020202020202020207d0a20202020202020207d0a202020207d0a7d0af90492b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227d9c7b2274797065223a2255496e7438222c2276616c7565223a2231227daf7b2274797065223a22537472696e67222c2276616c7565223a22666c6f772d6e6f64652e746573743a33353639227db89c7b2274797065223a22537472696e67222c2276616c7565223a223133343833303762633737633638386538303034396465396430383161613039373535646133336536393937363035666130353964623231343466633835653536306362653666376461386437346234353366353931363631386362386664333932633264623835366633653738323231646336386462316231643931346534227db8dc7b2274797065223a22537472696e67222c2276616c7565223a22396539616530643634356664356664393035303739326530623064616138326363313638366439313333616661306638316137383462333735633432616534383536376431353435653761396531393635663263316133326637336366383537356562623761393637663665346431303464326466373865623862653430393133356431326461303439396238613030373731663634326331623963343933393766323262343430343339663033366333626465653832663533303964616233227db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227db902377b2274797065223a224f7074696f6e616c222c2276616c7565223a7b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634227d2c7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634227d2c7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634227d5d7d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f90a10f90a0cb90534696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f2052656769737465727320612064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e207265736f757263650a2f2f2f20666f722074686520737065636966696564206e6f646520696e666f726d6174696f6e20616e642074686520616d6f756e74206f6620746f6b656e7320746f20636f6d6d69740a0a7472616e73616374696f6e2869643a20537472696e672c0a202020202020202020202020726f6c653a2055496e74382c0a2020202020202020202020206e6574776f726b696e67416464726573733a20537472696e672c0a2020202020202020202020206e6574776f726b696e674b65793a20537472696e672c0a2020202020202020202020207374616b696e674b65793a20537472696e672c0a202020202020202020202020616d6f756e743a205546697836342c0a2020202020202020202020207075626c69634b6579733a205b537472696e675d3f29207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a0a20202020202020206966206c6574206d616368696e654163636f756e74203d2073656c662e7374616b696e67436f6c6c656374696f6e5265662e72656769737465724e6f6465280a20202020202020202020202069643a2069642c0a202020202020202020202020726f6c653a20726f6c652c0a2020202020202020202020206e6574776f726b696e67416464726573733a206e6574776f726b696e67416464726573732c0a2020202020202020202020206e6574776f726b696e674b65793a206e6574776f726b696e674b65792c0a2020202020202020202020207374616b696e674b65793a207374616b696e674b65792c0a202020202020202020202020616d6f756e743a20616d6f756e742c0a20202020202020202020202070617965723a206163636f756e7429200a20202020202020207b0a2020202020202020202020206966207075626c69634b657973203d3d206e696c207c7c207075626c69634b657973212e6c656e677468203d3d2030207b0a2020202020202020202020202020202070616e6963282243616e6e6f742070726f76696465207a65726f206b65797320666f7220746865206d616368696e65206163636f756e7422290a2020202020202020202020207d0a202020202020202020202020666f72206b657920696e207075626c69634b65797321207b0a202020202020202020202020202020206d616368696e654163636f756e742e6164645075626c69634b6579286b65792e6465636f64654865782829290a2020202020202020202020207d0a20202020202020207d0a202020207d0a7d0af90492b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227d9c7b2274797065223a2255496e7438222c2276616c7565223a2231227daf7b2274797065223a22537472696e67222c2276616c7565223a22666c6f772d6e6f64652e746573743a33353639227db89c7b2274797065223a22537472696e67222c2276616c7565223a223133343833303762633737633638386538303034396465396430383161613039373535646133336536393937363035666130353964623231343466633835653536306362653666376461386437346234353366353931363631386362386664333932633264623835366633653738323231646336386462316231643931346534227db8dc7b2274797065223a22537472696e67222c2276616c7565223a22396539616530643634356664356664393035303739326530623064616138326363313638366439313333616661306638316137383462333735633432616534383536376431353435653761396531393635663263316133326637336366383537356562623761393637663665346431303464326466373865623862653430393133356431326461303439396238613030373731663634326331623963343933393766323262343430343339663033366333626465653832663533303964616233227db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227db902377b2274797065223a224f7074696f6e616c222c2276616c7565223a7b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634227d2c7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634227d2c7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634227d5d7d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "02f47efa834bc0559afae9a660b2efefddd0c6dc6e1bbcf9c3994e45ea9e5135ec99997236b6d76caa298331d5cef77cbdf83c1af64584ece537a780ba4ac468835265676973746572204e6f64650007014e6f64652049440000537472696e670003014e6f646520526f6c65000155496e74380003014e6574772e20416464726573730002537472696e670003014e6574772e204b65790003537472696e670003015374616b696e67204b65790004537472696e67000301416d6f756e74000555466978363400030400035075622e204b65790006537472696e670003", - "hash": "99997236b6d76caa298331d5cef77cbdf83c1af64584ece537a780ba4ac46883" - }, - { - "title": "SCO.04 - Create Machine Account - 1", - "valid": true, - "chainID": "Mainnet", - "payloadMessage": { - "script": "import FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// Creates a machine account for a node that is already in the staking collection\n/// and adds public keys to the new account\n\ntransaction(nodeID: String, publicKeys: [String]) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n\n if let machineAccount = self.stakingCollectionRef.createMachineAccountForExistingNode(nodeID: nodeID, payer: account) {\n if publicKeys == nil || publicKeys!.length == 0 {\n panic(\"Cannot provide zero keys for the machine account\")\n }\n for key in publicKeys! {\n machineAccount.addPublicKey(key.decodeHex())\n }\n } else {\n panic(\"Could not create a machine account for the node\")\n }\n }\n}\n", - "arguments": [ - { - "type": "String", - "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" - }, - { - "type": "Array", - "value": [] - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ] - }, - "envelopeMessage": { - "script": "import FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// Creates a machine account for a node that is already in the staking collection\n/// and adds public keys to the new account\n\ntransaction(nodeID: String, publicKeys: [String]) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n\n if let machineAccount = self.stakingCollectionRef.createMachineAccountForExistingNode(nodeID: nodeID, payer: account) {\n if publicKeys == nil || publicKeys!.length == 0 {\n panic(\"Cannot provide zero keys for the machine account\")\n }\n for key in publicKeys! {\n machineAccount.addPublicKey(key.decodeHex())\n }\n } else {\n panic(\"Could not create a machine account for the node\")\n }\n }\n}\n", - "arguments": [ - { - "type": "String", - "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" - }, - { - "type": "Array", - "value": [] - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f904e2b90423696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f20437265617465732061206d616368696e65206163636f756e7420666f722061206e6f6465207468617420697320616c726561647920696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f20616e642061646473207075626c6963206b65797320746f20746865206e6577206163636f756e740a0a7472616e73616374696f6e286e6f646549443a20537472696e672c207075626c69634b6579733a205b537472696e675d29207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a0a20202020202020206966206c6574206d616368696e654163636f756e74203d2073656c662e7374616b696e67436f6c6c656374696f6e5265662e6372656174654d616368696e654163636f756e74466f724578697374696e674e6f6465286e6f646549443a206e6f646549442c2070617965723a206163636f756e7429207b0a2020202020202020202020206966207075626c69634b657973203d3d206e696c207c7c207075626c69634b657973212e6c656e677468203d3d2030207b0a2020202020202020202020202020202070616e6963282243616e6e6f742070726f76696465207a65726f206b65797320666f7220746865206d616368696e65206163636f756e7422290a2020202020202020202020207d0a202020202020202020202020666f72206b657920696e207075626c69634b65797321207b0a202020202020202020202020202020206d616368696e654163636f756e742e6164645075626c69634b6579286b65792e6465636f64654865782829290a2020202020202020202020207d0a20202020202020207d20656c7365207b0a20202020202020202020202070616e69632822436f756c64206e6f74206372656174652061206d616368696e65206163636f756e7420666f7220746865206e6f646522290a20202020202020207d0a202020207d0a7d0af87ab85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227d9b7b2274797065223a224172726179222c2276616c7565223a5b5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f904e6f904e2b90423696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f20437265617465732061206d616368696e65206163636f756e7420666f722061206e6f6465207468617420697320616c726561647920696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f20616e642061646473207075626c6963206b65797320746f20746865206e6577206163636f756e740a0a7472616e73616374696f6e286e6f646549443a20537472696e672c207075626c69634b6579733a205b537472696e675d29207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a0a20202020202020206966206c6574206d616368696e654163636f756e74203d2073656c662e7374616b696e67436f6c6c656374696f6e5265662e6372656174654d616368696e654163636f756e74466f724578697374696e674e6f6465286e6f646549443a206e6f646549442c2070617965723a206163636f756e7429207b0a2020202020202020202020206966207075626c69634b657973203d3d206e696c207c7c207075626c69634b657973212e6c656e677468203d3d2030207b0a2020202020202020202020202020202070616e6963282243616e6e6f742070726f76696465207a65726f206b65797320666f7220746865206d616368696e65206163636f756e7422290a2020202020202020202020207d0a202020202020202020202020666f72206b657920696e207075626c69634b65797321207b0a202020202020202020202020202020206d616368696e654163636f756e742e6164645075626c69634b6579286b65792e6465636f64654865782829290a2020202020202020202020207d0a20202020202020207d20656c7365207b0a20202020202020202020202070616e69632822436f756c64206e6f74206372656174652061206d616368696e65206163636f756e7420666f7220746865206e6f646522290a20202020202020207d0a202020207d0a7d0af87ab85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227d9b7b2274797065223a224172726179222c2276616c7565223a5b5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "02e79df145af42488e3da1d1b2e50a38a2084229896d670884f278a2119dc3bf9ec2442b498eea025099815ea613d6407407192dc12ad70e1a4f47936db804a841437265617465204d616368696e65204163636f756e740002014e6f64652049440000537472696e6700030300035075622e204b65790001537472696e670003", - "hash": "c2442b498eea025099815ea613d6407407192dc12ad70e1a4f47936db804a841" - }, - { - "title": "SCO.04 - Create Machine Account - 2", - "valid": true, - "chainID": "Mainnet", - "payloadMessage": { - "script": "import FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// Creates a machine account for a node that is already in the staking collection\n/// and adds public keys to the new account\n\ntransaction(nodeID: String, publicKeys: [String]) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n\n if let machineAccount = self.stakingCollectionRef.createMachineAccountForExistingNode(nodeID: nodeID, payer: account) {\n if publicKeys == nil || publicKeys!.length == 0 {\n panic(\"Cannot provide zero keys for the machine account\")\n }\n for key in publicKeys! {\n machineAccount.addPublicKey(key.decodeHex())\n }\n } else {\n panic(\"Could not create a machine account for the node\")\n }\n }\n}\n", - "arguments": [ - { - "type": "String", - "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" - }, - { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164" - } - ] - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ] - }, - "envelopeMessage": { - "script": "import FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// Creates a machine account for a node that is already in the staking collection\n/// and adds public keys to the new account\n\ntransaction(nodeID: String, publicKeys: [String]) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n\n if let machineAccount = self.stakingCollectionRef.createMachineAccountForExistingNode(nodeID: nodeID, payer: account) {\n if publicKeys == nil || publicKeys!.length == 0 {\n panic(\"Cannot provide zero keys for the machine account\")\n }\n for key in publicKeys! {\n machineAccount.addPublicKey(key.decodeHex())\n }\n } else {\n panic(\"Could not create a machine account for the node\")\n }\n }\n}\n", - "arguments": [ - { - "type": "String", - "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" - }, - { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164" - } - ] - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f9058eb90423696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f20437265617465732061206d616368696e65206163636f756e7420666f722061206e6f6465207468617420697320616c726561647920696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f20616e642061646473207075626c6963206b65797320746f20746865206e6577206163636f756e740a0a7472616e73616374696f6e286e6f646549443a20537472696e672c207075626c69634b6579733a205b537472696e675d29207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a0a20202020202020206966206c6574206d616368696e654163636f756e74203d2073656c662e7374616b696e67436f6c6c656374696f6e5265662e6372656174654d616368696e654163636f756e74466f724578697374696e674e6f6465286e6f646549443a206e6f646549442c2070617965723a206163636f756e7429207b0a2020202020202020202020206966207075626c69634b657973203d3d206e696c207c7c207075626c69634b657973212e6c656e677468203d3d2030207b0a2020202020202020202020202020202070616e6963282243616e6e6f742070726f76696465207a65726f206b65797320666f7220746865206d616368696e65206163636f756e7422290a2020202020202020202020207d0a202020202020202020202020666f72206b657920696e207075626c69634b65797321207b0a202020202020202020202020202020206d616368696e654163636f756e742e6164645075626c69634b6579286b65792e6465636f64654865782829290a2020202020202020202020207d0a20202020202020207d20656c7365207b0a20202020202020202020202070616e69632822436f756c64206e6f74206372656174652061206d616368696e65206163636f756e7420666f7220746865206e6f646522290a20202020202020207d0a202020207d0a7d0af90125b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db8c57b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634227d5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f90592f9058eb90423696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f20437265617465732061206d616368696e65206163636f756e7420666f722061206e6f6465207468617420697320616c726561647920696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f20616e642061646473207075626c6963206b65797320746f20746865206e6577206163636f756e740a0a7472616e73616374696f6e286e6f646549443a20537472696e672c207075626c69634b6579733a205b537472696e675d29207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a0a20202020202020206966206c6574206d616368696e654163636f756e74203d2073656c662e7374616b696e67436f6c6c656374696f6e5265662e6372656174654d616368696e654163636f756e74466f724578697374696e674e6f6465286e6f646549443a206e6f646549442c2070617965723a206163636f756e7429207b0a2020202020202020202020206966207075626c69634b657973203d3d206e696c207c7c207075626c69634b657973212e6c656e677468203d3d2030207b0a2020202020202020202020202020202070616e6963282243616e6e6f742070726f76696465207a65726f206b65797320666f7220746865206d616368696e65206163636f756e7422290a2020202020202020202020207d0a202020202020202020202020666f72206b657920696e207075626c69634b65797321207b0a202020202020202020202020202020206d616368696e654163636f756e742e6164645075626c69634b6579286b65792e6465636f64654865782829290a2020202020202020202020207d0a20202020202020207d20656c7365207b0a20202020202020202020202070616e69632822436f756c64206e6f74206372656174652061206d616368696e65206163636f756e7420666f7220746865206e6f646522290a20202020202020207d0a202020207d0a7d0af90125b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db8c57b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634227d5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "02e79df145af42488e3da1d1b2e50a38a2084229896d670884f278a2119dc3bf9ec2442b498eea025099815ea613d6407407192dc12ad70e1a4f47936db804a841437265617465204d616368696e65204163636f756e740002014e6f64652049440000537472696e6700030300035075622e204b65790001537472696e670003", - "hash": "c2442b498eea025099815ea613d6407407192dc12ad70e1a4f47936db804a841" - }, - { - "title": "SCO.04 - Create Machine Account - 3", - "valid": true, - "chainID": "Mainnet", - "payloadMessage": { - "script": "import FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// Creates a machine account for a node that is already in the staking collection\n/// and adds public keys to the new account\n\ntransaction(nodeID: String, publicKeys: [String]) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n\n if let machineAccount = self.stakingCollectionRef.createMachineAccountForExistingNode(nodeID: nodeID, payer: account) {\n if publicKeys == nil || publicKeys!.length == 0 {\n panic(\"Cannot provide zero keys for the machine account\")\n }\n for key in publicKeys! {\n machineAccount.addPublicKey(key.decodeHex())\n }\n } else {\n panic(\"Could not create a machine account for the node\")\n }\n }\n}\n", - "arguments": [ - { - "type": "String", - "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" - }, - { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164" - }, - { - "type": "String", - "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164" - }, - { - "type": "String", - "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164" - } - ] - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ] - }, - "envelopeMessage": { - "script": "import FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// Creates a machine account for a node that is already in the staking collection\n/// and adds public keys to the new account\n\ntransaction(nodeID: String, publicKeys: [String]) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n\n if let machineAccount = self.stakingCollectionRef.createMachineAccountForExistingNode(nodeID: nodeID, payer: account) {\n if publicKeys == nil || publicKeys!.length == 0 {\n panic(\"Cannot provide zero keys for the machine account\")\n }\n for key in publicKeys! {\n machineAccount.addPublicKey(key.decodeHex())\n }\n } else {\n panic(\"Could not create a machine account for the node\")\n }\n }\n}\n", - "arguments": [ - { - "type": "String", - "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" - }, - { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164" - }, - { - "type": "String", - "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164" - }, - { - "type": "String", - "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164" - } - ] - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f906e5b90423696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f20437265617465732061206d616368696e65206163636f756e7420666f722061206e6f6465207468617420697320616c726561647920696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f20616e642061646473207075626c6963206b65797320746f20746865206e6577206163636f756e740a0a7472616e73616374696f6e286e6f646549443a20537472696e672c207075626c69634b6579733a205b537472696e675d29207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a0a20202020202020206966206c6574206d616368696e654163636f756e74203d2073656c662e7374616b696e67436f6c6c656374696f6e5265662e6372656174654d616368696e654163636f756e74466f724578697374696e674e6f6465286e6f646549443a206e6f646549442c2070617965723a206163636f756e7429207b0a2020202020202020202020206966207075626c69634b657973203d3d206e696c207c7c207075626c69634b657973212e6c656e677468203d3d2030207b0a2020202020202020202020202020202070616e6963282243616e6e6f742070726f76696465207a65726f206b65797320666f7220746865206d616368696e65206163636f756e7422290a2020202020202020202020207d0a202020202020202020202020666f72206b657920696e207075626c69634b65797321207b0a202020202020202020202020202020206d616368696e654163636f756e742e6164645075626c69634b6579286b65792e6465636f64654865782829290a2020202020202020202020207d0a20202020202020207d20656c7365207b0a20202020202020202020202070616e69632822436f756c64206e6f74206372656174652061206d616368696e65206163636f756e7420666f7220746865206e6f646522290a20202020202020207d0a202020207d0a7d0af9027cb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db9021b7b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634227d2c7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634227d2c7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634227d5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f906e9f906e5b90423696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f20437265617465732061206d616368696e65206163636f756e7420666f722061206e6f6465207468617420697320616c726561647920696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f20616e642061646473207075626c6963206b65797320746f20746865206e6577206163636f756e740a0a7472616e73616374696f6e286e6f646549443a20537472696e672c207075626c69634b6579733a205b537472696e675d29207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a0a20202020202020206966206c6574206d616368696e654163636f756e74203d2073656c662e7374616b696e67436f6c6c656374696f6e5265662e6372656174654d616368696e654163636f756e74466f724578697374696e674e6f6465286e6f646549443a206e6f646549442c2070617965723a206163636f756e7429207b0a2020202020202020202020206966207075626c69634b657973203d3d206e696c207c7c207075626c69634b657973212e6c656e677468203d3d2030207b0a2020202020202020202020202020202070616e6963282243616e6e6f742070726f76696465207a65726f206b65797320666f7220746865206d616368696e65206163636f756e7422290a2020202020202020202020207d0a202020202020202020202020666f72206b657920696e207075626c69634b65797321207b0a202020202020202020202020202020206d616368696e654163636f756e742e6164645075626c69634b6579286b65792e6465636f64654865782829290a2020202020202020202020207d0a20202020202020207d20656c7365207b0a20202020202020202020202070616e69632822436f756c64206e6f74206372656174652061206d616368696e65206163636f756e7420666f7220746865206e6f646522290a20202020202020207d0a202020207d0a7d0af9027cb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db9021b7b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634227d2c7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634227d2c7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634227d5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "02e79df145af42488e3da1d1b2e50a38a2084229896d670884f278a2119dc3bf9ec2442b498eea025099815ea613d6407407192dc12ad70e1a4f47936db804a841437265617465204d616368696e65204163636f756e740002014e6f64652049440000537472696e6700030300035075622e204b65790001537472696e670003", - "hash": "c2442b498eea025099815ea613d6407407192dc12ad70e1a4f47936db804a841" - }, - { - "title": "SCO.05 - Request Unstaking - 1", - "valid": true, - "chainID": "Mainnet", - "payloadMessage": { - "script": "import FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// Requests unstaking for the specified node or delegator in the staking collection\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n }\n\n execute {\n self.stakingCollectionRef.requestUnstaking(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", - "arguments": [ - { - "type": "String", - "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" - }, - { - "type": "Optional", - "value": null - }, - { - "type": "UFix64", - "value": "92233720368.54775808" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ] - }, - "envelopeMessage": { - "script": "import FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// Requests unstaking for the specified node or delegator in the staking collection\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n }\n\n execute {\n self.stakingCollectionRef.requestUnstaking(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", - "arguments": [ - { - "type": "String", - "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" - }, - { - "type": "Optional", - "value": null - }, - { - "type": "UFix64", - "value": "92233720368.54775808" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f90399b902a4696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f20526571756573747320756e7374616b696e6720666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e72657175657374556e7374616b696e67286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8b0b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227da07b2274797065223a224f7074696f6e616c222c2276616c7565223a6e756c6c7db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f9039df90399b902a4696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f20526571756573747320756e7374616b696e6720666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e72657175657374556e7374616b696e67286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8b0b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227da07b2274797065223a224f7074696f6e616c222c2276616c7565223a6e756c6c7db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "02b00f6b3b9d8d7d4a9a8ad14fce11ee0edb23c39c56a8c1351e6b597f53f2fb71a552951c5e6300a118610fbf2d36b3073ee266e1d26787d04717c141976ef78c5265717565737420556e7374616b696e670003014e6f64652049440000537472696e6700030244656c656761746f72204944000155496e743332000301416d6f756e7400025546697836340003", - "hash": "a552951c5e6300a118610fbf2d36b3073ee266e1d26787d04717c141976ef78c" - }, - { - "title": "SCO.05 - Request Unstaking - 2", - "valid": true, - "chainID": "Mainnet", - "payloadMessage": { - "script": "import FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// Requests unstaking for the specified node or delegator in the staking collection\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n }\n\n execute {\n self.stakingCollectionRef.requestUnstaking(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", - "arguments": [ - { - "type": "String", - "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" - }, - { - "type": "Optional", - "value": { - "type": "UInt32", - "value": "42" - } + "value": "0xe467b9dd11fa00df" }, { - "type": "UFix64", - "value": "92233720368.54775808" + "value": "FiatToken", + "type": "String" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -5807,22 +2462,15 @@ ] }, "envelopeMessage": { - "script": "import FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// Requests unstaking for the specified node or delegator in the staking collection\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n }\n\n execute {\n self.stakingCollectionRef.requestUnstaking(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", + "script": "import FungibleToken from 0xf233dcee88fe0abe\nimport FungibleTokenMetadataViews from 0xf233dcee88fe0abe\n\n/// This transaction is what an account would run\n/// to set itself up to manage fungible tokens. This function\n/// uses views to know where to set up the vault\n/// in storage and to create the empty vault.\n\ntransaction(contractAddress: Address, contractName: String) {\n\n prepare(signer: auth(SaveValue, Capabilities) &Account) {\n // Borrow a reference to the vault stored on the passed account at the passed publicPath\n let resolverRef = getAccount(contractAddress)\n .contracts.borrow<&{FungibleToken}>(name: contractName)\n ?? panic(\"Could not borrow a reference to the fungible token contract\")\n\n // Use that reference to retrieve the FTView \n let ftVaultData = resolverRef.resolveContractView(resourceType: nil, viewType: Type()) as! FungibleTokenMetadataViews.FTVaultData?\n ?? panic(\"Could not resolve the FTVaultData view for the given Fungible token contract\")\n\n // Create a new empty vault using the createEmptyVault function inside the FTVaultData\n let emptyVault <-ftVaultData.createEmptyVault()\n\n // Save it to the account\n signer.storage.save(<-emptyVault, to: ftVaultData.storagePath)\n \n // Create a public capability for the vault which includes the .Resolver interface\n let vaultCap = signer.capabilities.storage.issue<&{FungibleToken.Vault}>(ftVaultData.storagePath)\n signer.capabilities.publish(vaultCap, at: ftVaultData.metadataPath)\n\n // Create a public capability for the vault exposing the receiver interface\n let receiverCap = signer.capabilities.storage.issue<&{FungibleToken.Receiver}>(ftVaultData.storagePath)\n signer.capabilities.publish(receiverCap, at: ftVaultData.receiverPath)\n\n }\n}\n ", "arguments": [ { - "type": "String", - "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" - }, - { - "type": "Optional", - "value": { - "type": "UInt32", - "value": "42" - } + "type": "Address", + "value": "0xe467b9dd11fa00df" }, { - "type": "UFix64", - "value": "92233720368.54775808" + "value": "FiatToken", + "type": "String" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -5838,29 +2486,33 @@ ], "payloadSigs": [] }, - "encodedTransactionPayloadHex": "f903b4b902a4696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f20526571756573747320756e7374616b696e6720666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e72657175657374556e7374616b696e67286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8cbb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db83a7b2274797065223a224f7074696f6e616c222c2276616c7565223a7b2274797065223a2255496e743332222c2276616c7565223a223432227d7db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f903b8f903b4b902a4696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f20526571756573747320756e7374616b696e6720666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e72657175657374556e7374616b696e67286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8cbb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db83a7b2274797065223a224f7074696f6e616c222c2276616c7565223a7b2274797065223a2255496e743332222c2276616c7565223a223432227d7db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "02b00f6b3b9d8d7d4a9a8ad14fce11ee0edb23c39c56a8c1351e6b597f53f2fb71a552951c5e6300a118610fbf2d36b3073ee266e1d26787d04717c141976ef78c5265717565737420556e7374616b696e670003014e6f64652049440000537472696e6700030244656c656761746f72204944000155496e743332000301416d6f756e7400025546697836340003", - "hash": "a552951c5e6300a118610fbf2d36b3073ee266e1d26787d04717c141976ef78c" + "encodedTransactionPayloadHex": "f90808b9076d696d706f72742046756e6769626c65546f6b656e2066726f6d203078663233336463656538386665306162650a696d706f72742046756e6769626c65546f6b656e4d6574616461746156696577732066726f6d203078663233336463656538386665306162650a0a2f2f2f2054686973207472616e73616374696f6e206973207768617420616e206163636f756e7420776f756c642072756e0a2f2f2f20746f2073657420697473656c6620757020746f206d616e6167652066756e6769626c6520746f6b656e732e20546869732066756e6374696f6e0a2f2f2f207573657320766965777320746f206b6e6f7720776865726520746f2073657420757020746865207661756c740a2f2f2f20696e2073746f7261676520616e6420746f206372656174652074686520656d707479207661756c742e0a0a7472616e73616374696f6e28636f6e7472616374416464726573733a20416464726573732c20636f6e74726163744e616d653a20537472696e6729207b0a0a2020202070726570617265287369676e65723a2061757468285361766556616c75652c204361706162696c69746965732920264163636f756e7429207b0a20202020202020202f2f20426f72726f772061207265666572656e636520746f20746865207661756c742073746f726564206f6e2074686520706173736564206163636f756e742061742074686520706173736564207075626c6963506174680a20202020202020206c6574207265736f6c766572526566203d206765744163636f756e7428636f6e747261637441646472657373290a2020202020202020202020202e636f6e7472616374732e626f72726f773c267b46756e6769626c65546f6b656e7d3e286e616d653a20636f6e74726163744e616d65290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f207468652066756e6769626c6520746f6b656e20636f6e747261637422290a0a20202020202020202f2f205573652074686174207265666572656e636520746f2072657472696576652074686520465456696577200a20202020202020206c65742066745661756c7444617461203d207265736f6c7665725265662e7265736f6c7665436f6e747261637456696577287265736f75726365547970653a206e696c2c2076696577547970653a20547970653c46756e6769626c65546f6b656e4d6574616461746156696577732e46545661756c74446174613e282929206173212046756e6769626c65546f6b656e4d6574616461746156696577732e46545661756c74446174613f0a2020202020202020202020203f3f2070616e69632822436f756c64206e6f74207265736f6c7665207468652046545661756c7444617461207669657720666f722074686520676976656e2046756e6769626c6520746f6b656e20636f6e747261637422290a0a20202020202020202f2f204372656174652061206e657720656d707479207661756c74207573696e672074686520637265617465456d7074795661756c742066756e6374696f6e20696e73696465207468652046545661756c74446174610a20202020202020206c657420656d7074795661756c74203c2d66745661756c74446174612e637265617465456d7074795661756c7428290a0a20202020202020202f2f205361766520697420746f20746865206163636f756e740a20202020202020207369676e65722e73746f726167652e73617665283c2d656d7074795661756c742c20746f3a2066745661756c74446174612e73746f7261676550617468290a20202020202020200a20202020202020202f2f204372656174652061207075626c6963206361706162696c69747920666f7220746865207661756c7420776869636820696e636c7564657320746865202e5265736f6c76657220696e746572666163650a20202020202020206c6574207661756c74436170203d207369676e65722e6361706162696c69746965732e73746f726167652e69737375653c267b46756e6769626c65546f6b656e2e5661756c747d3e2866745661756c74446174612e73746f7261676550617468290a20202020202020207369676e65722e6361706162696c69746965732e7075626c697368287661756c744361702c2061743a2066745661756c74446174612e6d6574616461746150617468290a0a20202020202020202f2f204372656174652061207075626c6963206361706162696c69747920666f7220746865207661756c74206578706f73696e672074686520726563656976657220696e746572666163650a20202020202020206c6574207265636569766572436170203d207369676e65722e6361706162696c69746965732e73746f726167652e69737375653c267b46756e6769626c65546f6b656e2e52656365697665727d3e2866745661756c74446174612e73746f7261676550617468290a20202020202020207369676e65722e6361706162696c69746965732e7075626c6973682872656365697665724361702c2061743a2066745661756c74446174612e726563656976657250617468290a0a202020207d0a7d0a20f856af7b2274797065223a2241646472657373222c2276616c7565223a22307865343637623964643131666130306466227da57b2276616c7565223a2246696174546f6b656e222c2274797065223a22537472696e67227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", + "encodedTransactionEnvelopeHex": "f9080cf90808b9076d696d706f72742046756e6769626c65546f6b656e2066726f6d203078663233336463656538386665306162650a696d706f72742046756e6769626c65546f6b656e4d6574616461746156696577732066726f6d203078663233336463656538386665306162650a0a2f2f2f2054686973207472616e73616374696f6e206973207768617420616e206163636f756e7420776f756c642072756e0a2f2f2f20746f2073657420697473656c6620757020746f206d616e6167652066756e6769626c6520746f6b656e732e20546869732066756e6374696f6e0a2f2f2f207573657320766965777320746f206b6e6f7720776865726520746f2073657420757020746865207661756c740a2f2f2f20696e2073746f7261676520616e6420746f206372656174652074686520656d707479207661756c742e0a0a7472616e73616374696f6e28636f6e7472616374416464726573733a20416464726573732c20636f6e74726163744e616d653a20537472696e6729207b0a0a2020202070726570617265287369676e65723a2061757468285361766556616c75652c204361706162696c69746965732920264163636f756e7429207b0a20202020202020202f2f20426f72726f772061207265666572656e636520746f20746865207661756c742073746f726564206f6e2074686520706173736564206163636f756e742061742074686520706173736564207075626c6963506174680a20202020202020206c6574207265736f6c766572526566203d206765744163636f756e7428636f6e747261637441646472657373290a2020202020202020202020202e636f6e7472616374732e626f72726f773c267b46756e6769626c65546f6b656e7d3e286e616d653a20636f6e74726163744e616d65290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f207468652066756e6769626c6520746f6b656e20636f6e747261637422290a0a20202020202020202f2f205573652074686174207265666572656e636520746f2072657472696576652074686520465456696577200a20202020202020206c65742066745661756c7444617461203d207265736f6c7665725265662e7265736f6c7665436f6e747261637456696577287265736f75726365547970653a206e696c2c2076696577547970653a20547970653c46756e6769626c65546f6b656e4d6574616461746156696577732e46545661756c74446174613e282929206173212046756e6769626c65546f6b656e4d6574616461746156696577732e46545661756c74446174613f0a2020202020202020202020203f3f2070616e69632822436f756c64206e6f74207265736f6c7665207468652046545661756c7444617461207669657720666f722074686520676976656e2046756e6769626c6520746f6b656e20636f6e747261637422290a0a20202020202020202f2f204372656174652061206e657720656d707479207661756c74207573696e672074686520637265617465456d7074795661756c742066756e6374696f6e20696e73696465207468652046545661756c74446174610a20202020202020206c657420656d7074795661756c74203c2d66745661756c74446174612e637265617465456d7074795661756c7428290a0a20202020202020202f2f205361766520697420746f20746865206163636f756e740a20202020202020207369676e65722e73746f726167652e73617665283c2d656d7074795661756c742c20746f3a2066745661756c74446174612e73746f7261676550617468290a20202020202020200a20202020202020202f2f204372656174652061207075626c6963206361706162696c69747920666f7220746865207661756c7420776869636820696e636c7564657320746865202e5265736f6c76657220696e746572666163650a20202020202020206c6574207661756c74436170203d207369676e65722e6361706162696c69746965732e73746f726167652e69737375653c267b46756e6769626c65546f6b656e2e5661756c747d3e2866745661756c74446174612e73746f7261676550617468290a20202020202020207369676e65722e6361706162696c69746965732e7075626c697368287661756c744361702c2061743a2066745661756c74446174612e6d6574616461746150617468290a0a20202020202020202f2f204372656174652061207075626c6963206361706162696c69747920666f7220746865207661756c74206578706f73696e672074686520726563656976657220696e746572666163650a20202020202020206c6574207265636569766572436170203d207369676e65722e6361706162696c69746965732e73746f726167652e69737375653c267b46756e6769626c65546f6b656e2e52656365697665727d3e2866745661756c74446174612e73746f7261676550617468290a20202020202020207369676e65722e6361706162696c69746965732e7075626c6973682872656365697665724361702c2061743a2066745661756c74446174612e726563656976657250617468290a0a202020207d0a7d0a20f856af7b2274797065223a2241646472657373222c2276616c7565223a22307865343637623964643131666130306466227da57b2276616c7565223a2246696174546f6b656e222c2274797065223a22537472696e67227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", + "metadata": "023ccbbfebf10c47c49e4058a33fd9a29c4191c545de52c9afd27a29d38110aa280246076f1cf5d3160397766a9227b35f592f4d15c014848044c509818328b62b53657475702046756e6769626c6520546f6b656e205661756c74000201465420436f6e74726163742041646472657373000041646472657373000301465420436f6e7472616374204e616d650001537472696e670003", + "hash": "0246076f1cf5d3160397766a9227b35f592f4d15c014848044c509818328b62b" }, { - "title": "SCO.06 - Stake New Tokens - 1", + "title": "FT.02 - Transfer Fungible Token with Paths", "valid": true, "chainID": "Mainnet", "payloadMessage": { - "script": "import FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// Commits new tokens to stake for the specified node or delegator in the staking collection\n/// The tokens from the locked vault are used first, if it exists\n/// followed by the tokens from the unlocked vault\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n }\n\n execute {\n self.stakingCollectionRef.stakeNewTokens(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", + "script": "import FungibleToken from 0xf233dcee88fe0abe\n\n/// Can pass in any storage path and receiver path identifier instead of just the default.\n/// This lets you choose the token you want to send as well the capability you want to send it to.\n///\n/// Any token path can be passed as an argument here, so wallets should\n/// should check argument values to make sure the intended token path is passed in\n///\ntransaction(amount: UFix64, to: Address, senderPathIdentifier: String, receiverPathIdentifier: String) {\n\n // The Vault resource that holds the tokens that are being transferred\n let tempVault: @{FungibleToken.Vault}\n\n prepare(signer: auth(BorrowValue) &Account) {\n\n let storagePath = StoragePath(identifier: senderPathIdentifier)\n ?? panic(\"Could not construct a storage path from the provided path identifier string\")\n\n // Get a reference to the signer's stored vault\n let vaultRef = signer.storage.borrow(from: storagePath)\n\t\t\t?? panic(\"Could not borrow reference to the owner's Vault!\")\n\n self.tempVault <- vaultRef.withdraw(amount: amount)\n }\n\n execute {\n let publicPath = PublicPath(identifier: receiverPathIdentifier)\n ?? panic(\"Could not construct a public path from the provided path identifier string\")\n\n let recipient = getAccount(to)\n let receiverRef = recipient.capabilities.borrow<&{FungibleToken.Receiver}>(publicPath)\n ?? panic(\"Could not borrow reference to the recipient's Receiver!\")\n\n // Transfer tokens from the signer's stored vault to the receiver capability\n receiverRef.deposit(from: <-self.tempVault)\n }\n}", "arguments": [ { - "type": "String", - "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" + "type": "UFix64", + "value": "92233720368.54775808" }, { - "type": "Optional", - "value": null + "value": "0xe467b9dd11fa00df", + "type": "Address" }, { - "type": "UFix64", - "value": "92233720368.54775808" + "value": "flowTokenVault", + "type": "String" + }, + { + "value": "flowTokenReceiver", + "type": "String" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -5876,19 +2528,23 @@ ] }, "envelopeMessage": { - "script": "import FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// Commits new tokens to stake for the specified node or delegator in the staking collection\n/// The tokens from the locked vault are used first, if it exists\n/// followed by the tokens from the unlocked vault\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n }\n\n execute {\n self.stakingCollectionRef.stakeNewTokens(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", + "script": "import FungibleToken from 0xf233dcee88fe0abe\n\n/// Can pass in any storage path and receiver path identifier instead of just the default.\n/// This lets you choose the token you want to send as well the capability you want to send it to.\n///\n/// Any token path can be passed as an argument here, so wallets should\n/// should check argument values to make sure the intended token path is passed in\n///\ntransaction(amount: UFix64, to: Address, senderPathIdentifier: String, receiverPathIdentifier: String) {\n\n // The Vault resource that holds the tokens that are being transferred\n let tempVault: @{FungibleToken.Vault}\n\n prepare(signer: auth(BorrowValue) &Account) {\n\n let storagePath = StoragePath(identifier: senderPathIdentifier)\n ?? panic(\"Could not construct a storage path from the provided path identifier string\")\n\n // Get a reference to the signer's stored vault\n let vaultRef = signer.storage.borrow(from: storagePath)\n\t\t\t?? panic(\"Could not borrow reference to the owner's Vault!\")\n\n self.tempVault <- vaultRef.withdraw(amount: amount)\n }\n\n execute {\n let publicPath = PublicPath(identifier: receiverPathIdentifier)\n ?? panic(\"Could not construct a public path from the provided path identifier string\")\n\n let recipient = getAccount(to)\n let receiverRef = recipient.capabilities.borrow<&{FungibleToken.Receiver}>(publicPath)\n ?? panic(\"Could not borrow reference to the recipient's Receiver!\")\n\n // Transfer tokens from the signer's stored vault to the receiver capability\n receiverRef.deposit(from: <-self.tempVault)\n }\n}", "arguments": [ { - "type": "String", - "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" + "type": "UFix64", + "value": "92233720368.54775808" }, { - "type": "Optional", - "value": null + "value": "0xe467b9dd11fa00df", + "type": "Address" }, { - "type": "UFix64", - "value": "92233720368.54775808" + "value": "flowTokenVault", + "type": "String" + }, + { + "value": "flowTokenReceiver", + "type": "String" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -5904,32 +2560,33 @@ ], "payloadSigs": [] }, - "encodedTransactionPayloadHex": "f90415b90320696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f20436f6d6d697473206e657720746f6b656e7320746f207374616b6520666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f2054686520746f6b656e732066726f6d20746865206c6f636b6564207661756c742061726520757365642066697273742c206966206974206578697374730a2f2f2f20666f6c6c6f7765642062792074686520746f6b656e732066726f6d2074686520756e6c6f636b6564207661756c740a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e7374616b654e6577546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8b0b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227da07b2274797065223a224f7074696f6e616c222c2276616c7565223a6e756c6c7db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f90419f90415b90320696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f20436f6d6d697473206e657720746f6b656e7320746f207374616b6520666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f2054686520746f6b656e732066726f6d20746865206c6f636b6564207661756c742061726520757365642066697273742c206966206974206578697374730a2f2f2f20666f6c6c6f7765642062792074686520746f6b656e732066726f6d2074686520756e6c6f636b6564207661756c740a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e7374616b654e6577546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8b0b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227da07b2274797065223a224f7074696f6e616c222c2276616c7565223a6e756c6c7db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "021307928440cee4289235793d6ff860a24315f7b6a5d5907a145dcc5f83702a2c8e10ac56db8ec5d5e0051d3c9608fabc8edd6abed983f6d3a254e7668a54b32b5374616b65204e657720546f6b656e730003014e6f64652049440000537472696e6700030244656c656761746f72204944000155496e743332000301416d6f756e7400025546697836340003", - "hash": "8e10ac56db8ec5d5e0051d3c9608fabc8edd6abed983f6d3a254e7668a54b32b" + "encodedTransactionPayloadHex": "f907a3b906a4696d706f72742046756e6769626c65546f6b656e2066726f6d203078663233336463656538386665306162650a0a2f2f2f2043616e207061737320696e20616e792073746f72616765207061746820616e642072656365697665722070617468206964656e74696669657220696e7374656164206f66206a757374207468652064656661756c742e0a2f2f2f2054686973206c65747320796f752063686f6f73652074686520746f6b656e20796f752077616e7420746f2073656e642061732077656c6c20746865206361706162696c69747920796f752077616e7420746f2073656e6420697420746f2e0a2f2f2f0a2f2f2f20416e7920746f6b656e20706174682063616e2062652070617373656420617320616e20617267756d656e7420686572652c20736f2077616c6c6574732073686f756c640a2f2f2f2073686f756c6420636865636b20617267756d656e742076616c75657320746f206d616b6520737572652074686520696e74656e64656420746f6b656e20706174682069732070617373656420696e0a2f2f2f0a7472616e73616374696f6e28616d6f756e743a205546697836342c20746f3a20416464726573732c2073656e646572506174684964656e7469666965723a20537472696e672c207265636569766572506174684964656e7469666965723a20537472696e6729207b0a0a202020202f2f20546865205661756c74207265736f75726365207468617420686f6c64732074686520746f6b656e73207468617420617265206265696e67207472616e736665727265640a202020206c65742074656d705661756c743a20407b46756e6769626c65546f6b656e2e5661756c747d0a0a2020202070726570617265287369676e65723a206175746828426f72726f7756616c75652920264163636f756e7429207b0a0a20202020202020206c65742073746f7261676550617468203d2053746f7261676550617468286964656e7469666965723a2073656e646572506174684964656e746966696572290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420636f6e73747275637420612073746f7261676520706174682066726f6d207468652070726f76696465642070617468206964656e74696669657220737472696e6722290a0a20202020202020202f2f204765742061207265666572656e636520746f20746865207369676e657227732073746f726564207661756c740a20202020202020206c6574207661756c74526566203d207369676e65722e73746f726167652e626f72726f773c617574682846756e6769626c65546f6b656e2e57697468647261772920267b46756e6769626c65546f6b656e2e50726f76696465727d3e2866726f6d3a2073746f7261676550617468290a0909093f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f20746865206f776e65722773205661756c742122290a0a202020202020202073656c662e74656d705661756c74203c2d207661756c745265662e776974686472617728616d6f756e743a20616d6f756e74290a202020207d0a0a2020202065786563757465207b0a20202020202020206c6574207075626c696350617468203d205075626c696350617468286964656e7469666965723a207265636569766572506174684964656e746966696572290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420636f6e7374727563742061207075626c696320706174682066726f6d207468652070726f76696465642070617468206964656e74696669657220737472696e6722290a0a20202020202020206c657420726563697069656e74203d206765744163636f756e7428746f290a20202020202020206c6574207265636569766572526566203d20726563697069656e742e6361706162696c69746965732e626f72726f773c267b46756e6769626c65546f6b656e2e52656365697665727d3e287075626c696350617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f2074686520726563697069656e7427732052656365697665722122290a0a20202020202020202f2f205472616e7366657220746f6b656e732066726f6d20746865207369676e657227732073746f726564207661756c7420746f20746865207265636569766572206361706162696c6974790a202020202020202072656365697665725265662e6465706f7369742866726f6d3a203c2d73656c662e74656d705661756c74290a202020207d0a7df8bab07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227daf7b2276616c7565223a22307865343637623964643131666130306466222c2274797065223a2241646472657373227daa7b2276616c7565223a22666c6f77546f6b656e5661756c74222c2274797065223a22537472696e67227dad7b2276616c7565223a22666c6f77546f6b656e5265636569766572222c2274797065223a22537472696e67227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", + "encodedTransactionEnvelopeHex": "f907a7f907a3b906a4696d706f72742046756e6769626c65546f6b656e2066726f6d203078663233336463656538386665306162650a0a2f2f2f2043616e207061737320696e20616e792073746f72616765207061746820616e642072656365697665722070617468206964656e74696669657220696e7374656164206f66206a757374207468652064656661756c742e0a2f2f2f2054686973206c65747320796f752063686f6f73652074686520746f6b656e20796f752077616e7420746f2073656e642061732077656c6c20746865206361706162696c69747920796f752077616e7420746f2073656e6420697420746f2e0a2f2f2f0a2f2f2f20416e7920746f6b656e20706174682063616e2062652070617373656420617320616e20617267756d656e7420686572652c20736f2077616c6c6574732073686f756c640a2f2f2f2073686f756c6420636865636b20617267756d656e742076616c75657320746f206d616b6520737572652074686520696e74656e64656420746f6b656e20706174682069732070617373656420696e0a2f2f2f0a7472616e73616374696f6e28616d6f756e743a205546697836342c20746f3a20416464726573732c2073656e646572506174684964656e7469666965723a20537472696e672c207265636569766572506174684964656e7469666965723a20537472696e6729207b0a0a202020202f2f20546865205661756c74207265736f75726365207468617420686f6c64732074686520746f6b656e73207468617420617265206265696e67207472616e736665727265640a202020206c65742074656d705661756c743a20407b46756e6769626c65546f6b656e2e5661756c747d0a0a2020202070726570617265287369676e65723a206175746828426f72726f7756616c75652920264163636f756e7429207b0a0a20202020202020206c65742073746f7261676550617468203d2053746f7261676550617468286964656e7469666965723a2073656e646572506174684964656e746966696572290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420636f6e73747275637420612073746f7261676520706174682066726f6d207468652070726f76696465642070617468206964656e74696669657220737472696e6722290a0a20202020202020202f2f204765742061207265666572656e636520746f20746865207369676e657227732073746f726564207661756c740a20202020202020206c6574207661756c74526566203d207369676e65722e73746f726167652e626f72726f773c617574682846756e6769626c65546f6b656e2e57697468647261772920267b46756e6769626c65546f6b656e2e50726f76696465727d3e2866726f6d3a2073746f7261676550617468290a0909093f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f20746865206f776e65722773205661756c742122290a0a202020202020202073656c662e74656d705661756c74203c2d207661756c745265662e776974686472617728616d6f756e743a20616d6f756e74290a202020207d0a0a2020202065786563757465207b0a20202020202020206c6574207075626c696350617468203d205075626c696350617468286964656e7469666965723a207265636569766572506174684964656e746966696572290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420636f6e7374727563742061207075626c696320706174682066726f6d207468652070726f76696465642070617468206964656e74696669657220737472696e6722290a0a20202020202020206c657420726563697069656e74203d206765744163636f756e7428746f290a20202020202020206c6574207265636569766572526566203d20726563697069656e742e6361706162696c69746965732e626f72726f773c267b46756e6769626c65546f6b656e2e52656365697665727d3e287075626c696350617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f2074686520726563697069656e7427732052656365697665722122290a0a20202020202020202f2f205472616e7366657220746f6b656e732066726f6d20746865207369676e657227732073746f726564207661756c7420746f20746865207265636569766572206361706162696c6974790a202020202020202072656365697665725265662e6465706f7369742866726f6d3a203c2d73656c662e74656d705661756c74290a202020207d0a7df8bab07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227daf7b2276616c7565223a22307865343637623964643131666130306466222c2274797065223a2241646472657373227daa7b2276616c7565223a22666c6f77546f6b656e5661756c74222c2274797065223a22537472696e67227dad7b2276616c7565223a22666c6f77546f6b656e5265636569766572222c2274797065223a22537472696e67227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", + "metadata": "02c9b9a6156280812703c15dde74df95cd0d7d1034dd2d8bf0cccf72b6071429886e5b8c83a3e8445eaa4bed391978443f124d9aa457fabdbaa016e0f65b57591e5472616e736665722046756e6769626c6520546f6b656e2077697468205061746873000401416d6f756e740000554669783634000301526563697069656e7400014164647265737300030153656e646572277320436f6c6c656374696f6e2050617468204964656e7469666965720002537472696e67000301526563697069656e7427732052656365697665722050617468204964656e7469666965720003537472696e670003", + "hash": "6e5b8c83a3e8445eaa4bed391978443f124d9aa457fabdbaa016e0f65b57591e" }, { - "title": "SCO.06 - Stake New Tokens - 2", + "title": "FT.03 - Transfer Fungible Token with Address", "valid": true, "chainID": "Mainnet", "payloadMessage": { - "script": "import FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// Commits new tokens to stake for the specified node or delegator in the staking collection\n/// The tokens from the locked vault are used first, if it exists\n/// followed by the tokens from the unlocked vault\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n }\n\n execute {\n self.stakingCollectionRef.stakeNewTokens(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", + "script": "import FungibleToken from 0xf233dcee88fe0abe\nimport FungibleTokenMetadataViews from 0xf233dcee88fe0abe\n\n/// Can pass in any contract address and name to transfer a token from that contract\n/// This lets you choose the token you want to send\n///\n/// Any contract can be chosen here, so wallets should check argument values\n/// to make sure the intended token path is passed in\n///\ntransaction(amount: UFix64, to: Address, contractAddress: Address, contractName: String) {\n\n // The Vault resource that holds the tokens that are being transferred\n let tempVault: @{FungibleToken.Vault}\n\n // FTVaultData struct to get paths from\n let vaultData: FungibleTokenMetadataViews.FTVaultData\n\n prepare(signer: auth(BorrowValue) &Account) {\n\n // Borrow a reference to the vault stored on the passed account at the passed publicPath\n let resolverRef = getAccount(contractAddress)\n .contracts.borrow<&{FungibleToken}>(name: contractName)\n ?? panic(\"Could not borrow a reference to the fungible token contract\")\n\n // Use that reference to retrieve the FTView \n self.vaultData = resolverRef.resolveContractView(resourceType: nil, viewType: Type()) as! FungibleTokenMetadataViews.FTVaultData?\n ?? panic(\"Could not resolve the FTVaultData view for the given Fungible token contract\")\n\n // Get a reference to the signer's stored vault\n let vaultRef = signer.storage.borrow(from: self.vaultData.storagePath)\n\t\t\t?? panic(\"Could not borrow reference to the owner's Vault!\")\n\n self.tempVault <- vaultRef.withdraw(amount: amount)\n }\n\n execute {\n let recipient = getAccount(to)\n let receiverRef = recipient.capabilities.borrow<&{FungibleToken.Receiver}>(self.vaultData.receiverPath)\n ?? panic(\"Could not borrow reference to the recipient's Receiver!\")\n\n // Transfer tokens from the signer's stored vault to the receiver capability\n receiverRef.deposit(from: <-self.tempVault)\n }\n}", "arguments": [ { - "type": "String", - "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" + "type": "UFix64", + "value": "92233720368.54775808" }, { - "type": "Optional", - "value": { - "type": "UInt32", - "value": "42" - } + "value": "0xe467b9dd11fa00df", + "type": "Address" }, { - "type": "UFix64", - "value": "92233720368.54775808" + "value": "0xe467b9dd11fa00df", + "type": "Address" + }, + { + "value": "FiatToken", + "type": "String" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -5945,22 +2602,23 @@ ] }, "envelopeMessage": { - "script": "import FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// Commits new tokens to stake for the specified node or delegator in the staking collection\n/// The tokens from the locked vault are used first, if it exists\n/// followed by the tokens from the unlocked vault\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n }\n\n execute {\n self.stakingCollectionRef.stakeNewTokens(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", + "script": "import FungibleToken from 0xf233dcee88fe0abe\nimport FungibleTokenMetadataViews from 0xf233dcee88fe0abe\n\n/// Can pass in any contract address and name to transfer a token from that contract\n/// This lets you choose the token you want to send\n///\n/// Any contract can be chosen here, so wallets should check argument values\n/// to make sure the intended token path is passed in\n///\ntransaction(amount: UFix64, to: Address, contractAddress: Address, contractName: String) {\n\n // The Vault resource that holds the tokens that are being transferred\n let tempVault: @{FungibleToken.Vault}\n\n // FTVaultData struct to get paths from\n let vaultData: FungibleTokenMetadataViews.FTVaultData\n\n prepare(signer: auth(BorrowValue) &Account) {\n\n // Borrow a reference to the vault stored on the passed account at the passed publicPath\n let resolverRef = getAccount(contractAddress)\n .contracts.borrow<&{FungibleToken}>(name: contractName)\n ?? panic(\"Could not borrow a reference to the fungible token contract\")\n\n // Use that reference to retrieve the FTView \n self.vaultData = resolverRef.resolveContractView(resourceType: nil, viewType: Type()) as! FungibleTokenMetadataViews.FTVaultData?\n ?? panic(\"Could not resolve the FTVaultData view for the given Fungible token contract\")\n\n // Get a reference to the signer's stored vault\n let vaultRef = signer.storage.borrow(from: self.vaultData.storagePath)\n\t\t\t?? panic(\"Could not borrow reference to the owner's Vault!\")\n\n self.tempVault <- vaultRef.withdraw(amount: amount)\n }\n\n execute {\n let recipient = getAccount(to)\n let receiverRef = recipient.capabilities.borrow<&{FungibleToken.Receiver}>(self.vaultData.receiverPath)\n ?? panic(\"Could not borrow reference to the recipient's Receiver!\")\n\n // Transfer tokens from the signer's stored vault to the receiver capability\n receiverRef.deposit(from: <-self.tempVault)\n }\n}", "arguments": [ { - "type": "String", - "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" + "type": "UFix64", + "value": "92233720368.54775808" }, { - "type": "Optional", - "value": { - "type": "UInt32", - "value": "42" - } + "value": "0xe467b9dd11fa00df", + "type": "Address" }, { - "type": "UFix64", - "value": "92233720368.54775808" + "value": "0xe467b9dd11fa00df", + "type": "Address" + }, + { + "value": "FiatToken", + "type": "String" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -5976,29 +2634,25 @@ ], "payloadSigs": [] }, - "encodedTransactionPayloadHex": "f90430b90320696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f20436f6d6d697473206e657720746f6b656e7320746f207374616b6520666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f2054686520746f6b656e732066726f6d20746865206c6f636b6564207661756c742061726520757365642066697273742c206966206974206578697374730a2f2f2f20666f6c6c6f7765642062792074686520746f6b656e732066726f6d2074686520756e6c6f636b6564207661756c740a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e7374616b654e6577546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8cbb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db83a7b2274797065223a224f7074696f6e616c222c2276616c7565223a7b2274797065223a2255496e743332222c2276616c7565223a223432227d7db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f90434f90430b90320696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f20436f6d6d697473206e657720746f6b656e7320746f207374616b6520666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f2054686520746f6b656e732066726f6d20746865206c6f636b6564207661756c742061726520757365642066697273742c206966206974206578697374730a2f2f2f20666f6c6c6f7765642062792074686520746f6b656e732066726f6d2074686520756e6c6f636b6564207661756c740a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e7374616b654e6577546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8cbb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db83a7b2274797065223a224f7074696f6e616c222c2276616c7565223a7b2274797065223a2255496e743332222c2276616c7565223a223432227d7db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "021307928440cee4289235793d6ff860a24315f7b6a5d5907a145dcc5f83702a2c8e10ac56db8ec5d5e0051d3c9608fabc8edd6abed983f6d3a254e7668a54b32b5374616b65204e657720546f6b656e730003014e6f64652049440000537472696e6700030244656c656761746f72204944000155496e743332000301416d6f756e7400025546697836340003", - "hash": "8e10ac56db8ec5d5e0051d3c9608fabc8edd6abed983f6d3a254e7668a54b32b" + "encodedTransactionPayloadHex": "f9092bb9082f696d706f72742046756e6769626c65546f6b656e2066726f6d203078663233336463656538386665306162650a696d706f72742046756e6769626c65546f6b656e4d6574616461746156696577732066726f6d203078663233336463656538386665306162650a0a2f2f2f2043616e207061737320696e20616e7920636f6e7472616374206164647265737320616e64206e616d6520746f207472616e73666572206120746f6b656e2066726f6d207468617420636f6e74726163740a2f2f2f2054686973206c65747320796f752063686f6f73652074686520746f6b656e20796f752077616e7420746f2073656e640a2f2f2f0a2f2f2f20416e7920636f6e74726163742063616e2062652063686f73656e20686572652c20736f2077616c6c6574732073686f756c6420636865636b20617267756d656e742076616c7565730a2f2f2f20746f206d616b6520737572652074686520696e74656e64656420746f6b656e20706174682069732070617373656420696e0a2f2f2f0a7472616e73616374696f6e28616d6f756e743a205546697836342c20746f3a20416464726573732c20636f6e7472616374416464726573733a20416464726573732c20636f6e74726163744e616d653a20537472696e6729207b0a0a202020202f2f20546865205661756c74207265736f75726365207468617420686f6c64732074686520746f6b656e73207468617420617265206265696e67207472616e736665727265640a202020206c65742074656d705661756c743a20407b46756e6769626c65546f6b656e2e5661756c747d0a0a202020202f2f2046545661756c74446174612073747275637420746f206765742070617468732066726f6d0a202020206c6574207661756c74446174613a2046756e6769626c65546f6b656e4d6574616461746156696577732e46545661756c74446174610a0a2020202070726570617265287369676e65723a206175746828426f72726f7756616c75652920264163636f756e7429207b0a0a20202020202020202f2f20426f72726f772061207265666572656e636520746f20746865207661756c742073746f726564206f6e2074686520706173736564206163636f756e742061742074686520706173736564207075626c6963506174680a20202020202020206c6574207265736f6c766572526566203d206765744163636f756e7428636f6e747261637441646472657373290a2020202020202020202020202e636f6e7472616374732e626f72726f773c267b46756e6769626c65546f6b656e7d3e286e616d653a20636f6e74726163744e616d65290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f207468652066756e6769626c6520746f6b656e20636f6e747261637422290a0a20202020202020202f2f205573652074686174207265666572656e636520746f2072657472696576652074686520465456696577200a202020202020202073656c662e7661756c7444617461203d207265736f6c7665725265662e7265736f6c7665436f6e747261637456696577287265736f75726365547970653a206e696c2c2076696577547970653a20547970653c46756e6769626c65546f6b656e4d6574616461746156696577732e46545661756c74446174613e282929206173212046756e6769626c65546f6b656e4d6574616461746156696577732e46545661756c74446174613f0a2020202020202020202020203f3f2070616e69632822436f756c64206e6f74207265736f6c7665207468652046545661756c7444617461207669657720666f722074686520676976656e2046756e6769626c6520746f6b656e20636f6e747261637422290a0a20202020202020202f2f204765742061207265666572656e636520746f20746865207369676e657227732073746f726564207661756c740a20202020202020206c6574207661756c74526566203d207369676e65722e73746f726167652e626f72726f773c617574682846756e6769626c65546f6b656e2e57697468647261772920267b46756e6769626c65546f6b656e2e50726f76696465727d3e2866726f6d3a2073656c662e7661756c74446174612e73746f7261676550617468290a0909093f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f20746865206f776e65722773205661756c742122290a0a202020202020202073656c662e74656d705661756c74203c2d207661756c745265662e776974686472617728616d6f756e743a20616d6f756e74290a202020207d0a0a2020202065786563757465207b0a20202020202020206c657420726563697069656e74203d206765744163636f756e7428746f290a20202020202020206c6574207265636569766572526566203d20726563697069656e742e6361706162696c69746965732e626f72726f773c267b46756e6769626c65546f6b656e2e52656365697665727d3e2873656c662e7661756c74446174612e726563656976657250617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f2074686520726563697069656e7427732052656365697665722122290a0a20202020202020202f2f205472616e7366657220746f6b656e732066726f6d20746865207369676e657227732073746f726564207661756c7420746f20746865207265636569766572206361706162696c6974790a202020202020202072656365697665725265662e6465706f7369742866726f6d3a203c2d73656c662e74656d705661756c74290a202020207d0a7df8b7b07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227daf7b2276616c7565223a22307865343637623964643131666130306466222c2274797065223a2241646472657373227daf7b2276616c7565223a22307865343637623964643131666130306466222c2274797065223a2241646472657373227da57b2276616c7565223a2246696174546f6b656e222c2274797065223a22537472696e67227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", + "encodedTransactionEnvelopeHex": "f9092ff9092bb9082f696d706f72742046756e6769626c65546f6b656e2066726f6d203078663233336463656538386665306162650a696d706f72742046756e6769626c65546f6b656e4d6574616461746156696577732066726f6d203078663233336463656538386665306162650a0a2f2f2f2043616e207061737320696e20616e7920636f6e7472616374206164647265737320616e64206e616d6520746f207472616e73666572206120746f6b656e2066726f6d207468617420636f6e74726163740a2f2f2f2054686973206c65747320796f752063686f6f73652074686520746f6b656e20796f752077616e7420746f2073656e640a2f2f2f0a2f2f2f20416e7920636f6e74726163742063616e2062652063686f73656e20686572652c20736f2077616c6c6574732073686f756c6420636865636b20617267756d656e742076616c7565730a2f2f2f20746f206d616b6520737572652074686520696e74656e64656420746f6b656e20706174682069732070617373656420696e0a2f2f2f0a7472616e73616374696f6e28616d6f756e743a205546697836342c20746f3a20416464726573732c20636f6e7472616374416464726573733a20416464726573732c20636f6e74726163744e616d653a20537472696e6729207b0a0a202020202f2f20546865205661756c74207265736f75726365207468617420686f6c64732074686520746f6b656e73207468617420617265206265696e67207472616e736665727265640a202020206c65742074656d705661756c743a20407b46756e6769626c65546f6b656e2e5661756c747d0a0a202020202f2f2046545661756c74446174612073747275637420746f206765742070617468732066726f6d0a202020206c6574207661756c74446174613a2046756e6769626c65546f6b656e4d6574616461746156696577732e46545661756c74446174610a0a2020202070726570617265287369676e65723a206175746828426f72726f7756616c75652920264163636f756e7429207b0a0a20202020202020202f2f20426f72726f772061207265666572656e636520746f20746865207661756c742073746f726564206f6e2074686520706173736564206163636f756e742061742074686520706173736564207075626c6963506174680a20202020202020206c6574207265736f6c766572526566203d206765744163636f756e7428636f6e747261637441646472657373290a2020202020202020202020202e636f6e7472616374732e626f72726f773c267b46756e6769626c65546f6b656e7d3e286e616d653a20636f6e74726163744e616d65290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f207468652066756e6769626c6520746f6b656e20636f6e747261637422290a0a20202020202020202f2f205573652074686174207265666572656e636520746f2072657472696576652074686520465456696577200a202020202020202073656c662e7661756c7444617461203d207265736f6c7665725265662e7265736f6c7665436f6e747261637456696577287265736f75726365547970653a206e696c2c2076696577547970653a20547970653c46756e6769626c65546f6b656e4d6574616461746156696577732e46545661756c74446174613e282929206173212046756e6769626c65546f6b656e4d6574616461746156696577732e46545661756c74446174613f0a2020202020202020202020203f3f2070616e69632822436f756c64206e6f74207265736f6c7665207468652046545661756c7444617461207669657720666f722074686520676976656e2046756e6769626c6520746f6b656e20636f6e747261637422290a0a20202020202020202f2f204765742061207265666572656e636520746f20746865207369676e657227732073746f726564207661756c740a20202020202020206c6574207661756c74526566203d207369676e65722e73746f726167652e626f72726f773c617574682846756e6769626c65546f6b656e2e57697468647261772920267b46756e6769626c65546f6b656e2e50726f76696465727d3e2866726f6d3a2073656c662e7661756c74446174612e73746f7261676550617468290a0909093f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f20746865206f776e65722773205661756c742122290a0a202020202020202073656c662e74656d705661756c74203c2d207661756c745265662e776974686472617728616d6f756e743a20616d6f756e74290a202020207d0a0a2020202065786563757465207b0a20202020202020206c657420726563697069656e74203d206765744163636f756e7428746f290a20202020202020206c6574207265636569766572526566203d20726563697069656e742e6361706162696c69746965732e626f72726f773c267b46756e6769626c65546f6b656e2e52656365697665727d3e2873656c662e7661756c74446174612e726563656976657250617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f2074686520726563697069656e7427732052656365697665722122290a0a20202020202020202f2f205472616e7366657220746f6b656e732066726f6d20746865207369676e657227732073746f726564207661756c7420746f20746865207265636569766572206361706162696c6974790a202020202020202072656365697665725265662e6465706f7369742866726f6d3a203c2d73656c662e74656d705661756c74290a202020207d0a7df8b7b07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227daf7b2276616c7565223a22307865343637623964643131666130306466222c2274797065223a2241646472657373227daf7b2276616c7565223a22307865343637623964643131666130306466222c2274797065223a2241646472657373227da57b2276616c7565223a2246696174546f6b656e222c2274797065223a22537472696e67227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", + "metadata": "02c1518742a95f9b49259abed8364b05d616ee8acebe123e9979f762b9e7522f93697ad2a90da93cbd02b7658f174c9c32e2016a574edb89cf24b57a8155c343e45472616e736665722046756e6769626c6520546f6b656e20776974682041646472657373000401416d6f756e740000554669783634000301526563697069656e74000141646472657373000301465420436f6e74726163742041646472657373000241646472657373000301465420436f6e7472616374204e616d650003537472696e670003", + "hash": "697ad2a90da93cbd02b7658f174c9c32e2016a574edb89cf24b57a8155c343e4" }, { - "title": "SCO.07 - Stake Rewarded Tokens - 1", + "title": "NFT.01 - Setup NFT Collection", "valid": true, "chainID": "Mainnet", "payloadMessage": { - "script": "import FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// Commits rewarded tokens to stake for the specified node or delegator in the staking collection\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n }\n\n execute {\n self.stakingCollectionRef.stakeRewardedTokens(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", + "script": "/// This transaction is what an account would run\n/// to set itself up to receive NFTs. This function\n/// uses views to know where to set up the collection\n/// in storage and to create the empty collection.\n\nimport 0x1d7e57aa55817448\nimport 0x1d7e57aa55817448\n\ntransaction(contractAddress: Address, contractName: String) {\n\n prepare(signer: auth(IssueStorageCapabilityController, PublishCapability, SaveValue) &Account) {\n // Borrow a reference to the nft contract deployed to the passed account\n let resolverRef = getAccount(contractAddress)\n .contracts.borrow<&{NonFungibleToken}>(name: contractName)\n ?? panic(\"Could not borrow a reference to the non-fungible token contract\")\n\n // Use that reference to retrieve the NFTCollectionData view \n let collectionData = resolverRef.resolveContractView(resourceType: nil, viewType: Type()) as! MetadataViews.NFTCollectionData?\n ?? panic(\"Could not resolve the NFTCollectionData view for the given non-fungible token contract\")\n\n // Create a new empty collections\n let emptyCollection <- collectionData.createEmptyCollection()\n\n // save it to the account\n signer.storage.save(<-emptyCollection, to: collectionData.storagePath)\n\n // create a public capability for the collection\n let collectionCap = signer.capabilities.storage.issue<&{NonFungibleToken.Collection}>(\n collectionData.storagePath\n )\n signer.capabilities.publish(collectionCap, at: collectionData.publicPath)\n }\n}\n", "arguments": [ { - "type": "String", - "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" - }, - { - "type": "Optional", - "value": null + "type": "Address", + "value": "0xe467b9dd11fa00df" }, { - "type": "UFix64", - "value": "92233720368.54775808" + "value": "TopShot", + "type": "String" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -6014,19 +2668,15 @@ ] }, "envelopeMessage": { - "script": "import FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// Commits rewarded tokens to stake for the specified node or delegator in the staking collection\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n }\n\n execute {\n self.stakingCollectionRef.stakeRewardedTokens(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", + "script": "/// This transaction is what an account would run\n/// to set itself up to receive NFTs. This function\n/// uses views to know where to set up the collection\n/// in storage and to create the empty collection.\n\nimport 0x1d7e57aa55817448\nimport 0x1d7e57aa55817448\n\ntransaction(contractAddress: Address, contractName: String) {\n\n prepare(signer: auth(IssueStorageCapabilityController, PublishCapability, SaveValue) &Account) {\n // Borrow a reference to the nft contract deployed to the passed account\n let resolverRef = getAccount(contractAddress)\n .contracts.borrow<&{NonFungibleToken}>(name: contractName)\n ?? panic(\"Could not borrow a reference to the non-fungible token contract\")\n\n // Use that reference to retrieve the NFTCollectionData view \n let collectionData = resolverRef.resolveContractView(resourceType: nil, viewType: Type()) as! MetadataViews.NFTCollectionData?\n ?? panic(\"Could not resolve the NFTCollectionData view for the given non-fungible token contract\")\n\n // Create a new empty collections\n let emptyCollection <- collectionData.createEmptyCollection()\n\n // save it to the account\n signer.storage.save(<-emptyCollection, to: collectionData.storagePath)\n\n // create a public capability for the collection\n let collectionCap = signer.capabilities.storage.issue<&{NonFungibleToken.Collection}>(\n collectionData.storagePath\n )\n signer.capabilities.publish(collectionCap, at: collectionData.publicPath)\n }\n}\n", "arguments": [ { - "type": "String", - "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" - }, - { - "type": "Optional", - "value": null + "type": "Address", + "value": "0xe467b9dd11fa00df" }, { - "type": "UFix64", - "value": "92233720368.54775808" + "value": "TopShot", + "type": "String" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -6042,32 +2692,33 @@ ], "payloadSigs": [] }, - "encodedTransactionPayloadHex": "f903aab902b5696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f20436f6d6d69747320726577617264656420746f6b656e7320746f207374616b6520666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e7374616b655265776172646564546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8b0b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227da07b2274797065223a224f7074696f6e616c222c2276616c7565223a6e756c6c7db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f903aef903aab902b5696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f20436f6d6d69747320726577617264656420746f6b656e7320746f207374616b6520666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e7374616b655265776172646564546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8b0b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227da07b2274797065223a224f7074696f6e616c222c2276616c7565223a6e756c6c7db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "02d7aca7113a7aa03e0afd20ee36f4873779708a02ac4c6985017740c2ecea3d62907c4cfd67a98a8003393c64dc74eb7a957b229352a266139a542bb105ac4c405374616b6520526577617264656420546f6b656e730003014e6f64652049440000537472696e6700030244656c656761746f72204944000155496e743332000301416d6f756e7400025546697836340003", - "hash": "907c4cfd67a98a8003393c64dc74eb7a957b229352a266139a542bb105ac4c40" + "encodedTransactionPayloadHex": "f906d5b9063c2f2f2f2054686973207472616e73616374696f6e206973207768617420616e206163636f756e7420776f756c642072756e0a2f2f2f20746f2073657420697473656c6620757020746f2072656365697665204e4654732e20546869732066756e6374696f6e0a2f2f2f207573657320766965777320746f206b6e6f7720776865726520746f207365742075702074686520636f6c6c656374696f6e0a2f2f2f20696e2073746f7261676520616e6420746f206372656174652074686520656d70747920636f6c6c656374696f6e2e0a0a696d706f7274203078316437653537616135353831373434380a696d706f7274203078316437653537616135353831373434380a0a7472616e73616374696f6e28636f6e7472616374416464726573733a20416464726573732c20636f6e74726163744e616d653a20537472696e6729207b0a0a2020202070726570617265287369676e65723a206175746828497373756553746f726167654361706162696c697479436f6e74726f6c6c65722c205075626c6973684361706162696c6974792c205361766556616c75652920264163636f756e7429207b0a20202020202020202f2f20426f72726f772061207265666572656e636520746f20746865206e667420636f6e7472616374206465706c6f79656420746f2074686520706173736564206163636f756e740a20202020202020206c6574207265736f6c766572526566203d206765744163636f756e7428636f6e747261637441646472657373290a2020202020202020202020202e636f6e7472616374732e626f72726f773c267b4e6f6e46756e6769626c65546f6b656e7d3e286e616d653a20636f6e74726163744e616d65290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f20746865206e6f6e2d66756e6769626c6520746f6b656e20636f6e747261637422290a0a20202020202020202f2f205573652074686174207265666572656e636520746f20726574726965766520746865204e4654436f6c6c656374696f6e446174612076696577200a20202020202020206c657420636f6c6c656374696f6e44617461203d207265736f6c7665725265662e7265736f6c7665436f6e747261637456696577287265736f75726365547970653a206e696c2c2076696577547970653a20547970653c4d6574616461746156696577732e4e4654436f6c6c656374696f6e446174613e28292920617321204d6574616461746156696577732e4e4654436f6c6c656374696f6e446174613f0a2020202020202020202020203f3f2070616e69632822436f756c64206e6f74207265736f6c766520746865204e4654436f6c6c656374696f6e44617461207669657720666f722074686520676976656e206e6f6e2d66756e6769626c6520746f6b656e20636f6e747261637422290a0a20202020202020202f2f204372656174652061206e657720656d70747920636f6c6c656374696f6e730a20202020202020206c657420656d707479436f6c6c656374696f6e203c2d20636f6c6c656374696f6e446174612e637265617465456d707479436f6c6c656374696f6e28290a0a20202020202020202f2f207361766520697420746f20746865206163636f756e740a20202020202020207369676e65722e73746f726167652e73617665283c2d656d707479436f6c6c656374696f6e2c20746f3a20636f6c6c656374696f6e446174612e73746f7261676550617468290a0a20202020202020202f2f206372656174652061207075626c6963206361706162696c69747920666f722074686520636f6c6c656374696f6e0a20202020202020206c657420636f6c6c656374696f6e436170203d207369676e65722e6361706162696c69746965732e73746f726167652e69737375653c267b4e6f6e46756e6769626c65546f6b656e2e436f6c6c656374696f6e7d3e280a20202020202020202020202020202020636f6c6c656374696f6e446174612e73746f72616765506174680a202020202020202020202020290a20202020202020207369676e65722e6361706162696c69746965732e7075626c69736828636f6c6c656374696f6e4361702c2061743a20636f6c6c656374696f6e446174612e7075626c696350617468290a202020207d0a7d0af854af7b2274797065223a2241646472657373222c2276616c7565223a22307865343637623964643131666130306466227da37b2276616c7565223a22546f7053686f74222c2274797065223a22537472696e67227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", + "encodedTransactionEnvelopeHex": "f906d9f906d5b9063c2f2f2f2054686973207472616e73616374696f6e206973207768617420616e206163636f756e7420776f756c642072756e0a2f2f2f20746f2073657420697473656c6620757020746f2072656365697665204e4654732e20546869732066756e6374696f6e0a2f2f2f207573657320766965777320746f206b6e6f7720776865726520746f207365742075702074686520636f6c6c656374696f6e0a2f2f2f20696e2073746f7261676520616e6420746f206372656174652074686520656d70747920636f6c6c656374696f6e2e0a0a696d706f7274203078316437653537616135353831373434380a696d706f7274203078316437653537616135353831373434380a0a7472616e73616374696f6e28636f6e7472616374416464726573733a20416464726573732c20636f6e74726163744e616d653a20537472696e6729207b0a0a2020202070726570617265287369676e65723a206175746828497373756553746f726167654361706162696c697479436f6e74726f6c6c65722c205075626c6973684361706162696c6974792c205361766556616c75652920264163636f756e7429207b0a20202020202020202f2f20426f72726f772061207265666572656e636520746f20746865206e667420636f6e7472616374206465706c6f79656420746f2074686520706173736564206163636f756e740a20202020202020206c6574207265736f6c766572526566203d206765744163636f756e7428636f6e747261637441646472657373290a2020202020202020202020202e636f6e7472616374732e626f72726f773c267b4e6f6e46756e6769626c65546f6b656e7d3e286e616d653a20636f6e74726163744e616d65290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f20746865206e6f6e2d66756e6769626c6520746f6b656e20636f6e747261637422290a0a20202020202020202f2f205573652074686174207265666572656e636520746f20726574726965766520746865204e4654436f6c6c656374696f6e446174612076696577200a20202020202020206c657420636f6c6c656374696f6e44617461203d207265736f6c7665725265662e7265736f6c7665436f6e747261637456696577287265736f75726365547970653a206e696c2c2076696577547970653a20547970653c4d6574616461746156696577732e4e4654436f6c6c656374696f6e446174613e28292920617321204d6574616461746156696577732e4e4654436f6c6c656374696f6e446174613f0a2020202020202020202020203f3f2070616e69632822436f756c64206e6f74207265736f6c766520746865204e4654436f6c6c656374696f6e44617461207669657720666f722074686520676976656e206e6f6e2d66756e6769626c6520746f6b656e20636f6e747261637422290a0a20202020202020202f2f204372656174652061206e657720656d70747920636f6c6c656374696f6e730a20202020202020206c657420656d707479436f6c6c656374696f6e203c2d20636f6c6c656374696f6e446174612e637265617465456d707479436f6c6c656374696f6e28290a0a20202020202020202f2f207361766520697420746f20746865206163636f756e740a20202020202020207369676e65722e73746f726167652e73617665283c2d656d707479436f6c6c656374696f6e2c20746f3a20636f6c6c656374696f6e446174612e73746f7261676550617468290a0a20202020202020202f2f206372656174652061207075626c6963206361706162696c69747920666f722074686520636f6c6c656374696f6e0a20202020202020206c657420636f6c6c656374696f6e436170203d207369676e65722e6361706162696c69746965732e73746f726167652e69737375653c267b4e6f6e46756e6769626c65546f6b656e2e436f6c6c656374696f6e7d3e280a20202020202020202020202020202020636f6c6c656374696f6e446174612e73746f72616765506174680a202020202020202020202020290a20202020202020207369676e65722e6361706162696c69746965732e7075626c69736828636f6c6c656374696f6e4361702c2061743a20636f6c6c656374696f6e446174612e7075626c696350617468290a202020207d0a7d0af854af7b2274797065223a2241646472657373222c2276616c7565223a22307865343637623964643131666130306466227da37b2276616c7565223a22546f7053686f74222c2274797065223a22537472696e67227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", + "metadata": "02d9ef3b05f8b06d43c3a0ef4066e88e6248323c5f235f9a5d1f8a85d6e2bc9bfa1d12c005fa7a08277204e5d54e29b725c52b9e8e3dd6ff6e01f8d47d7be1626c5365747570204e465420436f6c6c656374696f6e0002014e465420436f6e747261637420416464726573730000416464726573730003014e465420436f6e7472616374204e616d650001537472696e670003", + "hash": "1d12c005fa7a08277204e5d54e29b725c52b9e8e3dd6ff6e01f8d47d7be1626c" }, { - "title": "SCO.07 - Stake Rewarded Tokens - 2", + "title": "NFT.02 - Transfer NFT with Paths", "valid": true, "chainID": "Mainnet", "payloadMessage": { - "script": "import FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// Commits rewarded tokens to stake for the specified node or delegator in the staking collection\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n }\n\n execute {\n self.stakingCollectionRef.stakeRewardedTokens(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", + "script": "import 0x1d7e57aa55817448\n\n/// Can pass in any storage path and receiver path instead of just the default.\n/// This lets you choose the token you want to send as well the capability you want to send it to.\n///\n/// Any token path can be passed as an argument here, so wallets should\n/// should check argument values to make sure the intended token path is passed in\n///\ntransaction(to: Address, id: UInt64, senderPathIdentifier: String, receiverPathIdentifier: String) {\n\n // The NFT resource to be transferred\n let tempNFT: @{NonFungibleToken.NFT}\n\n prepare(signer: auth(BorrowValue) &Account) {\n\n let storagePath = StoragePath(identifier: senderPathIdentifier)\n ?? panic(\"Could not construct a storage path from the provided path identifier string\")\n\n // borrow a reference to the signer's NFT collection\n let withdrawRef = signer.storage.borrow(\n from: storagePath\n ) ?? panic(\"Account does not store a collection object at the specified path\")\n\n self.tempNFT <- withdrawRef.withdraw(withdrawID: id)\n }\n\n execute {\n let publicPath = PublicPath(identifier: receiverPathIdentifier)\n ?? panic(\"Could not construct a public path from the provided path identifier string\")\n\n // get the recipients public account object\n let recipient = getAccount(to)\n\n // borrow a public reference to the receivers collection\n let receiverCap = recipient.capabilities.get<&{NonFungibleToken.Receiver}>(publicPath)\n ?? panic(\"Could not get the recipient's Receiver Capability\")\n\n let receiverRef = receiverCap.borrow()\n ?? panic(\"Could not borrow reference to the recipient's receiver\")\n\n // Deposit the NFT to the receiver\n receiverRef.deposit(token: <-self.tempNFT)\n }\n}", "arguments": [ { - "type": "String", - "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" + "type": "Address", + "value": "0xe467b9dd11fa00df" }, { - "type": "Optional", - "value": { - "type": "UInt32", - "value": "42" - } + "value": "10", + "type": "UInt64" }, { - "type": "UFix64", - "value": "92233720368.54775808" + "value": "flowTokenVault", + "type": "String" + }, + { + "value": "flowTokenReceiver", + "type": "String" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -6083,22 +2734,23 @@ ] }, "envelopeMessage": { - "script": "import FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// Commits rewarded tokens to stake for the specified node or delegator in the staking collection\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n }\n\n execute {\n self.stakingCollectionRef.stakeRewardedTokens(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", + "script": "import 0x1d7e57aa55817448\n\n/// Can pass in any storage path and receiver path instead of just the default.\n/// This lets you choose the token you want to send as well the capability you want to send it to.\n///\n/// Any token path can be passed as an argument here, so wallets should\n/// should check argument values to make sure the intended token path is passed in\n///\ntransaction(to: Address, id: UInt64, senderPathIdentifier: String, receiverPathIdentifier: String) {\n\n // The NFT resource to be transferred\n let tempNFT: @{NonFungibleToken.NFT}\n\n prepare(signer: auth(BorrowValue) &Account) {\n\n let storagePath = StoragePath(identifier: senderPathIdentifier)\n ?? panic(\"Could not construct a storage path from the provided path identifier string\")\n\n // borrow a reference to the signer's NFT collection\n let withdrawRef = signer.storage.borrow(\n from: storagePath\n ) ?? panic(\"Account does not store a collection object at the specified path\")\n\n self.tempNFT <- withdrawRef.withdraw(withdrawID: id)\n }\n\n execute {\n let publicPath = PublicPath(identifier: receiverPathIdentifier)\n ?? panic(\"Could not construct a public path from the provided path identifier string\")\n\n // get the recipients public account object\n let recipient = getAccount(to)\n\n // borrow a public reference to the receivers collection\n let receiverCap = recipient.capabilities.get<&{NonFungibleToken.Receiver}>(publicPath)\n ?? panic(\"Could not get the recipient's Receiver Capability\")\n\n let receiverRef = receiverCap.borrow()\n ?? panic(\"Could not borrow reference to the recipient's receiver\")\n\n // Deposit the NFT to the receiver\n receiverRef.deposit(token: <-self.tempNFT)\n }\n}", "arguments": [ { - "type": "String", - "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" + "type": "Address", + "value": "0xe467b9dd11fa00df" }, { - "type": "Optional", - "value": { - "type": "UInt32", - "value": "42" - } + "value": "10", + "type": "UInt64" }, { - "type": "UFix64", - "value": "92233720368.54775808" + "value": "flowTokenVault", + "type": "String" + }, + { + "value": "flowTokenReceiver", + "type": "String" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -6114,29 +2766,33 @@ ], "payloadSigs": [] }, - "encodedTransactionPayloadHex": "f903c5b902b5696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f20436f6d6d69747320726577617264656420746f6b656e7320746f207374616b6520666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e7374616b655265776172646564546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8cbb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db83a7b2274797065223a224f7074696f6e616c222c2276616c7565223a7b2274797065223a2255496e743332222c2276616c7565223a223432227d7db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f903c9f903c5b902b5696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f20436f6d6d69747320726577617264656420746f6b656e7320746f207374616b6520666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e7374616b655265776172646564546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8cbb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db83a7b2274797065223a224f7074696f6e616c222c2276616c7565223a7b2274797065223a2255496e743332222c2276616c7565223a223432227d7db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "02d7aca7113a7aa03e0afd20ee36f4873779708a02ac4c6985017740c2ecea3d62907c4cfd67a98a8003393c64dc74eb7a957b229352a266139a542bb105ac4c405374616b6520526577617264656420546f6b656e730003014e6f64652049440000537472696e6700030244656c656761746f72204944000155496e743332000301416d6f756e7400025546697836340003", - "hash": "907c4cfd67a98a8003393c64dc74eb7a957b229352a266139a542bb105ac4c40" + "encodedTransactionPayloadHex": "f9084db90760696d706f7274203078316437653537616135353831373434380a0a2f2f2f2043616e207061737320696e20616e792073746f72616765207061746820616e64207265636569766572207061746820696e7374656164206f66206a757374207468652064656661756c742e0a2f2f2f2054686973206c65747320796f752063686f6f73652074686520746f6b656e20796f752077616e7420746f2073656e642061732077656c6c20746865206361706162696c69747920796f752077616e7420746f2073656e6420697420746f2e0a2f2f2f0a2f2f2f20416e7920746f6b656e20706174682063616e2062652070617373656420617320616e20617267756d656e7420686572652c20736f2077616c6c6574732073686f756c640a2f2f2f2073686f756c6420636865636b20617267756d656e742076616c75657320746f206d616b6520737572652074686520696e74656e64656420746f6b656e20706174682069732070617373656420696e0a2f2f2f0a7472616e73616374696f6e28746f3a20416464726573732c2069643a2055496e7436342c2073656e646572506174684964656e7469666965723a20537472696e672c207265636569766572506174684964656e7469666965723a20537472696e6729207b0a0a202020202f2f20546865204e4654207265736f7572636520746f206265207472616e736665727265640a202020206c65742074656d704e46543a20407b4e6f6e46756e6769626c65546f6b656e2e4e46547d0a0a2020202070726570617265287369676e65723a206175746828426f72726f7756616c75652920264163636f756e7429207b0a0a20202020202020206c65742073746f7261676550617468203d2053746f7261676550617468286964656e7469666965723a2073656e646572506174684964656e746966696572290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420636f6e73747275637420612073746f7261676520706174682066726f6d207468652070726f76696465642070617468206964656e74696669657220737472696e6722290a0a20202020202020202f2f20626f72726f772061207265666572656e636520746f20746865207369676e65722773204e465420636f6c6c656374696f6e0a20202020202020206c6574207769746864726177526566203d207369676e65722e73746f726167652e626f72726f773c61757468284e6f6e46756e6769626c65546f6b656e2e57697468647261772920267b4e6f6e46756e6769626c65546f6b656e2e436f6c6c656374696f6e7d3e280a2020202020202020202020202020202066726f6d3a2073746f72616765506174680a20202020202020202020202029203f3f2070616e696328224163636f756e7420646f6573206e6f742073746f7265206120636f6c6c656374696f6e206f626a6563742061742074686520737065636966696564207061746822290a0a202020202020202073656c662e74656d704e4654203c2d2077697468647261775265662e776974686472617728776974686472617749443a206964290a202020207d0a0a2020202065786563757465207b0a20202020202020206c6574207075626c696350617468203d205075626c696350617468286964656e7469666965723a207265636569766572506174684964656e746966696572290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420636f6e7374727563742061207075626c696320706174682066726f6d207468652070726f76696465642070617468206964656e74696669657220737472696e6722290a0a20202020202020202f2f206765742074686520726563697069656e7473207075626c6963206163636f756e74206f626a6563740a20202020202020206c657420726563697069656e74203d206765744163636f756e7428746f290a0a20202020202020202f2f20626f72726f772061207075626c6963207265666572656e636520746f207468652072656365697665727320636f6c6c656374696f6e0a20202020202020206c6574207265636569766572436170203d20726563697069656e742e6361706162696c69746965732e6765743c267b4e6f6e46756e6769626c65546f6b656e2e52656365697665727d3e287075626c696350617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f74206765742074686520726563697069656e742773205265636569766572204361706162696c69747922290a0a20202020202020206c6574207265636569766572526566203d2072656365697665724361702e626f72726f7728290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f2074686520726563697069656e74277320726563656976657222290a0a20202020202020202f2f204465706f73697420746865204e465420746f207468652072656365697665720a202020202020202072656365697665725265662e6465706f73697428746f6b656e3a203c2d73656c662e74656d704e4654290a202020207d0a7df8a8af7b2274797065223a2241646472657373222c2276616c7565223a22307865343637623964643131666130306466227d9e7b2276616c7565223a223130222c2274797065223a2255496e743634227daa7b2276616c7565223a22666c6f77546f6b656e5661756c74222c2274797065223a22537472696e67227dad7b2276616c7565223a22666c6f77546f6b656e5265636569766572222c2274797065223a22537472696e67227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", + "encodedTransactionEnvelopeHex": "f90851f9084db90760696d706f7274203078316437653537616135353831373434380a0a2f2f2f2043616e207061737320696e20616e792073746f72616765207061746820616e64207265636569766572207061746820696e7374656164206f66206a757374207468652064656661756c742e0a2f2f2f2054686973206c65747320796f752063686f6f73652074686520746f6b656e20796f752077616e7420746f2073656e642061732077656c6c20746865206361706162696c69747920796f752077616e7420746f2073656e6420697420746f2e0a2f2f2f0a2f2f2f20416e7920746f6b656e20706174682063616e2062652070617373656420617320616e20617267756d656e7420686572652c20736f2077616c6c6574732073686f756c640a2f2f2f2073686f756c6420636865636b20617267756d656e742076616c75657320746f206d616b6520737572652074686520696e74656e64656420746f6b656e20706174682069732070617373656420696e0a2f2f2f0a7472616e73616374696f6e28746f3a20416464726573732c2069643a2055496e7436342c2073656e646572506174684964656e7469666965723a20537472696e672c207265636569766572506174684964656e7469666965723a20537472696e6729207b0a0a202020202f2f20546865204e4654207265736f7572636520746f206265207472616e736665727265640a202020206c65742074656d704e46543a20407b4e6f6e46756e6769626c65546f6b656e2e4e46547d0a0a2020202070726570617265287369676e65723a206175746828426f72726f7756616c75652920264163636f756e7429207b0a0a20202020202020206c65742073746f7261676550617468203d2053746f7261676550617468286964656e7469666965723a2073656e646572506174684964656e746966696572290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420636f6e73747275637420612073746f7261676520706174682066726f6d207468652070726f76696465642070617468206964656e74696669657220737472696e6722290a0a20202020202020202f2f20626f72726f772061207265666572656e636520746f20746865207369676e65722773204e465420636f6c6c656374696f6e0a20202020202020206c6574207769746864726177526566203d207369676e65722e73746f726167652e626f72726f773c61757468284e6f6e46756e6769626c65546f6b656e2e57697468647261772920267b4e6f6e46756e6769626c65546f6b656e2e436f6c6c656374696f6e7d3e280a2020202020202020202020202020202066726f6d3a2073746f72616765506174680a20202020202020202020202029203f3f2070616e696328224163636f756e7420646f6573206e6f742073746f7265206120636f6c6c656374696f6e206f626a6563742061742074686520737065636966696564207061746822290a0a202020202020202073656c662e74656d704e4654203c2d2077697468647261775265662e776974686472617728776974686472617749443a206964290a202020207d0a0a2020202065786563757465207b0a20202020202020206c6574207075626c696350617468203d205075626c696350617468286964656e7469666965723a207265636569766572506174684964656e746966696572290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420636f6e7374727563742061207075626c696320706174682066726f6d207468652070726f76696465642070617468206964656e74696669657220737472696e6722290a0a20202020202020202f2f206765742074686520726563697069656e7473207075626c6963206163636f756e74206f626a6563740a20202020202020206c657420726563697069656e74203d206765744163636f756e7428746f290a0a20202020202020202f2f20626f72726f772061207075626c6963207265666572656e636520746f207468652072656365697665727320636f6c6c656374696f6e0a20202020202020206c6574207265636569766572436170203d20726563697069656e742e6361706162696c69746965732e6765743c267b4e6f6e46756e6769626c65546f6b656e2e52656365697665727d3e287075626c696350617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f74206765742074686520726563697069656e742773205265636569766572204361706162696c69747922290a0a20202020202020206c6574207265636569766572526566203d2072656365697665724361702e626f72726f7728290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f2074686520726563697069656e74277320726563656976657222290a0a20202020202020202f2f204465706f73697420746865204e465420746f207468652072656365697665720a202020202020202072656365697665725265662e6465706f73697428746f6b656e3a203c2d73656c662e74656d704e4654290a202020207d0a7df8a8af7b2274797065223a2241646472657373222c2276616c7565223a22307865343637623964643131666130306466227d9e7b2276616c7565223a223130222c2274797065223a2255496e743634227daa7b2276616c7565223a22666c6f77546f6b656e5661756c74222c2274797065223a22537472696e67227dad7b2276616c7565223a22666c6f77546f6b656e5265636569766572222c2274797065223a22537472696e67227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", + "metadata": "02f08815a2f535512a65e5c95c391dd6ff89662dad8fd68da836d11d0827a52bd4a56eb0c3e6c3456eee86d5cb62ddf700b0d1e5e65f12fe6926edd6d1816582855472616e73666572204e46542077697468205061746873000401526563697069656e740000416464726573730003014e465420494420746f205472616e73666572000155496e74363400030153656e646572277320436f6c6c656374696f6e2050617468204964656e7469666965720002537472696e67000301526563697069656e7427732052656365697665722050617468204964656e7469666965720003537472696e670003", + "hash": "a56eb0c3e6c3456eee86d5cb62ddf700b0d1e5e65f12fe6926edd6d181658285" }, { - "title": "SCO.08 - Stake Unstaked Tokens - 1", + "title": "NFT.03 - Transfer NFT with Address", "valid": true, "chainID": "Mainnet", "payloadMessage": { - "script": "import FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// Commits unstaked tokens to stake for the specified node or delegator in the staking collection\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n }\n\n execute {\n self.stakingCollectionRef.stakeUnstakedTokens(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", + "script": "import 0x1d7e57aa55817448\nimport 0x1d7e57aa55817448\n\n/// Can pass in any contract address and name\n/// This lets you choose the token you want to send because\n/// the transaction gets the metadata from the provided contract.\n///\ntransaction(to: Address, id: UInt64, contractAddress: Address, contractName: String) {\n\n // The NFT resource to be transferred\n let tempNFT: @{NonFungibleToken.NFT}\n\n // NFTCollectionData struct to get paths from\n let collectionData: MetadataViews.NFTCollectionData\n\n prepare(signer: auth(BorrowValue) &Account) {\n\n // Borrow a reference to the nft contract deployed to the passed account\n let resolverRef = getAccount(contractAddress)\n .contracts.borrow<&{NonFungibleToken}>(name: contractName)\n ?? panic(\"Could not borrow a reference to the non-fungible token contract\")\n\n // Use that reference to retrieve the NFTCollectionData view \n self.collectionData = resolverRef.resolveContractView(resourceType: nil, viewType: Type()) as! MetadataViews.NFTCollectionData?\n ?? panic(\"Could not resolve the NFTCollectionData view for the given non-fungible token contract\")\n\n\n // borrow a reference to the signer's NFT collection\n let withdrawRef = signer.storage.borrow(\n from: self.collectionData.storagePath\n ) ?? panic(\"Account does not store a collection object at the specified path\")\n\n self.tempNFT <- withdrawRef.withdraw(withdrawID: id)\n }\n\n execute {\n // get the recipients public account object\n let recipient = getAccount(to)\n\n // borrow a public reference to the receivers collection\n let receiverCap = recipient.capabilities.get<&{NonFungibleToken.Receiver}>(self.collectionData.publicPath)\n ?? panic(\"Could not get the recipient's Receiver Capability\")\n\n let receiverRef = receiverCap.borrow()\n ?? panic(\"Could not borrow reference to the recipient's receiver\")\n\n // Deposit the NFT to the receiver\n receiverRef.deposit(token: <-self.tempNFT)\n }\n}", "arguments": [ { - "type": "String", - "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" + "type": "Address", + "value": "0xe467b9dd11fa00df" }, { - "type": "Optional", - "value": null + "value": "10", + "type": "UInt64" }, { - "type": "UFix64", - "value": "92233720368.54775808" + "value": "0xe467b9dd11fa00df", + "type": "Address" + }, + { + "value": "TopShot", + "type": "String" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -6152,19 +2808,23 @@ ] }, "envelopeMessage": { - "script": "import FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// Commits unstaked tokens to stake for the specified node or delegator in the staking collection\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n }\n\n execute {\n self.stakingCollectionRef.stakeUnstakedTokens(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", + "script": "import 0x1d7e57aa55817448\nimport 0x1d7e57aa55817448\n\n/// Can pass in any contract address and name\n/// This lets you choose the token you want to send because\n/// the transaction gets the metadata from the provided contract.\n///\ntransaction(to: Address, id: UInt64, contractAddress: Address, contractName: String) {\n\n // The NFT resource to be transferred\n let tempNFT: @{NonFungibleToken.NFT}\n\n // NFTCollectionData struct to get paths from\n let collectionData: MetadataViews.NFTCollectionData\n\n prepare(signer: auth(BorrowValue) &Account) {\n\n // Borrow a reference to the nft contract deployed to the passed account\n let resolverRef = getAccount(contractAddress)\n .contracts.borrow<&{NonFungibleToken}>(name: contractName)\n ?? panic(\"Could not borrow a reference to the non-fungible token contract\")\n\n // Use that reference to retrieve the NFTCollectionData view \n self.collectionData = resolverRef.resolveContractView(resourceType: nil, viewType: Type()) as! MetadataViews.NFTCollectionData?\n ?? panic(\"Could not resolve the NFTCollectionData view for the given non-fungible token contract\")\n\n\n // borrow a reference to the signer's NFT collection\n let withdrawRef = signer.storage.borrow(\n from: self.collectionData.storagePath\n ) ?? panic(\"Account does not store a collection object at the specified path\")\n\n self.tempNFT <- withdrawRef.withdraw(withdrawID: id)\n }\n\n execute {\n // get the recipients public account object\n let recipient = getAccount(to)\n\n // borrow a public reference to the receivers collection\n let receiverCap = recipient.capabilities.get<&{NonFungibleToken.Receiver}>(self.collectionData.publicPath)\n ?? panic(\"Could not get the recipient's Receiver Capability\")\n\n let receiverRef = receiverCap.borrow()\n ?? panic(\"Could not borrow reference to the recipient's receiver\")\n\n // Deposit the NFT to the receiver\n receiverRef.deposit(token: <-self.tempNFT)\n }\n}", "arguments": [ { - "type": "String", - "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" + "type": "Address", + "value": "0xe467b9dd11fa00df" }, { - "type": "Optional", - "value": null + "value": "10", + "type": "UInt64" }, { - "type": "UFix64", - "value": "92233720368.54775808" + "value": "0xe467b9dd11fa00df", + "type": "Address" + }, + { + "value": "TopShot", + "type": "String" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -6180,29 +2840,18 @@ ], "payloadSigs": [] }, - "encodedTransactionPayloadHex": "f903aab902b5696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f20436f6d6d69747320756e7374616b656420746f6b656e7320746f207374616b6520666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e7374616b65556e7374616b6564546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8b0b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227da07b2274797065223a224f7074696f6e616c222c2276616c7565223a6e756c6c7db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f903aef903aab902b5696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f20436f6d6d69747320756e7374616b656420746f6b656e7320746f207374616b6520666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e7374616b65556e7374616b6564546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8b0b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227da07b2274797065223a224f7074696f6e616c222c2276616c7565223a6e756c6c7db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "023595fcd68cff445c65ad99f8d4d726b5e28807b061800769c41cbe3adb98aeec082e690b9647182cf6969db1a0fa8e0f1728da6db01fe0d462e9f0841c268cbb5374616b6520556e7374616b656420546f6b656e730003014e6f64652049440000537472696e6700030244656c656761746f72204944000155496e743332000301416d6f756e7400025546697836340003", - "hash": "082e690b9647182cf6969db1a0fa8e0f1728da6db01fe0d462e9f0841c268cbb" + "encodedTransactionPayloadHex": "f9096fb90887696d706f7274203078316437653537616135353831373434380a696d706f7274203078316437653537616135353831373434380a0a2f2f2f2043616e207061737320696e20616e7920636f6e7472616374206164647265737320616e64206e616d650a2f2f2f2054686973206c65747320796f752063686f6f73652074686520746f6b656e20796f752077616e7420746f2073656e6420626563617573650a2f2f2f20746865207472616e73616374696f6e206765747320746865206d657461646174612066726f6d207468652070726f766964656420636f6e74726163742e0a2f2f2f0a7472616e73616374696f6e28746f3a20416464726573732c2069643a2055496e7436342c20636f6e7472616374416464726573733a20416464726573732c20636f6e74726163744e616d653a20537472696e6729207b0a0a202020202f2f20546865204e4654207265736f7572636520746f206265207472616e736665727265640a202020206c65742074656d704e46543a20407b4e6f6e46756e6769626c65546f6b656e2e4e46547d0a0a202020202f2f204e4654436f6c6c656374696f6e446174612073747275637420746f206765742070617468732066726f6d0a202020206c657420636f6c6c656374696f6e446174613a204d6574616461746156696577732e4e4654436f6c6c656374696f6e446174610a0a2020202070726570617265287369676e65723a206175746828426f72726f7756616c75652920264163636f756e7429207b0a0a20202020202020202f2f20426f72726f772061207265666572656e636520746f20746865206e667420636f6e7472616374206465706c6f79656420746f2074686520706173736564206163636f756e740a20202020202020206c6574207265736f6c766572526566203d206765744163636f756e7428636f6e747261637441646472657373290a2020202020202020202020202e636f6e7472616374732e626f72726f773c267b4e6f6e46756e6769626c65546f6b656e7d3e286e616d653a20636f6e74726163744e616d65290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f20746865206e6f6e2d66756e6769626c6520746f6b656e20636f6e747261637422290a0a20202020202020202f2f205573652074686174207265666572656e636520746f20726574726965766520746865204e4654436f6c6c656374696f6e446174612076696577200a202020202020202073656c662e636f6c6c656374696f6e44617461203d207265736f6c7665725265662e7265736f6c7665436f6e747261637456696577287265736f75726365547970653a206e696c2c2076696577547970653a20547970653c4d6574616461746156696577732e4e4654436f6c6c656374696f6e446174613e28292920617321204d6574616461746156696577732e4e4654436f6c6c656374696f6e446174613f0a2020202020202020202020203f3f2070616e69632822436f756c64206e6f74207265736f6c766520746865204e4654436f6c6c656374696f6e44617461207669657720666f722074686520676976656e206e6f6e2d66756e6769626c6520746f6b656e20636f6e747261637422290a0a0a20202020202020202f2f20626f72726f772061207265666572656e636520746f20746865207369676e65722773204e465420636f6c6c656374696f6e0a20202020202020206c6574207769746864726177526566203d207369676e65722e73746f726167652e626f72726f773c61757468284e6f6e46756e6769626c65546f6b656e2e57697468647261772920267b4e6f6e46756e6769626c65546f6b656e2e436f6c6c656374696f6e7d3e280a2020202020202020202020202020202066726f6d3a2073656c662e636f6c6c656374696f6e446174612e73746f72616765506174680a20202020202020202020202029203f3f2070616e696328224163636f756e7420646f6573206e6f742073746f7265206120636f6c6c656374696f6e206f626a6563742061742074686520737065636966696564207061746822290a0a202020202020202073656c662e74656d704e4654203c2d2077697468647261775265662e776974686472617728776974686472617749443a206964290a202020207d0a0a2020202065786563757465207b0a20202020202020202f2f206765742074686520726563697069656e7473207075626c6963206163636f756e74206f626a6563740a20202020202020206c657420726563697069656e74203d206765744163636f756e7428746f290a0a20202020202020202f2f20626f72726f772061207075626c6963207265666572656e636520746f207468652072656365697665727320636f6c6c656374696f6e0a20202020202020206c6574207265636569766572436170203d20726563697069656e742e6361706162696c69746965732e6765743c267b4e6f6e46756e6769626c65546f6b656e2e52656365697665727d3e2873656c662e636f6c6c656374696f6e446174612e7075626c696350617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f74206765742074686520726563697069656e742773205265636569766572204361706162696c69747922290a0a20202020202020206c6574207265636569766572526566203d2072656365697665724361702e626f72726f7728290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f2074686520726563697069656e74277320726563656976657222290a0a20202020202020202f2f204465706f73697420746865204e465420746f207468652072656365697665720a202020202020202072656365697665725265662e6465706f73697428746f6b656e3a203c2d73656c662e74656d704e4654290a202020207d0a7df8a3af7b2274797065223a2241646472657373222c2276616c7565223a22307865343637623964643131666130306466227d9e7b2276616c7565223a223130222c2274797065223a2255496e743634227daf7b2276616c7565223a22307865343637623964643131666130306466222c2274797065223a2241646472657373227da37b2276616c7565223a22546f7053686f74222c2274797065223a22537472696e67227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", + "encodedTransactionEnvelopeHex": "f90973f9096fb90887696d706f7274203078316437653537616135353831373434380a696d706f7274203078316437653537616135353831373434380a0a2f2f2f2043616e207061737320696e20616e7920636f6e7472616374206164647265737320616e64206e616d650a2f2f2f2054686973206c65747320796f752063686f6f73652074686520746f6b656e20796f752077616e7420746f2073656e6420626563617573650a2f2f2f20746865207472616e73616374696f6e206765747320746865206d657461646174612066726f6d207468652070726f766964656420636f6e74726163742e0a2f2f2f0a7472616e73616374696f6e28746f3a20416464726573732c2069643a2055496e7436342c20636f6e7472616374416464726573733a20416464726573732c20636f6e74726163744e616d653a20537472696e6729207b0a0a202020202f2f20546865204e4654207265736f7572636520746f206265207472616e736665727265640a202020206c65742074656d704e46543a20407b4e6f6e46756e6769626c65546f6b656e2e4e46547d0a0a202020202f2f204e4654436f6c6c656374696f6e446174612073747275637420746f206765742070617468732066726f6d0a202020206c657420636f6c6c656374696f6e446174613a204d6574616461746156696577732e4e4654436f6c6c656374696f6e446174610a0a2020202070726570617265287369676e65723a206175746828426f72726f7756616c75652920264163636f756e7429207b0a0a20202020202020202f2f20426f72726f772061207265666572656e636520746f20746865206e667420636f6e7472616374206465706c6f79656420746f2074686520706173736564206163636f756e740a20202020202020206c6574207265736f6c766572526566203d206765744163636f756e7428636f6e747261637441646472657373290a2020202020202020202020202e636f6e7472616374732e626f72726f773c267b4e6f6e46756e6769626c65546f6b656e7d3e286e616d653a20636f6e74726163744e616d65290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f20746865206e6f6e2d66756e6769626c6520746f6b656e20636f6e747261637422290a0a20202020202020202f2f205573652074686174207265666572656e636520746f20726574726965766520746865204e4654436f6c6c656374696f6e446174612076696577200a202020202020202073656c662e636f6c6c656374696f6e44617461203d207265736f6c7665725265662e7265736f6c7665436f6e747261637456696577287265736f75726365547970653a206e696c2c2076696577547970653a20547970653c4d6574616461746156696577732e4e4654436f6c6c656374696f6e446174613e28292920617321204d6574616461746156696577732e4e4654436f6c6c656374696f6e446174613f0a2020202020202020202020203f3f2070616e69632822436f756c64206e6f74207265736f6c766520746865204e4654436f6c6c656374696f6e44617461207669657720666f722074686520676976656e206e6f6e2d66756e6769626c6520746f6b656e20636f6e747261637422290a0a0a20202020202020202f2f20626f72726f772061207265666572656e636520746f20746865207369676e65722773204e465420636f6c6c656374696f6e0a20202020202020206c6574207769746864726177526566203d207369676e65722e73746f726167652e626f72726f773c61757468284e6f6e46756e6769626c65546f6b656e2e57697468647261772920267b4e6f6e46756e6769626c65546f6b656e2e436f6c6c656374696f6e7d3e280a2020202020202020202020202020202066726f6d3a2073656c662e636f6c6c656374696f6e446174612e73746f72616765506174680a20202020202020202020202029203f3f2070616e696328224163636f756e7420646f6573206e6f742073746f7265206120636f6c6c656374696f6e206f626a6563742061742074686520737065636966696564207061746822290a0a202020202020202073656c662e74656d704e4654203c2d2077697468647261775265662e776974686472617728776974686472617749443a206964290a202020207d0a0a2020202065786563757465207b0a20202020202020202f2f206765742074686520726563697069656e7473207075626c6963206163636f756e74206f626a6563740a20202020202020206c657420726563697069656e74203d206765744163636f756e7428746f290a0a20202020202020202f2f20626f72726f772061207075626c6963207265666572656e636520746f207468652072656365697665727320636f6c6c656374696f6e0a20202020202020206c6574207265636569766572436170203d20726563697069656e742e6361706162696c69746965732e6765743c267b4e6f6e46756e6769626c65546f6b656e2e52656365697665727d3e2873656c662e636f6c6c656374696f6e446174612e7075626c696350617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f74206765742074686520726563697069656e742773205265636569766572204361706162696c69747922290a0a20202020202020206c6574207265636569766572526566203d2072656365697665724361702e626f72726f7728290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f2074686520726563697069656e74277320726563656976657222290a0a20202020202020202f2f204465706f73697420746865204e465420746f207468652072656365697665720a202020202020202072656365697665725265662e6465706f73697428746f6b656e3a203c2d73656c662e74656d704e4654290a202020207d0a7df8a3af7b2274797065223a2241646472657373222c2276616c7565223a22307865343637623964643131666130306466227d9e7b2276616c7565223a223130222c2274797065223a2255496e743634227daf7b2276616c7565223a22307865343637623964643131666130306466222c2274797065223a2241646472657373227da37b2276616c7565223a22546f7053686f74222c2274797065223a22537472696e67227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", + "metadata": "02b7892b30d7a68531db8af3aa73eec7bf899bd039bc9883c4d0270e44c78cec30111142945f27d91bf3be630737805eba25d586b0c292bb3818e5d4cf4287e31c5472616e73666572204e465420776974682041646472657373000401526563697069656e740000416464726573730003014e465420494420746f205472616e73666572000155496e7436340003014e465420436f6e747261637420416464726573730002416464726573730003014e465420436f6e7472616374204e616d650003537472696e670003", + "hash": "111142945f27d91bf3be630737805eba25d586b0c292bb3818e5d4cf4287e31c" }, { - "title": "SCO.08 - Stake Unstaked Tokens - 2", + "title": "TH.01 - Withdraw Unlocked FLOW", "valid": true, "chainID": "Mainnet", "payloadMessage": { - "script": "import FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// Commits unstaked tokens to stake for the specified node or delegator in the staking collection\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n }\n\n execute {\n self.stakingCollectionRef.stakeUnstakedTokens(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", + "script": "import FungibleToken from 0xf233dcee88fe0abe\nimport FlowToken from 0x1654653399040a61\nimport LockedTokens from 0x8d0e87b65159ae63\n\ntransaction(amount: UFix64) {\n\n let holderRef: auth(LockedTokens.TokenOperations, FungibleToken.Withdraw) &LockedTokens.TokenHolder\n let vaultRef: auth(FungibleToken.Withdraw) &FlowToken.Vault\n\n prepare(acct: auth(BorrowValue) &Account) {\n self.holderRef = acct.storage.borrow(from: LockedTokens.TokenHolderStoragePath)\n ?? panic(\"The primary user account does not have an associated locked account\")\n\n self.vaultRef = acct.storage.borrow(from: /storage/flowTokenVault)\n ?? panic(\"Could not borrow flow token vault ref\")\n }\n\n execute {\n self.vaultRef.deposit(from: <-self.holderRef.withdraw(amount: amount))\n }\n}\n", "arguments": [ - { - "type": "String", - "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" - }, - { - "type": "Optional", - "value": { - "type": "UInt32", - "value": "42" - } - }, { "type": "UFix64", "value": "92233720368.54775808" @@ -6221,19 +2870,8 @@ ] }, "envelopeMessage": { - "script": "import FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// Commits unstaked tokens to stake for the specified node or delegator in the staking collection\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n }\n\n execute {\n self.stakingCollectionRef.stakeUnstakedTokens(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", + "script": "import FungibleToken from 0xf233dcee88fe0abe\nimport FlowToken from 0x1654653399040a61\nimport LockedTokens from 0x8d0e87b65159ae63\n\ntransaction(amount: UFix64) {\n\n let holderRef: auth(LockedTokens.TokenOperations, FungibleToken.Withdraw) &LockedTokens.TokenHolder\n let vaultRef: auth(FungibleToken.Withdraw) &FlowToken.Vault\n\n prepare(acct: auth(BorrowValue) &Account) {\n self.holderRef = acct.storage.borrow(from: LockedTokens.TokenHolderStoragePath)\n ?? panic(\"The primary user account does not have an associated locked account\")\n\n self.vaultRef = acct.storage.borrow(from: /storage/flowTokenVault)\n ?? panic(\"Could not borrow flow token vault ref\")\n }\n\n execute {\n self.vaultRef.deposit(from: <-self.holderRef.withdraw(amount: amount))\n }\n}\n", "arguments": [ - { - "type": "String", - "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" - }, - { - "type": "Optional", - "value": { - "type": "UInt32", - "value": "42" - } - }, { "type": "UFix64", "value": "92233720368.54775808" @@ -6252,21 +2890,21 @@ ], "payloadSigs": [] }, - "encodedTransactionPayloadHex": "f903c5b902b5696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f20436f6d6d69747320756e7374616b656420746f6b656e7320746f207374616b6520666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e7374616b65556e7374616b6564546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8cbb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db83a7b2274797065223a224f7074696f6e616c222c2276616c7565223a7b2274797065223a2255496e743332222c2276616c7565223a223432227d7db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f903c9f903c5b902b5696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f20436f6d6d69747320756e7374616b656420746f6b656e7320746f207374616b6520666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e7374616b65556e7374616b6564546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8cbb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db83a7b2274797065223a224f7074696f6e616c222c2276616c7565223a7b2274797065223a2255496e743332222c2276616c7565223a223432227d7db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "023595fcd68cff445c65ad99f8d4d726b5e28807b061800769c41cbe3adb98aeec082e690b9647182cf6969db1a0fa8e0f1728da6db01fe0d462e9f0841c268cbb5374616b6520556e7374616b656420546f6b656e730003014e6f64652049440000537472696e6700030244656c656761746f72204944000155496e743332000301416d6f756e7400025546697836340003", - "hash": "082e690b9647182cf6969db1a0fa8e0f1728da6db01fe0d462e9f0841c268cbb" + "encodedTransactionPayloadHex": "f9041fb903aa696d706f72742046756e6769626c65546f6b656e2066726f6d203078663233336463656538386665306162650a696d706f727420466c6f77546f6b656e2066726f6d203078313635343635333339393034306136310a696d706f7274204c6f636b6564546f6b656e732066726f6d203078386430653837623635313539616536330a0a7472616e73616374696f6e28616d6f756e743a2055466978363429207b0a0a202020206c657420686f6c6465725265663a2061757468284c6f636b6564546f6b656e732e546f6b656e4f7065726174696f6e732c2046756e6769626c65546f6b656e2e57697468647261772920264c6f636b6564546f6b656e732e546f6b656e486f6c6465720a202020206c6574207661756c745265663a20617574682846756e6769626c65546f6b656e2e5769746864726177292026466c6f77546f6b656e2e5661756c740a0a202020207072657061726528616363743a206175746828426f72726f7756616c75652920264163636f756e7429207b0a202020202020202073656c662e686f6c646572526566203d20616363742e73746f726167652e626f72726f773c61757468284c6f636b6564546f6b656e732e546f6b656e4f7065726174696f6e732c2046756e6769626c65546f6b656e2e57697468647261772920264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f7261676550617468290a2020202020202020202020203f3f2070616e69632822546865207072696d6172792075736572206163636f756e7420646f6573206e6f74206861766520616e206173736f636961746564206c6f636b6564206163636f756e7422290a0a202020202020202073656c662e7661756c74526566203d20616363742e73746f726167652e626f72726f773c617574682846756e6769626c65546f6b656e2e5769746864726177292026466c6f77546f6b656e2e5661756c743e2866726f6d3a202f73746f726167652f666c6f77546f6b656e5661756c74290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f7720666c6f7720746f6b656e207661756c742072656622290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7661756c745265662e6465706f7369742866726f6d3a203c2d73656c662e686f6c6465725265662e776974686472617728616d6f756e743a20616d6f756e7429290a202020207d0a7d0af1b07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", + "encodedTransactionEnvelopeHex": "f90423f9041fb903aa696d706f72742046756e6769626c65546f6b656e2066726f6d203078663233336463656538386665306162650a696d706f727420466c6f77546f6b656e2066726f6d203078313635343635333339393034306136310a696d706f7274204c6f636b6564546f6b656e732066726f6d203078386430653837623635313539616536330a0a7472616e73616374696f6e28616d6f756e743a2055466978363429207b0a0a202020206c657420686f6c6465725265663a2061757468284c6f636b6564546f6b656e732e546f6b656e4f7065726174696f6e732c2046756e6769626c65546f6b656e2e57697468647261772920264c6f636b6564546f6b656e732e546f6b656e486f6c6465720a202020206c6574207661756c745265663a20617574682846756e6769626c65546f6b656e2e5769746864726177292026466c6f77546f6b656e2e5661756c740a0a202020207072657061726528616363743a206175746828426f72726f7756616c75652920264163636f756e7429207b0a202020202020202073656c662e686f6c646572526566203d20616363742e73746f726167652e626f72726f773c61757468284c6f636b6564546f6b656e732e546f6b656e4f7065726174696f6e732c2046756e6769626c65546f6b656e2e57697468647261772920264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f7261676550617468290a2020202020202020202020203f3f2070616e69632822546865207072696d6172792075736572206163636f756e7420646f6573206e6f74206861766520616e206173736f636961746564206c6f636b6564206163636f756e7422290a0a202020202020202073656c662e7661756c74526566203d20616363742e73746f726167652e626f72726f773c617574682846756e6769626c65546f6b656e2e5769746864726177292026466c6f77546f6b656e2e5661756c743e2866726f6d3a202f73746f726167652f666c6f77546f6b656e5661756c74290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f7720666c6f7720746f6b656e207661756c742072656622290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7661756c745265662e6465706f7369742866726f6d3a203c2d73656c662e686f6c6465725265662e776974686472617728616d6f756e743a20616d6f756e7429290a202020207d0a7d0af1b07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", + "metadata": "02094798e93daeacaa9ff262486a3683ec5a5e2204407e7d00bc3416fbf3efa3b14a830e6f93f74179a99e17c7ae762980c7fdc428bc949767529be2f071ac52b9576974686472617720556e6c6f636b656420464c4f57000101416d6f756e7400005546697836340003", + "hash": "4a830e6f93f74179a99e17c7ae762980c7fdc428bc949767529be2f071ac52b9" }, { - "title": "SCO.09 - Unstake All", + "title": "TH.02 - Deposit Unlocked FLOW", "valid": true, "chainID": "Mainnet", "payloadMessage": { - "script": "import FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// Requests to unstake ALL tokens for the specified node or delegator in the staking collection\n\ntransaction(nodeID: String) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n }\n\n execute {\n self.stakingCollectionRef.unstakeAll(nodeID: nodeID)\n }\n}\n", + "script": "import FungibleToken from 0xf233dcee88fe0abe\nimport FlowToken from 0x1654653399040a61\nimport LockedTokens from 0x8d0e87b65159ae63\n\ntransaction(amount: UFix64) {\n\n let holderRef: &LockedTokens.TokenHolder\n let vaultRef: auth(FungibleToken.Withdraw) &FlowToken.Vault\n\n prepare(acct: auth(BorrowValue) &Account) {\n self.holderRef = acct.storage.borrow<&LockedTokens.TokenHolder>(from: LockedTokens.TokenHolderStoragePath)\n ?? panic(\"The primary user account does not have an associated locked account\")\n\n self.vaultRef = acct.storage.borrow(from: /storage/flowTokenVault)\n ?? panic(\"Could not borrow flow token vault ref\")\n }\n\n execute {\n self.holderRef.deposit(from: <-self.vaultRef.withdraw(amount: amount))\n }\n}\n", "arguments": [ { - "type": "String", - "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" + "type": "UFix64", + "value": "92233720368.54775808" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -6282,11 +2920,11 @@ ] }, "envelopeMessage": { - "script": "import FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// Requests to unstake ALL tokens for the specified node or delegator in the staking collection\n\ntransaction(nodeID: String) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n }\n\n execute {\n self.stakingCollectionRef.unstakeAll(nodeID: nodeID)\n }\n}\n", + "script": "import FungibleToken from 0xf233dcee88fe0abe\nimport FlowToken from 0x1654653399040a61\nimport LockedTokens from 0x8d0e87b65159ae63\n\ntransaction(amount: UFix64) {\n\n let holderRef: &LockedTokens.TokenHolder\n let vaultRef: auth(FungibleToken.Withdraw) &FlowToken.Vault\n\n prepare(acct: auth(BorrowValue) &Account) {\n self.holderRef = acct.storage.borrow<&LockedTokens.TokenHolder>(from: LockedTokens.TokenHolderStoragePath)\n ?? panic(\"The primary user account does not have an associated locked account\")\n\n self.vaultRef = acct.storage.borrow(from: /storage/flowTokenVault)\n ?? panic(\"Could not borrow flow token vault ref\")\n }\n\n execute {\n self.holderRef.deposit(from: <-self.vaultRef.withdraw(amount: amount))\n }\n}\n", "arguments": [ { - "type": "String", - "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" + "type": "UFix64", + "value": "92233720368.54775808" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -6302,34 +2940,18 @@ ], "payloadSigs": [] }, - "encodedTransactionPayloadHex": "f902fdb9025a696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f20526571756573747320746f20756e7374616b6520414c4c20746f6b656e7320666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a0a7472616e73616374696f6e286e6f646549443a20537472696e6729207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e756e7374616b65416c6c286e6f646549443a206e6f64654944290a202020207d0a7d0af85eb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f90301f902fdb9025a696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f20526571756573747320746f20756e7374616b6520414c4c20746f6b656e7320666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a0a7472616e73616374696f6e286e6f646549443a20537472696e6729207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e756e7374616b65416c6c286e6f646549443a206e6f64654944290a202020207d0a7d0af85eb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "020bde358f3965ba2f4c18fb45b6536857c3f53d7d3b740fe66fe93a4ebf7524c1df9c6486baa6f8f685368ea216659239cb81fa8ebd9062a9723edb54ca0d7525556e7374616b6520416c6c0001014e6f64652049440000537472696e670003", - "hash": "df9c6486baa6f8f685368ea216659239cb81fa8ebd9062a9723edb54ca0d7525" + "encodedTransactionPayloadHex": "f903a9b90334696d706f72742046756e6769626c65546f6b656e2066726f6d203078663233336463656538386665306162650a696d706f727420466c6f77546f6b656e2066726f6d203078313635343635333339393034306136310a696d706f7274204c6f636b6564546f6b656e732066726f6d203078386430653837623635313539616536330a0a7472616e73616374696f6e28616d6f756e743a2055466978363429207b0a0a202020206c657420686f6c6465725265663a20264c6f636b6564546f6b656e732e546f6b656e486f6c6465720a202020206c6574207661756c745265663a20617574682846756e6769626c65546f6b656e2e5769746864726177292026466c6f77546f6b656e2e5661756c740a0a202020207072657061726528616363743a206175746828426f72726f7756616c75652920264163636f756e7429207b0a202020202020202073656c662e686f6c646572526566203d20616363742e73746f726167652e626f72726f773c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f7261676550617468290a2020202020202020202020203f3f2070616e69632822546865207072696d6172792075736572206163636f756e7420646f6573206e6f74206861766520616e206173736f636961746564206c6f636b6564206163636f756e7422290a0a202020202020202073656c662e7661756c74526566203d20616363742e73746f726167652e626f72726f773c617574682846756e6769626c65546f6b656e2e5769746864726177292026466c6f77546f6b656e2e5661756c743e2866726f6d3a202f73746f726167652f666c6f77546f6b656e5661756c74290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f7720666c6f7720746f6b656e207661756c742072656622290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e686f6c6465725265662e6465706f7369742866726f6d3a203c2d73656c662e7661756c745265662e776974686472617728616d6f756e743a20616d6f756e7429290a202020207d0a7d0af1b07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", + "encodedTransactionEnvelopeHex": "f903adf903a9b90334696d706f72742046756e6769626c65546f6b656e2066726f6d203078663233336463656538386665306162650a696d706f727420466c6f77546f6b656e2066726f6d203078313635343635333339393034306136310a696d706f7274204c6f636b6564546f6b656e732066726f6d203078386430653837623635313539616536330a0a7472616e73616374696f6e28616d6f756e743a2055466978363429207b0a0a202020206c657420686f6c6465725265663a20264c6f636b6564546f6b656e732e546f6b656e486f6c6465720a202020206c6574207661756c745265663a20617574682846756e6769626c65546f6b656e2e5769746864726177292026466c6f77546f6b656e2e5661756c740a0a202020207072657061726528616363743a206175746828426f72726f7756616c75652920264163636f756e7429207b0a202020202020202073656c662e686f6c646572526566203d20616363742e73746f726167652e626f72726f773c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f7261676550617468290a2020202020202020202020203f3f2070616e69632822546865207072696d6172792075736572206163636f756e7420646f6573206e6f74206861766520616e206173736f636961746564206c6f636b6564206163636f756e7422290a0a202020202020202073656c662e7661756c74526566203d20616363742e73746f726167652e626f72726f773c617574682846756e6769626c65546f6b656e2e5769746864726177292026466c6f77546f6b656e2e5661756c743e2866726f6d3a202f73746f726167652f666c6f77546f6b656e5661756c74290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f7720666c6f7720746f6b656e207661756c742072656622290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e686f6c6465725265662e6465706f7369742866726f6d3a203c2d73656c662e7661756c745265662e776974686472617728616d6f756e743a20616d6f756e7429290a202020207d0a7d0af1b07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", + "metadata": "0217ffcd60667893674d8d4044bdd8232959dc8b694df1dd88d1b9c5443352f253038382a947fa96bf2f4dfe5aa9b4b2abee1ef0975955175e80cf911c3edf4b614465706f73697420556e6c6f636b656420464c4f57000101416d6f756e7400005546697836340003", + "hash": "038382a947fa96bf2f4dfe5aa9b4b2abee1ef0975955175e80cf911c3edf4b61" }, { - "title": "SCO.10 - Withdraw Rewarded Tokens - 1", + "title": "SCO.01 - Setup Staking Collection", "valid": true, "chainID": "Mainnet", "payloadMessage": { - "script": "import FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// Request to withdraw rewarded tokens for the specified node or delegator in the staking collection\n/// The tokens are automatically deposited to the unlocked account vault first,\n/// And then any locked tokens are deposited into the locked account vault\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n }\n\n execute {\n self.stakingCollectionRef.withdrawRewardedTokens(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", - "arguments": [ - { - "type": "String", - "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" - }, - { - "type": "Optional", - "value": { - "type": "UInt32", - "value": "42" - } - }, - { - "type": "UFix64", - "value": "92233720368.54775808" - } - ], + "script": "import FungibleToken from 0xf233dcee88fe0abe\nimport FlowToken from 0x1654653399040a61\nimport FlowIDTableStaking from 0x8624b52f9ddcd04a\nimport LockedTokens from 0x8d0e87b65159ae63\nimport FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// This transaction sets up an account to use a staking collection\n/// It will work regardless of whether they have a regular account, a two-account locked tokens setup,\n/// or staking objects stored in the unlocked account\n\ntransaction {\n prepare(signer: auth(BorrowValue, Storage, Capabilities) &Account) {\n\n // If there isn't already a staking collection\n if signer.storage.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath) == nil {\n\n // Create private capabilities for the token holder and unlocked vault\n let lockedHolder = signer.capabilities.storage.issue(LockedTokens.TokenHolderStoragePath)!\n let flowToken = signer.capabilities.storage.issue(/storage/flowTokenVault)!\n\n // Create a new Staking Collection and put it in storage\n if lockedHolder.check() {\n signer.storage.save(\n <- FlowStakingCollection.createStakingCollection(\n unlockedVault: flowToken,\n tokenHolder: lockedHolder\n ),\n to: FlowStakingCollection.StakingCollectionStoragePath\n )\n } else {\n signer.storage.save(\n <- FlowStakingCollection.createStakingCollection(\n unlockedVault: flowToken,\n tokenHolder: nil\n ),\n to: FlowStakingCollection.StakingCollectionStoragePath\n )\n }\n\n // Publish a capability to the created staking collection.\n let stakingCollectionCap = signer.capabilities.storage.issue<&FlowStakingCollection.StakingCollection>(\n FlowStakingCollection.StakingCollectionStoragePath\n )\n\n signer.capabilities.publish(\n stakingCollectionCap,\n at: FlowStakingCollection.StakingCollectionPublicPath\n )\n }\n\n // borrow a reference to the staking collection\n let collectionRef = signer.storage.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow staking collection reference\")\n\n // If there is a node staker object in the account, put it in the staking collection\n if signer.storage.borrow<&FlowIDTableStaking.NodeStaker>(from: FlowIDTableStaking.NodeStakerStoragePath) != nil {\n let node <- signer.storage.load<@FlowIDTableStaking.NodeStaker>(from: FlowIDTableStaking.NodeStakerStoragePath)!\n collectionRef.addNodeObject(<-node, machineAccountInfo: nil)\n }\n\n // If there is a delegator object in the account, put it in the staking collection\n if signer.storage.borrow<&FlowIDTableStaking.NodeDelegator>(from: FlowIDTableStaking.DelegatorStoragePath) != nil {\n let delegator <- signer.storage.load<@FlowIDTableStaking.NodeDelegator>(from: FlowIDTableStaking.DelegatorStoragePath)!\n collectionRef.addDelegatorObject(<-delegator)\n }\n }\n}\n", + "arguments": [], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", "gasLimit": 42, "proposalKey": { @@ -6343,24 +2965,8 @@ ] }, "envelopeMessage": { - "script": "import FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// Request to withdraw rewarded tokens for the specified node or delegator in the staking collection\n/// The tokens are automatically deposited to the unlocked account vault first,\n/// And then any locked tokens are deposited into the locked account vault\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n }\n\n execute {\n self.stakingCollectionRef.withdrawRewardedTokens(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", - "arguments": [ - { - "type": "String", - "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" - }, - { - "type": "Optional", - "value": { - "type": "UInt32", - "value": "42" - } - }, - { - "type": "UFix64", - "value": "92233720368.54775808" - } - ], + "script": "import FungibleToken from 0xf233dcee88fe0abe\nimport FlowToken from 0x1654653399040a61\nimport FlowIDTableStaking from 0x8624b52f9ddcd04a\nimport LockedTokens from 0x8d0e87b65159ae63\nimport FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// This transaction sets up an account to use a staking collection\n/// It will work regardless of whether they have a regular account, a two-account locked tokens setup,\n/// or staking objects stored in the unlocked account\n\ntransaction {\n prepare(signer: auth(BorrowValue, Storage, Capabilities) &Account) {\n\n // If there isn't already a staking collection\n if signer.storage.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath) == nil {\n\n // Create private capabilities for the token holder and unlocked vault\n let lockedHolder = signer.capabilities.storage.issue(LockedTokens.TokenHolderStoragePath)!\n let flowToken = signer.capabilities.storage.issue(/storage/flowTokenVault)!\n\n // Create a new Staking Collection and put it in storage\n if lockedHolder.check() {\n signer.storage.save(\n <- FlowStakingCollection.createStakingCollection(\n unlockedVault: flowToken,\n tokenHolder: lockedHolder\n ),\n to: FlowStakingCollection.StakingCollectionStoragePath\n )\n } else {\n signer.storage.save(\n <- FlowStakingCollection.createStakingCollection(\n unlockedVault: flowToken,\n tokenHolder: nil\n ),\n to: FlowStakingCollection.StakingCollectionStoragePath\n )\n }\n\n // Publish a capability to the created staking collection.\n let stakingCollectionCap = signer.capabilities.storage.issue<&FlowStakingCollection.StakingCollection>(\n FlowStakingCollection.StakingCollectionStoragePath\n )\n\n signer.capabilities.publish(\n stakingCollectionCap,\n at: FlowStakingCollection.StakingCollectionPublicPath\n )\n }\n\n // borrow a reference to the staking collection\n let collectionRef = signer.storage.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow staking collection reference\")\n\n // If there is a node staker object in the account, put it in the staking collection\n if signer.storage.borrow<&FlowIDTableStaking.NodeStaker>(from: FlowIDTableStaking.NodeStakerStoragePath) != nil {\n let node <- signer.storage.load<@FlowIDTableStaking.NodeStaker>(from: FlowIDTableStaking.NodeStakerStoragePath)!\n collectionRef.addNodeObject(<-node, machineAccountInfo: nil)\n }\n\n // If there is a delegator object in the account, put it in the staking collection\n if signer.storage.borrow<&FlowIDTableStaking.NodeDelegator>(from: FlowIDTableStaking.DelegatorStoragePath) != nil {\n let delegator <- signer.storage.load<@FlowIDTableStaking.NodeDelegator>(from: FlowIDTableStaking.DelegatorStoragePath)!\n collectionRef.addDelegatorObject(<-delegator)\n }\n }\n}\n", + "arguments": [], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", "gasLimit": 42, "proposalKey": { @@ -6374,29 +2980,25 @@ ], "payloadSigs": [] }, - "encodedTransactionPayloadHex": "f90466b90356696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f205265717565737420746f20776974686472617720726577617264656420746f6b656e7320666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f2054686520746f6b656e7320617265206175746f6d61746963616c6c79206465706f736974656420746f2074686520756e6c6f636b6564206163636f756e74207661756c742066697273742c0a2f2f2f20416e64207468656e20616e79206c6f636b656420746f6b656e7320617265206465706f736974656420696e746f20746865206c6f636b6564206163636f756e74207661756c740a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e77697468647261775265776172646564546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8cbb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db83a7b2274797065223a224f7074696f6e616c222c2276616c7565223a7b2274797065223a2255496e743332222c2276616c7565223a223432227d7db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f9046af90466b90356696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f205265717565737420746f20776974686472617720726577617264656420746f6b656e7320666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f2054686520746f6b656e7320617265206175746f6d61746963616c6c79206465706f736974656420746f2074686520756e6c6f636b6564206163636f756e74207661756c742066697273742c0a2f2f2f20416e64207468656e20616e79206c6f636b656420746f6b656e7320617265206465706f736974656420696e746f20746865206c6f636b6564206163636f756e74207661756c740a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e77697468647261775265776172646564546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8cbb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db83a7b2274797065223a224f7074696f6e616c222c2276616c7565223a7b2274797065223a2255496e743332222c2276616c7565223a223432227d7db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "023af182f568b37a8067d3fb524afcfe96991c85a928bf7651e730be0e15fdb72d27a2b60d538b8bb883b602ea83d1697986a29dd69a44a9209dc75affb9e63299576974686472617720526577617264656420546f6b656e730003014e6f64652049440000537472696e6700030244656c656761746f72204944000155496e743332000301416d6f756e7400025546697836340003", - "hash": "27a2b60d538b8bb883b602ea83d1697986a29dd69a44a9209dc75affb9e63299" + "encodedTransactionPayloadHex": "f90df1b90dad696d706f72742046756e6769626c65546f6b656e2066726f6d203078663233336463656538386665306162650a696d706f727420466c6f77546f6b656e2066726f6d203078313635343635333339393034306136310a696d706f727420466c6f7749445461626c655374616b696e672066726f6d203078383632346235326639646463643034610a696d706f7274204c6f636b6564546f6b656e732066726f6d203078386430653837623635313539616536330a696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f2054686973207472616e73616374696f6e207365747320757020616e206163636f756e7420746f207573652061207374616b696e6720636f6c6c656374696f6e0a2f2f2f2049742077696c6c20776f726b207265676172646c657373206f66207768657468657220746865792068617665206120726567756c6172206163636f756e742c20612074776f2d6163636f756e74206c6f636b656420746f6b656e732073657475702c0a2f2f2f206f72207374616b696e67206f626a656374732073746f72656420696e2074686520756e6c6f636b6564206163636f756e740a0a7472616e73616374696f6e207b0a2020202070726570617265287369676e65723a206175746828426f72726f7756616c75652c2053746f726167652c204361706162696c69746965732920264163636f756e7429207b0a0a20202020202020202f2f2049662074686572652069736e277420616c72656164792061207374616b696e6720636f6c6c656374696f6e0a20202020202020206966207369676e65722e73746f726167652e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f726167655061746829203d3d206e696c207b0a0a2020202020202020202020202f2f204372656174652070726976617465206361706162696c697469657320666f722074686520746f6b656e20686f6c64657220616e6420756e6c6f636b6564207661756c740a2020202020202020202020206c6574206c6f636b6564486f6c646572203d207369676e65722e6361706162696c69746965732e73746f726167652e69737375653c617574682846756e6769626c65546f6b656e2e57697468647261772c204c6f636b6564546f6b656e732e546f6b656e4f7065726174696f6e732920264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e284c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f726167655061746829210a2020202020202020202020206c657420666c6f77546f6b656e203d207369676e65722e6361706162696c69746965732e73746f726167652e69737375653c617574682846756e6769626c65546f6b656e2e5769746864726177292026466c6f77546f6b656e2e5661756c743e282f73746f726167652f666c6f77546f6b656e5661756c7429210a0a2020202020202020202020202f2f204372656174652061206e6577205374616b696e6720436f6c6c656374696f6e20616e642070757420697420696e2073746f726167650a2020202020202020202020206966206c6f636b6564486f6c6465722e636865636b2829207b0a202020202020202020202020202020207369676e65722e73746f726167652e73617665280a20202020202020202020202020202020202020203c2d20466c6f775374616b696e67436f6c6c656374696f6e2e6372656174655374616b696e67436f6c6c656374696f6e280a202020202020202020202020202020202020202020202020756e6c6f636b65645661756c743a20666c6f77546f6b656e2c0a202020202020202020202020202020202020202020202020746f6b656e486f6c6465723a206c6f636b6564486f6c6465720a2020202020202020202020202020202020202020292c0a2020202020202020202020202020202020202020746f3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f72616765506174680a20202020202020202020202020202020290a2020202020202020202020207d20656c7365207b0a202020202020202020202020202020207369676e65722e73746f726167652e73617665280a20202020202020202020202020202020202020203c2d20466c6f775374616b696e67436f6c6c656374696f6e2e6372656174655374616b696e67436f6c6c656374696f6e280a202020202020202020202020202020202020202020202020756e6c6f636b65645661756c743a20666c6f77546f6b656e2c0a202020202020202020202020202020202020202020202020746f6b656e486f6c6465723a206e696c0a2020202020202020202020202020202020202020292c0a2020202020202020202020202020202020202020746f3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f72616765506174680a20202020202020202020202020202020290a2020202020202020202020207d0a0a2020202020202020202020202f2f205075626c6973682061206361706162696c69747920746f207468652063726561746564207374616b696e6720636f6c6c656374696f6e2e0a2020202020202020202020206c6574207374616b696e67436f6c6c656374696f6e436170203d207369676e65722e6361706162696c69746965732e73746f726167652e69737375653c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e280a20202020202020202020202020202020466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f72616765506174680a202020202020202020202020290a0a2020202020202020202020207369676e65722e6361706162696c69746965732e7075626c697368280a202020202020202020202020202020207374616b696e67436f6c6c656374696f6e4361702c0a2020202020202020202020202020202061743a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e5075626c6963506174680a202020202020202020202020290a20202020202020207d0a0a20202020202020202f2f20626f72726f772061207265666572656e636520746f20746865207374616b696e6720636f6c6c656374696f6e0a20202020202020206c657420636f6c6c656374696f6e526566203d207369676e65722e73746f726167652e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207374616b696e6720636f6c6c656374696f6e207265666572656e636522290a0a20202020202020202f2f2049662074686572652069732061206e6f6465207374616b6572206f626a65637420696e20746865206163636f756e742c2070757420697420696e20746865207374616b696e6720636f6c6c656374696f6e0a20202020202020206966207369676e65722e73746f726167652e626f72726f773c26466c6f7749445461626c655374616b696e672e4e6f64655374616b65723e2866726f6d3a20466c6f7749445461626c655374616b696e672e4e6f64655374616b657253746f72616765506174682920213d206e696c207b0a2020202020202020202020206c6574206e6f6465203c2d207369676e65722e73746f726167652e6c6f61643c40466c6f7749445461626c655374616b696e672e4e6f64655374616b65723e2866726f6d3a20466c6f7749445461626c655374616b696e672e4e6f64655374616b657253746f726167655061746829210a202020202020202020202020636f6c6c656374696f6e5265662e6164644e6f64654f626a656374283c2d6e6f64652c206d616368696e654163636f756e74496e666f3a206e696c290a20202020202020207d0a0a20202020202020202f2f20496620746865726520697320612064656c656761746f72206f626a65637420696e20746865206163636f756e742c2070757420697420696e20746865207374616b696e6720636f6c6c656374696f6e0a20202020202020206966207369676e65722e73746f726167652e626f72726f773c26466c6f7749445461626c655374616b696e672e4e6f646544656c656761746f723e2866726f6d3a20466c6f7749445461626c655374616b696e672e44656c656761746f7253746f72616765506174682920213d206e696c207b0a2020202020202020202020206c65742064656c656761746f72203c2d207369676e65722e73746f726167652e6c6f61643c40466c6f7749445461626c655374616b696e672e4e6f646544656c656761746f723e2866726f6d3a20466c6f7749445461626c655374616b696e672e44656c656761746f7253746f726167655061746829210a202020202020202020202020636f6c6c656374696f6e5265662e61646444656c656761746f724f626a656374283c2d64656c656761746f72290a20202020202020207d0a202020207d0a7d0ac0a0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", + "encodedTransactionEnvelopeHex": "f90df5f90df1b90dad696d706f72742046756e6769626c65546f6b656e2066726f6d203078663233336463656538386665306162650a696d706f727420466c6f77546f6b656e2066726f6d203078313635343635333339393034306136310a696d706f727420466c6f7749445461626c655374616b696e672066726f6d203078383632346235326639646463643034610a696d706f7274204c6f636b6564546f6b656e732066726f6d203078386430653837623635313539616536330a696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f2054686973207472616e73616374696f6e207365747320757020616e206163636f756e7420746f207573652061207374616b696e6720636f6c6c656374696f6e0a2f2f2f2049742077696c6c20776f726b207265676172646c657373206f66207768657468657220746865792068617665206120726567756c6172206163636f756e742c20612074776f2d6163636f756e74206c6f636b656420746f6b656e732073657475702c0a2f2f2f206f72207374616b696e67206f626a656374732073746f72656420696e2074686520756e6c6f636b6564206163636f756e740a0a7472616e73616374696f6e207b0a2020202070726570617265287369676e65723a206175746828426f72726f7756616c75652c2053746f726167652c204361706162696c69746965732920264163636f756e7429207b0a0a20202020202020202f2f2049662074686572652069736e277420616c72656164792061207374616b696e6720636f6c6c656374696f6e0a20202020202020206966207369676e65722e73746f726167652e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f726167655061746829203d3d206e696c207b0a0a2020202020202020202020202f2f204372656174652070726976617465206361706162696c697469657320666f722074686520746f6b656e20686f6c64657220616e6420756e6c6f636b6564207661756c740a2020202020202020202020206c6574206c6f636b6564486f6c646572203d207369676e65722e6361706162696c69746965732e73746f726167652e69737375653c617574682846756e6769626c65546f6b656e2e57697468647261772c204c6f636b6564546f6b656e732e546f6b656e4f7065726174696f6e732920264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e284c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f726167655061746829210a2020202020202020202020206c657420666c6f77546f6b656e203d207369676e65722e6361706162696c69746965732e73746f726167652e69737375653c617574682846756e6769626c65546f6b656e2e5769746864726177292026466c6f77546f6b656e2e5661756c743e282f73746f726167652f666c6f77546f6b656e5661756c7429210a0a2020202020202020202020202f2f204372656174652061206e6577205374616b696e6720436f6c6c656374696f6e20616e642070757420697420696e2073746f726167650a2020202020202020202020206966206c6f636b6564486f6c6465722e636865636b2829207b0a202020202020202020202020202020207369676e65722e73746f726167652e73617665280a20202020202020202020202020202020202020203c2d20466c6f775374616b696e67436f6c6c656374696f6e2e6372656174655374616b696e67436f6c6c656374696f6e280a202020202020202020202020202020202020202020202020756e6c6f636b65645661756c743a20666c6f77546f6b656e2c0a202020202020202020202020202020202020202020202020746f6b656e486f6c6465723a206c6f636b6564486f6c6465720a2020202020202020202020202020202020202020292c0a2020202020202020202020202020202020202020746f3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f72616765506174680a20202020202020202020202020202020290a2020202020202020202020207d20656c7365207b0a202020202020202020202020202020207369676e65722e73746f726167652e73617665280a20202020202020202020202020202020202020203c2d20466c6f775374616b696e67436f6c6c656374696f6e2e6372656174655374616b696e67436f6c6c656374696f6e280a202020202020202020202020202020202020202020202020756e6c6f636b65645661756c743a20666c6f77546f6b656e2c0a202020202020202020202020202020202020202020202020746f6b656e486f6c6465723a206e696c0a2020202020202020202020202020202020202020292c0a2020202020202020202020202020202020202020746f3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f72616765506174680a20202020202020202020202020202020290a2020202020202020202020207d0a0a2020202020202020202020202f2f205075626c6973682061206361706162696c69747920746f207468652063726561746564207374616b696e6720636f6c6c656374696f6e2e0a2020202020202020202020206c6574207374616b696e67436f6c6c656374696f6e436170203d207369676e65722e6361706162696c69746965732e73746f726167652e69737375653c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e280a20202020202020202020202020202020466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f72616765506174680a202020202020202020202020290a0a2020202020202020202020207369676e65722e6361706162696c69746965732e7075626c697368280a202020202020202020202020202020207374616b696e67436f6c6c656374696f6e4361702c0a2020202020202020202020202020202061743a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e5075626c6963506174680a202020202020202020202020290a20202020202020207d0a0a20202020202020202f2f20626f72726f772061207265666572656e636520746f20746865207374616b696e6720636f6c6c656374696f6e0a20202020202020206c657420636f6c6c656374696f6e526566203d207369676e65722e73746f726167652e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207374616b696e6720636f6c6c656374696f6e207265666572656e636522290a0a20202020202020202f2f2049662074686572652069732061206e6f6465207374616b6572206f626a65637420696e20746865206163636f756e742c2070757420697420696e20746865207374616b696e6720636f6c6c656374696f6e0a20202020202020206966207369676e65722e73746f726167652e626f72726f773c26466c6f7749445461626c655374616b696e672e4e6f64655374616b65723e2866726f6d3a20466c6f7749445461626c655374616b696e672e4e6f64655374616b657253746f72616765506174682920213d206e696c207b0a2020202020202020202020206c6574206e6f6465203c2d207369676e65722e73746f726167652e6c6f61643c40466c6f7749445461626c655374616b696e672e4e6f64655374616b65723e2866726f6d3a20466c6f7749445461626c655374616b696e672e4e6f64655374616b657253746f726167655061746829210a202020202020202020202020636f6c6c656374696f6e5265662e6164644e6f64654f626a656374283c2d6e6f64652c206d616368696e654163636f756e74496e666f3a206e696c290a20202020202020207d0a0a20202020202020202f2f20496620746865726520697320612064656c656761746f72206f626a65637420696e20746865206163636f756e742c2070757420697420696e20746865207374616b696e6720636f6c6c656374696f6e0a20202020202020206966207369676e65722e73746f726167652e626f72726f773c26466c6f7749445461626c655374616b696e672e4e6f646544656c656761746f723e2866726f6d3a20466c6f7749445461626c655374616b696e672e44656c656761746f7253746f72616765506174682920213d206e696c207b0a2020202020202020202020206c65742064656c656761746f72203c2d207369676e65722e73746f726167652e6c6f61643c40466c6f7749445461626c655374616b696e672e4e6f646544656c656761746f723e2866726f6d3a20466c6f7749445461626c655374616b696e672e44656c656761746f7253746f726167655061746829210a202020202020202020202020636f6c6c656374696f6e5265662e61646444656c656761746f724f626a656374283c2d64656c656761746f72290a20202020202020207d0a202020207d0a7d0ac0a0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", + "metadata": "02861784e7ac135a9cfec90decdff2e53971a4d63135db77bcef3b273b710b181469f30decc15bd78107c631e200963398e8ddbc58bb61e577d223725f348fc2d95365747570205374616b696e6720436f6c6c656374696f6e0000", + "hash": "69f30decc15bd78107c631e200963398e8ddbc58bb61e577d223725f348fc2d9" }, { - "title": "SCO.10 - Withdraw Rewarded Tokens - 2", + "title": "SCO.02 - Register Delegator", "valid": true, "chainID": "Mainnet", "payloadMessage": { - "script": "import FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// Request to withdraw rewarded tokens for the specified node or delegator in the staking collection\n/// The tokens are automatically deposited to the unlocked account vault first,\n/// And then any locked tokens are deposited into the locked account vault\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n }\n\n execute {\n self.stakingCollectionRef.withdrawRewardedTokens(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", + "script": "import FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// Registers a delegator in the staking collection resource\n/// for the specified nodeID and the amount of tokens to commit\n\ntransaction(id: String, amount: UFix64) {\n \n let stakingCollectionRef: auth(FlowStakingCollection.CollectionOwner) &FlowStakingCollection.StakingCollection\n\n prepare(account: auth(BorrowValue) &Account) {\n self.stakingCollectionRef = account.storage.borrow(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow a reference to a StakingCollection in the primary user's account\")\n }\n\n execute {\n self.stakingCollectionRef.registerDelegator(nodeID: id, amount: amount) \n }\n}\n", "arguments": [ { "type": "String", "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" }, { - "type": "Optional", - "value": null - }, - { - "type": "UFix64", - "value": "92233720368.54775808" + "value": "92233720368.54775808", + "type": "UFix64" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -6412,19 +3014,15 @@ ] }, "envelopeMessage": { - "script": "import FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// Request to withdraw rewarded tokens for the specified node or delegator in the staking collection\n/// The tokens are automatically deposited to the unlocked account vault first,\n/// And then any locked tokens are deposited into the locked account vault\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n }\n\n execute {\n self.stakingCollectionRef.withdrawRewardedTokens(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", + "script": "import FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// Registers a delegator in the staking collection resource\n/// for the specified nodeID and the amount of tokens to commit\n\ntransaction(id: String, amount: UFix64) {\n \n let stakingCollectionRef: auth(FlowStakingCollection.CollectionOwner) &FlowStakingCollection.StakingCollection\n\n prepare(account: auth(BorrowValue) &Account) {\n self.stakingCollectionRef = account.storage.borrow(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow a reference to a StakingCollection in the primary user's account\")\n }\n\n execute {\n self.stakingCollectionRef.registerDelegator(nodeID: id, amount: amount) \n }\n}\n", "arguments": [ { "type": "String", "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" }, { - "type": "Optional", - "value": null - }, - { - "type": "UFix64", - "value": "92233720368.54775808" + "value": "92233720368.54775808", + "type": "UFix64" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -6440,29 +3038,53 @@ ], "payloadSigs": [] }, - "encodedTransactionPayloadHex": "f9044bb90356696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f205265717565737420746f20776974686472617720726577617264656420746f6b656e7320666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f2054686520746f6b656e7320617265206175746f6d61746963616c6c79206465706f736974656420746f2074686520756e6c6f636b6564206163636f756e74207661756c742066697273742c0a2f2f2f20416e64207468656e20616e79206c6f636b656420746f6b656e7320617265206465706f736974656420696e746f20746865206c6f636b6564206163636f756e74207661756c740a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e77697468647261775265776172646564546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8b0b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227da07b2274797065223a224f7074696f6e616c222c2276616c7565223a6e756c6c7db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f9044ff9044bb90356696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f205265717565737420746f20776974686472617720726577617264656420746f6b656e7320666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f2054686520746f6b656e7320617265206175746f6d61746963616c6c79206465706f736974656420746f2074686520756e6c6f636b6564206163636f756e74207661756c742066697273742c0a2f2f2f20416e64207468656e20616e79206c6f636b656420746f6b656e7320617265206465706f736974656420696e746f20746865206c6f636b6564206163636f756e74207661756c740a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e77697468647261775265776172646564546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8b0b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227da07b2274797065223a224f7074696f6e616c222c2276616c7565223a6e756c6c7db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "023af182f568b37a8067d3fb524afcfe96991c85a928bf7651e730be0e15fdb72d27a2b60d538b8bb883b602ea83d1697986a29dd69a44a9209dc75affb9e63299576974686472617720526577617264656420546f6b656e730003014e6f64652049440000537472696e6700030244656c656761746f72204944000155496e743332000301416d6f756e7400025546697836340003", - "hash": "27a2b60d538b8bb883b602ea83d1697986a29dd69a44a9209dc75affb9e63299" + "encodedTransactionPayloadHex": "f90406b90332696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f2052656769737465727320612064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e207265736f757263650a2f2f2f20666f722074686520737065636966696564206e6f6465494420616e642074686520616d6f756e74206f6620746f6b656e7320746f20636f6d6d69740a0a7472616e73616374696f6e2869643a20537472696e672c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a206175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a206175746828426f72726f7756616c75652920264163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e73746f726167652e626f72726f773c6175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f2061205374616b696e67436f6c6c656374696f6e20696e20746865207072696d61727920757365722773206163636f756e7422290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e726567697374657244656c656761746f72286e6f646549443a2069642c20616d6f756e743a20616d6f756e74292020202020200a202020207d0a7d0af88fb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db07b2276616c7565223a2239323233333732303336382e3534373735383038222c2274797065223a22554669783634227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", + "encodedTransactionEnvelopeHex": "f9040af90406b90332696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f2052656769737465727320612064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e207265736f757263650a2f2f2f20666f722074686520737065636966696564206e6f6465494420616e642074686520616d6f756e74206f6620746f6b656e7320746f20636f6d6d69740a0a7472616e73616374696f6e2869643a20537472696e672c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a206175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a206175746828426f72726f7756616c75652920264163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e73746f726167652e626f72726f773c6175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f2061205374616b696e67436f6c6c656374696f6e20696e20746865207072696d61727920757365722773206163636f756e7422290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e726567697374657244656c656761746f72286e6f646549443a2069642c20616d6f756e743a20616d6f756e74292020202020200a202020207d0a7d0af88fb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db07b2276616c7565223a2239323233333732303336382e3534373735383038222c2274797065223a22554669783634227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", + "metadata": "02e093df9c425be9cdbee44bdbbd721f6aff523e41802a50cf0ff353873e9f94830a41e53ad3c9c1c16c8732dd8331b8ca66063617d433b01d4d09c4730044874452656769737465722044656c656761746f720002014e6f64652049440000537472696e67000301416d6f756e7400015546697836340003", + "hash": "0a41e53ad3c9c1c16c8732dd8331b8ca66063617d433b01d4d09c47300448744" }, { - "title": "SCO.11 - Withdraw Unstaked Tokens - 1", + "title": "SCO.03 - Register Node", "valid": true, "chainID": "Mainnet", "payloadMessage": { - "script": "import FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// Request to withdraw unstaked tokens for the specified node or delegator in the staking collection\n/// The tokens are automatically deposited to the unlocked account vault first,\n/// And then any locked tokens are deposited into the locked account vault if it is there\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n }\n\n execute {\n self.stakingCollectionRef.withdrawUnstakedTokens(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", + "script": "import Crypto\nimport FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// Registers a delegator in the staking collection resource\n/// for the specified node information and the amount of tokens to commit\n\ntransaction(id: String,\n role: UInt8,\n networkingAddress: String,\n networkingKey: String,\n stakingKey: String,\n amount: UFix64,\n machineAccountKey: String, \n machineAccountKeySignatureAlgorithm: UInt8, \n machineAccountKeyHashAlgorithm: UInt8) {\n\n let stakingCollectionRef: auth(FlowStakingCollection.CollectionOwner) &FlowStakingCollection.StakingCollection\n\n prepare(account: auth(BorrowValue) &Account) {\n self.stakingCollectionRef = account.storage.borrow(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow a reference to a StakingCollection in the primary user's account\")\n\n if let machineAccount = self.stakingCollectionRef.registerNode(\n id: id,\n role: role,\n networkingAddress: networkingAddress,\n networkingKey: networkingKey,\n stakingKey: stakingKey,\n amount: amount,\n payer: account\n ) {\n let sigAlgo = SignatureAlgorithm(rawValue: machineAccountKeySignatureAlgorithm)\n ?? panic(\"Could not get a signature algorithm from the raw enum value provided\")\n\n let hashAlgo = HashAlgorithm(rawValue: machineAccountKeyHashAlgorithm)\n ?? panic(\"Could not get a hash algorithm from the raw enum value provided\")\n \n let publicKey = PublicKey(\n\t\t\t publicKey: machineAccountKey.decodeHex(),\n\t\t\t signatureAlgorithm: sigAlgo\n\t\t )\n machineAccount.keys.add(publicKey: publicKey, hashAlgorithm: hashAlgo, weight: 1000.0)\n }\n }\n}\n", "arguments": [ { "type": "String", "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" }, { - "type": "Optional", - "value": null + "value": "1", + "type": "UInt8" }, { - "type": "UFix64", - "value": "92233720368.54775808" + "value": "flow-node.test:3569", + "type": "String" + }, + { + "value": "1348307bc77c688e80049de9d081aa09755da33e6997605fa059db2144fc85e560cbe6f7da8d74b453f5916618cb8fd392c2db856f3e78221dc68db1b1d914e4", + "type": "String" + }, + { + "value": "9e9ae0d645fd5fd9050792e0b0daa82cc1686d9133afa0f81a784b375c42ae48567d1545e7a9e1965f2c1a32f73cf8575ebb7a967f6e4d104d2df78eb8be409135d12da0499b8a00771f642c1b9c49397f22b440439f036c3bdee82f5309dab3", + "type": "String" + }, + { + "value": "92233720368.54775808", + "type": "UFix64" + }, + { + "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164", + "type": "String" + }, + { + "value": "1", + "type": "UInt8" + }, + { + "value": "1", + "type": "UInt8" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -6478,19 +3100,43 @@ ] }, "envelopeMessage": { - "script": "import FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// Request to withdraw unstaked tokens for the specified node or delegator in the staking collection\n/// The tokens are automatically deposited to the unlocked account vault first,\n/// And then any locked tokens are deposited into the locked account vault if it is there\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n }\n\n execute {\n self.stakingCollectionRef.withdrawUnstakedTokens(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", + "script": "import Crypto\nimport FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// Registers a delegator in the staking collection resource\n/// for the specified node information and the amount of tokens to commit\n\ntransaction(id: String,\n role: UInt8,\n networkingAddress: String,\n networkingKey: String,\n stakingKey: String,\n amount: UFix64,\n machineAccountKey: String, \n machineAccountKeySignatureAlgorithm: UInt8, \n machineAccountKeyHashAlgorithm: UInt8) {\n\n let stakingCollectionRef: auth(FlowStakingCollection.CollectionOwner) &FlowStakingCollection.StakingCollection\n\n prepare(account: auth(BorrowValue) &Account) {\n self.stakingCollectionRef = account.storage.borrow(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow a reference to a StakingCollection in the primary user's account\")\n\n if let machineAccount = self.stakingCollectionRef.registerNode(\n id: id,\n role: role,\n networkingAddress: networkingAddress,\n networkingKey: networkingKey,\n stakingKey: stakingKey,\n amount: amount,\n payer: account\n ) {\n let sigAlgo = SignatureAlgorithm(rawValue: machineAccountKeySignatureAlgorithm)\n ?? panic(\"Could not get a signature algorithm from the raw enum value provided\")\n\n let hashAlgo = HashAlgorithm(rawValue: machineAccountKeyHashAlgorithm)\n ?? panic(\"Could not get a hash algorithm from the raw enum value provided\")\n \n let publicKey = PublicKey(\n\t\t\t publicKey: machineAccountKey.decodeHex(),\n\t\t\t signatureAlgorithm: sigAlgo\n\t\t )\n machineAccount.keys.add(publicKey: publicKey, hashAlgorithm: hashAlgo, weight: 1000.0)\n }\n }\n}\n", "arguments": [ { "type": "String", "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" }, { - "type": "Optional", - "value": null + "value": "1", + "type": "UInt8" }, { - "type": "UFix64", - "value": "92233720368.54775808" + "value": "flow-node.test:3569", + "type": "String" + }, + { + "value": "1348307bc77c688e80049de9d081aa09755da33e6997605fa059db2144fc85e560cbe6f7da8d74b453f5916618cb8fd392c2db856f3e78221dc68db1b1d914e4", + "type": "String" + }, + { + "value": "9e9ae0d645fd5fd9050792e0b0daa82cc1686d9133afa0f81a784b375c42ae48567d1545e7a9e1965f2c1a32f73cf8575ebb7a967f6e4d104d2df78eb8be409135d12da0499b8a00771f642c1b9c49397f22b440439f036c3bdee82f5309dab3", + "type": "String" + }, + { + "value": "92233720368.54775808", + "type": "UFix64" + }, + { + "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164", + "type": "String" + }, + { + "value": "1", + "type": "UInt8" + }, + { + "value": "1", + "type": "UInt8" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -6506,32 +3152,33 @@ ], "payloadSigs": [] }, - "encodedTransactionPayloadHex": "f9045ab90365696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f205265717565737420746f20776974686472617720756e7374616b656420746f6b656e7320666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f2054686520746f6b656e7320617265206175746f6d61746963616c6c79206465706f736974656420746f2074686520756e6c6f636b6564206163636f756e74207661756c742066697273742c0a2f2f2f20416e64207468656e20616e79206c6f636b656420746f6b656e7320617265206465706f736974656420696e746f20746865206c6f636b6564206163636f756e74207661756c742069662069742069732074686572650a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e7769746864726177556e7374616b6564546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8b0b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227da07b2274797065223a224f7074696f6e616c222c2276616c7565223a6e756c6c7db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f9045ef9045ab90365696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f205265717565737420746f20776974686472617720756e7374616b656420746f6b656e7320666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f2054686520746f6b656e7320617265206175746f6d61746963616c6c79206465706f736974656420746f2074686520756e6c6f636b6564206163636f756e74207661756c742066697273742c0a2f2f2f20416e64207468656e20616e79206c6f636b656420746f6b656e7320617265206465706f736974656420696e746f20746865206c6f636b6564206163636f756e74207661756c742069662069742069732074686572650a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e7769746864726177556e7374616b6564546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8b0b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227da07b2274797065223a224f7074696f6e616c222c2276616c7565223a6e756c6c7db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "0268879197d961bb104a56e1e7d35660436fe4c52ed78f79d97fa50aa9e96fabf06d50ab1ef3d74203081c38306da74f5ad8fdd489e49fba732f8ba194d0c781c8576974686472617720556e7374616b656420546f6b656e730003014e6f64652049440000537472696e6700030244656c656761746f72204944000155496e743332000301416d6f756e7400025546697836340003", - "hash": "6d50ab1ef3d74203081c38306da74f5ad8fdd489e49fba732f8ba194d0c781c8" + "encodedTransactionPayloadHex": "f90b24b907a0696d706f72742043727970746f0a696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f2052656769737465727320612064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e207265736f757263650a2f2f2f20666f722074686520737065636966696564206e6f646520696e666f726d6174696f6e20616e642074686520616d6f756e74206f6620746f6b656e7320746f20636f6d6d69740a0a7472616e73616374696f6e2869643a20537472696e672c0a202020202020202020202020726f6c653a2055496e74382c0a2020202020202020202020206e6574776f726b696e67416464726573733a20537472696e672c0a2020202020202020202020206e6574776f726b696e674b65793a20537472696e672c0a2020202020202020202020207374616b696e674b65793a20537472696e672c0a202020202020202020202020616d6f756e743a205546697836342c0a2020202020202020202020206d616368696e654163636f756e744b65793a20537472696e672c200a2020202020202020202020206d616368696e654163636f756e744b65795369676e6174757265416c676f726974686d3a2055496e74382c200a2020202020202020202020206d616368696e654163636f756e744b657948617368416c676f726974686d3a2055496e743829207b0a0a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a206175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a206175746828426f72726f7756616c75652920264163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e73746f726167652e626f72726f773c6175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f2061205374616b696e67436f6c6c656374696f6e20696e20746865207072696d61727920757365722773206163636f756e7422290a0a20202020202020206966206c6574206d616368696e654163636f756e74203d2073656c662e7374616b696e67436f6c6c656374696f6e5265662e72656769737465724e6f6465280a20202020202020202020202069643a2069642c0a202020202020202020202020726f6c653a20726f6c652c0a2020202020202020202020206e6574776f726b696e67416464726573733a206e6574776f726b696e67416464726573732c0a2020202020202020202020206e6574776f726b696e674b65793a206e6574776f726b696e674b65792c0a2020202020202020202020207374616b696e674b65793a207374616b696e674b65792c0a202020202020202020202020616d6f756e743a20616d6f756e742c0a20202020202020202020202070617965723a206163636f756e740a202020202020202029207b0a2020202020202020202020206c657420736967416c676f203d205369676e6174757265416c676f726974686d2872617756616c75653a206d616368696e654163636f756e744b65795369676e6174757265416c676f726974686d290a202020202020202020202020202020203f3f2070616e69632822436f756c64206e6f74206765742061207369676e617475726520616c676f726974686d2066726f6d207468652072617720656e756d2076616c75652070726f766964656422290a0a2020202020202020202020206c65742068617368416c676f203d2048617368416c676f726974686d2872617756616c75653a206d616368696e654163636f756e744b657948617368416c676f726974686d290a202020202020202020202020202020203f3f2070616e69632822436f756c64206e6f74206765742061206861736820616c676f726974686d2066726f6d207468652072617720656e756d2076616c75652070726f766964656422290a2020202020202020202020200a2020202020202020202020206c6574207075626c69634b6579203d205075626c69634b6579280a090909202020207075626c69634b65793a206d616368696e654163636f756e744b65792e6465636f646548657828292c0a090909202020207369676e6174757265416c676f726974686d3a20736967416c676f0a090920202020290a2020202020202020202020206d616368696e654163636f756e742e6b6579732e616464287075626c69634b65793a207075626c69634b65792c2068617368416c676f726974686d3a2068617368416c676f2c207765696768743a20313030302e30290a20202020202020207d0a202020207d0a7d0af9033eb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227d9c7b2276616c7565223a2231222c2274797065223a2255496e7438227daf7b2276616c7565223a22666c6f772d6e6f64652e746573743a33353639222c2274797065223a22537472696e67227db89c7b2276616c7565223a223133343833303762633737633638386538303034396465396430383161613039373535646133336536393937363035666130353964623231343466633835653536306362653666376461386437346234353366353931363631386362386664333932633264623835366633653738323231646336386462316231643931346534222c2274797065223a22537472696e67227db8dc7b2276616c7565223a22396539616530643634356664356664393035303739326530623064616138326363313638366439313333616661306638316137383462333735633432616534383536376431353435653761396531393635663263316133326637336366383537356562623761393637663665346431303464326466373865623862653430393133356431326461303439396238613030373731663634326331623963343933393766323262343430343339663033366333626465653832663533303964616233222c2274797065223a22537472696e67227db07b2276616c7565223a2239323233333732303336382e3534373735383038222c2274797065223a22554669783634227db8aa7b2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634222c2274797065223a22537472696e67227d9c7b2276616c7565223a2231222c2274797065223a2255496e7438227d9c7b2276616c7565223a2231222c2274797065223a2255496e7438227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", + "encodedTransactionEnvelopeHex": "f90b28f90b24b907a0696d706f72742043727970746f0a696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f2052656769737465727320612064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e207265736f757263650a2f2f2f20666f722074686520737065636966696564206e6f646520696e666f726d6174696f6e20616e642074686520616d6f756e74206f6620746f6b656e7320746f20636f6d6d69740a0a7472616e73616374696f6e2869643a20537472696e672c0a202020202020202020202020726f6c653a2055496e74382c0a2020202020202020202020206e6574776f726b696e67416464726573733a20537472696e672c0a2020202020202020202020206e6574776f726b696e674b65793a20537472696e672c0a2020202020202020202020207374616b696e674b65793a20537472696e672c0a202020202020202020202020616d6f756e743a205546697836342c0a2020202020202020202020206d616368696e654163636f756e744b65793a20537472696e672c200a2020202020202020202020206d616368696e654163636f756e744b65795369676e6174757265416c676f726974686d3a2055496e74382c200a2020202020202020202020206d616368696e654163636f756e744b657948617368416c676f726974686d3a2055496e743829207b0a0a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a206175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a206175746828426f72726f7756616c75652920264163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e73746f726167652e626f72726f773c6175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f2061205374616b696e67436f6c6c656374696f6e20696e20746865207072696d61727920757365722773206163636f756e7422290a0a20202020202020206966206c6574206d616368696e654163636f756e74203d2073656c662e7374616b696e67436f6c6c656374696f6e5265662e72656769737465724e6f6465280a20202020202020202020202069643a2069642c0a202020202020202020202020726f6c653a20726f6c652c0a2020202020202020202020206e6574776f726b696e67416464726573733a206e6574776f726b696e67416464726573732c0a2020202020202020202020206e6574776f726b696e674b65793a206e6574776f726b696e674b65792c0a2020202020202020202020207374616b696e674b65793a207374616b696e674b65792c0a202020202020202020202020616d6f756e743a20616d6f756e742c0a20202020202020202020202070617965723a206163636f756e740a202020202020202029207b0a2020202020202020202020206c657420736967416c676f203d205369676e6174757265416c676f726974686d2872617756616c75653a206d616368696e654163636f756e744b65795369676e6174757265416c676f726974686d290a202020202020202020202020202020203f3f2070616e69632822436f756c64206e6f74206765742061207369676e617475726520616c676f726974686d2066726f6d207468652072617720656e756d2076616c75652070726f766964656422290a0a2020202020202020202020206c65742068617368416c676f203d2048617368416c676f726974686d2872617756616c75653a206d616368696e654163636f756e744b657948617368416c676f726974686d290a202020202020202020202020202020203f3f2070616e69632822436f756c64206e6f74206765742061206861736820616c676f726974686d2066726f6d207468652072617720656e756d2076616c75652070726f766964656422290a2020202020202020202020200a2020202020202020202020206c6574207075626c69634b6579203d205075626c69634b6579280a090909202020207075626c69634b65793a206d616368696e654163636f756e744b65792e6465636f646548657828292c0a090909202020207369676e6174757265416c676f726974686d3a20736967416c676f0a090920202020290a2020202020202020202020206d616368696e654163636f756e742e6b6579732e616464287075626c69634b65793a207075626c69634b65792c2068617368416c676f726974686d3a2068617368416c676f2c207765696768743a20313030302e30290a20202020202020207d0a202020207d0a7d0af9033eb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227d9c7b2276616c7565223a2231222c2274797065223a2255496e7438227daf7b2276616c7565223a22666c6f772d6e6f64652e746573743a33353639222c2274797065223a22537472696e67227db89c7b2276616c7565223a223133343833303762633737633638386538303034396465396430383161613039373535646133336536393937363035666130353964623231343466633835653536306362653666376461386437346234353366353931363631386362386664333932633264623835366633653738323231646336386462316231643931346534222c2274797065223a22537472696e67227db8dc7b2276616c7565223a22396539616530643634356664356664393035303739326530623064616138326363313638366439313333616661306638316137383462333735633432616534383536376431353435653761396531393635663263316133326637336366383537356562623761393637663665346431303464326466373865623862653430393133356431326461303439396238613030373731663634326331623963343933393766323262343430343339663033366333626465653832663533303964616233222c2274797065223a22537472696e67227db07b2276616c7565223a2239323233333732303336382e3534373735383038222c2274797065223a22554669783634227db8aa7b2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634222c2274797065223a22537472696e67227d9c7b2276616c7565223a2231222c2274797065223a2255496e7438227d9c7b2276616c7565223a2231222c2274797065223a2255496e7438227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", + "metadata": "02deb5f758f3eb3b125cd9b14a6528f18d535377709fcef41e743751eb828009213b0b2bbc3a2ad674122c182112f7008a8d3d1b60b107033c0ebe7bbe50df52675265676973746572204e6f64650009014e6f64652049440000537472696e670003014e6f646520526f6c65000155496e74380003014e6574772e20416464726573730002537472696e670003014e6574772e204b65790003537472696e670003015374616b696e67204b65790004537472696e67000301416d6f756e7400055546697836340003014d41205075624b65790006537472696e670003014d412053416c67000755496e74380003014d412048416c67000855496e74380003", + "hash": "3b0b2bbc3a2ad674122c182112f7008a8d3d1b60b107033c0ebe7bbe50df5267" }, { - "title": "SCO.11 - Withdraw Unstaked Tokens - 2", + "title": "SCO.04 - Create Machine Account", "valid": true, "chainID": "Mainnet", "payloadMessage": { - "script": "import FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// Request to withdraw unstaked tokens for the specified node or delegator in the staking collection\n/// The tokens are automatically deposited to the unlocked account vault first,\n/// And then any locked tokens are deposited into the locked account vault if it is there\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n }\n\n execute {\n self.stakingCollectionRef.withdrawUnstakedTokens(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", + "script": "import Crypto\nimport FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// Creates a machine account for a node that is already in the staking collection\n/// and adds public keys to the new account\n\ntransaction(nodeID: String, \n machineAccountKey: String, \n machineAccountKeySignatureAlgorithm: UInt8, \n machineAccountKeyHashAlgorithm: UInt8) {\n \n let stakingCollectionRef: auth(FlowStakingCollection.CollectionOwner) &FlowStakingCollection.StakingCollection\n\n prepare(account: auth(BorrowValue) &Account) {\n self.stakingCollectionRef = account.storage.borrow(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow a reference to a StakingCollection in the primary user's account\")\n\n if let machineAccount = self.stakingCollectionRef.createMachineAccountForExistingNode(nodeID: nodeID, payer: account) {\n let sigAlgo = SignatureAlgorithm(rawValue: machineAccountKeySignatureAlgorithm)\n ?? panic(\"Could not get a signature algorithm from the raw enum value provided\")\n\n let hashAlgo = HashAlgorithm(rawValue: machineAccountKeyHashAlgorithm)\n ?? panic(\"Could not get a hash algorithm from the raw enum value provided\")\n \n let publicKey = PublicKey(\n\t\t\t publicKey: machineAccountKey.decodeHex(),\n\t\t\t signatureAlgorithm: sigAlgo\n\t\t )\n machineAccount.keys.add(publicKey: publicKey, hashAlgorithm: hashAlgo, weight: 1000.0)\n } else {\n panic(\"Could not create a machine account for the node\")\n }\n }\n}\n", "arguments": [ { "type": "String", "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" }, { - "type": "Optional", - "value": { - "type": "UInt32", - "value": "42" - } + "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164", + "type": "String" }, { - "type": "UFix64", - "value": "92233720368.54775808" + "value": "1", + "type": "UInt8" + }, + { + "value": "1", + "type": "UInt8" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -6547,22 +3194,23 @@ ] }, "envelopeMessage": { - "script": "import FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// Request to withdraw unstaked tokens for the specified node or delegator in the staking collection\n/// The tokens are automatically deposited to the unlocked account vault first,\n/// And then any locked tokens are deposited into the locked account vault if it is there\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n }\n\n execute {\n self.stakingCollectionRef.withdrawUnstakedTokens(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", + "script": "import Crypto\nimport FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// Creates a machine account for a node that is already in the staking collection\n/// and adds public keys to the new account\n\ntransaction(nodeID: String, \n machineAccountKey: String, \n machineAccountKeySignatureAlgorithm: UInt8, \n machineAccountKeyHashAlgorithm: UInt8) {\n \n let stakingCollectionRef: auth(FlowStakingCollection.CollectionOwner) &FlowStakingCollection.StakingCollection\n\n prepare(account: auth(BorrowValue) &Account) {\n self.stakingCollectionRef = account.storage.borrow(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow a reference to a StakingCollection in the primary user's account\")\n\n if let machineAccount = self.stakingCollectionRef.createMachineAccountForExistingNode(nodeID: nodeID, payer: account) {\n let sigAlgo = SignatureAlgorithm(rawValue: machineAccountKeySignatureAlgorithm)\n ?? panic(\"Could not get a signature algorithm from the raw enum value provided\")\n\n let hashAlgo = HashAlgorithm(rawValue: machineAccountKeyHashAlgorithm)\n ?? panic(\"Could not get a hash algorithm from the raw enum value provided\")\n \n let publicKey = PublicKey(\n\t\t\t publicKey: machineAccountKey.decodeHex(),\n\t\t\t signatureAlgorithm: sigAlgo\n\t\t )\n machineAccount.keys.add(publicKey: publicKey, hashAlgorithm: hashAlgo, weight: 1000.0)\n } else {\n panic(\"Could not create a machine account for the node\")\n }\n }\n}\n", "arguments": [ { "type": "String", "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" }, { - "type": "Optional", - "value": { - "type": "UInt32", - "value": "42" - } + "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164", + "type": "String" }, { - "type": "UFix64", - "value": "92233720368.54775808" + "value": "1", + "type": "UInt8" + }, + { + "value": "1", + "type": "UInt8" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -6578,28 +3226,29 @@ ], "payloadSigs": [] }, - "encodedTransactionPayloadHex": "f90475b90365696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f205265717565737420746f20776974686472617720756e7374616b656420746f6b656e7320666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f2054686520746f6b656e7320617265206175746f6d61746963616c6c79206465706f736974656420746f2074686520756e6c6f636b6564206163636f756e74207661756c742066697273742c0a2f2f2f20416e64207468656e20616e79206c6f636b656420746f6b656e7320617265206465706f736974656420696e746f20746865206c6f636b6564206163636f756e74207661756c742069662069742069732074686572650a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e7769746864726177556e7374616b6564546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8cbb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db83a7b2274797065223a224f7074696f6e616c222c2276616c7565223a7b2274797065223a2255496e743332222c2276616c7565223a223432227d7db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f90479f90475b90365696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f205265717565737420746f20776974686472617720756e7374616b656420746f6b656e7320666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f2054686520746f6b656e7320617265206175746f6d61746963616c6c79206465706f736974656420746f2074686520756e6c6f636b6564206163636f756e74207661756c742066697273742c0a2f2f2f20416e64207468656e20616e79206c6f636b656420746f6b656e7320617265206465706f736974656420696e746f20746865206c6f636b6564206163636f756e74207661756c742069662069742069732074686572650a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e7769746864726177556e7374616b6564546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8cbb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db83a7b2274797065223a224f7074696f6e616c222c2276616c7565223a7b2274797065223a2255496e743332222c2276616c7565223a223432227d7db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "0268879197d961bb104a56e1e7d35660436fe4c52ed78f79d97fa50aa9e96fabf06d50ab1ef3d74203081c38306da74f5ad8fdd489e49fba732f8ba194d0c781c8576974686472617720556e7374616b656420546f6b656e730003014e6f64652049440000537472696e6700030244656c656761746f72204944000155496e743332000301416d6f756e7400025546697836340003", - "hash": "6d50ab1ef3d74203081c38306da74f5ad8fdd489e49fba732f8ba194d0c781c8" + "encodedTransactionPayloadHex": "f9082bb906a1696d706f72742043727970746f0a696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f20437265617465732061206d616368696e65206163636f756e7420666f722061206e6f6465207468617420697320616c726561647920696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f20616e642061646473207075626c6963206b65797320746f20746865206e6577206163636f756e740a0a7472616e73616374696f6e286e6f646549443a20537472696e672c200a2020202020202020202020206d616368696e654163636f756e744b65793a20537472696e672c200a2020202020202020202020206d616368696e654163636f756e744b65795369676e6174757265416c676f726974686d3a2055496e74382c200a2020202020202020202020206d616368696e654163636f756e744b657948617368416c676f726974686d3a2055496e743829207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a206175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a206175746828426f72726f7756616c75652920264163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e73746f726167652e626f72726f773c6175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f2061205374616b696e67436f6c6c656374696f6e20696e20746865207072696d61727920757365722773206163636f756e7422290a0a20202020202020206966206c6574206d616368696e654163636f756e74203d2073656c662e7374616b696e67436f6c6c656374696f6e5265662e6372656174654d616368696e654163636f756e74466f724578697374696e674e6f6465286e6f646549443a206e6f646549442c2070617965723a206163636f756e7429207b0a2020202020202020202020206c657420736967416c676f203d205369676e6174757265416c676f726974686d2872617756616c75653a206d616368696e654163636f756e744b65795369676e6174757265416c676f726974686d290a202020202020202020202020202020203f3f2070616e69632822436f756c64206e6f74206765742061207369676e617475726520616c676f726974686d2066726f6d207468652072617720656e756d2076616c75652070726f766964656422290a0a2020202020202020202020206c65742068617368416c676f203d2048617368416c676f726974686d2872617756616c75653a206d616368696e654163636f756e744b657948617368416c676f726974686d290a202020202020202020202020202020203f3f2070616e69632822436f756c64206e6f74206765742061206861736820616c676f726974686d2066726f6d207468652072617720656e756d2076616c75652070726f766964656422290a2020202020202020202020200a2020202020202020202020206c6574207075626c69634b6579203d205075626c69634b6579280a090909202020207075626c69634b65793a206d616368696e654163636f756e744b65792e6465636f646548657828292c0a090909202020207369676e6174757265416c676f726974686d3a20736967416c676f0a090920202020290a2020202020202020202020206d616368696e654163636f756e742e6b6579732e616464287075626c69634b65793a207075626c69634b65792c2068617368416c676f726974686d3a2068617368416c676f2c207765696768743a20313030302e30290a20202020202020207d20656c7365207b0a20202020202020202020202070616e69632822436f756c64206e6f74206372656174652061206d616368696e65206163636f756e7420666f7220746865206e6f646522290a20202020202020207d0a202020207d0a7d0af90144b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db8aa7b2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634222c2274797065223a22537472696e67227d9c7b2276616c7565223a2231222c2274797065223a2255496e7438227d9c7b2276616c7565223a2231222c2274797065223a2255496e7438227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", + "encodedTransactionEnvelopeHex": "f9082ff9082bb906a1696d706f72742043727970746f0a696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f20437265617465732061206d616368696e65206163636f756e7420666f722061206e6f6465207468617420697320616c726561647920696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f20616e642061646473207075626c6963206b65797320746f20746865206e6577206163636f756e740a0a7472616e73616374696f6e286e6f646549443a20537472696e672c200a2020202020202020202020206d616368696e654163636f756e744b65793a20537472696e672c200a2020202020202020202020206d616368696e654163636f756e744b65795369676e6174757265416c676f726974686d3a2055496e74382c200a2020202020202020202020206d616368696e654163636f756e744b657948617368416c676f726974686d3a2055496e743829207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a206175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a206175746828426f72726f7756616c75652920264163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e73746f726167652e626f72726f773c6175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f2061205374616b696e67436f6c6c656374696f6e20696e20746865207072696d61727920757365722773206163636f756e7422290a0a20202020202020206966206c6574206d616368696e654163636f756e74203d2073656c662e7374616b696e67436f6c6c656374696f6e5265662e6372656174654d616368696e654163636f756e74466f724578697374696e674e6f6465286e6f646549443a206e6f646549442c2070617965723a206163636f756e7429207b0a2020202020202020202020206c657420736967416c676f203d205369676e6174757265416c676f726974686d2872617756616c75653a206d616368696e654163636f756e744b65795369676e6174757265416c676f726974686d290a202020202020202020202020202020203f3f2070616e69632822436f756c64206e6f74206765742061207369676e617475726520616c676f726974686d2066726f6d207468652072617720656e756d2076616c75652070726f766964656422290a0a2020202020202020202020206c65742068617368416c676f203d2048617368416c676f726974686d2872617756616c75653a206d616368696e654163636f756e744b657948617368416c676f726974686d290a202020202020202020202020202020203f3f2070616e69632822436f756c64206e6f74206765742061206861736820616c676f726974686d2066726f6d207468652072617720656e756d2076616c75652070726f766964656422290a2020202020202020202020200a2020202020202020202020206c6574207075626c69634b6579203d205075626c69634b6579280a090909202020207075626c69634b65793a206d616368696e654163636f756e744b65792e6465636f646548657828292c0a090909202020207369676e6174757265416c676f726974686d3a20736967416c676f0a090920202020290a2020202020202020202020206d616368696e654163636f756e742e6b6579732e616464287075626c69634b65793a207075626c69634b65792c2068617368416c676f726974686d3a2068617368416c676f2c207765696768743a20313030302e30290a20202020202020207d20656c7365207b0a20202020202020202020202070616e69632822436f756c64206e6f74206372656174652061206d616368696e65206163636f756e7420666f7220746865206e6f646522290a20202020202020207d0a202020207d0a7d0af90144b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db8aa7b2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634222c2274797065223a22537472696e67227d9c7b2276616c7565223a2231222c2274797065223a2255496e7438227d9c7b2276616c7565223a2231222c2274797065223a2255496e7438227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", + "metadata": "024c1ad61500bcd0d32d7aa7eb84ca9b7417219ed6d524e05de8c55fb7d50940e4f0a6cedb6703cd4ce4cc3b735e5edb5a7e5b17a87a725343d745e5d53b7c0a01437265617465204d616368696e65204163636f756e740004014e6f64652049440000537472696e670003014d41205075624b65790001537472696e670003014d412053416c67000255496e74380003014d412048416c67000355496e74380003", + "hash": "f0a6cedb6703cd4ce4cc3b735e5edb5a7e5b17a87a725343d745e5d53b7c0a01" }, { - "title": "SCO.12 - Close Stake - 1", + "title": "SCO.05 - Request Unstaking - 1", "valid": true, "chainID": "Mainnet", "payloadMessage": { - "script": "import FlowStakingCollection from 0x8d0e87b65159ae63\n\n// Closes out a staking object in the staking collection\n// This does not remove the record from the identity table,\n// but it does mean that the account that closes it cannot ever access it again\n\ntransaction(nodeID: String, delegatorID: UInt32?) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n }\n\n execute {\n self.stakingCollectionRef.closeStake(nodeID: nodeID, delegatorID: delegatorID)\n }\n}\n", + "script": "import FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// Requests unstaking for the specified node or delegator in the staking collection\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: auth(FlowStakingCollection.CollectionOwner) &FlowStakingCollection.StakingCollection\n\n prepare(account: auth(BorrowValue) &Account) {\n self.stakingCollectionRef = account.storage.borrow(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow a reference to a StakingCollection in the primary user's account\")\n }\n\n execute {\n self.stakingCollectionRef.requestUnstaking(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", "arguments": [ { "type": "String", "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" }, { - "type": "Optional", - "value": { - "type": "UInt32", - "value": "42" - } + "value": null, + "type": "Optional" + }, + { + "value": "92233720368.54775808", + "type": "UFix64" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -6615,18 +3264,19 @@ ] }, "envelopeMessage": { - "script": "import FlowStakingCollection from 0x8d0e87b65159ae63\n\n// Closes out a staking object in the staking collection\n// This does not remove the record from the identity table,\n// but it does mean that the account that closes it cannot ever access it again\n\ntransaction(nodeID: String, delegatorID: UInt32?) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n }\n\n execute {\n self.stakingCollectionRef.closeStake(nodeID: nodeID, delegatorID: delegatorID)\n }\n}\n", + "script": "import FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// Requests unstaking for the specified node or delegator in the staking collection\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: auth(FlowStakingCollection.CollectionOwner) &FlowStakingCollection.StakingCollection\n\n prepare(account: auth(BorrowValue) &Account) {\n self.stakingCollectionRef = account.storage.borrow(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow a reference to a StakingCollection in the primary user's account\")\n }\n\n execute {\n self.stakingCollectionRef.requestUnstaking(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", "arguments": [ { "type": "String", "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" }, { - "type": "Optional", - "value": { - "type": "UInt32", - "value": "42" - } + "value": null, + "type": "Optional" + }, + { + "value": "92233720368.54775808", + "type": "UFix64" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -6642,25 +3292,32 @@ ], "payloadSigs": [] }, - "encodedTransactionPayloadHex": "f903cdb902ee696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f20436c6f736573206f75742061207374616b696e67206f626a65637420696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f205468697320646f6573206e6f742072656d6f766520746865207265636f72642066726f6d20746865206964656e74697479207461626c652c0a2f2f2062757420697420646f6573206d65616e207468617420746865206163636f756e74207468617420636c6f7365732069742063616e6e6f7420657665722061636365737320697420616761696e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f29207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e636c6f73655374616b65286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f724944290a202020207d0a7d0af89ab85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db83a7b2274797065223a224f7074696f6e616c222c2276616c7565223a7b2274797065223a2255496e743332222c2276616c7565223a223432227d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f903d1f903cdb902ee696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f20436c6f736573206f75742061207374616b696e67206f626a65637420696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f205468697320646f6573206e6f742072656d6f766520746865207265636f72642066726f6d20746865206964656e74697479207461626c652c0a2f2f2062757420697420646f6573206d65616e207468617420746865206163636f756e74207468617420636c6f7365732069742063616e6e6f7420657665722061636365737320697420616761696e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f29207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e636c6f73655374616b65286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f724944290a202020207d0a7d0af89ab85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db83a7b2274797065223a224f7074696f6e616c222c2276616c7565223a7b2274797065223a2255496e743332222c2276616c7565223a223432227d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "02079aaa9cfb22138415056b43d5d91e8d73bd8bd5f37ebff4f4023d33ea6d2f25ecdffc1ae67479bc20c06eba6c776ff37b9523660ff1cd3129a3924d92484884436c6f7365205374616b650002014e6f64652049440000537472696e6700030244656c656761746f72204944000155496e7433320003", - "hash": "ecdffc1ae67479bc20c06eba6c776ff37b9523660ff1cd3129a3924d92484884" + "encodedTransactionPayloadHex": "f90430b9033b696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f20526571756573747320756e7374616b696e6720666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a206175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a206175746828426f72726f7756616c75652920264163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e73746f726167652e626f72726f773c6175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f2061205374616b696e67436f6c6c656374696f6e20696e20746865207072696d61727920757365722773206163636f756e7422290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e72657175657374556e7374616b696e67286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8b0b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227da07b2276616c7565223a6e756c6c2c2274797065223a224f7074696f6e616c227db07b2276616c7565223a2239323233333732303336382e3534373735383038222c2274797065223a22554669783634227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", + "encodedTransactionEnvelopeHex": "f90434f90430b9033b696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f20526571756573747320756e7374616b696e6720666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a206175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a206175746828426f72726f7756616c75652920264163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e73746f726167652e626f72726f773c6175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f2061205374616b696e67436f6c6c656374696f6e20696e20746865207072696d61727920757365722773206163636f756e7422290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e72657175657374556e7374616b696e67286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8b0b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227da07b2276616c7565223a6e756c6c2c2274797065223a224f7074696f6e616c227db07b2276616c7565223a2239323233333732303336382e3534373735383038222c2274797065223a22554669783634227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", + "metadata": "022d59f2c2c402f919c8dba30009e31480d54e2b250d2e10456e1ff029bd7cce99f26c058a127500fcd8445ba9fcf55149fe8f1a1a7cd212688d13fcd6ee2765295265717565737420556e7374616b696e670003014e6f64652049440000537472696e6700030244656c656761746f72204944000155496e743332000301416d6f756e7400025546697836340003", + "hash": "f26c058a127500fcd8445ba9fcf55149fe8f1a1a7cd212688d13fcd6ee276529" }, { - "title": "SCO.12 - Close Stake - 2", + "title": "SCO.05 - Request Unstaking - 2", "valid": true, "chainID": "Mainnet", "payloadMessage": { - "script": "import FlowStakingCollection from 0x8d0e87b65159ae63\n\n// Closes out a staking object in the staking collection\n// This does not remove the record from the identity table,\n// but it does mean that the account that closes it cannot ever access it again\n\ntransaction(nodeID: String, delegatorID: UInt32?) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n }\n\n execute {\n self.stakingCollectionRef.closeStake(nodeID: nodeID, delegatorID: delegatorID)\n }\n}\n", + "script": "import FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// Requests unstaking for the specified node or delegator in the staking collection\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: auth(FlowStakingCollection.CollectionOwner) &FlowStakingCollection.StakingCollection\n\n prepare(account: auth(BorrowValue) &Account) {\n self.stakingCollectionRef = account.storage.borrow(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow a reference to a StakingCollection in the primary user's account\")\n }\n\n execute {\n self.stakingCollectionRef.requestUnstaking(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", "arguments": [ { "type": "String", "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" }, { - "type": "Optional", - "value": null + "value": { + "value": "42", + "type": "UInt32" + }, + "type": "Optional" + }, + { + "value": "92233720368.54775808", + "type": "UFix64" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -6676,15 +3333,22 @@ ] }, "envelopeMessage": { - "script": "import FlowStakingCollection from 0x8d0e87b65159ae63\n\n// Closes out a staking object in the staking collection\n// This does not remove the record from the identity table,\n// but it does mean that the account that closes it cannot ever access it again\n\ntransaction(nodeID: String, delegatorID: UInt32?) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n }\n\n execute {\n self.stakingCollectionRef.closeStake(nodeID: nodeID, delegatorID: delegatorID)\n }\n}\n", + "script": "import FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// Requests unstaking for the specified node or delegator in the staking collection\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: auth(FlowStakingCollection.CollectionOwner) &FlowStakingCollection.StakingCollection\n\n prepare(account: auth(BorrowValue) &Account) {\n self.stakingCollectionRef = account.storage.borrow(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow a reference to a StakingCollection in the primary user's account\")\n }\n\n execute {\n self.stakingCollectionRef.requestUnstaking(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", "arguments": [ { "type": "String", "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" }, { - "type": "Optional", - "value": null + "value": { + "value": "42", + "type": "UInt32" + }, + "type": "Optional" + }, + { + "value": "92233720368.54775808", + "type": "UFix64" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -6700,25 +3364,29 @@ ], "payloadSigs": [] }, - "encodedTransactionPayloadHex": "f903b2b902ee696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f20436c6f736573206f75742061207374616b696e67206f626a65637420696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f205468697320646f6573206e6f742072656d6f766520746865207265636f72642066726f6d20746865206964656e74697479207461626c652c0a2f2f2062757420697420646f6573206d65616e207468617420746865206163636f756e74207468617420636c6f7365732069742063616e6e6f7420657665722061636365737320697420616761696e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f29207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e636c6f73655374616b65286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f724944290a202020207d0a7d0af87fb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227da07b2274797065223a224f7074696f6e616c222c2276616c7565223a6e756c6c7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f903b6f903b2b902ee696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f20436c6f736573206f75742061207374616b696e67206f626a65637420696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f205468697320646f6573206e6f742072656d6f766520746865207265636f72642066726f6d20746865206964656e74697479207461626c652c0a2f2f2062757420697420646f6573206d65616e207468617420746865206163636f756e74207468617420636c6f7365732069742063616e6e6f7420657665722061636365737320697420616761696e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f29207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e636c6f73655374616b65286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f724944290a202020207d0a7d0af87fb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227da07b2274797065223a224f7074696f6e616c222c2276616c7565223a6e756c6c7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "02079aaa9cfb22138415056b43d5d91e8d73bd8bd5f37ebff4f4023d33ea6d2f25ecdffc1ae67479bc20c06eba6c776ff37b9523660ff1cd3129a3924d92484884436c6f7365205374616b650002014e6f64652049440000537472696e6700030244656c656761746f72204944000155496e7433320003", - "hash": "ecdffc1ae67479bc20c06eba6c776ff37b9523660ff1cd3129a3924d92484884" + "encodedTransactionPayloadHex": "f9044bb9033b696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f20526571756573747320756e7374616b696e6720666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a206175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a206175746828426f72726f7756616c75652920264163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e73746f726167652e626f72726f773c6175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f2061205374616b696e67436f6c6c656374696f6e20696e20746865207072696d61727920757365722773206163636f756e7422290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e72657175657374556e7374616b696e67286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8cbb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db83a7b2276616c7565223a7b2276616c7565223a223432222c2274797065223a2255496e743332227d2c2274797065223a224f7074696f6e616c227db07b2276616c7565223a2239323233333732303336382e3534373735383038222c2274797065223a22554669783634227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", + "encodedTransactionEnvelopeHex": "f9044ff9044bb9033b696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f20526571756573747320756e7374616b696e6720666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a206175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a206175746828426f72726f7756616c75652920264163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e73746f726167652e626f72726f773c6175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f2061205374616b696e67436f6c6c656374696f6e20696e20746865207072696d61727920757365722773206163636f756e7422290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e72657175657374556e7374616b696e67286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8cbb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db83a7b2276616c7565223a7b2276616c7565223a223432222c2274797065223a2255496e743332227d2c2274797065223a224f7074696f6e616c227db07b2276616c7565223a2239323233333732303336382e3534373735383038222c2274797065223a22554669783634227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", + "metadata": "022d59f2c2c402f919c8dba30009e31480d54e2b250d2e10456e1ff029bd7cce99f26c058a127500fcd8445ba9fcf55149fe8f1a1a7cd212688d13fcd6ee2765295265717565737420556e7374616b696e670003014e6f64652049440000537472696e6700030244656c656761746f72204944000155496e743332000301416d6f756e7400025546697836340003", + "hash": "f26c058a127500fcd8445ba9fcf55149fe8f1a1a7cd212688d13fcd6ee276529" }, { - "title": "SCO.13 - Transfer Node", + "title": "SCO.06 - Stake New Tokens - 1", "valid": true, "chainID": "Mainnet", "payloadMessage": { - "script": "import FlowStakingCollection from 0x8d0e87b65159ae63\n\n// Transfers a NodeStaker object from an authorizers accoount\n// and adds the NodeStaker to another accounts Staking Collection\n// identified by the to Address.\n\ntransaction(nodeID: String, to: Address) {\n let fromStakingCollectionRef: &FlowStakingCollection.StakingCollection\n let toStakingCollectionCap: &FlowStakingCollection.StakingCollection{FlowStakingCollection.StakingCollectionPublic}\n\n prepare(account: AuthAccount) {\n // The account to transfer the NodeStaker object to must have a valid Staking Collection in order to receive the NodeStaker.\n if (!FlowStakingCollection.doesAccountHaveStakingCollection(address: to)) {\n panic(\"Destination account must have a Staking Collection set up.\")\n }\n\n // Get a reference to the authorizers StakingCollection\n self.fromStakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n\n // Get the PublicAccount of the account to transfer the NodeStaker to. \n let toAccount = getAccount(to)\n\n // Borrow a capability to the public methods available on the receivers StakingCollection.\n self.toStakingCollectionCap = toAccount.getCapability<&FlowStakingCollection.StakingCollection{FlowStakingCollection.StakingCollectionPublic}>(FlowStakingCollection.StakingCollectionPublicPath).borrow()\n ?? panic(\"Could not borrow ref to StakingCollection\")\n\n let machineAccountInfo = self.fromStakingCollectionRef.getMachineAccounts()[nodeID]\n ?? panic(\"Could not get machine account info for the specified node ID\")\n\n // Remove the NodeStaker from the authorizers StakingCollection.\n let nodeStaker <- self.fromStakingCollectionRef.removeNode(nodeID: nodeID)\n\n // Deposit the NodeStaker to the receivers StakingCollection.\n self.toStakingCollectionCap.addNodeObject(<- nodeStaker!, machineAccountInfo: machineAccountInfo)\n }\n}", + "script": "import FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// Commits new tokens to stake for the specified node or delegator in the staking collection\n/// The tokens from the locked vault are used first, if it exists\n/// followed by the tokens from the unlocked vault\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: auth(FlowStakingCollection.CollectionOwner) &FlowStakingCollection.StakingCollection\n\n prepare(account: auth(BorrowValue) &Account) {\n self.stakingCollectionRef = account.storage.borrow(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow a reference to a StakingCollection in the primary user's account\")\n }\n\n execute {\n self.stakingCollectionRef.stakeNewTokens(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", "arguments": [ { "type": "String", "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" }, { - "type": "Address", - "value": "0xe467b9dd11fa00df" + "value": null, + "type": "Optional" + }, + { + "value": "92233720368.54775808", + "type": "UFix64" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -6734,15 +3402,19 @@ ] }, "envelopeMessage": { - "script": "import FlowStakingCollection from 0x8d0e87b65159ae63\n\n// Transfers a NodeStaker object from an authorizers accoount\n// and adds the NodeStaker to another accounts Staking Collection\n// identified by the to Address.\n\ntransaction(nodeID: String, to: Address) {\n let fromStakingCollectionRef: &FlowStakingCollection.StakingCollection\n let toStakingCollectionCap: &FlowStakingCollection.StakingCollection{FlowStakingCollection.StakingCollectionPublic}\n\n prepare(account: AuthAccount) {\n // The account to transfer the NodeStaker object to must have a valid Staking Collection in order to receive the NodeStaker.\n if (!FlowStakingCollection.doesAccountHaveStakingCollection(address: to)) {\n panic(\"Destination account must have a Staking Collection set up.\")\n }\n\n // Get a reference to the authorizers StakingCollection\n self.fromStakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n\n // Get the PublicAccount of the account to transfer the NodeStaker to. \n let toAccount = getAccount(to)\n\n // Borrow a capability to the public methods available on the receivers StakingCollection.\n self.toStakingCollectionCap = toAccount.getCapability<&FlowStakingCollection.StakingCollection{FlowStakingCollection.StakingCollectionPublic}>(FlowStakingCollection.StakingCollectionPublicPath).borrow()\n ?? panic(\"Could not borrow ref to StakingCollection\")\n\n let machineAccountInfo = self.fromStakingCollectionRef.getMachineAccounts()[nodeID]\n ?? panic(\"Could not get machine account info for the specified node ID\")\n\n // Remove the NodeStaker from the authorizers StakingCollection.\n let nodeStaker <- self.fromStakingCollectionRef.removeNode(nodeID: nodeID)\n\n // Deposit the NodeStaker to the receivers StakingCollection.\n self.toStakingCollectionCap.addNodeObject(<- nodeStaker!, machineAccountInfo: machineAccountInfo)\n }\n}", + "script": "import FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// Commits new tokens to stake for the specified node or delegator in the staking collection\n/// The tokens from the locked vault are used first, if it exists\n/// followed by the tokens from the unlocked vault\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: auth(FlowStakingCollection.CollectionOwner) &FlowStakingCollection.StakingCollection\n\n prepare(account: auth(BorrowValue) &Account) {\n self.stakingCollectionRef = account.storage.borrow(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow a reference to a StakingCollection in the primary user's account\")\n }\n\n execute {\n self.stakingCollectionRef.stakeNewTokens(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", "arguments": [ { "type": "String", "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" }, { - "type": "Address", - "value": "0xe467b9dd11fa00df" + "value": null, + "type": "Optional" + }, + { + "value": "92233720368.54775808", + "type": "UFix64" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -6758,29 +3430,32 @@ ], "payloadSigs": [] }, - "encodedTransactionPayloadHex": "f90907b90834696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f205472616e73666572732061204e6f64655374616b6572206f626a6563742066726f6d20616e20617574686f72697a657273206163636f6f756e740a2f2f20616e64206164647320746865204e6f64655374616b657220746f20616e6f74686572206163636f756e7473205374616b696e6720436f6c6c656374696f6e0a2f2f206964656e7469666965642062792074686520746f20416464726573732e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c20746f3a204164647265737329207b0a202020206c65742066726f6d5374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a202020206c657420746f5374616b696e67436f6c6c656374696f6e4361703a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e7b466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e5075626c69637d0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a20202020202020202f2f20546865206163636f756e7420746f207472616e7366657220746865204e6f64655374616b6572206f626a65637420746f206d757374206861766520612076616c6964205374616b696e6720436f6c6c656374696f6e20696e206f7264657220746f207265636569766520746865204e6f64655374616b65722e0a20202020202020206966202821466c6f775374616b696e67436f6c6c656374696f6e2e646f65734163636f756e74486176655374616b696e67436f6c6c656374696f6e28616464726573733a20746f2929207b0a20202020202020202020202070616e6963282244657374696e6174696f6e206163636f756e74206d75737420686176652061205374616b696e6720436f6c6c656374696f6e207365742075702e22290a20202020202020207d0a0a20202020202020202f2f204765742061207265666572656e636520746f2074686520617574686f72697a657273205374616b696e67436f6c6c656374696f6e0a202020202020202073656c662e66726f6d5374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a0a20202020202020202f2f2047657420746865205075626c69634163636f756e74206f6620746865206163636f756e7420746f207472616e7366657220746865204e6f64655374616b657220746f2e200a20202020202020206c657420746f4163636f756e74203d206765744163636f756e7428746f290a0a20202020202020202f2f20426f72726f772061206361706162696c69747920746f20746865207075626c6963206d6574686f647320617661696c61626c65206f6e2074686520726563656976657273205374616b696e67436f6c6c656374696f6e2e0a202020202020202073656c662e746f5374616b696e67436f6c6c656374696f6e436170203d20746f4163636f756e742e6765744361706162696c6974793c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e7b466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e5075626c69637d3e28466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e5075626c696350617468292e626f72726f7728290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a0a20202020202020206c6574206d616368696e654163636f756e74496e666f203d2073656c662e66726f6d5374616b696e67436f6c6c656374696f6e5265662e6765744d616368696e654163636f756e747328295b6e6f646549445d0a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420676574206d616368696e65206163636f756e7420696e666f20666f722074686520737065636966696564206e6f646520494422290a0a20202020202020202f2f2052656d6f766520746865204e6f64655374616b65722066726f6d2074686520617574686f72697a657273205374616b696e67436f6c6c656374696f6e2e0a20202020202020206c6574206e6f64655374616b6572203c2d2073656c662e66726f6d5374616b696e67436f6c6c656374696f6e5265662e72656d6f76654e6f6465286e6f646549443a206e6f64654944290a0a20202020202020202f2f204465706f73697420746865204e6f64655374616b657220746f2074686520726563656976657273205374616b696e67436f6c6c656374696f6e2e0a202020202020202073656c662e746f5374616b696e67436f6c6c656374696f6e4361702e6164644e6f64654f626a656374283c2d206e6f64655374616b6572212c206d616368696e654163636f756e74496e666f3a206d616368696e654163636f756e74496e666f290a202020207d0a7df88eb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227daf7b2274797065223a2241646472657373222c2276616c7565223a22307865343637623964643131666130306466227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f9090bf90907b90834696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f205472616e73666572732061204e6f64655374616b6572206f626a6563742066726f6d20616e20617574686f72697a657273206163636f6f756e740a2f2f20616e64206164647320746865204e6f64655374616b657220746f20616e6f74686572206163636f756e7473205374616b696e6720436f6c6c656374696f6e0a2f2f206964656e7469666965642062792074686520746f20416464726573732e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c20746f3a204164647265737329207b0a202020206c65742066726f6d5374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a202020206c657420746f5374616b696e67436f6c6c656374696f6e4361703a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e7b466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e5075626c69637d0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a20202020202020202f2f20546865206163636f756e7420746f207472616e7366657220746865204e6f64655374616b6572206f626a65637420746f206d757374206861766520612076616c6964205374616b696e6720436f6c6c656374696f6e20696e206f7264657220746f207265636569766520746865204e6f64655374616b65722e0a20202020202020206966202821466c6f775374616b696e67436f6c6c656374696f6e2e646f65734163636f756e74486176655374616b696e67436f6c6c656374696f6e28616464726573733a20746f2929207b0a20202020202020202020202070616e6963282244657374696e6174696f6e206163636f756e74206d75737420686176652061205374616b696e6720436f6c6c656374696f6e207365742075702e22290a20202020202020207d0a0a20202020202020202f2f204765742061207265666572656e636520746f2074686520617574686f72697a657273205374616b696e67436f6c6c656374696f6e0a202020202020202073656c662e66726f6d5374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a0a20202020202020202f2f2047657420746865205075626c69634163636f756e74206f6620746865206163636f756e7420746f207472616e7366657220746865204e6f64655374616b657220746f2e200a20202020202020206c657420746f4163636f756e74203d206765744163636f756e7428746f290a0a20202020202020202f2f20426f72726f772061206361706162696c69747920746f20746865207075626c6963206d6574686f647320617661696c61626c65206f6e2074686520726563656976657273205374616b696e67436f6c6c656374696f6e2e0a202020202020202073656c662e746f5374616b696e67436f6c6c656374696f6e436170203d20746f4163636f756e742e6765744361706162696c6974793c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e7b466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e5075626c69637d3e28466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e5075626c696350617468292e626f72726f7728290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a0a20202020202020206c6574206d616368696e654163636f756e74496e666f203d2073656c662e66726f6d5374616b696e67436f6c6c656374696f6e5265662e6765744d616368696e654163636f756e747328295b6e6f646549445d0a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420676574206d616368696e65206163636f756e7420696e666f20666f722074686520737065636966696564206e6f646520494422290a0a20202020202020202f2f2052656d6f766520746865204e6f64655374616b65722066726f6d2074686520617574686f72697a657273205374616b696e67436f6c6c656374696f6e2e0a20202020202020206c6574206e6f64655374616b6572203c2d2073656c662e66726f6d5374616b696e67436f6c6c656374696f6e5265662e72656d6f76654e6f6465286e6f646549443a206e6f64654944290a0a20202020202020202f2f204465706f73697420746865204e6f64655374616b657220746f2074686520726563656976657273205374616b696e67436f6c6c656374696f6e2e0a202020202020202073656c662e746f5374616b696e67436f6c6c656374696f6e4361702e6164644e6f64654f626a656374283c2d206e6f64655374616b6572212c206d616368696e654163636f756e74496e666f3a206d616368696e654163636f756e74496e666f290a202020207d0a7df88eb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227daf7b2274797065223a2241646472657373222c2276616c7565223a22307865343637623964643131666130306466227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "022386d7ae1a5b936e3914729ee34e01d53a8fbd2e403512ec1beccb4062c231ebcdc3a63d0c75ea95b414becb6fbb8f5a8004236d48661cd3c3d4f540ee4d422e5472616e73666572204e6f64650002014e6f64652049440000537472696e67000301416464726573730001416464726573730003", - "hash": "cdc3a63d0c75ea95b414becb6fbb8f5a8004236d48661cd3c3d4f540ee4d422e" + "encodedTransactionPayloadHex": "f904acb903b7696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f20436f6d6d697473206e657720746f6b656e7320746f207374616b6520666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f2054686520746f6b656e732066726f6d20746865206c6f636b6564207661756c742061726520757365642066697273742c206966206974206578697374730a2f2f2f20666f6c6c6f7765642062792074686520746f6b656e732066726f6d2074686520756e6c6f636b6564207661756c740a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a206175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a206175746828426f72726f7756616c75652920264163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e73746f726167652e626f72726f773c6175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f2061205374616b696e67436f6c6c656374696f6e20696e20746865207072696d61727920757365722773206163636f756e7422290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e7374616b654e6577546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8b0b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227da07b2276616c7565223a6e756c6c2c2274797065223a224f7074696f6e616c227db07b2276616c7565223a2239323233333732303336382e3534373735383038222c2274797065223a22554669783634227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", + "encodedTransactionEnvelopeHex": "f904b0f904acb903b7696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f20436f6d6d697473206e657720746f6b656e7320746f207374616b6520666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f2054686520746f6b656e732066726f6d20746865206c6f636b6564207661756c742061726520757365642066697273742c206966206974206578697374730a2f2f2f20666f6c6c6f7765642062792074686520746f6b656e732066726f6d2074686520756e6c6f636b6564207661756c740a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a206175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a206175746828426f72726f7756616c75652920264163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e73746f726167652e626f72726f773c6175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f2061205374616b696e67436f6c6c656374696f6e20696e20746865207072696d61727920757365722773206163636f756e7422290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e7374616b654e6577546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8b0b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227da07b2276616c7565223a6e756c6c2c2274797065223a224f7074696f6e616c227db07b2276616c7565223a2239323233333732303336382e3534373735383038222c2274797065223a22554669783634227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", + "metadata": "02cf2b03950077352487e6344ab65edc3e1856731ab9cf68aa2ebbe279ae496d4b4c0658934352486097cc89fa06b98bac21e514770fc6a4d70a7adc4bec6d711d5374616b65204e657720546f6b656e730003014e6f64652049440000537472696e6700030244656c656761746f72204944000155496e743332000301416d6f756e7400025546697836340003", + "hash": "4c0658934352486097cc89fa06b98bac21e514770fc6a4d70a7adc4bec6d711d" }, { - "title": "SCO.14 - Transfer Delegator", + "title": "SCO.06 - Stake New Tokens - 2", "valid": true, "chainID": "Mainnet", "payloadMessage": { - "script": "import FlowStakingCollection from 0x8d0e87b65159ae63\n\n// Transfers a NodeDelegator object from an authorizers accoount\n// and adds the NodeDelegator to another accounts Staking Collection\n// identified by the to Address.\n\ntransaction(nodeID: String, delegatorID: UInt32, to: Address) {\n let fromStakingCollectionRef: &FlowStakingCollection.StakingCollection\n let toStakingCollectionCap: &FlowStakingCollection.StakingCollection{FlowStakingCollection.StakingCollectionPublic}\n\n prepare(account: AuthAccount) {\n // The account to transfer the NodeDelegator object to must have a valid Staking Collection in order to receive the NodeDelegator.\n if (!FlowStakingCollection.doesAccountHaveStakingCollection(address: to)) {\n panic(\"Destination account must have a Staking Collection set up.\")\n }\n\n // Get a reference to the authorizers StakingCollection\n self.fromStakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n\n // Get the PublicAccount of the account to transfer the NodeDelegator to. \n let toAccount = getAccount(to)\n\n // Borrow a capability to the public methods available on the receivers StakingCollection.\n self.toStakingCollectionCap = toAccount.getCapability<&FlowStakingCollection.StakingCollection{FlowStakingCollection.StakingCollectionPublic}>(FlowStakingCollection.StakingCollectionPublicPath).borrow()\n ?? panic(\"Could not borrow ref to StakingCollection\")\n }\n\n execute {\n // Remove the NodeDelegator from the authorizers StakingCollection.\n let nodeDelegator <- self.fromStakingCollectionRef.removeDelegator(nodeID: nodeID, delegatorID: delegatorID)\n\n // Deposit the NodeDelegator to the receivers StakingCollection.\n self.toStakingCollectionCap.addDelegatorObject(<- nodeDelegator!)\n }\n}", + "script": "import FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// Commits new tokens to stake for the specified node or delegator in the staking collection\n/// The tokens from the locked vault are used first, if it exists\n/// followed by the tokens from the unlocked vault\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: auth(FlowStakingCollection.CollectionOwner) &FlowStakingCollection.StakingCollection\n\n prepare(account: auth(BorrowValue) &Account) {\n self.stakingCollectionRef = account.storage.borrow(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow a reference to a StakingCollection in the primary user's account\")\n }\n\n execute {\n self.stakingCollectionRef.stakeNewTokens(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", "arguments": [ { "type": "String", "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" }, { - "type": "UInt32", - "value": "42" + "value": { + "value": "42", + "type": "UInt32" + }, + "type": "Optional" }, { - "type": "Address", - "value": "0xe467b9dd11fa00df" + "value": "92233720368.54775808", + "type": "UFix64" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -6796,19 +3471,22 @@ ] }, "envelopeMessage": { - "script": "import FlowStakingCollection from 0x8d0e87b65159ae63\n\n// Transfers a NodeDelegator object from an authorizers accoount\n// and adds the NodeDelegator to another accounts Staking Collection\n// identified by the to Address.\n\ntransaction(nodeID: String, delegatorID: UInt32, to: Address) {\n let fromStakingCollectionRef: &FlowStakingCollection.StakingCollection\n let toStakingCollectionCap: &FlowStakingCollection.StakingCollection{FlowStakingCollection.StakingCollectionPublic}\n\n prepare(account: AuthAccount) {\n // The account to transfer the NodeDelegator object to must have a valid Staking Collection in order to receive the NodeDelegator.\n if (!FlowStakingCollection.doesAccountHaveStakingCollection(address: to)) {\n panic(\"Destination account must have a Staking Collection set up.\")\n }\n\n // Get a reference to the authorizers StakingCollection\n self.fromStakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n\n // Get the PublicAccount of the account to transfer the NodeDelegator to. \n let toAccount = getAccount(to)\n\n // Borrow a capability to the public methods available on the receivers StakingCollection.\n self.toStakingCollectionCap = toAccount.getCapability<&FlowStakingCollection.StakingCollection{FlowStakingCollection.StakingCollectionPublic}>(FlowStakingCollection.StakingCollectionPublicPath).borrow()\n ?? panic(\"Could not borrow ref to StakingCollection\")\n }\n\n execute {\n // Remove the NodeDelegator from the authorizers StakingCollection.\n let nodeDelegator <- self.fromStakingCollectionRef.removeDelegator(nodeID: nodeID, delegatorID: delegatorID)\n\n // Deposit the NodeDelegator to the receivers StakingCollection.\n self.toStakingCollectionCap.addDelegatorObject(<- nodeDelegator!)\n }\n}", + "script": "import FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// Commits new tokens to stake for the specified node or delegator in the staking collection\n/// The tokens from the locked vault are used first, if it exists\n/// followed by the tokens from the unlocked vault\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: auth(FlowStakingCollection.CollectionOwner) &FlowStakingCollection.StakingCollection\n\n prepare(account: auth(BorrowValue) &Account) {\n self.stakingCollectionRef = account.storage.borrow(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow a reference to a StakingCollection in the primary user's account\")\n }\n\n execute {\n self.stakingCollectionRef.stakeNewTokens(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", "arguments": [ { "type": "String", "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" }, { - "type": "UInt32", - "value": "42" + "value": { + "value": "42", + "type": "UInt32" + }, + "type": "Optional" }, { - "type": "Address", - "value": "0xe467b9dd11fa00df" + "value": "92233720368.54775808", + "type": "UFix64" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -6824,25 +3502,29 @@ ], "payloadSigs": [] }, - "encodedTransactionPayloadHex": "f908b4b907c2696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f205472616e73666572732061204e6f646544656c656761746f72206f626a6563742066726f6d20616e20617574686f72697a657273206163636f6f756e740a2f2f20616e64206164647320746865204e6f646544656c656761746f7220746f20616e6f74686572206163636f756e7473205374616b696e6720436f6c6c656374696f6e0a2f2f206964656e7469666965642062792074686520746f20416464726573732e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433322c20746f3a204164647265737329207b0a202020206c65742066726f6d5374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a202020206c657420746f5374616b696e67436f6c6c656374696f6e4361703a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e7b466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e5075626c69637d0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a20202020202020202f2f20546865206163636f756e7420746f207472616e7366657220746865204e6f646544656c656761746f72206f626a65637420746f206d757374206861766520612076616c6964205374616b696e6720436f6c6c656374696f6e20696e206f7264657220746f207265636569766520746865204e6f646544656c656761746f722e0a20202020202020206966202821466c6f775374616b696e67436f6c6c656374696f6e2e646f65734163636f756e74486176655374616b696e67436f6c6c656374696f6e28616464726573733a20746f2929207b0a20202020202020202020202070616e6963282244657374696e6174696f6e206163636f756e74206d75737420686176652061205374616b696e6720436f6c6c656374696f6e207365742075702e22290a20202020202020207d0a0a20202020202020202f2f204765742061207265666572656e636520746f2074686520617574686f72697a657273205374616b696e67436f6c6c656374696f6e0a202020202020202073656c662e66726f6d5374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a0a20202020202020202f2f2047657420746865205075626c69634163636f756e74206f6620746865206163636f756e7420746f207472616e7366657220746865204e6f646544656c656761746f7220746f2e200a20202020202020206c657420746f4163636f756e74203d206765744163636f756e7428746f290a0a20202020202020202f2f20426f72726f772061206361706162696c69747920746f20746865207075626c6963206d6574686f647320617661696c61626c65206f6e2074686520726563656976657273205374616b696e67436f6c6c656374696f6e2e0a202020202020202073656c662e746f5374616b696e67436f6c6c656374696f6e436170203d20746f4163636f756e742e6765744361706162696c6974793c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e7b466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e5075626c69637d3e28466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e5075626c696350617468292e626f72726f7728290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a20202020202020202f2f2052656d6f766520746865204e6f646544656c656761746f722066726f6d2074686520617574686f72697a657273205374616b696e67436f6c6c656374696f6e2e0a20202020202020206c6574206e6f646544656c656761746f72203c2d2073656c662e66726f6d5374616b696e67436f6c6c656374696f6e5265662e72656d6f766544656c656761746f72286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f724944290a0a20202020202020202f2f204465706f73697420746865204e6f646544656c656761746f7220746f2074686520726563656976657273205374616b696e67436f6c6c656374696f6e2e0a202020202020202073656c662e746f5374616b696e67436f6c6c656374696f6e4361702e61646444656c656761746f724f626a656374283c2d206e6f646544656c656761746f7221290a202020207d0a7df8adb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227d9e7b2274797065223a2255496e743332222c2276616c7565223a223432227daf7b2274797065223a2241646472657373222c2276616c7565223a22307865343637623964643131666130306466227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f908b8f908b4b907c2696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f205472616e73666572732061204e6f646544656c656761746f72206f626a6563742066726f6d20616e20617574686f72697a657273206163636f6f756e740a2f2f20616e64206164647320746865204e6f646544656c656761746f7220746f20616e6f74686572206163636f756e7473205374616b696e6720436f6c6c656374696f6e0a2f2f206964656e7469666965642062792074686520746f20416464726573732e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433322c20746f3a204164647265737329207b0a202020206c65742066726f6d5374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a202020206c657420746f5374616b696e67436f6c6c656374696f6e4361703a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e7b466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e5075626c69637d0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a20202020202020202f2f20546865206163636f756e7420746f207472616e7366657220746865204e6f646544656c656761746f72206f626a65637420746f206d757374206861766520612076616c6964205374616b696e6720436f6c6c656374696f6e20696e206f7264657220746f207265636569766520746865204e6f646544656c656761746f722e0a20202020202020206966202821466c6f775374616b696e67436f6c6c656374696f6e2e646f65734163636f756e74486176655374616b696e67436f6c6c656374696f6e28616464726573733a20746f2929207b0a20202020202020202020202070616e6963282244657374696e6174696f6e206163636f756e74206d75737420686176652061205374616b696e6720436f6c6c656374696f6e207365742075702e22290a20202020202020207d0a0a20202020202020202f2f204765742061207265666572656e636520746f2074686520617574686f72697a657273205374616b696e67436f6c6c656374696f6e0a202020202020202073656c662e66726f6d5374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a0a20202020202020202f2f2047657420746865205075626c69634163636f756e74206f6620746865206163636f756e7420746f207472616e7366657220746865204e6f646544656c656761746f7220746f2e200a20202020202020206c657420746f4163636f756e74203d206765744163636f756e7428746f290a0a20202020202020202f2f20426f72726f772061206361706162696c69747920746f20746865207075626c6963206d6574686f647320617661696c61626c65206f6e2074686520726563656976657273205374616b696e67436f6c6c656374696f6e2e0a202020202020202073656c662e746f5374616b696e67436f6c6c656374696f6e436170203d20746f4163636f756e742e6765744361706162696c6974793c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e7b466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e5075626c69637d3e28466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e5075626c696350617468292e626f72726f7728290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a20202020202020202f2f2052656d6f766520746865204e6f646544656c656761746f722066726f6d2074686520617574686f72697a657273205374616b696e67436f6c6c656374696f6e2e0a20202020202020206c6574206e6f646544656c656761746f72203c2d2073656c662e66726f6d5374616b696e67436f6c6c656374696f6e5265662e72656d6f766544656c656761746f72286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f724944290a0a20202020202020202f2f204465706f73697420746865204e6f646544656c656761746f7220746f2074686520726563656976657273205374616b696e67436f6c6c656374696f6e2e0a202020202020202073656c662e746f5374616b696e67436f6c6c656374696f6e4361702e61646444656c656761746f724f626a656374283c2d206e6f646544656c656761746f7221290a202020207d0a7df8adb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227d9e7b2274797065223a2255496e743332222c2276616c7565223a223432227daf7b2274797065223a2241646472657373222c2276616c7565223a22307865343637623964643131666130306466227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "0253b096b4850a30894e7b272ec5c39e2b2f4a23f8c40e76a3c64cfc63dc2999b6b34d6fafcc5a4d0ed9cf92e168a08d0674c93341e2393ee72dde6664918ec2405472616e736665722044656c656761746f720003014e6f64652049440000537472696e6700030144656c656761746f72204944000155496e743332000301416464726573730002416464726573730003", - "hash": "b34d6fafcc5a4d0ed9cf92e168a08d0674c93341e2393ee72dde6664918ec240" + "encodedTransactionPayloadHex": "f904c7b903b7696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f20436f6d6d697473206e657720746f6b656e7320746f207374616b6520666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f2054686520746f6b656e732066726f6d20746865206c6f636b6564207661756c742061726520757365642066697273742c206966206974206578697374730a2f2f2f20666f6c6c6f7765642062792074686520746f6b656e732066726f6d2074686520756e6c6f636b6564207661756c740a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a206175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a206175746828426f72726f7756616c75652920264163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e73746f726167652e626f72726f773c6175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f2061205374616b696e67436f6c6c656374696f6e20696e20746865207072696d61727920757365722773206163636f756e7422290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e7374616b654e6577546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8cbb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db83a7b2276616c7565223a7b2276616c7565223a223432222c2274797065223a2255496e743332227d2c2274797065223a224f7074696f6e616c227db07b2276616c7565223a2239323233333732303336382e3534373735383038222c2274797065223a22554669783634227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", + "encodedTransactionEnvelopeHex": "f904cbf904c7b903b7696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f20436f6d6d697473206e657720746f6b656e7320746f207374616b6520666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f2054686520746f6b656e732066726f6d20746865206c6f636b6564207661756c742061726520757365642066697273742c206966206974206578697374730a2f2f2f20666f6c6c6f7765642062792074686520746f6b656e732066726f6d2074686520756e6c6f636b6564207661756c740a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a206175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a206175746828426f72726f7756616c75652920264163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e73746f726167652e626f72726f773c6175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f2061205374616b696e67436f6c6c656374696f6e20696e20746865207072696d61727920757365722773206163636f756e7422290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e7374616b654e6577546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8cbb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db83a7b2276616c7565223a7b2276616c7565223a223432222c2274797065223a2255496e743332227d2c2274797065223a224f7074696f6e616c227db07b2276616c7565223a2239323233333732303336382e3534373735383038222c2274797065223a22554669783634227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", + "metadata": "02cf2b03950077352487e6344ab65edc3e1856731ab9cf68aa2ebbe279ae496d4b4c0658934352486097cc89fa06b98bac21e514770fc6a4d70a7adc4bec6d711d5374616b65204e657720546f6b656e730003014e6f64652049440000537472696e6700030244656c656761746f72204944000155496e743332000301416d6f756e7400025546697836340003", + "hash": "4c0658934352486097cc89fa06b98bac21e514770fc6a4d70a7adc4bec6d711d" }, { - "title": "SCO.15 - Withdraw From Machine Account", + "title": "SCO.07 - Stake Rewarded Tokens - 1", "valid": true, "chainID": "Mainnet", "payloadMessage": { - "script": "import FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// Request to withdraw tokens from the machine account\n/// The tokens are automatically deposited to the unlocked account vault\n\ntransaction(nodeID: String, amount: UFix64) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n }\n\n execute {\n self.stakingCollectionRef.withdrawFromMachineAccount(nodeID: nodeID, amount: amount)\n }\n}\n", + "script": "import FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// Commits rewarded tokens to stake for the specified node or delegator in the staking collection\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: auth(FlowStakingCollection.CollectionOwner) &FlowStakingCollection.StakingCollection\n\n prepare(account: auth(BorrowValue) &Account) {\n self.stakingCollectionRef = account.storage.borrow(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow a reference to a StakingCollection in the primary user's account\")\n }\n\n execute {\n self.stakingCollectionRef.stakeRewardedTokens(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", "arguments": [ { "type": "String", "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" }, { - "type": "UFix64", - "value": "92233720368.54775808" + "value": null, + "type": "Optional" + }, + { + "value": "92233720368.54775808", + "type": "UFix64" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -6858,15 +3540,19 @@ ] }, "envelopeMessage": { - "script": "import FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// Request to withdraw tokens from the machine account\n/// The tokens are automatically deposited to the unlocked account vault\n\ntransaction(nodeID: String, amount: UFix64) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n }\n\n execute {\n self.stakingCollectionRef.withdrawFromMachineAccount(nodeID: nodeID, amount: amount)\n }\n}\n", + "script": "import FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// Commits rewarded tokens to stake for the specified node or delegator in the staking collection\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: auth(FlowStakingCollection.CollectionOwner) &FlowStakingCollection.StakingCollection\n\n prepare(account: auth(BorrowValue) &Account) {\n self.stakingCollectionRef = account.storage.borrow(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow a reference to a StakingCollection in the primary user's account\")\n }\n\n execute {\n self.stakingCollectionRef.stakeRewardedTokens(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", "arguments": [ { "type": "String", "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" }, { - "type": "UFix64", - "value": "92233720368.54775808" + "value": null, + "type": "Optional" + }, + { + "value": "92233720368.54775808", + "type": "UFix64" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -6882,25 +3568,32 @@ ], "payloadSigs": [] }, - "encodedTransactionPayloadHex": "f9037eb902aa696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f205265717565737420746f20776974686472617720746f6b656e732066726f6d20746865206d616368696e65206163636f756e740a2f2f2f2054686520746f6b656e7320617265206175746f6d61746963616c6c79206465706f736974656420746f2074686520756e6c6f636b6564206163636f756e74207661756c740a0a7472616e73616374696f6e286e6f646549443a20537472696e672c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e776974686472617746726f6d4d616368696e654163636f756e74286e6f646549443a206e6f646549442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af88fb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f90382f9037eb902aa696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f205265717565737420746f20776974686472617720746f6b656e732066726f6d20746865206d616368696e65206163636f756e740a2f2f2f2054686520746f6b656e7320617265206175746f6d61746963616c6c79206465706f736974656420746f2074686520756e6c6f636b6564206163636f756e74207661756c740a0a7472616e73616374696f6e286e6f646549443a20537472696e672c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e776974686472617746726f6d4d616368696e654163636f756e74286e6f646549443a206e6f646549442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af88fb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "0239a126038522c6c964d53aaf78dde55bfe80929091510792fe49678bb22cbd96f9c48e18bda7f113e82711a4c95dfd151c6600ed9fbf46ceb22566d6c5728c6f57697468647261772046726f6d204d616368696e65204163636f756e740002014e6f64652049440000537472696e67000301416d6f756e7400015546697836340003", - "hash": "f9c48e18bda7f113e82711a4c95dfd151c6600ed9fbf46ceb22566d6c5728c6f" + "encodedTransactionPayloadHex": "f90441b9034c696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f20436f6d6d69747320726577617264656420746f6b656e7320746f207374616b6520666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a206175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a206175746828426f72726f7756616c75652920264163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e73746f726167652e626f72726f773c6175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f2061205374616b696e67436f6c6c656374696f6e20696e20746865207072696d61727920757365722773206163636f756e7422290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e7374616b655265776172646564546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8b0b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227da07b2276616c7565223a6e756c6c2c2274797065223a224f7074696f6e616c227db07b2276616c7565223a2239323233333732303336382e3534373735383038222c2274797065223a22554669783634227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", + "encodedTransactionEnvelopeHex": "f90445f90441b9034c696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f20436f6d6d69747320726577617264656420746f6b656e7320746f207374616b6520666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a206175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a206175746828426f72726f7756616c75652920264163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e73746f726167652e626f72726f773c6175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f2061205374616b696e67436f6c6c656374696f6e20696e20746865207072696d61727920757365722773206163636f756e7422290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e7374616b655265776172646564546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8b0b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227da07b2276616c7565223a6e756c6c2c2274797065223a224f7074696f6e616c227db07b2276616c7565223a2239323233333732303336382e3534373735383038222c2274797065223a22554669783634227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", + "metadata": "024395faf2e515eea4d40f82416ad387575f0d5a580612223c361130e53e72f00bc989e8b3beb9c2eb5af2ee1e11d592c9f1131e76e7ef105a0d40cf1610d1e3485374616b6520526577617264656420546f6b656e730003014e6f64652049440000537472696e6700030244656c656761746f72204944000155496e743332000301416d6f756e7400025546697836340003", + "hash": "c989e8b3beb9c2eb5af2ee1e11d592c9f1131e76e7ef105a0d40cf1610d1e348" }, { - "title": "SCO.16 - Update Networking Address", + "title": "SCO.07 - Stake Rewarded Tokens - 2", "valid": true, "chainID": "Mainnet", "payloadMessage": { - "script": "import FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// Changes the networking address for the specified node\n\ntransaction(nodeID: String, newAddress: String) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n }\n\n execute {\n self.stakingCollectionRef.updateNetworkingAddress(nodeID: nodeID, newAddress: newAddress)\n }\n}\n", + "script": "import FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// Commits rewarded tokens to stake for the specified node or delegator in the staking collection\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: auth(FlowStakingCollection.CollectionOwner) &FlowStakingCollection.StakingCollection\n\n prepare(account: auth(BorrowValue) &Account) {\n self.stakingCollectionRef = account.storage.borrow(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow a reference to a StakingCollection in the primary user's account\")\n }\n\n execute {\n self.stakingCollectionRef.stakeRewardedTokens(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", "arguments": [ { "type": "String", "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" }, { - "type": "String", - "value": "flow-node.test:3569" + "value": { + "value": "42", + "type": "UInt32" + }, + "type": "Optional" + }, + { + "value": "92233720368.54775808", + "type": "UFix64" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -6916,15 +3609,22 @@ ] }, "envelopeMessage": { - "script": "import FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// Changes the networking address for the specified node\n\ntransaction(nodeID: String, newAddress: String) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n }\n\n execute {\n self.stakingCollectionRef.updateNetworkingAddress(nodeID: nodeID, newAddress: newAddress)\n }\n}\n", + "script": "import FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// Commits rewarded tokens to stake for the specified node or delegator in the staking collection\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: auth(FlowStakingCollection.CollectionOwner) &FlowStakingCollection.StakingCollection\n\n prepare(account: auth(BorrowValue) &Account) {\n self.stakingCollectionRef = account.storage.borrow(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow a reference to a StakingCollection in the primary user's account\")\n }\n\n execute {\n self.stakingCollectionRef.stakeRewardedTokens(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", "arguments": [ { "type": "String", "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" }, { - "type": "String", - "value": "flow-node.test:3569" + "value": { + "value": "42", + "type": "UInt32" + }, + "type": "Optional" + }, + { + "value": "92233720368.54775808", + "type": "UFix64" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -6940,18 +3640,31 @@ ], "payloadSigs": [] }, - "encodedTransactionPayloadHex": "f9033fb9026c696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f204368616e67657320746865206e6574776f726b696e67206164647265737320666f722074686520737065636966696564206e6f64650a0a7472616e73616374696f6e286e6f646549443a20537472696e672c206e6577416464726573733a20537472696e6729207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e7570646174654e6574776f726b696e6741646472657373286e6f646549443a206e6f646549442c206e6577416464726573733a206e657741646472657373290a202020207d0a7d0af88eb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227daf7b2274797065223a22537472696e67222c2276616c7565223a22666c6f772d6e6f64652e746573743a33353639227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f90343f9033fb9026c696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f204368616e67657320746865206e6574776f726b696e67206164647265737320666f722074686520737065636966696564206e6f64650a0a7472616e73616374696f6e286e6f646549443a20537472696e672c206e6577416464726573733a20537472696e6729207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e7570646174654e6574776f726b696e6741646472657373286e6f646549443a206e6f646549442c206e6577416464726573733a206e657741646472657373290a202020207d0a7d0af88eb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227daf7b2274797065223a22537472696e67222c2276616c7565223a22666c6f772d6e6f64652e746573743a33353639227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "0260f2cf219d56b19dc7fd223caed42dda9143c87b1b0d2c21a9652e12a3714133ff067b40ac67020ef864cd14842f62023254da34dd2ded56affa1364305bf1c5557064617465204e6574776f726b696e6720416464726573730002014e6f64652049440000537472696e67000301416464726573730001537472696e670003", - "hash": "ff067b40ac67020ef864cd14842f62023254da34dd2ded56affa1364305bf1c5" + "encodedTransactionPayloadHex": "f9045cb9034c696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f20436f6d6d69747320726577617264656420746f6b656e7320746f207374616b6520666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a206175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a206175746828426f72726f7756616c75652920264163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e73746f726167652e626f72726f773c6175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f2061205374616b696e67436f6c6c656374696f6e20696e20746865207072696d61727920757365722773206163636f756e7422290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e7374616b655265776172646564546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8cbb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db83a7b2276616c7565223a7b2276616c7565223a223432222c2274797065223a2255496e743332227d2c2274797065223a224f7074696f6e616c227db07b2276616c7565223a2239323233333732303336382e3534373735383038222c2274797065223a22554669783634227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", + "encodedTransactionEnvelopeHex": "f90460f9045cb9034c696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f20436f6d6d69747320726577617264656420746f6b656e7320746f207374616b6520666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a206175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a206175746828426f72726f7756616c75652920264163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e73746f726167652e626f72726f773c6175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f2061205374616b696e67436f6c6c656374696f6e20696e20746865207072696d61727920757365722773206163636f756e7422290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e7374616b655265776172646564546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8cbb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db83a7b2276616c7565223a7b2276616c7565223a223432222c2274797065223a2255496e743332227d2c2274797065223a224f7074696f6e616c227db07b2276616c7565223a2239323233333732303336382e3534373735383038222c2274797065223a22554669783634227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", + "metadata": "024395faf2e515eea4d40f82416ad387575f0d5a580612223c361130e53e72f00bc989e8b3beb9c2eb5af2ee1e11d592c9f1131e76e7ef105a0d40cf1610d1e3485374616b6520526577617264656420546f6b656e730003014e6f64652049440000537472696e6700030244656c656761746f72204944000155496e743332000301416d6f756e7400025546697836340003", + "hash": "c989e8b3beb9c2eb5af2ee1e11d592c9f1131e76e7ef105a0d40cf1610d1e348" }, { - "title": "FUSD.01 - Setup FUSD Vault", + "title": "SCO.08 - Stake Unstaked Tokens - 1", "valid": true, "chainID": "Mainnet", "payloadMessage": { - "script": "// This transaction configures the signer's account with an empty FUSD vault.\n//\n// It also links the following capabilities:\n//\n// - FungibleToken.Receiver: this capability allows this account to accept FUSD deposits.\n// - FungibleToken.Balance: this capability allows anybody to inspect the FUSD balance of this account.\n\nimport FungibleToken from 0xf233dcee88fe0abe\nimport FUSD from 0x3c5959b568896393\n\ntransaction {\n\n prepare(signer: AuthAccount) {\n\n // It's OK if the account already has a Vault, but we don't want to replace it\n if(signer.borrow<&FUSD.Vault>(from: /storage/fusdVault) != nil) {\n return\n }\n \n // Create a new FUSD Vault and put it in storage\n signer.save(<-FUSD.createEmptyVault(), to: /storage/fusdVault)\n\n // Create a public capability to the Vault that only exposes\n // the deposit function through the Receiver interface\n signer.link<&FUSD.Vault{FungibleToken.Receiver}>(\n /public/fusdReceiver,\n target: /storage/fusdVault\n )\n\n // Create a public capability to the Vault that only exposes\n // the balance field through the Balance interface\n signer.link<&FUSD.Vault{FungibleToken.Balance}>(\n /public/fusdBalance,\n target: /storage/fusdVault\n )\n }\n}\n", - "arguments": [], + "script": "import FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// Commits unstaked tokens to stake for the specified node or delegator in the staking collection\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: auth(FlowStakingCollection.CollectionOwner) &FlowStakingCollection.StakingCollection\n\n prepare(account: auth(BorrowValue) &Account) {\n self.stakingCollectionRef = account.storage.borrow(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow a reference to a StakingCollection in the primary user's account\")\n }\n\n execute {\n self.stakingCollectionRef.stakeUnstakedTokens(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", + "arguments": [ + { + "type": "String", + "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" + }, + { + "value": null, + "type": "Optional" + }, + { + "value": "92233720368.54775808", + "type": "UFix64" + } + ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", "gasLimit": 42, "proposalKey": { @@ -6965,8 +3678,21 @@ ] }, "envelopeMessage": { - "script": "// This transaction configures the signer's account with an empty FUSD vault.\n//\n// It also links the following capabilities:\n//\n// - FungibleToken.Receiver: this capability allows this account to accept FUSD deposits.\n// - FungibleToken.Balance: this capability allows anybody to inspect the FUSD balance of this account.\n\nimport FungibleToken from 0xf233dcee88fe0abe\nimport FUSD from 0x3c5959b568896393\n\ntransaction {\n\n prepare(signer: AuthAccount) {\n\n // It's OK if the account already has a Vault, but we don't want to replace it\n if(signer.borrow<&FUSD.Vault>(from: /storage/fusdVault) != nil) {\n return\n }\n \n // Create a new FUSD Vault and put it in storage\n signer.save(<-FUSD.createEmptyVault(), to: /storage/fusdVault)\n\n // Create a public capability to the Vault that only exposes\n // the deposit function through the Receiver interface\n signer.link<&FUSD.Vault{FungibleToken.Receiver}>(\n /public/fusdReceiver,\n target: /storage/fusdVault\n )\n\n // Create a public capability to the Vault that only exposes\n // the balance field through the Balance interface\n signer.link<&FUSD.Vault{FungibleToken.Balance}>(\n /public/fusdBalance,\n target: /storage/fusdVault\n )\n }\n}\n", - "arguments": [], + "script": "import FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// Commits unstaked tokens to stake for the specified node or delegator in the staking collection\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: auth(FlowStakingCollection.CollectionOwner) &FlowStakingCollection.StakingCollection\n\n prepare(account: auth(BorrowValue) &Account) {\n self.stakingCollectionRef = account.storage.borrow(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow a reference to a StakingCollection in the primary user's account\")\n }\n\n execute {\n self.stakingCollectionRef.stakeUnstakedTokens(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", + "arguments": [ + { + "type": "String", + "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" + }, + { + "value": null, + "type": "Optional" + }, + { + "value": "92233720368.54775808", + "type": "UFix64" + } + ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", "gasLimit": 42, "proposalKey": { @@ -6980,25 +3706,32 @@ ], "payloadSigs": [] }, - "encodedTransactionPayloadHex": "f9057ab905362f2f2054686973207472616e73616374696f6e20636f6e6669677572657320746865207369676e65722773206163636f756e74207769746820616e20656d7074792046555344207661756c742e0a2f2f0a2f2f20497420616c736f206c696e6b732074686520666f6c6c6f77696e67206361706162696c69746965733a0a2f2f0a2f2f202d2046756e6769626c65546f6b656e2e52656365697665723a2074686973206361706162696c69747920616c6c6f77732074686973206163636f756e7420746f206163636570742046555344206465706f736974732e0a2f2f202d2046756e6769626c65546f6b656e2e42616c616e63653a2074686973206361706162696c69747920616c6c6f777320616e79626f647920746f20696e73706563742074686520465553442062616c616e6365206f662074686973206163636f756e742e0a0a696d706f72742046756e6769626c65546f6b656e2066726f6d203078663233336463656538386665306162650a696d706f727420465553442066726f6d203078336335393539623536383839363339330a0a7472616e73616374696f6e207b0a0a2020202070726570617265287369676e65723a20417574684163636f756e7429207b0a0a20202020202020202f2f2049742773204f4b20696620746865206163636f756e7420616c7265616479206861732061205661756c742c2062757420776520646f6e27742077616e7420746f207265706c6163652069740a20202020202020206966287369676e65722e626f72726f773c26465553442e5661756c743e2866726f6d3a202f73746f726167652f667573645661756c742920213d206e696c29207b0a20202020202020202020202072657475726e0a20202020202020207d0a20202020202020200a20202020202020202f2f204372656174652061206e65772046555344205661756c7420616e642070757420697420696e2073746f726167650a20202020202020207369676e65722e73617665283c2d465553442e637265617465456d7074795661756c7428292c20746f3a202f73746f726167652f667573645661756c74290a0a20202020202020202f2f204372656174652061207075626c6963206361706162696c69747920746f20746865205661756c742074686174206f6e6c79206578706f7365730a20202020202020202f2f20746865206465706f7369742066756e6374696f6e207468726f7567682074686520526563656976657220696e746572666163650a20202020202020207369676e65722e6c696e6b3c26465553442e5661756c747b46756e6769626c65546f6b656e2e52656365697665727d3e280a2020202020202020202020202f7075626c69632f6675736452656365697665722c0a2020202020202020202020207461726765743a202f73746f726167652f667573645661756c740a2020202020202020290a0a20202020202020202f2f204372656174652061207075626c6963206361706162696c69747920746f20746865205661756c742074686174206f6e6c79206578706f7365730a20202020202020202f2f207468652062616c616e6365206669656c64207468726f756768207468652042616c616e636520696e746572666163650a20202020202020207369676e65722e6c696e6b3c26465553442e5661756c747b46756e6769626c65546f6b656e2e42616c616e63657d3e280a2020202020202020202020202f7075626c69632f6675736442616c616e63652c0a2020202020202020202020207461726765743a202f73746f726167652f667573645661756c740a2020202020202020290a202020207d0a7d0ac0a0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f9057ef9057ab905362f2f2054686973207472616e73616374696f6e20636f6e6669677572657320746865207369676e65722773206163636f756e74207769746820616e20656d7074792046555344207661756c742e0a2f2f0a2f2f20497420616c736f206c696e6b732074686520666f6c6c6f77696e67206361706162696c69746965733a0a2f2f0a2f2f202d2046756e6769626c65546f6b656e2e52656365697665723a2074686973206361706162696c69747920616c6c6f77732074686973206163636f756e7420746f206163636570742046555344206465706f736974732e0a2f2f202d2046756e6769626c65546f6b656e2e42616c616e63653a2074686973206361706162696c69747920616c6c6f777320616e79626f647920746f20696e73706563742074686520465553442062616c616e6365206f662074686973206163636f756e742e0a0a696d706f72742046756e6769626c65546f6b656e2066726f6d203078663233336463656538386665306162650a696d706f727420465553442066726f6d203078336335393539623536383839363339330a0a7472616e73616374696f6e207b0a0a2020202070726570617265287369676e65723a20417574684163636f756e7429207b0a0a20202020202020202f2f2049742773204f4b20696620746865206163636f756e7420616c7265616479206861732061205661756c742c2062757420776520646f6e27742077616e7420746f207265706c6163652069740a20202020202020206966287369676e65722e626f72726f773c26465553442e5661756c743e2866726f6d3a202f73746f726167652f667573645661756c742920213d206e696c29207b0a20202020202020202020202072657475726e0a20202020202020207d0a20202020202020200a20202020202020202f2f204372656174652061206e65772046555344205661756c7420616e642070757420697420696e2073746f726167650a20202020202020207369676e65722e73617665283c2d465553442e637265617465456d7074795661756c7428292c20746f3a202f73746f726167652f667573645661756c74290a0a20202020202020202f2f204372656174652061207075626c6963206361706162696c69747920746f20746865205661756c742074686174206f6e6c79206578706f7365730a20202020202020202f2f20746865206465706f7369742066756e6374696f6e207468726f7567682074686520526563656976657220696e746572666163650a20202020202020207369676e65722e6c696e6b3c26465553442e5661756c747b46756e6769626c65546f6b656e2e52656365697665727d3e280a2020202020202020202020202f7075626c69632f6675736452656365697665722c0a2020202020202020202020207461726765743a202f73746f726167652f667573645661756c740a2020202020202020290a0a20202020202020202f2f204372656174652061207075626c6963206361706162696c69747920746f20746865205661756c742074686174206f6e6c79206578706f7365730a20202020202020202f2f207468652062616c616e6365206669656c64207468726f756768207468652042616c616e636520696e746572666163650a20202020202020207369676e65722e6c696e6b3c26465553442e5661756c747b46756e6769626c65546f6b656e2e42616c616e63657d3e280a2020202020202020202020202f7075626c69632f6675736442616c616e63652c0a2020202020202020202020207461726765743a202f73746f726167652f667573645661756c740a2020202020202020290a202020207d0a7d0ac0a0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "020ffaf77ab320ce4cc9602d39b89c85f094ebcea571ed324537e703bc07b0fdc4aa7fecdf159e71bd0b029e40b22643fb443161e67796f42bac68e9bab4630e2953657475702046555344205661756c740000", - "hash": "aa7fecdf159e71bd0b029e40b22643fb443161e67796f42bac68e9bab4630e29" + "encodedTransactionPayloadHex": "f90441b9034c696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f20436f6d6d69747320756e7374616b656420746f6b656e7320746f207374616b6520666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a206175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a206175746828426f72726f7756616c75652920264163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e73746f726167652e626f72726f773c6175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f2061205374616b696e67436f6c6c656374696f6e20696e20746865207072696d61727920757365722773206163636f756e7422290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e7374616b65556e7374616b6564546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8b0b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227da07b2276616c7565223a6e756c6c2c2274797065223a224f7074696f6e616c227db07b2276616c7565223a2239323233333732303336382e3534373735383038222c2274797065223a22554669783634227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", + "encodedTransactionEnvelopeHex": "f90445f90441b9034c696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f20436f6d6d69747320756e7374616b656420746f6b656e7320746f207374616b6520666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a206175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a206175746828426f72726f7756616c75652920264163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e73746f726167652e626f72726f773c6175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f2061205374616b696e67436f6c6c656374696f6e20696e20746865207072696d61727920757365722773206163636f756e7422290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e7374616b65556e7374616b6564546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8b0b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227da07b2276616c7565223a6e756c6c2c2274797065223a224f7074696f6e616c227db07b2276616c7565223a2239323233333732303336382e3534373735383038222c2274797065223a22554669783634227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", + "metadata": "020b1721f2a8ef6c0c4121ef83c7b38f2141eebcd65c72dab9ebaafe1b4d66fea8fe6adb75bf22b2033800e916fa7e3a7810417e9a36d35320de7f4b5f7ec4f1b85374616b6520556e7374616b656420546f6b656e730003014e6f64652049440000537472696e6700030244656c656761746f72204944000155496e743332000301416d6f756e7400025546697836340003", + "hash": "fe6adb75bf22b2033800e916fa7e3a7810417e9a36d35320de7f4b5f7ec4f1b8" }, { - "title": "FUSD.02 - Transfer FUSD", + "title": "SCO.08 - Stake Unstaked Tokens - 2", "valid": true, "chainID": "Mainnet", "payloadMessage": { - "script": "// This transaction withdraws FUSD from the signer's account and deposits it into a recipient account. \n// This transaction will fail if the recipient does not have an FUSD receiver. \n// No funds are transferred or lost if the transaction fails.\n//\n// Parameters:\n// - amount: The amount of FUSD to transfer (e.g. 10.0)\n// - to: The recipient account address.\n//\n// This transaction will fail if either the sender or recipient does not have\n// an FUSD vault stored in their account. To check if an account has a vault\n// or initialize a new vault, use check_fusd_vault_setup.cdc and setup_fusd_vault.cdc\n// respectively.\n\nimport FungibleToken from 0xf233dcee88fe0abe\nimport FUSD from 0x3c5959b568896393\n\ntransaction(amount: UFix64, to: Address) {\n\n // The Vault resource that holds the tokens that are being transferred\n let sentVault: @FungibleToken.Vault\n\n prepare(signer: AuthAccount) {\n // Get a reference to the signer's stored vault\n let vaultRef = signer.borrow<&FUSD.Vault>(from: /storage/fusdVault)\n ?? panic(\"Could not borrow reference to the owner's Vault!\")\n\n // Withdraw tokens from the signer's stored vault\n self.sentVault <- vaultRef.withdraw(amount: amount)\n }\n\n execute {\n // Get the recipient's public account object\n let recipient = getAccount(to)\n\n // Get a reference to the recipient's Receiver\n let receiverRef = recipient.getCapability(/public/fusdReceiver)!.borrow<&{FungibleToken.Receiver}>()\n ?? panic(\"Could not borrow receiver reference to the recipient's Vault\")\n\n // Deposit the withdrawn tokens in the recipient's receiver\n receiverRef.deposit(from: <-self.sentVault)\n }\n}\n", + "script": "import FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// Commits unstaked tokens to stake for the specified node or delegator in the staking collection\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: auth(FlowStakingCollection.CollectionOwner) &FlowStakingCollection.StakingCollection\n\n prepare(account: auth(BorrowValue) &Account) {\n self.stakingCollectionRef = account.storage.borrow(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow a reference to a StakingCollection in the primary user's account\")\n }\n\n execute {\n self.stakingCollectionRef.stakeUnstakedTokens(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", "arguments": [ { - "type": "UFix64", - "value": "92233720368.54775808" + "type": "String", + "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" }, { - "type": "Address", - "value": "0xe467b9dd11fa00df" + "value": { + "value": "42", + "type": "UInt32" + }, + "type": "Optional" + }, + { + "value": "92233720368.54775808", + "type": "UFix64" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -7014,15 +3747,22 @@ ] }, "envelopeMessage": { - "script": "// This transaction withdraws FUSD from the signer's account and deposits it into a recipient account. \n// This transaction will fail if the recipient does not have an FUSD receiver. \n// No funds are transferred or lost if the transaction fails.\n//\n// Parameters:\n// - amount: The amount of FUSD to transfer (e.g. 10.0)\n// - to: The recipient account address.\n//\n// This transaction will fail if either the sender or recipient does not have\n// an FUSD vault stored in their account. To check if an account has a vault\n// or initialize a new vault, use check_fusd_vault_setup.cdc and setup_fusd_vault.cdc\n// respectively.\n\nimport FungibleToken from 0xf233dcee88fe0abe\nimport FUSD from 0x3c5959b568896393\n\ntransaction(amount: UFix64, to: Address) {\n\n // The Vault resource that holds the tokens that are being transferred\n let sentVault: @FungibleToken.Vault\n\n prepare(signer: AuthAccount) {\n // Get a reference to the signer's stored vault\n let vaultRef = signer.borrow<&FUSD.Vault>(from: /storage/fusdVault)\n ?? panic(\"Could not borrow reference to the owner's Vault!\")\n\n // Withdraw tokens from the signer's stored vault\n self.sentVault <- vaultRef.withdraw(amount: amount)\n }\n\n execute {\n // Get the recipient's public account object\n let recipient = getAccount(to)\n\n // Get a reference to the recipient's Receiver\n let receiverRef = recipient.getCapability(/public/fusdReceiver)!.borrow<&{FungibleToken.Receiver}>()\n ?? panic(\"Could not borrow receiver reference to the recipient's Vault\")\n\n // Deposit the withdrawn tokens in the recipient's receiver\n receiverRef.deposit(from: <-self.sentVault)\n }\n}\n", + "script": "import FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// Commits unstaked tokens to stake for the specified node or delegator in the staking collection\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: auth(FlowStakingCollection.CollectionOwner) &FlowStakingCollection.StakingCollection\n\n prepare(account: auth(BorrowValue) &Account) {\n self.stakingCollectionRef = account.storage.borrow(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow a reference to a StakingCollection in the primary user's account\")\n }\n\n execute {\n self.stakingCollectionRef.stakeUnstakedTokens(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", "arguments": [ { - "type": "UFix64", - "value": "92233720368.54775808" + "type": "String", + "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" }, { - "type": "Address", - "value": "0xe467b9dd11fa00df" + "value": { + "value": "42", + "type": "UInt32" + }, + "type": "Optional" + }, + { + "value": "92233720368.54775808", + "type": "UFix64" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -7038,18 +3778,23 @@ ], "payloadSigs": [] }, - "encodedTransactionPayloadHex": "f90759b906b32f2f2054686973207472616e73616374696f6e2077697468647261777320465553442066726f6d20746865207369676e65722773206163636f756e7420616e64206465706f7369747320697420696e746f206120726563697069656e74206163636f756e742e200a2f2f2054686973207472616e73616374696f6e2077696c6c206661696c2069662074686520726563697069656e7420646f6573206e6f74206861766520616e20465553442072656365697665722e200a2f2f204e6f2066756e647320617265207472616e73666572726564206f72206c6f737420696620746865207472616e73616374696f6e206661696c732e0a2f2f0a2f2f20506172616d65746572733a0a2f2f202d20616d6f756e743a2054686520616d6f756e74206f66204655534420746f207472616e736665722028652e672e2031302e30290a2f2f202d20746f3a2054686520726563697069656e74206163636f756e7420616464726573732e0a2f2f0a2f2f2054686973207472616e73616374696f6e2077696c6c206661696c20696620656974686572207468652073656e646572206f7220726563697069656e7420646f6573206e6f7420686176650a2f2f20616e2046555344207661756c742073746f72656420696e207468656972206163636f756e742e20546f20636865636b20696620616e206163636f756e74206861732061207661756c740a2f2f206f7220696e697469616c697a652061206e6577207661756c742c2075736520636865636b5f667573645f7661756c745f73657475702e63646320616e642073657475705f667573645f7661756c742e6364630a2f2f20726573706563746976656c792e0a0a696d706f72742046756e6769626c65546f6b656e2066726f6d203078663233336463656538386665306162650a696d706f727420465553442066726f6d203078336335393539623536383839363339330a0a7472616e73616374696f6e28616d6f756e743a205546697836342c20746f3a204164647265737329207b0a0a202020202f2f20546865205661756c74207265736f75726365207468617420686f6c64732074686520746f6b656e73207468617420617265206265696e67207472616e736665727265640a202020206c65742073656e745661756c743a204046756e6769626c65546f6b656e2e5661756c740a0a2020202070726570617265287369676e65723a20417574684163636f756e7429207b0a20202020202020202f2f204765742061207265666572656e636520746f20746865207369676e657227732073746f726564207661756c740a20202020202020206c6574207661756c74526566203d207369676e65722e626f72726f773c26465553442e5661756c743e2866726f6d3a202f73746f726167652f667573645661756c74290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f20746865206f776e65722773205661756c742122290a0a20202020202020202f2f20576974686472617720746f6b656e732066726f6d20746865207369676e657227732073746f726564207661756c740a202020202020202073656c662e73656e745661756c74203c2d207661756c745265662e776974686472617728616d6f756e743a20616d6f756e74290a202020207d0a0a2020202065786563757465207b0a20202020202020202f2f204765742074686520726563697069656e742773207075626c6963206163636f756e74206f626a6563740a20202020202020206c657420726563697069656e74203d206765744163636f756e7428746f290a0a20202020202020202f2f204765742061207265666572656e636520746f2074686520726563697069656e7427732052656365697665720a20202020202020206c6574207265636569766572526566203d20726563697069656e742e6765744361706162696c697479282f7075626c69632f66757364526563656976657229212e626f72726f773c267b46756e6769626c65546f6b656e2e52656365697665727d3e28290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265636569766572207265666572656e636520746f2074686520726563697069656e742773205661756c7422290a0a20202020202020202f2f204465706f736974207468652077697468647261776e20746f6b656e7320696e2074686520726563697069656e7427732072656365697665720a202020202020202072656365697665725265662e6465706f7369742866726f6d3a203c2d73656c662e73656e745661756c74290a202020207d0a7d0af861b07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227daf7b2274797065223a2241646472657373222c2276616c7565223a22307865343637623964643131666130306466227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f9075df90759b906b32f2f2054686973207472616e73616374696f6e2077697468647261777320465553442066726f6d20746865207369676e65722773206163636f756e7420616e64206465706f7369747320697420696e746f206120726563697069656e74206163636f756e742e200a2f2f2054686973207472616e73616374696f6e2077696c6c206661696c2069662074686520726563697069656e7420646f6573206e6f74206861766520616e20465553442072656365697665722e200a2f2f204e6f2066756e647320617265207472616e73666572726564206f72206c6f737420696620746865207472616e73616374696f6e206661696c732e0a2f2f0a2f2f20506172616d65746572733a0a2f2f202d20616d6f756e743a2054686520616d6f756e74206f66204655534420746f207472616e736665722028652e672e2031302e30290a2f2f202d20746f3a2054686520726563697069656e74206163636f756e7420616464726573732e0a2f2f0a2f2f2054686973207472616e73616374696f6e2077696c6c206661696c20696620656974686572207468652073656e646572206f7220726563697069656e7420646f6573206e6f7420686176650a2f2f20616e2046555344207661756c742073746f72656420696e207468656972206163636f756e742e20546f20636865636b20696620616e206163636f756e74206861732061207661756c740a2f2f206f7220696e697469616c697a652061206e6577207661756c742c2075736520636865636b5f667573645f7661756c745f73657475702e63646320616e642073657475705f667573645f7661756c742e6364630a2f2f20726573706563746976656c792e0a0a696d706f72742046756e6769626c65546f6b656e2066726f6d203078663233336463656538386665306162650a696d706f727420465553442066726f6d203078336335393539623536383839363339330a0a7472616e73616374696f6e28616d6f756e743a205546697836342c20746f3a204164647265737329207b0a0a202020202f2f20546865205661756c74207265736f75726365207468617420686f6c64732074686520746f6b656e73207468617420617265206265696e67207472616e736665727265640a202020206c65742073656e745661756c743a204046756e6769626c65546f6b656e2e5661756c740a0a2020202070726570617265287369676e65723a20417574684163636f756e7429207b0a20202020202020202f2f204765742061207265666572656e636520746f20746865207369676e657227732073746f726564207661756c740a20202020202020206c6574207661756c74526566203d207369676e65722e626f72726f773c26465553442e5661756c743e2866726f6d3a202f73746f726167652f667573645661756c74290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f20746865206f776e65722773205661756c742122290a0a20202020202020202f2f20576974686472617720746f6b656e732066726f6d20746865207369676e657227732073746f726564207661756c740a202020202020202073656c662e73656e745661756c74203c2d207661756c745265662e776974686472617728616d6f756e743a20616d6f756e74290a202020207d0a0a2020202065786563757465207b0a20202020202020202f2f204765742074686520726563697069656e742773207075626c6963206163636f756e74206f626a6563740a20202020202020206c657420726563697069656e74203d206765744163636f756e7428746f290a0a20202020202020202f2f204765742061207265666572656e636520746f2074686520726563697069656e7427732052656365697665720a20202020202020206c6574207265636569766572526566203d20726563697069656e742e6765744361706162696c697479282f7075626c69632f66757364526563656976657229212e626f72726f773c267b46756e6769626c65546f6b656e2e52656365697665727d3e28290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265636569766572207265666572656e636520746f2074686520726563697069656e742773205661756c7422290a0a20202020202020202f2f204465706f736974207468652077697468647261776e20746f6b656e7320696e2074686520726563697069656e7427732072656365697665720a202020202020202072656365697665725265662e6465706f7369742866726f6d3a203c2d73656c662e73656e745661756c74290a202020207d0a7d0af861b07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227daf7b2274797065223a2241646472657373222c2276616c7565223a22307865343637623964643131666130306466227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "02f22ca4b350a79c724f6471d5a6a7a0efa7ba9aeebb7fed2843a3ddd6e42c2e1c180cef7053a5f0ae66e19e3a96cc3b9eb7da29767fb5d6938239bf1f8e1dc2845472616e736665722046555344000201416d6f756e740000554669783634000301526563697069656e740001416464726573730003", - "hash": "180cef7053a5f0ae66e19e3a96cc3b9eb7da29767fb5d6938239bf1f8e1dc284" + "encodedTransactionPayloadHex": "f9045cb9034c696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f20436f6d6d69747320756e7374616b656420746f6b656e7320746f207374616b6520666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a206175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a206175746828426f72726f7756616c75652920264163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e73746f726167652e626f72726f773c6175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f2061205374616b696e67436f6c6c656374696f6e20696e20746865207072696d61727920757365722773206163636f756e7422290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e7374616b65556e7374616b6564546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8cbb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db83a7b2276616c7565223a7b2276616c7565223a223432222c2274797065223a2255496e743332227d2c2274797065223a224f7074696f6e616c227db07b2276616c7565223a2239323233333732303336382e3534373735383038222c2274797065223a22554669783634227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", + "encodedTransactionEnvelopeHex": "f90460f9045cb9034c696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f20436f6d6d69747320756e7374616b656420746f6b656e7320746f207374616b6520666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a206175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a206175746828426f72726f7756616c75652920264163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e73746f726167652e626f72726f773c6175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f2061205374616b696e67436f6c6c656374696f6e20696e20746865207072696d61727920757365722773206163636f756e7422290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e7374616b65556e7374616b6564546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8cbb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db83a7b2276616c7565223a7b2276616c7565223a223432222c2274797065223a2255496e743332227d2c2274797065223a224f7074696f6e616c227db07b2276616c7565223a2239323233333732303336382e3534373735383038222c2274797065223a22554669783634227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", + "metadata": "020b1721f2a8ef6c0c4121ef83c7b38f2141eebcd65c72dab9ebaafe1b4d66fea8fe6adb75bf22b2033800e916fa7e3a7810417e9a36d35320de7f4b5f7ec4f1b85374616b6520556e7374616b656420546f6b656e730003014e6f64652049440000537472696e6700030244656c656761746f72204944000155496e743332000301416d6f756e7400025546697836340003", + "hash": "fe6adb75bf22b2033800e916fa7e3a7810417e9a36d35320de7f4b5f7ec4f1b8" }, { - "title": "TS.01 - Set up Top Shot Collection", + "title": "SCO.09 - Unstake All", "valid": true, "chainID": "Mainnet", "payloadMessage": { - "script": "import TopShot from 0x0b2a3299cc857e29\n\n// This transaction sets up an account to use Top Shot\n// by storing an empty moment collection and creating\n// a public capability for it\n\ntransaction {\n\n prepare(acct: AuthAccount) {\n\n // First, check to see if a moment collection already exists\n if acct.borrow<&TopShot.Collection>(from: /storage/MomentCollection) == nil {\n\n // create a new TopShot Collection\n let collection <- TopShot.createEmptyCollection() as! @TopShot.Collection\n\n // Put the new Collection in storage\n acct.save(<-collection, to: /storage/MomentCollection)\n\n // create a public capability for the collection\n acct.link<&{TopShot.MomentCollectionPublic}>(/public/MomentCollection, target: /storage/MomentCollection)\n }\n }\n}", - "arguments": [], + "script": "import FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// Requests to unstake ALL tokens for the specified node or delegator in the staking collection\n\ntransaction(nodeID: String) {\n \n let stakingCollectionRef: auth(FlowStakingCollection.CollectionOwner) &FlowStakingCollection.StakingCollection\n\n prepare(account: auth(BorrowValue) &Account) {\n self.stakingCollectionRef = account.storage.borrow(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow a reference to a StakingCollection in the primary user's account\")\n }\n\n execute {\n self.stakingCollectionRef.unstakeAll(nodeID: nodeID)\n }\n}\n", + "arguments": [ + { + "type": "String", + "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" + } + ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", "gasLimit": 42, "proposalKey": { @@ -7063,8 +3808,13 @@ ] }, "envelopeMessage": { - "script": "import TopShot from 0x0b2a3299cc857e29\n\n// This transaction sets up an account to use Top Shot\n// by storing an empty moment collection and creating\n// a public capability for it\n\ntransaction {\n\n prepare(acct: AuthAccount) {\n\n // First, check to see if a moment collection already exists\n if acct.borrow<&TopShot.Collection>(from: /storage/MomentCollection) == nil {\n\n // create a new TopShot Collection\n let collection <- TopShot.createEmptyCollection() as! @TopShot.Collection\n\n // Put the new Collection in storage\n acct.save(<-collection, to: /storage/MomentCollection)\n\n // create a public capability for the collection\n acct.link<&{TopShot.MomentCollectionPublic}>(/public/MomentCollection, target: /storage/MomentCollection)\n }\n }\n}", - "arguments": [], + "script": "import FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// Requests to unstake ALL tokens for the specified node or delegator in the staking collection\n\ntransaction(nodeID: String) {\n \n let stakingCollectionRef: auth(FlowStakingCollection.CollectionOwner) &FlowStakingCollection.StakingCollection\n\n prepare(account: auth(BorrowValue) &Account) {\n self.stakingCollectionRef = account.storage.borrow(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow a reference to a StakingCollection in the primary user's account\")\n }\n\n execute {\n self.stakingCollectionRef.unstakeAll(nodeID: nodeID)\n }\n}\n", + "arguments": [ + { + "type": "String", + "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" + } + ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", "gasLimit": 42, "proposalKey": { @@ -7078,25 +3828,32 @@ ], "payloadSigs": [] }, - "encodedTransactionPayloadHex": "f90384b90340696d706f727420546f7053686f742066726f6d203078306232613332393963633835376532390a0a2f2f2054686973207472616e73616374696f6e207365747320757020616e206163636f756e7420746f2075736520546f702053686f740a2f2f2062792073746f72696e6720616e20656d707479206d6f6d656e7420636f6c6c656374696f6e20616e64206372656174696e670a2f2f2061207075626c6963206361706162696c69747920666f722069740a0a7472616e73616374696f6e207b0a0a202020207072657061726528616363743a20417574684163636f756e7429207b0a0a20202020202020202f2f2046697273742c20636865636b20746f207365652069662061206d6f6d656e7420636f6c6c656374696f6e20616c7265616479206578697374730a2020202020202020696620616363742e626f72726f773c26546f7053686f742e436f6c6c656374696f6e3e2866726f6d3a202f73746f726167652f4d6f6d656e74436f6c6c656374696f6e29203d3d206e696c207b0a0a2020202020202020202020202f2f206372656174652061206e657720546f7053686f7420436f6c6c656374696f6e0a2020202020202020202020206c657420636f6c6c656374696f6e203c2d20546f7053686f742e637265617465456d707479436f6c6c656374696f6e2829206173212040546f7053686f742e436f6c6c656374696f6e0a0a2020202020202020202020202f2f2050757420746865206e657720436f6c6c656374696f6e20696e2073746f726167650a202020202020202020202020616363742e73617665283c2d636f6c6c656374696f6e2c20746f3a202f73746f726167652f4d6f6d656e74436f6c6c656374696f6e290a0a2020202020202020202020202f2f206372656174652061207075626c6963206361706162696c69747920666f722074686520636f6c6c656374696f6e0a202020202020202020202020616363742e6c696e6b3c267b546f7053686f742e4d6f6d656e74436f6c6c656374696f6e5075626c69637d3e282f7075626c69632f4d6f6d656e74436f6c6c656374696f6e2c207461726765743a202f73746f726167652f4d6f6d656e74436f6c6c656374696f6e290a20202020202020207d0a202020207d0a7dc0a0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f90388f90384b90340696d706f727420546f7053686f742066726f6d203078306232613332393963633835376532390a0a2f2f2054686973207472616e73616374696f6e207365747320757020616e206163636f756e7420746f2075736520546f702053686f740a2f2f2062792073746f72696e6720616e20656d707479206d6f6d656e7420636f6c6c656374696f6e20616e64206372656174696e670a2f2f2061207075626c6963206361706162696c69747920666f722069740a0a7472616e73616374696f6e207b0a0a202020207072657061726528616363743a20417574684163636f756e7429207b0a0a20202020202020202f2f2046697273742c20636865636b20746f207365652069662061206d6f6d656e7420636f6c6c656374696f6e20616c7265616479206578697374730a2020202020202020696620616363742e626f72726f773c26546f7053686f742e436f6c6c656374696f6e3e2866726f6d3a202f73746f726167652f4d6f6d656e74436f6c6c656374696f6e29203d3d206e696c207b0a0a2020202020202020202020202f2f206372656174652061206e657720546f7053686f7420436f6c6c656374696f6e0a2020202020202020202020206c657420636f6c6c656374696f6e203c2d20546f7053686f742e637265617465456d707479436f6c6c656374696f6e2829206173212040546f7053686f742e436f6c6c656374696f6e0a0a2020202020202020202020202f2f2050757420746865206e657720436f6c6c656374696f6e20696e2073746f726167650a202020202020202020202020616363742e73617665283c2d636f6c6c656374696f6e2c20746f3a202f73746f726167652f4d6f6d656e74436f6c6c656374696f6e290a0a2020202020202020202020202f2f206372656174652061207075626c6963206361706162696c69747920666f722074686520636f6c6c656374696f6e0a202020202020202020202020616363742e6c696e6b3c267b546f7053686f742e4d6f6d656e74436f6c6c656374696f6e5075626c69637d3e282f7075626c69632f4d6f6d656e74436f6c6c656374696f6e2c207461726765743a202f73746f726167652f4d6f6d656e74436f6c6c656374696f6e290a20202020202020207d0a202020207d0a7dc0a0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "020f0baeef9353ceee607c5be3b7c0f86792dadf20b9e9c89e831adb0199e758827511848f1c27a173d966f4b868fd7efead7eeb1bbf04fc3f3e60dabc6c7f759353657420757020546f702053686f7420436f6c6c656374696f6e0000", - "hash": "7511848f1c27a173d966f4b868fd7efead7eeb1bbf04fc3f3e60dabc6c7f7593" + "encodedTransactionPayloadHex": "f90394b902f1696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f20526571756573747320746f20756e7374616b6520414c4c20746f6b656e7320666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a0a7472616e73616374696f6e286e6f646549443a20537472696e6729207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a206175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a206175746828426f72726f7756616c75652920264163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e73746f726167652e626f72726f773c6175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f2061205374616b696e67436f6c6c656374696f6e20696e20746865207072696d61727920757365722773206163636f756e7422290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e756e7374616b65416c6c286e6f646549443a206e6f64654944290a202020207d0a7d0af85eb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", + "encodedTransactionEnvelopeHex": "f90398f90394b902f1696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f20526571756573747320746f20756e7374616b6520414c4c20746f6b656e7320666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a0a7472616e73616374696f6e286e6f646549443a20537472696e6729207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a206175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a206175746828426f72726f7756616c75652920264163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e73746f726167652e626f72726f773c6175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f2061205374616b696e67436f6c6c656374696f6e20696e20746865207072696d61727920757365722773206163636f756e7422290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e756e7374616b65416c6c286e6f646549443a206e6f64654944290a202020207d0a7d0af85eb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", + "metadata": "02c84843e3399be2ce95ea00e7c17d72db3c5c3363ec008c7a1c1cfa5b6afe70ae1c8256fb857f6c6fd929511ecac8624d0159877cf72c884f7128297dfb069510556e7374616b6520416c6c0001014e6f64652049440000537472696e670003", + "hash": "1c8256fb857f6c6fd929511ecac8624d0159877cf72c884f7128297dfb069510" }, { - "title": "TS.02 - Transfer Top Shot Moment", + "title": "SCO.10 - Withdraw Rewarded Tokens - 1", "valid": true, "chainID": "Mainnet", "payloadMessage": { - "script": "import NonFungibleToken from 0x1d7e57aa55817448\nimport TopShot from 0x0b2a3299cc857e29\n\n// This transaction transfers a moment to a recipient\n\n// This transaction is how a topshot user would transfer a moment\n// from their account to another account\n// The recipient must have a TopShot Collection object stored\n// and a public MomentCollectionPublic capability stored at\n// `/public/MomentCollection`\n\n// Parameters:\n//\n// recipient: The Flow address of the account to receive the moment.\n// withdrawID: The id of the moment to be transferred\n\ntransaction(recipient: Address, withdrawID: UInt64) {\n\n // local variable for storing the transferred token\n let transferToken: @NonFungibleToken.NFT\n \n prepare(acct: AuthAccount) {\n\n // borrow a reference to the owner's collection\n let collectionRef = acct.borrow<&TopShot.Collection>(from: /storage/MomentCollection)\n ?? panic(\"Could not borrow a reference to the stored Moment collection\")\n \n // withdraw the NFT\n self.transferToken <- collectionRef.withdraw(withdrawID: withdrawID)\n }\n\n execute {\n \n // get the recipient's public account object\n let recipient = getAccount(recipient)\n\n // get the Collection reference for the receiver\n let receiverRef = recipient.getCapability(/public/MomentCollection).borrow<&{TopShot.MomentCollectionPublic}>()!\n\n // deposit the NFT in the receivers collection\n receiverRef.deposit(token: <-self.transferToken)\n }\n}", + "script": "import FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// Request to withdraw rewarded tokens for the specified node or delegator in the staking collection\n/// The tokens are automatically deposited to the unlocked account vault first,\n/// And then any locked tokens are deposited into the locked account vault\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: auth(FlowStakingCollection.CollectionOwner) &FlowStakingCollection.StakingCollection\n\n prepare(account: auth(BorrowValue) &Account) {\n self.stakingCollectionRef = account.storage.borrow(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow a reference to a StakingCollection in the primary user's account\")\n }\n\n execute {\n self.stakingCollectionRef.withdrawRewardedTokens(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", "arguments": [ { - "type": "Address", - "value": "0xe467b9dd11fa00df" + "type": "String", + "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" + }, + { + "value": { + "value": "42", + "type": "UInt32" + }, + "type": "Optional" }, { - "type": "UInt64", - "value": "42" + "value": "92233720368.54775808", + "type": "UFix64" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -7112,15 +3869,22 @@ ] }, "envelopeMessage": { - "script": "import NonFungibleToken from 0x1d7e57aa55817448\nimport TopShot from 0x0b2a3299cc857e29\n\n// This transaction transfers a moment to a recipient\n\n// This transaction is how a topshot user would transfer a moment\n// from their account to another account\n// The recipient must have a TopShot Collection object stored\n// and a public MomentCollectionPublic capability stored at\n// `/public/MomentCollection`\n\n// Parameters:\n//\n// recipient: The Flow address of the account to receive the moment.\n// withdrawID: The id of the moment to be transferred\n\ntransaction(recipient: Address, withdrawID: UInt64) {\n\n // local variable for storing the transferred token\n let transferToken: @NonFungibleToken.NFT\n \n prepare(acct: AuthAccount) {\n\n // borrow a reference to the owner's collection\n let collectionRef = acct.borrow<&TopShot.Collection>(from: /storage/MomentCollection)\n ?? panic(\"Could not borrow a reference to the stored Moment collection\")\n \n // withdraw the NFT\n self.transferToken <- collectionRef.withdraw(withdrawID: withdrawID)\n }\n\n execute {\n \n // get the recipient's public account object\n let recipient = getAccount(recipient)\n\n // get the Collection reference for the receiver\n let receiverRef = recipient.getCapability(/public/MomentCollection).borrow<&{TopShot.MomentCollectionPublic}>()!\n\n // deposit the NFT in the receivers collection\n receiverRef.deposit(token: <-self.transferToken)\n }\n}", + "script": "import FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// Request to withdraw rewarded tokens for the specified node or delegator in the staking collection\n/// The tokens are automatically deposited to the unlocked account vault first,\n/// And then any locked tokens are deposited into the locked account vault\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: auth(FlowStakingCollection.CollectionOwner) &FlowStakingCollection.StakingCollection\n\n prepare(account: auth(BorrowValue) &Account) {\n self.stakingCollectionRef = account.storage.borrow(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow a reference to a StakingCollection in the primary user's account\")\n }\n\n execute {\n self.stakingCollectionRef.withdrawRewardedTokens(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", "arguments": [ { - "type": "Address", - "value": "0xe467b9dd11fa00df" + "type": "String", + "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" + }, + { + "value": { + "value": "42", + "type": "UInt32" + }, + "type": "Optional" }, { - "type": "UInt64", - "value": "42" + "value": "92233720368.54775808", + "type": "UFix64" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -7136,18 +3900,31 @@ ], "payloadSigs": [] }, - "encodedTransactionPayloadHex": "f90681b905ed696d706f7274204e6f6e46756e6769626c65546f6b656e2066726f6d203078316437653537616135353831373434380a696d706f727420546f7053686f742066726f6d203078306232613332393963633835376532390a0a2f2f2054686973207472616e73616374696f6e207472616e73666572732061206d6f6d656e7420746f206120726563697069656e740a0a2f2f2054686973207472616e73616374696f6e20697320686f77206120746f7073686f74207573657220776f756c64207472616e736665722061206d6f6d656e740a2f2f2066726f6d207468656972206163636f756e7420746f20616e6f74686572206163636f756e740a2f2f2054686520726563697069656e74206d7573742068617665206120546f7053686f7420436f6c6c656374696f6e206f626a6563742073746f7265640a2f2f20616e642061207075626c6963204d6f6d656e74436f6c6c656374696f6e5075626c6963206361706162696c6974792073746f7265642061740a2f2f20602f7075626c69632f4d6f6d656e74436f6c6c656374696f6e600a0a2f2f20506172616d65746572733a0a2f2f0a2f2f20726563697069656e743a2054686520466c6f772061646472657373206f6620746865206163636f756e7420746f207265636569766520746865206d6f6d656e742e0a2f2f20776974686472617749443a20546865206964206f6620746865206d6f6d656e7420746f206265207472616e736665727265640a0a7472616e73616374696f6e28726563697069656e743a20416464726573732c20776974686472617749443a2055496e74363429207b0a0a202020202f2f206c6f63616c207661726961626c6520666f722073746f72696e6720746865207472616e7366657272656420746f6b656e0a202020206c6574207472616e73666572546f6b656e3a20404e6f6e46756e6769626c65546f6b656e2e4e46540a202020200a202020207072657061726528616363743a20417574684163636f756e7429207b0a0a20202020202020202f2f20626f72726f772061207265666572656e636520746f20746865206f776e6572277320636f6c6c656374696f6e0a20202020202020206c657420636f6c6c656374696f6e526566203d20616363742e626f72726f773c26546f7053686f742e436f6c6c656374696f6e3e2866726f6d3a202f73746f726167652f4d6f6d656e74436f6c6c656374696f6e290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f207468652073746f726564204d6f6d656e7420636f6c6c656374696f6e22290a20202020202020200a20202020202020202f2f20776974686472617720746865204e46540a202020202020202073656c662e7472616e73666572546f6b656e203c2d20636f6c6c656374696f6e5265662e776974686472617728776974686472617749443a2077697468647261774944290a202020207d0a0a2020202065786563757465207b0a20202020202020200a20202020202020202f2f206765742074686520726563697069656e742773207075626c6963206163636f756e74206f626a6563740a20202020202020206c657420726563697069656e74203d206765744163636f756e7428726563697069656e74290a0a20202020202020202f2f206765742074686520436f6c6c656374696f6e207265666572656e636520666f72207468652072656365697665720a20202020202020206c6574207265636569766572526566203d20726563697069656e742e6765744361706162696c697479282f7075626c69632f4d6f6d656e74436f6c6c656374696f6e292e626f72726f773c267b546f7053686f742e4d6f6d656e74436f6c6c656374696f6e5075626c69637d3e2829210a0a20202020202020202f2f206465706f73697420746865204e465420696e207468652072656365697665727320636f6c6c656374696f6e0a202020202020202072656365697665725265662e6465706f73697428746f6b656e3a203c2d73656c662e7472616e73666572546f6b656e290a202020207d0a7df84faf7b2274797065223a2241646472657373222c2276616c7565223a22307865343637623964643131666130306466227d9e7b2274797065223a2255496e743634222c2276616c7565223a223432227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f90685f90681b905ed696d706f7274204e6f6e46756e6769626c65546f6b656e2066726f6d203078316437653537616135353831373434380a696d706f727420546f7053686f742066726f6d203078306232613332393963633835376532390a0a2f2f2054686973207472616e73616374696f6e207472616e73666572732061206d6f6d656e7420746f206120726563697069656e740a0a2f2f2054686973207472616e73616374696f6e20697320686f77206120746f7073686f74207573657220776f756c64207472616e736665722061206d6f6d656e740a2f2f2066726f6d207468656972206163636f756e7420746f20616e6f74686572206163636f756e740a2f2f2054686520726563697069656e74206d7573742068617665206120546f7053686f7420436f6c6c656374696f6e206f626a6563742073746f7265640a2f2f20616e642061207075626c6963204d6f6d656e74436f6c6c656374696f6e5075626c6963206361706162696c6974792073746f7265642061740a2f2f20602f7075626c69632f4d6f6d656e74436f6c6c656374696f6e600a0a2f2f20506172616d65746572733a0a2f2f0a2f2f20726563697069656e743a2054686520466c6f772061646472657373206f6620746865206163636f756e7420746f207265636569766520746865206d6f6d656e742e0a2f2f20776974686472617749443a20546865206964206f6620746865206d6f6d656e7420746f206265207472616e736665727265640a0a7472616e73616374696f6e28726563697069656e743a20416464726573732c20776974686472617749443a2055496e74363429207b0a0a202020202f2f206c6f63616c207661726961626c6520666f722073746f72696e6720746865207472616e7366657272656420746f6b656e0a202020206c6574207472616e73666572546f6b656e3a20404e6f6e46756e6769626c65546f6b656e2e4e46540a202020200a202020207072657061726528616363743a20417574684163636f756e7429207b0a0a20202020202020202f2f20626f72726f772061207265666572656e636520746f20746865206f776e6572277320636f6c6c656374696f6e0a20202020202020206c657420636f6c6c656374696f6e526566203d20616363742e626f72726f773c26546f7053686f742e436f6c6c656374696f6e3e2866726f6d3a202f73746f726167652f4d6f6d656e74436f6c6c656374696f6e290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f207468652073746f726564204d6f6d656e7420636f6c6c656374696f6e22290a20202020202020200a20202020202020202f2f20776974686472617720746865204e46540a202020202020202073656c662e7472616e73666572546f6b656e203c2d20636f6c6c656374696f6e5265662e776974686472617728776974686472617749443a2077697468647261774944290a202020207d0a0a2020202065786563757465207b0a20202020202020200a20202020202020202f2f206765742074686520726563697069656e742773207075626c6963206163636f756e74206f626a6563740a20202020202020206c657420726563697069656e74203d206765744163636f756e7428726563697069656e74290a0a20202020202020202f2f206765742074686520436f6c6c656374696f6e207265666572656e636520666f72207468652072656365697665720a20202020202020206c6574207265636569766572526566203d20726563697069656e742e6765744361706162696c697479282f7075626c69632f4d6f6d656e74436f6c6c656374696f6e292e626f72726f773c267b546f7053686f742e4d6f6d656e74436f6c6c656374696f6e5075626c69637d3e2829210a0a20202020202020202f2f206465706f73697420746865204e465420696e207468652072656365697665727320636f6c6c656374696f6e0a202020202020202072656365697665725265662e6465706f73697428746f6b656e3a203c2d73656c662e7472616e73666572546f6b656e290a202020207d0a7df84faf7b2274797065223a2241646472657373222c2276616c7565223a22307865343637623964643131666130306466227d9e7b2274797065223a2255496e743634222c2276616c7565223a223432227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "021ec9aea0b51409610f882f5ae4278567da675542bb378eb999f05b7c4f12f7d809d5ad21bf70dfe4f8d800db9e61a77f2f64837ae0e818c3cd67e9cea837a1cf5472616e7366657220546f702053686f74204d6f6d656e74000201526563697069656e740000416464726573730003014d6f6d656e74204944000155496e7436340003", - "hash": "09d5ad21bf70dfe4f8d800db9e61a77f2f64837ae0e818c3cd67e9cea837a1cf" + "encodedTransactionPayloadHex": "f904fdb903ed696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f205265717565737420746f20776974686472617720726577617264656420746f6b656e7320666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f2054686520746f6b656e7320617265206175746f6d61746963616c6c79206465706f736974656420746f2074686520756e6c6f636b6564206163636f756e74207661756c742066697273742c0a2f2f2f20416e64207468656e20616e79206c6f636b656420746f6b656e7320617265206465706f736974656420696e746f20746865206c6f636b6564206163636f756e74207661756c740a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a206175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a206175746828426f72726f7756616c75652920264163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e73746f726167652e626f72726f773c6175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f2061205374616b696e67436f6c6c656374696f6e20696e20746865207072696d61727920757365722773206163636f756e7422290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e77697468647261775265776172646564546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8cbb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db83a7b2276616c7565223a7b2276616c7565223a223432222c2274797065223a2255496e743332227d2c2274797065223a224f7074696f6e616c227db07b2276616c7565223a2239323233333732303336382e3534373735383038222c2274797065223a22554669783634227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", + "encodedTransactionEnvelopeHex": "f90501f904fdb903ed696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f205265717565737420746f20776974686472617720726577617264656420746f6b656e7320666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f2054686520746f6b656e7320617265206175746f6d61746963616c6c79206465706f736974656420746f2074686520756e6c6f636b6564206163636f756e74207661756c742066697273742c0a2f2f2f20416e64207468656e20616e79206c6f636b656420746f6b656e7320617265206465706f736974656420696e746f20746865206c6f636b6564206163636f756e74207661756c740a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a206175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a206175746828426f72726f7756616c75652920264163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e73746f726167652e626f72726f773c6175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f2061205374616b696e67436f6c6c656374696f6e20696e20746865207072696d61727920757365722773206163636f756e7422290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e77697468647261775265776172646564546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8cbb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db83a7b2276616c7565223a7b2276616c7565223a223432222c2274797065223a2255496e743332227d2c2274797065223a224f7074696f6e616c227db07b2276616c7565223a2239323233333732303336382e3534373735383038222c2274797065223a22554669783634227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", + "metadata": "025a07ca4c016973bdeb168590e111b2c2855833b5ece11ffb28b08b8668f258a8fbd8ebbfff7a88b6b667ff4e3f9f904eaaba71cbf02a140f3b7007c61fbd8f34576974686472617720526577617264656420546f6b656e730003014e6f64652049440000537472696e6700030244656c656761746f72204944000155496e743332000301416d6f756e7400025546697836340003", + "hash": "fbd8ebbfff7a88b6b667ff4e3f9f904eaaba71cbf02a140f3b7007c61fbd8f34" }, { - "title": "USDC.01 - Setup USDC Vault", + "title": "SCO.10 - Withdraw Rewarded Tokens - 2", "valid": true, "chainID": "Mainnet", "payloadMessage": { - "script": "import FungibleToken from 0xf233dcee88fe0abe\nimport FiatToken from 0xb19436aae4d94622\n\ntransaction {\n\n prepare(signer: AuthAccount) {\n\n // Return early if the account already stores a FiatToken Vault\n if signer.borrow<&FiatToken.Vault>(from: FiatToken.VaultStoragePath) != nil {\n return\n }\n\n // Create a new ExampleToken Vault and put it in storage\n signer.save(\n <-FiatToken.createEmptyVault(),\n to: FiatToken.VaultStoragePath\n )\n\n // Create a public capability to the Vault that only exposes\n // the deposit function through the Receiver interface\n signer.link<&FiatToken.Vault{FungibleToken.Receiver}>(\n FiatToken.VaultReceiverPubPath,\n target: FiatToken.VaultStoragePath\n )\n\n // Create a public capability to the Vault that only exposes\n // the UUID() function through the VaultUUID interface\n signer.link<&FiatToken.Vault{FiatToken.ResourceId}>(\n FiatToken.VaultUUIDPubPath,\n target: FiatToken.VaultStoragePath\n )\n\n // Create a public capability to the Vault that only exposes\n // the balance field through the Balance interface\n signer.link<&FiatToken.Vault{FungibleToken.Balance}>(\n FiatToken.VaultBalancePubPath,\n target: FiatToken.VaultStoragePath\n )\n\n }\n}\n", - "arguments": [], + "script": "import FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// Request to withdraw rewarded tokens for the specified node or delegator in the staking collection\n/// The tokens are automatically deposited to the unlocked account vault first,\n/// And then any locked tokens are deposited into the locked account vault\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: auth(FlowStakingCollection.CollectionOwner) &FlowStakingCollection.StakingCollection\n\n prepare(account: auth(BorrowValue) &Account) {\n self.stakingCollectionRef = account.storage.borrow(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow a reference to a StakingCollection in the primary user's account\")\n }\n\n execute {\n self.stakingCollectionRef.withdrawRewardedTokens(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", + "arguments": [ + { + "type": "String", + "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" + }, + { + "value": null, + "type": "Optional" + }, + { + "value": "92233720368.54775808", + "type": "UFix64" + } + ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", "gasLimit": 42, "proposalKey": { @@ -7161,8 +3938,21 @@ ] }, "envelopeMessage": { - "script": "import FungibleToken from 0xf233dcee88fe0abe\nimport FiatToken from 0xb19436aae4d94622\n\ntransaction {\n\n prepare(signer: AuthAccount) {\n\n // Return early if the account already stores a FiatToken Vault\n if signer.borrow<&FiatToken.Vault>(from: FiatToken.VaultStoragePath) != nil {\n return\n }\n\n // Create a new ExampleToken Vault and put it in storage\n signer.save(\n <-FiatToken.createEmptyVault(),\n to: FiatToken.VaultStoragePath\n )\n\n // Create a public capability to the Vault that only exposes\n // the deposit function through the Receiver interface\n signer.link<&FiatToken.Vault{FungibleToken.Receiver}>(\n FiatToken.VaultReceiverPubPath,\n target: FiatToken.VaultStoragePath\n )\n\n // Create a public capability to the Vault that only exposes\n // the UUID() function through the VaultUUID interface\n signer.link<&FiatToken.Vault{FiatToken.ResourceId}>(\n FiatToken.VaultUUIDPubPath,\n target: FiatToken.VaultStoragePath\n )\n\n // Create a public capability to the Vault that only exposes\n // the balance field through the Balance interface\n signer.link<&FiatToken.Vault{FungibleToken.Balance}>(\n FiatToken.VaultBalancePubPath,\n target: FiatToken.VaultStoragePath\n )\n\n }\n}\n", - "arguments": [], + "script": "import FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// Request to withdraw rewarded tokens for the specified node or delegator in the staking collection\n/// The tokens are automatically deposited to the unlocked account vault first,\n/// And then any locked tokens are deposited into the locked account vault\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: auth(FlowStakingCollection.CollectionOwner) &FlowStakingCollection.StakingCollection\n\n prepare(account: auth(BorrowValue) &Account) {\n self.stakingCollectionRef = account.storage.borrow(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow a reference to a StakingCollection in the primary user's account\")\n }\n\n execute {\n self.stakingCollectionRef.withdrawRewardedTokens(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", + "arguments": [ + { + "type": "String", + "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" + }, + { + "value": null, + "type": "Optional" + }, + { + "value": "92233720368.54775808", + "type": "UFix64" + } + ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", "gasLimit": 42, "proposalKey": { @@ -7176,25 +3966,29 @@ ], "payloadSigs": [] }, - "encodedTransactionPayloadHex": "f905b9b90575696d706f72742046756e6769626c65546f6b656e2066726f6d203078663233336463656538386665306162650a696d706f72742046696174546f6b656e2066726f6d203078623139343336616165346439343632320a0a7472616e73616374696f6e207b0a0a2020202070726570617265287369676e65723a20417574684163636f756e7429207b0a0a20202020202020202f2f2052657475726e206561726c7920696620746865206163636f756e7420616c72656164792073746f72657320612046696174546f6b656e205661756c740a20202020202020206966207369676e65722e626f72726f773c2646696174546f6b656e2e5661756c743e2866726f6d3a2046696174546f6b656e2e5661756c7453746f72616765506174682920213d206e696c207b0a20202020202020202020202072657475726e0a20202020202020207d0a0a20202020202020202f2f204372656174652061206e6577204578616d706c65546f6b656e205661756c7420616e642070757420697420696e2073746f726167650a20202020202020207369676e65722e73617665280a2020202020202020202020203c2d46696174546f6b656e2e637265617465456d7074795661756c7428292c0a202020202020202020202020746f3a2046696174546f6b656e2e5661756c7453746f72616765506174680a2020202020202020290a0a20202020202020202f2f204372656174652061207075626c6963206361706162696c69747920746f20746865205661756c742074686174206f6e6c79206578706f7365730a20202020202020202f2f20746865206465706f7369742066756e6374696f6e207468726f7567682074686520526563656976657220696e746572666163650a20202020202020207369676e65722e6c696e6b3c2646696174546f6b656e2e5661756c747b46756e6769626c65546f6b656e2e52656365697665727d3e280a20202020202020202020202046696174546f6b656e2e5661756c745265636569766572507562506174682c0a2020202020202020202020207461726765743a2046696174546f6b656e2e5661756c7453746f72616765506174680a2020202020202020290a0a20202020202020202f2f204372656174652061207075626c6963206361706162696c69747920746f20746865205661756c742074686174206f6e6c79206578706f7365730a20202020202020202f2f20746865205555494428292066756e6374696f6e207468726f75676820746865205661756c745555494420696e746572666163650a20202020202020207369676e65722e6c696e6b3c2646696174546f6b656e2e5661756c747b46696174546f6b656e2e5265736f7572636549647d3e280a20202020202020202020202046696174546f6b656e2e5661756c7455554944507562506174682c0a2020202020202020202020207461726765743a2046696174546f6b656e2e5661756c7453746f72616765506174680a2020202020202020290a0a20202020202020202f2f204372656174652061207075626c6963206361706162696c69747920746f20746865205661756c742074686174206f6e6c79206578706f7365730a20202020202020202f2f207468652062616c616e6365206669656c64207468726f756768207468652042616c616e636520696e746572666163650a20202020202020207369676e65722e6c696e6b3c2646696174546f6b656e2e5661756c747b46756e6769626c65546f6b656e2e42616c616e63657d3e280a20202020202020202020202046696174546f6b656e2e5661756c7442616c616e6365507562506174682c0a2020202020202020202020207461726765743a2046696174546f6b656e2e5661756c7453746f72616765506174680a2020202020202020290a0a202020207d0a7d0ac0a0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f905bdf905b9b90575696d706f72742046756e6769626c65546f6b656e2066726f6d203078663233336463656538386665306162650a696d706f72742046696174546f6b656e2066726f6d203078623139343336616165346439343632320a0a7472616e73616374696f6e207b0a0a2020202070726570617265287369676e65723a20417574684163636f756e7429207b0a0a20202020202020202f2f2052657475726e206561726c7920696620746865206163636f756e7420616c72656164792073746f72657320612046696174546f6b656e205661756c740a20202020202020206966207369676e65722e626f72726f773c2646696174546f6b656e2e5661756c743e2866726f6d3a2046696174546f6b656e2e5661756c7453746f72616765506174682920213d206e696c207b0a20202020202020202020202072657475726e0a20202020202020207d0a0a20202020202020202f2f204372656174652061206e6577204578616d706c65546f6b656e205661756c7420616e642070757420697420696e2073746f726167650a20202020202020207369676e65722e73617665280a2020202020202020202020203c2d46696174546f6b656e2e637265617465456d7074795661756c7428292c0a202020202020202020202020746f3a2046696174546f6b656e2e5661756c7453746f72616765506174680a2020202020202020290a0a20202020202020202f2f204372656174652061207075626c6963206361706162696c69747920746f20746865205661756c742074686174206f6e6c79206578706f7365730a20202020202020202f2f20746865206465706f7369742066756e6374696f6e207468726f7567682074686520526563656976657220696e746572666163650a20202020202020207369676e65722e6c696e6b3c2646696174546f6b656e2e5661756c747b46756e6769626c65546f6b656e2e52656365697665727d3e280a20202020202020202020202046696174546f6b656e2e5661756c745265636569766572507562506174682c0a2020202020202020202020207461726765743a2046696174546f6b656e2e5661756c7453746f72616765506174680a2020202020202020290a0a20202020202020202f2f204372656174652061207075626c6963206361706162696c69747920746f20746865205661756c742074686174206f6e6c79206578706f7365730a20202020202020202f2f20746865205555494428292066756e6374696f6e207468726f75676820746865205661756c745555494420696e746572666163650a20202020202020207369676e65722e6c696e6b3c2646696174546f6b656e2e5661756c747b46696174546f6b656e2e5265736f7572636549647d3e280a20202020202020202020202046696174546f6b656e2e5661756c7455554944507562506174682c0a2020202020202020202020207461726765743a2046696174546f6b656e2e5661756c7453746f72616765506174680a2020202020202020290a0a20202020202020202f2f204372656174652061207075626c6963206361706162696c69747920746f20746865205661756c742074686174206f6e6c79206578706f7365730a20202020202020202f2f207468652062616c616e6365206669656c64207468726f756768207468652042616c616e636520696e746572666163650a20202020202020207369676e65722e6c696e6b3c2646696174546f6b656e2e5661756c747b46756e6769626c65546f6b656e2e42616c616e63657d3e280a20202020202020202020202046696174546f6b656e2e5661756c7442616c616e6365507562506174682c0a2020202020202020202020207461726765743a2046696174546f6b656e2e5661756c7453746f72616765506174680a2020202020202020290a0a202020207d0a7d0ac0a0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "022defee818c0c003ca519f83517f4c7bcf9dd8664a562ec80959cb6146428f971887673892a2e2c12337394570dfa30c5669e93f537ae426690f402799514a9a153657475702055534443205661756c740000", - "hash": "887673892a2e2c12337394570dfa30c5669e93f537ae426690f402799514a9a1" + "encodedTransactionPayloadHex": "f904e2b903ed696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f205265717565737420746f20776974686472617720726577617264656420746f6b656e7320666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f2054686520746f6b656e7320617265206175746f6d61746963616c6c79206465706f736974656420746f2074686520756e6c6f636b6564206163636f756e74207661756c742066697273742c0a2f2f2f20416e64207468656e20616e79206c6f636b656420746f6b656e7320617265206465706f736974656420696e746f20746865206c6f636b6564206163636f756e74207661756c740a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a206175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a206175746828426f72726f7756616c75652920264163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e73746f726167652e626f72726f773c6175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f2061205374616b696e67436f6c6c656374696f6e20696e20746865207072696d61727920757365722773206163636f756e7422290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e77697468647261775265776172646564546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8b0b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227da07b2276616c7565223a6e756c6c2c2274797065223a224f7074696f6e616c227db07b2276616c7565223a2239323233333732303336382e3534373735383038222c2274797065223a22554669783634227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", + "encodedTransactionEnvelopeHex": "f904e6f904e2b903ed696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f205265717565737420746f20776974686472617720726577617264656420746f6b656e7320666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f2054686520746f6b656e7320617265206175746f6d61746963616c6c79206465706f736974656420746f2074686520756e6c6f636b6564206163636f756e74207661756c742066697273742c0a2f2f2f20416e64207468656e20616e79206c6f636b656420746f6b656e7320617265206465706f736974656420696e746f20746865206c6f636b6564206163636f756e74207661756c740a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a206175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a206175746828426f72726f7756616c75652920264163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e73746f726167652e626f72726f773c6175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f2061205374616b696e67436f6c6c656374696f6e20696e20746865207072696d61727920757365722773206163636f756e7422290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e77697468647261775265776172646564546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8b0b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227da07b2276616c7565223a6e756c6c2c2274797065223a224f7074696f6e616c227db07b2276616c7565223a2239323233333732303336382e3534373735383038222c2274797065223a22554669783634227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", + "metadata": "025a07ca4c016973bdeb168590e111b2c2855833b5ece11ffb28b08b8668f258a8fbd8ebbfff7a88b6b667ff4e3f9f904eaaba71cbf02a140f3b7007c61fbd8f34576974686472617720526577617264656420546f6b656e730003014e6f64652049440000537472696e6700030244656c656761746f72204944000155496e743332000301416d6f756e7400025546697836340003", + "hash": "fbd8ebbfff7a88b6b667ff4e3f9f904eaaba71cbf02a140f3b7007c61fbd8f34" }, { - "title": "USDC.02 - Transfer USDC", + "title": "SCO.11 - Withdraw Unstaked Tokens - 1", "valid": true, "chainID": "Mainnet", "payloadMessage": { - "script": "import FungibleToken from 0xf233dcee88fe0abe\nimport FiatToken from 0xb19436aae4d94622\n\ntransaction(amount: UFix64, to: Address) {\n\n // The Vault resource that holds the tokens that are being transferred\n let sentVault: @FungibleToken.Vault\n\n prepare(signer: AuthAccount) {\n\n // Get a reference to the signer's stored vault\n let vaultRef = signer.borrow<&FiatToken.Vault>(from: FiatToken.VaultStoragePath)\n ?? panic(\"Could not borrow reference to the owner's Vault!\")\n\n // Withdraw tokens from the signer's stored vault\n self.sentVault <- vaultRef.withdraw(amount: amount)\n }\n\n execute {\n\n // Get the recipient's public account object\n let recipient = getAccount(to)\n\n // Get a reference to the recipient's Receiver\n let receiverRef = recipient.getCapability(FiatToken.VaultReceiverPubPath)\n .borrow<&{FungibleToken.Receiver}>()\n ?? panic(\"Could not borrow receiver reference to the recipient's Vault\")\n\n // Deposit the withdrawn tokens in the recipient's receiver\n receiverRef.deposit(from: <-self.sentVault)\n }\n}\n", + "script": "import FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// Request to withdraw unstaked tokens for the specified node or delegator in the staking collection\n/// The tokens are automatically deposited to the unlocked account vault first,\n/// And then any locked tokens are deposited into the locked account vault if it is there\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: auth(FlowStakingCollection.CollectionOwner) &FlowStakingCollection.StakingCollection\n\n prepare(account: auth(BorrowValue) &Account) {\n self.stakingCollectionRef = account.storage.borrow(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow a reference to a StakingCollection in the primary user's account\")\n }\n\n execute {\n self.stakingCollectionRef.withdrawUnstakedTokens(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", "arguments": [ { - "type": "UFix64", - "value": "42" + "type": "String", + "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" }, { - "type": "Address", - "value": "0xe467b9dd11fa00df" + "value": null, + "type": "Optional" + }, + { + "value": "92233720368.54775808", + "type": "UFix64" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -7210,15 +4004,19 @@ ] }, "envelopeMessage": { - "script": "import FungibleToken from 0xf233dcee88fe0abe\nimport FiatToken from 0xb19436aae4d94622\n\ntransaction(amount: UFix64, to: Address) {\n\n // The Vault resource that holds the tokens that are being transferred\n let sentVault: @FungibleToken.Vault\n\n prepare(signer: AuthAccount) {\n\n // Get a reference to the signer's stored vault\n let vaultRef = signer.borrow<&FiatToken.Vault>(from: FiatToken.VaultStoragePath)\n ?? panic(\"Could not borrow reference to the owner's Vault!\")\n\n // Withdraw tokens from the signer's stored vault\n self.sentVault <- vaultRef.withdraw(amount: amount)\n }\n\n execute {\n\n // Get the recipient's public account object\n let recipient = getAccount(to)\n\n // Get a reference to the recipient's Receiver\n let receiverRef = recipient.getCapability(FiatToken.VaultReceiverPubPath)\n .borrow<&{FungibleToken.Receiver}>()\n ?? panic(\"Could not borrow receiver reference to the recipient's Vault\")\n\n // Deposit the withdrawn tokens in the recipient's receiver\n receiverRef.deposit(from: <-self.sentVault)\n }\n}\n", + "script": "import FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// Request to withdraw unstaked tokens for the specified node or delegator in the staking collection\n/// The tokens are automatically deposited to the unlocked account vault first,\n/// And then any locked tokens are deposited into the locked account vault if it is there\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: auth(FlowStakingCollection.CollectionOwner) &FlowStakingCollection.StakingCollection\n\n prepare(account: auth(BorrowValue) &Account) {\n self.stakingCollectionRef = account.storage.borrow(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow a reference to a StakingCollection in the primary user's account\")\n }\n\n execute {\n self.stakingCollectionRef.withdrawUnstakedTokens(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", "arguments": [ { - "type": "UFix64", - "value": "42" + "type": "String", + "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" }, { - "type": "Address", - "value": "0xe467b9dd11fa00df" + "value": null, + "type": "Optional" + }, + { + "value": "92233720368.54775808", + "type": "UFix64" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -7234,45 +4032,32 @@ ], "payloadSigs": [] }, - "encodedTransactionPayloadHex": "f90503b9046f696d706f72742046756e6769626c65546f6b656e2066726f6d203078663233336463656538386665306162650a696d706f72742046696174546f6b656e2066726f6d203078623139343336616165346439343632320a0a7472616e73616374696f6e28616d6f756e743a205546697836342c20746f3a204164647265737329207b0a0a202020202f2f20546865205661756c74207265736f75726365207468617420686f6c64732074686520746f6b656e73207468617420617265206265696e67207472616e736665727265640a202020206c65742073656e745661756c743a204046756e6769626c65546f6b656e2e5661756c740a0a2020202070726570617265287369676e65723a20417574684163636f756e7429207b0a0a20202020202020202f2f204765742061207265666572656e636520746f20746865207369676e657227732073746f726564207661756c740a20202020202020206c6574207661756c74526566203d207369676e65722e626f72726f773c2646696174546f6b656e2e5661756c743e2866726f6d3a2046696174546f6b656e2e5661756c7453746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f20746865206f776e65722773205661756c742122290a0a20202020202020202f2f20576974686472617720746f6b656e732066726f6d20746865207369676e657227732073746f726564207661756c740a202020202020202073656c662e73656e745661756c74203c2d207661756c745265662e776974686472617728616d6f756e743a20616d6f756e74290a202020207d0a0a2020202065786563757465207b0a0a20202020202020202f2f204765742074686520726563697069656e742773207075626c6963206163636f756e74206f626a6563740a20202020202020206c657420726563697069656e74203d206765744163636f756e7428746f290a0a20202020202020202f2f204765742061207265666572656e636520746f2074686520726563697069656e7427732052656365697665720a20202020202020206c6574207265636569766572526566203d20726563697069656e742e6765744361706162696c6974792846696174546f6b656e2e5661756c74526563656976657250756250617468290a2020202020202020202020202e626f72726f773c267b46756e6769626c65546f6b656e2e52656365697665727d3e28290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265636569766572207265666572656e636520746f2074686520726563697069656e742773205661756c7422290a0a20202020202020202f2f204465706f736974207468652077697468647261776e20746f6b656e7320696e2074686520726563697069656e7427732072656365697665720a202020202020202072656365697665725265662e6465706f7369742866726f6d3a203c2d73656c662e73656e745661756c74290a202020207d0a7d0af84f9e7b2274797065223a22554669783634222c2276616c7565223a223432227daf7b2274797065223a2241646472657373222c2276616c7565223a22307865343637623964643131666130306466227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f90507f90503b9046f696d706f72742046756e6769626c65546f6b656e2066726f6d203078663233336463656538386665306162650a696d706f72742046696174546f6b656e2066726f6d203078623139343336616165346439343632320a0a7472616e73616374696f6e28616d6f756e743a205546697836342c20746f3a204164647265737329207b0a0a202020202f2f20546865205661756c74207265736f75726365207468617420686f6c64732074686520746f6b656e73207468617420617265206265696e67207472616e736665727265640a202020206c65742073656e745661756c743a204046756e6769626c65546f6b656e2e5661756c740a0a2020202070726570617265287369676e65723a20417574684163636f756e7429207b0a0a20202020202020202f2f204765742061207265666572656e636520746f20746865207369676e657227732073746f726564207661756c740a20202020202020206c6574207661756c74526566203d207369676e65722e626f72726f773c2646696174546f6b656e2e5661756c743e2866726f6d3a2046696174546f6b656e2e5661756c7453746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f20746865206f776e65722773205661756c742122290a0a20202020202020202f2f20576974686472617720746f6b656e732066726f6d20746865207369676e657227732073746f726564207661756c740a202020202020202073656c662e73656e745661756c74203c2d207661756c745265662e776974686472617728616d6f756e743a20616d6f756e74290a202020207d0a0a2020202065786563757465207b0a0a20202020202020202f2f204765742074686520726563697069656e742773207075626c6963206163636f756e74206f626a6563740a20202020202020206c657420726563697069656e74203d206765744163636f756e7428746f290a0a20202020202020202f2f204765742061207265666572656e636520746f2074686520726563697069656e7427732052656365697665720a20202020202020206c6574207265636569766572526566203d20726563697069656e742e6765744361706162696c6974792846696174546f6b656e2e5661756c74526563656976657250756250617468290a2020202020202020202020202e626f72726f773c267b46756e6769626c65546f6b656e2e52656365697665727d3e28290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265636569766572207265666572656e636520746f2074686520726563697069656e742773205661756c7422290a0a20202020202020202f2f204465706f736974207468652077697468647261776e20746f6b656e7320696e2074686520726563697069656e7427732072656365697665720a202020202020202072656365697665725265662e6465706f7369742866726f6d3a203c2d73656c662e73656e745661756c74290a202020207d0a7d0af84f9e7b2274797065223a22554669783634222c2276616c7565223a223432227daf7b2274797065223a2241646472657373222c2276616c7565223a22307865343637623964643131666130306466227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "02512485ec3f8e007853b0ea2a22fb2b9f7e2fa55fd9819171c5d013282efee60a7ff4d9f53ba5eebda556d0ead0ca13911bc8996e2c91c5147f8787d10a3244835472616e736665722055534443000201416d6f756e740000554669783634000301526563697069656e740001416464726573730003", - "hash": "7ff4d9f53ba5eebda556d0ead0ca13911bc8996e2c91c5147f8787d10a324483" + "encodedTransactionPayloadHex": "f904f1b903fc696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f205265717565737420746f20776974686472617720756e7374616b656420746f6b656e7320666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f2054686520746f6b656e7320617265206175746f6d61746963616c6c79206465706f736974656420746f2074686520756e6c6f636b6564206163636f756e74207661756c742066697273742c0a2f2f2f20416e64207468656e20616e79206c6f636b656420746f6b656e7320617265206465706f736974656420696e746f20746865206c6f636b6564206163636f756e74207661756c742069662069742069732074686572650a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a206175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a206175746828426f72726f7756616c75652920264163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e73746f726167652e626f72726f773c6175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f2061205374616b696e67436f6c6c656374696f6e20696e20746865207072696d61727920757365722773206163636f756e7422290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e7769746864726177556e7374616b6564546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8b0b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227da07b2276616c7565223a6e756c6c2c2274797065223a224f7074696f6e616c227db07b2276616c7565223a2239323233333732303336382e3534373735383038222c2274797065223a22554669783634227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", + "encodedTransactionEnvelopeHex": "f904f5f904f1b903fc696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f205265717565737420746f20776974686472617720756e7374616b656420746f6b656e7320666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f2054686520746f6b656e7320617265206175746f6d61746963616c6c79206465706f736974656420746f2074686520756e6c6f636b6564206163636f756e74207661756c742066697273742c0a2f2f2f20416e64207468656e20616e79206c6f636b656420746f6b656e7320617265206465706f736974656420696e746f20746865206c6f636b6564206163636f756e74207661756c742069662069742069732074686572650a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a206175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a206175746828426f72726f7756616c75652920264163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e73746f726167652e626f72726f773c6175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f2061205374616b696e67436f6c6c656374696f6e20696e20746865207072696d61727920757365722773206163636f756e7422290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e7769746864726177556e7374616b6564546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8b0b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227da07b2276616c7565223a6e756c6c2c2274797065223a224f7074696f6e616c227db07b2276616c7565223a2239323233333732303336382e3534373735383038222c2274797065223a22554669783634227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", + "metadata": "0201fd4ea83d20510d24ed9f245873a7ee2715aefb774495c80bce7e3e34d6442ec2484f17e640e285769c3edaa6f2d090dcef1f2f57983f82b7179c3c047290ca576974686472617720556e7374616b656420546f6b656e730003014e6f64652049440000537472696e6700030244656c656761746f72204944000155496e743332000301416d6f756e7400025546697836340003", + "hash": "c2484f17e640e285769c3edaa6f2d090dcef1f2f57983f82b7179c3c047290ca" }, { - "title": "SCO.03 - Register Node - 1", + "title": "SCO.11 - Withdraw Unstaked Tokens - 2", "valid": true, "chainID": "Mainnet", "payloadMessage": { - "script": "import Crypto\nimport FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// Registers a delegator in the staking collection resource\n/// for the specified node information and the amount of tokens to commit\n\ntransaction(id: String,\n role: UInt8,\n networkingAddress: String,\n networkingKey: String,\n stakingKey: String,\n amount: UFix64,\n publicKeys: [Crypto.KeyListEntry]?) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n\n if let machineAccount = self.stakingCollectionRef.registerNode(\n id: id,\n role: role,\n networkingAddress: networkingAddress,\n networkingKey: networkingKey,\n stakingKey: stakingKey,\n amount: amount,\n payer: account) \n {\n if publicKeys == nil || publicKeys!.length == 0 {\n panic(\"Cannot provide zero keys for the machine account\")\n }\n for key in publicKeys! {\n machineAccount.keys.add(publicKey: key.publicKey, hashAlgorithm: key.hashAlgorithm, weight: key.weight)\n }\n }\n }\n}\n", + "script": "import FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// Request to withdraw unstaked tokens for the specified node or delegator in the staking collection\n/// The tokens are automatically deposited to the unlocked account vault first,\n/// And then any locked tokens are deposited into the locked account vault if it is there\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: auth(FlowStakingCollection.CollectionOwner) &FlowStakingCollection.StakingCollection\n\n prepare(account: auth(BorrowValue) &Account) {\n self.stakingCollectionRef = account.storage.borrow(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow a reference to a StakingCollection in the primary user's account\")\n }\n\n execute {\n self.stakingCollectionRef.withdrawUnstakedTokens(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", "arguments": [ { "type": "String", "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" }, { - "type": "UInt8", - "value": "1" - }, - { - "type": "String", - "value": "flow-node.test:3569" - }, - { - "type": "String", - "value": "1348307bc77c688e80049de9d081aa09755da33e6997605fa059db2144fc85e560cbe6f7da8d74b453f5916618cb8fd392c2db856f3e78221dc68db1b1d914e4" - }, - { - "type": "String", - "value": "9e9ae0d645fd5fd9050792e0b0daa82cc1686d9133afa0f81a784b375c42ae48567d1545e7a9e1965f2c1a32f73cf8575ebb7a967f6e4d104d2df78eb8be409135d12da0499b8a00771f642c1b9c49397f22b440439f036c3bdee82f5309dab3" - }, - { - "type": "UFix64", - "value": "92233720368.54775808" + "value": { + "value": "42", + "type": "UInt32" + }, + "type": "Optional" }, { - "type": "Optional", - "value": null + "value": "92233720368.54775808", + "type": "UFix64" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -7288,35 +4073,22 @@ ] }, "envelopeMessage": { - "script": "import Crypto\nimport FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// Registers a delegator in the staking collection resource\n/// for the specified node information and the amount of tokens to commit\n\ntransaction(id: String,\n role: UInt8,\n networkingAddress: String,\n networkingKey: String,\n stakingKey: String,\n amount: UFix64,\n publicKeys: [Crypto.KeyListEntry]?) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n\n if let machineAccount = self.stakingCollectionRef.registerNode(\n id: id,\n role: role,\n networkingAddress: networkingAddress,\n networkingKey: networkingKey,\n stakingKey: stakingKey,\n amount: amount,\n payer: account) \n {\n if publicKeys == nil || publicKeys!.length == 0 {\n panic(\"Cannot provide zero keys for the machine account\")\n }\n for key in publicKeys! {\n machineAccount.keys.add(publicKey: key.publicKey, hashAlgorithm: key.hashAlgorithm, weight: key.weight)\n }\n }\n }\n}\n", + "script": "import FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// Request to withdraw unstaked tokens for the specified node or delegator in the staking collection\n/// The tokens are automatically deposited to the unlocked account vault first,\n/// And then any locked tokens are deposited into the locked account vault if it is there\n\ntransaction(nodeID: String, delegatorID: UInt32?, amount: UFix64) {\n \n let stakingCollectionRef: auth(FlowStakingCollection.CollectionOwner) &FlowStakingCollection.StakingCollection\n\n prepare(account: auth(BorrowValue) &Account) {\n self.stakingCollectionRef = account.storage.borrow(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow a reference to a StakingCollection in the primary user's account\")\n }\n\n execute {\n self.stakingCollectionRef.withdrawUnstakedTokens(nodeID: nodeID, delegatorID: delegatorID, amount: amount)\n }\n}\n", "arguments": [ { "type": "String", "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" }, { - "type": "UInt8", - "value": "1" - }, - { - "type": "String", - "value": "flow-node.test:3569" - }, - { - "type": "String", - "value": "1348307bc77c688e80049de9d081aa09755da33e6997605fa059db2144fc85e560cbe6f7da8d74b453f5916618cb8fd392c2db856f3e78221dc68db1b1d914e4" - }, - { - "type": "String", - "value": "9e9ae0d645fd5fd9050792e0b0daa82cc1686d9133afa0f81a784b375c42ae48567d1545e7a9e1965f2c1a32f73cf8575ebb7a967f6e4d104d2df78eb8be409135d12da0499b8a00771f642c1b9c49397f22b440439f036c3bdee82f5309dab3" - }, - { - "type": "UFix64", - "value": "92233720368.54775808" + "value": { + "value": "42", + "type": "UInt32" + }, + "type": "Optional" }, { - "type": "Optional", - "value": null + "value": "92233720368.54775808", + "type": "UFix64" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -7332,48 +4104,28 @@ ], "payloadSigs": [] }, - "encodedTransactionPayloadHex": "f90849b9058a696d706f72742043727970746f0a696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f2052656769737465727320612064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e207265736f757263650a2f2f2f20666f722074686520737065636966696564206e6f646520696e666f726d6174696f6e20616e642074686520616d6f756e74206f6620746f6b656e7320746f20636f6d6d69740a0a7472616e73616374696f6e2869643a20537472696e672c0a202020202020202020202020726f6c653a2055496e74382c0a2020202020202020202020206e6574776f726b696e67416464726573733a20537472696e672c0a2020202020202020202020206e6574776f726b696e674b65793a20537472696e672c0a2020202020202020202020207374616b696e674b65793a20537472696e672c0a202020202020202020202020616d6f756e743a205546697836342c0a2020202020202020202020207075626c69634b6579733a205b43727970746f2e4b65794c697374456e7472795d3f29207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a0a20202020202020206966206c6574206d616368696e654163636f756e74203d2073656c662e7374616b696e67436f6c6c656374696f6e5265662e72656769737465724e6f6465280a20202020202020202020202069643a2069642c0a202020202020202020202020726f6c653a20726f6c652c0a2020202020202020202020206e6574776f726b696e67416464726573733a206e6574776f726b696e67416464726573732c0a2020202020202020202020206e6574776f726b696e674b65793a206e6574776f726b696e674b65792c0a2020202020202020202020207374616b696e674b65793a207374616b696e674b65792c0a202020202020202020202020616d6f756e743a20616d6f756e742c0a20202020202020202020202070617965723a206163636f756e7429200a20202020202020207b0a2020202020202020202020206966207075626c69634b657973203d3d206e696c207c7c207075626c69634b657973212e6c656e677468203d3d2030207b0a2020202020202020202020202020202070616e6963282243616e6e6f742070726f76696465207a65726f206b65797320666f7220746865206d616368696e65206163636f756e7422290a2020202020202020202020207d0a202020202020202020202020666f72206b657920696e207075626c69634b65797321207b0a202020202020202020202020202020206d616368696e654163636f756e742e6b6579732e616464287075626c69634b65793a206b65792e7075626c69634b65792c2068617368416c676f726974686d3a206b65792e68617368416c676f726974686d2c207765696768743a206b65792e776569676874290a2020202020202020202020207d0a20202020202020207d0a202020207d0a7d0af90279b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227d9c7b2274797065223a2255496e7438222c2276616c7565223a2231227daf7b2274797065223a22537472696e67222c2276616c7565223a22666c6f772d6e6f64652e746573743a33353639227db89c7b2274797065223a22537472696e67222c2276616c7565223a223133343833303762633737633638386538303034396465396430383161613039373535646133336536393937363035666130353964623231343466633835653536306362653666376461386437346234353366353931363631386362386664333932633264623835366633653738323231646336386462316231643931346534227db8dc7b2274797065223a22537472696e67222c2276616c7565223a22396539616530643634356664356664393035303739326530623064616138326363313638366439313333616661306638316137383462333735633432616534383536376431353435653761396531393635663263316133326637336366383537356562623761393637663665346431303464326466373865623862653430393133356431326461303439396238613030373731663634326331623963343933393766323262343430343339663033366333626465653832663533303964616233227db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da07b2274797065223a224f7074696f6e616c222c2276616c7565223a6e756c6c7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f9084df90849b9058a696d706f72742043727970746f0a696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f2052656769737465727320612064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e207265736f757263650a2f2f2f20666f722074686520737065636966696564206e6f646520696e666f726d6174696f6e20616e642074686520616d6f756e74206f6620746f6b656e7320746f20636f6d6d69740a0a7472616e73616374696f6e2869643a20537472696e672c0a202020202020202020202020726f6c653a2055496e74382c0a2020202020202020202020206e6574776f726b696e67416464726573733a20537472696e672c0a2020202020202020202020206e6574776f726b696e674b65793a20537472696e672c0a2020202020202020202020207374616b696e674b65793a20537472696e672c0a202020202020202020202020616d6f756e743a205546697836342c0a2020202020202020202020207075626c69634b6579733a205b43727970746f2e4b65794c697374456e7472795d3f29207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a0a20202020202020206966206c6574206d616368696e654163636f756e74203d2073656c662e7374616b696e67436f6c6c656374696f6e5265662e72656769737465724e6f6465280a20202020202020202020202069643a2069642c0a202020202020202020202020726f6c653a20726f6c652c0a2020202020202020202020206e6574776f726b696e67416464726573733a206e6574776f726b696e67416464726573732c0a2020202020202020202020206e6574776f726b696e674b65793a206e6574776f726b696e674b65792c0a2020202020202020202020207374616b696e674b65793a207374616b696e674b65792c0a202020202020202020202020616d6f756e743a20616d6f756e742c0a20202020202020202020202070617965723a206163636f756e7429200a20202020202020207b0a2020202020202020202020206966207075626c69634b657973203d3d206e696c207c7c207075626c69634b657973212e6c656e677468203d3d2030207b0a2020202020202020202020202020202070616e6963282243616e6e6f742070726f76696465207a65726f206b65797320666f7220746865206d616368696e65206163636f756e7422290a2020202020202020202020207d0a202020202020202020202020666f72206b657920696e207075626c69634b65797321207b0a202020202020202020202020202020206d616368696e654163636f756e742e6b6579732e616464287075626c69634b65793a206b65792e7075626c69634b65792c2068617368416c676f726974686d3a206b65792e68617368416c676f726974686d2c207765696768743a206b65792e776569676874290a2020202020202020202020207d0a20202020202020207d0a202020207d0a7d0af90279b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227d9c7b2274797065223a2255496e7438222c2276616c7565223a2231227daf7b2274797065223a22537472696e67222c2276616c7565223a22666c6f772d6e6f64652e746573743a33353639227db89c7b2274797065223a22537472696e67222c2276616c7565223a223133343833303762633737633638386538303034396465396430383161613039373535646133336536393937363035666130353964623231343466633835653536306362653666376461386437346234353366353931363631386362386664333932633264623835366633653738323231646336386462316231643931346534227db8dc7b2274797065223a22537472696e67222c2276616c7565223a22396539616530643634356664356664393035303739326530623064616138326363313638366439313333616661306638316137383462333735633432616534383536376431353435653761396531393635663263316133326637336366383537356562623761393637663665346431303464326466373865623862653430393133356431326461303439396238613030373731663634326331623963343933393766323262343430343339663033366333626465653832663533303964616233227db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da07b2274797065223a224f7074696f6e616c222c2276616c7565223a6e756c6c7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "029246ec9b7a5c81151156e7c2f6d356f68b1b884f88728daca46b968d9a46cd5a79de7119aea61bdafb39cc3d1f4fa17ca802c2732726a86d2c636dbc19808b685265676973746572204e6f64650007014e6f64652049440000537472696e670003014e6f646520526f6c65000155496e74380003014e6574772e20416464726573730002537472696e670003014e6574772e204b65790003537472696e670003015374616b696e67204b65790004537472696e67000301416d6f756e74000555466978363400030400035075622e204b65790006537472696e670003", - "hash": "79de7119aea61bdafb39cc3d1f4fa17ca802c2732726a86d2c636dbc19808b68" + "encodedTransactionPayloadHex": "f9050cb903fc696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f205265717565737420746f20776974686472617720756e7374616b656420746f6b656e7320666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f2054686520746f6b656e7320617265206175746f6d61746963616c6c79206465706f736974656420746f2074686520756e6c6f636b6564206163636f756e74207661756c742066697273742c0a2f2f2f20416e64207468656e20616e79206c6f636b656420746f6b656e7320617265206465706f736974656420696e746f20746865206c6f636b6564206163636f756e74207661756c742069662069742069732074686572650a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a206175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a206175746828426f72726f7756616c75652920264163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e73746f726167652e626f72726f773c6175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f2061205374616b696e67436f6c6c656374696f6e20696e20746865207072696d61727920757365722773206163636f756e7422290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e7769746864726177556e7374616b6564546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8cbb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db83a7b2276616c7565223a7b2276616c7565223a223432222c2274797065223a2255496e743332227d2c2274797065223a224f7074696f6e616c227db07b2276616c7565223a2239323233333732303336382e3534373735383038222c2274797065223a22554669783634227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", + "encodedTransactionEnvelopeHex": "f90510f9050cb903fc696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f205265717565737420746f20776974686472617720756e7374616b656420746f6b656e7320666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f2054686520746f6b656e7320617265206175746f6d61746963616c6c79206465706f736974656420746f2074686520756e6c6f636b6564206163636f756e74207661756c742066697273742c0a2f2f2f20416e64207468656e20616e79206c6f636b656420746f6b656e7320617265206465706f736974656420696e746f20746865206c6f636b6564206163636f756e74207661756c742069662069742069732074686572650a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a206175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a206175746828426f72726f7756616c75652920264163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e73746f726167652e626f72726f773c6175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f2061205374616b696e67436f6c6c656374696f6e20696e20746865207072696d61727920757365722773206163636f756e7422290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e7769746864726177556e7374616b6564546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8cbb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db83a7b2276616c7565223a7b2276616c7565223a223432222c2274797065223a2255496e743332227d2c2274797065223a224f7074696f6e616c227db07b2276616c7565223a2239323233333732303336382e3534373735383038222c2274797065223a22554669783634227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", + "metadata": "0201fd4ea83d20510d24ed9f245873a7ee2715aefb774495c80bce7e3e34d6442ec2484f17e640e285769c3edaa6f2d090dcef1f2f57983f82b7179c3c047290ca576974686472617720556e7374616b656420546f6b656e730003014e6f64652049440000537472696e6700030244656c656761746f72204944000155496e743332000301416d6f756e7400025546697836340003", + "hash": "c2484f17e640e285769c3edaa6f2d090dcef1f2f57983f82b7179c3c047290ca" }, { - "title": "SCO.03 - Register Node - 2", + "title": "SCO.12 - Close Stake - 1", "valid": true, "chainID": "Mainnet", "payloadMessage": { - "script": "import Crypto\nimport FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// Registers a delegator in the staking collection resource\n/// for the specified node information and the amount of tokens to commit\n\ntransaction(id: String,\n role: UInt8,\n networkingAddress: String,\n networkingKey: String,\n stakingKey: String,\n amount: UFix64,\n publicKeys: [Crypto.KeyListEntry]?) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n\n if let machineAccount = self.stakingCollectionRef.registerNode(\n id: id,\n role: role,\n networkingAddress: networkingAddress,\n networkingKey: networkingKey,\n stakingKey: stakingKey,\n amount: amount,\n payer: account) \n {\n if publicKeys == nil || publicKeys!.length == 0 {\n panic(\"Cannot provide zero keys for the machine account\")\n }\n for key in publicKeys! {\n machineAccount.keys.add(publicKey: key.publicKey, hashAlgorithm: key.hashAlgorithm, weight: key.weight)\n }\n }\n }\n}\n", + "script": "import FlowStakingCollection from 0x8d0e87b65159ae63\n\n// Closes out a staking object in the staking collection\n// This does not remove the record from the identity table,\n// but it does mean that the account that closes it cannot ever access it again\n\ntransaction(nodeID: String, delegatorID: UInt32?) {\n \n let stakingCollectionRef: auth(FlowStakingCollection.CollectionOwner) &FlowStakingCollection.StakingCollection\n\n prepare(account: auth(BorrowValue) &Account) {\n self.stakingCollectionRef = account.storage.borrow(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow a reference to a StakingCollection in the primary user's account\")\n }\n\n execute {\n self.stakingCollectionRef.closeStake(nodeID: nodeID, delegatorID: delegatorID)\n }\n}\n", "arguments": [ { "type": "String", "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" }, { - "type": "UInt8", - "value": "1" - }, - { - "type": "String", - "value": "flow-node.test:3569" - }, - { - "type": "String", - "value": "1348307bc77c688e80049de9d081aa09755da33e6997605fa059db2144fc85e560cbe6f7da8d74b453f5916618cb8fd392c2db856f3e78221dc68db1b1d914e4" - }, - { - "type": "String", - "value": "9e9ae0d645fd5fd9050792e0b0daa82cc1686d9133afa0f81a784b375c42ae48567d1545e7a9e1965f2c1a32f73cf8575ebb7a967f6e4d104d2df78eb8be409135d12da0499b8a00771f642c1b9c49397f22b440439f036c3bdee82f5309dab3" - }, - { - "type": "UFix64", - "value": "92233720368.54775808" - }, - { - "type": "Optional", "value": { - "type": "Array", - "value": [] - } + "value": "42", + "type": "UInt32" + }, + "type": "Optional" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -7389,38 +4141,18 @@ ] }, "envelopeMessage": { - "script": "import Crypto\nimport FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// Registers a delegator in the staking collection resource\n/// for the specified node information and the amount of tokens to commit\n\ntransaction(id: String,\n role: UInt8,\n networkingAddress: String,\n networkingKey: String,\n stakingKey: String,\n amount: UFix64,\n publicKeys: [Crypto.KeyListEntry]?) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n\n if let machineAccount = self.stakingCollectionRef.registerNode(\n id: id,\n role: role,\n networkingAddress: networkingAddress,\n networkingKey: networkingKey,\n stakingKey: stakingKey,\n amount: amount,\n payer: account) \n {\n if publicKeys == nil || publicKeys!.length == 0 {\n panic(\"Cannot provide zero keys for the machine account\")\n }\n for key in publicKeys! {\n machineAccount.keys.add(publicKey: key.publicKey, hashAlgorithm: key.hashAlgorithm, weight: key.weight)\n }\n }\n }\n}\n", + "script": "import FlowStakingCollection from 0x8d0e87b65159ae63\n\n// Closes out a staking object in the staking collection\n// This does not remove the record from the identity table,\n// but it does mean that the account that closes it cannot ever access it again\n\ntransaction(nodeID: String, delegatorID: UInt32?) {\n \n let stakingCollectionRef: auth(FlowStakingCollection.CollectionOwner) &FlowStakingCollection.StakingCollection\n\n prepare(account: auth(BorrowValue) &Account) {\n self.stakingCollectionRef = account.storage.borrow(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow a reference to a StakingCollection in the primary user's account\")\n }\n\n execute {\n self.stakingCollectionRef.closeStake(nodeID: nodeID, delegatorID: delegatorID)\n }\n}\n", "arguments": [ { "type": "String", "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" }, { - "type": "UInt8", - "value": "1" - }, - { - "type": "String", - "value": "flow-node.test:3569" - }, - { - "type": "String", - "value": "1348307bc77c688e80049de9d081aa09755da33e6997605fa059db2144fc85e560cbe6f7da8d74b453f5916618cb8fd392c2db856f3e78221dc68db1b1d914e4" - }, - { - "type": "String", - "value": "9e9ae0d645fd5fd9050792e0b0daa82cc1686d9133afa0f81a784b375c42ae48567d1545e7a9e1965f2c1a32f73cf8575ebb7a967f6e4d104d2df78eb8be409135d12da0499b8a00771f642c1b9c49397f22b440439f036c3bdee82f5309dab3" - }, - { - "type": "UFix64", - "value": "92233720368.54775808" - }, - { - "type": "Optional", "value": { - "type": "Array", - "value": [] - } + "value": "42", + "type": "UInt32" + }, + "type": "Optional" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -7436,53 +4168,25 @@ ], "payloadSigs": [] }, - "encodedTransactionPayloadHex": "f90860b9058a696d706f72742043727970746f0a696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f2052656769737465727320612064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e207265736f757263650a2f2f2f20666f722074686520737065636966696564206e6f646520696e666f726d6174696f6e20616e642074686520616d6f756e74206f6620746f6b656e7320746f20636f6d6d69740a0a7472616e73616374696f6e2869643a20537472696e672c0a202020202020202020202020726f6c653a2055496e74382c0a2020202020202020202020206e6574776f726b696e67416464726573733a20537472696e672c0a2020202020202020202020206e6574776f726b696e674b65793a20537472696e672c0a2020202020202020202020207374616b696e674b65793a20537472696e672c0a202020202020202020202020616d6f756e743a205546697836342c0a2020202020202020202020207075626c69634b6579733a205b43727970746f2e4b65794c697374456e7472795d3f29207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a0a20202020202020206966206c6574206d616368696e654163636f756e74203d2073656c662e7374616b696e67436f6c6c656374696f6e5265662e72656769737465724e6f6465280a20202020202020202020202069643a2069642c0a202020202020202020202020726f6c653a20726f6c652c0a2020202020202020202020206e6574776f726b696e67416464726573733a206e6574776f726b696e67416464726573732c0a2020202020202020202020206e6574776f726b696e674b65793a206e6574776f726b696e674b65792c0a2020202020202020202020207374616b696e674b65793a207374616b696e674b65792c0a202020202020202020202020616d6f756e743a20616d6f756e742c0a20202020202020202020202070617965723a206163636f756e7429200a20202020202020207b0a2020202020202020202020206966207075626c69634b657973203d3d206e696c207c7c207075626c69634b657973212e6c656e677468203d3d2030207b0a2020202020202020202020202020202070616e6963282243616e6e6f742070726f76696465207a65726f206b65797320666f7220746865206d616368696e65206163636f756e7422290a2020202020202020202020207d0a202020202020202020202020666f72206b657920696e207075626c69634b65797321207b0a202020202020202020202020202020206d616368696e654163636f756e742e6b6579732e616464287075626c69634b65793a206b65792e7075626c69634b65792c2068617368416c676f726974686d3a206b65792e68617368416c676f726974686d2c207765696768743a206b65792e776569676874290a2020202020202020202020207d0a20202020202020207d0a202020207d0a7d0af90290b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227d9c7b2274797065223a2255496e7438222c2276616c7565223a2231227daf7b2274797065223a22537472696e67222c2276616c7565223a22666c6f772d6e6f64652e746573743a33353639227db89c7b2274797065223a22537472696e67222c2276616c7565223a223133343833303762633737633638386538303034396465396430383161613039373535646133336536393937363035666130353964623231343466633835653536306362653666376461386437346234353366353931363631386362386664333932633264623835366633653738323231646336386462316231643931346534227db8dc7b2274797065223a22537472696e67222c2276616c7565223a22396539616530643634356664356664393035303739326530623064616138326363313638366439313333616661306638316137383462333735633432616534383536376431353435653761396531393635663263316133326637336366383537356562623761393637663665346431303464326466373865623862653430393133356431326461303439396238613030373731663634326331623963343933393766323262343430343339663033366333626465653832663533303964616233227db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227db77b2274797065223a224f7074696f6e616c222c2276616c7565223a7b2274797065223a224172726179222c2276616c7565223a5b5d7d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f90864f90860b9058a696d706f72742043727970746f0a696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f2052656769737465727320612064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e207265736f757263650a2f2f2f20666f722074686520737065636966696564206e6f646520696e666f726d6174696f6e20616e642074686520616d6f756e74206f6620746f6b656e7320746f20636f6d6d69740a0a7472616e73616374696f6e2869643a20537472696e672c0a202020202020202020202020726f6c653a2055496e74382c0a2020202020202020202020206e6574776f726b696e67416464726573733a20537472696e672c0a2020202020202020202020206e6574776f726b696e674b65793a20537472696e672c0a2020202020202020202020207374616b696e674b65793a20537472696e672c0a202020202020202020202020616d6f756e743a205546697836342c0a2020202020202020202020207075626c69634b6579733a205b43727970746f2e4b65794c697374456e7472795d3f29207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a0a20202020202020206966206c6574206d616368696e654163636f756e74203d2073656c662e7374616b696e67436f6c6c656374696f6e5265662e72656769737465724e6f6465280a20202020202020202020202069643a2069642c0a202020202020202020202020726f6c653a20726f6c652c0a2020202020202020202020206e6574776f726b696e67416464726573733a206e6574776f726b696e67416464726573732c0a2020202020202020202020206e6574776f726b696e674b65793a206e6574776f726b696e674b65792c0a2020202020202020202020207374616b696e674b65793a207374616b696e674b65792c0a202020202020202020202020616d6f756e743a20616d6f756e742c0a20202020202020202020202070617965723a206163636f756e7429200a20202020202020207b0a2020202020202020202020206966207075626c69634b657973203d3d206e696c207c7c207075626c69634b657973212e6c656e677468203d3d2030207b0a2020202020202020202020202020202070616e6963282243616e6e6f742070726f76696465207a65726f206b65797320666f7220746865206d616368696e65206163636f756e7422290a2020202020202020202020207d0a202020202020202020202020666f72206b657920696e207075626c69634b65797321207b0a202020202020202020202020202020206d616368696e654163636f756e742e6b6579732e616464287075626c69634b65793a206b65792e7075626c69634b65792c2068617368416c676f726974686d3a206b65792e68617368416c676f726974686d2c207765696768743a206b65792e776569676874290a2020202020202020202020207d0a20202020202020207d0a202020207d0a7d0af90290b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227d9c7b2274797065223a2255496e7438222c2276616c7565223a2231227daf7b2274797065223a22537472696e67222c2276616c7565223a22666c6f772d6e6f64652e746573743a33353639227db89c7b2274797065223a22537472696e67222c2276616c7565223a223133343833303762633737633638386538303034396465396430383161613039373535646133336536393937363035666130353964623231343466633835653536306362653666376461386437346234353366353931363631386362386664333932633264623835366633653738323231646336386462316231643931346534227db8dc7b2274797065223a22537472696e67222c2276616c7565223a22396539616530643634356664356664393035303739326530623064616138326363313638366439313333616661306638316137383462333735633432616534383536376431353435653761396531393635663263316133326637336366383537356562623761393637663665346431303464326466373865623862653430393133356431326461303439396238613030373731663634326331623963343933393766323262343430343339663033366333626465653832663533303964616233227db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227db77b2274797065223a224f7074696f6e616c222c2276616c7565223a7b2274797065223a224172726179222c2276616c7565223a5b5d7d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "029246ec9b7a5c81151156e7c2f6d356f68b1b884f88728daca46b968d9a46cd5a79de7119aea61bdafb39cc3d1f4fa17ca802c2732726a86d2c636dbc19808b685265676973746572204e6f64650007014e6f64652049440000537472696e670003014e6f646520526f6c65000155496e74380003014e6574772e20416464726573730002537472696e670003014e6574772e204b65790003537472696e670003015374616b696e67204b65790004537472696e67000301416d6f756e74000555466978363400030400035075622e204b65790006537472696e670003", - "hash": "79de7119aea61bdafb39cc3d1f4fa17ca802c2732726a86d2c636dbc19808b68" + "encodedTransactionPayloadHex": "f90464b90385696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f20436c6f736573206f75742061207374616b696e67206f626a65637420696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f205468697320646f6573206e6f742072656d6f766520746865207265636f72642066726f6d20746865206964656e74697479207461626c652c0a2f2f2062757420697420646f6573206d65616e207468617420746865206163636f756e74207468617420636c6f7365732069742063616e6e6f7420657665722061636365737320697420616761696e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f29207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a206175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a206175746828426f72726f7756616c75652920264163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e73746f726167652e626f72726f773c6175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f2061205374616b696e67436f6c6c656374696f6e20696e20746865207072696d61727920757365722773206163636f756e7422290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e636c6f73655374616b65286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f724944290a202020207d0a7d0af89ab85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db83a7b2276616c7565223a7b2276616c7565223a223432222c2274797065223a2255496e743332227d2c2274797065223a224f7074696f6e616c227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", + "encodedTransactionEnvelopeHex": "f90468f90464b90385696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f20436c6f736573206f75742061207374616b696e67206f626a65637420696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f205468697320646f6573206e6f742072656d6f766520746865207265636f72642066726f6d20746865206964656e74697479207461626c652c0a2f2f2062757420697420646f6573206d65616e207468617420746865206163636f756e74207468617420636c6f7365732069742063616e6e6f7420657665722061636365737320697420616761696e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f29207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a206175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a206175746828426f72726f7756616c75652920264163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e73746f726167652e626f72726f773c6175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f2061205374616b696e67436f6c6c656374696f6e20696e20746865207072696d61727920757365722773206163636f756e7422290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e636c6f73655374616b65286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f724944290a202020207d0a7d0af89ab85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db83a7b2276616c7565223a7b2276616c7565223a223432222c2274797065223a2255496e743332227d2c2274797065223a224f7074696f6e616c227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", + "metadata": "027e216d96d75414b27c2301a3b0a7816804d43014337a14731d1493531116d185a0fad319bf8aede66212257ad0d21532858381e2c9d7c4cec179b28180f5be93436c6f7365205374616b650002014e6f64652049440000537472696e6700030244656c656761746f72204944000155496e7433320003", + "hash": "a0fad319bf8aede66212257ad0d21532858381e2c9d7c4cec179b28180f5be93" }, { - "title": "SCO.03 - Register Node - 3", + "title": "SCO.12 - Close Stake - 2", "valid": true, "chainID": "Mainnet", "payloadMessage": { - "script": "import Crypto\nimport FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// Registers a delegator in the staking collection resource\n/// for the specified node information and the amount of tokens to commit\n\ntransaction(id: String,\n role: UInt8,\n networkingAddress: String,\n networkingKey: String,\n stakingKey: String,\n amount: UFix64,\n publicKeys: [Crypto.KeyListEntry]?) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n\n if let machineAccount = self.stakingCollectionRef.registerNode(\n id: id,\n role: role,\n networkingAddress: networkingAddress,\n networkingKey: networkingKey,\n stakingKey: stakingKey,\n amount: amount,\n payer: account) \n {\n if publicKeys == nil || publicKeys!.length == 0 {\n panic(\"Cannot provide zero keys for the machine account\")\n }\n for key in publicKeys! {\n machineAccount.keys.add(publicKey: key.publicKey, hashAlgorithm: key.hashAlgorithm, weight: key.weight)\n }\n }\n }\n}\n", + "script": "import FlowStakingCollection from 0x8d0e87b65159ae63\n\n// Closes out a staking object in the staking collection\n// This does not remove the record from the identity table,\n// but it does mean that the account that closes it cannot ever access it again\n\ntransaction(nodeID: String, delegatorID: UInt32?) {\n \n let stakingCollectionRef: auth(FlowStakingCollection.CollectionOwner) &FlowStakingCollection.StakingCollection\n\n prepare(account: auth(BorrowValue) &Account) {\n self.stakingCollectionRef = account.storage.borrow(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow a reference to a StakingCollection in the primary user's account\")\n }\n\n execute {\n self.stakingCollectionRef.closeStake(nodeID: nodeID, delegatorID: delegatorID)\n }\n}\n", "arguments": [ { "type": "String", "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" }, { - "type": "UInt8", - "value": "1" - }, - { - "type": "String", - "value": "flow-node.test:3569" - }, - { - "type": "String", - "value": "1348307bc77c688e80049de9d081aa09755da33e6997605fa059db2144fc85e560cbe6f7da8d74b453f5916618cb8fd392c2db856f3e78221dc68db1b1d914e4" - }, - { - "type": "String", - "value": "9e9ae0d645fd5fd9050792e0b0daa82cc1686d9133afa0f81a784b375c42ae48567d1545e7a9e1965f2c1a32f73cf8575ebb7a967f6e4d104d2df78eb8be409135d12da0499b8a00771f642c1b9c49397f22b440439f036c3bdee82f5309dab3" - }, - { - "type": "UFix64", - "value": "92233720368.54775808" - }, - { - "type": "Optional", - "value": { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164" - } - ] - } + "value": null, + "type": "Optional" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -7498,43 +4202,15 @@ ] }, "envelopeMessage": { - "script": "import Crypto\nimport FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// Registers a delegator in the staking collection resource\n/// for the specified node information and the amount of tokens to commit\n\ntransaction(id: String,\n role: UInt8,\n networkingAddress: String,\n networkingKey: String,\n stakingKey: String,\n amount: UFix64,\n publicKeys: [Crypto.KeyListEntry]?) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n\n if let machineAccount = self.stakingCollectionRef.registerNode(\n id: id,\n role: role,\n networkingAddress: networkingAddress,\n networkingKey: networkingKey,\n stakingKey: stakingKey,\n amount: amount,\n payer: account) \n {\n if publicKeys == nil || publicKeys!.length == 0 {\n panic(\"Cannot provide zero keys for the machine account\")\n }\n for key in publicKeys! {\n machineAccount.keys.add(publicKey: key.publicKey, hashAlgorithm: key.hashAlgorithm, weight: key.weight)\n }\n }\n }\n}\n", + "script": "import FlowStakingCollection from 0x8d0e87b65159ae63\n\n// Closes out a staking object in the staking collection\n// This does not remove the record from the identity table,\n// but it does mean that the account that closes it cannot ever access it again\n\ntransaction(nodeID: String, delegatorID: UInt32?) {\n \n let stakingCollectionRef: auth(FlowStakingCollection.CollectionOwner) &FlowStakingCollection.StakingCollection\n\n prepare(account: auth(BorrowValue) &Account) {\n self.stakingCollectionRef = account.storage.borrow(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow a reference to a StakingCollection in the primary user's account\")\n }\n\n execute {\n self.stakingCollectionRef.closeStake(nodeID: nodeID, delegatorID: delegatorID)\n }\n}\n", "arguments": [ { "type": "String", "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" }, { - "type": "UInt8", - "value": "1" - }, - { - "type": "String", - "value": "flow-node.test:3569" - }, - { - "type": "String", - "value": "1348307bc77c688e80049de9d081aa09755da33e6997605fa059db2144fc85e560cbe6f7da8d74b453f5916618cb8fd392c2db856f3e78221dc68db1b1d914e4" - }, - { - "type": "String", - "value": "9e9ae0d645fd5fd9050792e0b0daa82cc1686d9133afa0f81a784b375c42ae48567d1545e7a9e1965f2c1a32f73cf8575ebb7a967f6e4d104d2df78eb8be409135d12da0499b8a00771f642c1b9c49397f22b440439f036c3bdee82f5309dab3" - }, - { - "type": "UFix64", - "value": "92233720368.54775808" - }, - { - "type": "Optional", - "value": { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164" - } - ] - } + "value": null, + "type": "Optional" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -7550,61 +4226,25 @@ ], "payloadSigs": [] }, - "encodedTransactionPayloadHex": "f9090bb9058a696d706f72742043727970746f0a696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f2052656769737465727320612064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e207265736f757263650a2f2f2f20666f722074686520737065636966696564206e6f646520696e666f726d6174696f6e20616e642074686520616d6f756e74206f6620746f6b656e7320746f20636f6d6d69740a0a7472616e73616374696f6e2869643a20537472696e672c0a202020202020202020202020726f6c653a2055496e74382c0a2020202020202020202020206e6574776f726b696e67416464726573733a20537472696e672c0a2020202020202020202020206e6574776f726b696e674b65793a20537472696e672c0a2020202020202020202020207374616b696e674b65793a20537472696e672c0a202020202020202020202020616d6f756e743a205546697836342c0a2020202020202020202020207075626c69634b6579733a205b43727970746f2e4b65794c697374456e7472795d3f29207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a0a20202020202020206966206c6574206d616368696e654163636f756e74203d2073656c662e7374616b696e67436f6c6c656374696f6e5265662e72656769737465724e6f6465280a20202020202020202020202069643a2069642c0a202020202020202020202020726f6c653a20726f6c652c0a2020202020202020202020206e6574776f726b696e67416464726573733a206e6574776f726b696e67416464726573732c0a2020202020202020202020206e6574776f726b696e674b65793a206e6574776f726b696e674b65792c0a2020202020202020202020207374616b696e674b65793a207374616b696e674b65792c0a202020202020202020202020616d6f756e743a20616d6f756e742c0a20202020202020202020202070617965723a206163636f756e7429200a20202020202020207b0a2020202020202020202020206966207075626c69634b657973203d3d206e696c207c7c207075626c69634b657973212e6c656e677468203d3d2030207b0a2020202020202020202020202020202070616e6963282243616e6e6f742070726f76696465207a65726f206b65797320666f7220746865206d616368696e65206163636f756e7422290a2020202020202020202020207d0a202020202020202020202020666f72206b657920696e207075626c69634b65797321207b0a202020202020202020202020202020206d616368696e654163636f756e742e6b6579732e616464287075626c69634b65793a206b65792e7075626c69634b65792c2068617368416c676f726974686d3a206b65792e68617368416c676f726974686d2c207765696768743a206b65792e776569676874290a2020202020202020202020207d0a20202020202020207d0a202020207d0a7d0af9033bb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227d9c7b2274797065223a2255496e7438222c2276616c7565223a2231227daf7b2274797065223a22537472696e67222c2276616c7565223a22666c6f772d6e6f64652e746573743a33353639227db89c7b2274797065223a22537472696e67222c2276616c7565223a223133343833303762633737633638386538303034396465396430383161613039373535646133336536393937363035666130353964623231343466633835653536306362653666376461386437346234353366353931363631386362386664333932633264623835366633653738323231646336386462316231643931346534227db8dc7b2274797065223a22537472696e67222c2276616c7565223a22396539616530643634356664356664393035303739326530623064616138326363313638366439313333616661306638316137383462333735633432616534383536376431353435653761396531393635663263316133326637336366383537356562623761393637663665346431303464326466373865623862653430393133356431326461303439396238613030373731663634326331623963343933393766323262343430343339663033366333626465653832663533303964616233227db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227db8e17b2274797065223a224f7074696f6e616c222c2276616c7565223a7b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634227d5d7d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f9090ff9090bb9058a696d706f72742043727970746f0a696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f2052656769737465727320612064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e207265736f757263650a2f2f2f20666f722074686520737065636966696564206e6f646520696e666f726d6174696f6e20616e642074686520616d6f756e74206f6620746f6b656e7320746f20636f6d6d69740a0a7472616e73616374696f6e2869643a20537472696e672c0a202020202020202020202020726f6c653a2055496e74382c0a2020202020202020202020206e6574776f726b696e67416464726573733a20537472696e672c0a2020202020202020202020206e6574776f726b696e674b65793a20537472696e672c0a2020202020202020202020207374616b696e674b65793a20537472696e672c0a202020202020202020202020616d6f756e743a205546697836342c0a2020202020202020202020207075626c69634b6579733a205b43727970746f2e4b65794c697374456e7472795d3f29207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a0a20202020202020206966206c6574206d616368696e654163636f756e74203d2073656c662e7374616b696e67436f6c6c656374696f6e5265662e72656769737465724e6f6465280a20202020202020202020202069643a2069642c0a202020202020202020202020726f6c653a20726f6c652c0a2020202020202020202020206e6574776f726b696e67416464726573733a206e6574776f726b696e67416464726573732c0a2020202020202020202020206e6574776f726b696e674b65793a206e6574776f726b696e674b65792c0a2020202020202020202020207374616b696e674b65793a207374616b696e674b65792c0a202020202020202020202020616d6f756e743a20616d6f756e742c0a20202020202020202020202070617965723a206163636f756e7429200a20202020202020207b0a2020202020202020202020206966207075626c69634b657973203d3d206e696c207c7c207075626c69634b657973212e6c656e677468203d3d2030207b0a2020202020202020202020202020202070616e6963282243616e6e6f742070726f76696465207a65726f206b65797320666f7220746865206d616368696e65206163636f756e7422290a2020202020202020202020207d0a202020202020202020202020666f72206b657920696e207075626c69634b65797321207b0a202020202020202020202020202020206d616368696e654163636f756e742e6b6579732e616464287075626c69634b65793a206b65792e7075626c69634b65792c2068617368416c676f726974686d3a206b65792e68617368416c676f726974686d2c207765696768743a206b65792e776569676874290a2020202020202020202020207d0a20202020202020207d0a202020207d0a7d0af9033bb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227d9c7b2274797065223a2255496e7438222c2276616c7565223a2231227daf7b2274797065223a22537472696e67222c2276616c7565223a22666c6f772d6e6f64652e746573743a33353639227db89c7b2274797065223a22537472696e67222c2276616c7565223a223133343833303762633737633638386538303034396465396430383161613039373535646133336536393937363035666130353964623231343466633835653536306362653666376461386437346234353366353931363631386362386664333932633264623835366633653738323231646336386462316231643931346534227db8dc7b2274797065223a22537472696e67222c2276616c7565223a22396539616530643634356664356664393035303739326530623064616138326363313638366439313333616661306638316137383462333735633432616534383536376431353435653761396531393635663263316133326637336366383537356562623761393637663665346431303464326466373865623862653430393133356431326461303439396238613030373731663634326331623963343933393766323262343430343339663033366333626465653832663533303964616233227db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227db8e17b2274797065223a224f7074696f6e616c222c2276616c7565223a7b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634227d5d7d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "029246ec9b7a5c81151156e7c2f6d356f68b1b884f88728daca46b968d9a46cd5a79de7119aea61bdafb39cc3d1f4fa17ca802c2732726a86d2c636dbc19808b685265676973746572204e6f64650007014e6f64652049440000537472696e670003014e6f646520526f6c65000155496e74380003014e6574772e20416464726573730002537472696e670003014e6574772e204b65790003537472696e670003015374616b696e67204b65790004537472696e67000301416d6f756e74000555466978363400030400035075622e204b65790006537472696e670003", - "hash": "79de7119aea61bdafb39cc3d1f4fa17ca802c2732726a86d2c636dbc19808b68" + "encodedTransactionPayloadHex": "f90449b90385696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f20436c6f736573206f75742061207374616b696e67206f626a65637420696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f205468697320646f6573206e6f742072656d6f766520746865207265636f72642066726f6d20746865206964656e74697479207461626c652c0a2f2f2062757420697420646f6573206d65616e207468617420746865206163636f756e74207468617420636c6f7365732069742063616e6e6f7420657665722061636365737320697420616761696e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f29207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a206175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a206175746828426f72726f7756616c75652920264163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e73746f726167652e626f72726f773c6175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f2061205374616b696e67436f6c6c656374696f6e20696e20746865207072696d61727920757365722773206163636f756e7422290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e636c6f73655374616b65286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f724944290a202020207d0a7d0af87fb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227da07b2276616c7565223a6e756c6c2c2274797065223a224f7074696f6e616c227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", + "encodedTransactionEnvelopeHex": "f9044df90449b90385696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f20436c6f736573206f75742061207374616b696e67206f626a65637420696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f205468697320646f6573206e6f742072656d6f766520746865207265636f72642066726f6d20746865206964656e74697479207461626c652c0a2f2f2062757420697420646f6573206d65616e207468617420746865206163636f756e74207468617420636c6f7365732069742063616e6e6f7420657665722061636365737320697420616761696e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f29207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a206175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a206175746828426f72726f7756616c75652920264163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e73746f726167652e626f72726f773c6175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f2061205374616b696e67436f6c6c656374696f6e20696e20746865207072696d61727920757365722773206163636f756e7422290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e636c6f73655374616b65286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f724944290a202020207d0a7d0af87fb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227da07b2276616c7565223a6e756c6c2c2274797065223a224f7074696f6e616c227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", + "metadata": "027e216d96d75414b27c2301a3b0a7816804d43014337a14731d1493531116d185a0fad319bf8aede66212257ad0d21532858381e2c9d7c4cec179b28180f5be93436c6f7365205374616b650002014e6f64652049440000537472696e6700030244656c656761746f72204944000155496e7433320003", + "hash": "a0fad319bf8aede66212257ad0d21532858381e2c9d7c4cec179b28180f5be93" }, { - "title": "SCO.03 - Register Node - 4", + "title": "SCO.13 - Transfer Node", "valid": true, "chainID": "Mainnet", "payloadMessage": { - "script": "import Crypto\nimport FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// Registers a delegator in the staking collection resource\n/// for the specified node information and the amount of tokens to commit\n\ntransaction(id: String,\n role: UInt8,\n networkingAddress: String,\n networkingKey: String,\n stakingKey: String,\n amount: UFix64,\n publicKeys: [Crypto.KeyListEntry]?) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n\n if let machineAccount = self.stakingCollectionRef.registerNode(\n id: id,\n role: role,\n networkingAddress: networkingAddress,\n networkingKey: networkingKey,\n stakingKey: stakingKey,\n amount: amount,\n payer: account) \n {\n if publicKeys == nil || publicKeys!.length == 0 {\n panic(\"Cannot provide zero keys for the machine account\")\n }\n for key in publicKeys! {\n machineAccount.keys.add(publicKey: key.publicKey, hashAlgorithm: key.hashAlgorithm, weight: key.weight)\n }\n }\n }\n}\n", + "script": "import FlowStakingCollection from 0x8d0e87b65159ae63\n\n// Transfers a NodeStaker object from an authorizers accoount\n// and adds the NodeStaker to another accounts Staking Collection\n// identified by the to Address.\n\ntransaction(nodeID: String, to: Address) {\n let fromStakingCollectionRef: auth(FlowStakingCollection.CollectionOwner) &FlowStakingCollection.StakingCollection\n let toStakingCollectionCap: &FlowStakingCollection.StakingCollection\n\n prepare(account: auth(BorrowValue) &Account) {\n // The account to transfer the NodeStaker object to must have a valid Staking Collection in order to receive the NodeStaker.\n if (!FlowStakingCollection.doesAccountHaveStakingCollection(address: to)) {\n panic(\"Destination account must have a Staking Collection set up.\")\n }\n\n // Get a reference to the authorizers StakingCollection\n self.fromStakingCollectionRef = account.storage.borrow(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow a reference to a StakingCollection in the primary user's account\")\n\n // Get the PublicAccount of the account to transfer the NodeStaker to. \n let toAccount = getAccount(to)\n\n // Borrow a capability to the public methods available on the receivers StakingCollection.\n self.toStakingCollectionCap = toAccount.capabilities\n .borrow<&FlowStakingCollection.StakingCollection>(FlowStakingCollection.StakingCollectionPublicPath)\n ?? panic(\"Could not borrow a reference to a StakingCollection in the receiver's account\")\n\n let machineAccountInfo = self.fromStakingCollectionRef.getMachineAccounts()[nodeID]\n ?? panic(\"Could not get machine account info for the specified node ID\")\n\n // Remove the NodeStaker from the authorizers StakingCollection.\n let nodeStaker <- self.fromStakingCollectionRef.removeNode(nodeID: nodeID)\n\n // Deposit the NodeStaker to the receivers StakingCollection.\n self.toStakingCollectionCap.addNodeObject(<- nodeStaker!, machineAccountInfo: machineAccountInfo)\n }\n}", "arguments": [ { "type": "String", "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" }, { - "type": "UInt8", - "value": "1" - }, - { - "type": "String", - "value": "flow-node.test:3569" - }, - { - "type": "String", - "value": "1348307bc77c688e80049de9d081aa09755da33e6997605fa059db2144fc85e560cbe6f7da8d74b453f5916618cb8fd392c2db856f3e78221dc68db1b1d914e4" - }, - { - "type": "String", - "value": "9e9ae0d645fd5fd9050792e0b0daa82cc1686d9133afa0f81a784b375c42ae48567d1545e7a9e1965f2c1a32f73cf8575ebb7a967f6e4d104d2df78eb8be409135d12da0499b8a00771f642c1b9c49397f22b440439f036c3bdee82f5309dab3" - }, - { - "type": "UFix64", - "value": "92233720368.54775808" - }, - { - "type": "Optional", - "value": { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164" - }, - { - "type": "String", - "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164" - }, - { - "type": "String", - "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164" - } - ] - } + "value": "0xe467b9dd11fa00df", + "type": "Address" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -7620,51 +4260,15 @@ ] }, "envelopeMessage": { - "script": "import Crypto\nimport FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// Registers a delegator in the staking collection resource\n/// for the specified node information and the amount of tokens to commit\n\ntransaction(id: String,\n role: UInt8,\n networkingAddress: String,\n networkingKey: String,\n stakingKey: String,\n amount: UFix64,\n publicKeys: [Crypto.KeyListEntry]?) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n\n if let machineAccount = self.stakingCollectionRef.registerNode(\n id: id,\n role: role,\n networkingAddress: networkingAddress,\n networkingKey: networkingKey,\n stakingKey: stakingKey,\n amount: amount,\n payer: account) \n {\n if publicKeys == nil || publicKeys!.length == 0 {\n panic(\"Cannot provide zero keys for the machine account\")\n }\n for key in publicKeys! {\n machineAccount.keys.add(publicKey: key.publicKey, hashAlgorithm: key.hashAlgorithm, weight: key.weight)\n }\n }\n }\n}\n", + "script": "import FlowStakingCollection from 0x8d0e87b65159ae63\n\n// Transfers a NodeStaker object from an authorizers accoount\n// and adds the NodeStaker to another accounts Staking Collection\n// identified by the to Address.\n\ntransaction(nodeID: String, to: Address) {\n let fromStakingCollectionRef: auth(FlowStakingCollection.CollectionOwner) &FlowStakingCollection.StakingCollection\n let toStakingCollectionCap: &FlowStakingCollection.StakingCollection\n\n prepare(account: auth(BorrowValue) &Account) {\n // The account to transfer the NodeStaker object to must have a valid Staking Collection in order to receive the NodeStaker.\n if (!FlowStakingCollection.doesAccountHaveStakingCollection(address: to)) {\n panic(\"Destination account must have a Staking Collection set up.\")\n }\n\n // Get a reference to the authorizers StakingCollection\n self.fromStakingCollectionRef = account.storage.borrow(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow a reference to a StakingCollection in the primary user's account\")\n\n // Get the PublicAccount of the account to transfer the NodeStaker to. \n let toAccount = getAccount(to)\n\n // Borrow a capability to the public methods available on the receivers StakingCollection.\n self.toStakingCollectionCap = toAccount.capabilities\n .borrow<&FlowStakingCollection.StakingCollection>(FlowStakingCollection.StakingCollectionPublicPath)\n ?? panic(\"Could not borrow a reference to a StakingCollection in the receiver's account\")\n\n let machineAccountInfo = self.fromStakingCollectionRef.getMachineAccounts()[nodeID]\n ?? panic(\"Could not get machine account info for the specified node ID\")\n\n // Remove the NodeStaker from the authorizers StakingCollection.\n let nodeStaker <- self.fromStakingCollectionRef.removeNode(nodeID: nodeID)\n\n // Deposit the NodeStaker to the receivers StakingCollection.\n self.toStakingCollectionCap.addNodeObject(<- nodeStaker!, machineAccountInfo: machineAccountInfo)\n }\n}", "arguments": [ { "type": "String", "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" }, { - "type": "UInt8", - "value": "1" - }, - { - "type": "String", - "value": "flow-node.test:3569" - }, - { - "type": "String", - "value": "1348307bc77c688e80049de9d081aa09755da33e6997605fa059db2144fc85e560cbe6f7da8d74b453f5916618cb8fd392c2db856f3e78221dc68db1b1d914e4" - }, - { - "type": "String", - "value": "9e9ae0d645fd5fd9050792e0b0daa82cc1686d9133afa0f81a784b375c42ae48567d1545e7a9e1965f2c1a32f73cf8575ebb7a967f6e4d104d2df78eb8be409135d12da0499b8a00771f642c1b9c49397f22b440439f036c3bdee82f5309dab3" - }, - { - "type": "UFix64", - "value": "92233720368.54775808" - }, - { - "type": "Optional", - "value": { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164" - }, - { - "type": "String", - "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164" - }, - { - "type": "String", - "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164" - } - ] - } + "value": "0xe467b9dd11fa00df", + "type": "Address" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -7680,25 +4284,29 @@ ], "payloadSigs": [] }, - "encodedTransactionPayloadHex": "f90a62b9058a696d706f72742043727970746f0a696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f2052656769737465727320612064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e207265736f757263650a2f2f2f20666f722074686520737065636966696564206e6f646520696e666f726d6174696f6e20616e642074686520616d6f756e74206f6620746f6b656e7320746f20636f6d6d69740a0a7472616e73616374696f6e2869643a20537472696e672c0a202020202020202020202020726f6c653a2055496e74382c0a2020202020202020202020206e6574776f726b696e67416464726573733a20537472696e672c0a2020202020202020202020206e6574776f726b696e674b65793a20537472696e672c0a2020202020202020202020207374616b696e674b65793a20537472696e672c0a202020202020202020202020616d6f756e743a205546697836342c0a2020202020202020202020207075626c69634b6579733a205b43727970746f2e4b65794c697374456e7472795d3f29207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a0a20202020202020206966206c6574206d616368696e654163636f756e74203d2073656c662e7374616b696e67436f6c6c656374696f6e5265662e72656769737465724e6f6465280a20202020202020202020202069643a2069642c0a202020202020202020202020726f6c653a20726f6c652c0a2020202020202020202020206e6574776f726b696e67416464726573733a206e6574776f726b696e67416464726573732c0a2020202020202020202020206e6574776f726b696e674b65793a206e6574776f726b696e674b65792c0a2020202020202020202020207374616b696e674b65793a207374616b696e674b65792c0a202020202020202020202020616d6f756e743a20616d6f756e742c0a20202020202020202020202070617965723a206163636f756e7429200a20202020202020207b0a2020202020202020202020206966207075626c69634b657973203d3d206e696c207c7c207075626c69634b657973212e6c656e677468203d3d2030207b0a2020202020202020202020202020202070616e6963282243616e6e6f742070726f76696465207a65726f206b65797320666f7220746865206d616368696e65206163636f756e7422290a2020202020202020202020207d0a202020202020202020202020666f72206b657920696e207075626c69634b65797321207b0a202020202020202020202020202020206d616368696e654163636f756e742e6b6579732e616464287075626c69634b65793a206b65792e7075626c69634b65792c2068617368416c676f726974686d3a206b65792e68617368416c676f726974686d2c207765696768743a206b65792e776569676874290a2020202020202020202020207d0a20202020202020207d0a202020207d0a7d0af90492b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227d9c7b2274797065223a2255496e7438222c2276616c7565223a2231227daf7b2274797065223a22537472696e67222c2276616c7565223a22666c6f772d6e6f64652e746573743a33353639227db89c7b2274797065223a22537472696e67222c2276616c7565223a223133343833303762633737633638386538303034396465396430383161613039373535646133336536393937363035666130353964623231343466633835653536306362653666376461386437346234353366353931363631386362386664333932633264623835366633653738323231646336386462316231643931346534227db8dc7b2274797065223a22537472696e67222c2276616c7565223a22396539616530643634356664356664393035303739326530623064616138326363313638366439313333616661306638316137383462333735633432616534383536376431353435653761396531393635663263316133326637336366383537356562623761393637663665346431303464326466373865623862653430393133356431326461303439396238613030373731663634326331623963343933393766323262343430343339663033366333626465653832663533303964616233227db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227db902377b2274797065223a224f7074696f6e616c222c2276616c7565223a7b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634227d2c7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634227d2c7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634227d5d7d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f90a66f90a62b9058a696d706f72742043727970746f0a696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f2052656769737465727320612064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e207265736f757263650a2f2f2f20666f722074686520737065636966696564206e6f646520696e666f726d6174696f6e20616e642074686520616d6f756e74206f6620746f6b656e7320746f20636f6d6d69740a0a7472616e73616374696f6e2869643a20537472696e672c0a202020202020202020202020726f6c653a2055496e74382c0a2020202020202020202020206e6574776f726b696e67416464726573733a20537472696e672c0a2020202020202020202020206e6574776f726b696e674b65793a20537472696e672c0a2020202020202020202020207374616b696e674b65793a20537472696e672c0a202020202020202020202020616d6f756e743a205546697836342c0a2020202020202020202020207075626c69634b6579733a205b43727970746f2e4b65794c697374456e7472795d3f29207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a0a20202020202020206966206c6574206d616368696e654163636f756e74203d2073656c662e7374616b696e67436f6c6c656374696f6e5265662e72656769737465724e6f6465280a20202020202020202020202069643a2069642c0a202020202020202020202020726f6c653a20726f6c652c0a2020202020202020202020206e6574776f726b696e67416464726573733a206e6574776f726b696e67416464726573732c0a2020202020202020202020206e6574776f726b696e674b65793a206e6574776f726b696e674b65792c0a2020202020202020202020207374616b696e674b65793a207374616b696e674b65792c0a202020202020202020202020616d6f756e743a20616d6f756e742c0a20202020202020202020202070617965723a206163636f756e7429200a20202020202020207b0a2020202020202020202020206966207075626c69634b657973203d3d206e696c207c7c207075626c69634b657973212e6c656e677468203d3d2030207b0a2020202020202020202020202020202070616e6963282243616e6e6f742070726f76696465207a65726f206b65797320666f7220746865206d616368696e65206163636f756e7422290a2020202020202020202020207d0a202020202020202020202020666f72206b657920696e207075626c69634b65797321207b0a202020202020202020202020202020206d616368696e654163636f756e742e6b6579732e616464287075626c69634b65793a206b65792e7075626c69634b65792c2068617368416c676f726974686d3a206b65792e68617368416c676f726974686d2c207765696768743a206b65792e776569676874290a2020202020202020202020207d0a20202020202020207d0a202020207d0a7d0af90492b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227d9c7b2274797065223a2255496e7438222c2276616c7565223a2231227daf7b2274797065223a22537472696e67222c2276616c7565223a22666c6f772d6e6f64652e746573743a33353639227db89c7b2274797065223a22537472696e67222c2276616c7565223a223133343833303762633737633638386538303034396465396430383161613039373535646133336536393937363035666130353964623231343466633835653536306362653666376461386437346234353366353931363631386362386664333932633264623835366633653738323231646336386462316231643931346534227db8dc7b2274797065223a22537472696e67222c2276616c7565223a22396539616530643634356664356664393035303739326530623064616138326363313638366439313333616661306638316137383462333735633432616534383536376431353435653761396531393635663263316133326637336366383537356562623761393637663665346431303464326466373865623862653430393133356431326461303439396238613030373731663634326331623963343933393766323262343430343339663033366333626465653832663533303964616233227db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227db902377b2274797065223a224f7074696f6e616c222c2276616c7565223a7b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634227d2c7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634227d2c7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634227d5d7d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "029246ec9b7a5c81151156e7c2f6d356f68b1b884f88728daca46b968d9a46cd5a79de7119aea61bdafb39cc3d1f4fa17ca802c2732726a86d2c636dbc19808b685265676973746572204e6f64650007014e6f64652049440000537472696e670003014e6f646520526f6c65000155496e74380003014e6574772e20416464726573730002537472696e670003014e6574772e204b65790003537472696e670003015374616b696e67204b65790004537472696e67000301416d6f756e74000555466978363400030400035075622e204b65790006537472696e670003", - "hash": "79de7119aea61bdafb39cc3d1f4fa17ca802c2732726a86d2c636dbc19808b68" + "encodedTransactionPayloadHex": "f9096eb9089b696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f205472616e73666572732061204e6f64655374616b6572206f626a6563742066726f6d20616e20617574686f72697a657273206163636f6f756e740a2f2f20616e64206164647320746865204e6f64655374616b657220746f20616e6f74686572206163636f756e7473205374616b696e6720436f6c6c656374696f6e0a2f2f206964656e7469666965642062792074686520746f20416464726573732e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c20746f3a204164647265737329207b0a202020206c65742066726f6d5374616b696e67436f6c6c656374696f6e5265663a206175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a202020206c657420746f5374616b696e67436f6c6c656374696f6e4361703a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a206175746828426f72726f7756616c75652920264163636f756e7429207b0a20202020202020202f2f20546865206163636f756e7420746f207472616e7366657220746865204e6f64655374616b6572206f626a65637420746f206d757374206861766520612076616c6964205374616b696e6720436f6c6c656374696f6e20696e206f7264657220746f207265636569766520746865204e6f64655374616b65722e0a20202020202020206966202821466c6f775374616b696e67436f6c6c656374696f6e2e646f65734163636f756e74486176655374616b696e67436f6c6c656374696f6e28616464726573733a20746f2929207b0a20202020202020202020202070616e6963282244657374696e6174696f6e206163636f756e74206d75737420686176652061205374616b696e6720436f6c6c656374696f6e207365742075702e22290a20202020202020207d0a0a20202020202020202f2f204765742061207265666572656e636520746f2074686520617574686f72697a657273205374616b696e67436f6c6c656374696f6e0a202020202020202073656c662e66726f6d5374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e73746f726167652e626f72726f773c6175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f2061205374616b696e67436f6c6c656374696f6e20696e20746865207072696d61727920757365722773206163636f756e7422290a0a20202020202020202f2f2047657420746865205075626c69634163636f756e74206f6620746865206163636f756e7420746f207472616e7366657220746865204e6f64655374616b657220746f2e200a20202020202020206c657420746f4163636f756e74203d206765744163636f756e7428746f290a0a20202020202020202f2f20426f72726f772061206361706162696c69747920746f20746865207075626c6963206d6574686f647320617661696c61626c65206f6e2074686520726563656976657273205374616b696e67436f6c6c656374696f6e2e0a202020202020202073656c662e746f5374616b696e67436f6c6c656374696f6e436170203d20746f4163636f756e742e6361706162696c69746965730a2020202020202020202020202e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e28466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e5075626c696350617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f2061205374616b696e67436f6c6c656374696f6e20696e207468652072656365697665722773206163636f756e7422290a0a20202020202020206c6574206d616368696e654163636f756e74496e666f203d2073656c662e66726f6d5374616b696e67436f6c6c656374696f6e5265662e6765744d616368696e654163636f756e747328295b6e6f646549445d0a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420676574206d616368696e65206163636f756e7420696e666f20666f722074686520737065636966696564206e6f646520494422290a0a20202020202020202f2f2052656d6f766520746865204e6f64655374616b65722066726f6d2074686520617574686f72697a657273205374616b696e67436f6c6c656374696f6e2e0a20202020202020206c6574206e6f64655374616b6572203c2d2073656c662e66726f6d5374616b696e67436f6c6c656374696f6e5265662e72656d6f76654e6f6465286e6f646549443a206e6f64654944290a0a20202020202020202f2f204465706f73697420746865204e6f64655374616b657220746f2074686520726563656976657273205374616b696e67436f6c6c656374696f6e2e0a202020202020202073656c662e746f5374616b696e67436f6c6c656374696f6e4361702e6164644e6f64654f626a656374283c2d206e6f64655374616b6572212c206d616368696e654163636f756e74496e666f3a206d616368696e654163636f756e74496e666f290a202020207d0a7df88eb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227daf7b2276616c7565223a22307865343637623964643131666130306466222c2274797065223a2241646472657373227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", + "encodedTransactionEnvelopeHex": "f90972f9096eb9089b696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f205472616e73666572732061204e6f64655374616b6572206f626a6563742066726f6d20616e20617574686f72697a657273206163636f6f756e740a2f2f20616e64206164647320746865204e6f64655374616b657220746f20616e6f74686572206163636f756e7473205374616b696e6720436f6c6c656374696f6e0a2f2f206964656e7469666965642062792074686520746f20416464726573732e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c20746f3a204164647265737329207b0a202020206c65742066726f6d5374616b696e67436f6c6c656374696f6e5265663a206175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a202020206c657420746f5374616b696e67436f6c6c656374696f6e4361703a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a206175746828426f72726f7756616c75652920264163636f756e7429207b0a20202020202020202f2f20546865206163636f756e7420746f207472616e7366657220746865204e6f64655374616b6572206f626a65637420746f206d757374206861766520612076616c6964205374616b696e6720436f6c6c656374696f6e20696e206f7264657220746f207265636569766520746865204e6f64655374616b65722e0a20202020202020206966202821466c6f775374616b696e67436f6c6c656374696f6e2e646f65734163636f756e74486176655374616b696e67436f6c6c656374696f6e28616464726573733a20746f2929207b0a20202020202020202020202070616e6963282244657374696e6174696f6e206163636f756e74206d75737420686176652061205374616b696e6720436f6c6c656374696f6e207365742075702e22290a20202020202020207d0a0a20202020202020202f2f204765742061207265666572656e636520746f2074686520617574686f72697a657273205374616b696e67436f6c6c656374696f6e0a202020202020202073656c662e66726f6d5374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e73746f726167652e626f72726f773c6175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f2061205374616b696e67436f6c6c656374696f6e20696e20746865207072696d61727920757365722773206163636f756e7422290a0a20202020202020202f2f2047657420746865205075626c69634163636f756e74206f6620746865206163636f756e7420746f207472616e7366657220746865204e6f64655374616b657220746f2e200a20202020202020206c657420746f4163636f756e74203d206765744163636f756e7428746f290a0a20202020202020202f2f20426f72726f772061206361706162696c69747920746f20746865207075626c6963206d6574686f647320617661696c61626c65206f6e2074686520726563656976657273205374616b696e67436f6c6c656374696f6e2e0a202020202020202073656c662e746f5374616b696e67436f6c6c656374696f6e436170203d20746f4163636f756e742e6361706162696c69746965730a2020202020202020202020202e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e28466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e5075626c696350617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f2061205374616b696e67436f6c6c656374696f6e20696e207468652072656365697665722773206163636f756e7422290a0a20202020202020206c6574206d616368696e654163636f756e74496e666f203d2073656c662e66726f6d5374616b696e67436f6c6c656374696f6e5265662e6765744d616368696e654163636f756e747328295b6e6f646549445d0a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420676574206d616368696e65206163636f756e7420696e666f20666f722074686520737065636966696564206e6f646520494422290a0a20202020202020202f2f2052656d6f766520746865204e6f64655374616b65722066726f6d2074686520617574686f72697a657273205374616b696e67436f6c6c656374696f6e2e0a20202020202020206c6574206e6f64655374616b6572203c2d2073656c662e66726f6d5374616b696e67436f6c6c656374696f6e5265662e72656d6f76654e6f6465286e6f646549443a206e6f64654944290a0a20202020202020202f2f204465706f73697420746865204e6f64655374616b657220746f2074686520726563656976657273205374616b696e67436f6c6c656374696f6e2e0a202020202020202073656c662e746f5374616b696e67436f6c6c656374696f6e4361702e6164644e6f64654f626a656374283c2d206e6f64655374616b6572212c206d616368696e654163636f756e74496e666f3a206d616368696e654163636f756e74496e666f290a202020207d0a7df88eb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227daf7b2276616c7565223a22307865343637623964643131666130306466222c2274797065223a2241646472657373227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", + "metadata": "02311f4071dda8b17ac6cbc6f0a27e98bd426026825d3c68308903fead884e616e38bfd23b200ecef4d13fa3c2ea998b51e6a24f3a8ceb260d2affab7c918a97d05472616e73666572204e6f64650002014e6f64652049440000537472696e67000301416464726573730001416464726573730003", + "hash": "38bfd23b200ecef4d13fa3c2ea998b51e6a24f3a8ceb260d2affab7c918a97d0" }, { - "title": "SCO.04 - Create Machine Account - 1", + "title": "SCO.14 - Transfer Delegator", "valid": true, "chainID": "Mainnet", "payloadMessage": { - "script": "import Crypto\nimport FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// Creates a machine account for a node that is already in the staking collection\n/// and adds public keys to the new account\n\ntransaction(nodeID: String, publicKeys: [Crypto.KeyListEntry]) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n\n if let machineAccount = self.stakingCollectionRef.createMachineAccountForExistingNode(nodeID: nodeID, payer: account) {\n if publicKeys == nil || publicKeys!.length == 0 {\n panic(\"Cannot provide zero keys for the machine account\")\n }\n for key in publicKeys {\n machineAccount.keys.add(publicKey: key.publicKey, hashAlgorithm: key.hashAlgorithm, weight: key.weight)\n }\n } else {\n panic(\"Could not create a machine account for the node\")\n }\n }\n}\n", + "script": "import FlowStakingCollection from 0x8d0e87b65159ae63\n\n// Transfers a NodeDelegator object from an authorizers accoount\n// and adds the NodeDelegator to another accounts Staking Collection\n// identified by the to Address.\n\ntransaction(nodeID: String, delegatorID: UInt32, to: Address) {\n let fromStakingCollectionRef: auth(FlowStakingCollection.CollectionOwner) &FlowStakingCollection.StakingCollection\n let toStakingCollectionCap: &FlowStakingCollection.StakingCollection\n\n prepare(account: auth(BorrowValue) &Account) {\n // The account to transfer the NodeDelegator object to must have a valid Staking Collection in order to receive the NodeDelegator.\n if (!FlowStakingCollection.doesAccountHaveStakingCollection(address: to)) {\n panic(\"Destination account must have a Staking Collection set up.\")\n }\n\n // Get a reference to the authorizers StakingCollection\n self.fromStakingCollectionRef = account.storage.borrow(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow a reference to a StakingCollection in the primary user's account\")\n\n // Get the PublicAccount of the account to transfer the NodeDelegator to. \n let toAccount = getAccount(to)\n\n // Borrow a capability to the public methods available on the receivers StakingCollection.\n self.toStakingCollectionCap = toAccount.capabilities\n .borrow<&FlowStakingCollection.StakingCollection>(FlowStakingCollection.StakingCollectionPublicPath)\n ?? panic(\"Could not borrow a referamce to a StakingCollection in the receiver's account\")\n }\n\n execute {\n // Remove the NodeDelegator from the authorizers StakingCollection.\n let nodeDelegator <- self.fromStakingCollectionRef.removeDelegator(nodeID: nodeID, delegatorID: delegatorID)\n\n // Deposit the NodeDelegator to the receivers StakingCollection.\n self.toStakingCollectionCap.addDelegatorObject(<- nodeDelegator!)\n }\n}", "arguments": [ { "type": "String", "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" }, { - "type": "Array", - "value": [] + "value": "42", + "type": "UInt32" + }, + { + "value": "0xe467b9dd11fa00df", + "type": "Address" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -7714,15 +4322,19 @@ ] }, "envelopeMessage": { - "script": "import Crypto\nimport FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// Creates a machine account for a node that is already in the staking collection\n/// and adds public keys to the new account\n\ntransaction(nodeID: String, publicKeys: [Crypto.KeyListEntry]) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n\n if let machineAccount = self.stakingCollectionRef.createMachineAccountForExistingNode(nodeID: nodeID, payer: account) {\n if publicKeys == nil || publicKeys!.length == 0 {\n panic(\"Cannot provide zero keys for the machine account\")\n }\n for key in publicKeys {\n machineAccount.keys.add(publicKey: key.publicKey, hashAlgorithm: key.hashAlgorithm, weight: key.weight)\n }\n } else {\n panic(\"Could not create a machine account for the node\")\n }\n }\n}\n", + "script": "import FlowStakingCollection from 0x8d0e87b65159ae63\n\n// Transfers a NodeDelegator object from an authorizers accoount\n// and adds the NodeDelegator to another accounts Staking Collection\n// identified by the to Address.\n\ntransaction(nodeID: String, delegatorID: UInt32, to: Address) {\n let fromStakingCollectionRef: auth(FlowStakingCollection.CollectionOwner) &FlowStakingCollection.StakingCollection\n let toStakingCollectionCap: &FlowStakingCollection.StakingCollection\n\n prepare(account: auth(BorrowValue) &Account) {\n // The account to transfer the NodeDelegator object to must have a valid Staking Collection in order to receive the NodeDelegator.\n if (!FlowStakingCollection.doesAccountHaveStakingCollection(address: to)) {\n panic(\"Destination account must have a Staking Collection set up.\")\n }\n\n // Get a reference to the authorizers StakingCollection\n self.fromStakingCollectionRef = account.storage.borrow(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow a reference to a StakingCollection in the primary user's account\")\n\n // Get the PublicAccount of the account to transfer the NodeDelegator to. \n let toAccount = getAccount(to)\n\n // Borrow a capability to the public methods available on the receivers StakingCollection.\n self.toStakingCollectionCap = toAccount.capabilities\n .borrow<&FlowStakingCollection.StakingCollection>(FlowStakingCollection.StakingCollectionPublicPath)\n ?? panic(\"Could not borrow a referamce to a StakingCollection in the receiver's account\")\n }\n\n execute {\n // Remove the NodeDelegator from the authorizers StakingCollection.\n let nodeDelegator <- self.fromStakingCollectionRef.removeDelegator(nodeID: nodeID, delegatorID: delegatorID)\n\n // Deposit the NodeDelegator to the receivers StakingCollection.\n self.toStakingCollectionCap.addDelegatorObject(<- nodeDelegator!)\n }\n}", "arguments": [ { "type": "String", "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" }, { - "type": "Array", - "value": [] + "value": "42", + "type": "UInt32" + }, + { + "value": "0xe467b9dd11fa00df", + "type": "Address" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -7738,30 +4350,25 @@ ], "payloadSigs": [] }, - "encodedTransactionPayloadHex": "f90537b90478696d706f72742043727970746f0a696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f20437265617465732061206d616368696e65206163636f756e7420666f722061206e6f6465207468617420697320616c726561647920696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f20616e642061646473207075626c6963206b65797320746f20746865206e6577206163636f756e740a0a7472616e73616374696f6e286e6f646549443a20537472696e672c207075626c69634b6579733a205b43727970746f2e4b65794c697374456e7472795d29207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a0a20202020202020206966206c6574206d616368696e654163636f756e74203d2073656c662e7374616b696e67436f6c6c656374696f6e5265662e6372656174654d616368696e654163636f756e74466f724578697374696e674e6f6465286e6f646549443a206e6f646549442c2070617965723a206163636f756e7429207b0a2020202020202020202020206966207075626c69634b657973203d3d206e696c207c7c207075626c69634b657973212e6c656e677468203d3d2030207b0a2020202020202020202020202020202070616e6963282243616e6e6f742070726f76696465207a65726f206b65797320666f7220746865206d616368696e65206163636f756e7422290a2020202020202020202020207d0a202020202020202020202020666f72206b657920696e207075626c69634b657973207b0a202020202020202020202020202020206d616368696e654163636f756e742e6b6579732e616464287075626c69634b65793a206b65792e7075626c69634b65792c2068617368416c676f726974686d3a206b65792e68617368416c676f726974686d2c207765696768743a206b65792e776569676874290a2020202020202020202020207d0a20202020202020207d20656c7365207b0a20202020202020202020202070616e69632822436f756c64206e6f74206372656174652061206d616368696e65206163636f756e7420666f7220746865206e6f646522290a20202020202020207d0a202020207d0a7d0af87ab85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227d9b7b2274797065223a224172726179222c2276616c7565223a5b5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f9053bf90537b90478696d706f72742043727970746f0a696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f20437265617465732061206d616368696e65206163636f756e7420666f722061206e6f6465207468617420697320616c726561647920696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f20616e642061646473207075626c6963206b65797320746f20746865206e6577206163636f756e740a0a7472616e73616374696f6e286e6f646549443a20537472696e672c207075626c69634b6579733a205b43727970746f2e4b65794c697374456e7472795d29207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a0a20202020202020206966206c6574206d616368696e654163636f756e74203d2073656c662e7374616b696e67436f6c6c656374696f6e5265662e6372656174654d616368696e654163636f756e74466f724578697374696e674e6f6465286e6f646549443a206e6f646549442c2070617965723a206163636f756e7429207b0a2020202020202020202020206966207075626c69634b657973203d3d206e696c207c7c207075626c69634b657973212e6c656e677468203d3d2030207b0a2020202020202020202020202020202070616e6963282243616e6e6f742070726f76696465207a65726f206b65797320666f7220746865206d616368696e65206163636f756e7422290a2020202020202020202020207d0a202020202020202020202020666f72206b657920696e207075626c69634b657973207b0a202020202020202020202020202020206d616368696e654163636f756e742e6b6579732e616464287075626c69634b65793a206b65792e7075626c69634b65792c2068617368416c676f726974686d3a206b65792e68617368416c676f726974686d2c207765696768743a206b65792e776569676874290a2020202020202020202020207d0a20202020202020207d20656c7365207b0a20202020202020202020202070616e69632822436f756c64206e6f74206372656174652061206d616368696e65206163636f756e7420666f7220746865206e6f646522290a20202020202020207d0a202020207d0a7d0af87ab85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227d9b7b2274797065223a224172726179222c2276616c7565223a5b5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "0286c69d731560f3bff549c5f180eb4219bfe650ae4efec8e0c5b5ad3ebed54a92dd3b327b09087ea7f8e92a22a6b04a3c6ca33b868b430c4f15f251658c38c1b7437265617465204d616368696e65204163636f756e740002014e6f64652049440000537472696e6700030300035075622e204b65790001537472696e670003", - "hash": "dd3b327b09087ea7f8e92a22a6b04a3c6ca33b868b430c4f15f251658c38c1b7" + "encodedTransactionPayloadHex": "f9091bb90829696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f205472616e73666572732061204e6f646544656c656761746f72206f626a6563742066726f6d20616e20617574686f72697a657273206163636f6f756e740a2f2f20616e64206164647320746865204e6f646544656c656761746f7220746f20616e6f74686572206163636f756e7473205374616b696e6720436f6c6c656374696f6e0a2f2f206964656e7469666965642062792074686520746f20416464726573732e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433322c20746f3a204164647265737329207b0a202020206c65742066726f6d5374616b696e67436f6c6c656374696f6e5265663a206175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a202020206c657420746f5374616b696e67436f6c6c656374696f6e4361703a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a206175746828426f72726f7756616c75652920264163636f756e7429207b0a20202020202020202f2f20546865206163636f756e7420746f207472616e7366657220746865204e6f646544656c656761746f72206f626a65637420746f206d757374206861766520612076616c6964205374616b696e6720436f6c6c656374696f6e20696e206f7264657220746f207265636569766520746865204e6f646544656c656761746f722e0a20202020202020206966202821466c6f775374616b696e67436f6c6c656374696f6e2e646f65734163636f756e74486176655374616b696e67436f6c6c656374696f6e28616464726573733a20746f2929207b0a20202020202020202020202070616e6963282244657374696e6174696f6e206163636f756e74206d75737420686176652061205374616b696e6720436f6c6c656374696f6e207365742075702e22290a20202020202020207d0a0a20202020202020202f2f204765742061207265666572656e636520746f2074686520617574686f72697a657273205374616b696e67436f6c6c656374696f6e0a202020202020202073656c662e66726f6d5374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e73746f726167652e626f72726f773c6175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f2061205374616b696e67436f6c6c656374696f6e20696e20746865207072696d61727920757365722773206163636f756e7422290a0a20202020202020202f2f2047657420746865205075626c69634163636f756e74206f6620746865206163636f756e7420746f207472616e7366657220746865204e6f646544656c656761746f7220746f2e200a20202020202020206c657420746f4163636f756e74203d206765744163636f756e7428746f290a0a20202020202020202f2f20426f72726f772061206361706162696c69747920746f20746865207075626c6963206d6574686f647320617661696c61626c65206f6e2074686520726563656976657273205374616b696e67436f6c6c656374696f6e2e0a202020202020202073656c662e746f5374616b696e67436f6c6c656374696f6e436170203d20746f4163636f756e742e6361706162696c69746965730a2020202020202020202020202e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e28466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e5075626c696350617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572616d636520746f2061205374616b696e67436f6c6c656374696f6e20696e207468652072656365697665722773206163636f756e7422290a202020207d0a0a2020202065786563757465207b0a20202020202020202f2f2052656d6f766520746865204e6f646544656c656761746f722066726f6d2074686520617574686f72697a657273205374616b696e67436f6c6c656374696f6e2e0a20202020202020206c6574206e6f646544656c656761746f72203c2d2073656c662e66726f6d5374616b696e67436f6c6c656374696f6e5265662e72656d6f766544656c656761746f72286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f724944290a0a20202020202020202f2f204465706f73697420746865204e6f646544656c656761746f7220746f2074686520726563656976657273205374616b696e67436f6c6c656374696f6e2e0a202020202020202073656c662e746f5374616b696e67436f6c6c656374696f6e4361702e61646444656c656761746f724f626a656374283c2d206e6f646544656c656761746f7221290a202020207d0a7df8adb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227d9e7b2276616c7565223a223432222c2274797065223a2255496e743332227daf7b2276616c7565223a22307865343637623964643131666130306466222c2274797065223a2241646472657373227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", + "encodedTransactionEnvelopeHex": "f9091ff9091bb90829696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f205472616e73666572732061204e6f646544656c656761746f72206f626a6563742066726f6d20616e20617574686f72697a657273206163636f6f756e740a2f2f20616e64206164647320746865204e6f646544656c656761746f7220746f20616e6f74686572206163636f756e7473205374616b696e6720436f6c6c656374696f6e0a2f2f206964656e7469666965642062792074686520746f20416464726573732e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433322c20746f3a204164647265737329207b0a202020206c65742066726f6d5374616b696e67436f6c6c656374696f6e5265663a206175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a202020206c657420746f5374616b696e67436f6c6c656374696f6e4361703a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a206175746828426f72726f7756616c75652920264163636f756e7429207b0a20202020202020202f2f20546865206163636f756e7420746f207472616e7366657220746865204e6f646544656c656761746f72206f626a65637420746f206d757374206861766520612076616c6964205374616b696e6720436f6c6c656374696f6e20696e206f7264657220746f207265636569766520746865204e6f646544656c656761746f722e0a20202020202020206966202821466c6f775374616b696e67436f6c6c656374696f6e2e646f65734163636f756e74486176655374616b696e67436f6c6c656374696f6e28616464726573733a20746f2929207b0a20202020202020202020202070616e6963282244657374696e6174696f6e206163636f756e74206d75737420686176652061205374616b696e6720436f6c6c656374696f6e207365742075702e22290a20202020202020207d0a0a20202020202020202f2f204765742061207265666572656e636520746f2074686520617574686f72697a657273205374616b696e67436f6c6c656374696f6e0a202020202020202073656c662e66726f6d5374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e73746f726167652e626f72726f773c6175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f2061205374616b696e67436f6c6c656374696f6e20696e20746865207072696d61727920757365722773206163636f756e7422290a0a20202020202020202f2f2047657420746865205075626c69634163636f756e74206f6620746865206163636f756e7420746f207472616e7366657220746865204e6f646544656c656761746f7220746f2e200a20202020202020206c657420746f4163636f756e74203d206765744163636f756e7428746f290a0a20202020202020202f2f20426f72726f772061206361706162696c69747920746f20746865207075626c6963206d6574686f647320617661696c61626c65206f6e2074686520726563656976657273205374616b696e67436f6c6c656374696f6e2e0a202020202020202073656c662e746f5374616b696e67436f6c6c656374696f6e436170203d20746f4163636f756e742e6361706162696c69746965730a2020202020202020202020202e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e28466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e5075626c696350617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572616d636520746f2061205374616b696e67436f6c6c656374696f6e20696e207468652072656365697665722773206163636f756e7422290a202020207d0a0a2020202065786563757465207b0a20202020202020202f2f2052656d6f766520746865204e6f646544656c656761746f722066726f6d2074686520617574686f72697a657273205374616b696e67436f6c6c656374696f6e2e0a20202020202020206c6574206e6f646544656c656761746f72203c2d2073656c662e66726f6d5374616b696e67436f6c6c656374696f6e5265662e72656d6f766544656c656761746f72286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f724944290a0a20202020202020202f2f204465706f73697420746865204e6f646544656c656761746f7220746f2074686520726563656976657273205374616b696e67436f6c6c656374696f6e2e0a202020202020202073656c662e746f5374616b696e67436f6c6c656374696f6e4361702e61646444656c656761746f724f626a656374283c2d206e6f646544656c656761746f7221290a202020207d0a7df8adb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227d9e7b2276616c7565223a223432222c2274797065223a2255496e743332227daf7b2276616c7565223a22307865343637623964643131666130306466222c2274797065223a2241646472657373227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", + "metadata": "02f9fa239cb78b3e07b8f8d56e173e2673b4b53aeb07d507a769c8d96eaf400b8d11e2107d2ccd96cb6b3fa3a704491dcd9e1736215137304e0494243c21befc765472616e736665722044656c656761746f720003014e6f64652049440000537472696e6700030144656c656761746f72204944000155496e743332000301416464726573730002416464726573730003", + "hash": "11e2107d2ccd96cb6b3fa3a704491dcd9e1736215137304e0494243c21befc76" }, { - "title": "SCO.04 - Create Machine Account - 2", + "title": "SCO.15 - Withdraw From Machine Account", "valid": true, "chainID": "Mainnet", "payloadMessage": { - "script": "import Crypto\nimport FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// Creates a machine account for a node that is already in the staking collection\n/// and adds public keys to the new account\n\ntransaction(nodeID: String, publicKeys: [Crypto.KeyListEntry]) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n\n if let machineAccount = self.stakingCollectionRef.createMachineAccountForExistingNode(nodeID: nodeID, payer: account) {\n if publicKeys == nil || publicKeys!.length == 0 {\n panic(\"Cannot provide zero keys for the machine account\")\n }\n for key in publicKeys {\n machineAccount.keys.add(publicKey: key.publicKey, hashAlgorithm: key.hashAlgorithm, weight: key.weight)\n }\n } else {\n panic(\"Could not create a machine account for the node\")\n }\n }\n}\n", + "script": "import FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// Request to withdraw tokens from the machine account\n/// The tokens are automatically deposited to the unlocked account vault\n\ntransaction(nodeID: String, amount: UFix64) {\n \n let stakingCollectionRef: auth(FlowStakingCollection.CollectionOwner) &FlowStakingCollection.StakingCollection\n\n prepare(account: auth(BorrowValue) &Account) {\n self.stakingCollectionRef = account.storage.borrow(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow a reference to a StakingCollection in the primary user's account\")\n }\n\n execute {\n self.stakingCollectionRef.withdrawFromMachineAccount(nodeID: nodeID, amount: amount)\n }\n}\n", "arguments": [ { "type": "String", "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" }, { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164" - } - ] + "value": "92233720368.54775808", + "type": "UFix64" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -7777,20 +4384,15 @@ ] }, "envelopeMessage": { - "script": "import Crypto\nimport FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// Creates a machine account for a node that is already in the staking collection\n/// and adds public keys to the new account\n\ntransaction(nodeID: String, publicKeys: [Crypto.KeyListEntry]) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n\n if let machineAccount = self.stakingCollectionRef.createMachineAccountForExistingNode(nodeID: nodeID, payer: account) {\n if publicKeys == nil || publicKeys!.length == 0 {\n panic(\"Cannot provide zero keys for the machine account\")\n }\n for key in publicKeys {\n machineAccount.keys.add(publicKey: key.publicKey, hashAlgorithm: key.hashAlgorithm, weight: key.weight)\n }\n } else {\n panic(\"Could not create a machine account for the node\")\n }\n }\n}\n", + "script": "import FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// Request to withdraw tokens from the machine account\n/// The tokens are automatically deposited to the unlocked account vault\n\ntransaction(nodeID: String, amount: UFix64) {\n \n let stakingCollectionRef: auth(FlowStakingCollection.CollectionOwner) &FlowStakingCollection.StakingCollection\n\n prepare(account: auth(BorrowValue) &Account) {\n self.stakingCollectionRef = account.storage.borrow(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow a reference to a StakingCollection in the primary user's account\")\n }\n\n execute {\n self.stakingCollectionRef.withdrawFromMachineAccount(nodeID: nodeID, amount: amount)\n }\n}\n", "arguments": [ { "type": "String", "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" }, { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164" - } - ] + "value": "92233720368.54775808", + "type": "UFix64" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -7806,38 +4408,25 @@ ], "payloadSigs": [] }, - "encodedTransactionPayloadHex": "f905e3b90478696d706f72742043727970746f0a696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f20437265617465732061206d616368696e65206163636f756e7420666f722061206e6f6465207468617420697320616c726561647920696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f20616e642061646473207075626c6963206b65797320746f20746865206e6577206163636f756e740a0a7472616e73616374696f6e286e6f646549443a20537472696e672c207075626c69634b6579733a205b43727970746f2e4b65794c697374456e7472795d29207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a0a20202020202020206966206c6574206d616368696e654163636f756e74203d2073656c662e7374616b696e67436f6c6c656374696f6e5265662e6372656174654d616368696e654163636f756e74466f724578697374696e674e6f6465286e6f646549443a206e6f646549442c2070617965723a206163636f756e7429207b0a2020202020202020202020206966207075626c69634b657973203d3d206e696c207c7c207075626c69634b657973212e6c656e677468203d3d2030207b0a2020202020202020202020202020202070616e6963282243616e6e6f742070726f76696465207a65726f206b65797320666f7220746865206d616368696e65206163636f756e7422290a2020202020202020202020207d0a202020202020202020202020666f72206b657920696e207075626c69634b657973207b0a202020202020202020202020202020206d616368696e654163636f756e742e6b6579732e616464287075626c69634b65793a206b65792e7075626c69634b65792c2068617368416c676f726974686d3a206b65792e68617368416c676f726974686d2c207765696768743a206b65792e776569676874290a2020202020202020202020207d0a20202020202020207d20656c7365207b0a20202020202020202020202070616e69632822436f756c64206e6f74206372656174652061206d616368696e65206163636f756e7420666f7220746865206e6f646522290a20202020202020207d0a202020207d0a7d0af90125b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db8c57b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634227d5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f905e7f905e3b90478696d706f72742043727970746f0a696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f20437265617465732061206d616368696e65206163636f756e7420666f722061206e6f6465207468617420697320616c726561647920696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f20616e642061646473207075626c6963206b65797320746f20746865206e6577206163636f756e740a0a7472616e73616374696f6e286e6f646549443a20537472696e672c207075626c69634b6579733a205b43727970746f2e4b65794c697374456e7472795d29207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a0a20202020202020206966206c6574206d616368696e654163636f756e74203d2073656c662e7374616b696e67436f6c6c656374696f6e5265662e6372656174654d616368696e654163636f756e74466f724578697374696e674e6f6465286e6f646549443a206e6f646549442c2070617965723a206163636f756e7429207b0a2020202020202020202020206966207075626c69634b657973203d3d206e696c207c7c207075626c69634b657973212e6c656e677468203d3d2030207b0a2020202020202020202020202020202070616e6963282243616e6e6f742070726f76696465207a65726f206b65797320666f7220746865206d616368696e65206163636f756e7422290a2020202020202020202020207d0a202020202020202020202020666f72206b657920696e207075626c69634b657973207b0a202020202020202020202020202020206d616368696e654163636f756e742e6b6579732e616464287075626c69634b65793a206b65792e7075626c69634b65792c2068617368416c676f726974686d3a206b65792e68617368416c676f726974686d2c207765696768743a206b65792e776569676874290a2020202020202020202020207d0a20202020202020207d20656c7365207b0a20202020202020202020202070616e69632822436f756c64206e6f74206372656174652061206d616368696e65206163636f756e7420666f7220746865206e6f646522290a20202020202020207d0a202020207d0a7d0af90125b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db8c57b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634227d5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "0286c69d731560f3bff549c5f180eb4219bfe650ae4efec8e0c5b5ad3ebed54a92dd3b327b09087ea7f8e92a22a6b04a3c6ca33b868b430c4f15f251658c38c1b7437265617465204d616368696e65204163636f756e740002014e6f64652049440000537472696e6700030300035075622e204b65790001537472696e670003", - "hash": "dd3b327b09087ea7f8e92a22a6b04a3c6ca33b868b430c4f15f251658c38c1b7" + "encodedTransactionPayloadHex": "f90415b90341696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f205265717565737420746f20776974686472617720746f6b656e732066726f6d20746865206d616368696e65206163636f756e740a2f2f2f2054686520746f6b656e7320617265206175746f6d61746963616c6c79206465706f736974656420746f2074686520756e6c6f636b6564206163636f756e74207661756c740a0a7472616e73616374696f6e286e6f646549443a20537472696e672c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a206175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a206175746828426f72726f7756616c75652920264163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e73746f726167652e626f72726f773c6175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f2061205374616b696e67436f6c6c656374696f6e20696e20746865207072696d61727920757365722773206163636f756e7422290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e776974686472617746726f6d4d616368696e654163636f756e74286e6f646549443a206e6f646549442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af88fb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db07b2276616c7565223a2239323233333732303336382e3534373735383038222c2274797065223a22554669783634227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", + "encodedTransactionEnvelopeHex": "f90419f90415b90341696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f205265717565737420746f20776974686472617720746f6b656e732066726f6d20746865206d616368696e65206163636f756e740a2f2f2f2054686520746f6b656e7320617265206175746f6d61746963616c6c79206465706f736974656420746f2074686520756e6c6f636b6564206163636f756e74207661756c740a0a7472616e73616374696f6e286e6f646549443a20537472696e672c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a206175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a206175746828426f72726f7756616c75652920264163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e73746f726167652e626f72726f773c6175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f2061205374616b696e67436f6c6c656374696f6e20696e20746865207072696d61727920757365722773206163636f756e7422290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e776974686472617746726f6d4d616368696e654163636f756e74286e6f646549443a206e6f646549442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af88fb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db07b2276616c7565223a2239323233333732303336382e3534373735383038222c2274797065223a22554669783634227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", + "metadata": "02fdd40862af04dc36dd0e9e727966c6f81dd6be8246b9c70afd18297aac9e86a8e12b16ef4218b8ce52189ae5814b381272bf473436978fae94d01c10c036903457697468647261772046726f6d204d616368696e65204163636f756e740002014e6f64652049440000537472696e67000301416d6f756e7400015546697836340003", + "hash": "e12b16ef4218b8ce52189ae5814b381272bf473436978fae94d01c10c0369034" }, { - "title": "SCO.04 - Create Machine Account - 3", + "title": "SCO.16 - Update Networking Address", "valid": true, "chainID": "Mainnet", "payloadMessage": { - "script": "import Crypto\nimport FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// Creates a machine account for a node that is already in the staking collection\n/// and adds public keys to the new account\n\ntransaction(nodeID: String, publicKeys: [Crypto.KeyListEntry]) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n\n if let machineAccount = self.stakingCollectionRef.createMachineAccountForExistingNode(nodeID: nodeID, payer: account) {\n if publicKeys == nil || publicKeys!.length == 0 {\n panic(\"Cannot provide zero keys for the machine account\")\n }\n for key in publicKeys {\n machineAccount.keys.add(publicKey: key.publicKey, hashAlgorithm: key.hashAlgorithm, weight: key.weight)\n }\n } else {\n panic(\"Could not create a machine account for the node\")\n }\n }\n}\n", + "script": "import FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// Changes the networking address for the specified node\n\ntransaction(nodeID: String, newAddress: String) {\n \n let stakingCollectionRef: auth(FlowStakingCollection.CollectionOwner) &FlowStakingCollection.StakingCollection\n\n prepare(account: auth(BorrowValue) &Account) {\n self.stakingCollectionRef = account.storage.borrow(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow a reference to a StakingCollection in the primary user's account\")\n }\n\n execute {\n self.stakingCollectionRef.updateNetworkingAddress(nodeID: nodeID, newAddress: newAddress)\n }\n}\n", "arguments": [ { "type": "String", "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" }, { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164" - }, - { - "type": "String", - "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164" - }, - { - "type": "String", - "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164" - } - ] + "value": "flow-node.test:3569", + "type": "String" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -7853,28 +4442,15 @@ ] }, "envelopeMessage": { - "script": "import Crypto\nimport FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// Creates a machine account for a node that is already in the staking collection\n/// and adds public keys to the new account\n\ntransaction(nodeID: String, publicKeys: [Crypto.KeyListEntry]) {\n \n let stakingCollectionRef: &FlowStakingCollection.StakingCollection\n\n prepare(account: AuthAccount) {\n self.stakingCollectionRef = account.borrow<&FlowStakingCollection.StakingCollection>(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow ref to StakingCollection\")\n\n if let machineAccount = self.stakingCollectionRef.createMachineAccountForExistingNode(nodeID: nodeID, payer: account) {\n if publicKeys == nil || publicKeys!.length == 0 {\n panic(\"Cannot provide zero keys for the machine account\")\n }\n for key in publicKeys {\n machineAccount.keys.add(publicKey: key.publicKey, hashAlgorithm: key.hashAlgorithm, weight: key.weight)\n }\n } else {\n panic(\"Could not create a machine account for the node\")\n }\n }\n}\n", + "script": "import FlowStakingCollection from 0x8d0e87b65159ae63\n\n/// Changes the networking address for the specified node\n\ntransaction(nodeID: String, newAddress: String) {\n \n let stakingCollectionRef: auth(FlowStakingCollection.CollectionOwner) &FlowStakingCollection.StakingCollection\n\n prepare(account: auth(BorrowValue) &Account) {\n self.stakingCollectionRef = account.storage.borrow(from: FlowStakingCollection.StakingCollectionStoragePath)\n ?? panic(\"Could not borrow a reference to a StakingCollection in the primary user's account\")\n }\n\n execute {\n self.stakingCollectionRef.updateNetworkingAddress(nodeID: nodeID, newAddress: newAddress)\n }\n}\n", "arguments": [ { "type": "String", "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" }, { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164" - }, - { - "type": "String", - "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164" - }, - { - "type": "String", - "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164" - } - ] + "value": "flow-node.test:3569", + "type": "String" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -7890,9 +4466,9 @@ ], "payloadSigs": [] }, - "encodedTransactionPayloadHex": "f9073ab90478696d706f72742043727970746f0a696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f20437265617465732061206d616368696e65206163636f756e7420666f722061206e6f6465207468617420697320616c726561647920696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f20616e642061646473207075626c6963206b65797320746f20746865206e6577206163636f756e740a0a7472616e73616374696f6e286e6f646549443a20537472696e672c207075626c69634b6579733a205b43727970746f2e4b65794c697374456e7472795d29207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a0a20202020202020206966206c6574206d616368696e654163636f756e74203d2073656c662e7374616b696e67436f6c6c656374696f6e5265662e6372656174654d616368696e654163636f756e74466f724578697374696e674e6f6465286e6f646549443a206e6f646549442c2070617965723a206163636f756e7429207b0a2020202020202020202020206966207075626c69634b657973203d3d206e696c207c7c207075626c69634b657973212e6c656e677468203d3d2030207b0a2020202020202020202020202020202070616e6963282243616e6e6f742070726f76696465207a65726f206b65797320666f7220746865206d616368696e65206163636f756e7422290a2020202020202020202020207d0a202020202020202020202020666f72206b657920696e207075626c69634b657973207b0a202020202020202020202020202020206d616368696e654163636f756e742e6b6579732e616464287075626c69634b65793a206b65792e7075626c69634b65792c2068617368416c676f726974686d3a206b65792e68617368416c676f726974686d2c207765696768743a206b65792e776569676874290a2020202020202020202020207d0a20202020202020207d20656c7365207b0a20202020202020202020202070616e69632822436f756c64206e6f74206372656174652061206d616368696e65206163636f756e7420666f7220746865206e6f646522290a20202020202020207d0a202020207d0a7d0af9027cb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db9021b7b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634227d2c7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634227d2c7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634227d5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f9073ef9073ab90478696d706f72742043727970746f0a696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f20437265617465732061206d616368696e65206163636f756e7420666f722061206e6f6465207468617420697320616c726561647920696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f20616e642061646473207075626c6963206b65797320746f20746865206e6577206163636f756e740a0a7472616e73616374696f6e286e6f646549443a20537472696e672c207075626c69634b6579733a205b43727970746f2e4b65794c697374456e7472795d29207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a0a20202020202020206966206c6574206d616368696e654163636f756e74203d2073656c662e7374616b696e67436f6c6c656374696f6e5265662e6372656174654d616368696e654163636f756e74466f724578697374696e674e6f6465286e6f646549443a206e6f646549442c2070617965723a206163636f756e7429207b0a2020202020202020202020206966207075626c69634b657973203d3d206e696c207c7c207075626c69634b657973212e6c656e677468203d3d2030207b0a2020202020202020202020202020202070616e6963282243616e6e6f742070726f76696465207a65726f206b65797320666f7220746865206d616368696e65206163636f756e7422290a2020202020202020202020207d0a202020202020202020202020666f72206b657920696e207075626c69634b657973207b0a202020202020202020202020202020206d616368696e654163636f756e742e6b6579732e616464287075626c69634b65793a206b65792e7075626c69634b65792c2068617368416c676f726974686d3a206b65792e68617368416c676f726974686d2c207765696768743a206b65792e776569676874290a2020202020202020202020207d0a20202020202020207d20656c7365207b0a20202020202020202020202070616e69632822436f756c64206e6f74206372656174652061206d616368696e65206163636f756e7420666f7220746865206e6f646522290a20202020202020207d0a202020207d0a7d0af9027cb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db9021b7b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634227d2c7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634227d2c7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634227d5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "0286c69d731560f3bff549c5f180eb4219bfe650ae4efec8e0c5b5ad3ebed54a92dd3b327b09087ea7f8e92a22a6b04a3c6ca33b868b430c4f15f251658c38c1b7437265617465204d616368696e65204163636f756e740002014e6f64652049440000537472696e6700030300035075622e204b65790001537472696e670003", - "hash": "dd3b327b09087ea7f8e92a22a6b04a3c6ca33b868b430c4f15f251658c38c1b7" + "encodedTransactionPayloadHex": "f903d6b90303696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f204368616e67657320746865206e6574776f726b696e67206164647265737320666f722074686520737065636966696564206e6f64650a0a7472616e73616374696f6e286e6f646549443a20537472696e672c206e6577416464726573733a20537472696e6729207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a206175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a206175746828426f72726f7756616c75652920264163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e73746f726167652e626f72726f773c6175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f2061205374616b696e67436f6c6c656374696f6e20696e20746865207072696d61727920757365722773206163636f756e7422290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e7570646174654e6574776f726b696e6741646472657373286e6f646549443a206e6f646549442c206e6577416464726573733a206e657741646472657373290a202020207d0a7d0af88eb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227daf7b2276616c7565223a22666c6f772d6e6f64652e746573743a33353639222c2274797065223a22537472696e67227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", + "encodedTransactionEnvelopeHex": "f903daf903d6b90303696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f204368616e67657320746865206e6574776f726b696e67206164647265737320666f722074686520737065636966696564206e6f64650a0a7472616e73616374696f6e286e6f646549443a20537472696e672c206e6577416464726573733a20537472696e6729207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a206175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a206175746828426f72726f7756616c75652920264163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e73746f726167652e626f72726f773c6175746828466c6f775374616b696e67436f6c6c656374696f6e2e436f6c6c656374696f6e4f776e6572292026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f2061205374616b696e67436f6c6c656374696f6e20696e20746865207072696d61727920757365722773206163636f756e7422290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e7570646174654e6574776f726b696e6741646472657373286e6f646549443a206e6f646549442c206e6577416464726573733a206e657741646472657373290a202020207d0a7d0af88eb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227daf7b2276616c7565223a22666c6f772d6e6f64652e746573743a33353639222c2274797065223a22537472696e67227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", + "metadata": "023a68789d8cd56e6c7b064057045a56340746aac710db57700de2c33eb6610e5f68d24560d9e49318dca82ab0975f526a8663d934225f0cb715cd1ff188def16d557064617465204e6574776f726b696e6720416464726573730002014e6f64652049440000537472696e67000301416464726573730001537472696e670003", + "hash": "68d24560d9e49318dca82ab0975f526a8663d934225f0cb715cd1ff188def16d" } ] \ No newline at end of file diff --git a/transaction_metadata/testvectors/validEnvelopeCases.json b/transaction_metadata/testvectors/validEnvelopeCases.json deleted file mode 100644 index 3ced825f..00000000 --- a/transaction_metadata/testvectors/validEnvelopeCases.json +++ /dev/null @@ -1,7245 +0,0 @@ -[ - { - "title": "Example Transaction - Valid Envelope - Zero Gas Limit", - "valid": true, - "chainID": "Mainnet", - "payloadMessage": { - "script": "transaction(publicKey: String) {\nprepare(signer: AuthAccount) {\nsigner.addPublicKey(publicKey.decodeHex())\n}\n}", - "arguments": [ - { - "type": "String", - "value": "f847b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc02038203e8" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 0, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [ - { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sig": "f7225388c1d69d57e6251c9fda50cbbf9e05131e5adb81e5aa0422402f048162" - } - ] - }, - "envelopeMessage": { - "script": "transaction(publicKey: String) {\nprepare(signer: AuthAccount) {\nsigner.addPublicKey(publicKey.decodeHex())\n}\n}", - "arguments": [ - { - "type": "String", - "value": "f847b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc02038203e8" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 0, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f90162b86e7472616e73616374696f6e287075626c69634b65793a20537472696e6729207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a7369676e65722e6164645075626c69634b6579287075626c69634b65792e6465636f64654865782829290a7d0a7df8b0b8ae7b2274797065223a22537472696e67222c2276616c7565223a226638343762383430393434383861373935613037373030633666623833653036366366353764666438376639326365373063626338316362336264336665613264663762363730373362373065333662343466333537386234336436346433666161326538653431356566366332623566653433393064356137386532333835383163366534626330323033383230336538227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b8088f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f90166f90162b86e7472616e73616374696f6e287075626c69634b65793a20537472696e6729207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a7369676e65722e6164645075626c69634b6579287075626c69634b65792e6465636f64654865782829290a7d0a7df8b0b8ae7b2274797065223a22537472696e67222c2276616c7565223a226638343762383430393434383861373935613037373030633666623833653036366366353764666438376639326365373063626338316362336264336665613264663762363730373362373065333662343466333537386234336436346433666161326538653431356566366332623566653433393064356137386532333835383163366534626330323033383230336538227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b8088f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "01595c86561441b32b2b91ee03f9e10ca6efa7b41bcc994f51317ec0aa9d8f8a42416464204e6577204b6579000101507562206b65790000537472696e670003", - "hash": "595c86561441b32b2b91ee03f9e10ca6efa7b41bcc994f51317ec0aa9d8f8a42" - }, - { - "title": "Example Transaction - Valid Envelope - Zero proposerKey.keyId", - "valid": true, - "chainID": "Mainnet", - "payloadMessage": { - "script": "transaction(publicKey: String) {\nprepare(signer: AuthAccount) {\nsigner.addPublicKey(publicKey.decodeHex())\n}\n}", - "arguments": [ - { - "type": "String", - "value": "f847b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc02038203e8" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 0, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [ - { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sig": "f7225388c1d69d57e6251c9fda50cbbf9e05131e5adb81e5aa0422402f048162" - } - ] - }, - "envelopeMessage": { - "script": "transaction(publicKey: String) {\nprepare(signer: AuthAccount) {\nsigner.addPublicKey(publicKey.decodeHex())\n}\n}", - "arguments": [ - { - "type": "String", - "value": "f847b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc02038203e8" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 0, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f90162b86e7472616e73616374696f6e287075626c69634b65793a20537472696e6729207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a7369676e65722e6164645075626c69634b6579287075626c69634b65792e6465636f64654865782829290a7d0a7df8b0b8ae7b2274797065223a22537472696e67222c2276616c7565223a226638343762383430393434383861373935613037373030633666623833653036366366353764666438376639326365373063626338316362336264336665613264663762363730373362373065333662343466333537386234336436346433666161326538653431356566366332623566653433393064356137386532333835383163366534626330323033383230336538227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4800a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f90166f90162b86e7472616e73616374696f6e287075626c69634b65793a20537472696e6729207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a7369676e65722e6164645075626c69634b6579287075626c69634b65792e6465636f64654865782829290a7d0a7df8b0b8ae7b2274797065223a22537472696e67222c2276616c7565223a226638343762383430393434383861373935613037373030633666623833653036366366353764666438376639326365373063626338316362336264336665613264663762363730373362373065333662343466333537386234336436346433666161326538653431356566366332623566653433393064356137386532333835383163366534626330323033383230336538227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4800a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "01595c86561441b32b2b91ee03f9e10ca6efa7b41bcc994f51317ec0aa9d8f8a42416464204e6577204b6579000101507562206b65790000537472696e670003", - "hash": "595c86561441b32b2b91ee03f9e10ca6efa7b41bcc994f51317ec0aa9d8f8a42" - }, - { - "title": "Example Transaction - Valid Envelope - Zero proposalKey.sequenceNum", - "valid": true, - "chainID": "Mainnet", - "payloadMessage": { - "script": "transaction(publicKey: String) {\nprepare(signer: AuthAccount) {\nsigner.addPublicKey(publicKey.decodeHex())\n}\n}", - "arguments": [ - { - "type": "String", - "value": "f847b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc02038203e8" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 0 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [ - { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sig": "f7225388c1d69d57e6251c9fda50cbbf9e05131e5adb81e5aa0422402f048162" - } - ] - }, - "envelopeMessage": { - "script": "transaction(publicKey: String) {\nprepare(signer: AuthAccount) {\nsigner.addPublicKey(publicKey.decodeHex())\n}\n}", - "arguments": [ - { - "type": "String", - "value": "f847b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc02038203e8" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 0 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f90162b86e7472616e73616374696f6e287075626c69634b65793a20537472696e6729207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a7369676e65722e6164645075626c69634b6579287075626c69634b65792e6465636f64654865782829290a7d0a7df8b0b8ae7b2274797065223a22537472696e67222c2276616c7565223a226638343762383430393434383861373935613037373030633666623833653036366366353764666438376639326365373063626338316362336264336665613264663762363730373362373065333662343466333537386234336436346433666161326538653431356566366332623566653433393064356137386532333835383163366534626330323033383230336538227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4048088f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f90166f90162b86e7472616e73616374696f6e287075626c69634b65793a20537472696e6729207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a7369676e65722e6164645075626c69634b6579287075626c69634b65792e6465636f64654865782829290a7d0a7df8b0b8ae7b2274797065223a22537472696e67222c2276616c7565223a226638343762383430393434383861373935613037373030633666623833653036366366353764666438376639326365373063626338316362336264336665613264663762363730373362373065333662343466333537386234336436346433666161326538653431356566366332623566653433393064356137386532333835383163366534626330323033383230336538227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4048088f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "01595c86561441b32b2b91ee03f9e10ca6efa7b41bcc994f51317ec0aa9d8f8a42416464204e6577204b6579000101507562206b65790000537472696e670003", - "hash": "595c86561441b32b2b91ee03f9e10ca6efa7b41bcc994f51317ec0aa9d8f8a42" - }, - { - "title": "Example Transaction - Valid Envelope - Empty Authorizers", - "valid": true, - "chainID": "Mainnet", - "payloadMessage": { - "script": "transaction(publicKey: String) {\nprepare(signer: AuthAccount) {\nsigner.addPublicKey(publicKey.decodeHex())\n}\n}", - "arguments": [ - { - "type": "String", - "value": "f847b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc02038203e8" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [], - "payloadSigs": [ - { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sig": "f7225388c1d69d57e6251c9fda50cbbf9e05131e5adb81e5aa0422402f048162" - } - ] - }, - "envelopeMessage": { - "script": "transaction(publicKey: String) {\nprepare(signer: AuthAccount) {\nsigner.addPublicKey(publicKey.decodeHex())\n}\n}", - "arguments": [ - { - "type": "String", - "value": "f847b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc02038203e8" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f90159b86e7472616e73616374696f6e287075626c69634b65793a20537472696e6729207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a7369676e65722e6164645075626c69634b6579287075626c69634b65792e6465636f64654865782829290a7d0a7df8b0b8ae7b2274797065223a22537472696e67222c2276616c7565223a226638343762383430393434383861373935613037373030633666623833653036366366353764666438376639326365373063626338316362336264336665613264663762363730373362373065333662343466333537386234336436346433666161326538653431356566366332623566653433393064356137386532333835383163366534626330323033383230336538227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c0", - "encodedTransactionEnvelopeHex": "f9015df90159b86e7472616e73616374696f6e287075626c69634b65793a20537472696e6729207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a7369676e65722e6164645075626c69634b6579287075626c69634b65792e6465636f64654865782829290a7d0a7df8b0b8ae7b2274797065223a22537472696e67222c2276616c7565223a226638343762383430393434383861373935613037373030633666623833653036366366353764666438376639326365373063626338316362336264336665613264663762363730373362373065333662343466333537386234336436346433666161326538653431356566366332623566653433393064356137386532333835383163366534626330323033383230336538227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c0c0", - "metadata": "01595c86561441b32b2b91ee03f9e10ca6efa7b41bcc994f51317ec0aa9d8f8a42416464204e6577204b6579000101507562206b65790000537472696e670003", - "hash": "595c86561441b32b2b91ee03f9e10ca6efa7b41bcc994f51317ec0aa9d8f8a42" - }, - { - "title": "Example Transaction - Valid Envelope - Maximum Authorizers", - "valid": true, - "chainID": "Mainnet", - "payloadMessage": { - "script": "transaction(publicKey: String) {\nprepare(signer: AuthAccount) {\nsigner.addPublicKey(publicKey.decodeHex())\n}\n}", - "arguments": [ - { - "type": "String", - "value": "f847b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc02038203e8" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4", - "a3a627d47f628e9b", - "b5f242e7e66684fa", - "5195fb3af79c8425", - "4254874588d9dcde", - "a6333e989923dc01", - "b0675bab0027d660", - "5400e27611ddd6bf", - "bb4d6932cca2a849", - "5f2ad0efdd58a896", - "497eb5dc445ca2f7", - "ad190c0155a6a228", - "1ff233dcee8f96d6", - "fb958a01ff759609", - "edc1ef3266719c68", - "09a656ef778b9cb7" - ], - "payloadSigs": [ - { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sig": "f7225388c1d69d57e6251c9fda50cbbf9e05131e5adb81e5aa0422402f048162" - } - ] - }, - "envelopeMessage": { - "script": "transaction(publicKey: String) {\nprepare(signer: AuthAccount) {\nsigner.addPublicKey(publicKey.decodeHex())\n}\n}", - "arguments": [ - { - "type": "String", - "value": "f847b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc02038203e8" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4", - "a3a627d47f628e9b", - "b5f242e7e66684fa", - "5195fb3af79c8425", - "4254874588d9dcde", - "a6333e989923dc01", - "b0675bab0027d660", - "5400e27611ddd6bf", - "bb4d6932cca2a849", - "5f2ad0efdd58a896", - "497eb5dc445ca2f7", - "ad190c0155a6a228", - "1ff233dcee8f96d6", - "fb958a01ff759609", - "edc1ef3266719c68", - "09a656ef778b9cb7" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f901eab86e7472616e73616374696f6e287075626c69634b65793a20537472696e6729207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a7369676e65722e6164645075626c69634b6579287075626c69634b65792e6465636f64654865782829290a7d0a7df8b0b8ae7b2274797065223a22537472696e67222c2276616c7565223a226638343762383430393434383861373935613037373030633666623833653036366366353764666438376639326365373063626338316362336264336665613264663762363730373362373065333662343466333537386234336436346433666161326538653431356566366332623566653433393064356137386532333835383163366534626330323033383230336538227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4f89088f19c161bc24cf4b488a3a627d47f628e9b88b5f242e7e66684fa885195fb3af79c8425884254874588d9dcde88a6333e989923dc0188b0675bab0027d660885400e27611ddd6bf88bb4d6932cca2a849885f2ad0efdd58a89688497eb5dc445ca2f788ad190c0155a6a228881ff233dcee8f96d688fb958a01ff75960988edc1ef3266719c688809a656ef778b9cb7", - "encodedTransactionEnvelopeHex": "f901eef901eab86e7472616e73616374696f6e287075626c69634b65793a20537472696e6729207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a7369676e65722e6164645075626c69634b6579287075626c69634b65792e6465636f64654865782829290a7d0a7df8b0b8ae7b2274797065223a22537472696e67222c2276616c7565223a226638343762383430393434383861373935613037373030633666623833653036366366353764666438376639326365373063626338316362336264336665613264663762363730373362373065333662343466333537386234336436346433666161326538653431356566366332623566653433393064356137386532333835383163366534626330323033383230336538227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4f89088f19c161bc24cf4b488a3a627d47f628e9b88b5f242e7e66684fa885195fb3af79c8425884254874588d9dcde88a6333e989923dc0188b0675bab0027d660885400e27611ddd6bf88bb4d6932cca2a849885f2ad0efdd58a89688497eb5dc445ca2f788ad190c0155a6a228881ff233dcee8f96d688fb958a01ff75960988edc1ef3266719c688809a656ef778b9cb7c0", - "metadata": "01595c86561441b32b2b91ee03f9e10ca6efa7b41bcc994f51317ec0aa9d8f8a42416464204e6577204b6579000101507562206b65790000537472696e670003", - "hash": "595c86561441b32b2b91ee03f9e10ca6efa7b41bcc994f51317ec0aa9d8f8a42" - }, - { - "title": "Example Transaction - Valid Envelope - Empty payloadSigs", - "valid": true, - "chainID": "Mainnet", - "payloadMessage": { - "script": "transaction(publicKey: String) {\nprepare(signer: AuthAccount) {\nsigner.addPublicKey(publicKey.decodeHex())\n}\n}", - "arguments": [ - { - "type": "String", - "value": "f847b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc02038203e8" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "envelopeMessage": { - "script": "transaction(publicKey: String) {\nprepare(signer: AuthAccount) {\nsigner.addPublicKey(publicKey.decodeHex())\n}\n}", - "arguments": [ - { - "type": "String", - "value": "f847b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc02038203e8" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f90162b86e7472616e73616374696f6e287075626c69634b65793a20537472696e6729207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a7369676e65722e6164645075626c69634b6579287075626c69634b65792e6465636f64654865782829290a7d0a7df8b0b8ae7b2274797065223a22537472696e67222c2276616c7565223a226638343762383430393434383861373935613037373030633666623833653036366366353764666438376639326365373063626338316362336264336665613264663762363730373362373065333662343466333537386234336436346433666161326538653431356566366332623566653433393064356137386532333835383163366534626330323033383230336538227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f90166f90162b86e7472616e73616374696f6e287075626c69634b65793a20537472696e6729207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a7369676e65722e6164645075626c69634b6579287075626c69634b65792e6465636f64654865782829290a7d0a7df8b0b8ae7b2274797065223a22537472696e67222c2276616c7565223a226638343762383430393434383861373935613037373030633666623833653036366366353764666438376639326365373063626338316362336264336665613264663762363730373362373065333662343466333537386234336436346433666161326538653431356566366332623566653433393064356137386532333835383163366534626330323033383230336538227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "01595c86561441b32b2b91ee03f9e10ca6efa7b41bcc994f51317ec0aa9d8f8a42416464204e6577204b6579000101507562206b65790000537472696e670003", - "hash": "595c86561441b32b2b91ee03f9e10ca6efa7b41bcc994f51317ec0aa9d8f8a42" - }, - { - "title": "Example Transaction - Valid Envelope - Zero payloadSigs.0.key", - "valid": true, - "chainID": "Mainnet", - "payloadMessage": { - "script": "transaction(publicKey: String) {\nprepare(signer: AuthAccount) {\nsigner.addPublicKey(publicKey.decodeHex())\n}\n}", - "arguments": [ - { - "type": "String", - "value": "f847b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc02038203e8" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [ - { - "address": "f19c161bc24cf4b4", - "keyId": 0, - "sig": "f7225388c1d69d57e6251c9fda50cbbf9e05131e5adb81e5aa0422402f048162" - } - ] - }, - "envelopeMessage": { - "script": "transaction(publicKey: String) {\nprepare(signer: AuthAccount) {\nsigner.addPublicKey(publicKey.decodeHex())\n}\n}", - "arguments": [ - { - "type": "String", - "value": "f847b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc02038203e8" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f90162b86e7472616e73616374696f6e287075626c69634b65793a20537472696e6729207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a7369676e65722e6164645075626c69634b6579287075626c69634b65792e6465636f64654865782829290a7d0a7df8b0b8ae7b2274797065223a22537472696e67222c2276616c7565223a226638343762383430393434383861373935613037373030633666623833653036366366353764666438376639326365373063626338316362336264336665613264663762363730373362373065333662343466333537386234336436346433666161326538653431356566366332623566653433393064356137386532333835383163366534626330323033383230336538227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f90166f90162b86e7472616e73616374696f6e287075626c69634b65793a20537472696e6729207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a7369676e65722e6164645075626c69634b6579287075626c69634b65792e6465636f64654865782829290a7d0a7df8b0b8ae7b2274797065223a22537472696e67222c2276616c7565223a226638343762383430393434383861373935613037373030633666623833653036366366353764666438376639326365373063626338316362336264336665613264663762363730373362373065333662343466333537386234336436346433666161326538653431356566366332623566653433393064356137386532333835383163366534626330323033383230336538227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "01595c86561441b32b2b91ee03f9e10ca6efa7b41bcc994f51317ec0aa9d8f8a42416464204e6577204b6579000101507562206b65790000537472696e670003", - "hash": "595c86561441b32b2b91ee03f9e10ca6efa7b41bcc994f51317ec0aa9d8f8a42" - }, - { - "title": "Example Transaction - Valid Envelope - Out-of-order payloadSigs -- By keyId", - "valid": true, - "chainID": "Mainnet", - "payloadMessage": { - "script": "transaction(publicKey: String) {\nprepare(signer: AuthAccount) {\nsigner.addPublicKey(publicKey.decodeHex())\n}\n}", - "arguments": [ - { - "type": "String", - "value": "f847b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc02038203e8" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [ - { - "address": "f19c161bc24cf4b4", - "keyId": 2, - "sig": "c" - }, - { - "address": "f19c161bc24cf4b4", - "keyId": 0, - "sig": "a" - }, - { - "address": "f19c161bc24cf4b4", - "keyId": 1, - "sig": "b" - } - ] - }, - "envelopeMessage": { - "script": "transaction(publicKey: String) {\nprepare(signer: AuthAccount) {\nsigner.addPublicKey(publicKey.decodeHex())\n}\n}", - "arguments": [ - { - "type": "String", - "value": "f847b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc02038203e8" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f90162b86e7472616e73616374696f6e287075626c69634b65793a20537472696e6729207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a7369676e65722e6164645075626c69634b6579287075626c69634b65792e6465636f64654865782829290a7d0a7df8b0b8ae7b2274797065223a22537472696e67222c2276616c7565223a226638343762383430393434383861373935613037373030633666623833653036366366353764666438376639326365373063626338316362336264336665613264663762363730373362373065333662343466333537386234336436346433666161326538653431356566366332623566653433393064356137386532333835383163366534626330323033383230336538227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f90166f90162b86e7472616e73616374696f6e287075626c69634b65793a20537472696e6729207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a7369676e65722e6164645075626c69634b6579287075626c69634b65792e6465636f64654865782829290a7d0a7df8b0b8ae7b2274797065223a22537472696e67222c2276616c7565223a226638343762383430393434383861373935613037373030633666623833653036366366353764666438376639326365373063626338316362336264336665613264663762363730373362373065333662343466333537386234336436346433666161326538653431356566366332623566653433393064356137386532333835383163366534626330323033383230336538227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "01595c86561441b32b2b91ee03f9e10ca6efa7b41bcc994f51317ec0aa9d8f8a42416464204e6577204b6579000101507562206b65790000537472696e670003", - "hash": "595c86561441b32b2b91ee03f9e10ca6efa7b41bcc994f51317ec0aa9d8f8a42" - }, - { - "title": "Send Flow Token Transaction (Emulator) - Valid Envelope - Valid Amount 0.0", - "valid": true, - "chainID": "Emulator", - "payloadMessage": { - "script": "import FungibleToken from 0xee82856bf20e2aa6\ntransaction(amount: UFix64, to: Address) {\nlet vault: @FungibleToken.Vault\nprepare(signer: AuthAccount) {\nself.vault <- signer\n.borrow<&{FungibleToken.Provider}>(from: /storage/flowTokenVault)!\n.withdraw(amount: amount)\n}\nexecute {\ngetAccount(to)\n.getCapability(/public/flowTokenReceiver)!\n.borrow<&{FungibleToken.Receiver}>()!\n.deposit(from: <-self.vault)\n}\n}", - "arguments": [ - { - "type": "UFix64", - "value": "0.0" - }, - { - "type": "Address", - "value": "0xed2d4f9eb8bcd4ac" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "ed2d4f9eb8bcd4ac", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "ed2d4f9eb8bcd4ac", - "authorizers": [ - "ed2d4f9eb8bcd4ac" - ], - "payloadSigs": [ - { - "address": "ed2d4f9eb8bcd4ac", - "keyId": 4, - "sig": "f7225388c1d69d57e6251c9fda50cbbf9e05131e5adb81e5aa0422402f048162" - } - ] - }, - "envelopeMessage": { - "script": "import FungibleToken from 0xee82856bf20e2aa6\ntransaction(amount: UFix64, to: Address) {\nlet vault: @FungibleToken.Vault\nprepare(signer: AuthAccount) {\nself.vault <- signer\n.borrow<&{FungibleToken.Provider}>(from: /storage/flowTokenVault)!\n.withdraw(amount: amount)\n}\nexecute {\ngetAccount(to)\n.getCapability(/public/flowTokenReceiver)!\n.borrow<&{FungibleToken.Receiver}>()!\n.deposit(from: <-self.vault)\n}\n}", - "arguments": [ - { - "type": "UFix64", - "value": "0.0" - }, - { - "type": "Address", - "value": "0xed2d4f9eb8bcd4ac" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "ed2d4f9eb8bcd4ac", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "ed2d4f9eb8bcd4ac", - "authorizers": [ - "ed2d4f9eb8bcd4ac" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f9022ab90195696d706f72742046756e6769626c65546f6b656e2066726f6d203078656538323835366266323065326161360a7472616e73616374696f6e28616d6f756e743a205546697836342c20746f3a204164647265737329207b0a6c6574207661756c743a204046756e6769626c65546f6b656e2e5661756c740a70726570617265287369676e65723a20417574684163636f756e7429207b0a73656c662e7661756c74203c2d207369676e65720a2e626f72726f773c267b46756e6769626c65546f6b656e2e50726f76696465727d3e2866726f6d3a202f73746f726167652f666c6f77546f6b656e5661756c7429210a2e776974686472617728616d6f756e743a20616d6f756e74290a7d0a65786563757465207b0a6765744163636f756e7428746f290a2e6765744361706162696c697479282f7075626c69632f666c6f77546f6b656e526563656976657229210a2e626f72726f773c267b46756e6769626c65546f6b656e2e52656365697665727d3e2829210a2e6465706f7369742866726f6d3a203c2d73656c662e7661756c74290a7d0a7df8509f7b2274797065223a22554669783634222c2276616c7565223a22302e30227daf7b2274797065223a2241646472657373222c2276616c7565223a22307865643264346639656238626364346163227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88ed2d4f9eb8bcd4ac040a88ed2d4f9eb8bcd4acc988ed2d4f9eb8bcd4ac", - "encodedTransactionEnvelopeHex": "f9022ef9022ab90195696d706f72742046756e6769626c65546f6b656e2066726f6d203078656538323835366266323065326161360a7472616e73616374696f6e28616d6f756e743a205546697836342c20746f3a204164647265737329207b0a6c6574207661756c743a204046756e6769626c65546f6b656e2e5661756c740a70726570617265287369676e65723a20417574684163636f756e7429207b0a73656c662e7661756c74203c2d207369676e65720a2e626f72726f773c267b46756e6769626c65546f6b656e2e50726f76696465727d3e2866726f6d3a202f73746f726167652f666c6f77546f6b656e5661756c7429210a2e776974686472617728616d6f756e743a20616d6f756e74290a7d0a65786563757465207b0a6765744163636f756e7428746f290a2e6765744361706162696c697479282f7075626c69632f666c6f77546f6b656e526563656976657229210a2e626f72726f773c267b46756e6769626c65546f6b656e2e52656365697665727d3e2829210a2e6465706f7369742866726f6d3a203c2d73656c662e7661756c74290a7d0a7df8509f7b2274797065223a22554669783634222c2276616c7565223a22302e30227daf7b2274797065223a2241646472657373222c2276616c7565223a22307865643264346639656238626364346163227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88ed2d4f9eb8bcd4ac040a88ed2d4f9eb8bcd4acc988ed2d4f9eb8bcd4acc0", - "metadata": "03ca80b628d985b358ae1cb136bcd976997c942fa10dbabfeafb4e20fa66a5a5e2d56f4e1d2355cdcfacfd01e471459c6ef168bfdf84371a685ccf31cf3cdedc2d47851586d962335e3f7d9e5d11a4c527ee4b5fd1c3895e3ce1b9c2821f60b166546f6b656e205472616e73666572000201416d6f756e74000055466978363400030144657374696e6174696f6e0001416464726573730003", - "hash": "ca80b628d985b358ae1cb136bcd976997c942fa10dbabfeafb4e20fa66a5a5e2" - }, - { - "title": "Send Flow Token Transaction (Emulator) - Valid Envelope - Valid Amount 184467440737.9551615", - "valid": true, - "chainID": "Emulator", - "payloadMessage": { - "script": "import FungibleToken from 0xee82856bf20e2aa6\ntransaction(amount: UFix64, to: Address) {\nlet vault: @FungibleToken.Vault\nprepare(signer: AuthAccount) {\nself.vault <- signer\n.borrow<&{FungibleToken.Provider}>(from: /storage/flowTokenVault)!\n.withdraw(amount: amount)\n}\nexecute {\ngetAccount(to)\n.getCapability(/public/flowTokenReceiver)!\n.borrow<&{FungibleToken.Receiver}>()!\n.deposit(from: <-self.vault)\n}\n}", - "arguments": [ - { - "type": "UFix64", - "value": "184467440737.9551615" - }, - { - "type": "Address", - "value": "0xed2d4f9eb8bcd4ac" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "ed2d4f9eb8bcd4ac", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "ed2d4f9eb8bcd4ac", - "authorizers": [ - "ed2d4f9eb8bcd4ac" - ], - "payloadSigs": [ - { - "address": "ed2d4f9eb8bcd4ac", - "keyId": 4, - "sig": "f7225388c1d69d57e6251c9fda50cbbf9e05131e5adb81e5aa0422402f048162" - } - ] - }, - "envelopeMessage": { - "script": "import FungibleToken from 0xee82856bf20e2aa6\ntransaction(amount: UFix64, to: Address) {\nlet vault: @FungibleToken.Vault\nprepare(signer: AuthAccount) {\nself.vault <- signer\n.borrow<&{FungibleToken.Provider}>(from: /storage/flowTokenVault)!\n.withdraw(amount: amount)\n}\nexecute {\ngetAccount(to)\n.getCapability(/public/flowTokenReceiver)!\n.borrow<&{FungibleToken.Receiver}>()!\n.deposit(from: <-self.vault)\n}\n}", - "arguments": [ - { - "type": "UFix64", - "value": "184467440737.9551615" - }, - { - "type": "Address", - "value": "0xed2d4f9eb8bcd4ac" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "ed2d4f9eb8bcd4ac", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "ed2d4f9eb8bcd4ac", - "authorizers": [ - "ed2d4f9eb8bcd4ac" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f9023bb90195696d706f72742046756e6769626c65546f6b656e2066726f6d203078656538323835366266323065326161360a7472616e73616374696f6e28616d6f756e743a205546697836342c20746f3a204164647265737329207b0a6c6574207661756c743a204046756e6769626c65546f6b656e2e5661756c740a70726570617265287369676e65723a20417574684163636f756e7429207b0a73656c662e7661756c74203c2d207369676e65720a2e626f72726f773c267b46756e6769626c65546f6b656e2e50726f76696465727d3e2866726f6d3a202f73746f726167652f666c6f77546f6b656e5661756c7429210a2e776974686472617728616d6f756e743a20616d6f756e74290a7d0a65786563757465207b0a6765744163636f756e7428746f290a2e6765744361706162696c697479282f7075626c69632f666c6f77546f6b656e526563656976657229210a2e626f72726f773c267b46756e6769626c65546f6b656e2e52656365697665727d3e2829210a2e6465706f7369742866726f6d3a203c2d73656c662e7661756c74290a7d0a7df861b07b2274797065223a22554669783634222c2276616c7565223a223138343436373434303733372e39353531363135227daf7b2274797065223a2241646472657373222c2276616c7565223a22307865643264346639656238626364346163227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88ed2d4f9eb8bcd4ac040a88ed2d4f9eb8bcd4acc988ed2d4f9eb8bcd4ac", - "encodedTransactionEnvelopeHex": "f9023ff9023bb90195696d706f72742046756e6769626c65546f6b656e2066726f6d203078656538323835366266323065326161360a7472616e73616374696f6e28616d6f756e743a205546697836342c20746f3a204164647265737329207b0a6c6574207661756c743a204046756e6769626c65546f6b656e2e5661756c740a70726570617265287369676e65723a20417574684163636f756e7429207b0a73656c662e7661756c74203c2d207369676e65720a2e626f72726f773c267b46756e6769626c65546f6b656e2e50726f76696465727d3e2866726f6d3a202f73746f726167652f666c6f77546f6b656e5661756c7429210a2e776974686472617728616d6f756e743a20616d6f756e74290a7d0a65786563757465207b0a6765744163636f756e7428746f290a2e6765744361706162696c697479282f7075626c69632f666c6f77546f6b656e526563656976657229210a2e626f72726f773c267b46756e6769626c65546f6b656e2e52656365697665727d3e2829210a2e6465706f7369742866726f6d3a203c2d73656c662e7661756c74290a7d0a7df861b07b2274797065223a22554669783634222c2276616c7565223a223138343436373434303733372e39353531363135227daf7b2274797065223a2241646472657373222c2276616c7565223a22307865643264346639656238626364346163227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88ed2d4f9eb8bcd4ac040a88ed2d4f9eb8bcd4acc988ed2d4f9eb8bcd4acc0", - "metadata": "03ca80b628d985b358ae1cb136bcd976997c942fa10dbabfeafb4e20fa66a5a5e2d56f4e1d2355cdcfacfd01e471459c6ef168bfdf84371a685ccf31cf3cdedc2d47851586d962335e3f7d9e5d11a4c527ee4b5fd1c3895e3ce1b9c2821f60b166546f6b656e205472616e73666572000201416d6f756e74000055466978363400030144657374696e6174696f6e0001416464726573730003", - "hash": "ca80b628d985b358ae1cb136bcd976997c942fa10dbabfeafb4e20fa66a5a5e2" - }, - { - "title": "Send Flow Token Transaction (Testnet) - Valid Envelope - Valid Amount 0.0", - "valid": true, - "chainID": "Testnet", - "payloadMessage": { - "script": "import FungibleToken from 0x9a0766d93b6608b7\ntransaction(amount: UFix64, to: Address) {\nlet vault: @FungibleToken.Vault\nprepare(signer: AuthAccount) {\nself.vault <- signer\n.borrow<&{FungibleToken.Provider}>(from: /storage/flowTokenVault)!\n.withdraw(amount: amount)\n}\nexecute {\ngetAccount(to)\n.getCapability(/public/flowTokenReceiver)!\n.borrow<&{FungibleToken.Receiver}>()!\n.deposit(from: <-self.vault)\n}\n}", - "arguments": [ - { - "type": "UFix64", - "value": "0.0" - }, - { - "type": "Address", - "value": "0x99a8ac2c71d4f6bd" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "99a8ac2c71d4f6bd", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "99a8ac2c71d4f6bd", - "authorizers": [ - "99a8ac2c71d4f6bd" - ], - "payloadSigs": [ - { - "address": "99a8ac2c71d4f6bd", - "keyId": 4, - "sig": "f7225388c1d69d57e6251c9fda50cbbf9e05131e5adb81e5aa0422402f048162" - } - ] - }, - "envelopeMessage": { - "script": "import FungibleToken from 0x9a0766d93b6608b7\ntransaction(amount: UFix64, to: Address) {\nlet vault: @FungibleToken.Vault\nprepare(signer: AuthAccount) {\nself.vault <- signer\n.borrow<&{FungibleToken.Provider}>(from: /storage/flowTokenVault)!\n.withdraw(amount: amount)\n}\nexecute {\ngetAccount(to)\n.getCapability(/public/flowTokenReceiver)!\n.borrow<&{FungibleToken.Receiver}>()!\n.deposit(from: <-self.vault)\n}\n}", - "arguments": [ - { - "type": "UFix64", - "value": "0.0" - }, - { - "type": "Address", - "value": "0x99a8ac2c71d4f6bd" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "99a8ac2c71d4f6bd", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "99a8ac2c71d4f6bd", - "authorizers": [ - "99a8ac2c71d4f6bd" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f9022ab90195696d706f72742046756e6769626c65546f6b656e2066726f6d203078396130373636643933623636303862370a7472616e73616374696f6e28616d6f756e743a205546697836342c20746f3a204164647265737329207b0a6c6574207661756c743a204046756e6769626c65546f6b656e2e5661756c740a70726570617265287369676e65723a20417574684163636f756e7429207b0a73656c662e7661756c74203c2d207369676e65720a2e626f72726f773c267b46756e6769626c65546f6b656e2e50726f76696465727d3e2866726f6d3a202f73746f726167652f666c6f77546f6b656e5661756c7429210a2e776974686472617728616d6f756e743a20616d6f756e74290a7d0a65786563757465207b0a6765744163636f756e7428746f290a2e6765744361706162696c697479282f7075626c69632f666c6f77546f6b656e526563656976657229210a2e626f72726f773c267b46756e6769626c65546f6b656e2e52656365697665727d3e2829210a2e6465706f7369742866726f6d3a203c2d73656c662e7661756c74290a7d0a7df8509f7b2274797065223a22554669783634222c2276616c7565223a22302e30227daf7b2274797065223a2241646472657373222c2276616c7565223a22307839396138616332633731643466366264227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", - "encodedTransactionEnvelopeHex": "f9022ef9022ab90195696d706f72742046756e6769626c65546f6b656e2066726f6d203078396130373636643933623636303862370a7472616e73616374696f6e28616d6f756e743a205546697836342c20746f3a204164647265737329207b0a6c6574207661756c743a204046756e6769626c65546f6b656e2e5661756c740a70726570617265287369676e65723a20417574684163636f756e7429207b0a73656c662e7661756c74203c2d207369676e65720a2e626f72726f773c267b46756e6769626c65546f6b656e2e50726f76696465727d3e2866726f6d3a202f73746f726167652f666c6f77546f6b656e5661756c7429210a2e776974686472617728616d6f756e743a20616d6f756e74290a7d0a65786563757465207b0a6765744163636f756e7428746f290a2e6765744361706162696c697479282f7075626c69632f666c6f77546f6b656e526563656976657229210a2e626f72726f773c267b46756e6769626c65546f6b656e2e52656365697665727d3e2829210a2e6465706f7369742866726f6d3a203c2d73656c662e7661756c74290a7d0a7df8509f7b2274797065223a22554669783634222c2276616c7565223a22302e30227daf7b2274797065223a2241646472657373222c2276616c7565223a22307839396138616332633731643466366264227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", - "metadata": "03ca80b628d985b358ae1cb136bcd976997c942fa10dbabfeafb4e20fa66a5a5e2d56f4e1d2355cdcfacfd01e471459c6ef168bfdf84371a685ccf31cf3cdedc2d47851586d962335e3f7d9e5d11a4c527ee4b5fd1c3895e3ce1b9c2821f60b166546f6b656e205472616e73666572000201416d6f756e74000055466978363400030144657374696e6174696f6e0001416464726573730003", - "hash": "d56f4e1d2355cdcfacfd01e471459c6ef168bfdf84371a685ccf31cf3cdedc2d" - }, - { - "title": "Send Flow Token Transaction (Testnet) - Valid Envelope - Valid Amount 184467440737.9551615", - "valid": true, - "chainID": "Testnet", - "payloadMessage": { - "script": "import FungibleToken from 0x9a0766d93b6608b7\ntransaction(amount: UFix64, to: Address) {\nlet vault: @FungibleToken.Vault\nprepare(signer: AuthAccount) {\nself.vault <- signer\n.borrow<&{FungibleToken.Provider}>(from: /storage/flowTokenVault)!\n.withdraw(amount: amount)\n}\nexecute {\ngetAccount(to)\n.getCapability(/public/flowTokenReceiver)!\n.borrow<&{FungibleToken.Receiver}>()!\n.deposit(from: <-self.vault)\n}\n}", - "arguments": [ - { - "type": "UFix64", - "value": "184467440737.9551615" - }, - { - "type": "Address", - "value": "0x99a8ac2c71d4f6bd" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "99a8ac2c71d4f6bd", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "99a8ac2c71d4f6bd", - "authorizers": [ - "99a8ac2c71d4f6bd" - ], - "payloadSigs": [ - { - "address": "99a8ac2c71d4f6bd", - "keyId": 4, - "sig": "f7225388c1d69d57e6251c9fda50cbbf9e05131e5adb81e5aa0422402f048162" - } - ] - }, - "envelopeMessage": { - "script": "import FungibleToken from 0x9a0766d93b6608b7\ntransaction(amount: UFix64, to: Address) {\nlet vault: @FungibleToken.Vault\nprepare(signer: AuthAccount) {\nself.vault <- signer\n.borrow<&{FungibleToken.Provider}>(from: /storage/flowTokenVault)!\n.withdraw(amount: amount)\n}\nexecute {\ngetAccount(to)\n.getCapability(/public/flowTokenReceiver)!\n.borrow<&{FungibleToken.Receiver}>()!\n.deposit(from: <-self.vault)\n}\n}", - "arguments": [ - { - "type": "UFix64", - "value": "184467440737.9551615" - }, - { - "type": "Address", - "value": "0x99a8ac2c71d4f6bd" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "99a8ac2c71d4f6bd", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "99a8ac2c71d4f6bd", - "authorizers": [ - "99a8ac2c71d4f6bd" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f9023bb90195696d706f72742046756e6769626c65546f6b656e2066726f6d203078396130373636643933623636303862370a7472616e73616374696f6e28616d6f756e743a205546697836342c20746f3a204164647265737329207b0a6c6574207661756c743a204046756e6769626c65546f6b656e2e5661756c740a70726570617265287369676e65723a20417574684163636f756e7429207b0a73656c662e7661756c74203c2d207369676e65720a2e626f72726f773c267b46756e6769626c65546f6b656e2e50726f76696465727d3e2866726f6d3a202f73746f726167652f666c6f77546f6b656e5661756c7429210a2e776974686472617728616d6f756e743a20616d6f756e74290a7d0a65786563757465207b0a6765744163636f756e7428746f290a2e6765744361706162696c697479282f7075626c69632f666c6f77546f6b656e526563656976657229210a2e626f72726f773c267b46756e6769626c65546f6b656e2e52656365697665727d3e2829210a2e6465706f7369742866726f6d3a203c2d73656c662e7661756c74290a7d0a7df861b07b2274797065223a22554669783634222c2276616c7565223a223138343436373434303733372e39353531363135227daf7b2274797065223a2241646472657373222c2276616c7565223a22307839396138616332633731643466366264227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", - "encodedTransactionEnvelopeHex": "f9023ff9023bb90195696d706f72742046756e6769626c65546f6b656e2066726f6d203078396130373636643933623636303862370a7472616e73616374696f6e28616d6f756e743a205546697836342c20746f3a204164647265737329207b0a6c6574207661756c743a204046756e6769626c65546f6b656e2e5661756c740a70726570617265287369676e65723a20417574684163636f756e7429207b0a73656c662e7661756c74203c2d207369676e65720a2e626f72726f773c267b46756e6769626c65546f6b656e2e50726f76696465727d3e2866726f6d3a202f73746f726167652f666c6f77546f6b656e5661756c7429210a2e776974686472617728616d6f756e743a20616d6f756e74290a7d0a65786563757465207b0a6765744163636f756e7428746f290a2e6765744361706162696c697479282f7075626c69632f666c6f77546f6b656e526563656976657229210a2e626f72726f773c267b46756e6769626c65546f6b656e2e52656365697665727d3e2829210a2e6465706f7369742866726f6d3a203c2d73656c662e7661756c74290a7d0a7df861b07b2274797065223a22554669783634222c2276616c7565223a223138343436373434303733372e39353531363135227daf7b2274797065223a2241646472657373222c2276616c7565223a22307839396138616332633731643466366264227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", - "metadata": "03ca80b628d985b358ae1cb136bcd976997c942fa10dbabfeafb4e20fa66a5a5e2d56f4e1d2355cdcfacfd01e471459c6ef168bfdf84371a685ccf31cf3cdedc2d47851586d962335e3f7d9e5d11a4c527ee4b5fd1c3895e3ce1b9c2821f60b166546f6b656e205472616e73666572000201416d6f756e74000055466978363400030144657374696e6174696f6e0001416464726573730003", - "hash": "d56f4e1d2355cdcfacfd01e471459c6ef168bfdf84371a685ccf31cf3cdedc2d" - }, - { - "title": "Send Flow Token Transaction (Mainnet) - Valid Envelope - Valid Amount 0.0", - "valid": true, - "chainID": "Mainnet", - "payloadMessage": { - "script": "import FungibleToken from 0xf233dcee88fe0abe\ntransaction(amount: UFix64, to: Address) {\nlet vault: @FungibleToken.Vault\nprepare(signer: AuthAccount) {\nself.vault <- signer\n.borrow<&{FungibleToken.Provider}>(from: /storage/flowTokenVault)!\n.withdraw(amount: amount)\n}\nexecute {\ngetAccount(to)\n.getCapability(/public/flowTokenReceiver)!\n.borrow<&{FungibleToken.Receiver}>()!\n.deposit(from: <-self.vault)\n}\n}", - "arguments": [ - { - "type": "UFix64", - "value": "0.0" - }, - { - "type": "Address", - "value": "0xf19c161bc24cf4b4" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [ - { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sig": "f7225388c1d69d57e6251c9fda50cbbf9e05131e5adb81e5aa0422402f048162" - } - ] - }, - "envelopeMessage": { - "script": "import FungibleToken from 0xf233dcee88fe0abe\ntransaction(amount: UFix64, to: Address) {\nlet vault: @FungibleToken.Vault\nprepare(signer: AuthAccount) {\nself.vault <- signer\n.borrow<&{FungibleToken.Provider}>(from: /storage/flowTokenVault)!\n.withdraw(amount: amount)\n}\nexecute {\ngetAccount(to)\n.getCapability(/public/flowTokenReceiver)!\n.borrow<&{FungibleToken.Receiver}>()!\n.deposit(from: <-self.vault)\n}\n}", - "arguments": [ - { - "type": "UFix64", - "value": "0.0" - }, - { - "type": "Address", - "value": "0xf19c161bc24cf4b4" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f9022ab90195696d706f72742046756e6769626c65546f6b656e2066726f6d203078663233336463656538386665306162650a7472616e73616374696f6e28616d6f756e743a205546697836342c20746f3a204164647265737329207b0a6c6574207661756c743a204046756e6769626c65546f6b656e2e5661756c740a70726570617265287369676e65723a20417574684163636f756e7429207b0a73656c662e7661756c74203c2d207369676e65720a2e626f72726f773c267b46756e6769626c65546f6b656e2e50726f76696465727d3e2866726f6d3a202f73746f726167652f666c6f77546f6b656e5661756c7429210a2e776974686472617728616d6f756e743a20616d6f756e74290a7d0a65786563757465207b0a6765744163636f756e7428746f290a2e6765744361706162696c697479282f7075626c69632f666c6f77546f6b656e526563656976657229210a2e626f72726f773c267b46756e6769626c65546f6b656e2e52656365697665727d3e2829210a2e6465706f7369742866726f6d3a203c2d73656c662e7661756c74290a7d0a7df8509f7b2274797065223a22554669783634222c2276616c7565223a22302e30227daf7b2274797065223a2241646472657373222c2276616c7565223a22307866313963313631626332346366346234227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f9022ef9022ab90195696d706f72742046756e6769626c65546f6b656e2066726f6d203078663233336463656538386665306162650a7472616e73616374696f6e28616d6f756e743a205546697836342c20746f3a204164647265737329207b0a6c6574207661756c743a204046756e6769626c65546f6b656e2e5661756c740a70726570617265287369676e65723a20417574684163636f756e7429207b0a73656c662e7661756c74203c2d207369676e65720a2e626f72726f773c267b46756e6769626c65546f6b656e2e50726f76696465727d3e2866726f6d3a202f73746f726167652f666c6f77546f6b656e5661756c7429210a2e776974686472617728616d6f756e743a20616d6f756e74290a7d0a65786563757465207b0a6765744163636f756e7428746f290a2e6765744361706162696c697479282f7075626c69632f666c6f77546f6b656e526563656976657229210a2e626f72726f773c267b46756e6769626c65546f6b656e2e52656365697665727d3e2829210a2e6465706f7369742866726f6d3a203c2d73656c662e7661756c74290a7d0a7df8509f7b2274797065223a22554669783634222c2276616c7565223a22302e30227daf7b2274797065223a2241646472657373222c2276616c7565223a22307866313963313631626332346366346234227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "03ca80b628d985b358ae1cb136bcd976997c942fa10dbabfeafb4e20fa66a5a5e2d56f4e1d2355cdcfacfd01e471459c6ef168bfdf84371a685ccf31cf3cdedc2d47851586d962335e3f7d9e5d11a4c527ee4b5fd1c3895e3ce1b9c2821f60b166546f6b656e205472616e73666572000201416d6f756e74000055466978363400030144657374696e6174696f6e0001416464726573730003", - "hash": "47851586d962335e3f7d9e5d11a4c527ee4b5fd1c3895e3ce1b9c2821f60b166" - }, - { - "title": "Send Flow Token Transaction (Mainnet) - Valid Envelope - Valid Amount 184467440737.9551615", - "valid": true, - "chainID": "Mainnet", - "payloadMessage": { - "script": "import FungibleToken from 0xf233dcee88fe0abe\ntransaction(amount: UFix64, to: Address) {\nlet vault: @FungibleToken.Vault\nprepare(signer: AuthAccount) {\nself.vault <- signer\n.borrow<&{FungibleToken.Provider}>(from: /storage/flowTokenVault)!\n.withdraw(amount: amount)\n}\nexecute {\ngetAccount(to)\n.getCapability(/public/flowTokenReceiver)!\n.borrow<&{FungibleToken.Receiver}>()!\n.deposit(from: <-self.vault)\n}\n}", - "arguments": [ - { - "type": "UFix64", - "value": "184467440737.9551615" - }, - { - "type": "Address", - "value": "0xf19c161bc24cf4b4" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [ - { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sig": "f7225388c1d69d57e6251c9fda50cbbf9e05131e5adb81e5aa0422402f048162" - } - ] - }, - "envelopeMessage": { - "script": "import FungibleToken from 0xf233dcee88fe0abe\ntransaction(amount: UFix64, to: Address) {\nlet vault: @FungibleToken.Vault\nprepare(signer: AuthAccount) {\nself.vault <- signer\n.borrow<&{FungibleToken.Provider}>(from: /storage/flowTokenVault)!\n.withdraw(amount: amount)\n}\nexecute {\ngetAccount(to)\n.getCapability(/public/flowTokenReceiver)!\n.borrow<&{FungibleToken.Receiver}>()!\n.deposit(from: <-self.vault)\n}\n}", - "arguments": [ - { - "type": "UFix64", - "value": "184467440737.9551615" - }, - { - "type": "Address", - "value": "0xf19c161bc24cf4b4" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f9023bb90195696d706f72742046756e6769626c65546f6b656e2066726f6d203078663233336463656538386665306162650a7472616e73616374696f6e28616d6f756e743a205546697836342c20746f3a204164647265737329207b0a6c6574207661756c743a204046756e6769626c65546f6b656e2e5661756c740a70726570617265287369676e65723a20417574684163636f756e7429207b0a73656c662e7661756c74203c2d207369676e65720a2e626f72726f773c267b46756e6769626c65546f6b656e2e50726f76696465727d3e2866726f6d3a202f73746f726167652f666c6f77546f6b656e5661756c7429210a2e776974686472617728616d6f756e743a20616d6f756e74290a7d0a65786563757465207b0a6765744163636f756e7428746f290a2e6765744361706162696c697479282f7075626c69632f666c6f77546f6b656e526563656976657229210a2e626f72726f773c267b46756e6769626c65546f6b656e2e52656365697665727d3e2829210a2e6465706f7369742866726f6d3a203c2d73656c662e7661756c74290a7d0a7df861b07b2274797065223a22554669783634222c2276616c7565223a223138343436373434303733372e39353531363135227daf7b2274797065223a2241646472657373222c2276616c7565223a22307866313963313631626332346366346234227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f9023ff9023bb90195696d706f72742046756e6769626c65546f6b656e2066726f6d203078663233336463656538386665306162650a7472616e73616374696f6e28616d6f756e743a205546697836342c20746f3a204164647265737329207b0a6c6574207661756c743a204046756e6769626c65546f6b656e2e5661756c740a70726570617265287369676e65723a20417574684163636f756e7429207b0a73656c662e7661756c74203c2d207369676e65720a2e626f72726f773c267b46756e6769626c65546f6b656e2e50726f76696465727d3e2866726f6d3a202f73746f726167652f666c6f77546f6b656e5661756c7429210a2e776974686472617728616d6f756e743a20616d6f756e74290a7d0a65786563757465207b0a6765744163636f756e7428746f290a2e6765744361706162696c697479282f7075626c69632f666c6f77546f6b656e526563656976657229210a2e626f72726f773c267b46756e6769626c65546f6b656e2e52656365697665727d3e2829210a2e6465706f7369742866726f6d3a203c2d73656c662e7661756c74290a7d0a7df861b07b2274797065223a22554669783634222c2276616c7565223a223138343436373434303733372e39353531363135227daf7b2274797065223a2241646472657373222c2276616c7565223a22307866313963313631626332346366346234227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "03ca80b628d985b358ae1cb136bcd976997c942fa10dbabfeafb4e20fa66a5a5e2d56f4e1d2355cdcfacfd01e471459c6ef168bfdf84371a685ccf31cf3cdedc2d47851586d962335e3f7d9e5d11a4c527ee4b5fd1c3895e3ce1b9c2821f60b166546f6b656e205472616e73666572000201416d6f756e74000055466978363400030144657374696e6174696f6e0001416464726573730003", - "hash": "47851586d962335e3f7d9e5d11a4c527ee4b5fd1c3895e3ce1b9c2821f60b166" - }, - { - "title": "Create Account Transaction - Valid Envelope - Single Account Key #0", - "valid": true, - "chainID": "Mainnet", - "payloadMessage": { - "script": "transaction(publicKeys: [String]) {\nprepare(signer: AuthAccount) {\nlet acct = AuthAccount(payer: signer)\nfor key in publicKeys {\nacct.addPublicKey(key.decodeHex())\n}\n}\n}", - "arguments": [ - { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f845b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc808080" - } - ] - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [ - { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sig": "f7225388c1d69d57e6251c9fda50cbbf9e05131e5adb81e5aa0422402f048162" - } - ] - }, - "envelopeMessage": { - "script": "transaction(publicKeys: [String]) {\nprepare(signer: AuthAccount) {\nlet acct = AuthAccount(payer: signer)\nfor key in publicKeys {\nacct.addPublicKey(key.decodeHex())\n}\n}\n}", - "arguments": [ - { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f845b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc808080" - } - ] - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f901b4b8a97472616e73616374696f6e287075626c69634b6579733a205b537472696e675d29207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a6c65742061636374203d20417574684163636f756e742870617965723a207369676e6572290a666f72206b657920696e207075626c69634b657973207b0a616363742e6164645075626c69634b6579286b65792e6465636f64654865782829290a7d0a7d0a7df8c7b8c57b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303934343838613739356130373730306336666238336530363663663537646664383766393263653730636263383163623362643366656132646637623637303733623730653336623434663335373862343364363464336661613265386534313565663663326235666534333930643561373865323338353831633665346263383038303830227d5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f901b8f901b4b8a97472616e73616374696f6e287075626c69634b6579733a205b537472696e675d29207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a6c65742061636374203d20417574684163636f756e742870617965723a207369676e6572290a666f72206b657920696e207075626c69634b657973207b0a616363742e6164645075626c69634b6579286b65792e6465636f64654865782829290a7d0a7d0a7df8c7b8c57b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303934343838613739356130373730306336666238336530363663663537646664383766393263653730636263383163623362643366656132646637623637303733623730653336623434663335373862343364363464336661613265386534313565663663326235666534333930643561373865323338353831633665346263383038303830227d5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "01eef2d0494448554177612e63026256258339230cbc6931ded78d6149443c6173437265617465204163636f756e740001030105507562206b65790000537472696e670003", - "hash": "eef2d0494448554177612e63026256258339230cbc6931ded78d6149443c6173" - }, - { - "title": "Create Account Transaction - Valid Envelope - Single Account Key #1", - "valid": true, - "chainID": "Mainnet", - "payloadMessage": { - "script": "transaction(publicKeys: [String]) {\nprepare(signer: AuthAccount) {\nlet acct = AuthAccount(payer: signer)\nfor key in publicKeys {\nacct.addPublicKey(key.decodeHex())\n}\n}\n}", - "arguments": [ - { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f847b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc80808201f4" - } - ] - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [ - { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sig": "f7225388c1d69d57e6251c9fda50cbbf9e05131e5adb81e5aa0422402f048162" - } - ] - }, - "envelopeMessage": { - "script": "transaction(publicKeys: [String]) {\nprepare(signer: AuthAccount) {\nlet acct = AuthAccount(payer: signer)\nfor key in publicKeys {\nacct.addPublicKey(key.decodeHex())\n}\n}\n}", - "arguments": [ - { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f847b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc80808201f4" - } - ] - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f901b8b8a97472616e73616374696f6e287075626c69634b6579733a205b537472696e675d29207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a6c65742061636374203d20417574684163636f756e742870617965723a207369676e6572290a666f72206b657920696e207075626c69634b657973207b0a616363742e6164645075626c69634b6579286b65792e6465636f64654865782829290a7d0a7d0a7df8cbb8c97b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a226638343762383430393434383861373935613037373030633666623833653036366366353764666438376639326365373063626338316362336264336665613264663762363730373362373065333662343466333537386234336436346433666161326538653431356566366332623566653433393064356137386532333835383163366534626338303830383230316634227d5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f901bcf901b8b8a97472616e73616374696f6e287075626c69634b6579733a205b537472696e675d29207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a6c65742061636374203d20417574684163636f756e742870617965723a207369676e6572290a666f72206b657920696e207075626c69634b657973207b0a616363742e6164645075626c69634b6579286b65792e6465636f64654865782829290a7d0a7d0a7df8cbb8c97b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a226638343762383430393434383861373935613037373030633666623833653036366366353764666438376639326365373063626338316362336264336665613264663762363730373362373065333662343466333537386234336436346433666161326538653431356566366332623566653433393064356137386532333835383163366534626338303830383230316634227d5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "01eef2d0494448554177612e63026256258339230cbc6931ded78d6149443c6173437265617465204163636f756e740001030105507562206b65790000537472696e670003", - "hash": "eef2d0494448554177612e63026256258339230cbc6931ded78d6149443c6173" - }, - { - "title": "Create Account Transaction - Valid Envelope - Single Account Key #2", - "valid": true, - "chainID": "Mainnet", - "payloadMessage": { - "script": "transaction(publicKeys: [String]) {\nprepare(signer: AuthAccount) {\nlet acct = AuthAccount(payer: signer)\nfor key in publicKeys {\nacct.addPublicKey(key.decodeHex())\n}\n}\n}", - "arguments": [ - { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f847b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc80808203e8" - } - ] - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [ - { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sig": "f7225388c1d69d57e6251c9fda50cbbf9e05131e5adb81e5aa0422402f048162" - } - ] - }, - "envelopeMessage": { - "script": "transaction(publicKeys: [String]) {\nprepare(signer: AuthAccount) {\nlet acct = AuthAccount(payer: signer)\nfor key in publicKeys {\nacct.addPublicKey(key.decodeHex())\n}\n}\n}", - "arguments": [ - { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f847b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc80808203e8" - } - ] - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f901b8b8a97472616e73616374696f6e287075626c69634b6579733a205b537472696e675d29207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a6c65742061636374203d20417574684163636f756e742870617965723a207369676e6572290a666f72206b657920696e207075626c69634b657973207b0a616363742e6164645075626c69634b6579286b65792e6465636f64654865782829290a7d0a7d0a7df8cbb8c97b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a226638343762383430393434383861373935613037373030633666623833653036366366353764666438376639326365373063626338316362336264336665613264663762363730373362373065333662343466333537386234336436346433666161326538653431356566366332623566653433393064356137386532333835383163366534626338303830383230336538227d5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f901bcf901b8b8a97472616e73616374696f6e287075626c69634b6579733a205b537472696e675d29207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a6c65742061636374203d20417574684163636f756e742870617965723a207369676e6572290a666f72206b657920696e207075626c69634b657973207b0a616363742e6164645075626c69634b6579286b65792e6465636f64654865782829290a7d0a7d0a7df8cbb8c97b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a226638343762383430393434383861373935613037373030633666623833653036366366353764666438376639326365373063626338316362336264336665613264663762363730373362373065333662343466333537386234336436346433666161326538653431356566366332623566653433393064356137386532333835383163366534626338303830383230336538227d5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "01eef2d0494448554177612e63026256258339230cbc6931ded78d6149443c6173437265617465204163636f756e740001030105507562206b65790000537472696e670003", - "hash": "eef2d0494448554177612e63026256258339230cbc6931ded78d6149443c6173" - }, - { - "title": "Create Account Transaction - Valid Envelope - Single Account Key #3", - "valid": true, - "chainID": "Mainnet", - "payloadMessage": { - "script": "transaction(publicKeys: [String]) {\nprepare(signer: AuthAccount) {\nlet acct = AuthAccount(payer: signer)\nfor key in publicKeys {\nacct.addPublicKey(key.decodeHex())\n}\n}\n}", - "arguments": [ - { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f845b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc800180" - } - ] - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [ - { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sig": "f7225388c1d69d57e6251c9fda50cbbf9e05131e5adb81e5aa0422402f048162" - } - ] - }, - "envelopeMessage": { - "script": "transaction(publicKeys: [String]) {\nprepare(signer: AuthAccount) {\nlet acct = AuthAccount(payer: signer)\nfor key in publicKeys {\nacct.addPublicKey(key.decodeHex())\n}\n}\n}", - "arguments": [ - { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f845b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc800180" - } - ] - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f901b4b8a97472616e73616374696f6e287075626c69634b6579733a205b537472696e675d29207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a6c65742061636374203d20417574684163636f756e742870617965723a207369676e6572290a666f72206b657920696e207075626c69634b657973207b0a616363742e6164645075626c69634b6579286b65792e6465636f64654865782829290a7d0a7d0a7df8c7b8c57b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303934343838613739356130373730306336666238336530363663663537646664383766393263653730636263383163623362643366656132646637623637303733623730653336623434663335373862343364363464336661613265386534313565663663326235666534333930643561373865323338353831633665346263383030313830227d5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f901b8f901b4b8a97472616e73616374696f6e287075626c69634b6579733a205b537472696e675d29207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a6c65742061636374203d20417574684163636f756e742870617965723a207369676e6572290a666f72206b657920696e207075626c69634b657973207b0a616363742e6164645075626c69634b6579286b65792e6465636f64654865782829290a7d0a7d0a7df8c7b8c57b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303934343838613739356130373730306336666238336530363663663537646664383766393263653730636263383163623362643366656132646637623637303733623730653336623434663335373862343364363464336661613265386534313565663663326235666534333930643561373865323338353831633665346263383030313830227d5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "01eef2d0494448554177612e63026256258339230cbc6931ded78d6149443c6173437265617465204163636f756e740001030105507562206b65790000537472696e670003", - "hash": "eef2d0494448554177612e63026256258339230cbc6931ded78d6149443c6173" - }, - { - "title": "Create Account Transaction - Valid Envelope - Single Account Key #4", - "valid": true, - "chainID": "Mainnet", - "payloadMessage": { - "script": "transaction(publicKeys: [String]) {\nprepare(signer: AuthAccount) {\nlet acct = AuthAccount(payer: signer)\nfor key in publicKeys {\nacct.addPublicKey(key.decodeHex())\n}\n}\n}", - "arguments": [ - { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f847b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc80018201f4" - } - ] - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [ - { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sig": "f7225388c1d69d57e6251c9fda50cbbf9e05131e5adb81e5aa0422402f048162" - } - ] - }, - "envelopeMessage": { - "script": "transaction(publicKeys: [String]) {\nprepare(signer: AuthAccount) {\nlet acct = AuthAccount(payer: signer)\nfor key in publicKeys {\nacct.addPublicKey(key.decodeHex())\n}\n}\n}", - "arguments": [ - { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f847b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc80018201f4" - } - ] - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f901b8b8a97472616e73616374696f6e287075626c69634b6579733a205b537472696e675d29207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a6c65742061636374203d20417574684163636f756e742870617965723a207369676e6572290a666f72206b657920696e207075626c69634b657973207b0a616363742e6164645075626c69634b6579286b65792e6465636f64654865782829290a7d0a7d0a7df8cbb8c97b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a226638343762383430393434383861373935613037373030633666623833653036366366353764666438376639326365373063626338316362336264336665613264663762363730373362373065333662343466333537386234336436346433666161326538653431356566366332623566653433393064356137386532333835383163366534626338303031383230316634227d5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f901bcf901b8b8a97472616e73616374696f6e287075626c69634b6579733a205b537472696e675d29207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a6c65742061636374203d20417574684163636f756e742870617965723a207369676e6572290a666f72206b657920696e207075626c69634b657973207b0a616363742e6164645075626c69634b6579286b65792e6465636f64654865782829290a7d0a7d0a7df8cbb8c97b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a226638343762383430393434383861373935613037373030633666623833653036366366353764666438376639326365373063626338316362336264336665613264663762363730373362373065333662343466333537386234336436346433666161326538653431356566366332623566653433393064356137386532333835383163366534626338303031383230316634227d5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "01eef2d0494448554177612e63026256258339230cbc6931ded78d6149443c6173437265617465204163636f756e740001030105507562206b65790000537472696e670003", - "hash": "eef2d0494448554177612e63026256258339230cbc6931ded78d6149443c6173" - }, - { - "title": "Create Account Transaction - Valid Envelope - Single Account Key #5", - "valid": true, - "chainID": "Mainnet", - "payloadMessage": { - "script": "transaction(publicKeys: [String]) {\nprepare(signer: AuthAccount) {\nlet acct = AuthAccount(payer: signer)\nfor key in publicKeys {\nacct.addPublicKey(key.decodeHex())\n}\n}\n}", - "arguments": [ - { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f847b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc80018203e8" - } - ] - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [ - { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sig": "f7225388c1d69d57e6251c9fda50cbbf9e05131e5adb81e5aa0422402f048162" - } - ] - }, - "envelopeMessage": { - "script": "transaction(publicKeys: [String]) {\nprepare(signer: AuthAccount) {\nlet acct = AuthAccount(payer: signer)\nfor key in publicKeys {\nacct.addPublicKey(key.decodeHex())\n}\n}\n}", - "arguments": [ - { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f847b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc80018203e8" - } - ] - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f901b8b8a97472616e73616374696f6e287075626c69634b6579733a205b537472696e675d29207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a6c65742061636374203d20417574684163636f756e742870617965723a207369676e6572290a666f72206b657920696e207075626c69634b657973207b0a616363742e6164645075626c69634b6579286b65792e6465636f64654865782829290a7d0a7d0a7df8cbb8c97b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a226638343762383430393434383861373935613037373030633666623833653036366366353764666438376639326365373063626338316362336264336665613264663762363730373362373065333662343466333537386234336436346433666161326538653431356566366332623566653433393064356137386532333835383163366534626338303031383230336538227d5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f901bcf901b8b8a97472616e73616374696f6e287075626c69634b6579733a205b537472696e675d29207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a6c65742061636374203d20417574684163636f756e742870617965723a207369676e6572290a666f72206b657920696e207075626c69634b657973207b0a616363742e6164645075626c69634b6579286b65792e6465636f64654865782829290a7d0a7d0a7df8cbb8c97b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a226638343762383430393434383861373935613037373030633666623833653036366366353764666438376639326365373063626338316362336264336665613264663762363730373362373065333662343466333537386234336436346433666161326538653431356566366332623566653433393064356137386532333835383163366534626338303031383230336538227d5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "01eef2d0494448554177612e63026256258339230cbc6931ded78d6149443c6173437265617465204163636f756e740001030105507562206b65790000537472696e670003", - "hash": "eef2d0494448554177612e63026256258339230cbc6931ded78d6149443c6173" - }, - { - "title": "Create Account Transaction - Valid Envelope - Single Account Key #6", - "valid": true, - "chainID": "Mainnet", - "payloadMessage": { - "script": "transaction(publicKeys: [String]) {\nprepare(signer: AuthAccount) {\nlet acct = AuthAccount(payer: signer)\nfor key in publicKeys {\nacct.addPublicKey(key.decodeHex())\n}\n}\n}", - "arguments": [ - { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f845b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc800380" - } - ] - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [ - { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sig": "f7225388c1d69d57e6251c9fda50cbbf9e05131e5adb81e5aa0422402f048162" - } - ] - }, - "envelopeMessage": { - "script": "transaction(publicKeys: [String]) {\nprepare(signer: AuthAccount) {\nlet acct = AuthAccount(payer: signer)\nfor key in publicKeys {\nacct.addPublicKey(key.decodeHex())\n}\n}\n}", - "arguments": [ - { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f845b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc800380" - } - ] - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f901b4b8a97472616e73616374696f6e287075626c69634b6579733a205b537472696e675d29207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a6c65742061636374203d20417574684163636f756e742870617965723a207369676e6572290a666f72206b657920696e207075626c69634b657973207b0a616363742e6164645075626c69634b6579286b65792e6465636f64654865782829290a7d0a7d0a7df8c7b8c57b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303934343838613739356130373730306336666238336530363663663537646664383766393263653730636263383163623362643366656132646637623637303733623730653336623434663335373862343364363464336661613265386534313565663663326235666534333930643561373865323338353831633665346263383030333830227d5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f901b8f901b4b8a97472616e73616374696f6e287075626c69634b6579733a205b537472696e675d29207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a6c65742061636374203d20417574684163636f756e742870617965723a207369676e6572290a666f72206b657920696e207075626c69634b657973207b0a616363742e6164645075626c69634b6579286b65792e6465636f64654865782829290a7d0a7d0a7df8c7b8c57b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303934343838613739356130373730306336666238336530363663663537646664383766393263653730636263383163623362643366656132646637623637303733623730653336623434663335373862343364363464336661613265386534313565663663326235666534333930643561373865323338353831633665346263383030333830227d5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "01eef2d0494448554177612e63026256258339230cbc6931ded78d6149443c6173437265617465204163636f756e740001030105507562206b65790000537472696e670003", - "hash": "eef2d0494448554177612e63026256258339230cbc6931ded78d6149443c6173" - }, - { - "title": "Create Account Transaction - Valid Envelope - Single Account Key #7", - "valid": true, - "chainID": "Mainnet", - "payloadMessage": { - "script": "transaction(publicKeys: [String]) {\nprepare(signer: AuthAccount) {\nlet acct = AuthAccount(payer: signer)\nfor key in publicKeys {\nacct.addPublicKey(key.decodeHex())\n}\n}\n}", - "arguments": [ - { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f847b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc80038201f4" - } - ] - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [ - { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sig": "f7225388c1d69d57e6251c9fda50cbbf9e05131e5adb81e5aa0422402f048162" - } - ] - }, - "envelopeMessage": { - "script": "transaction(publicKeys: [String]) {\nprepare(signer: AuthAccount) {\nlet acct = AuthAccount(payer: signer)\nfor key in publicKeys {\nacct.addPublicKey(key.decodeHex())\n}\n}\n}", - "arguments": [ - { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f847b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc80038201f4" - } - ] - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f901b8b8a97472616e73616374696f6e287075626c69634b6579733a205b537472696e675d29207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a6c65742061636374203d20417574684163636f756e742870617965723a207369676e6572290a666f72206b657920696e207075626c69634b657973207b0a616363742e6164645075626c69634b6579286b65792e6465636f64654865782829290a7d0a7d0a7df8cbb8c97b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a226638343762383430393434383861373935613037373030633666623833653036366366353764666438376639326365373063626338316362336264336665613264663762363730373362373065333662343466333537386234336436346433666161326538653431356566366332623566653433393064356137386532333835383163366534626338303033383230316634227d5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f901bcf901b8b8a97472616e73616374696f6e287075626c69634b6579733a205b537472696e675d29207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a6c65742061636374203d20417574684163636f756e742870617965723a207369676e6572290a666f72206b657920696e207075626c69634b657973207b0a616363742e6164645075626c69634b6579286b65792e6465636f64654865782829290a7d0a7d0a7df8cbb8c97b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a226638343762383430393434383861373935613037373030633666623833653036366366353764666438376639326365373063626338316362336264336665613264663762363730373362373065333662343466333537386234336436346433666161326538653431356566366332623566653433393064356137386532333835383163366534626338303033383230316634227d5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "01eef2d0494448554177612e63026256258339230cbc6931ded78d6149443c6173437265617465204163636f756e740001030105507562206b65790000537472696e670003", - "hash": "eef2d0494448554177612e63026256258339230cbc6931ded78d6149443c6173" - }, - { - "title": "Create Account Transaction - Valid Envelope - Single Account Key #8", - "valid": true, - "chainID": "Mainnet", - "payloadMessage": { - "script": "transaction(publicKeys: [String]) {\nprepare(signer: AuthAccount) {\nlet acct = AuthAccount(payer: signer)\nfor key in publicKeys {\nacct.addPublicKey(key.decodeHex())\n}\n}\n}", - "arguments": [ - { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f847b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc80038203e8" - } - ] - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [ - { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sig": "f7225388c1d69d57e6251c9fda50cbbf9e05131e5adb81e5aa0422402f048162" - } - ] - }, - "envelopeMessage": { - "script": "transaction(publicKeys: [String]) {\nprepare(signer: AuthAccount) {\nlet acct = AuthAccount(payer: signer)\nfor key in publicKeys {\nacct.addPublicKey(key.decodeHex())\n}\n}\n}", - "arguments": [ - { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f847b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc80038203e8" - } - ] - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f901b8b8a97472616e73616374696f6e287075626c69634b6579733a205b537472696e675d29207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a6c65742061636374203d20417574684163636f756e742870617965723a207369676e6572290a666f72206b657920696e207075626c69634b657973207b0a616363742e6164645075626c69634b6579286b65792e6465636f64654865782829290a7d0a7d0a7df8cbb8c97b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a226638343762383430393434383861373935613037373030633666623833653036366366353764666438376639326365373063626338316362336264336665613264663762363730373362373065333662343466333537386234336436346433666161326538653431356566366332623566653433393064356137386532333835383163366534626338303033383230336538227d5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f901bcf901b8b8a97472616e73616374696f6e287075626c69634b6579733a205b537472696e675d29207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a6c65742061636374203d20417574684163636f756e742870617965723a207369676e6572290a666f72206b657920696e207075626c69634b657973207b0a616363742e6164645075626c69634b6579286b65792e6465636f64654865782829290a7d0a7d0a7df8cbb8c97b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a226638343762383430393434383861373935613037373030633666623833653036366366353764666438376639326365373063626338316362336264336665613264663762363730373362373065333662343466333537386234336436346433666161326538653431356566366332623566653433393064356137386532333835383163366534626338303033383230336538227d5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "01eef2d0494448554177612e63026256258339230cbc6931ded78d6149443c6173437265617465204163636f756e740001030105507562206b65790000537472696e670003", - "hash": "eef2d0494448554177612e63026256258339230cbc6931ded78d6149443c6173" - }, - { - "title": "Create Account Transaction - Valid Envelope - Single Account Key #9", - "valid": true, - "chainID": "Mainnet", - "payloadMessage": { - "script": "transaction(publicKeys: [String]) {\nprepare(signer: AuthAccount) {\nlet acct = AuthAccount(payer: signer)\nfor key in publicKeys {\nacct.addPublicKey(key.decodeHex())\n}\n}\n}", - "arguments": [ - { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f846b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc8081ff80" - } - ] - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [ - { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sig": "f7225388c1d69d57e6251c9fda50cbbf9e05131e5adb81e5aa0422402f048162" - } - ] - }, - "envelopeMessage": { - "script": "transaction(publicKeys: [String]) {\nprepare(signer: AuthAccount) {\nlet acct = AuthAccount(payer: signer)\nfor key in publicKeys {\nacct.addPublicKey(key.decodeHex())\n}\n}\n}", - "arguments": [ - { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f846b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc8081ff80" - } - ] - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f901b6b8a97472616e73616374696f6e287075626c69634b6579733a205b537472696e675d29207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a6c65742061636374203d20417574684163636f756e742870617965723a207369676e6572290a666f72206b657920696e207075626c69634b657973207b0a616363742e6164645075626c69634b6579286b65792e6465636f64654865782829290a7d0a7d0a7df8c9b8c77b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a22663834366238343039343438386137393561303737303063366662383365303636636635376466643837663932636537306362633831636233626433666561326466376236373037336237306533366234346633353738623433643634643366616132653865343135656636633262356665343339306435613738653233383538316336653462633830383166663830227d5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f901baf901b6b8a97472616e73616374696f6e287075626c69634b6579733a205b537472696e675d29207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a6c65742061636374203d20417574684163636f756e742870617965723a207369676e6572290a666f72206b657920696e207075626c69634b657973207b0a616363742e6164645075626c69634b6579286b65792e6465636f64654865782829290a7d0a7d0a7df8c9b8c77b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a22663834366238343039343438386137393561303737303063366662383365303636636635376466643837663932636537306362633831636233626433666561326466376236373037336237306533366234346633353738623433643634643366616132653865343135656636633262356665343339306435613738653233383538316336653462633830383166663830227d5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "01eef2d0494448554177612e63026256258339230cbc6931ded78d6149443c6173437265617465204163636f756e740001030105507562206b65790000537472696e670003", - "hash": "eef2d0494448554177612e63026256258339230cbc6931ded78d6149443c6173" - }, - { - "title": "Create Account Transaction - Valid Envelope - Single Account Key #10", - "valid": true, - "chainID": "Mainnet", - "payloadMessage": { - "script": "transaction(publicKeys: [String]) {\nprepare(signer: AuthAccount) {\nlet acct = AuthAccount(payer: signer)\nfor key in publicKeys {\nacct.addPublicKey(key.decodeHex())\n}\n}\n}", - "arguments": [ - { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f848b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc8081ff8201f4" - } - ] - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [ - { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sig": "f7225388c1d69d57e6251c9fda50cbbf9e05131e5adb81e5aa0422402f048162" - } - ] - }, - "envelopeMessage": { - "script": "transaction(publicKeys: [String]) {\nprepare(signer: AuthAccount) {\nlet acct = AuthAccount(payer: signer)\nfor key in publicKeys {\nacct.addPublicKey(key.decodeHex())\n}\n}\n}", - "arguments": [ - { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f848b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc8081ff8201f4" - } - ] - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f901bab8a97472616e73616374696f6e287075626c69634b6579733a205b537472696e675d29207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a6c65742061636374203d20417574684163636f756e742870617965723a207369676e6572290a666f72206b657920696e207075626c69634b657973207b0a616363742e6164645075626c69634b6579286b65792e6465636f64654865782829290a7d0a7d0a7df8cdb8cb7b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a2266383438623834303934343838613739356130373730306336666238336530363663663537646664383766393263653730636263383163623362643366656132646637623637303733623730653336623434663335373862343364363464336661613265386534313565663663326235666534333930643561373865323338353831633665346263383038316666383230316634227d5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f901bef901bab8a97472616e73616374696f6e287075626c69634b6579733a205b537472696e675d29207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a6c65742061636374203d20417574684163636f756e742870617965723a207369676e6572290a666f72206b657920696e207075626c69634b657973207b0a616363742e6164645075626c69634b6579286b65792e6465636f64654865782829290a7d0a7d0a7df8cdb8cb7b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a2266383438623834303934343838613739356130373730306336666238336530363663663537646664383766393263653730636263383163623362643366656132646637623637303733623730653336623434663335373862343364363464336661613265386534313565663663326235666534333930643561373865323338353831633665346263383038316666383230316634227d5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "01eef2d0494448554177612e63026256258339230cbc6931ded78d6149443c6173437265617465204163636f756e740001030105507562206b65790000537472696e670003", - "hash": "eef2d0494448554177612e63026256258339230cbc6931ded78d6149443c6173" - }, - { - "title": "Create Account Transaction - Valid Envelope - Single Account Key #11", - "valid": true, - "chainID": "Mainnet", - "payloadMessage": { - "script": "transaction(publicKeys: [String]) {\nprepare(signer: AuthAccount) {\nlet acct = AuthAccount(payer: signer)\nfor key in publicKeys {\nacct.addPublicKey(key.decodeHex())\n}\n}\n}", - "arguments": [ - { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f848b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc8081ff8203e8" - } - ] - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [ - { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sig": "f7225388c1d69d57e6251c9fda50cbbf9e05131e5adb81e5aa0422402f048162" - } - ] - }, - "envelopeMessage": { - "script": "transaction(publicKeys: [String]) {\nprepare(signer: AuthAccount) {\nlet acct = AuthAccount(payer: signer)\nfor key in publicKeys {\nacct.addPublicKey(key.decodeHex())\n}\n}\n}", - "arguments": [ - { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f848b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc8081ff8203e8" - } - ] - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f901bab8a97472616e73616374696f6e287075626c69634b6579733a205b537472696e675d29207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a6c65742061636374203d20417574684163636f756e742870617965723a207369676e6572290a666f72206b657920696e207075626c69634b657973207b0a616363742e6164645075626c69634b6579286b65792e6465636f64654865782829290a7d0a7d0a7df8cdb8cb7b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a2266383438623834303934343838613739356130373730306336666238336530363663663537646664383766393263653730636263383163623362643366656132646637623637303733623730653336623434663335373862343364363464336661613265386534313565663663326235666534333930643561373865323338353831633665346263383038316666383230336538227d5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f901bef901bab8a97472616e73616374696f6e287075626c69634b6579733a205b537472696e675d29207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a6c65742061636374203d20417574684163636f756e742870617965723a207369676e6572290a666f72206b657920696e207075626c69634b657973207b0a616363742e6164645075626c69634b6579286b65792e6465636f64654865782829290a7d0a7d0a7df8cdb8cb7b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a2266383438623834303934343838613739356130373730306336666238336530363663663537646664383766393263653730636263383163623362643366656132646637623637303733623730653336623434663335373862343364363464336661613265386534313565663663326235666534333930643561373865323338353831633665346263383038316666383230336538227d5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "01eef2d0494448554177612e63026256258339230cbc6931ded78d6149443c6173437265617465204163636f756e740001030105507562206b65790000537472696e670003", - "hash": "eef2d0494448554177612e63026256258339230cbc6931ded78d6149443c6173" - }, - { - "title": "Create Account Transaction - Valid Envelope - Single Account Key #12", - "valid": true, - "chainID": "Mainnet", - "payloadMessage": { - "script": "transaction(publicKeys: [String]) {\nprepare(signer: AuthAccount) {\nlet acct = AuthAccount(payer: signer)\nfor key in publicKeys {\nacct.addPublicKey(key.decodeHex())\n}\n}\n}", - "arguments": [ - { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f845b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc028080" - } - ] - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [ - { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sig": "f7225388c1d69d57e6251c9fda50cbbf9e05131e5adb81e5aa0422402f048162" - } - ] - }, - "envelopeMessage": { - "script": "transaction(publicKeys: [String]) {\nprepare(signer: AuthAccount) {\nlet acct = AuthAccount(payer: signer)\nfor key in publicKeys {\nacct.addPublicKey(key.decodeHex())\n}\n}\n}", - "arguments": [ - { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f845b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc028080" - } - ] - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f901b4b8a97472616e73616374696f6e287075626c69634b6579733a205b537472696e675d29207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a6c65742061636374203d20417574684163636f756e742870617965723a207369676e6572290a666f72206b657920696e207075626c69634b657973207b0a616363742e6164645075626c69634b6579286b65792e6465636f64654865782829290a7d0a7d0a7df8c7b8c57b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303934343838613739356130373730306336666238336530363663663537646664383766393263653730636263383163623362643366656132646637623637303733623730653336623434663335373862343364363464336661613265386534313565663663326235666534333930643561373865323338353831633665346263303238303830227d5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f901b8f901b4b8a97472616e73616374696f6e287075626c69634b6579733a205b537472696e675d29207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a6c65742061636374203d20417574684163636f756e742870617965723a207369676e6572290a666f72206b657920696e207075626c69634b657973207b0a616363742e6164645075626c69634b6579286b65792e6465636f64654865782829290a7d0a7d0a7df8c7b8c57b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303934343838613739356130373730306336666238336530363663663537646664383766393263653730636263383163623362643366656132646637623637303733623730653336623434663335373862343364363464336661613265386534313565663663326235666534333930643561373865323338353831633665346263303238303830227d5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "01eef2d0494448554177612e63026256258339230cbc6931ded78d6149443c6173437265617465204163636f756e740001030105507562206b65790000537472696e670003", - "hash": "eef2d0494448554177612e63026256258339230cbc6931ded78d6149443c6173" - }, - { - "title": "Create Account Transaction - Valid Envelope - Single Account Key #13", - "valid": true, - "chainID": "Mainnet", - "payloadMessage": { - "script": "transaction(publicKeys: [String]) {\nprepare(signer: AuthAccount) {\nlet acct = AuthAccount(payer: signer)\nfor key in publicKeys {\nacct.addPublicKey(key.decodeHex())\n}\n}\n}", - "arguments": [ - { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f847b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc02808201f4" - } - ] - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [ - { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sig": "f7225388c1d69d57e6251c9fda50cbbf9e05131e5adb81e5aa0422402f048162" - } - ] - }, - "envelopeMessage": { - "script": "transaction(publicKeys: [String]) {\nprepare(signer: AuthAccount) {\nlet acct = AuthAccount(payer: signer)\nfor key in publicKeys {\nacct.addPublicKey(key.decodeHex())\n}\n}\n}", - "arguments": [ - { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f847b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc02808201f4" - } - ] - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f901b8b8a97472616e73616374696f6e287075626c69634b6579733a205b537472696e675d29207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a6c65742061636374203d20417574684163636f756e742870617965723a207369676e6572290a666f72206b657920696e207075626c69634b657973207b0a616363742e6164645075626c69634b6579286b65792e6465636f64654865782829290a7d0a7d0a7df8cbb8c97b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a226638343762383430393434383861373935613037373030633666623833653036366366353764666438376639326365373063626338316362336264336665613264663762363730373362373065333662343466333537386234336436346433666161326538653431356566366332623566653433393064356137386532333835383163366534626330323830383230316634227d5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f901bcf901b8b8a97472616e73616374696f6e287075626c69634b6579733a205b537472696e675d29207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a6c65742061636374203d20417574684163636f756e742870617965723a207369676e6572290a666f72206b657920696e207075626c69634b657973207b0a616363742e6164645075626c69634b6579286b65792e6465636f64654865782829290a7d0a7d0a7df8cbb8c97b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a226638343762383430393434383861373935613037373030633666623833653036366366353764666438376639326365373063626338316362336264336665613264663762363730373362373065333662343466333537386234336436346433666161326538653431356566366332623566653433393064356137386532333835383163366534626330323830383230316634227d5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "01eef2d0494448554177612e63026256258339230cbc6931ded78d6149443c6173437265617465204163636f756e740001030105507562206b65790000537472696e670003", - "hash": "eef2d0494448554177612e63026256258339230cbc6931ded78d6149443c6173" - }, - { - "title": "Create Account Transaction - Valid Envelope - Single Account Key #14", - "valid": true, - "chainID": "Mainnet", - "payloadMessage": { - "script": "transaction(publicKeys: [String]) {\nprepare(signer: AuthAccount) {\nlet acct = AuthAccount(payer: signer)\nfor key in publicKeys {\nacct.addPublicKey(key.decodeHex())\n}\n}\n}", - "arguments": [ - { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f847b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc02808203e8" - } - ] - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [ - { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sig": "f7225388c1d69d57e6251c9fda50cbbf9e05131e5adb81e5aa0422402f048162" - } - ] - }, - "envelopeMessage": { - "script": "transaction(publicKeys: [String]) {\nprepare(signer: AuthAccount) {\nlet acct = AuthAccount(payer: signer)\nfor key in publicKeys {\nacct.addPublicKey(key.decodeHex())\n}\n}\n}", - "arguments": [ - { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f847b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc02808203e8" - } - ] - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f901b8b8a97472616e73616374696f6e287075626c69634b6579733a205b537472696e675d29207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a6c65742061636374203d20417574684163636f756e742870617965723a207369676e6572290a666f72206b657920696e207075626c69634b657973207b0a616363742e6164645075626c69634b6579286b65792e6465636f64654865782829290a7d0a7d0a7df8cbb8c97b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a226638343762383430393434383861373935613037373030633666623833653036366366353764666438376639326365373063626338316362336264336665613264663762363730373362373065333662343466333537386234336436346433666161326538653431356566366332623566653433393064356137386532333835383163366534626330323830383230336538227d5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f901bcf901b8b8a97472616e73616374696f6e287075626c69634b6579733a205b537472696e675d29207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a6c65742061636374203d20417574684163636f756e742870617965723a207369676e6572290a666f72206b657920696e207075626c69634b657973207b0a616363742e6164645075626c69634b6579286b65792e6465636f64654865782829290a7d0a7d0a7df8cbb8c97b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a226638343762383430393434383861373935613037373030633666623833653036366366353764666438376639326365373063626338316362336264336665613264663762363730373362373065333662343466333537386234336436346433666161326538653431356566366332623566653433393064356137386532333835383163366534626330323830383230336538227d5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "01eef2d0494448554177612e63026256258339230cbc6931ded78d6149443c6173437265617465204163636f756e740001030105507562206b65790000537472696e670003", - "hash": "eef2d0494448554177612e63026256258339230cbc6931ded78d6149443c6173" - }, - { - "title": "Create Account Transaction - Valid Envelope - Single Account Key #15", - "valid": true, - "chainID": "Mainnet", - "payloadMessage": { - "script": "transaction(publicKeys: [String]) {\nprepare(signer: AuthAccount) {\nlet acct = AuthAccount(payer: signer)\nfor key in publicKeys {\nacct.addPublicKey(key.decodeHex())\n}\n}\n}", - "arguments": [ - { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f845b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc020180" - } - ] - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [ - { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sig": "f7225388c1d69d57e6251c9fda50cbbf9e05131e5adb81e5aa0422402f048162" - } - ] - }, - "envelopeMessage": { - "script": "transaction(publicKeys: [String]) {\nprepare(signer: AuthAccount) {\nlet acct = AuthAccount(payer: signer)\nfor key in publicKeys {\nacct.addPublicKey(key.decodeHex())\n}\n}\n}", - "arguments": [ - { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f845b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc020180" - } - ] - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f901b4b8a97472616e73616374696f6e287075626c69634b6579733a205b537472696e675d29207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a6c65742061636374203d20417574684163636f756e742870617965723a207369676e6572290a666f72206b657920696e207075626c69634b657973207b0a616363742e6164645075626c69634b6579286b65792e6465636f64654865782829290a7d0a7d0a7df8c7b8c57b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303934343838613739356130373730306336666238336530363663663537646664383766393263653730636263383163623362643366656132646637623637303733623730653336623434663335373862343364363464336661613265386534313565663663326235666534333930643561373865323338353831633665346263303230313830227d5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f901b8f901b4b8a97472616e73616374696f6e287075626c69634b6579733a205b537472696e675d29207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a6c65742061636374203d20417574684163636f756e742870617965723a207369676e6572290a666f72206b657920696e207075626c69634b657973207b0a616363742e6164645075626c69634b6579286b65792e6465636f64654865782829290a7d0a7d0a7df8c7b8c57b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303934343838613739356130373730306336666238336530363663663537646664383766393263653730636263383163623362643366656132646637623637303733623730653336623434663335373862343364363464336661613265386534313565663663326235666534333930643561373865323338353831633665346263303230313830227d5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "01eef2d0494448554177612e63026256258339230cbc6931ded78d6149443c6173437265617465204163636f756e740001030105507562206b65790000537472696e670003", - "hash": "eef2d0494448554177612e63026256258339230cbc6931ded78d6149443c6173" - }, - { - "title": "Create Account Transaction - Valid Envelope - Single Account Key #16", - "valid": true, - "chainID": "Mainnet", - "payloadMessage": { - "script": "transaction(publicKeys: [String]) {\nprepare(signer: AuthAccount) {\nlet acct = AuthAccount(payer: signer)\nfor key in publicKeys {\nacct.addPublicKey(key.decodeHex())\n}\n}\n}", - "arguments": [ - { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f847b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc02018201f4" - } - ] - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [ - { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sig": "f7225388c1d69d57e6251c9fda50cbbf9e05131e5adb81e5aa0422402f048162" - } - ] - }, - "envelopeMessage": { - "script": "transaction(publicKeys: [String]) {\nprepare(signer: AuthAccount) {\nlet acct = AuthAccount(payer: signer)\nfor key in publicKeys {\nacct.addPublicKey(key.decodeHex())\n}\n}\n}", - "arguments": [ - { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f847b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc02018201f4" - } - ] - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f901b8b8a97472616e73616374696f6e287075626c69634b6579733a205b537472696e675d29207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a6c65742061636374203d20417574684163636f756e742870617965723a207369676e6572290a666f72206b657920696e207075626c69634b657973207b0a616363742e6164645075626c69634b6579286b65792e6465636f64654865782829290a7d0a7d0a7df8cbb8c97b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a226638343762383430393434383861373935613037373030633666623833653036366366353764666438376639326365373063626338316362336264336665613264663762363730373362373065333662343466333537386234336436346433666161326538653431356566366332623566653433393064356137386532333835383163366534626330323031383230316634227d5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f901bcf901b8b8a97472616e73616374696f6e287075626c69634b6579733a205b537472696e675d29207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a6c65742061636374203d20417574684163636f756e742870617965723a207369676e6572290a666f72206b657920696e207075626c69634b657973207b0a616363742e6164645075626c69634b6579286b65792e6465636f64654865782829290a7d0a7d0a7df8cbb8c97b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a226638343762383430393434383861373935613037373030633666623833653036366366353764666438376639326365373063626338316362336264336665613264663762363730373362373065333662343466333537386234336436346433666161326538653431356566366332623566653433393064356137386532333835383163366534626330323031383230316634227d5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "01eef2d0494448554177612e63026256258339230cbc6931ded78d6149443c6173437265617465204163636f756e740001030105507562206b65790000537472696e670003", - "hash": "eef2d0494448554177612e63026256258339230cbc6931ded78d6149443c6173" - }, - { - "title": "Create Account Transaction - Valid Envelope - Single Account Key #17", - "valid": true, - "chainID": "Mainnet", - "payloadMessage": { - "script": "transaction(publicKeys: [String]) {\nprepare(signer: AuthAccount) {\nlet acct = AuthAccount(payer: signer)\nfor key in publicKeys {\nacct.addPublicKey(key.decodeHex())\n}\n}\n}", - "arguments": [ - { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f847b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc02018203e8" - } - ] - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [ - { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sig": "f7225388c1d69d57e6251c9fda50cbbf9e05131e5adb81e5aa0422402f048162" - } - ] - }, - "envelopeMessage": { - "script": "transaction(publicKeys: [String]) {\nprepare(signer: AuthAccount) {\nlet acct = AuthAccount(payer: signer)\nfor key in publicKeys {\nacct.addPublicKey(key.decodeHex())\n}\n}\n}", - "arguments": [ - { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f847b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc02018203e8" - } - ] - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f901b8b8a97472616e73616374696f6e287075626c69634b6579733a205b537472696e675d29207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a6c65742061636374203d20417574684163636f756e742870617965723a207369676e6572290a666f72206b657920696e207075626c69634b657973207b0a616363742e6164645075626c69634b6579286b65792e6465636f64654865782829290a7d0a7d0a7df8cbb8c97b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a226638343762383430393434383861373935613037373030633666623833653036366366353764666438376639326365373063626338316362336264336665613264663762363730373362373065333662343466333537386234336436346433666161326538653431356566366332623566653433393064356137386532333835383163366534626330323031383230336538227d5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f901bcf901b8b8a97472616e73616374696f6e287075626c69634b6579733a205b537472696e675d29207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a6c65742061636374203d20417574684163636f756e742870617965723a207369676e6572290a666f72206b657920696e207075626c69634b657973207b0a616363742e6164645075626c69634b6579286b65792e6465636f64654865782829290a7d0a7d0a7df8cbb8c97b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a226638343762383430393434383861373935613037373030633666623833653036366366353764666438376639326365373063626338316362336264336665613264663762363730373362373065333662343466333537386234336436346433666161326538653431356566366332623566653433393064356137386532333835383163366534626330323031383230336538227d5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "01eef2d0494448554177612e63026256258339230cbc6931ded78d6149443c6173437265617465204163636f756e740001030105507562206b65790000537472696e670003", - "hash": "eef2d0494448554177612e63026256258339230cbc6931ded78d6149443c6173" - }, - { - "title": "Create Account Transaction - Valid Envelope - Single Account Key #18", - "valid": true, - "chainID": "Mainnet", - "payloadMessage": { - "script": "transaction(publicKeys: [String]) {\nprepare(signer: AuthAccount) {\nlet acct = AuthAccount(payer: signer)\nfor key in publicKeys {\nacct.addPublicKey(key.decodeHex())\n}\n}\n}", - "arguments": [ - { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f845b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc020380" - } - ] - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [ - { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sig": "f7225388c1d69d57e6251c9fda50cbbf9e05131e5adb81e5aa0422402f048162" - } - ] - }, - "envelopeMessage": { - "script": "transaction(publicKeys: [String]) {\nprepare(signer: AuthAccount) {\nlet acct = AuthAccount(payer: signer)\nfor key in publicKeys {\nacct.addPublicKey(key.decodeHex())\n}\n}\n}", - "arguments": [ - { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f845b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc020380" - } - ] - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f901b4b8a97472616e73616374696f6e287075626c69634b6579733a205b537472696e675d29207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a6c65742061636374203d20417574684163636f756e742870617965723a207369676e6572290a666f72206b657920696e207075626c69634b657973207b0a616363742e6164645075626c69634b6579286b65792e6465636f64654865782829290a7d0a7d0a7df8c7b8c57b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303934343838613739356130373730306336666238336530363663663537646664383766393263653730636263383163623362643366656132646637623637303733623730653336623434663335373862343364363464336661613265386534313565663663326235666534333930643561373865323338353831633665346263303230333830227d5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f901b8f901b4b8a97472616e73616374696f6e287075626c69634b6579733a205b537472696e675d29207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a6c65742061636374203d20417574684163636f756e742870617965723a207369676e6572290a666f72206b657920696e207075626c69634b657973207b0a616363742e6164645075626c69634b6579286b65792e6465636f64654865782829290a7d0a7d0a7df8c7b8c57b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303934343838613739356130373730306336666238336530363663663537646664383766393263653730636263383163623362643366656132646637623637303733623730653336623434663335373862343364363464336661613265386534313565663663326235666534333930643561373865323338353831633665346263303230333830227d5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "01eef2d0494448554177612e63026256258339230cbc6931ded78d6149443c6173437265617465204163636f756e740001030105507562206b65790000537472696e670003", - "hash": "eef2d0494448554177612e63026256258339230cbc6931ded78d6149443c6173" - }, - { - "title": "Create Account Transaction - Valid Envelope - Single Account Key #19", - "valid": true, - "chainID": "Mainnet", - "payloadMessage": { - "script": "transaction(publicKeys: [String]) {\nprepare(signer: AuthAccount) {\nlet acct = AuthAccount(payer: signer)\nfor key in publicKeys {\nacct.addPublicKey(key.decodeHex())\n}\n}\n}", - "arguments": [ - { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f847b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc02038201f4" - } - ] - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [ - { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sig": "f7225388c1d69d57e6251c9fda50cbbf9e05131e5adb81e5aa0422402f048162" - } - ] - }, - "envelopeMessage": { - "script": "transaction(publicKeys: [String]) {\nprepare(signer: AuthAccount) {\nlet acct = AuthAccount(payer: signer)\nfor key in publicKeys {\nacct.addPublicKey(key.decodeHex())\n}\n}\n}", - "arguments": [ - { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f847b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc02038201f4" - } - ] - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f901b8b8a97472616e73616374696f6e287075626c69634b6579733a205b537472696e675d29207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a6c65742061636374203d20417574684163636f756e742870617965723a207369676e6572290a666f72206b657920696e207075626c69634b657973207b0a616363742e6164645075626c69634b6579286b65792e6465636f64654865782829290a7d0a7d0a7df8cbb8c97b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a226638343762383430393434383861373935613037373030633666623833653036366366353764666438376639326365373063626338316362336264336665613264663762363730373362373065333662343466333537386234336436346433666161326538653431356566366332623566653433393064356137386532333835383163366534626330323033383230316634227d5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f901bcf901b8b8a97472616e73616374696f6e287075626c69634b6579733a205b537472696e675d29207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a6c65742061636374203d20417574684163636f756e742870617965723a207369676e6572290a666f72206b657920696e207075626c69634b657973207b0a616363742e6164645075626c69634b6579286b65792e6465636f64654865782829290a7d0a7d0a7df8cbb8c97b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a226638343762383430393434383861373935613037373030633666623833653036366366353764666438376639326365373063626338316362336264336665613264663762363730373362373065333662343466333537386234336436346433666161326538653431356566366332623566653433393064356137386532333835383163366534626330323033383230316634227d5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "01eef2d0494448554177612e63026256258339230cbc6931ded78d6149443c6173437265617465204163636f756e740001030105507562206b65790000537472696e670003", - "hash": "eef2d0494448554177612e63026256258339230cbc6931ded78d6149443c6173" - }, - { - "title": "Create Account Transaction - Valid Envelope - Single Account Key #20", - "valid": true, - "chainID": "Mainnet", - "payloadMessage": { - "script": "transaction(publicKeys: [String]) {\nprepare(signer: AuthAccount) {\nlet acct = AuthAccount(payer: signer)\nfor key in publicKeys {\nacct.addPublicKey(key.decodeHex())\n}\n}\n}", - "arguments": [ - { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f847b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc02038203e8" - } - ] - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [ - { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sig": "f7225388c1d69d57e6251c9fda50cbbf9e05131e5adb81e5aa0422402f048162" - } - ] - }, - "envelopeMessage": { - "script": "transaction(publicKeys: [String]) {\nprepare(signer: AuthAccount) {\nlet acct = AuthAccount(payer: signer)\nfor key in publicKeys {\nacct.addPublicKey(key.decodeHex())\n}\n}\n}", - "arguments": [ - { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f847b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc02038203e8" - } - ] - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f901b8b8a97472616e73616374696f6e287075626c69634b6579733a205b537472696e675d29207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a6c65742061636374203d20417574684163636f756e742870617965723a207369676e6572290a666f72206b657920696e207075626c69634b657973207b0a616363742e6164645075626c69634b6579286b65792e6465636f64654865782829290a7d0a7d0a7df8cbb8c97b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a226638343762383430393434383861373935613037373030633666623833653036366366353764666438376639326365373063626338316362336264336665613264663762363730373362373065333662343466333537386234336436346433666161326538653431356566366332623566653433393064356137386532333835383163366534626330323033383230336538227d5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f901bcf901b8b8a97472616e73616374696f6e287075626c69634b6579733a205b537472696e675d29207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a6c65742061636374203d20417574684163636f756e742870617965723a207369676e6572290a666f72206b657920696e207075626c69634b657973207b0a616363742e6164645075626c69634b6579286b65792e6465636f64654865782829290a7d0a7d0a7df8cbb8c97b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a226638343762383430393434383861373935613037373030633666623833653036366366353764666438376639326365373063626338316362336264336665613264663762363730373362373065333662343466333537386234336436346433666161326538653431356566366332623566653433393064356137386532333835383163366534626330323033383230336538227d5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "01eef2d0494448554177612e63026256258339230cbc6931ded78d6149443c6173437265617465204163636f756e740001030105507562206b65790000537472696e670003", - "hash": "eef2d0494448554177612e63026256258339230cbc6931ded78d6149443c6173" - }, - { - "title": "Create Account Transaction - Valid Envelope - Single Account Key #21", - "valid": true, - "chainID": "Mainnet", - "payloadMessage": { - "script": "transaction(publicKeys: [String]) {\nprepare(signer: AuthAccount) {\nlet acct = AuthAccount(payer: signer)\nfor key in publicKeys {\nacct.addPublicKey(key.decodeHex())\n}\n}\n}", - "arguments": [ - { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f846b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc0281ff80" - } - ] - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [ - { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sig": "f7225388c1d69d57e6251c9fda50cbbf9e05131e5adb81e5aa0422402f048162" - } - ] - }, - "envelopeMessage": { - "script": "transaction(publicKeys: [String]) {\nprepare(signer: AuthAccount) {\nlet acct = AuthAccount(payer: signer)\nfor key in publicKeys {\nacct.addPublicKey(key.decodeHex())\n}\n}\n}", - "arguments": [ - { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f846b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc0281ff80" - } - ] - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f901b6b8a97472616e73616374696f6e287075626c69634b6579733a205b537472696e675d29207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a6c65742061636374203d20417574684163636f756e742870617965723a207369676e6572290a666f72206b657920696e207075626c69634b657973207b0a616363742e6164645075626c69634b6579286b65792e6465636f64654865782829290a7d0a7d0a7df8c9b8c77b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a22663834366238343039343438386137393561303737303063366662383365303636636635376466643837663932636537306362633831636233626433666561326466376236373037336237306533366234346633353738623433643634643366616132653865343135656636633262356665343339306435613738653233383538316336653462633032383166663830227d5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f901baf901b6b8a97472616e73616374696f6e287075626c69634b6579733a205b537472696e675d29207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a6c65742061636374203d20417574684163636f756e742870617965723a207369676e6572290a666f72206b657920696e207075626c69634b657973207b0a616363742e6164645075626c69634b6579286b65792e6465636f64654865782829290a7d0a7d0a7df8c9b8c77b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a22663834366238343039343438386137393561303737303063366662383365303636636635376466643837663932636537306362633831636233626433666561326466376236373037336237306533366234346633353738623433643634643366616132653865343135656636633262356665343339306435613738653233383538316336653462633032383166663830227d5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "01eef2d0494448554177612e63026256258339230cbc6931ded78d6149443c6173437265617465204163636f756e740001030105507562206b65790000537472696e670003", - "hash": "eef2d0494448554177612e63026256258339230cbc6931ded78d6149443c6173" - }, - { - "title": "Create Account Transaction - Valid Envelope - Single Account Key #22", - "valid": true, - "chainID": "Mainnet", - "payloadMessage": { - "script": "transaction(publicKeys: [String]) {\nprepare(signer: AuthAccount) {\nlet acct = AuthAccount(payer: signer)\nfor key in publicKeys {\nacct.addPublicKey(key.decodeHex())\n}\n}\n}", - "arguments": [ - { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f848b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc0281ff8201f4" - } - ] - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [ - { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sig": "f7225388c1d69d57e6251c9fda50cbbf9e05131e5adb81e5aa0422402f048162" - } - ] - }, - "envelopeMessage": { - "script": "transaction(publicKeys: [String]) {\nprepare(signer: AuthAccount) {\nlet acct = AuthAccount(payer: signer)\nfor key in publicKeys {\nacct.addPublicKey(key.decodeHex())\n}\n}\n}", - "arguments": [ - { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f848b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc0281ff8201f4" - } - ] - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f901bab8a97472616e73616374696f6e287075626c69634b6579733a205b537472696e675d29207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a6c65742061636374203d20417574684163636f756e742870617965723a207369676e6572290a666f72206b657920696e207075626c69634b657973207b0a616363742e6164645075626c69634b6579286b65792e6465636f64654865782829290a7d0a7d0a7df8cdb8cb7b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a2266383438623834303934343838613739356130373730306336666238336530363663663537646664383766393263653730636263383163623362643366656132646637623637303733623730653336623434663335373862343364363464336661613265386534313565663663326235666534333930643561373865323338353831633665346263303238316666383230316634227d5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f901bef901bab8a97472616e73616374696f6e287075626c69634b6579733a205b537472696e675d29207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a6c65742061636374203d20417574684163636f756e742870617965723a207369676e6572290a666f72206b657920696e207075626c69634b657973207b0a616363742e6164645075626c69634b6579286b65792e6465636f64654865782829290a7d0a7d0a7df8cdb8cb7b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a2266383438623834303934343838613739356130373730306336666238336530363663663537646664383766393263653730636263383163623362643366656132646637623637303733623730653336623434663335373862343364363464336661613265386534313565663663326235666534333930643561373865323338353831633665346263303238316666383230316634227d5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "01eef2d0494448554177612e63026256258339230cbc6931ded78d6149443c6173437265617465204163636f756e740001030105507562206b65790000537472696e670003", - "hash": "eef2d0494448554177612e63026256258339230cbc6931ded78d6149443c6173" - }, - { - "title": "Create Account Transaction - Valid Envelope - Single Account Key #23", - "valid": true, - "chainID": "Mainnet", - "payloadMessage": { - "script": "transaction(publicKeys: [String]) {\nprepare(signer: AuthAccount) {\nlet acct = AuthAccount(payer: signer)\nfor key in publicKeys {\nacct.addPublicKey(key.decodeHex())\n}\n}\n}", - "arguments": [ - { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f848b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc0281ff8203e8" - } - ] - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [ - { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sig": "f7225388c1d69d57e6251c9fda50cbbf9e05131e5adb81e5aa0422402f048162" - } - ] - }, - "envelopeMessage": { - "script": "transaction(publicKeys: [String]) {\nprepare(signer: AuthAccount) {\nlet acct = AuthAccount(payer: signer)\nfor key in publicKeys {\nacct.addPublicKey(key.decodeHex())\n}\n}\n}", - "arguments": [ - { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f848b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc0281ff8203e8" - } - ] - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f901bab8a97472616e73616374696f6e287075626c69634b6579733a205b537472696e675d29207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a6c65742061636374203d20417574684163636f756e742870617965723a207369676e6572290a666f72206b657920696e207075626c69634b657973207b0a616363742e6164645075626c69634b6579286b65792e6465636f64654865782829290a7d0a7d0a7df8cdb8cb7b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a2266383438623834303934343838613739356130373730306336666238336530363663663537646664383766393263653730636263383163623362643366656132646637623637303733623730653336623434663335373862343364363464336661613265386534313565663663326235666534333930643561373865323338353831633665346263303238316666383230336538227d5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f901bef901bab8a97472616e73616374696f6e287075626c69634b6579733a205b537472696e675d29207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a6c65742061636374203d20417574684163636f756e742870617965723a207369676e6572290a666f72206b657920696e207075626c69634b657973207b0a616363742e6164645075626c69634b6579286b65792e6465636f64654865782829290a7d0a7d0a7df8cdb8cb7b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a2266383438623834303934343838613739356130373730306336666238336530363663663537646664383766393263653730636263383163623362643366656132646637623637303733623730653336623434663335373862343364363464336661613265386534313565663663326235666534333930643561373865323338353831633665346263303238316666383230336538227d5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "01eef2d0494448554177612e63026256258339230cbc6931ded78d6149443c6173437265617465204163636f756e740001030105507562206b65790000537472696e670003", - "hash": "eef2d0494448554177612e63026256258339230cbc6931ded78d6149443c6173" - }, - { - "title": "Create Account Transaction - Valid Envelope - Single Account Key #24", - "valid": true, - "chainID": "Mainnet", - "payloadMessage": { - "script": "transaction(publicKeys: [String]) {\nprepare(signer: AuthAccount) {\nlet acct = AuthAccount(payer: signer)\nfor key in publicKeys {\nacct.addPublicKey(key.decodeHex())\n}\n}\n}", - "arguments": [ - { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f845b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc038080" - } - ] - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [ - { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sig": "f7225388c1d69d57e6251c9fda50cbbf9e05131e5adb81e5aa0422402f048162" - } - ] - }, - "envelopeMessage": { - "script": "transaction(publicKeys: [String]) {\nprepare(signer: AuthAccount) {\nlet acct = AuthAccount(payer: signer)\nfor key in publicKeys {\nacct.addPublicKey(key.decodeHex())\n}\n}\n}", - "arguments": [ - { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f845b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc038080" - } - ] - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f901b4b8a97472616e73616374696f6e287075626c69634b6579733a205b537472696e675d29207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a6c65742061636374203d20417574684163636f756e742870617965723a207369676e6572290a666f72206b657920696e207075626c69634b657973207b0a616363742e6164645075626c69634b6579286b65792e6465636f64654865782829290a7d0a7d0a7df8c7b8c57b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303934343838613739356130373730306336666238336530363663663537646664383766393263653730636263383163623362643366656132646637623637303733623730653336623434663335373862343364363464336661613265386534313565663663326235666534333930643561373865323338353831633665346263303338303830227d5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f901b8f901b4b8a97472616e73616374696f6e287075626c69634b6579733a205b537472696e675d29207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a6c65742061636374203d20417574684163636f756e742870617965723a207369676e6572290a666f72206b657920696e207075626c69634b657973207b0a616363742e6164645075626c69634b6579286b65792e6465636f64654865782829290a7d0a7d0a7df8c7b8c57b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303934343838613739356130373730306336666238336530363663663537646664383766393263653730636263383163623362643366656132646637623637303733623730653336623434663335373862343364363464336661613265386534313565663663326235666534333930643561373865323338353831633665346263303338303830227d5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "01eef2d0494448554177612e63026256258339230cbc6931ded78d6149443c6173437265617465204163636f756e740001030105507562206b65790000537472696e670003", - "hash": "eef2d0494448554177612e63026256258339230cbc6931ded78d6149443c6173" - }, - { - "title": "Create Account Transaction - Valid Envelope - Single Account Key #25", - "valid": true, - "chainID": "Mainnet", - "payloadMessage": { - "script": "transaction(publicKeys: [String]) {\nprepare(signer: AuthAccount) {\nlet acct = AuthAccount(payer: signer)\nfor key in publicKeys {\nacct.addPublicKey(key.decodeHex())\n}\n}\n}", - "arguments": [ - { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f847b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc03808201f4" - } - ] - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [ - { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sig": "f7225388c1d69d57e6251c9fda50cbbf9e05131e5adb81e5aa0422402f048162" - } - ] - }, - "envelopeMessage": { - "script": "transaction(publicKeys: [String]) {\nprepare(signer: AuthAccount) {\nlet acct = AuthAccount(payer: signer)\nfor key in publicKeys {\nacct.addPublicKey(key.decodeHex())\n}\n}\n}", - "arguments": [ - { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f847b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc03808201f4" - } - ] - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f901b8b8a97472616e73616374696f6e287075626c69634b6579733a205b537472696e675d29207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a6c65742061636374203d20417574684163636f756e742870617965723a207369676e6572290a666f72206b657920696e207075626c69634b657973207b0a616363742e6164645075626c69634b6579286b65792e6465636f64654865782829290a7d0a7d0a7df8cbb8c97b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a226638343762383430393434383861373935613037373030633666623833653036366366353764666438376639326365373063626338316362336264336665613264663762363730373362373065333662343466333537386234336436346433666161326538653431356566366332623566653433393064356137386532333835383163366534626330333830383230316634227d5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f901bcf901b8b8a97472616e73616374696f6e287075626c69634b6579733a205b537472696e675d29207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a6c65742061636374203d20417574684163636f756e742870617965723a207369676e6572290a666f72206b657920696e207075626c69634b657973207b0a616363742e6164645075626c69634b6579286b65792e6465636f64654865782829290a7d0a7d0a7df8cbb8c97b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a226638343762383430393434383861373935613037373030633666623833653036366366353764666438376639326365373063626338316362336264336665613264663762363730373362373065333662343466333537386234336436346433666161326538653431356566366332623566653433393064356137386532333835383163366534626330333830383230316634227d5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "01eef2d0494448554177612e63026256258339230cbc6931ded78d6149443c6173437265617465204163636f756e740001030105507562206b65790000537472696e670003", - "hash": "eef2d0494448554177612e63026256258339230cbc6931ded78d6149443c6173" - }, - { - "title": "Create Account Transaction - Valid Envelope - Single Account Key #26", - "valid": true, - "chainID": "Mainnet", - "payloadMessage": { - "script": "transaction(publicKeys: [String]) {\nprepare(signer: AuthAccount) {\nlet acct = AuthAccount(payer: signer)\nfor key in publicKeys {\nacct.addPublicKey(key.decodeHex())\n}\n}\n}", - "arguments": [ - { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f847b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc03808203e8" - } - ] - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [ - { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sig": "f7225388c1d69d57e6251c9fda50cbbf9e05131e5adb81e5aa0422402f048162" - } - ] - }, - "envelopeMessage": { - "script": "transaction(publicKeys: [String]) {\nprepare(signer: AuthAccount) {\nlet acct = AuthAccount(payer: signer)\nfor key in publicKeys {\nacct.addPublicKey(key.decodeHex())\n}\n}\n}", - "arguments": [ - { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f847b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc03808203e8" - } - ] - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f901b8b8a97472616e73616374696f6e287075626c69634b6579733a205b537472696e675d29207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a6c65742061636374203d20417574684163636f756e742870617965723a207369676e6572290a666f72206b657920696e207075626c69634b657973207b0a616363742e6164645075626c69634b6579286b65792e6465636f64654865782829290a7d0a7d0a7df8cbb8c97b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a226638343762383430393434383861373935613037373030633666623833653036366366353764666438376639326365373063626338316362336264336665613264663762363730373362373065333662343466333537386234336436346433666161326538653431356566366332623566653433393064356137386532333835383163366534626330333830383230336538227d5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f901bcf901b8b8a97472616e73616374696f6e287075626c69634b6579733a205b537472696e675d29207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a6c65742061636374203d20417574684163636f756e742870617965723a207369676e6572290a666f72206b657920696e207075626c69634b657973207b0a616363742e6164645075626c69634b6579286b65792e6465636f64654865782829290a7d0a7d0a7df8cbb8c97b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a226638343762383430393434383861373935613037373030633666623833653036366366353764666438376639326365373063626338316362336264336665613264663762363730373362373065333662343466333537386234336436346433666161326538653431356566366332623566653433393064356137386532333835383163366534626330333830383230336538227d5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "01eef2d0494448554177612e63026256258339230cbc6931ded78d6149443c6173437265617465204163636f756e740001030105507562206b65790000537472696e670003", - "hash": "eef2d0494448554177612e63026256258339230cbc6931ded78d6149443c6173" - }, - { - "title": "Create Account Transaction - Valid Envelope - Single Account Key #27", - "valid": true, - "chainID": "Mainnet", - "payloadMessage": { - "script": "transaction(publicKeys: [String]) {\nprepare(signer: AuthAccount) {\nlet acct = AuthAccount(payer: signer)\nfor key in publicKeys {\nacct.addPublicKey(key.decodeHex())\n}\n}\n}", - "arguments": [ - { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f845b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc030180" - } - ] - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [ - { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sig": "f7225388c1d69d57e6251c9fda50cbbf9e05131e5adb81e5aa0422402f048162" - } - ] - }, - "envelopeMessage": { - "script": "transaction(publicKeys: [String]) {\nprepare(signer: AuthAccount) {\nlet acct = AuthAccount(payer: signer)\nfor key in publicKeys {\nacct.addPublicKey(key.decodeHex())\n}\n}\n}", - "arguments": [ - { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f845b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc030180" - } - ] - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f901b4b8a97472616e73616374696f6e287075626c69634b6579733a205b537472696e675d29207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a6c65742061636374203d20417574684163636f756e742870617965723a207369676e6572290a666f72206b657920696e207075626c69634b657973207b0a616363742e6164645075626c69634b6579286b65792e6465636f64654865782829290a7d0a7d0a7df8c7b8c57b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303934343838613739356130373730306336666238336530363663663537646664383766393263653730636263383163623362643366656132646637623637303733623730653336623434663335373862343364363464336661613265386534313565663663326235666534333930643561373865323338353831633665346263303330313830227d5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f901b8f901b4b8a97472616e73616374696f6e287075626c69634b6579733a205b537472696e675d29207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a6c65742061636374203d20417574684163636f756e742870617965723a207369676e6572290a666f72206b657920696e207075626c69634b657973207b0a616363742e6164645075626c69634b6579286b65792e6465636f64654865782829290a7d0a7d0a7df8c7b8c57b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303934343838613739356130373730306336666238336530363663663537646664383766393263653730636263383163623362643366656132646637623637303733623730653336623434663335373862343364363464336661613265386534313565663663326235666534333930643561373865323338353831633665346263303330313830227d5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "01eef2d0494448554177612e63026256258339230cbc6931ded78d6149443c6173437265617465204163636f756e740001030105507562206b65790000537472696e670003", - "hash": "eef2d0494448554177612e63026256258339230cbc6931ded78d6149443c6173" - }, - { - "title": "Create Account Transaction - Valid Envelope - Single Account Key #28", - "valid": true, - "chainID": "Mainnet", - "payloadMessage": { - "script": "transaction(publicKeys: [String]) {\nprepare(signer: AuthAccount) {\nlet acct = AuthAccount(payer: signer)\nfor key in publicKeys {\nacct.addPublicKey(key.decodeHex())\n}\n}\n}", - "arguments": [ - { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f847b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc03018201f4" - } - ] - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [ - { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sig": "f7225388c1d69d57e6251c9fda50cbbf9e05131e5adb81e5aa0422402f048162" - } - ] - }, - "envelopeMessage": { - "script": "transaction(publicKeys: [String]) {\nprepare(signer: AuthAccount) {\nlet acct = AuthAccount(payer: signer)\nfor key in publicKeys {\nacct.addPublicKey(key.decodeHex())\n}\n}\n}", - "arguments": [ - { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f847b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc03018201f4" - } - ] - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f901b8b8a97472616e73616374696f6e287075626c69634b6579733a205b537472696e675d29207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a6c65742061636374203d20417574684163636f756e742870617965723a207369676e6572290a666f72206b657920696e207075626c69634b657973207b0a616363742e6164645075626c69634b6579286b65792e6465636f64654865782829290a7d0a7d0a7df8cbb8c97b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a226638343762383430393434383861373935613037373030633666623833653036366366353764666438376639326365373063626338316362336264336665613264663762363730373362373065333662343466333537386234336436346433666161326538653431356566366332623566653433393064356137386532333835383163366534626330333031383230316634227d5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f901bcf901b8b8a97472616e73616374696f6e287075626c69634b6579733a205b537472696e675d29207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a6c65742061636374203d20417574684163636f756e742870617965723a207369676e6572290a666f72206b657920696e207075626c69634b657973207b0a616363742e6164645075626c69634b6579286b65792e6465636f64654865782829290a7d0a7d0a7df8cbb8c97b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a226638343762383430393434383861373935613037373030633666623833653036366366353764666438376639326365373063626338316362336264336665613264663762363730373362373065333662343466333537386234336436346433666161326538653431356566366332623566653433393064356137386532333835383163366534626330333031383230316634227d5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "01eef2d0494448554177612e63026256258339230cbc6931ded78d6149443c6173437265617465204163636f756e740001030105507562206b65790000537472696e670003", - "hash": "eef2d0494448554177612e63026256258339230cbc6931ded78d6149443c6173" - }, - { - "title": "Create Account Transaction - Valid Envelope - Single Account Key #29", - "valid": true, - "chainID": "Mainnet", - "payloadMessage": { - "script": "transaction(publicKeys: [String]) {\nprepare(signer: AuthAccount) {\nlet acct = AuthAccount(payer: signer)\nfor key in publicKeys {\nacct.addPublicKey(key.decodeHex())\n}\n}\n}", - "arguments": [ - { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f847b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc03018203e8" - } - ] - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [ - { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sig": "f7225388c1d69d57e6251c9fda50cbbf9e05131e5adb81e5aa0422402f048162" - } - ] - }, - "envelopeMessage": { - "script": "transaction(publicKeys: [String]) {\nprepare(signer: AuthAccount) {\nlet acct = AuthAccount(payer: signer)\nfor key in publicKeys {\nacct.addPublicKey(key.decodeHex())\n}\n}\n}", - "arguments": [ - { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f847b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc03018203e8" - } - ] - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f901b8b8a97472616e73616374696f6e287075626c69634b6579733a205b537472696e675d29207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a6c65742061636374203d20417574684163636f756e742870617965723a207369676e6572290a666f72206b657920696e207075626c69634b657973207b0a616363742e6164645075626c69634b6579286b65792e6465636f64654865782829290a7d0a7d0a7df8cbb8c97b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a226638343762383430393434383861373935613037373030633666623833653036366366353764666438376639326365373063626338316362336264336665613264663762363730373362373065333662343466333537386234336436346433666161326538653431356566366332623566653433393064356137386532333835383163366534626330333031383230336538227d5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f901bcf901b8b8a97472616e73616374696f6e287075626c69634b6579733a205b537472696e675d29207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a6c65742061636374203d20417574684163636f756e742870617965723a207369676e6572290a666f72206b657920696e207075626c69634b657973207b0a616363742e6164645075626c69634b6579286b65792e6465636f64654865782829290a7d0a7d0a7df8cbb8c97b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a226638343762383430393434383861373935613037373030633666623833653036366366353764666438376639326365373063626338316362336264336665613264663762363730373362373065333662343466333537386234336436346433666161326538653431356566366332623566653433393064356137386532333835383163366534626330333031383230336538227d5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "01eef2d0494448554177612e63026256258339230cbc6931ded78d6149443c6173437265617465204163636f756e740001030105507562206b65790000537472696e670003", - "hash": "eef2d0494448554177612e63026256258339230cbc6931ded78d6149443c6173" - }, - { - "title": "Create Account Transaction - Valid Envelope - Single Account Key #30", - "valid": true, - "chainID": "Mainnet", - "payloadMessage": { - "script": "transaction(publicKeys: [String]) {\nprepare(signer: AuthAccount) {\nlet acct = AuthAccount(payer: signer)\nfor key in publicKeys {\nacct.addPublicKey(key.decodeHex())\n}\n}\n}", - "arguments": [ - { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f845b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc030380" - } - ] - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [ - { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sig": "f7225388c1d69d57e6251c9fda50cbbf9e05131e5adb81e5aa0422402f048162" - } - ] - }, - "envelopeMessage": { - "script": "transaction(publicKeys: [String]) {\nprepare(signer: AuthAccount) {\nlet acct = AuthAccount(payer: signer)\nfor key in publicKeys {\nacct.addPublicKey(key.decodeHex())\n}\n}\n}", - "arguments": [ - { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f845b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc030380" - } - ] - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f901b4b8a97472616e73616374696f6e287075626c69634b6579733a205b537472696e675d29207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a6c65742061636374203d20417574684163636f756e742870617965723a207369676e6572290a666f72206b657920696e207075626c69634b657973207b0a616363742e6164645075626c69634b6579286b65792e6465636f64654865782829290a7d0a7d0a7df8c7b8c57b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303934343838613739356130373730306336666238336530363663663537646664383766393263653730636263383163623362643366656132646637623637303733623730653336623434663335373862343364363464336661613265386534313565663663326235666534333930643561373865323338353831633665346263303330333830227d5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f901b8f901b4b8a97472616e73616374696f6e287075626c69634b6579733a205b537472696e675d29207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a6c65742061636374203d20417574684163636f756e742870617965723a207369676e6572290a666f72206b657920696e207075626c69634b657973207b0a616363742e6164645075626c69634b6579286b65792e6465636f64654865782829290a7d0a7d0a7df8c7b8c57b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303934343838613739356130373730306336666238336530363663663537646664383766393263653730636263383163623362643366656132646637623637303733623730653336623434663335373862343364363464336661613265386534313565663663326235666534333930643561373865323338353831633665346263303330333830227d5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "01eef2d0494448554177612e63026256258339230cbc6931ded78d6149443c6173437265617465204163636f756e740001030105507562206b65790000537472696e670003", - "hash": "eef2d0494448554177612e63026256258339230cbc6931ded78d6149443c6173" - }, - { - "title": "Create Account Transaction - Valid Envelope - Single Account Key #31", - "valid": true, - "chainID": "Mainnet", - "payloadMessage": { - "script": "transaction(publicKeys: [String]) {\nprepare(signer: AuthAccount) {\nlet acct = AuthAccount(payer: signer)\nfor key in publicKeys {\nacct.addPublicKey(key.decodeHex())\n}\n}\n}", - "arguments": [ - { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f847b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc03038201f4" - } - ] - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [ - { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sig": "f7225388c1d69d57e6251c9fda50cbbf9e05131e5adb81e5aa0422402f048162" - } - ] - }, - "envelopeMessage": { - "script": "transaction(publicKeys: [String]) {\nprepare(signer: AuthAccount) {\nlet acct = AuthAccount(payer: signer)\nfor key in publicKeys {\nacct.addPublicKey(key.decodeHex())\n}\n}\n}", - "arguments": [ - { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f847b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc03038201f4" - } - ] - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f901b8b8a97472616e73616374696f6e287075626c69634b6579733a205b537472696e675d29207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a6c65742061636374203d20417574684163636f756e742870617965723a207369676e6572290a666f72206b657920696e207075626c69634b657973207b0a616363742e6164645075626c69634b6579286b65792e6465636f64654865782829290a7d0a7d0a7df8cbb8c97b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a226638343762383430393434383861373935613037373030633666623833653036366366353764666438376639326365373063626338316362336264336665613264663762363730373362373065333662343466333537386234336436346433666161326538653431356566366332623566653433393064356137386532333835383163366534626330333033383230316634227d5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f901bcf901b8b8a97472616e73616374696f6e287075626c69634b6579733a205b537472696e675d29207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a6c65742061636374203d20417574684163636f756e742870617965723a207369676e6572290a666f72206b657920696e207075626c69634b657973207b0a616363742e6164645075626c69634b6579286b65792e6465636f64654865782829290a7d0a7d0a7df8cbb8c97b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a226638343762383430393434383861373935613037373030633666623833653036366366353764666438376639326365373063626338316362336264336665613264663762363730373362373065333662343466333537386234336436346433666161326538653431356566366332623566653433393064356137386532333835383163366534626330333033383230316634227d5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "01eef2d0494448554177612e63026256258339230cbc6931ded78d6149443c6173437265617465204163636f756e740001030105507562206b65790000537472696e670003", - "hash": "eef2d0494448554177612e63026256258339230cbc6931ded78d6149443c6173" - }, - { - "title": "Create Account Transaction - Valid Envelope - Single Account Key #32", - "valid": true, - "chainID": "Mainnet", - "payloadMessage": { - "script": "transaction(publicKeys: [String]) {\nprepare(signer: AuthAccount) {\nlet acct = AuthAccount(payer: signer)\nfor key in publicKeys {\nacct.addPublicKey(key.decodeHex())\n}\n}\n}", - "arguments": [ - { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f847b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc03038203e8" - } - ] - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [ - { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sig": "f7225388c1d69d57e6251c9fda50cbbf9e05131e5adb81e5aa0422402f048162" - } - ] - }, - "envelopeMessage": { - "script": "transaction(publicKeys: [String]) {\nprepare(signer: AuthAccount) {\nlet acct = AuthAccount(payer: signer)\nfor key in publicKeys {\nacct.addPublicKey(key.decodeHex())\n}\n}\n}", - "arguments": [ - { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f847b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc03038203e8" - } - ] - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f901b8b8a97472616e73616374696f6e287075626c69634b6579733a205b537472696e675d29207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a6c65742061636374203d20417574684163636f756e742870617965723a207369676e6572290a666f72206b657920696e207075626c69634b657973207b0a616363742e6164645075626c69634b6579286b65792e6465636f64654865782829290a7d0a7d0a7df8cbb8c97b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a226638343762383430393434383861373935613037373030633666623833653036366366353764666438376639326365373063626338316362336264336665613264663762363730373362373065333662343466333537386234336436346433666161326538653431356566366332623566653433393064356137386532333835383163366534626330333033383230336538227d5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f901bcf901b8b8a97472616e73616374696f6e287075626c69634b6579733a205b537472696e675d29207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a6c65742061636374203d20417574684163636f756e742870617965723a207369676e6572290a666f72206b657920696e207075626c69634b657973207b0a616363742e6164645075626c69634b6579286b65792e6465636f64654865782829290a7d0a7d0a7df8cbb8c97b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a226638343762383430393434383861373935613037373030633666623833653036366366353764666438376639326365373063626338316362336264336665613264663762363730373362373065333662343466333537386234336436346433666161326538653431356566366332623566653433393064356137386532333835383163366534626330333033383230336538227d5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "01eef2d0494448554177612e63026256258339230cbc6931ded78d6149443c6173437265617465204163636f756e740001030105507562206b65790000537472696e670003", - "hash": "eef2d0494448554177612e63026256258339230cbc6931ded78d6149443c6173" - }, - { - "title": "Create Account Transaction - Valid Envelope - Single Account Key #33", - "valid": true, - "chainID": "Mainnet", - "payloadMessage": { - "script": "transaction(publicKeys: [String]) {\nprepare(signer: AuthAccount) {\nlet acct = AuthAccount(payer: signer)\nfor key in publicKeys {\nacct.addPublicKey(key.decodeHex())\n}\n}\n}", - "arguments": [ - { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f846b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc0381ff80" - } - ] - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [ - { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sig": "f7225388c1d69d57e6251c9fda50cbbf9e05131e5adb81e5aa0422402f048162" - } - ] - }, - "envelopeMessage": { - "script": "transaction(publicKeys: [String]) {\nprepare(signer: AuthAccount) {\nlet acct = AuthAccount(payer: signer)\nfor key in publicKeys {\nacct.addPublicKey(key.decodeHex())\n}\n}\n}", - "arguments": [ - { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f846b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc0381ff80" - } - ] - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f901b6b8a97472616e73616374696f6e287075626c69634b6579733a205b537472696e675d29207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a6c65742061636374203d20417574684163636f756e742870617965723a207369676e6572290a666f72206b657920696e207075626c69634b657973207b0a616363742e6164645075626c69634b6579286b65792e6465636f64654865782829290a7d0a7d0a7df8c9b8c77b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a22663834366238343039343438386137393561303737303063366662383365303636636635376466643837663932636537306362633831636233626433666561326466376236373037336237306533366234346633353738623433643634643366616132653865343135656636633262356665343339306435613738653233383538316336653462633033383166663830227d5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f901baf901b6b8a97472616e73616374696f6e287075626c69634b6579733a205b537472696e675d29207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a6c65742061636374203d20417574684163636f756e742870617965723a207369676e6572290a666f72206b657920696e207075626c69634b657973207b0a616363742e6164645075626c69634b6579286b65792e6465636f64654865782829290a7d0a7d0a7df8c9b8c77b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a22663834366238343039343438386137393561303737303063366662383365303636636635376466643837663932636537306362633831636233626433666561326466376236373037336237306533366234346633353738623433643634643366616132653865343135656636633262356665343339306435613738653233383538316336653462633033383166663830227d5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "01eef2d0494448554177612e63026256258339230cbc6931ded78d6149443c6173437265617465204163636f756e740001030105507562206b65790000537472696e670003", - "hash": "eef2d0494448554177612e63026256258339230cbc6931ded78d6149443c6173" - }, - { - "title": "Create Account Transaction - Valid Envelope - Single Account Key #34", - "valid": true, - "chainID": "Mainnet", - "payloadMessage": { - "script": "transaction(publicKeys: [String]) {\nprepare(signer: AuthAccount) {\nlet acct = AuthAccount(payer: signer)\nfor key in publicKeys {\nacct.addPublicKey(key.decodeHex())\n}\n}\n}", - "arguments": [ - { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f848b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc0381ff8201f4" - } - ] - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [ - { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sig": "f7225388c1d69d57e6251c9fda50cbbf9e05131e5adb81e5aa0422402f048162" - } - ] - }, - "envelopeMessage": { - "script": "transaction(publicKeys: [String]) {\nprepare(signer: AuthAccount) {\nlet acct = AuthAccount(payer: signer)\nfor key in publicKeys {\nacct.addPublicKey(key.decodeHex())\n}\n}\n}", - "arguments": [ - { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f848b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc0381ff8201f4" - } - ] - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f901bab8a97472616e73616374696f6e287075626c69634b6579733a205b537472696e675d29207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a6c65742061636374203d20417574684163636f756e742870617965723a207369676e6572290a666f72206b657920696e207075626c69634b657973207b0a616363742e6164645075626c69634b6579286b65792e6465636f64654865782829290a7d0a7d0a7df8cdb8cb7b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a2266383438623834303934343838613739356130373730306336666238336530363663663537646664383766393263653730636263383163623362643366656132646637623637303733623730653336623434663335373862343364363464336661613265386534313565663663326235666534333930643561373865323338353831633665346263303338316666383230316634227d5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f901bef901bab8a97472616e73616374696f6e287075626c69634b6579733a205b537472696e675d29207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a6c65742061636374203d20417574684163636f756e742870617965723a207369676e6572290a666f72206b657920696e207075626c69634b657973207b0a616363742e6164645075626c69634b6579286b65792e6465636f64654865782829290a7d0a7d0a7df8cdb8cb7b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a2266383438623834303934343838613739356130373730306336666238336530363663663537646664383766393263653730636263383163623362643366656132646637623637303733623730653336623434663335373862343364363464336661613265386534313565663663326235666534333930643561373865323338353831633665346263303338316666383230316634227d5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "01eef2d0494448554177612e63026256258339230cbc6931ded78d6149443c6173437265617465204163636f756e740001030105507562206b65790000537472696e670003", - "hash": "eef2d0494448554177612e63026256258339230cbc6931ded78d6149443c6173" - }, - { - "title": "Create Account Transaction - Valid Envelope - Single Account Key #35", - "valid": true, - "chainID": "Mainnet", - "payloadMessage": { - "script": "transaction(publicKeys: [String]) {\nprepare(signer: AuthAccount) {\nlet acct = AuthAccount(payer: signer)\nfor key in publicKeys {\nacct.addPublicKey(key.decodeHex())\n}\n}\n}", - "arguments": [ - { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f848b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc0381ff8203e8" - } - ] - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [ - { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sig": "f7225388c1d69d57e6251c9fda50cbbf9e05131e5adb81e5aa0422402f048162" - } - ] - }, - "envelopeMessage": { - "script": "transaction(publicKeys: [String]) {\nprepare(signer: AuthAccount) {\nlet acct = AuthAccount(payer: signer)\nfor key in publicKeys {\nacct.addPublicKey(key.decodeHex())\n}\n}\n}", - "arguments": [ - { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f848b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc0381ff8203e8" - } - ] - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f901bab8a97472616e73616374696f6e287075626c69634b6579733a205b537472696e675d29207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a6c65742061636374203d20417574684163636f756e742870617965723a207369676e6572290a666f72206b657920696e207075626c69634b657973207b0a616363742e6164645075626c69634b6579286b65792e6465636f64654865782829290a7d0a7d0a7df8cdb8cb7b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a2266383438623834303934343838613739356130373730306336666238336530363663663537646664383766393263653730636263383163623362643366656132646637623637303733623730653336623434663335373862343364363464336661613265386534313565663663326235666534333930643561373865323338353831633665346263303338316666383230336538227d5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f901bef901bab8a97472616e73616374696f6e287075626c69634b6579733a205b537472696e675d29207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a6c65742061636374203d20417574684163636f756e742870617965723a207369676e6572290a666f72206b657920696e207075626c69634b657973207b0a616363742e6164645075626c69634b6579286b65792e6465636f64654865782829290a7d0a7d0a7df8cdb8cb7b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a2266383438623834303934343838613739356130373730306336666238336530363663663537646664383766393263653730636263383163623362643366656132646637623637303733623730653336623434663335373862343364363464336661613265386534313565663663326235666534333930643561373865323338353831633665346263303338316666383230336538227d5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "01eef2d0494448554177612e63026256258339230cbc6931ded78d6149443c6173437265617465204163636f756e740001030105507562206b65790000537472696e670003", - "hash": "eef2d0494448554177612e63026256258339230cbc6931ded78d6149443c6173" - }, - { - "title": "Create Account Transaction - Valid Envelope - Single Account Key #36", - "valid": true, - "chainID": "Mainnet", - "payloadMessage": { - "script": "transaction(publicKeys: [String]) {\nprepare(signer: AuthAccount) {\nlet acct = AuthAccount(payer: signer)\nfor key in publicKeys {\nacct.addPublicKey(key.decodeHex())\n}\n}\n}", - "arguments": [ - { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f846b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc81ff8080" - } - ] - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [ - { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sig": "f7225388c1d69d57e6251c9fda50cbbf9e05131e5adb81e5aa0422402f048162" - } - ] - }, - "envelopeMessage": { - "script": "transaction(publicKeys: [String]) {\nprepare(signer: AuthAccount) {\nlet acct = AuthAccount(payer: signer)\nfor key in publicKeys {\nacct.addPublicKey(key.decodeHex())\n}\n}\n}", - "arguments": [ - { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f846b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc81ff8080" - } - ] - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f901b6b8a97472616e73616374696f6e287075626c69634b6579733a205b537472696e675d29207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a6c65742061636374203d20417574684163636f756e742870617965723a207369676e6572290a666f72206b657920696e207075626c69634b657973207b0a616363742e6164645075626c69634b6579286b65792e6465636f64654865782829290a7d0a7d0a7df8c9b8c77b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a22663834366238343039343438386137393561303737303063366662383365303636636635376466643837663932636537306362633831636233626433666561326466376236373037336237306533366234346633353738623433643634643366616132653865343135656636633262356665343339306435613738653233383538316336653462633831666638303830227d5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f901baf901b6b8a97472616e73616374696f6e287075626c69634b6579733a205b537472696e675d29207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a6c65742061636374203d20417574684163636f756e742870617965723a207369676e6572290a666f72206b657920696e207075626c69634b657973207b0a616363742e6164645075626c69634b6579286b65792e6465636f64654865782829290a7d0a7d0a7df8c9b8c77b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a22663834366238343039343438386137393561303737303063366662383365303636636635376466643837663932636537306362633831636233626433666561326466376236373037336237306533366234346633353738623433643634643366616132653865343135656636633262356665343339306435613738653233383538316336653462633831666638303830227d5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "01eef2d0494448554177612e63026256258339230cbc6931ded78d6149443c6173437265617465204163636f756e740001030105507562206b65790000537472696e670003", - "hash": "eef2d0494448554177612e63026256258339230cbc6931ded78d6149443c6173" - }, - { - "title": "Create Account Transaction - Valid Envelope - Single Account Key #37", - "valid": true, - "chainID": "Mainnet", - "payloadMessage": { - "script": "transaction(publicKeys: [String]) {\nprepare(signer: AuthAccount) {\nlet acct = AuthAccount(payer: signer)\nfor key in publicKeys {\nacct.addPublicKey(key.decodeHex())\n}\n}\n}", - "arguments": [ - { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f848b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc81ff808201f4" - } - ] - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [ - { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sig": "f7225388c1d69d57e6251c9fda50cbbf9e05131e5adb81e5aa0422402f048162" - } - ] - }, - "envelopeMessage": { - "script": "transaction(publicKeys: [String]) {\nprepare(signer: AuthAccount) {\nlet acct = AuthAccount(payer: signer)\nfor key in publicKeys {\nacct.addPublicKey(key.decodeHex())\n}\n}\n}", - "arguments": [ - { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f848b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc81ff808201f4" - } - ] - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f901bab8a97472616e73616374696f6e287075626c69634b6579733a205b537472696e675d29207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a6c65742061636374203d20417574684163636f756e742870617965723a207369676e6572290a666f72206b657920696e207075626c69634b657973207b0a616363742e6164645075626c69634b6579286b65792e6465636f64654865782829290a7d0a7d0a7df8cdb8cb7b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a2266383438623834303934343838613739356130373730306336666238336530363663663537646664383766393263653730636263383163623362643366656132646637623637303733623730653336623434663335373862343364363464336661613265386534313565663663326235666534333930643561373865323338353831633665346263383166663830383230316634227d5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f901bef901bab8a97472616e73616374696f6e287075626c69634b6579733a205b537472696e675d29207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a6c65742061636374203d20417574684163636f756e742870617965723a207369676e6572290a666f72206b657920696e207075626c69634b657973207b0a616363742e6164645075626c69634b6579286b65792e6465636f64654865782829290a7d0a7d0a7df8cdb8cb7b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a2266383438623834303934343838613739356130373730306336666238336530363663663537646664383766393263653730636263383163623362643366656132646637623637303733623730653336623434663335373862343364363464336661613265386534313565663663326235666534333930643561373865323338353831633665346263383166663830383230316634227d5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "01eef2d0494448554177612e63026256258339230cbc6931ded78d6149443c6173437265617465204163636f756e740001030105507562206b65790000537472696e670003", - "hash": "eef2d0494448554177612e63026256258339230cbc6931ded78d6149443c6173" - }, - { - "title": "Create Account Transaction - Valid Envelope - Single Account Key #38", - "valid": true, - "chainID": "Mainnet", - "payloadMessage": { - "script": "transaction(publicKeys: [String]) {\nprepare(signer: AuthAccount) {\nlet acct = AuthAccount(payer: signer)\nfor key in publicKeys {\nacct.addPublicKey(key.decodeHex())\n}\n}\n}", - "arguments": [ - { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f848b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc81ff808203e8" - } - ] - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [ - { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sig": "f7225388c1d69d57e6251c9fda50cbbf9e05131e5adb81e5aa0422402f048162" - } - ] - }, - "envelopeMessage": { - "script": "transaction(publicKeys: [String]) {\nprepare(signer: AuthAccount) {\nlet acct = AuthAccount(payer: signer)\nfor key in publicKeys {\nacct.addPublicKey(key.decodeHex())\n}\n}\n}", - "arguments": [ - { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f848b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc81ff808203e8" - } - ] - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f901bab8a97472616e73616374696f6e287075626c69634b6579733a205b537472696e675d29207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a6c65742061636374203d20417574684163636f756e742870617965723a207369676e6572290a666f72206b657920696e207075626c69634b657973207b0a616363742e6164645075626c69634b6579286b65792e6465636f64654865782829290a7d0a7d0a7df8cdb8cb7b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a2266383438623834303934343838613739356130373730306336666238336530363663663537646664383766393263653730636263383163623362643366656132646637623637303733623730653336623434663335373862343364363464336661613265386534313565663663326235666534333930643561373865323338353831633665346263383166663830383230336538227d5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f901bef901bab8a97472616e73616374696f6e287075626c69634b6579733a205b537472696e675d29207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a6c65742061636374203d20417574684163636f756e742870617965723a207369676e6572290a666f72206b657920696e207075626c69634b657973207b0a616363742e6164645075626c69634b6579286b65792e6465636f64654865782829290a7d0a7d0a7df8cdb8cb7b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a2266383438623834303934343838613739356130373730306336666238336530363663663537646664383766393263653730636263383163623362643366656132646637623637303733623730653336623434663335373862343364363464336661613265386534313565663663326235666534333930643561373865323338353831633665346263383166663830383230336538227d5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "01eef2d0494448554177612e63026256258339230cbc6931ded78d6149443c6173437265617465204163636f756e740001030105507562206b65790000537472696e670003", - "hash": "eef2d0494448554177612e63026256258339230cbc6931ded78d6149443c6173" - }, - { - "title": "Create Account Transaction - Valid Envelope - Single Account Key #39", - "valid": true, - "chainID": "Mainnet", - "payloadMessage": { - "script": "transaction(publicKeys: [String]) {\nprepare(signer: AuthAccount) {\nlet acct = AuthAccount(payer: signer)\nfor key in publicKeys {\nacct.addPublicKey(key.decodeHex())\n}\n}\n}", - "arguments": [ - { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f846b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc81ff0180" - } - ] - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [ - { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sig": "f7225388c1d69d57e6251c9fda50cbbf9e05131e5adb81e5aa0422402f048162" - } - ] - }, - "envelopeMessage": { - "script": "transaction(publicKeys: [String]) {\nprepare(signer: AuthAccount) {\nlet acct = AuthAccount(payer: signer)\nfor key in publicKeys {\nacct.addPublicKey(key.decodeHex())\n}\n}\n}", - "arguments": [ - { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f846b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc81ff0180" - } - ] - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f901b6b8a97472616e73616374696f6e287075626c69634b6579733a205b537472696e675d29207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a6c65742061636374203d20417574684163636f756e742870617965723a207369676e6572290a666f72206b657920696e207075626c69634b657973207b0a616363742e6164645075626c69634b6579286b65792e6465636f64654865782829290a7d0a7d0a7df8c9b8c77b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a22663834366238343039343438386137393561303737303063366662383365303636636635376466643837663932636537306362633831636233626433666561326466376236373037336237306533366234346633353738623433643634643366616132653865343135656636633262356665343339306435613738653233383538316336653462633831666630313830227d5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f901baf901b6b8a97472616e73616374696f6e287075626c69634b6579733a205b537472696e675d29207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a6c65742061636374203d20417574684163636f756e742870617965723a207369676e6572290a666f72206b657920696e207075626c69634b657973207b0a616363742e6164645075626c69634b6579286b65792e6465636f64654865782829290a7d0a7d0a7df8c9b8c77b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a22663834366238343039343438386137393561303737303063366662383365303636636635376466643837663932636537306362633831636233626433666561326466376236373037336237306533366234346633353738623433643634643366616132653865343135656636633262356665343339306435613738653233383538316336653462633831666630313830227d5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "01eef2d0494448554177612e63026256258339230cbc6931ded78d6149443c6173437265617465204163636f756e740001030105507562206b65790000537472696e670003", - "hash": "eef2d0494448554177612e63026256258339230cbc6931ded78d6149443c6173" - }, - { - "title": "Create Account Transaction - Valid Envelope - Single Account Key #40", - "valid": true, - "chainID": "Mainnet", - "payloadMessage": { - "script": "transaction(publicKeys: [String]) {\nprepare(signer: AuthAccount) {\nlet acct = AuthAccount(payer: signer)\nfor key in publicKeys {\nacct.addPublicKey(key.decodeHex())\n}\n}\n}", - "arguments": [ - { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f848b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc81ff018201f4" - } - ] - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [ - { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sig": "f7225388c1d69d57e6251c9fda50cbbf9e05131e5adb81e5aa0422402f048162" - } - ] - }, - "envelopeMessage": { - "script": "transaction(publicKeys: [String]) {\nprepare(signer: AuthAccount) {\nlet acct = AuthAccount(payer: signer)\nfor key in publicKeys {\nacct.addPublicKey(key.decodeHex())\n}\n}\n}", - "arguments": [ - { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f848b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc81ff018201f4" - } - ] - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f901bab8a97472616e73616374696f6e287075626c69634b6579733a205b537472696e675d29207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a6c65742061636374203d20417574684163636f756e742870617965723a207369676e6572290a666f72206b657920696e207075626c69634b657973207b0a616363742e6164645075626c69634b6579286b65792e6465636f64654865782829290a7d0a7d0a7df8cdb8cb7b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a2266383438623834303934343838613739356130373730306336666238336530363663663537646664383766393263653730636263383163623362643366656132646637623637303733623730653336623434663335373862343364363464336661613265386534313565663663326235666534333930643561373865323338353831633665346263383166663031383230316634227d5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f901bef901bab8a97472616e73616374696f6e287075626c69634b6579733a205b537472696e675d29207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a6c65742061636374203d20417574684163636f756e742870617965723a207369676e6572290a666f72206b657920696e207075626c69634b657973207b0a616363742e6164645075626c69634b6579286b65792e6465636f64654865782829290a7d0a7d0a7df8cdb8cb7b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a2266383438623834303934343838613739356130373730306336666238336530363663663537646664383766393263653730636263383163623362643366656132646637623637303733623730653336623434663335373862343364363464336661613265386534313565663663326235666534333930643561373865323338353831633665346263383166663031383230316634227d5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "01eef2d0494448554177612e63026256258339230cbc6931ded78d6149443c6173437265617465204163636f756e740001030105507562206b65790000537472696e670003", - "hash": "eef2d0494448554177612e63026256258339230cbc6931ded78d6149443c6173" - }, - { - "title": "Create Account Transaction - Valid Envelope - Single Account Key #41", - "valid": true, - "chainID": "Mainnet", - "payloadMessage": { - "script": "transaction(publicKeys: [String]) {\nprepare(signer: AuthAccount) {\nlet acct = AuthAccount(payer: signer)\nfor key in publicKeys {\nacct.addPublicKey(key.decodeHex())\n}\n}\n}", - "arguments": [ - { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f848b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc81ff018203e8" - } - ] - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [ - { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sig": "f7225388c1d69d57e6251c9fda50cbbf9e05131e5adb81e5aa0422402f048162" - } - ] - }, - "envelopeMessage": { - "script": "transaction(publicKeys: [String]) {\nprepare(signer: AuthAccount) {\nlet acct = AuthAccount(payer: signer)\nfor key in publicKeys {\nacct.addPublicKey(key.decodeHex())\n}\n}\n}", - "arguments": [ - { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f848b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc81ff018203e8" - } - ] - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f901bab8a97472616e73616374696f6e287075626c69634b6579733a205b537472696e675d29207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a6c65742061636374203d20417574684163636f756e742870617965723a207369676e6572290a666f72206b657920696e207075626c69634b657973207b0a616363742e6164645075626c69634b6579286b65792e6465636f64654865782829290a7d0a7d0a7df8cdb8cb7b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a2266383438623834303934343838613739356130373730306336666238336530363663663537646664383766393263653730636263383163623362643366656132646637623637303733623730653336623434663335373862343364363464336661613265386534313565663663326235666534333930643561373865323338353831633665346263383166663031383230336538227d5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f901bef901bab8a97472616e73616374696f6e287075626c69634b6579733a205b537472696e675d29207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a6c65742061636374203d20417574684163636f756e742870617965723a207369676e6572290a666f72206b657920696e207075626c69634b657973207b0a616363742e6164645075626c69634b6579286b65792e6465636f64654865782829290a7d0a7d0a7df8cdb8cb7b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a2266383438623834303934343838613739356130373730306336666238336530363663663537646664383766393263653730636263383163623362643366656132646637623637303733623730653336623434663335373862343364363464336661613265386534313565663663326235666534333930643561373865323338353831633665346263383166663031383230336538227d5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "01eef2d0494448554177612e63026256258339230cbc6931ded78d6149443c6173437265617465204163636f756e740001030105507562206b65790000537472696e670003", - "hash": "eef2d0494448554177612e63026256258339230cbc6931ded78d6149443c6173" - }, - { - "title": "Create Account Transaction - Valid Envelope - Single Account Key #42", - "valid": true, - "chainID": "Mainnet", - "payloadMessage": { - "script": "transaction(publicKeys: [String]) {\nprepare(signer: AuthAccount) {\nlet acct = AuthAccount(payer: signer)\nfor key in publicKeys {\nacct.addPublicKey(key.decodeHex())\n}\n}\n}", - "arguments": [ - { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f846b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc81ff0380" - } - ] - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [ - { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sig": "f7225388c1d69d57e6251c9fda50cbbf9e05131e5adb81e5aa0422402f048162" - } - ] - }, - "envelopeMessage": { - "script": "transaction(publicKeys: [String]) {\nprepare(signer: AuthAccount) {\nlet acct = AuthAccount(payer: signer)\nfor key in publicKeys {\nacct.addPublicKey(key.decodeHex())\n}\n}\n}", - "arguments": [ - { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f846b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc81ff0380" - } - ] - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f901b6b8a97472616e73616374696f6e287075626c69634b6579733a205b537472696e675d29207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a6c65742061636374203d20417574684163636f756e742870617965723a207369676e6572290a666f72206b657920696e207075626c69634b657973207b0a616363742e6164645075626c69634b6579286b65792e6465636f64654865782829290a7d0a7d0a7df8c9b8c77b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a22663834366238343039343438386137393561303737303063366662383365303636636635376466643837663932636537306362633831636233626433666561326466376236373037336237306533366234346633353738623433643634643366616132653865343135656636633262356665343339306435613738653233383538316336653462633831666630333830227d5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f901baf901b6b8a97472616e73616374696f6e287075626c69634b6579733a205b537472696e675d29207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a6c65742061636374203d20417574684163636f756e742870617965723a207369676e6572290a666f72206b657920696e207075626c69634b657973207b0a616363742e6164645075626c69634b6579286b65792e6465636f64654865782829290a7d0a7d0a7df8c9b8c77b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a22663834366238343039343438386137393561303737303063366662383365303636636635376466643837663932636537306362633831636233626433666561326466376236373037336237306533366234346633353738623433643634643366616132653865343135656636633262356665343339306435613738653233383538316336653462633831666630333830227d5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "01eef2d0494448554177612e63026256258339230cbc6931ded78d6149443c6173437265617465204163636f756e740001030105507562206b65790000537472696e670003", - "hash": "eef2d0494448554177612e63026256258339230cbc6931ded78d6149443c6173" - }, - { - "title": "Create Account Transaction - Valid Envelope - Single Account Key #43", - "valid": true, - "chainID": "Mainnet", - "payloadMessage": { - "script": "transaction(publicKeys: [String]) {\nprepare(signer: AuthAccount) {\nlet acct = AuthAccount(payer: signer)\nfor key in publicKeys {\nacct.addPublicKey(key.decodeHex())\n}\n}\n}", - "arguments": [ - { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f848b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc81ff038201f4" - } - ] - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [ - { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sig": "f7225388c1d69d57e6251c9fda50cbbf9e05131e5adb81e5aa0422402f048162" - } - ] - }, - "envelopeMessage": { - "script": "transaction(publicKeys: [String]) {\nprepare(signer: AuthAccount) {\nlet acct = AuthAccount(payer: signer)\nfor key in publicKeys {\nacct.addPublicKey(key.decodeHex())\n}\n}\n}", - "arguments": [ - { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f848b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc81ff038201f4" - } - ] - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f901bab8a97472616e73616374696f6e287075626c69634b6579733a205b537472696e675d29207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a6c65742061636374203d20417574684163636f756e742870617965723a207369676e6572290a666f72206b657920696e207075626c69634b657973207b0a616363742e6164645075626c69634b6579286b65792e6465636f64654865782829290a7d0a7d0a7df8cdb8cb7b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a2266383438623834303934343838613739356130373730306336666238336530363663663537646664383766393263653730636263383163623362643366656132646637623637303733623730653336623434663335373862343364363464336661613265386534313565663663326235666534333930643561373865323338353831633665346263383166663033383230316634227d5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f901bef901bab8a97472616e73616374696f6e287075626c69634b6579733a205b537472696e675d29207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a6c65742061636374203d20417574684163636f756e742870617965723a207369676e6572290a666f72206b657920696e207075626c69634b657973207b0a616363742e6164645075626c69634b6579286b65792e6465636f64654865782829290a7d0a7d0a7df8cdb8cb7b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a2266383438623834303934343838613739356130373730306336666238336530363663663537646664383766393263653730636263383163623362643366656132646637623637303733623730653336623434663335373862343364363464336661613265386534313565663663326235666534333930643561373865323338353831633665346263383166663033383230316634227d5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "01eef2d0494448554177612e63026256258339230cbc6931ded78d6149443c6173437265617465204163636f756e740001030105507562206b65790000537472696e670003", - "hash": "eef2d0494448554177612e63026256258339230cbc6931ded78d6149443c6173" - }, - { - "title": "Create Account Transaction - Valid Envelope - Single Account Key #44", - "valid": true, - "chainID": "Mainnet", - "payloadMessage": { - "script": "transaction(publicKeys: [String]) {\nprepare(signer: AuthAccount) {\nlet acct = AuthAccount(payer: signer)\nfor key in publicKeys {\nacct.addPublicKey(key.decodeHex())\n}\n}\n}", - "arguments": [ - { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f848b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc81ff038203e8" - } - ] - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [ - { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sig": "f7225388c1d69d57e6251c9fda50cbbf9e05131e5adb81e5aa0422402f048162" - } - ] - }, - "envelopeMessage": { - "script": "transaction(publicKeys: [String]) {\nprepare(signer: AuthAccount) {\nlet acct = AuthAccount(payer: signer)\nfor key in publicKeys {\nacct.addPublicKey(key.decodeHex())\n}\n}\n}", - "arguments": [ - { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f848b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc81ff038203e8" - } - ] - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f901bab8a97472616e73616374696f6e287075626c69634b6579733a205b537472696e675d29207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a6c65742061636374203d20417574684163636f756e742870617965723a207369676e6572290a666f72206b657920696e207075626c69634b657973207b0a616363742e6164645075626c69634b6579286b65792e6465636f64654865782829290a7d0a7d0a7df8cdb8cb7b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a2266383438623834303934343838613739356130373730306336666238336530363663663537646664383766393263653730636263383163623362643366656132646637623637303733623730653336623434663335373862343364363464336661613265386534313565663663326235666534333930643561373865323338353831633665346263383166663033383230336538227d5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f901bef901bab8a97472616e73616374696f6e287075626c69634b6579733a205b537472696e675d29207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a6c65742061636374203d20417574684163636f756e742870617965723a207369676e6572290a666f72206b657920696e207075626c69634b657973207b0a616363742e6164645075626c69634b6579286b65792e6465636f64654865782829290a7d0a7d0a7df8cdb8cb7b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a2266383438623834303934343838613739356130373730306336666238336530363663663537646664383766393263653730636263383163623362643366656132646637623637303733623730653336623434663335373862343364363464336661613265386534313565663663326235666534333930643561373865323338353831633665346263383166663033383230336538227d5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "01eef2d0494448554177612e63026256258339230cbc6931ded78d6149443c6173437265617465204163636f756e740001030105507562206b65790000537472696e670003", - "hash": "eef2d0494448554177612e63026256258339230cbc6931ded78d6149443c6173" - }, - { - "title": "Create Account Transaction - Valid Envelope - Single Account Key #45", - "valid": true, - "chainID": "Mainnet", - "payloadMessage": { - "script": "transaction(publicKeys: [String]) {\nprepare(signer: AuthAccount) {\nlet acct = AuthAccount(payer: signer)\nfor key in publicKeys {\nacct.addPublicKey(key.decodeHex())\n}\n}\n}", - "arguments": [ - { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f847b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc81ff81ff80" - } - ] - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [ - { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sig": "f7225388c1d69d57e6251c9fda50cbbf9e05131e5adb81e5aa0422402f048162" - } - ] - }, - "envelopeMessage": { - "script": "transaction(publicKeys: [String]) {\nprepare(signer: AuthAccount) {\nlet acct = AuthAccount(payer: signer)\nfor key in publicKeys {\nacct.addPublicKey(key.decodeHex())\n}\n}\n}", - "arguments": [ - { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f847b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc81ff81ff80" - } - ] - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f901b8b8a97472616e73616374696f6e287075626c69634b6579733a205b537472696e675d29207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a6c65742061636374203d20417574684163636f756e742870617965723a207369676e6572290a666f72206b657920696e207075626c69634b657973207b0a616363742e6164645075626c69634b6579286b65792e6465636f64654865782829290a7d0a7d0a7df8cbb8c97b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a226638343762383430393434383861373935613037373030633666623833653036366366353764666438376639326365373063626338316362336264336665613264663762363730373362373065333662343466333537386234336436346433666161326538653431356566366332623566653433393064356137386532333835383163366534626338316666383166663830227d5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f901bcf901b8b8a97472616e73616374696f6e287075626c69634b6579733a205b537472696e675d29207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a6c65742061636374203d20417574684163636f756e742870617965723a207369676e6572290a666f72206b657920696e207075626c69634b657973207b0a616363742e6164645075626c69634b6579286b65792e6465636f64654865782829290a7d0a7d0a7df8cbb8c97b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a226638343762383430393434383861373935613037373030633666623833653036366366353764666438376639326365373063626338316362336264336665613264663762363730373362373065333662343466333537386234336436346433666161326538653431356566366332623566653433393064356137386532333835383163366534626338316666383166663830227d5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "01eef2d0494448554177612e63026256258339230cbc6931ded78d6149443c6173437265617465204163636f756e740001030105507562206b65790000537472696e670003", - "hash": "eef2d0494448554177612e63026256258339230cbc6931ded78d6149443c6173" - }, - { - "title": "Create Account Transaction - Valid Envelope - Single Account Key #46", - "valid": true, - "chainID": "Mainnet", - "payloadMessage": { - "script": "transaction(publicKeys: [String]) {\nprepare(signer: AuthAccount) {\nlet acct = AuthAccount(payer: signer)\nfor key in publicKeys {\nacct.addPublicKey(key.decodeHex())\n}\n}\n}", - "arguments": [ - { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f849b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc81ff81ff8201f4" - } - ] - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [ - { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sig": "f7225388c1d69d57e6251c9fda50cbbf9e05131e5adb81e5aa0422402f048162" - } - ] - }, - "envelopeMessage": { - "script": "transaction(publicKeys: [String]) {\nprepare(signer: AuthAccount) {\nlet acct = AuthAccount(payer: signer)\nfor key in publicKeys {\nacct.addPublicKey(key.decodeHex())\n}\n}\n}", - "arguments": [ - { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f849b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc81ff81ff8201f4" - } - ] - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f901bcb8a97472616e73616374696f6e287075626c69634b6579733a205b537472696e675d29207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a6c65742061636374203d20417574684163636f756e742870617965723a207369676e6572290a666f72206b657920696e207075626c69634b657973207b0a616363742e6164645075626c69634b6579286b65792e6465636f64654865782829290a7d0a7d0a7df8cfb8cd7b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a22663834396238343039343438386137393561303737303063366662383365303636636635376466643837663932636537306362633831636233626433666561326466376236373037336237306533366234346633353738623433643634643366616132653865343135656636633262356665343339306435613738653233383538316336653462633831666638316666383230316634227d5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f901c0f901bcb8a97472616e73616374696f6e287075626c69634b6579733a205b537472696e675d29207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a6c65742061636374203d20417574684163636f756e742870617965723a207369676e6572290a666f72206b657920696e207075626c69634b657973207b0a616363742e6164645075626c69634b6579286b65792e6465636f64654865782829290a7d0a7d0a7df8cfb8cd7b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a22663834396238343039343438386137393561303737303063366662383365303636636635376466643837663932636537306362633831636233626433666561326466376236373037336237306533366234346633353738623433643634643366616132653865343135656636633262356665343339306435613738653233383538316336653462633831666638316666383230316634227d5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "01eef2d0494448554177612e63026256258339230cbc6931ded78d6149443c6173437265617465204163636f756e740001030105507562206b65790000537472696e670003", - "hash": "eef2d0494448554177612e63026256258339230cbc6931ded78d6149443c6173" - }, - { - "title": "Create Account Transaction - Valid Envelope - Single Account Key #47", - "valid": true, - "chainID": "Mainnet", - "payloadMessage": { - "script": "transaction(publicKeys: [String]) {\nprepare(signer: AuthAccount) {\nlet acct = AuthAccount(payer: signer)\nfor key in publicKeys {\nacct.addPublicKey(key.decodeHex())\n}\n}\n}", - "arguments": [ - { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f849b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc81ff81ff8203e8" - } - ] - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [ - { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sig": "f7225388c1d69d57e6251c9fda50cbbf9e05131e5adb81e5aa0422402f048162" - } - ] - }, - "envelopeMessage": { - "script": "transaction(publicKeys: [String]) {\nprepare(signer: AuthAccount) {\nlet acct = AuthAccount(payer: signer)\nfor key in publicKeys {\nacct.addPublicKey(key.decodeHex())\n}\n}\n}", - "arguments": [ - { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f849b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc81ff81ff8203e8" - } - ] - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f901bcb8a97472616e73616374696f6e287075626c69634b6579733a205b537472696e675d29207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a6c65742061636374203d20417574684163636f756e742870617965723a207369676e6572290a666f72206b657920696e207075626c69634b657973207b0a616363742e6164645075626c69634b6579286b65792e6465636f64654865782829290a7d0a7d0a7df8cfb8cd7b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a22663834396238343039343438386137393561303737303063366662383365303636636635376466643837663932636537306362633831636233626433666561326466376236373037336237306533366234346633353738623433643634643366616132653865343135656636633262356665343339306435613738653233383538316336653462633831666638316666383230336538227d5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f901c0f901bcb8a97472616e73616374696f6e287075626c69634b6579733a205b537472696e675d29207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a6c65742061636374203d20417574684163636f756e742870617965723a207369676e6572290a666f72206b657920696e207075626c69634b657973207b0a616363742e6164645075626c69634b6579286b65792e6465636f64654865782829290a7d0a7d0a7df8cfb8cd7b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a22663834396238343039343438386137393561303737303063366662383365303636636635376466643837663932636537306362633831636233626433666561326466376236373037336237306533366234346633353738623433643634643366616132653865343135656636633262356665343339306435613738653233383538316336653462633831666638316666383230336538227d5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "01eef2d0494448554177612e63026256258339230cbc6931ded78d6149443c6173437265617465204163636f756e740001030105507562206b65790000537472696e670003", - "hash": "eef2d0494448554177612e63026256258339230cbc6931ded78d6149443c6173" - }, - { - "title": "Create Account Transaction - Valid Envelope - Multiple Account Keys #1", - "valid": true, - "chainID": "Mainnet", - "payloadMessage": { - "script": "transaction(publicKeys: [String]) {\nprepare(signer: AuthAccount) {\nlet acct = AuthAccount(payer: signer)\nfor key in publicKeys {\nacct.addPublicKey(key.decodeHex())\n}\n}\n}", - "arguments": [ - { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f845b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc808080" - } - ] - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [ - { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sig": "f7225388c1d69d57e6251c9fda50cbbf9e05131e5adb81e5aa0422402f048162" - } - ] - }, - "envelopeMessage": { - "script": "transaction(publicKeys: [String]) {\nprepare(signer: AuthAccount) {\nlet acct = AuthAccount(payer: signer)\nfor key in publicKeys {\nacct.addPublicKey(key.decodeHex())\n}\n}\n}", - "arguments": [ - { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f845b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc808080" - } - ] - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f901b4b8a97472616e73616374696f6e287075626c69634b6579733a205b537472696e675d29207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a6c65742061636374203d20417574684163636f756e742870617965723a207369676e6572290a666f72206b657920696e207075626c69634b657973207b0a616363742e6164645075626c69634b6579286b65792e6465636f64654865782829290a7d0a7d0a7df8c7b8c57b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303934343838613739356130373730306336666238336530363663663537646664383766393263653730636263383163623362643366656132646637623637303733623730653336623434663335373862343364363464336661613265386534313565663663326235666534333930643561373865323338353831633665346263383038303830227d5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f901b8f901b4b8a97472616e73616374696f6e287075626c69634b6579733a205b537472696e675d29207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a6c65742061636374203d20417574684163636f756e742870617965723a207369676e6572290a666f72206b657920696e207075626c69634b657973207b0a616363742e6164645075626c69634b6579286b65792e6465636f64654865782829290a7d0a7d0a7df8c7b8c57b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303934343838613739356130373730306336666238336530363663663537646664383766393263653730636263383163623362643366656132646637623637303733623730653336623434663335373862343364363464336661613265386534313565663663326235666534333930643561373865323338353831633665346263383038303830227d5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "01eef2d0494448554177612e63026256258339230cbc6931ded78d6149443c6173437265617465204163636f756e740001030105507562206b65790000537472696e670003", - "hash": "eef2d0494448554177612e63026256258339230cbc6931ded78d6149443c6173" - }, - { - "title": "Create Account Transaction - Valid Envelope - Multiple Account Keys #2", - "valid": true, - "chainID": "Mainnet", - "payloadMessage": { - "script": "transaction(publicKeys: [String]) {\nprepare(signer: AuthAccount) {\nlet acct = AuthAccount(payer: signer)\nfor key in publicKeys {\nacct.addPublicKey(key.decodeHex())\n}\n}\n}", - "arguments": [ - { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f845b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc808080" - }, - { - "type": "String", - "value": "f847b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc80808201f4" - } - ] - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [ - { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sig": "f7225388c1d69d57e6251c9fda50cbbf9e05131e5adb81e5aa0422402f048162" - } - ] - }, - "envelopeMessage": { - "script": "transaction(publicKeys: [String]) {\nprepare(signer: AuthAccount) {\nlet acct = AuthAccount(payer: signer)\nfor key in publicKeys {\nacct.addPublicKey(key.decodeHex())\n}\n}\n}", - "arguments": [ - { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f845b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc808080" - }, - { - "type": "String", - "value": "f847b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc80808201f4" - } - ] - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f90265b8a97472616e73616374696f6e287075626c69634b6579733a205b537472696e675d29207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a6c65742061636374203d20417574684163636f756e742870617965723a207369676e6572290a666f72206b657920696e207075626c69634b657973207b0a616363742e6164645075626c69634b6579286b65792e6465636f64654865782829290a7d0a7d0a7df90177b901747b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303934343838613739356130373730306336666238336530363663663537646664383766393263653730636263383163623362643366656132646637623637303733623730653336623434663335373862343364363464336661613265386534313565663663326235666534333930643561373865323338353831633665346263383038303830227d2c7b2274797065223a22537472696e67222c2276616c7565223a226638343762383430393434383861373935613037373030633666623833653036366366353764666438376639326365373063626338316362336264336665613264663762363730373362373065333662343466333537386234336436346433666161326538653431356566366332623566653433393064356137386532333835383163366534626338303830383230316634227d5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f90269f90265b8a97472616e73616374696f6e287075626c69634b6579733a205b537472696e675d29207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a6c65742061636374203d20417574684163636f756e742870617965723a207369676e6572290a666f72206b657920696e207075626c69634b657973207b0a616363742e6164645075626c69634b6579286b65792e6465636f64654865782829290a7d0a7d0a7df90177b901747b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303934343838613739356130373730306336666238336530363663663537646664383766393263653730636263383163623362643366656132646637623637303733623730653336623434663335373862343364363464336661613265386534313565663663326235666534333930643561373865323338353831633665346263383038303830227d2c7b2274797065223a22537472696e67222c2276616c7565223a226638343762383430393434383861373935613037373030633666623833653036366366353764666438376639326365373063626338316362336264336665613264663762363730373362373065333662343466333537386234336436346433666161326538653431356566366332623566653433393064356137386532333835383163366534626338303830383230316634227d5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "01eef2d0494448554177612e63026256258339230cbc6931ded78d6149443c6173437265617465204163636f756e740001030105507562206b65790000537472696e670003", - "hash": "eef2d0494448554177612e63026256258339230cbc6931ded78d6149443c6173" - }, - { - "title": "Create Account Transaction - Valid Envelope - Multiple Account Keys #3", - "valid": true, - "chainID": "Mainnet", - "payloadMessage": { - "script": "transaction(publicKeys: [String]) {\nprepare(signer: AuthAccount) {\nlet acct = AuthAccount(payer: signer)\nfor key in publicKeys {\nacct.addPublicKey(key.decodeHex())\n}\n}\n}", - "arguments": [ - { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f845b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc808080" - }, - { - "type": "String", - "value": "f847b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc80808201f4" - }, - { - "type": "String", - "value": "f847b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc80808203e8" - } - ] - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [ - { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sig": "f7225388c1d69d57e6251c9fda50cbbf9e05131e5adb81e5aa0422402f048162" - } - ] - }, - "envelopeMessage": { - "script": "transaction(publicKeys: [String]) {\nprepare(signer: AuthAccount) {\nlet acct = AuthAccount(payer: signer)\nfor key in publicKeys {\nacct.addPublicKey(key.decodeHex())\n}\n}\n}", - "arguments": [ - { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f845b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc808080" - }, - { - "type": "String", - "value": "f847b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc80808201f4" - }, - { - "type": "String", - "value": "f847b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc80808203e8" - } - ] - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f90314b8a97472616e73616374696f6e287075626c69634b6579733a205b537472696e675d29207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a6c65742061636374203d20417574684163636f756e742870617965723a207369676e6572290a666f72206b657920696e207075626c69634b657973207b0a616363742e6164645075626c69634b6579286b65792e6465636f64654865782829290a7d0a7d0a7df90226b902237b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303934343838613739356130373730306336666238336530363663663537646664383766393263653730636263383163623362643366656132646637623637303733623730653336623434663335373862343364363464336661613265386534313565663663326235666534333930643561373865323338353831633665346263383038303830227d2c7b2274797065223a22537472696e67222c2276616c7565223a226638343762383430393434383861373935613037373030633666623833653036366366353764666438376639326365373063626338316362336264336665613264663762363730373362373065333662343466333537386234336436346433666161326538653431356566366332623566653433393064356137386532333835383163366534626338303830383230316634227d2c7b2274797065223a22537472696e67222c2276616c7565223a226638343762383430393434383861373935613037373030633666623833653036366366353764666438376639326365373063626338316362336264336665613264663762363730373362373065333662343466333537386234336436346433666161326538653431356566366332623566653433393064356137386532333835383163366534626338303830383230336538227d5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f90318f90314b8a97472616e73616374696f6e287075626c69634b6579733a205b537472696e675d29207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a6c65742061636374203d20417574684163636f756e742870617965723a207369676e6572290a666f72206b657920696e207075626c69634b657973207b0a616363742e6164645075626c69634b6579286b65792e6465636f64654865782829290a7d0a7d0a7df90226b902237b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303934343838613739356130373730306336666238336530363663663537646664383766393263653730636263383163623362643366656132646637623637303733623730653336623434663335373862343364363464336661613265386534313565663663326235666534333930643561373865323338353831633665346263383038303830227d2c7b2274797065223a22537472696e67222c2276616c7565223a226638343762383430393434383861373935613037373030633666623833653036366366353764666438376639326365373063626338316362336264336665613264663762363730373362373065333662343466333537386234336436346433666161326538653431356566366332623566653433393064356137386532333835383163366534626338303830383230316634227d2c7b2274797065223a22537472696e67222c2276616c7565223a226638343762383430393434383861373935613037373030633666623833653036366366353764666438376639326365373063626338316362336264336665613264663762363730373362373065333662343466333537386234336436346433666161326538653431356566366332623566653433393064356137386532333835383163366534626338303830383230336538227d5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "01eef2d0494448554177612e63026256258339230cbc6931ded78d6149443c6173437265617465204163636f756e740001030105507562206b65790000537472696e670003", - "hash": "eef2d0494448554177612e63026256258339230cbc6931ded78d6149443c6173" - }, - { - "title": "Create Account Transaction - Valid Envelope - Multiple Account Keys #4", - "valid": true, - "chainID": "Mainnet", - "payloadMessage": { - "script": "transaction(publicKeys: [String]) {\nprepare(signer: AuthAccount) {\nlet acct = AuthAccount(payer: signer)\nfor key in publicKeys {\nacct.addPublicKey(key.decodeHex())\n}\n}\n}", - "arguments": [ - { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f845b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc808080" - }, - { - "type": "String", - "value": "f847b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc80808201f4" - }, - { - "type": "String", - "value": "f847b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc80808203e8" - }, - { - "type": "String", - "value": "f845b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc800180" - } - ] - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [ - { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sig": "f7225388c1d69d57e6251c9fda50cbbf9e05131e5adb81e5aa0422402f048162" - } - ] - }, - "envelopeMessage": { - "script": "transaction(publicKeys: [String]) {\nprepare(signer: AuthAccount) {\nlet acct = AuthAccount(payer: signer)\nfor key in publicKeys {\nacct.addPublicKey(key.decodeHex())\n}\n}\n}", - "arguments": [ - { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f845b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc808080" - }, - { - "type": "String", - "value": "f847b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc80808201f4" - }, - { - "type": "String", - "value": "f847b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc80808203e8" - }, - { - "type": "String", - "value": "f845b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc800180" - } - ] - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f903bfb8a97472616e73616374696f6e287075626c69634b6579733a205b537472696e675d29207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a6c65742061636374203d20417574684163636f756e742870617965723a207369676e6572290a666f72206b657920696e207075626c69634b657973207b0a616363742e6164645075626c69634b6579286b65792e6465636f64654865782829290a7d0a7d0a7df902d1b902ce7b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303934343838613739356130373730306336666238336530363663663537646664383766393263653730636263383163623362643366656132646637623637303733623730653336623434663335373862343364363464336661613265386534313565663663326235666534333930643561373865323338353831633665346263383038303830227d2c7b2274797065223a22537472696e67222c2276616c7565223a226638343762383430393434383861373935613037373030633666623833653036366366353764666438376639326365373063626338316362336264336665613264663762363730373362373065333662343466333537386234336436346433666161326538653431356566366332623566653433393064356137386532333835383163366534626338303830383230316634227d2c7b2274797065223a22537472696e67222c2276616c7565223a226638343762383430393434383861373935613037373030633666623833653036366366353764666438376639326365373063626338316362336264336665613264663762363730373362373065333662343466333537386234336436346433666161326538653431356566366332623566653433393064356137386532333835383163366534626338303830383230336538227d2c7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303934343838613739356130373730306336666238336530363663663537646664383766393263653730636263383163623362643366656132646637623637303733623730653336623434663335373862343364363464336661613265386534313565663663326235666534333930643561373865323338353831633665346263383030313830227d5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f903c3f903bfb8a97472616e73616374696f6e287075626c69634b6579733a205b537472696e675d29207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a6c65742061636374203d20417574684163636f756e742870617965723a207369676e6572290a666f72206b657920696e207075626c69634b657973207b0a616363742e6164645075626c69634b6579286b65792e6465636f64654865782829290a7d0a7d0a7df902d1b902ce7b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303934343838613739356130373730306336666238336530363663663537646664383766393263653730636263383163623362643366656132646637623637303733623730653336623434663335373862343364363464336661613265386534313565663663326235666534333930643561373865323338353831633665346263383038303830227d2c7b2274797065223a22537472696e67222c2276616c7565223a226638343762383430393434383861373935613037373030633666623833653036366366353764666438376639326365373063626338316362336264336665613264663762363730373362373065333662343466333537386234336436346433666161326538653431356566366332623566653433393064356137386532333835383163366534626338303830383230316634227d2c7b2274797065223a22537472696e67222c2276616c7565223a226638343762383430393434383861373935613037373030633666623833653036366366353764666438376639326365373063626338316362336264336665613264663762363730373362373065333662343466333537386234336436346433666161326538653431356566366332623566653433393064356137386532333835383163366534626338303830383230336538227d2c7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303934343838613739356130373730306336666238336530363663663537646664383766393263653730636263383163623362643366656132646637623637303733623730653336623434663335373862343364363464336661613265386534313565663663326235666534333930643561373865323338353831633665346263383030313830227d5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "01eef2d0494448554177612e63026256258339230cbc6931ded78d6149443c6173437265617465204163636f756e740001030105507562206b65790000537472696e670003", - "hash": "eef2d0494448554177612e63026256258339230cbc6931ded78d6149443c6173" - }, - { - "title": "Create Account Transaction - Valid Envelope - Multiple Account Keys #5", - "valid": true, - "chainID": "Mainnet", - "payloadMessage": { - "script": "transaction(publicKeys: [String]) {\nprepare(signer: AuthAccount) {\nlet acct = AuthAccount(payer: signer)\nfor key in publicKeys {\nacct.addPublicKey(key.decodeHex())\n}\n}\n}", - "arguments": [ - { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f845b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc808080" - }, - { - "type": "String", - "value": "f847b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc80808201f4" - }, - { - "type": "String", - "value": "f847b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc80808203e8" - }, - { - "type": "String", - "value": "f845b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc800180" - }, - { - "type": "String", - "value": "f847b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc80018201f4" - } - ] - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [ - { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sig": "f7225388c1d69d57e6251c9fda50cbbf9e05131e5adb81e5aa0422402f048162" - } - ] - }, - "envelopeMessage": { - "script": "transaction(publicKeys: [String]) {\nprepare(signer: AuthAccount) {\nlet acct = AuthAccount(payer: signer)\nfor key in publicKeys {\nacct.addPublicKey(key.decodeHex())\n}\n}\n}", - "arguments": [ - { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f845b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc808080" - }, - { - "type": "String", - "value": "f847b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc80808201f4" - }, - { - "type": "String", - "value": "f847b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc80808203e8" - }, - { - "type": "String", - "value": "f845b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc800180" - }, - { - "type": "String", - "value": "f847b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc80018201f4" - } - ] - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f9046eb8a97472616e73616374696f6e287075626c69634b6579733a205b537472696e675d29207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a6c65742061636374203d20417574684163636f756e742870617965723a207369676e6572290a666f72206b657920696e207075626c69634b657973207b0a616363742e6164645075626c69634b6579286b65792e6465636f64654865782829290a7d0a7d0a7df90380b9037d7b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303934343838613739356130373730306336666238336530363663663537646664383766393263653730636263383163623362643366656132646637623637303733623730653336623434663335373862343364363464336661613265386534313565663663326235666534333930643561373865323338353831633665346263383038303830227d2c7b2274797065223a22537472696e67222c2276616c7565223a226638343762383430393434383861373935613037373030633666623833653036366366353764666438376639326365373063626338316362336264336665613264663762363730373362373065333662343466333537386234336436346433666161326538653431356566366332623566653433393064356137386532333835383163366534626338303830383230316634227d2c7b2274797065223a22537472696e67222c2276616c7565223a226638343762383430393434383861373935613037373030633666623833653036366366353764666438376639326365373063626338316362336264336665613264663762363730373362373065333662343466333537386234336436346433666161326538653431356566366332623566653433393064356137386532333835383163366534626338303830383230336538227d2c7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303934343838613739356130373730306336666238336530363663663537646664383766393263653730636263383163623362643366656132646637623637303733623730653336623434663335373862343364363464336661613265386534313565663663326235666534333930643561373865323338353831633665346263383030313830227d2c7b2274797065223a22537472696e67222c2276616c7565223a226638343762383430393434383861373935613037373030633666623833653036366366353764666438376639326365373063626338316362336264336665613264663762363730373362373065333662343466333537386234336436346433666161326538653431356566366332623566653433393064356137386532333835383163366534626338303031383230316634227d5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f90472f9046eb8a97472616e73616374696f6e287075626c69634b6579733a205b537472696e675d29207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a6c65742061636374203d20417574684163636f756e742870617965723a207369676e6572290a666f72206b657920696e207075626c69634b657973207b0a616363742e6164645075626c69634b6579286b65792e6465636f64654865782829290a7d0a7d0a7df90380b9037d7b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303934343838613739356130373730306336666238336530363663663537646664383766393263653730636263383163623362643366656132646637623637303733623730653336623434663335373862343364363464336661613265386534313565663663326235666534333930643561373865323338353831633665346263383038303830227d2c7b2274797065223a22537472696e67222c2276616c7565223a226638343762383430393434383861373935613037373030633666623833653036366366353764666438376639326365373063626338316362336264336665613264663762363730373362373065333662343466333537386234336436346433666161326538653431356566366332623566653433393064356137386532333835383163366534626338303830383230316634227d2c7b2274797065223a22537472696e67222c2276616c7565223a226638343762383430393434383861373935613037373030633666623833653036366366353764666438376639326365373063626338316362336264336665613264663762363730373362373065333662343466333537386234336436346433666161326538653431356566366332623566653433393064356137386532333835383163366534626338303830383230336538227d2c7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303934343838613739356130373730306336666238336530363663663537646664383766393263653730636263383163623362643366656132646637623637303733623730653336623434663335373862343364363464336661613265386534313565663663326235666534333930643561373865323338353831633665346263383030313830227d2c7b2274797065223a22537472696e67222c2276616c7565223a226638343762383430393434383861373935613037373030633666623833653036366366353764666438376639326365373063626338316362336264336665613264663762363730373362373065333662343466333537386234336436346433666161326538653431356566366332623566653433393064356137386532333835383163366534626338303031383230316634227d5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "01eef2d0494448554177612e63026256258339230cbc6931ded78d6149443c6173437265617465204163636f756e740001030105507562206b65790000537472696e670003", - "hash": "eef2d0494448554177612e63026256258339230cbc6931ded78d6149443c6173" - }, - { - "title": "Add New Key Transaction - Valid Envelope - Valid Account Key 0", - "valid": true, - "chainID": "Mainnet", - "payloadMessage": { - "script": "transaction(publicKey: String) {\nprepare(signer: AuthAccount) {\nsigner.addPublicKey(publicKey.decodeHex())\n}\n}", - "arguments": [ - { - "type": "String", - "value": "f845b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc808080" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [ - { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sig": "f7225388c1d69d57e6251c9fda50cbbf9e05131e5adb81e5aa0422402f048162" - } - ] - }, - "envelopeMessage": { - "script": "transaction(publicKey: String) {\nprepare(signer: AuthAccount) {\nsigner.addPublicKey(publicKey.decodeHex())\n}\n}", - "arguments": [ - { - "type": "String", - "value": "f845b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc808080" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f9015eb86e7472616e73616374696f6e287075626c69634b65793a20537472696e6729207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a7369676e65722e6164645075626c69634b6579287075626c69634b65792e6465636f64654865782829290a7d0a7df8acb8aa7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303934343838613739356130373730306336666238336530363663663537646664383766393263653730636263383163623362643366656132646637623637303733623730653336623434663335373862343364363464336661613265386534313565663663326235666534333930643561373865323338353831633665346263383038303830227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f90162f9015eb86e7472616e73616374696f6e287075626c69634b65793a20537472696e6729207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a7369676e65722e6164645075626c69634b6579287075626c69634b65792e6465636f64654865782829290a7d0a7df8acb8aa7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303934343838613739356130373730306336666238336530363663663537646664383766393263653730636263383163623362643366656132646637623637303733623730653336623434663335373862343364363464336661613265386534313565663663326235666534333930643561373865323338353831633665346263383038303830227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "01595c86561441b32b2b91ee03f9e10ca6efa7b41bcc994f51317ec0aa9d8f8a42416464204e6577204b6579000101507562206b65790000537472696e670003", - "hash": "595c86561441b32b2b91ee03f9e10ca6efa7b41bcc994f51317ec0aa9d8f8a42" - }, - { - "title": "Add New Key Transaction - Valid Envelope - Valid Account Key 1", - "valid": true, - "chainID": "Mainnet", - "payloadMessage": { - "script": "transaction(publicKey: String) {\nprepare(signer: AuthAccount) {\nsigner.addPublicKey(publicKey.decodeHex())\n}\n}", - "arguments": [ - { - "type": "String", - "value": "f847b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc80808201f4" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [ - { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sig": "f7225388c1d69d57e6251c9fda50cbbf9e05131e5adb81e5aa0422402f048162" - } - ] - }, - "envelopeMessage": { - "script": "transaction(publicKey: String) {\nprepare(signer: AuthAccount) {\nsigner.addPublicKey(publicKey.decodeHex())\n}\n}", - "arguments": [ - { - "type": "String", - "value": "f847b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc80808201f4" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f90162b86e7472616e73616374696f6e287075626c69634b65793a20537472696e6729207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a7369676e65722e6164645075626c69634b6579287075626c69634b65792e6465636f64654865782829290a7d0a7df8b0b8ae7b2274797065223a22537472696e67222c2276616c7565223a226638343762383430393434383861373935613037373030633666623833653036366366353764666438376639326365373063626338316362336264336665613264663762363730373362373065333662343466333537386234336436346433666161326538653431356566366332623566653433393064356137386532333835383163366534626338303830383230316634227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f90166f90162b86e7472616e73616374696f6e287075626c69634b65793a20537472696e6729207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a7369676e65722e6164645075626c69634b6579287075626c69634b65792e6465636f64654865782829290a7d0a7df8b0b8ae7b2274797065223a22537472696e67222c2276616c7565223a226638343762383430393434383861373935613037373030633666623833653036366366353764666438376639326365373063626338316362336264336665613264663762363730373362373065333662343466333537386234336436346433666161326538653431356566366332623566653433393064356137386532333835383163366534626338303830383230316634227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "01595c86561441b32b2b91ee03f9e10ca6efa7b41bcc994f51317ec0aa9d8f8a42416464204e6577204b6579000101507562206b65790000537472696e670003", - "hash": "595c86561441b32b2b91ee03f9e10ca6efa7b41bcc994f51317ec0aa9d8f8a42" - }, - { - "title": "Add New Key Transaction - Valid Envelope - Valid Account Key 2", - "valid": true, - "chainID": "Mainnet", - "payloadMessage": { - "script": "transaction(publicKey: String) {\nprepare(signer: AuthAccount) {\nsigner.addPublicKey(publicKey.decodeHex())\n}\n}", - "arguments": [ - { - "type": "String", - "value": "f847b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc80808203e8" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [ - { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sig": "f7225388c1d69d57e6251c9fda50cbbf9e05131e5adb81e5aa0422402f048162" - } - ] - }, - "envelopeMessage": { - "script": "transaction(publicKey: String) {\nprepare(signer: AuthAccount) {\nsigner.addPublicKey(publicKey.decodeHex())\n}\n}", - "arguments": [ - { - "type": "String", - "value": "f847b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc80808203e8" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f90162b86e7472616e73616374696f6e287075626c69634b65793a20537472696e6729207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a7369676e65722e6164645075626c69634b6579287075626c69634b65792e6465636f64654865782829290a7d0a7df8b0b8ae7b2274797065223a22537472696e67222c2276616c7565223a226638343762383430393434383861373935613037373030633666623833653036366366353764666438376639326365373063626338316362336264336665613264663762363730373362373065333662343466333537386234336436346433666161326538653431356566366332623566653433393064356137386532333835383163366534626338303830383230336538227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f90166f90162b86e7472616e73616374696f6e287075626c69634b65793a20537472696e6729207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a7369676e65722e6164645075626c69634b6579287075626c69634b65792e6465636f64654865782829290a7d0a7df8b0b8ae7b2274797065223a22537472696e67222c2276616c7565223a226638343762383430393434383861373935613037373030633666623833653036366366353764666438376639326365373063626338316362336264336665613264663762363730373362373065333662343466333537386234336436346433666161326538653431356566366332623566653433393064356137386532333835383163366534626338303830383230336538227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "01595c86561441b32b2b91ee03f9e10ca6efa7b41bcc994f51317ec0aa9d8f8a42416464204e6577204b6579000101507562206b65790000537472696e670003", - "hash": "595c86561441b32b2b91ee03f9e10ca6efa7b41bcc994f51317ec0aa9d8f8a42" - }, - { - "title": "Add New Key Transaction - Valid Envelope - Valid Account Key 3", - "valid": true, - "chainID": "Mainnet", - "payloadMessage": { - "script": "transaction(publicKey: String) {\nprepare(signer: AuthAccount) {\nsigner.addPublicKey(publicKey.decodeHex())\n}\n}", - "arguments": [ - { - "type": "String", - "value": "f845b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc800180" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [ - { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sig": "f7225388c1d69d57e6251c9fda50cbbf9e05131e5adb81e5aa0422402f048162" - } - ] - }, - "envelopeMessage": { - "script": "transaction(publicKey: String) {\nprepare(signer: AuthAccount) {\nsigner.addPublicKey(publicKey.decodeHex())\n}\n}", - "arguments": [ - { - "type": "String", - "value": "f845b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc800180" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f9015eb86e7472616e73616374696f6e287075626c69634b65793a20537472696e6729207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a7369676e65722e6164645075626c69634b6579287075626c69634b65792e6465636f64654865782829290a7d0a7df8acb8aa7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303934343838613739356130373730306336666238336530363663663537646664383766393263653730636263383163623362643366656132646637623637303733623730653336623434663335373862343364363464336661613265386534313565663663326235666534333930643561373865323338353831633665346263383030313830227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f90162f9015eb86e7472616e73616374696f6e287075626c69634b65793a20537472696e6729207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a7369676e65722e6164645075626c69634b6579287075626c69634b65792e6465636f64654865782829290a7d0a7df8acb8aa7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303934343838613739356130373730306336666238336530363663663537646664383766393263653730636263383163623362643366656132646637623637303733623730653336623434663335373862343364363464336661613265386534313565663663326235666534333930643561373865323338353831633665346263383030313830227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "01595c86561441b32b2b91ee03f9e10ca6efa7b41bcc994f51317ec0aa9d8f8a42416464204e6577204b6579000101507562206b65790000537472696e670003", - "hash": "595c86561441b32b2b91ee03f9e10ca6efa7b41bcc994f51317ec0aa9d8f8a42" - }, - { - "title": "Add New Key Transaction - Valid Envelope - Valid Account Key 4", - "valid": true, - "chainID": "Mainnet", - "payloadMessage": { - "script": "transaction(publicKey: String) {\nprepare(signer: AuthAccount) {\nsigner.addPublicKey(publicKey.decodeHex())\n}\n}", - "arguments": [ - { - "type": "String", - "value": "f847b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc80018201f4" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [ - { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sig": "f7225388c1d69d57e6251c9fda50cbbf9e05131e5adb81e5aa0422402f048162" - } - ] - }, - "envelopeMessage": { - "script": "transaction(publicKey: String) {\nprepare(signer: AuthAccount) {\nsigner.addPublicKey(publicKey.decodeHex())\n}\n}", - "arguments": [ - { - "type": "String", - "value": "f847b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc80018201f4" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f90162b86e7472616e73616374696f6e287075626c69634b65793a20537472696e6729207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a7369676e65722e6164645075626c69634b6579287075626c69634b65792e6465636f64654865782829290a7d0a7df8b0b8ae7b2274797065223a22537472696e67222c2276616c7565223a226638343762383430393434383861373935613037373030633666623833653036366366353764666438376639326365373063626338316362336264336665613264663762363730373362373065333662343466333537386234336436346433666161326538653431356566366332623566653433393064356137386532333835383163366534626338303031383230316634227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f90166f90162b86e7472616e73616374696f6e287075626c69634b65793a20537472696e6729207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a7369676e65722e6164645075626c69634b6579287075626c69634b65792e6465636f64654865782829290a7d0a7df8b0b8ae7b2274797065223a22537472696e67222c2276616c7565223a226638343762383430393434383861373935613037373030633666623833653036366366353764666438376639326365373063626338316362336264336665613264663762363730373362373065333662343466333537386234336436346433666161326538653431356566366332623566653433393064356137386532333835383163366534626338303031383230316634227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "01595c86561441b32b2b91ee03f9e10ca6efa7b41bcc994f51317ec0aa9d8f8a42416464204e6577204b6579000101507562206b65790000537472696e670003", - "hash": "595c86561441b32b2b91ee03f9e10ca6efa7b41bcc994f51317ec0aa9d8f8a42" - }, - { - "title": "Add New Key Transaction - Valid Envelope - Valid Account Key 5", - "valid": true, - "chainID": "Mainnet", - "payloadMessage": { - "script": "transaction(publicKey: String) {\nprepare(signer: AuthAccount) {\nsigner.addPublicKey(publicKey.decodeHex())\n}\n}", - "arguments": [ - { - "type": "String", - "value": "f847b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc80018203e8" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [ - { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sig": "f7225388c1d69d57e6251c9fda50cbbf9e05131e5adb81e5aa0422402f048162" - } - ] - }, - "envelopeMessage": { - "script": "transaction(publicKey: String) {\nprepare(signer: AuthAccount) {\nsigner.addPublicKey(publicKey.decodeHex())\n}\n}", - "arguments": [ - { - "type": "String", - "value": "f847b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc80018203e8" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f90162b86e7472616e73616374696f6e287075626c69634b65793a20537472696e6729207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a7369676e65722e6164645075626c69634b6579287075626c69634b65792e6465636f64654865782829290a7d0a7df8b0b8ae7b2274797065223a22537472696e67222c2276616c7565223a226638343762383430393434383861373935613037373030633666623833653036366366353764666438376639326365373063626338316362336264336665613264663762363730373362373065333662343466333537386234336436346433666161326538653431356566366332623566653433393064356137386532333835383163366534626338303031383230336538227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f90166f90162b86e7472616e73616374696f6e287075626c69634b65793a20537472696e6729207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a7369676e65722e6164645075626c69634b6579287075626c69634b65792e6465636f64654865782829290a7d0a7df8b0b8ae7b2274797065223a22537472696e67222c2276616c7565223a226638343762383430393434383861373935613037373030633666623833653036366366353764666438376639326365373063626338316362336264336665613264663762363730373362373065333662343466333537386234336436346433666161326538653431356566366332623566653433393064356137386532333835383163366534626338303031383230336538227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "01595c86561441b32b2b91ee03f9e10ca6efa7b41bcc994f51317ec0aa9d8f8a42416464204e6577204b6579000101507562206b65790000537472696e670003", - "hash": "595c86561441b32b2b91ee03f9e10ca6efa7b41bcc994f51317ec0aa9d8f8a42" - }, - { - "title": "Add New Key Transaction - Valid Envelope - Valid Account Key 6", - "valid": true, - "chainID": "Mainnet", - "payloadMessage": { - "script": "transaction(publicKey: String) {\nprepare(signer: AuthAccount) {\nsigner.addPublicKey(publicKey.decodeHex())\n}\n}", - "arguments": [ - { - "type": "String", - "value": "f845b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc800380" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [ - { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sig": "f7225388c1d69d57e6251c9fda50cbbf9e05131e5adb81e5aa0422402f048162" - } - ] - }, - "envelopeMessage": { - "script": "transaction(publicKey: String) {\nprepare(signer: AuthAccount) {\nsigner.addPublicKey(publicKey.decodeHex())\n}\n}", - "arguments": [ - { - "type": "String", - "value": "f845b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc800380" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f9015eb86e7472616e73616374696f6e287075626c69634b65793a20537472696e6729207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a7369676e65722e6164645075626c69634b6579287075626c69634b65792e6465636f64654865782829290a7d0a7df8acb8aa7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303934343838613739356130373730306336666238336530363663663537646664383766393263653730636263383163623362643366656132646637623637303733623730653336623434663335373862343364363464336661613265386534313565663663326235666534333930643561373865323338353831633665346263383030333830227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f90162f9015eb86e7472616e73616374696f6e287075626c69634b65793a20537472696e6729207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a7369676e65722e6164645075626c69634b6579287075626c69634b65792e6465636f64654865782829290a7d0a7df8acb8aa7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303934343838613739356130373730306336666238336530363663663537646664383766393263653730636263383163623362643366656132646637623637303733623730653336623434663335373862343364363464336661613265386534313565663663326235666534333930643561373865323338353831633665346263383030333830227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "01595c86561441b32b2b91ee03f9e10ca6efa7b41bcc994f51317ec0aa9d8f8a42416464204e6577204b6579000101507562206b65790000537472696e670003", - "hash": "595c86561441b32b2b91ee03f9e10ca6efa7b41bcc994f51317ec0aa9d8f8a42" - }, - { - "title": "Add New Key Transaction - Valid Envelope - Valid Account Key 7", - "valid": true, - "chainID": "Mainnet", - "payloadMessage": { - "script": "transaction(publicKey: String) {\nprepare(signer: AuthAccount) {\nsigner.addPublicKey(publicKey.decodeHex())\n}\n}", - "arguments": [ - { - "type": "String", - "value": "f847b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc80038201f4" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [ - { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sig": "f7225388c1d69d57e6251c9fda50cbbf9e05131e5adb81e5aa0422402f048162" - } - ] - }, - "envelopeMessage": { - "script": "transaction(publicKey: String) {\nprepare(signer: AuthAccount) {\nsigner.addPublicKey(publicKey.decodeHex())\n}\n}", - "arguments": [ - { - "type": "String", - "value": "f847b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc80038201f4" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f90162b86e7472616e73616374696f6e287075626c69634b65793a20537472696e6729207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a7369676e65722e6164645075626c69634b6579287075626c69634b65792e6465636f64654865782829290a7d0a7df8b0b8ae7b2274797065223a22537472696e67222c2276616c7565223a226638343762383430393434383861373935613037373030633666623833653036366366353764666438376639326365373063626338316362336264336665613264663762363730373362373065333662343466333537386234336436346433666161326538653431356566366332623566653433393064356137386532333835383163366534626338303033383230316634227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f90166f90162b86e7472616e73616374696f6e287075626c69634b65793a20537472696e6729207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a7369676e65722e6164645075626c69634b6579287075626c69634b65792e6465636f64654865782829290a7d0a7df8b0b8ae7b2274797065223a22537472696e67222c2276616c7565223a226638343762383430393434383861373935613037373030633666623833653036366366353764666438376639326365373063626338316362336264336665613264663762363730373362373065333662343466333537386234336436346433666161326538653431356566366332623566653433393064356137386532333835383163366534626338303033383230316634227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "01595c86561441b32b2b91ee03f9e10ca6efa7b41bcc994f51317ec0aa9d8f8a42416464204e6577204b6579000101507562206b65790000537472696e670003", - "hash": "595c86561441b32b2b91ee03f9e10ca6efa7b41bcc994f51317ec0aa9d8f8a42" - }, - { - "title": "Add New Key Transaction - Valid Envelope - Valid Account Key 8", - "valid": true, - "chainID": "Mainnet", - "payloadMessage": { - "script": "transaction(publicKey: String) {\nprepare(signer: AuthAccount) {\nsigner.addPublicKey(publicKey.decodeHex())\n}\n}", - "arguments": [ - { - "type": "String", - "value": "f847b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc80038203e8" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [ - { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sig": "f7225388c1d69d57e6251c9fda50cbbf9e05131e5adb81e5aa0422402f048162" - } - ] - }, - "envelopeMessage": { - "script": "transaction(publicKey: String) {\nprepare(signer: AuthAccount) {\nsigner.addPublicKey(publicKey.decodeHex())\n}\n}", - "arguments": [ - { - "type": "String", - "value": "f847b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc80038203e8" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f90162b86e7472616e73616374696f6e287075626c69634b65793a20537472696e6729207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a7369676e65722e6164645075626c69634b6579287075626c69634b65792e6465636f64654865782829290a7d0a7df8b0b8ae7b2274797065223a22537472696e67222c2276616c7565223a226638343762383430393434383861373935613037373030633666623833653036366366353764666438376639326365373063626338316362336264336665613264663762363730373362373065333662343466333537386234336436346433666161326538653431356566366332623566653433393064356137386532333835383163366534626338303033383230336538227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f90166f90162b86e7472616e73616374696f6e287075626c69634b65793a20537472696e6729207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a7369676e65722e6164645075626c69634b6579287075626c69634b65792e6465636f64654865782829290a7d0a7df8b0b8ae7b2274797065223a22537472696e67222c2276616c7565223a226638343762383430393434383861373935613037373030633666623833653036366366353764666438376639326365373063626338316362336264336665613264663762363730373362373065333662343466333537386234336436346433666161326538653431356566366332623566653433393064356137386532333835383163366534626338303033383230336538227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "01595c86561441b32b2b91ee03f9e10ca6efa7b41bcc994f51317ec0aa9d8f8a42416464204e6577204b6579000101507562206b65790000537472696e670003", - "hash": "595c86561441b32b2b91ee03f9e10ca6efa7b41bcc994f51317ec0aa9d8f8a42" - }, - { - "title": "Add New Key Transaction - Valid Envelope - Valid Account Key 9", - "valid": true, - "chainID": "Mainnet", - "payloadMessage": { - "script": "transaction(publicKey: String) {\nprepare(signer: AuthAccount) {\nsigner.addPublicKey(publicKey.decodeHex())\n}\n}", - "arguments": [ - { - "type": "String", - "value": "f846b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc8081ff80" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [ - { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sig": "f7225388c1d69d57e6251c9fda50cbbf9e05131e5adb81e5aa0422402f048162" - } - ] - }, - "envelopeMessage": { - "script": "transaction(publicKey: String) {\nprepare(signer: AuthAccount) {\nsigner.addPublicKey(publicKey.decodeHex())\n}\n}", - "arguments": [ - { - "type": "String", - "value": "f846b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc8081ff80" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f90160b86e7472616e73616374696f6e287075626c69634b65793a20537472696e6729207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a7369676e65722e6164645075626c69634b6579287075626c69634b65792e6465636f64654865782829290a7d0a7df8aeb8ac7b2274797065223a22537472696e67222c2276616c7565223a22663834366238343039343438386137393561303737303063366662383365303636636635376466643837663932636537306362633831636233626433666561326466376236373037336237306533366234346633353738623433643634643366616132653865343135656636633262356665343339306435613738653233383538316336653462633830383166663830227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f90164f90160b86e7472616e73616374696f6e287075626c69634b65793a20537472696e6729207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a7369676e65722e6164645075626c69634b6579287075626c69634b65792e6465636f64654865782829290a7d0a7df8aeb8ac7b2274797065223a22537472696e67222c2276616c7565223a22663834366238343039343438386137393561303737303063366662383365303636636635376466643837663932636537306362633831636233626433666561326466376236373037336237306533366234346633353738623433643634643366616132653865343135656636633262356665343339306435613738653233383538316336653462633830383166663830227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "01595c86561441b32b2b91ee03f9e10ca6efa7b41bcc994f51317ec0aa9d8f8a42416464204e6577204b6579000101507562206b65790000537472696e670003", - "hash": "595c86561441b32b2b91ee03f9e10ca6efa7b41bcc994f51317ec0aa9d8f8a42" - }, - { - "title": "Add New Key Transaction - Valid Envelope - Valid Account Key 10", - "valid": true, - "chainID": "Mainnet", - "payloadMessage": { - "script": "transaction(publicKey: String) {\nprepare(signer: AuthAccount) {\nsigner.addPublicKey(publicKey.decodeHex())\n}\n}", - "arguments": [ - { - "type": "String", - "value": "f848b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc8081ff8201f4" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [ - { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sig": "f7225388c1d69d57e6251c9fda50cbbf9e05131e5adb81e5aa0422402f048162" - } - ] - }, - "envelopeMessage": { - "script": "transaction(publicKey: String) {\nprepare(signer: AuthAccount) {\nsigner.addPublicKey(publicKey.decodeHex())\n}\n}", - "arguments": [ - { - "type": "String", - "value": "f848b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc8081ff8201f4" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f90164b86e7472616e73616374696f6e287075626c69634b65793a20537472696e6729207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a7369676e65722e6164645075626c69634b6579287075626c69634b65792e6465636f64654865782829290a7d0a7df8b2b8b07b2274797065223a22537472696e67222c2276616c7565223a2266383438623834303934343838613739356130373730306336666238336530363663663537646664383766393263653730636263383163623362643366656132646637623637303733623730653336623434663335373862343364363464336661613265386534313565663663326235666534333930643561373865323338353831633665346263383038316666383230316634227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f90168f90164b86e7472616e73616374696f6e287075626c69634b65793a20537472696e6729207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a7369676e65722e6164645075626c69634b6579287075626c69634b65792e6465636f64654865782829290a7d0a7df8b2b8b07b2274797065223a22537472696e67222c2276616c7565223a2266383438623834303934343838613739356130373730306336666238336530363663663537646664383766393263653730636263383163623362643366656132646637623637303733623730653336623434663335373862343364363464336661613265386534313565663663326235666534333930643561373865323338353831633665346263383038316666383230316634227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "01595c86561441b32b2b91ee03f9e10ca6efa7b41bcc994f51317ec0aa9d8f8a42416464204e6577204b6579000101507562206b65790000537472696e670003", - "hash": "595c86561441b32b2b91ee03f9e10ca6efa7b41bcc994f51317ec0aa9d8f8a42" - }, - { - "title": "Add New Key Transaction - Valid Envelope - Valid Account Key 11", - "valid": true, - "chainID": "Mainnet", - "payloadMessage": { - "script": "transaction(publicKey: String) {\nprepare(signer: AuthAccount) {\nsigner.addPublicKey(publicKey.decodeHex())\n}\n}", - "arguments": [ - { - "type": "String", - "value": "f848b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc8081ff8203e8" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [ - { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sig": "f7225388c1d69d57e6251c9fda50cbbf9e05131e5adb81e5aa0422402f048162" - } - ] - }, - "envelopeMessage": { - "script": "transaction(publicKey: String) {\nprepare(signer: AuthAccount) {\nsigner.addPublicKey(publicKey.decodeHex())\n}\n}", - "arguments": [ - { - "type": "String", - "value": "f848b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc8081ff8203e8" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f90164b86e7472616e73616374696f6e287075626c69634b65793a20537472696e6729207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a7369676e65722e6164645075626c69634b6579287075626c69634b65792e6465636f64654865782829290a7d0a7df8b2b8b07b2274797065223a22537472696e67222c2276616c7565223a2266383438623834303934343838613739356130373730306336666238336530363663663537646664383766393263653730636263383163623362643366656132646637623637303733623730653336623434663335373862343364363464336661613265386534313565663663326235666534333930643561373865323338353831633665346263383038316666383230336538227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f90168f90164b86e7472616e73616374696f6e287075626c69634b65793a20537472696e6729207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a7369676e65722e6164645075626c69634b6579287075626c69634b65792e6465636f64654865782829290a7d0a7df8b2b8b07b2274797065223a22537472696e67222c2276616c7565223a2266383438623834303934343838613739356130373730306336666238336530363663663537646664383766393263653730636263383163623362643366656132646637623637303733623730653336623434663335373862343364363464336661613265386534313565663663326235666534333930643561373865323338353831633665346263383038316666383230336538227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "01595c86561441b32b2b91ee03f9e10ca6efa7b41bcc994f51317ec0aa9d8f8a42416464204e6577204b6579000101507562206b65790000537472696e670003", - "hash": "595c86561441b32b2b91ee03f9e10ca6efa7b41bcc994f51317ec0aa9d8f8a42" - }, - { - "title": "Add New Key Transaction - Valid Envelope - Valid Account Key 12", - "valid": true, - "chainID": "Mainnet", - "payloadMessage": { - "script": "transaction(publicKey: String) {\nprepare(signer: AuthAccount) {\nsigner.addPublicKey(publicKey.decodeHex())\n}\n}", - "arguments": [ - { - "type": "String", - "value": "f845b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc028080" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [ - { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sig": "f7225388c1d69d57e6251c9fda50cbbf9e05131e5adb81e5aa0422402f048162" - } - ] - }, - "envelopeMessage": { - "script": "transaction(publicKey: String) {\nprepare(signer: AuthAccount) {\nsigner.addPublicKey(publicKey.decodeHex())\n}\n}", - "arguments": [ - { - "type": "String", - "value": "f845b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc028080" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f9015eb86e7472616e73616374696f6e287075626c69634b65793a20537472696e6729207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a7369676e65722e6164645075626c69634b6579287075626c69634b65792e6465636f64654865782829290a7d0a7df8acb8aa7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303934343838613739356130373730306336666238336530363663663537646664383766393263653730636263383163623362643366656132646637623637303733623730653336623434663335373862343364363464336661613265386534313565663663326235666534333930643561373865323338353831633665346263303238303830227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f90162f9015eb86e7472616e73616374696f6e287075626c69634b65793a20537472696e6729207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a7369676e65722e6164645075626c69634b6579287075626c69634b65792e6465636f64654865782829290a7d0a7df8acb8aa7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303934343838613739356130373730306336666238336530363663663537646664383766393263653730636263383163623362643366656132646637623637303733623730653336623434663335373862343364363464336661613265386534313565663663326235666534333930643561373865323338353831633665346263303238303830227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "01595c86561441b32b2b91ee03f9e10ca6efa7b41bcc994f51317ec0aa9d8f8a42416464204e6577204b6579000101507562206b65790000537472696e670003", - "hash": "595c86561441b32b2b91ee03f9e10ca6efa7b41bcc994f51317ec0aa9d8f8a42" - }, - { - "title": "Add New Key Transaction - Valid Envelope - Valid Account Key 13", - "valid": true, - "chainID": "Mainnet", - "payloadMessage": { - "script": "transaction(publicKey: String) {\nprepare(signer: AuthAccount) {\nsigner.addPublicKey(publicKey.decodeHex())\n}\n}", - "arguments": [ - { - "type": "String", - "value": "f847b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc02808201f4" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [ - { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sig": "f7225388c1d69d57e6251c9fda50cbbf9e05131e5adb81e5aa0422402f048162" - } - ] - }, - "envelopeMessage": { - "script": "transaction(publicKey: String) {\nprepare(signer: AuthAccount) {\nsigner.addPublicKey(publicKey.decodeHex())\n}\n}", - "arguments": [ - { - "type": "String", - "value": "f847b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc02808201f4" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f90162b86e7472616e73616374696f6e287075626c69634b65793a20537472696e6729207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a7369676e65722e6164645075626c69634b6579287075626c69634b65792e6465636f64654865782829290a7d0a7df8b0b8ae7b2274797065223a22537472696e67222c2276616c7565223a226638343762383430393434383861373935613037373030633666623833653036366366353764666438376639326365373063626338316362336264336665613264663762363730373362373065333662343466333537386234336436346433666161326538653431356566366332623566653433393064356137386532333835383163366534626330323830383230316634227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f90166f90162b86e7472616e73616374696f6e287075626c69634b65793a20537472696e6729207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a7369676e65722e6164645075626c69634b6579287075626c69634b65792e6465636f64654865782829290a7d0a7df8b0b8ae7b2274797065223a22537472696e67222c2276616c7565223a226638343762383430393434383861373935613037373030633666623833653036366366353764666438376639326365373063626338316362336264336665613264663762363730373362373065333662343466333537386234336436346433666161326538653431356566366332623566653433393064356137386532333835383163366534626330323830383230316634227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "01595c86561441b32b2b91ee03f9e10ca6efa7b41bcc994f51317ec0aa9d8f8a42416464204e6577204b6579000101507562206b65790000537472696e670003", - "hash": "595c86561441b32b2b91ee03f9e10ca6efa7b41bcc994f51317ec0aa9d8f8a42" - }, - { - "title": "Add New Key Transaction - Valid Envelope - Valid Account Key 14", - "valid": true, - "chainID": "Mainnet", - "payloadMessage": { - "script": "transaction(publicKey: String) {\nprepare(signer: AuthAccount) {\nsigner.addPublicKey(publicKey.decodeHex())\n}\n}", - "arguments": [ - { - "type": "String", - "value": "f847b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc02808203e8" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [ - { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sig": "f7225388c1d69d57e6251c9fda50cbbf9e05131e5adb81e5aa0422402f048162" - } - ] - }, - "envelopeMessage": { - "script": "transaction(publicKey: String) {\nprepare(signer: AuthAccount) {\nsigner.addPublicKey(publicKey.decodeHex())\n}\n}", - "arguments": [ - { - "type": "String", - "value": "f847b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc02808203e8" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f90162b86e7472616e73616374696f6e287075626c69634b65793a20537472696e6729207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a7369676e65722e6164645075626c69634b6579287075626c69634b65792e6465636f64654865782829290a7d0a7df8b0b8ae7b2274797065223a22537472696e67222c2276616c7565223a226638343762383430393434383861373935613037373030633666623833653036366366353764666438376639326365373063626338316362336264336665613264663762363730373362373065333662343466333537386234336436346433666161326538653431356566366332623566653433393064356137386532333835383163366534626330323830383230336538227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f90166f90162b86e7472616e73616374696f6e287075626c69634b65793a20537472696e6729207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a7369676e65722e6164645075626c69634b6579287075626c69634b65792e6465636f64654865782829290a7d0a7df8b0b8ae7b2274797065223a22537472696e67222c2276616c7565223a226638343762383430393434383861373935613037373030633666623833653036366366353764666438376639326365373063626338316362336264336665613264663762363730373362373065333662343466333537386234336436346433666161326538653431356566366332623566653433393064356137386532333835383163366534626330323830383230336538227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "01595c86561441b32b2b91ee03f9e10ca6efa7b41bcc994f51317ec0aa9d8f8a42416464204e6577204b6579000101507562206b65790000537472696e670003", - "hash": "595c86561441b32b2b91ee03f9e10ca6efa7b41bcc994f51317ec0aa9d8f8a42" - }, - { - "title": "Add New Key Transaction - Valid Envelope - Valid Account Key 15", - "valid": true, - "chainID": "Mainnet", - "payloadMessage": { - "script": "transaction(publicKey: String) {\nprepare(signer: AuthAccount) {\nsigner.addPublicKey(publicKey.decodeHex())\n}\n}", - "arguments": [ - { - "type": "String", - "value": "f845b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc020180" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [ - { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sig": "f7225388c1d69d57e6251c9fda50cbbf9e05131e5adb81e5aa0422402f048162" - } - ] - }, - "envelopeMessage": { - "script": "transaction(publicKey: String) {\nprepare(signer: AuthAccount) {\nsigner.addPublicKey(publicKey.decodeHex())\n}\n}", - "arguments": [ - { - "type": "String", - "value": "f845b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc020180" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f9015eb86e7472616e73616374696f6e287075626c69634b65793a20537472696e6729207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a7369676e65722e6164645075626c69634b6579287075626c69634b65792e6465636f64654865782829290a7d0a7df8acb8aa7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303934343838613739356130373730306336666238336530363663663537646664383766393263653730636263383163623362643366656132646637623637303733623730653336623434663335373862343364363464336661613265386534313565663663326235666534333930643561373865323338353831633665346263303230313830227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f90162f9015eb86e7472616e73616374696f6e287075626c69634b65793a20537472696e6729207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a7369676e65722e6164645075626c69634b6579287075626c69634b65792e6465636f64654865782829290a7d0a7df8acb8aa7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303934343838613739356130373730306336666238336530363663663537646664383766393263653730636263383163623362643366656132646637623637303733623730653336623434663335373862343364363464336661613265386534313565663663326235666534333930643561373865323338353831633665346263303230313830227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "01595c86561441b32b2b91ee03f9e10ca6efa7b41bcc994f51317ec0aa9d8f8a42416464204e6577204b6579000101507562206b65790000537472696e670003", - "hash": "595c86561441b32b2b91ee03f9e10ca6efa7b41bcc994f51317ec0aa9d8f8a42" - }, - { - "title": "Add New Key Transaction - Valid Envelope - Valid Account Key 16", - "valid": true, - "chainID": "Mainnet", - "payloadMessage": { - "script": "transaction(publicKey: String) {\nprepare(signer: AuthAccount) {\nsigner.addPublicKey(publicKey.decodeHex())\n}\n}", - "arguments": [ - { - "type": "String", - "value": "f847b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc02018201f4" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [ - { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sig": "f7225388c1d69d57e6251c9fda50cbbf9e05131e5adb81e5aa0422402f048162" - } - ] - }, - "envelopeMessage": { - "script": "transaction(publicKey: String) {\nprepare(signer: AuthAccount) {\nsigner.addPublicKey(publicKey.decodeHex())\n}\n}", - "arguments": [ - { - "type": "String", - "value": "f847b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc02018201f4" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f90162b86e7472616e73616374696f6e287075626c69634b65793a20537472696e6729207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a7369676e65722e6164645075626c69634b6579287075626c69634b65792e6465636f64654865782829290a7d0a7df8b0b8ae7b2274797065223a22537472696e67222c2276616c7565223a226638343762383430393434383861373935613037373030633666623833653036366366353764666438376639326365373063626338316362336264336665613264663762363730373362373065333662343466333537386234336436346433666161326538653431356566366332623566653433393064356137386532333835383163366534626330323031383230316634227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f90166f90162b86e7472616e73616374696f6e287075626c69634b65793a20537472696e6729207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a7369676e65722e6164645075626c69634b6579287075626c69634b65792e6465636f64654865782829290a7d0a7df8b0b8ae7b2274797065223a22537472696e67222c2276616c7565223a226638343762383430393434383861373935613037373030633666623833653036366366353764666438376639326365373063626338316362336264336665613264663762363730373362373065333662343466333537386234336436346433666161326538653431356566366332623566653433393064356137386532333835383163366534626330323031383230316634227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "01595c86561441b32b2b91ee03f9e10ca6efa7b41bcc994f51317ec0aa9d8f8a42416464204e6577204b6579000101507562206b65790000537472696e670003", - "hash": "595c86561441b32b2b91ee03f9e10ca6efa7b41bcc994f51317ec0aa9d8f8a42" - }, - { - "title": "Add New Key Transaction - Valid Envelope - Valid Account Key 17", - "valid": true, - "chainID": "Mainnet", - "payloadMessage": { - "script": "transaction(publicKey: String) {\nprepare(signer: AuthAccount) {\nsigner.addPublicKey(publicKey.decodeHex())\n}\n}", - "arguments": [ - { - "type": "String", - "value": "f847b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc02018203e8" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [ - { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sig": "f7225388c1d69d57e6251c9fda50cbbf9e05131e5adb81e5aa0422402f048162" - } - ] - }, - "envelopeMessage": { - "script": "transaction(publicKey: String) {\nprepare(signer: AuthAccount) {\nsigner.addPublicKey(publicKey.decodeHex())\n}\n}", - "arguments": [ - { - "type": "String", - "value": "f847b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc02018203e8" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f90162b86e7472616e73616374696f6e287075626c69634b65793a20537472696e6729207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a7369676e65722e6164645075626c69634b6579287075626c69634b65792e6465636f64654865782829290a7d0a7df8b0b8ae7b2274797065223a22537472696e67222c2276616c7565223a226638343762383430393434383861373935613037373030633666623833653036366366353764666438376639326365373063626338316362336264336665613264663762363730373362373065333662343466333537386234336436346433666161326538653431356566366332623566653433393064356137386532333835383163366534626330323031383230336538227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f90166f90162b86e7472616e73616374696f6e287075626c69634b65793a20537472696e6729207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a7369676e65722e6164645075626c69634b6579287075626c69634b65792e6465636f64654865782829290a7d0a7df8b0b8ae7b2274797065223a22537472696e67222c2276616c7565223a226638343762383430393434383861373935613037373030633666623833653036366366353764666438376639326365373063626338316362336264336665613264663762363730373362373065333662343466333537386234336436346433666161326538653431356566366332623566653433393064356137386532333835383163366534626330323031383230336538227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "01595c86561441b32b2b91ee03f9e10ca6efa7b41bcc994f51317ec0aa9d8f8a42416464204e6577204b6579000101507562206b65790000537472696e670003", - "hash": "595c86561441b32b2b91ee03f9e10ca6efa7b41bcc994f51317ec0aa9d8f8a42" - }, - { - "title": "Add New Key Transaction - Valid Envelope - Valid Account Key 18", - "valid": true, - "chainID": "Mainnet", - "payloadMessage": { - "script": "transaction(publicKey: String) {\nprepare(signer: AuthAccount) {\nsigner.addPublicKey(publicKey.decodeHex())\n}\n}", - "arguments": [ - { - "type": "String", - "value": "f845b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc020380" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [ - { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sig": "f7225388c1d69d57e6251c9fda50cbbf9e05131e5adb81e5aa0422402f048162" - } - ] - }, - "envelopeMessage": { - "script": "transaction(publicKey: String) {\nprepare(signer: AuthAccount) {\nsigner.addPublicKey(publicKey.decodeHex())\n}\n}", - "arguments": [ - { - "type": "String", - "value": "f845b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc020380" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f9015eb86e7472616e73616374696f6e287075626c69634b65793a20537472696e6729207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a7369676e65722e6164645075626c69634b6579287075626c69634b65792e6465636f64654865782829290a7d0a7df8acb8aa7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303934343838613739356130373730306336666238336530363663663537646664383766393263653730636263383163623362643366656132646637623637303733623730653336623434663335373862343364363464336661613265386534313565663663326235666534333930643561373865323338353831633665346263303230333830227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f90162f9015eb86e7472616e73616374696f6e287075626c69634b65793a20537472696e6729207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a7369676e65722e6164645075626c69634b6579287075626c69634b65792e6465636f64654865782829290a7d0a7df8acb8aa7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303934343838613739356130373730306336666238336530363663663537646664383766393263653730636263383163623362643366656132646637623637303733623730653336623434663335373862343364363464336661613265386534313565663663326235666534333930643561373865323338353831633665346263303230333830227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "01595c86561441b32b2b91ee03f9e10ca6efa7b41bcc994f51317ec0aa9d8f8a42416464204e6577204b6579000101507562206b65790000537472696e670003", - "hash": "595c86561441b32b2b91ee03f9e10ca6efa7b41bcc994f51317ec0aa9d8f8a42" - }, - { - "title": "Add New Key Transaction - Valid Envelope - Valid Account Key 19", - "valid": true, - "chainID": "Mainnet", - "payloadMessage": { - "script": "transaction(publicKey: String) {\nprepare(signer: AuthAccount) {\nsigner.addPublicKey(publicKey.decodeHex())\n}\n}", - "arguments": [ - { - "type": "String", - "value": "f847b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc02038201f4" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [ - { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sig": "f7225388c1d69d57e6251c9fda50cbbf9e05131e5adb81e5aa0422402f048162" - } - ] - }, - "envelopeMessage": { - "script": "transaction(publicKey: String) {\nprepare(signer: AuthAccount) {\nsigner.addPublicKey(publicKey.decodeHex())\n}\n}", - "arguments": [ - { - "type": "String", - "value": "f847b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc02038201f4" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f90162b86e7472616e73616374696f6e287075626c69634b65793a20537472696e6729207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a7369676e65722e6164645075626c69634b6579287075626c69634b65792e6465636f64654865782829290a7d0a7df8b0b8ae7b2274797065223a22537472696e67222c2276616c7565223a226638343762383430393434383861373935613037373030633666623833653036366366353764666438376639326365373063626338316362336264336665613264663762363730373362373065333662343466333537386234336436346433666161326538653431356566366332623566653433393064356137386532333835383163366534626330323033383230316634227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f90166f90162b86e7472616e73616374696f6e287075626c69634b65793a20537472696e6729207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a7369676e65722e6164645075626c69634b6579287075626c69634b65792e6465636f64654865782829290a7d0a7df8b0b8ae7b2274797065223a22537472696e67222c2276616c7565223a226638343762383430393434383861373935613037373030633666623833653036366366353764666438376639326365373063626338316362336264336665613264663762363730373362373065333662343466333537386234336436346433666161326538653431356566366332623566653433393064356137386532333835383163366534626330323033383230316634227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "01595c86561441b32b2b91ee03f9e10ca6efa7b41bcc994f51317ec0aa9d8f8a42416464204e6577204b6579000101507562206b65790000537472696e670003", - "hash": "595c86561441b32b2b91ee03f9e10ca6efa7b41bcc994f51317ec0aa9d8f8a42" - }, - { - "title": "Add New Key Transaction - Valid Envelope - Valid Account Key 20", - "valid": true, - "chainID": "Mainnet", - "payloadMessage": { - "script": "transaction(publicKey: String) {\nprepare(signer: AuthAccount) {\nsigner.addPublicKey(publicKey.decodeHex())\n}\n}", - "arguments": [ - { - "type": "String", - "value": "f847b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc02038203e8" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [ - { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sig": "f7225388c1d69d57e6251c9fda50cbbf9e05131e5adb81e5aa0422402f048162" - } - ] - }, - "envelopeMessage": { - "script": "transaction(publicKey: String) {\nprepare(signer: AuthAccount) {\nsigner.addPublicKey(publicKey.decodeHex())\n}\n}", - "arguments": [ - { - "type": "String", - "value": "f847b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc02038203e8" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f90162b86e7472616e73616374696f6e287075626c69634b65793a20537472696e6729207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a7369676e65722e6164645075626c69634b6579287075626c69634b65792e6465636f64654865782829290a7d0a7df8b0b8ae7b2274797065223a22537472696e67222c2276616c7565223a226638343762383430393434383861373935613037373030633666623833653036366366353764666438376639326365373063626338316362336264336665613264663762363730373362373065333662343466333537386234336436346433666161326538653431356566366332623566653433393064356137386532333835383163366534626330323033383230336538227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f90166f90162b86e7472616e73616374696f6e287075626c69634b65793a20537472696e6729207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a7369676e65722e6164645075626c69634b6579287075626c69634b65792e6465636f64654865782829290a7d0a7df8b0b8ae7b2274797065223a22537472696e67222c2276616c7565223a226638343762383430393434383861373935613037373030633666623833653036366366353764666438376639326365373063626338316362336264336665613264663762363730373362373065333662343466333537386234336436346433666161326538653431356566366332623566653433393064356137386532333835383163366534626330323033383230336538227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "01595c86561441b32b2b91ee03f9e10ca6efa7b41bcc994f51317ec0aa9d8f8a42416464204e6577204b6579000101507562206b65790000537472696e670003", - "hash": "595c86561441b32b2b91ee03f9e10ca6efa7b41bcc994f51317ec0aa9d8f8a42" - }, - { - "title": "Add New Key Transaction - Valid Envelope - Valid Account Key 21", - "valid": true, - "chainID": "Mainnet", - "payloadMessage": { - "script": "transaction(publicKey: String) {\nprepare(signer: AuthAccount) {\nsigner.addPublicKey(publicKey.decodeHex())\n}\n}", - "arguments": [ - { - "type": "String", - "value": "f846b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc0281ff80" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [ - { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sig": "f7225388c1d69d57e6251c9fda50cbbf9e05131e5adb81e5aa0422402f048162" - } - ] - }, - "envelopeMessage": { - "script": "transaction(publicKey: String) {\nprepare(signer: AuthAccount) {\nsigner.addPublicKey(publicKey.decodeHex())\n}\n}", - "arguments": [ - { - "type": "String", - "value": "f846b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc0281ff80" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f90160b86e7472616e73616374696f6e287075626c69634b65793a20537472696e6729207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a7369676e65722e6164645075626c69634b6579287075626c69634b65792e6465636f64654865782829290a7d0a7df8aeb8ac7b2274797065223a22537472696e67222c2276616c7565223a22663834366238343039343438386137393561303737303063366662383365303636636635376466643837663932636537306362633831636233626433666561326466376236373037336237306533366234346633353738623433643634643366616132653865343135656636633262356665343339306435613738653233383538316336653462633032383166663830227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f90164f90160b86e7472616e73616374696f6e287075626c69634b65793a20537472696e6729207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a7369676e65722e6164645075626c69634b6579287075626c69634b65792e6465636f64654865782829290a7d0a7df8aeb8ac7b2274797065223a22537472696e67222c2276616c7565223a22663834366238343039343438386137393561303737303063366662383365303636636635376466643837663932636537306362633831636233626433666561326466376236373037336237306533366234346633353738623433643634643366616132653865343135656636633262356665343339306435613738653233383538316336653462633032383166663830227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "01595c86561441b32b2b91ee03f9e10ca6efa7b41bcc994f51317ec0aa9d8f8a42416464204e6577204b6579000101507562206b65790000537472696e670003", - "hash": "595c86561441b32b2b91ee03f9e10ca6efa7b41bcc994f51317ec0aa9d8f8a42" - }, - { - "title": "Add New Key Transaction - Valid Envelope - Valid Account Key 22", - "valid": true, - "chainID": "Mainnet", - "payloadMessage": { - "script": "transaction(publicKey: String) {\nprepare(signer: AuthAccount) {\nsigner.addPublicKey(publicKey.decodeHex())\n}\n}", - "arguments": [ - { - "type": "String", - "value": "f848b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc0281ff8201f4" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [ - { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sig": "f7225388c1d69d57e6251c9fda50cbbf9e05131e5adb81e5aa0422402f048162" - } - ] - }, - "envelopeMessage": { - "script": "transaction(publicKey: String) {\nprepare(signer: AuthAccount) {\nsigner.addPublicKey(publicKey.decodeHex())\n}\n}", - "arguments": [ - { - "type": "String", - "value": "f848b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc0281ff8201f4" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f90164b86e7472616e73616374696f6e287075626c69634b65793a20537472696e6729207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a7369676e65722e6164645075626c69634b6579287075626c69634b65792e6465636f64654865782829290a7d0a7df8b2b8b07b2274797065223a22537472696e67222c2276616c7565223a2266383438623834303934343838613739356130373730306336666238336530363663663537646664383766393263653730636263383163623362643366656132646637623637303733623730653336623434663335373862343364363464336661613265386534313565663663326235666534333930643561373865323338353831633665346263303238316666383230316634227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f90168f90164b86e7472616e73616374696f6e287075626c69634b65793a20537472696e6729207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a7369676e65722e6164645075626c69634b6579287075626c69634b65792e6465636f64654865782829290a7d0a7df8b2b8b07b2274797065223a22537472696e67222c2276616c7565223a2266383438623834303934343838613739356130373730306336666238336530363663663537646664383766393263653730636263383163623362643366656132646637623637303733623730653336623434663335373862343364363464336661613265386534313565663663326235666534333930643561373865323338353831633665346263303238316666383230316634227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "01595c86561441b32b2b91ee03f9e10ca6efa7b41bcc994f51317ec0aa9d8f8a42416464204e6577204b6579000101507562206b65790000537472696e670003", - "hash": "595c86561441b32b2b91ee03f9e10ca6efa7b41bcc994f51317ec0aa9d8f8a42" - }, - { - "title": "Add New Key Transaction - Valid Envelope - Valid Account Key 23", - "valid": true, - "chainID": "Mainnet", - "payloadMessage": { - "script": "transaction(publicKey: String) {\nprepare(signer: AuthAccount) {\nsigner.addPublicKey(publicKey.decodeHex())\n}\n}", - "arguments": [ - { - "type": "String", - "value": "f848b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc0281ff8203e8" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [ - { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sig": "f7225388c1d69d57e6251c9fda50cbbf9e05131e5adb81e5aa0422402f048162" - } - ] - }, - "envelopeMessage": { - "script": "transaction(publicKey: String) {\nprepare(signer: AuthAccount) {\nsigner.addPublicKey(publicKey.decodeHex())\n}\n}", - "arguments": [ - { - "type": "String", - "value": "f848b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc0281ff8203e8" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f90164b86e7472616e73616374696f6e287075626c69634b65793a20537472696e6729207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a7369676e65722e6164645075626c69634b6579287075626c69634b65792e6465636f64654865782829290a7d0a7df8b2b8b07b2274797065223a22537472696e67222c2276616c7565223a2266383438623834303934343838613739356130373730306336666238336530363663663537646664383766393263653730636263383163623362643366656132646637623637303733623730653336623434663335373862343364363464336661613265386534313565663663326235666534333930643561373865323338353831633665346263303238316666383230336538227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f90168f90164b86e7472616e73616374696f6e287075626c69634b65793a20537472696e6729207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a7369676e65722e6164645075626c69634b6579287075626c69634b65792e6465636f64654865782829290a7d0a7df8b2b8b07b2274797065223a22537472696e67222c2276616c7565223a2266383438623834303934343838613739356130373730306336666238336530363663663537646664383766393263653730636263383163623362643366656132646637623637303733623730653336623434663335373862343364363464336661613265386534313565663663326235666534333930643561373865323338353831633665346263303238316666383230336538227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "01595c86561441b32b2b91ee03f9e10ca6efa7b41bcc994f51317ec0aa9d8f8a42416464204e6577204b6579000101507562206b65790000537472696e670003", - "hash": "595c86561441b32b2b91ee03f9e10ca6efa7b41bcc994f51317ec0aa9d8f8a42" - }, - { - "title": "Add New Key Transaction - Valid Envelope - Valid Account Key 24", - "valid": true, - "chainID": "Mainnet", - "payloadMessage": { - "script": "transaction(publicKey: String) {\nprepare(signer: AuthAccount) {\nsigner.addPublicKey(publicKey.decodeHex())\n}\n}", - "arguments": [ - { - "type": "String", - "value": "f845b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc038080" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [ - { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sig": "f7225388c1d69d57e6251c9fda50cbbf9e05131e5adb81e5aa0422402f048162" - } - ] - }, - "envelopeMessage": { - "script": "transaction(publicKey: String) {\nprepare(signer: AuthAccount) {\nsigner.addPublicKey(publicKey.decodeHex())\n}\n}", - "arguments": [ - { - "type": "String", - "value": "f845b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc038080" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f9015eb86e7472616e73616374696f6e287075626c69634b65793a20537472696e6729207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a7369676e65722e6164645075626c69634b6579287075626c69634b65792e6465636f64654865782829290a7d0a7df8acb8aa7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303934343838613739356130373730306336666238336530363663663537646664383766393263653730636263383163623362643366656132646637623637303733623730653336623434663335373862343364363464336661613265386534313565663663326235666534333930643561373865323338353831633665346263303338303830227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f90162f9015eb86e7472616e73616374696f6e287075626c69634b65793a20537472696e6729207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a7369676e65722e6164645075626c69634b6579287075626c69634b65792e6465636f64654865782829290a7d0a7df8acb8aa7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303934343838613739356130373730306336666238336530363663663537646664383766393263653730636263383163623362643366656132646637623637303733623730653336623434663335373862343364363464336661613265386534313565663663326235666534333930643561373865323338353831633665346263303338303830227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "01595c86561441b32b2b91ee03f9e10ca6efa7b41bcc994f51317ec0aa9d8f8a42416464204e6577204b6579000101507562206b65790000537472696e670003", - "hash": "595c86561441b32b2b91ee03f9e10ca6efa7b41bcc994f51317ec0aa9d8f8a42" - }, - { - "title": "Add New Key Transaction - Valid Envelope - Valid Account Key 25", - "valid": true, - "chainID": "Mainnet", - "payloadMessage": { - "script": "transaction(publicKey: String) {\nprepare(signer: AuthAccount) {\nsigner.addPublicKey(publicKey.decodeHex())\n}\n}", - "arguments": [ - { - "type": "String", - "value": "f847b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc03808201f4" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [ - { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sig": "f7225388c1d69d57e6251c9fda50cbbf9e05131e5adb81e5aa0422402f048162" - } - ] - }, - "envelopeMessage": { - "script": "transaction(publicKey: String) {\nprepare(signer: AuthAccount) {\nsigner.addPublicKey(publicKey.decodeHex())\n}\n}", - "arguments": [ - { - "type": "String", - "value": "f847b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc03808201f4" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f90162b86e7472616e73616374696f6e287075626c69634b65793a20537472696e6729207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a7369676e65722e6164645075626c69634b6579287075626c69634b65792e6465636f64654865782829290a7d0a7df8b0b8ae7b2274797065223a22537472696e67222c2276616c7565223a226638343762383430393434383861373935613037373030633666623833653036366366353764666438376639326365373063626338316362336264336665613264663762363730373362373065333662343466333537386234336436346433666161326538653431356566366332623566653433393064356137386532333835383163366534626330333830383230316634227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f90166f90162b86e7472616e73616374696f6e287075626c69634b65793a20537472696e6729207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a7369676e65722e6164645075626c69634b6579287075626c69634b65792e6465636f64654865782829290a7d0a7df8b0b8ae7b2274797065223a22537472696e67222c2276616c7565223a226638343762383430393434383861373935613037373030633666623833653036366366353764666438376639326365373063626338316362336264336665613264663762363730373362373065333662343466333537386234336436346433666161326538653431356566366332623566653433393064356137386532333835383163366534626330333830383230316634227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "01595c86561441b32b2b91ee03f9e10ca6efa7b41bcc994f51317ec0aa9d8f8a42416464204e6577204b6579000101507562206b65790000537472696e670003", - "hash": "595c86561441b32b2b91ee03f9e10ca6efa7b41bcc994f51317ec0aa9d8f8a42" - }, - { - "title": "Add New Key Transaction - Valid Envelope - Valid Account Key 26", - "valid": true, - "chainID": "Mainnet", - "payloadMessage": { - "script": "transaction(publicKey: String) {\nprepare(signer: AuthAccount) {\nsigner.addPublicKey(publicKey.decodeHex())\n}\n}", - "arguments": [ - { - "type": "String", - "value": "f847b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc03808203e8" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [ - { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sig": "f7225388c1d69d57e6251c9fda50cbbf9e05131e5adb81e5aa0422402f048162" - } - ] - }, - "envelopeMessage": { - "script": "transaction(publicKey: String) {\nprepare(signer: AuthAccount) {\nsigner.addPublicKey(publicKey.decodeHex())\n}\n}", - "arguments": [ - { - "type": "String", - "value": "f847b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc03808203e8" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f90162b86e7472616e73616374696f6e287075626c69634b65793a20537472696e6729207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a7369676e65722e6164645075626c69634b6579287075626c69634b65792e6465636f64654865782829290a7d0a7df8b0b8ae7b2274797065223a22537472696e67222c2276616c7565223a226638343762383430393434383861373935613037373030633666623833653036366366353764666438376639326365373063626338316362336264336665613264663762363730373362373065333662343466333537386234336436346433666161326538653431356566366332623566653433393064356137386532333835383163366534626330333830383230336538227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f90166f90162b86e7472616e73616374696f6e287075626c69634b65793a20537472696e6729207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a7369676e65722e6164645075626c69634b6579287075626c69634b65792e6465636f64654865782829290a7d0a7df8b0b8ae7b2274797065223a22537472696e67222c2276616c7565223a226638343762383430393434383861373935613037373030633666623833653036366366353764666438376639326365373063626338316362336264336665613264663762363730373362373065333662343466333537386234336436346433666161326538653431356566366332623566653433393064356137386532333835383163366534626330333830383230336538227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "01595c86561441b32b2b91ee03f9e10ca6efa7b41bcc994f51317ec0aa9d8f8a42416464204e6577204b6579000101507562206b65790000537472696e670003", - "hash": "595c86561441b32b2b91ee03f9e10ca6efa7b41bcc994f51317ec0aa9d8f8a42" - }, - { - "title": "Add New Key Transaction - Valid Envelope - Valid Account Key 27", - "valid": true, - "chainID": "Mainnet", - "payloadMessage": { - "script": "transaction(publicKey: String) {\nprepare(signer: AuthAccount) {\nsigner.addPublicKey(publicKey.decodeHex())\n}\n}", - "arguments": [ - { - "type": "String", - "value": "f845b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc030180" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [ - { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sig": "f7225388c1d69d57e6251c9fda50cbbf9e05131e5adb81e5aa0422402f048162" - } - ] - }, - "envelopeMessage": { - "script": "transaction(publicKey: String) {\nprepare(signer: AuthAccount) {\nsigner.addPublicKey(publicKey.decodeHex())\n}\n}", - "arguments": [ - { - "type": "String", - "value": "f845b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc030180" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f9015eb86e7472616e73616374696f6e287075626c69634b65793a20537472696e6729207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a7369676e65722e6164645075626c69634b6579287075626c69634b65792e6465636f64654865782829290a7d0a7df8acb8aa7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303934343838613739356130373730306336666238336530363663663537646664383766393263653730636263383163623362643366656132646637623637303733623730653336623434663335373862343364363464336661613265386534313565663663326235666534333930643561373865323338353831633665346263303330313830227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f90162f9015eb86e7472616e73616374696f6e287075626c69634b65793a20537472696e6729207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a7369676e65722e6164645075626c69634b6579287075626c69634b65792e6465636f64654865782829290a7d0a7df8acb8aa7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303934343838613739356130373730306336666238336530363663663537646664383766393263653730636263383163623362643366656132646637623637303733623730653336623434663335373862343364363464336661613265386534313565663663326235666534333930643561373865323338353831633665346263303330313830227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "01595c86561441b32b2b91ee03f9e10ca6efa7b41bcc994f51317ec0aa9d8f8a42416464204e6577204b6579000101507562206b65790000537472696e670003", - "hash": "595c86561441b32b2b91ee03f9e10ca6efa7b41bcc994f51317ec0aa9d8f8a42" - }, - { - "title": "Add New Key Transaction - Valid Envelope - Valid Account Key 28", - "valid": true, - "chainID": "Mainnet", - "payloadMessage": { - "script": "transaction(publicKey: String) {\nprepare(signer: AuthAccount) {\nsigner.addPublicKey(publicKey.decodeHex())\n}\n}", - "arguments": [ - { - "type": "String", - "value": "f847b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc03018201f4" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [ - { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sig": "f7225388c1d69d57e6251c9fda50cbbf9e05131e5adb81e5aa0422402f048162" - } - ] - }, - "envelopeMessage": { - "script": "transaction(publicKey: String) {\nprepare(signer: AuthAccount) {\nsigner.addPublicKey(publicKey.decodeHex())\n}\n}", - "arguments": [ - { - "type": "String", - "value": "f847b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc03018201f4" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f90162b86e7472616e73616374696f6e287075626c69634b65793a20537472696e6729207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a7369676e65722e6164645075626c69634b6579287075626c69634b65792e6465636f64654865782829290a7d0a7df8b0b8ae7b2274797065223a22537472696e67222c2276616c7565223a226638343762383430393434383861373935613037373030633666623833653036366366353764666438376639326365373063626338316362336264336665613264663762363730373362373065333662343466333537386234336436346433666161326538653431356566366332623566653433393064356137386532333835383163366534626330333031383230316634227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f90166f90162b86e7472616e73616374696f6e287075626c69634b65793a20537472696e6729207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a7369676e65722e6164645075626c69634b6579287075626c69634b65792e6465636f64654865782829290a7d0a7df8b0b8ae7b2274797065223a22537472696e67222c2276616c7565223a226638343762383430393434383861373935613037373030633666623833653036366366353764666438376639326365373063626338316362336264336665613264663762363730373362373065333662343466333537386234336436346433666161326538653431356566366332623566653433393064356137386532333835383163366534626330333031383230316634227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "01595c86561441b32b2b91ee03f9e10ca6efa7b41bcc994f51317ec0aa9d8f8a42416464204e6577204b6579000101507562206b65790000537472696e670003", - "hash": "595c86561441b32b2b91ee03f9e10ca6efa7b41bcc994f51317ec0aa9d8f8a42" - }, - { - "title": "Add New Key Transaction - Valid Envelope - Valid Account Key 29", - "valid": true, - "chainID": "Mainnet", - "payloadMessage": { - "script": "transaction(publicKey: String) {\nprepare(signer: AuthAccount) {\nsigner.addPublicKey(publicKey.decodeHex())\n}\n}", - "arguments": [ - { - "type": "String", - "value": "f847b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc03018203e8" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [ - { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sig": "f7225388c1d69d57e6251c9fda50cbbf9e05131e5adb81e5aa0422402f048162" - } - ] - }, - "envelopeMessage": { - "script": "transaction(publicKey: String) {\nprepare(signer: AuthAccount) {\nsigner.addPublicKey(publicKey.decodeHex())\n}\n}", - "arguments": [ - { - "type": "String", - "value": "f847b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc03018203e8" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f90162b86e7472616e73616374696f6e287075626c69634b65793a20537472696e6729207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a7369676e65722e6164645075626c69634b6579287075626c69634b65792e6465636f64654865782829290a7d0a7df8b0b8ae7b2274797065223a22537472696e67222c2276616c7565223a226638343762383430393434383861373935613037373030633666623833653036366366353764666438376639326365373063626338316362336264336665613264663762363730373362373065333662343466333537386234336436346433666161326538653431356566366332623566653433393064356137386532333835383163366534626330333031383230336538227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f90166f90162b86e7472616e73616374696f6e287075626c69634b65793a20537472696e6729207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a7369676e65722e6164645075626c69634b6579287075626c69634b65792e6465636f64654865782829290a7d0a7df8b0b8ae7b2274797065223a22537472696e67222c2276616c7565223a226638343762383430393434383861373935613037373030633666623833653036366366353764666438376639326365373063626338316362336264336665613264663762363730373362373065333662343466333537386234336436346433666161326538653431356566366332623566653433393064356137386532333835383163366534626330333031383230336538227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "01595c86561441b32b2b91ee03f9e10ca6efa7b41bcc994f51317ec0aa9d8f8a42416464204e6577204b6579000101507562206b65790000537472696e670003", - "hash": "595c86561441b32b2b91ee03f9e10ca6efa7b41bcc994f51317ec0aa9d8f8a42" - }, - { - "title": "Add New Key Transaction - Valid Envelope - Valid Account Key 30", - "valid": true, - "chainID": "Mainnet", - "payloadMessage": { - "script": "transaction(publicKey: String) {\nprepare(signer: AuthAccount) {\nsigner.addPublicKey(publicKey.decodeHex())\n}\n}", - "arguments": [ - { - "type": "String", - "value": "f845b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc030380" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [ - { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sig": "f7225388c1d69d57e6251c9fda50cbbf9e05131e5adb81e5aa0422402f048162" - } - ] - }, - "envelopeMessage": { - "script": "transaction(publicKey: String) {\nprepare(signer: AuthAccount) {\nsigner.addPublicKey(publicKey.decodeHex())\n}\n}", - "arguments": [ - { - "type": "String", - "value": "f845b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc030380" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f9015eb86e7472616e73616374696f6e287075626c69634b65793a20537472696e6729207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a7369676e65722e6164645075626c69634b6579287075626c69634b65792e6465636f64654865782829290a7d0a7df8acb8aa7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303934343838613739356130373730306336666238336530363663663537646664383766393263653730636263383163623362643366656132646637623637303733623730653336623434663335373862343364363464336661613265386534313565663663326235666534333930643561373865323338353831633665346263303330333830227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f90162f9015eb86e7472616e73616374696f6e287075626c69634b65793a20537472696e6729207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a7369676e65722e6164645075626c69634b6579287075626c69634b65792e6465636f64654865782829290a7d0a7df8acb8aa7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303934343838613739356130373730306336666238336530363663663537646664383766393263653730636263383163623362643366656132646637623637303733623730653336623434663335373862343364363464336661613265386534313565663663326235666534333930643561373865323338353831633665346263303330333830227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "01595c86561441b32b2b91ee03f9e10ca6efa7b41bcc994f51317ec0aa9d8f8a42416464204e6577204b6579000101507562206b65790000537472696e670003", - "hash": "595c86561441b32b2b91ee03f9e10ca6efa7b41bcc994f51317ec0aa9d8f8a42" - }, - { - "title": "Add New Key Transaction - Valid Envelope - Valid Account Key 31", - "valid": true, - "chainID": "Mainnet", - "payloadMessage": { - "script": "transaction(publicKey: String) {\nprepare(signer: AuthAccount) {\nsigner.addPublicKey(publicKey.decodeHex())\n}\n}", - "arguments": [ - { - "type": "String", - "value": "f847b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc03038201f4" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [ - { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sig": "f7225388c1d69d57e6251c9fda50cbbf9e05131e5adb81e5aa0422402f048162" - } - ] - }, - "envelopeMessage": { - "script": "transaction(publicKey: String) {\nprepare(signer: AuthAccount) {\nsigner.addPublicKey(publicKey.decodeHex())\n}\n}", - "arguments": [ - { - "type": "String", - "value": "f847b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc03038201f4" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f90162b86e7472616e73616374696f6e287075626c69634b65793a20537472696e6729207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a7369676e65722e6164645075626c69634b6579287075626c69634b65792e6465636f64654865782829290a7d0a7df8b0b8ae7b2274797065223a22537472696e67222c2276616c7565223a226638343762383430393434383861373935613037373030633666623833653036366366353764666438376639326365373063626338316362336264336665613264663762363730373362373065333662343466333537386234336436346433666161326538653431356566366332623566653433393064356137386532333835383163366534626330333033383230316634227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f90166f90162b86e7472616e73616374696f6e287075626c69634b65793a20537472696e6729207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a7369676e65722e6164645075626c69634b6579287075626c69634b65792e6465636f64654865782829290a7d0a7df8b0b8ae7b2274797065223a22537472696e67222c2276616c7565223a226638343762383430393434383861373935613037373030633666623833653036366366353764666438376639326365373063626338316362336264336665613264663762363730373362373065333662343466333537386234336436346433666161326538653431356566366332623566653433393064356137386532333835383163366534626330333033383230316634227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "01595c86561441b32b2b91ee03f9e10ca6efa7b41bcc994f51317ec0aa9d8f8a42416464204e6577204b6579000101507562206b65790000537472696e670003", - "hash": "595c86561441b32b2b91ee03f9e10ca6efa7b41bcc994f51317ec0aa9d8f8a42" - }, - { - "title": "Add New Key Transaction - Valid Envelope - Valid Account Key 32", - "valid": true, - "chainID": "Mainnet", - "payloadMessage": { - "script": "transaction(publicKey: String) {\nprepare(signer: AuthAccount) {\nsigner.addPublicKey(publicKey.decodeHex())\n}\n}", - "arguments": [ - { - "type": "String", - "value": "f847b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc03038203e8" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [ - { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sig": "f7225388c1d69d57e6251c9fda50cbbf9e05131e5adb81e5aa0422402f048162" - } - ] - }, - "envelopeMessage": { - "script": "transaction(publicKey: String) {\nprepare(signer: AuthAccount) {\nsigner.addPublicKey(publicKey.decodeHex())\n}\n}", - "arguments": [ - { - "type": "String", - "value": "f847b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc03038203e8" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f90162b86e7472616e73616374696f6e287075626c69634b65793a20537472696e6729207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a7369676e65722e6164645075626c69634b6579287075626c69634b65792e6465636f64654865782829290a7d0a7df8b0b8ae7b2274797065223a22537472696e67222c2276616c7565223a226638343762383430393434383861373935613037373030633666623833653036366366353764666438376639326365373063626338316362336264336665613264663762363730373362373065333662343466333537386234336436346433666161326538653431356566366332623566653433393064356137386532333835383163366534626330333033383230336538227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f90166f90162b86e7472616e73616374696f6e287075626c69634b65793a20537472696e6729207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a7369676e65722e6164645075626c69634b6579287075626c69634b65792e6465636f64654865782829290a7d0a7df8b0b8ae7b2274797065223a22537472696e67222c2276616c7565223a226638343762383430393434383861373935613037373030633666623833653036366366353764666438376639326365373063626338316362336264336665613264663762363730373362373065333662343466333537386234336436346433666161326538653431356566366332623566653433393064356137386532333835383163366534626330333033383230336538227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "01595c86561441b32b2b91ee03f9e10ca6efa7b41bcc994f51317ec0aa9d8f8a42416464204e6577204b6579000101507562206b65790000537472696e670003", - "hash": "595c86561441b32b2b91ee03f9e10ca6efa7b41bcc994f51317ec0aa9d8f8a42" - }, - { - "title": "Add New Key Transaction - Valid Envelope - Valid Account Key 33", - "valid": true, - "chainID": "Mainnet", - "payloadMessage": { - "script": "transaction(publicKey: String) {\nprepare(signer: AuthAccount) {\nsigner.addPublicKey(publicKey.decodeHex())\n}\n}", - "arguments": [ - { - "type": "String", - "value": "f846b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc0381ff80" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [ - { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sig": "f7225388c1d69d57e6251c9fda50cbbf9e05131e5adb81e5aa0422402f048162" - } - ] - }, - "envelopeMessage": { - "script": "transaction(publicKey: String) {\nprepare(signer: AuthAccount) {\nsigner.addPublicKey(publicKey.decodeHex())\n}\n}", - "arguments": [ - { - "type": "String", - "value": "f846b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc0381ff80" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f90160b86e7472616e73616374696f6e287075626c69634b65793a20537472696e6729207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a7369676e65722e6164645075626c69634b6579287075626c69634b65792e6465636f64654865782829290a7d0a7df8aeb8ac7b2274797065223a22537472696e67222c2276616c7565223a22663834366238343039343438386137393561303737303063366662383365303636636635376466643837663932636537306362633831636233626433666561326466376236373037336237306533366234346633353738623433643634643366616132653865343135656636633262356665343339306435613738653233383538316336653462633033383166663830227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f90164f90160b86e7472616e73616374696f6e287075626c69634b65793a20537472696e6729207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a7369676e65722e6164645075626c69634b6579287075626c69634b65792e6465636f64654865782829290a7d0a7df8aeb8ac7b2274797065223a22537472696e67222c2276616c7565223a22663834366238343039343438386137393561303737303063366662383365303636636635376466643837663932636537306362633831636233626433666561326466376236373037336237306533366234346633353738623433643634643366616132653865343135656636633262356665343339306435613738653233383538316336653462633033383166663830227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "01595c86561441b32b2b91ee03f9e10ca6efa7b41bcc994f51317ec0aa9d8f8a42416464204e6577204b6579000101507562206b65790000537472696e670003", - "hash": "595c86561441b32b2b91ee03f9e10ca6efa7b41bcc994f51317ec0aa9d8f8a42" - }, - { - "title": "Add New Key Transaction - Valid Envelope - Valid Account Key 34", - "valid": true, - "chainID": "Mainnet", - "payloadMessage": { - "script": "transaction(publicKey: String) {\nprepare(signer: AuthAccount) {\nsigner.addPublicKey(publicKey.decodeHex())\n}\n}", - "arguments": [ - { - "type": "String", - "value": "f848b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc0381ff8201f4" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [ - { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sig": "f7225388c1d69d57e6251c9fda50cbbf9e05131e5adb81e5aa0422402f048162" - } - ] - }, - "envelopeMessage": { - "script": "transaction(publicKey: String) {\nprepare(signer: AuthAccount) {\nsigner.addPublicKey(publicKey.decodeHex())\n}\n}", - "arguments": [ - { - "type": "String", - "value": "f848b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc0381ff8201f4" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f90164b86e7472616e73616374696f6e287075626c69634b65793a20537472696e6729207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a7369676e65722e6164645075626c69634b6579287075626c69634b65792e6465636f64654865782829290a7d0a7df8b2b8b07b2274797065223a22537472696e67222c2276616c7565223a2266383438623834303934343838613739356130373730306336666238336530363663663537646664383766393263653730636263383163623362643366656132646637623637303733623730653336623434663335373862343364363464336661613265386534313565663663326235666534333930643561373865323338353831633665346263303338316666383230316634227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f90168f90164b86e7472616e73616374696f6e287075626c69634b65793a20537472696e6729207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a7369676e65722e6164645075626c69634b6579287075626c69634b65792e6465636f64654865782829290a7d0a7df8b2b8b07b2274797065223a22537472696e67222c2276616c7565223a2266383438623834303934343838613739356130373730306336666238336530363663663537646664383766393263653730636263383163623362643366656132646637623637303733623730653336623434663335373862343364363464336661613265386534313565663663326235666534333930643561373865323338353831633665346263303338316666383230316634227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "01595c86561441b32b2b91ee03f9e10ca6efa7b41bcc994f51317ec0aa9d8f8a42416464204e6577204b6579000101507562206b65790000537472696e670003", - "hash": "595c86561441b32b2b91ee03f9e10ca6efa7b41bcc994f51317ec0aa9d8f8a42" - }, - { - "title": "Add New Key Transaction - Valid Envelope - Valid Account Key 35", - "valid": true, - "chainID": "Mainnet", - "payloadMessage": { - "script": "transaction(publicKey: String) {\nprepare(signer: AuthAccount) {\nsigner.addPublicKey(publicKey.decodeHex())\n}\n}", - "arguments": [ - { - "type": "String", - "value": "f848b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc0381ff8203e8" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [ - { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sig": "f7225388c1d69d57e6251c9fda50cbbf9e05131e5adb81e5aa0422402f048162" - } - ] - }, - "envelopeMessage": { - "script": "transaction(publicKey: String) {\nprepare(signer: AuthAccount) {\nsigner.addPublicKey(publicKey.decodeHex())\n}\n}", - "arguments": [ - { - "type": "String", - "value": "f848b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc0381ff8203e8" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f90164b86e7472616e73616374696f6e287075626c69634b65793a20537472696e6729207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a7369676e65722e6164645075626c69634b6579287075626c69634b65792e6465636f64654865782829290a7d0a7df8b2b8b07b2274797065223a22537472696e67222c2276616c7565223a2266383438623834303934343838613739356130373730306336666238336530363663663537646664383766393263653730636263383163623362643366656132646637623637303733623730653336623434663335373862343364363464336661613265386534313565663663326235666534333930643561373865323338353831633665346263303338316666383230336538227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f90168f90164b86e7472616e73616374696f6e287075626c69634b65793a20537472696e6729207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a7369676e65722e6164645075626c69634b6579287075626c69634b65792e6465636f64654865782829290a7d0a7df8b2b8b07b2274797065223a22537472696e67222c2276616c7565223a2266383438623834303934343838613739356130373730306336666238336530363663663537646664383766393263653730636263383163623362643366656132646637623637303733623730653336623434663335373862343364363464336661613265386534313565663663326235666534333930643561373865323338353831633665346263303338316666383230336538227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "01595c86561441b32b2b91ee03f9e10ca6efa7b41bcc994f51317ec0aa9d8f8a42416464204e6577204b6579000101507562206b65790000537472696e670003", - "hash": "595c86561441b32b2b91ee03f9e10ca6efa7b41bcc994f51317ec0aa9d8f8a42" - }, - { - "title": "Add New Key Transaction - Valid Envelope - Valid Account Key 36", - "valid": true, - "chainID": "Mainnet", - "payloadMessage": { - "script": "transaction(publicKey: String) {\nprepare(signer: AuthAccount) {\nsigner.addPublicKey(publicKey.decodeHex())\n}\n}", - "arguments": [ - { - "type": "String", - "value": "f846b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc81ff8080" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [ - { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sig": "f7225388c1d69d57e6251c9fda50cbbf9e05131e5adb81e5aa0422402f048162" - } - ] - }, - "envelopeMessage": { - "script": "transaction(publicKey: String) {\nprepare(signer: AuthAccount) {\nsigner.addPublicKey(publicKey.decodeHex())\n}\n}", - "arguments": [ - { - "type": "String", - "value": "f846b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc81ff8080" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f90160b86e7472616e73616374696f6e287075626c69634b65793a20537472696e6729207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a7369676e65722e6164645075626c69634b6579287075626c69634b65792e6465636f64654865782829290a7d0a7df8aeb8ac7b2274797065223a22537472696e67222c2276616c7565223a22663834366238343039343438386137393561303737303063366662383365303636636635376466643837663932636537306362633831636233626433666561326466376236373037336237306533366234346633353738623433643634643366616132653865343135656636633262356665343339306435613738653233383538316336653462633831666638303830227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f90164f90160b86e7472616e73616374696f6e287075626c69634b65793a20537472696e6729207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a7369676e65722e6164645075626c69634b6579287075626c69634b65792e6465636f64654865782829290a7d0a7df8aeb8ac7b2274797065223a22537472696e67222c2276616c7565223a22663834366238343039343438386137393561303737303063366662383365303636636635376466643837663932636537306362633831636233626433666561326466376236373037336237306533366234346633353738623433643634643366616132653865343135656636633262356665343339306435613738653233383538316336653462633831666638303830227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "01595c86561441b32b2b91ee03f9e10ca6efa7b41bcc994f51317ec0aa9d8f8a42416464204e6577204b6579000101507562206b65790000537472696e670003", - "hash": "595c86561441b32b2b91ee03f9e10ca6efa7b41bcc994f51317ec0aa9d8f8a42" - }, - { - "title": "Add New Key Transaction - Valid Envelope - Valid Account Key 37", - "valid": true, - "chainID": "Mainnet", - "payloadMessage": { - "script": "transaction(publicKey: String) {\nprepare(signer: AuthAccount) {\nsigner.addPublicKey(publicKey.decodeHex())\n}\n}", - "arguments": [ - { - "type": "String", - "value": "f848b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc81ff808201f4" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [ - { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sig": "f7225388c1d69d57e6251c9fda50cbbf9e05131e5adb81e5aa0422402f048162" - } - ] - }, - "envelopeMessage": { - "script": "transaction(publicKey: String) {\nprepare(signer: AuthAccount) {\nsigner.addPublicKey(publicKey.decodeHex())\n}\n}", - "arguments": [ - { - "type": "String", - "value": "f848b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc81ff808201f4" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f90164b86e7472616e73616374696f6e287075626c69634b65793a20537472696e6729207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a7369676e65722e6164645075626c69634b6579287075626c69634b65792e6465636f64654865782829290a7d0a7df8b2b8b07b2274797065223a22537472696e67222c2276616c7565223a2266383438623834303934343838613739356130373730306336666238336530363663663537646664383766393263653730636263383163623362643366656132646637623637303733623730653336623434663335373862343364363464336661613265386534313565663663326235666534333930643561373865323338353831633665346263383166663830383230316634227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f90168f90164b86e7472616e73616374696f6e287075626c69634b65793a20537472696e6729207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a7369676e65722e6164645075626c69634b6579287075626c69634b65792e6465636f64654865782829290a7d0a7df8b2b8b07b2274797065223a22537472696e67222c2276616c7565223a2266383438623834303934343838613739356130373730306336666238336530363663663537646664383766393263653730636263383163623362643366656132646637623637303733623730653336623434663335373862343364363464336661613265386534313565663663326235666534333930643561373865323338353831633665346263383166663830383230316634227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "01595c86561441b32b2b91ee03f9e10ca6efa7b41bcc994f51317ec0aa9d8f8a42416464204e6577204b6579000101507562206b65790000537472696e670003", - "hash": "595c86561441b32b2b91ee03f9e10ca6efa7b41bcc994f51317ec0aa9d8f8a42" - }, - { - "title": "Add New Key Transaction - Valid Envelope - Valid Account Key 38", - "valid": true, - "chainID": "Mainnet", - "payloadMessage": { - "script": "transaction(publicKey: String) {\nprepare(signer: AuthAccount) {\nsigner.addPublicKey(publicKey.decodeHex())\n}\n}", - "arguments": [ - { - "type": "String", - "value": "f848b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc81ff808203e8" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [ - { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sig": "f7225388c1d69d57e6251c9fda50cbbf9e05131e5adb81e5aa0422402f048162" - } - ] - }, - "envelopeMessage": { - "script": "transaction(publicKey: String) {\nprepare(signer: AuthAccount) {\nsigner.addPublicKey(publicKey.decodeHex())\n}\n}", - "arguments": [ - { - "type": "String", - "value": "f848b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc81ff808203e8" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f90164b86e7472616e73616374696f6e287075626c69634b65793a20537472696e6729207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a7369676e65722e6164645075626c69634b6579287075626c69634b65792e6465636f64654865782829290a7d0a7df8b2b8b07b2274797065223a22537472696e67222c2276616c7565223a2266383438623834303934343838613739356130373730306336666238336530363663663537646664383766393263653730636263383163623362643366656132646637623637303733623730653336623434663335373862343364363464336661613265386534313565663663326235666534333930643561373865323338353831633665346263383166663830383230336538227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f90168f90164b86e7472616e73616374696f6e287075626c69634b65793a20537472696e6729207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a7369676e65722e6164645075626c69634b6579287075626c69634b65792e6465636f64654865782829290a7d0a7df8b2b8b07b2274797065223a22537472696e67222c2276616c7565223a2266383438623834303934343838613739356130373730306336666238336530363663663537646664383766393263653730636263383163623362643366656132646637623637303733623730653336623434663335373862343364363464336661613265386534313565663663326235666534333930643561373865323338353831633665346263383166663830383230336538227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "01595c86561441b32b2b91ee03f9e10ca6efa7b41bcc994f51317ec0aa9d8f8a42416464204e6577204b6579000101507562206b65790000537472696e670003", - "hash": "595c86561441b32b2b91ee03f9e10ca6efa7b41bcc994f51317ec0aa9d8f8a42" - }, - { - "title": "Add New Key Transaction - Valid Envelope - Valid Account Key 39", - "valid": true, - "chainID": "Mainnet", - "payloadMessage": { - "script": "transaction(publicKey: String) {\nprepare(signer: AuthAccount) {\nsigner.addPublicKey(publicKey.decodeHex())\n}\n}", - "arguments": [ - { - "type": "String", - "value": "f846b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc81ff0180" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [ - { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sig": "f7225388c1d69d57e6251c9fda50cbbf9e05131e5adb81e5aa0422402f048162" - } - ] - }, - "envelopeMessage": { - "script": "transaction(publicKey: String) {\nprepare(signer: AuthAccount) {\nsigner.addPublicKey(publicKey.decodeHex())\n}\n}", - "arguments": [ - { - "type": "String", - "value": "f846b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc81ff0180" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f90160b86e7472616e73616374696f6e287075626c69634b65793a20537472696e6729207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a7369676e65722e6164645075626c69634b6579287075626c69634b65792e6465636f64654865782829290a7d0a7df8aeb8ac7b2274797065223a22537472696e67222c2276616c7565223a22663834366238343039343438386137393561303737303063366662383365303636636635376466643837663932636537306362633831636233626433666561326466376236373037336237306533366234346633353738623433643634643366616132653865343135656636633262356665343339306435613738653233383538316336653462633831666630313830227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f90164f90160b86e7472616e73616374696f6e287075626c69634b65793a20537472696e6729207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a7369676e65722e6164645075626c69634b6579287075626c69634b65792e6465636f64654865782829290a7d0a7df8aeb8ac7b2274797065223a22537472696e67222c2276616c7565223a22663834366238343039343438386137393561303737303063366662383365303636636635376466643837663932636537306362633831636233626433666561326466376236373037336237306533366234346633353738623433643634643366616132653865343135656636633262356665343339306435613738653233383538316336653462633831666630313830227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "01595c86561441b32b2b91ee03f9e10ca6efa7b41bcc994f51317ec0aa9d8f8a42416464204e6577204b6579000101507562206b65790000537472696e670003", - "hash": "595c86561441b32b2b91ee03f9e10ca6efa7b41bcc994f51317ec0aa9d8f8a42" - }, - { - "title": "Add New Key Transaction - Valid Envelope - Valid Account Key 40", - "valid": true, - "chainID": "Mainnet", - "payloadMessage": { - "script": "transaction(publicKey: String) {\nprepare(signer: AuthAccount) {\nsigner.addPublicKey(publicKey.decodeHex())\n}\n}", - "arguments": [ - { - "type": "String", - "value": "f848b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc81ff018201f4" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [ - { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sig": "f7225388c1d69d57e6251c9fda50cbbf9e05131e5adb81e5aa0422402f048162" - } - ] - }, - "envelopeMessage": { - "script": "transaction(publicKey: String) {\nprepare(signer: AuthAccount) {\nsigner.addPublicKey(publicKey.decodeHex())\n}\n}", - "arguments": [ - { - "type": "String", - "value": "f848b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc81ff018201f4" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f90164b86e7472616e73616374696f6e287075626c69634b65793a20537472696e6729207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a7369676e65722e6164645075626c69634b6579287075626c69634b65792e6465636f64654865782829290a7d0a7df8b2b8b07b2274797065223a22537472696e67222c2276616c7565223a2266383438623834303934343838613739356130373730306336666238336530363663663537646664383766393263653730636263383163623362643366656132646637623637303733623730653336623434663335373862343364363464336661613265386534313565663663326235666534333930643561373865323338353831633665346263383166663031383230316634227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f90168f90164b86e7472616e73616374696f6e287075626c69634b65793a20537472696e6729207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a7369676e65722e6164645075626c69634b6579287075626c69634b65792e6465636f64654865782829290a7d0a7df8b2b8b07b2274797065223a22537472696e67222c2276616c7565223a2266383438623834303934343838613739356130373730306336666238336530363663663537646664383766393263653730636263383163623362643366656132646637623637303733623730653336623434663335373862343364363464336661613265386534313565663663326235666534333930643561373865323338353831633665346263383166663031383230316634227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "01595c86561441b32b2b91ee03f9e10ca6efa7b41bcc994f51317ec0aa9d8f8a42416464204e6577204b6579000101507562206b65790000537472696e670003", - "hash": "595c86561441b32b2b91ee03f9e10ca6efa7b41bcc994f51317ec0aa9d8f8a42" - }, - { - "title": "Add New Key Transaction - Valid Envelope - Valid Account Key 41", - "valid": true, - "chainID": "Mainnet", - "payloadMessage": { - "script": "transaction(publicKey: String) {\nprepare(signer: AuthAccount) {\nsigner.addPublicKey(publicKey.decodeHex())\n}\n}", - "arguments": [ - { - "type": "String", - "value": "f848b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc81ff018203e8" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [ - { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sig": "f7225388c1d69d57e6251c9fda50cbbf9e05131e5adb81e5aa0422402f048162" - } - ] - }, - "envelopeMessage": { - "script": "transaction(publicKey: String) {\nprepare(signer: AuthAccount) {\nsigner.addPublicKey(publicKey.decodeHex())\n}\n}", - "arguments": [ - { - "type": "String", - "value": "f848b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc81ff018203e8" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f90164b86e7472616e73616374696f6e287075626c69634b65793a20537472696e6729207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a7369676e65722e6164645075626c69634b6579287075626c69634b65792e6465636f64654865782829290a7d0a7df8b2b8b07b2274797065223a22537472696e67222c2276616c7565223a2266383438623834303934343838613739356130373730306336666238336530363663663537646664383766393263653730636263383163623362643366656132646637623637303733623730653336623434663335373862343364363464336661613265386534313565663663326235666534333930643561373865323338353831633665346263383166663031383230336538227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f90168f90164b86e7472616e73616374696f6e287075626c69634b65793a20537472696e6729207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a7369676e65722e6164645075626c69634b6579287075626c69634b65792e6465636f64654865782829290a7d0a7df8b2b8b07b2274797065223a22537472696e67222c2276616c7565223a2266383438623834303934343838613739356130373730306336666238336530363663663537646664383766393263653730636263383163623362643366656132646637623637303733623730653336623434663335373862343364363464336661613265386534313565663663326235666534333930643561373865323338353831633665346263383166663031383230336538227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "01595c86561441b32b2b91ee03f9e10ca6efa7b41bcc994f51317ec0aa9d8f8a42416464204e6577204b6579000101507562206b65790000537472696e670003", - "hash": "595c86561441b32b2b91ee03f9e10ca6efa7b41bcc994f51317ec0aa9d8f8a42" - }, - { - "title": "Add New Key Transaction - Valid Envelope - Valid Account Key 42", - "valid": true, - "chainID": "Mainnet", - "payloadMessage": { - "script": "transaction(publicKey: String) {\nprepare(signer: AuthAccount) {\nsigner.addPublicKey(publicKey.decodeHex())\n}\n}", - "arguments": [ - { - "type": "String", - "value": "f846b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc81ff0380" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [ - { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sig": "f7225388c1d69d57e6251c9fda50cbbf9e05131e5adb81e5aa0422402f048162" - } - ] - }, - "envelopeMessage": { - "script": "transaction(publicKey: String) {\nprepare(signer: AuthAccount) {\nsigner.addPublicKey(publicKey.decodeHex())\n}\n}", - "arguments": [ - { - "type": "String", - "value": "f846b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc81ff0380" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f90160b86e7472616e73616374696f6e287075626c69634b65793a20537472696e6729207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a7369676e65722e6164645075626c69634b6579287075626c69634b65792e6465636f64654865782829290a7d0a7df8aeb8ac7b2274797065223a22537472696e67222c2276616c7565223a22663834366238343039343438386137393561303737303063366662383365303636636635376466643837663932636537306362633831636233626433666561326466376236373037336237306533366234346633353738623433643634643366616132653865343135656636633262356665343339306435613738653233383538316336653462633831666630333830227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f90164f90160b86e7472616e73616374696f6e287075626c69634b65793a20537472696e6729207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a7369676e65722e6164645075626c69634b6579287075626c69634b65792e6465636f64654865782829290a7d0a7df8aeb8ac7b2274797065223a22537472696e67222c2276616c7565223a22663834366238343039343438386137393561303737303063366662383365303636636635376466643837663932636537306362633831636233626433666561326466376236373037336237306533366234346633353738623433643634643366616132653865343135656636633262356665343339306435613738653233383538316336653462633831666630333830227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "01595c86561441b32b2b91ee03f9e10ca6efa7b41bcc994f51317ec0aa9d8f8a42416464204e6577204b6579000101507562206b65790000537472696e670003", - "hash": "595c86561441b32b2b91ee03f9e10ca6efa7b41bcc994f51317ec0aa9d8f8a42" - }, - { - "title": "Add New Key Transaction - Valid Envelope - Valid Account Key 43", - "valid": true, - "chainID": "Mainnet", - "payloadMessage": { - "script": "transaction(publicKey: String) {\nprepare(signer: AuthAccount) {\nsigner.addPublicKey(publicKey.decodeHex())\n}\n}", - "arguments": [ - { - "type": "String", - "value": "f848b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc81ff038201f4" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [ - { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sig": "f7225388c1d69d57e6251c9fda50cbbf9e05131e5adb81e5aa0422402f048162" - } - ] - }, - "envelopeMessage": { - "script": "transaction(publicKey: String) {\nprepare(signer: AuthAccount) {\nsigner.addPublicKey(publicKey.decodeHex())\n}\n}", - "arguments": [ - { - "type": "String", - "value": "f848b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc81ff038201f4" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f90164b86e7472616e73616374696f6e287075626c69634b65793a20537472696e6729207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a7369676e65722e6164645075626c69634b6579287075626c69634b65792e6465636f64654865782829290a7d0a7df8b2b8b07b2274797065223a22537472696e67222c2276616c7565223a2266383438623834303934343838613739356130373730306336666238336530363663663537646664383766393263653730636263383163623362643366656132646637623637303733623730653336623434663335373862343364363464336661613265386534313565663663326235666534333930643561373865323338353831633665346263383166663033383230316634227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f90168f90164b86e7472616e73616374696f6e287075626c69634b65793a20537472696e6729207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a7369676e65722e6164645075626c69634b6579287075626c69634b65792e6465636f64654865782829290a7d0a7df8b2b8b07b2274797065223a22537472696e67222c2276616c7565223a2266383438623834303934343838613739356130373730306336666238336530363663663537646664383766393263653730636263383163623362643366656132646637623637303733623730653336623434663335373862343364363464336661613265386534313565663663326235666534333930643561373865323338353831633665346263383166663033383230316634227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "01595c86561441b32b2b91ee03f9e10ca6efa7b41bcc994f51317ec0aa9d8f8a42416464204e6577204b6579000101507562206b65790000537472696e670003", - "hash": "595c86561441b32b2b91ee03f9e10ca6efa7b41bcc994f51317ec0aa9d8f8a42" - }, - { - "title": "Add New Key Transaction - Valid Envelope - Valid Account Key 44", - "valid": true, - "chainID": "Mainnet", - "payloadMessage": { - "script": "transaction(publicKey: String) {\nprepare(signer: AuthAccount) {\nsigner.addPublicKey(publicKey.decodeHex())\n}\n}", - "arguments": [ - { - "type": "String", - "value": "f848b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc81ff038203e8" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [ - { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sig": "f7225388c1d69d57e6251c9fda50cbbf9e05131e5adb81e5aa0422402f048162" - } - ] - }, - "envelopeMessage": { - "script": "transaction(publicKey: String) {\nprepare(signer: AuthAccount) {\nsigner.addPublicKey(publicKey.decodeHex())\n}\n}", - "arguments": [ - { - "type": "String", - "value": "f848b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc81ff038203e8" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f90164b86e7472616e73616374696f6e287075626c69634b65793a20537472696e6729207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a7369676e65722e6164645075626c69634b6579287075626c69634b65792e6465636f64654865782829290a7d0a7df8b2b8b07b2274797065223a22537472696e67222c2276616c7565223a2266383438623834303934343838613739356130373730306336666238336530363663663537646664383766393263653730636263383163623362643366656132646637623637303733623730653336623434663335373862343364363464336661613265386534313565663663326235666534333930643561373865323338353831633665346263383166663033383230336538227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f90168f90164b86e7472616e73616374696f6e287075626c69634b65793a20537472696e6729207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a7369676e65722e6164645075626c69634b6579287075626c69634b65792e6465636f64654865782829290a7d0a7df8b2b8b07b2274797065223a22537472696e67222c2276616c7565223a2266383438623834303934343838613739356130373730306336666238336530363663663537646664383766393263653730636263383163623362643366656132646637623637303733623730653336623434663335373862343364363464336661613265386534313565663663326235666534333930643561373865323338353831633665346263383166663033383230336538227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "01595c86561441b32b2b91ee03f9e10ca6efa7b41bcc994f51317ec0aa9d8f8a42416464204e6577204b6579000101507562206b65790000537472696e670003", - "hash": "595c86561441b32b2b91ee03f9e10ca6efa7b41bcc994f51317ec0aa9d8f8a42" - }, - { - "title": "Add New Key Transaction - Valid Envelope - Valid Account Key 45", - "valid": true, - "chainID": "Mainnet", - "payloadMessage": { - "script": "transaction(publicKey: String) {\nprepare(signer: AuthAccount) {\nsigner.addPublicKey(publicKey.decodeHex())\n}\n}", - "arguments": [ - { - "type": "String", - "value": "f847b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc81ff81ff80" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [ - { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sig": "f7225388c1d69d57e6251c9fda50cbbf9e05131e5adb81e5aa0422402f048162" - } - ] - }, - "envelopeMessage": { - "script": "transaction(publicKey: String) {\nprepare(signer: AuthAccount) {\nsigner.addPublicKey(publicKey.decodeHex())\n}\n}", - "arguments": [ - { - "type": "String", - "value": "f847b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc81ff81ff80" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f90162b86e7472616e73616374696f6e287075626c69634b65793a20537472696e6729207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a7369676e65722e6164645075626c69634b6579287075626c69634b65792e6465636f64654865782829290a7d0a7df8b0b8ae7b2274797065223a22537472696e67222c2276616c7565223a226638343762383430393434383861373935613037373030633666623833653036366366353764666438376639326365373063626338316362336264336665613264663762363730373362373065333662343466333537386234336436346433666161326538653431356566366332623566653433393064356137386532333835383163366534626338316666383166663830227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f90166f90162b86e7472616e73616374696f6e287075626c69634b65793a20537472696e6729207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a7369676e65722e6164645075626c69634b6579287075626c69634b65792e6465636f64654865782829290a7d0a7df8b0b8ae7b2274797065223a22537472696e67222c2276616c7565223a226638343762383430393434383861373935613037373030633666623833653036366366353764666438376639326365373063626338316362336264336665613264663762363730373362373065333662343466333537386234336436346433666161326538653431356566366332623566653433393064356137386532333835383163366534626338316666383166663830227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "01595c86561441b32b2b91ee03f9e10ca6efa7b41bcc994f51317ec0aa9d8f8a42416464204e6577204b6579000101507562206b65790000537472696e670003", - "hash": "595c86561441b32b2b91ee03f9e10ca6efa7b41bcc994f51317ec0aa9d8f8a42" - }, - { - "title": "Add New Key Transaction - Valid Envelope - Valid Account Key 46", - "valid": true, - "chainID": "Mainnet", - "payloadMessage": { - "script": "transaction(publicKey: String) {\nprepare(signer: AuthAccount) {\nsigner.addPublicKey(publicKey.decodeHex())\n}\n}", - "arguments": [ - { - "type": "String", - "value": "f849b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc81ff81ff8201f4" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [ - { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sig": "f7225388c1d69d57e6251c9fda50cbbf9e05131e5adb81e5aa0422402f048162" - } - ] - }, - "envelopeMessage": { - "script": "transaction(publicKey: String) {\nprepare(signer: AuthAccount) {\nsigner.addPublicKey(publicKey.decodeHex())\n}\n}", - "arguments": [ - { - "type": "String", - "value": "f849b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc81ff81ff8201f4" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f90166b86e7472616e73616374696f6e287075626c69634b65793a20537472696e6729207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a7369676e65722e6164645075626c69634b6579287075626c69634b65792e6465636f64654865782829290a7d0a7df8b4b8b27b2274797065223a22537472696e67222c2276616c7565223a22663834396238343039343438386137393561303737303063366662383365303636636635376466643837663932636537306362633831636233626433666561326466376236373037336237306533366234346633353738623433643634643366616132653865343135656636633262356665343339306435613738653233383538316336653462633831666638316666383230316634227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f9016af90166b86e7472616e73616374696f6e287075626c69634b65793a20537472696e6729207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a7369676e65722e6164645075626c69634b6579287075626c69634b65792e6465636f64654865782829290a7d0a7df8b4b8b27b2274797065223a22537472696e67222c2276616c7565223a22663834396238343039343438386137393561303737303063366662383365303636636635376466643837663932636537306362633831636233626433666561326466376236373037336237306533366234346633353738623433643634643366616132653865343135656636633262356665343339306435613738653233383538316336653462633831666638316666383230316634227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "01595c86561441b32b2b91ee03f9e10ca6efa7b41bcc994f51317ec0aa9d8f8a42416464204e6577204b6579000101507562206b65790000537472696e670003", - "hash": "595c86561441b32b2b91ee03f9e10ca6efa7b41bcc994f51317ec0aa9d8f8a42" - }, - { - "title": "Add New Key Transaction - Valid Envelope - Valid Account Key 47", - "valid": true, - "chainID": "Mainnet", - "payloadMessage": { - "script": "transaction(publicKey: String) {\nprepare(signer: AuthAccount) {\nsigner.addPublicKey(publicKey.decodeHex())\n}\n}", - "arguments": [ - { - "type": "String", - "value": "f849b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc81ff81ff8203e8" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [ - { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sig": "f7225388c1d69d57e6251c9fda50cbbf9e05131e5adb81e5aa0422402f048162" - } - ] - }, - "envelopeMessage": { - "script": "transaction(publicKey: String) {\nprepare(signer: AuthAccount) {\nsigner.addPublicKey(publicKey.decodeHex())\n}\n}", - "arguments": [ - { - "type": "String", - "value": "f849b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc81ff81ff8203e8" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f90166b86e7472616e73616374696f6e287075626c69634b65793a20537472696e6729207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a7369676e65722e6164645075626c69634b6579287075626c69634b65792e6465636f64654865782829290a7d0a7df8b4b8b27b2274797065223a22537472696e67222c2276616c7565223a22663834396238343039343438386137393561303737303063366662383365303636636635376466643837663932636537306362633831636233626433666561326466376236373037336237306533366234346633353738623433643634643366616132653865343135656636633262356665343339306435613738653233383538316336653462633831666638316666383230336538227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f9016af90166b86e7472616e73616374696f6e287075626c69634b65793a20537472696e6729207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a7369676e65722e6164645075626c69634b6579287075626c69634b65792e6465636f64654865782829290a7d0a7df8b4b8b27b2274797065223a22537472696e67222c2276616c7565223a22663834396238343039343438386137393561303737303063366662383365303636636635376466643837663932636537306362633831636233626433666561326466376236373037336237306533366234346633353738623433643634643366616132653865343135656636633262356665343339306435613738653233383538316336653462633831666638316666383230336538227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "01595c86561441b32b2b91ee03f9e10ca6efa7b41bcc994f51317ec0aa9d8f8a42416464204e6577204b6579000101507562206b65790000537472696e670003", - "hash": "595c86561441b32b2b91ee03f9e10ca6efa7b41bcc994f51317ec0aa9d8f8a42" - } -] \ No newline at end of file diff --git a/transaction_metadata/testvectors/validPayloadCases.json b/transaction_metadata/testvectors/validPayloadCases.json deleted file mode 100644 index 64846e4e..00000000 --- a/transaction_metadata/testvectors/validPayloadCases.json +++ /dev/null @@ -1,6622 +0,0 @@ -[ - { - "title": "Example Transaction - Valid Payload - Zero Gas Limit", - "valid": true, - "chainID": "Mainnet", - "payloadMessage": { - "script": "transaction(publicKey: String) {\nprepare(signer: AuthAccount) {\nsigner.addPublicKey(publicKey.decodeHex())\n}\n}", - "arguments": [ - { - "type": "String", - "value": "f847b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc02038203e8" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 0, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ] - }, - "envelopeMessage": { - "script": "transaction(publicKey: String) {\nprepare(signer: AuthAccount) {\nsigner.addPublicKey(publicKey.decodeHex())\n}\n}", - "arguments": [ - { - "type": "String", - "value": "f847b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc02038203e8" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 0, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f90162b86e7472616e73616374696f6e287075626c69634b65793a20537472696e6729207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a7369676e65722e6164645075626c69634b6579287075626c69634b65792e6465636f64654865782829290a7d0a7df8b0b8ae7b2274797065223a22537472696e67222c2276616c7565223a226638343762383430393434383861373935613037373030633666623833653036366366353764666438376639326365373063626338316362336264336665613264663762363730373362373065333662343466333537386234336436346433666161326538653431356566366332623566653433393064356137386532333835383163366534626330323033383230336538227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b8088f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f90166f90162b86e7472616e73616374696f6e287075626c69634b65793a20537472696e6729207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a7369676e65722e6164645075626c69634b6579287075626c69634b65792e6465636f64654865782829290a7d0a7df8b0b8ae7b2274797065223a22537472696e67222c2276616c7565223a226638343762383430393434383861373935613037373030633666623833653036366366353764666438376639326365373063626338316362336264336665613264663762363730373362373065333662343466333537386234336436346433666161326538653431356566366332623566653433393064356137386532333835383163366534626330323033383230336538227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b8088f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "01595c86561441b32b2b91ee03f9e10ca6efa7b41bcc994f51317ec0aa9d8f8a42416464204e6577204b6579000101507562206b65790000537472696e670003", - "hash": "595c86561441b32b2b91ee03f9e10ca6efa7b41bcc994f51317ec0aa9d8f8a42" - }, - { - "title": "Example Transaction - Valid Payload - Zero proposerKey.keyId", - "valid": true, - "chainID": "Mainnet", - "payloadMessage": { - "script": "transaction(publicKey: String) {\nprepare(signer: AuthAccount) {\nsigner.addPublicKey(publicKey.decodeHex())\n}\n}", - "arguments": [ - { - "type": "String", - "value": "f847b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc02038203e8" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 0, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ] - }, - "envelopeMessage": { - "script": "transaction(publicKey: String) {\nprepare(signer: AuthAccount) {\nsigner.addPublicKey(publicKey.decodeHex())\n}\n}", - "arguments": [ - { - "type": "String", - "value": "f847b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc02038203e8" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 0, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f90162b86e7472616e73616374696f6e287075626c69634b65793a20537472696e6729207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a7369676e65722e6164645075626c69634b6579287075626c69634b65792e6465636f64654865782829290a7d0a7df8b0b8ae7b2274797065223a22537472696e67222c2276616c7565223a226638343762383430393434383861373935613037373030633666623833653036366366353764666438376639326365373063626338316362336264336665613264663762363730373362373065333662343466333537386234336436346433666161326538653431356566366332623566653433393064356137386532333835383163366534626330323033383230336538227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4800a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f90166f90162b86e7472616e73616374696f6e287075626c69634b65793a20537472696e6729207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a7369676e65722e6164645075626c69634b6579287075626c69634b65792e6465636f64654865782829290a7d0a7df8b0b8ae7b2274797065223a22537472696e67222c2276616c7565223a226638343762383430393434383861373935613037373030633666623833653036366366353764666438376639326365373063626338316362336264336665613264663762363730373362373065333662343466333537386234336436346433666161326538653431356566366332623566653433393064356137386532333835383163366534626330323033383230336538227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4800a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "01595c86561441b32b2b91ee03f9e10ca6efa7b41bcc994f51317ec0aa9d8f8a42416464204e6577204b6579000101507562206b65790000537472696e670003", - "hash": "595c86561441b32b2b91ee03f9e10ca6efa7b41bcc994f51317ec0aa9d8f8a42" - }, - { - "title": "Example Transaction - Valid Payload - Zero proposalKey.sequenceNum", - "valid": true, - "chainID": "Mainnet", - "payloadMessage": { - "script": "transaction(publicKey: String) {\nprepare(signer: AuthAccount) {\nsigner.addPublicKey(publicKey.decodeHex())\n}\n}", - "arguments": [ - { - "type": "String", - "value": "f847b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc02038203e8" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 0 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ] - }, - "envelopeMessage": { - "script": "transaction(publicKey: String) {\nprepare(signer: AuthAccount) {\nsigner.addPublicKey(publicKey.decodeHex())\n}\n}", - "arguments": [ - { - "type": "String", - "value": "f847b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc02038203e8" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 0 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f90162b86e7472616e73616374696f6e287075626c69634b65793a20537472696e6729207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a7369676e65722e6164645075626c69634b6579287075626c69634b65792e6465636f64654865782829290a7d0a7df8b0b8ae7b2274797065223a22537472696e67222c2276616c7565223a226638343762383430393434383861373935613037373030633666623833653036366366353764666438376639326365373063626338316362336264336665613264663762363730373362373065333662343466333537386234336436346433666161326538653431356566366332623566653433393064356137386532333835383163366534626330323033383230336538227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4048088f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f90166f90162b86e7472616e73616374696f6e287075626c69634b65793a20537472696e6729207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a7369676e65722e6164645075626c69634b6579287075626c69634b65792e6465636f64654865782829290a7d0a7df8b0b8ae7b2274797065223a22537472696e67222c2276616c7565223a226638343762383430393434383861373935613037373030633666623833653036366366353764666438376639326365373063626338316362336264336665613264663762363730373362373065333662343466333537386234336436346433666161326538653431356566366332623566653433393064356137386532333835383163366534626330323033383230336538227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4048088f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "01595c86561441b32b2b91ee03f9e10ca6efa7b41bcc994f51317ec0aa9d8f8a42416464204e6577204b6579000101507562206b65790000537472696e670003", - "hash": "595c86561441b32b2b91ee03f9e10ca6efa7b41bcc994f51317ec0aa9d8f8a42" - }, - { - "title": "Example Transaction - Valid Payload - Empty Authorizers", - "valid": true, - "chainID": "Mainnet", - "payloadMessage": { - "script": "transaction(publicKey: String) {\nprepare(signer: AuthAccount) {\nsigner.addPublicKey(publicKey.decodeHex())\n}\n}", - "arguments": [ - { - "type": "String", - "value": "f847b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc02038203e8" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [] - }, - "envelopeMessage": { - "script": "transaction(publicKey: String) {\nprepare(signer: AuthAccount) {\nsigner.addPublicKey(publicKey.decodeHex())\n}\n}", - "arguments": [ - { - "type": "String", - "value": "f847b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc02038203e8" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f90159b86e7472616e73616374696f6e287075626c69634b65793a20537472696e6729207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a7369676e65722e6164645075626c69634b6579287075626c69634b65792e6465636f64654865782829290a7d0a7df8b0b8ae7b2274797065223a22537472696e67222c2276616c7565223a226638343762383430393434383861373935613037373030633666623833653036366366353764666438376639326365373063626338316362336264336665613264663762363730373362373065333662343466333537386234336436346433666161326538653431356566366332623566653433393064356137386532333835383163366534626330323033383230336538227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c0", - "encodedTransactionEnvelopeHex": "f9015df90159b86e7472616e73616374696f6e287075626c69634b65793a20537472696e6729207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a7369676e65722e6164645075626c69634b6579287075626c69634b65792e6465636f64654865782829290a7d0a7df8b0b8ae7b2274797065223a22537472696e67222c2276616c7565223a226638343762383430393434383861373935613037373030633666623833653036366366353764666438376639326365373063626338316362336264336665613264663762363730373362373065333662343466333537386234336436346433666161326538653431356566366332623566653433393064356137386532333835383163366534626330323033383230336538227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c0c0", - "metadata": "01595c86561441b32b2b91ee03f9e10ca6efa7b41bcc994f51317ec0aa9d8f8a42416464204e6577204b6579000101507562206b65790000537472696e670003", - "hash": "595c86561441b32b2b91ee03f9e10ca6efa7b41bcc994f51317ec0aa9d8f8a42" - }, - { - "title": "Example Transaction - Valid Envelope - Maximum Authorizers", - "valid": true, - "chainID": "Mainnet", - "payloadMessage": { - "script": "transaction(publicKey: String) {\nprepare(signer: AuthAccount) {\nsigner.addPublicKey(publicKey.decodeHex())\n}\n}", - "arguments": [ - { - "type": "String", - "value": "f847b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc02038203e8" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4", - "a3a627d47f628e9b", - "b5f242e7e66684fa", - "5195fb3af79c8425", - "4254874588d9dcde", - "a6333e989923dc01", - "b0675bab0027d660", - "5400e27611ddd6bf", - "bb4d6932cca2a849", - "5f2ad0efdd58a896", - "497eb5dc445ca2f7", - "ad190c0155a6a228", - "1ff233dcee8f96d6", - "fb958a01ff759609", - "edc1ef3266719c68", - "09a656ef778b9cb7" - ] - }, - "envelopeMessage": { - "script": "transaction(publicKey: String) {\nprepare(signer: AuthAccount) {\nsigner.addPublicKey(publicKey.decodeHex())\n}\n}", - "arguments": [ - { - "type": "String", - "value": "f847b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc02038203e8" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4", - "a3a627d47f628e9b", - "b5f242e7e66684fa", - "5195fb3af79c8425", - "4254874588d9dcde", - "a6333e989923dc01", - "b0675bab0027d660", - "5400e27611ddd6bf", - "bb4d6932cca2a849", - "5f2ad0efdd58a896", - "497eb5dc445ca2f7", - "ad190c0155a6a228", - "1ff233dcee8f96d6", - "fb958a01ff759609", - "edc1ef3266719c68", - "09a656ef778b9cb7" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f901eab86e7472616e73616374696f6e287075626c69634b65793a20537472696e6729207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a7369676e65722e6164645075626c69634b6579287075626c69634b65792e6465636f64654865782829290a7d0a7df8b0b8ae7b2274797065223a22537472696e67222c2276616c7565223a226638343762383430393434383861373935613037373030633666623833653036366366353764666438376639326365373063626338316362336264336665613264663762363730373362373065333662343466333537386234336436346433666161326538653431356566366332623566653433393064356137386532333835383163366534626330323033383230336538227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4f89088f19c161bc24cf4b488a3a627d47f628e9b88b5f242e7e66684fa885195fb3af79c8425884254874588d9dcde88a6333e989923dc0188b0675bab0027d660885400e27611ddd6bf88bb4d6932cca2a849885f2ad0efdd58a89688497eb5dc445ca2f788ad190c0155a6a228881ff233dcee8f96d688fb958a01ff75960988edc1ef3266719c688809a656ef778b9cb7", - "encodedTransactionEnvelopeHex": "f901eef901eab86e7472616e73616374696f6e287075626c69634b65793a20537472696e6729207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a7369676e65722e6164645075626c69634b6579287075626c69634b65792e6465636f64654865782829290a7d0a7df8b0b8ae7b2274797065223a22537472696e67222c2276616c7565223a226638343762383430393434383861373935613037373030633666623833653036366366353764666438376639326365373063626338316362336264336665613264663762363730373362373065333662343466333537386234336436346433666161326538653431356566366332623566653433393064356137386532333835383163366534626330323033383230336538227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4f89088f19c161bc24cf4b488a3a627d47f628e9b88b5f242e7e66684fa885195fb3af79c8425884254874588d9dcde88a6333e989923dc0188b0675bab0027d660885400e27611ddd6bf88bb4d6932cca2a849885f2ad0efdd58a89688497eb5dc445ca2f788ad190c0155a6a228881ff233dcee8f96d688fb958a01ff75960988edc1ef3266719c688809a656ef778b9cb7c0", - "metadata": "01595c86561441b32b2b91ee03f9e10ca6efa7b41bcc994f51317ec0aa9d8f8a42416464204e6577204b6579000101507562206b65790000537472696e670003", - "hash": "595c86561441b32b2b91ee03f9e10ca6efa7b41bcc994f51317ec0aa9d8f8a42" - }, - { - "title": "Send Flow Token Transaction (Emulator) - Valid Payload - Valid Amount 0.0", - "valid": true, - "chainID": "Emulator", - "payloadMessage": { - "script": "import FungibleToken from 0xee82856bf20e2aa6\ntransaction(amount: UFix64, to: Address) {\nlet vault: @FungibleToken.Vault\nprepare(signer: AuthAccount) {\nself.vault <- signer\n.borrow<&{FungibleToken.Provider}>(from: /storage/flowTokenVault)!\n.withdraw(amount: amount)\n}\nexecute {\ngetAccount(to)\n.getCapability(/public/flowTokenReceiver)!\n.borrow<&{FungibleToken.Receiver}>()!\n.deposit(from: <-self.vault)\n}\n}", - "arguments": [ - { - "type": "UFix64", - "value": "0.0" - }, - { - "type": "Address", - "value": "0xed2d4f9eb8bcd4ac" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "ed2d4f9eb8bcd4ac", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "ed2d4f9eb8bcd4ac", - "authorizers": [ - "ed2d4f9eb8bcd4ac" - ] - }, - "envelopeMessage": { - "script": "import FungibleToken from 0xee82856bf20e2aa6\ntransaction(amount: UFix64, to: Address) {\nlet vault: @FungibleToken.Vault\nprepare(signer: AuthAccount) {\nself.vault <- signer\n.borrow<&{FungibleToken.Provider}>(from: /storage/flowTokenVault)!\n.withdraw(amount: amount)\n}\nexecute {\ngetAccount(to)\n.getCapability(/public/flowTokenReceiver)!\n.borrow<&{FungibleToken.Receiver}>()!\n.deposit(from: <-self.vault)\n}\n}", - "arguments": [ - { - "type": "UFix64", - "value": "0.0" - }, - { - "type": "Address", - "value": "0xed2d4f9eb8bcd4ac" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "ed2d4f9eb8bcd4ac", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "ed2d4f9eb8bcd4ac", - "authorizers": [ - "ed2d4f9eb8bcd4ac" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f9022ab90195696d706f72742046756e6769626c65546f6b656e2066726f6d203078656538323835366266323065326161360a7472616e73616374696f6e28616d6f756e743a205546697836342c20746f3a204164647265737329207b0a6c6574207661756c743a204046756e6769626c65546f6b656e2e5661756c740a70726570617265287369676e65723a20417574684163636f756e7429207b0a73656c662e7661756c74203c2d207369676e65720a2e626f72726f773c267b46756e6769626c65546f6b656e2e50726f76696465727d3e2866726f6d3a202f73746f726167652f666c6f77546f6b656e5661756c7429210a2e776974686472617728616d6f756e743a20616d6f756e74290a7d0a65786563757465207b0a6765744163636f756e7428746f290a2e6765744361706162696c697479282f7075626c69632f666c6f77546f6b656e526563656976657229210a2e626f72726f773c267b46756e6769626c65546f6b656e2e52656365697665727d3e2829210a2e6465706f7369742866726f6d3a203c2d73656c662e7661756c74290a7d0a7df8509f7b2274797065223a22554669783634222c2276616c7565223a22302e30227daf7b2274797065223a2241646472657373222c2276616c7565223a22307865643264346639656238626364346163227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88ed2d4f9eb8bcd4ac040a88ed2d4f9eb8bcd4acc988ed2d4f9eb8bcd4ac", - "encodedTransactionEnvelopeHex": "f9022ef9022ab90195696d706f72742046756e6769626c65546f6b656e2066726f6d203078656538323835366266323065326161360a7472616e73616374696f6e28616d6f756e743a205546697836342c20746f3a204164647265737329207b0a6c6574207661756c743a204046756e6769626c65546f6b656e2e5661756c740a70726570617265287369676e65723a20417574684163636f756e7429207b0a73656c662e7661756c74203c2d207369676e65720a2e626f72726f773c267b46756e6769626c65546f6b656e2e50726f76696465727d3e2866726f6d3a202f73746f726167652f666c6f77546f6b656e5661756c7429210a2e776974686472617728616d6f756e743a20616d6f756e74290a7d0a65786563757465207b0a6765744163636f756e7428746f290a2e6765744361706162696c697479282f7075626c69632f666c6f77546f6b656e526563656976657229210a2e626f72726f773c267b46756e6769626c65546f6b656e2e52656365697665727d3e2829210a2e6465706f7369742866726f6d3a203c2d73656c662e7661756c74290a7d0a7df8509f7b2274797065223a22554669783634222c2276616c7565223a22302e30227daf7b2274797065223a2241646472657373222c2276616c7565223a22307865643264346639656238626364346163227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88ed2d4f9eb8bcd4ac040a88ed2d4f9eb8bcd4acc988ed2d4f9eb8bcd4acc0", - "metadata": "03ca80b628d985b358ae1cb136bcd976997c942fa10dbabfeafb4e20fa66a5a5e2d56f4e1d2355cdcfacfd01e471459c6ef168bfdf84371a685ccf31cf3cdedc2d47851586d962335e3f7d9e5d11a4c527ee4b5fd1c3895e3ce1b9c2821f60b166546f6b656e205472616e73666572000201416d6f756e74000055466978363400030144657374696e6174696f6e0001416464726573730003", - "hash": "ca80b628d985b358ae1cb136bcd976997c942fa10dbabfeafb4e20fa66a5a5e2" - }, - { - "title": "Send Flow Token Transaction (Emulator) - Valid Payload - Valid Amount 184467440737.9551615", - "valid": true, - "chainID": "Emulator", - "payloadMessage": { - "script": "import FungibleToken from 0xee82856bf20e2aa6\ntransaction(amount: UFix64, to: Address) {\nlet vault: @FungibleToken.Vault\nprepare(signer: AuthAccount) {\nself.vault <- signer\n.borrow<&{FungibleToken.Provider}>(from: /storage/flowTokenVault)!\n.withdraw(amount: amount)\n}\nexecute {\ngetAccount(to)\n.getCapability(/public/flowTokenReceiver)!\n.borrow<&{FungibleToken.Receiver}>()!\n.deposit(from: <-self.vault)\n}\n}", - "arguments": [ - { - "type": "UFix64", - "value": "184467440737.9551615" - }, - { - "type": "Address", - "value": "0xed2d4f9eb8bcd4ac" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "ed2d4f9eb8bcd4ac", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "ed2d4f9eb8bcd4ac", - "authorizers": [ - "ed2d4f9eb8bcd4ac" - ] - }, - "envelopeMessage": { - "script": "import FungibleToken from 0xee82856bf20e2aa6\ntransaction(amount: UFix64, to: Address) {\nlet vault: @FungibleToken.Vault\nprepare(signer: AuthAccount) {\nself.vault <- signer\n.borrow<&{FungibleToken.Provider}>(from: /storage/flowTokenVault)!\n.withdraw(amount: amount)\n}\nexecute {\ngetAccount(to)\n.getCapability(/public/flowTokenReceiver)!\n.borrow<&{FungibleToken.Receiver}>()!\n.deposit(from: <-self.vault)\n}\n}", - "arguments": [ - { - "type": "UFix64", - "value": "184467440737.9551615" - }, - { - "type": "Address", - "value": "0xed2d4f9eb8bcd4ac" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "ed2d4f9eb8bcd4ac", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "ed2d4f9eb8bcd4ac", - "authorizers": [ - "ed2d4f9eb8bcd4ac" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f9023bb90195696d706f72742046756e6769626c65546f6b656e2066726f6d203078656538323835366266323065326161360a7472616e73616374696f6e28616d6f756e743a205546697836342c20746f3a204164647265737329207b0a6c6574207661756c743a204046756e6769626c65546f6b656e2e5661756c740a70726570617265287369676e65723a20417574684163636f756e7429207b0a73656c662e7661756c74203c2d207369676e65720a2e626f72726f773c267b46756e6769626c65546f6b656e2e50726f76696465727d3e2866726f6d3a202f73746f726167652f666c6f77546f6b656e5661756c7429210a2e776974686472617728616d6f756e743a20616d6f756e74290a7d0a65786563757465207b0a6765744163636f756e7428746f290a2e6765744361706162696c697479282f7075626c69632f666c6f77546f6b656e526563656976657229210a2e626f72726f773c267b46756e6769626c65546f6b656e2e52656365697665727d3e2829210a2e6465706f7369742866726f6d3a203c2d73656c662e7661756c74290a7d0a7df861b07b2274797065223a22554669783634222c2276616c7565223a223138343436373434303733372e39353531363135227daf7b2274797065223a2241646472657373222c2276616c7565223a22307865643264346639656238626364346163227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88ed2d4f9eb8bcd4ac040a88ed2d4f9eb8bcd4acc988ed2d4f9eb8bcd4ac", - "encodedTransactionEnvelopeHex": "f9023ff9023bb90195696d706f72742046756e6769626c65546f6b656e2066726f6d203078656538323835366266323065326161360a7472616e73616374696f6e28616d6f756e743a205546697836342c20746f3a204164647265737329207b0a6c6574207661756c743a204046756e6769626c65546f6b656e2e5661756c740a70726570617265287369676e65723a20417574684163636f756e7429207b0a73656c662e7661756c74203c2d207369676e65720a2e626f72726f773c267b46756e6769626c65546f6b656e2e50726f76696465727d3e2866726f6d3a202f73746f726167652f666c6f77546f6b656e5661756c7429210a2e776974686472617728616d6f756e743a20616d6f756e74290a7d0a65786563757465207b0a6765744163636f756e7428746f290a2e6765744361706162696c697479282f7075626c69632f666c6f77546f6b656e526563656976657229210a2e626f72726f773c267b46756e6769626c65546f6b656e2e52656365697665727d3e2829210a2e6465706f7369742866726f6d3a203c2d73656c662e7661756c74290a7d0a7df861b07b2274797065223a22554669783634222c2276616c7565223a223138343436373434303733372e39353531363135227daf7b2274797065223a2241646472657373222c2276616c7565223a22307865643264346639656238626364346163227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88ed2d4f9eb8bcd4ac040a88ed2d4f9eb8bcd4acc988ed2d4f9eb8bcd4acc0", - "metadata": "03ca80b628d985b358ae1cb136bcd976997c942fa10dbabfeafb4e20fa66a5a5e2d56f4e1d2355cdcfacfd01e471459c6ef168bfdf84371a685ccf31cf3cdedc2d47851586d962335e3f7d9e5d11a4c527ee4b5fd1c3895e3ce1b9c2821f60b166546f6b656e205472616e73666572000201416d6f756e74000055466978363400030144657374696e6174696f6e0001416464726573730003", - "hash": "ca80b628d985b358ae1cb136bcd976997c942fa10dbabfeafb4e20fa66a5a5e2" - }, - { - "title": "Send Flow Token Transaction (Testnet) - Valid Payload - Valid Amount 0.0", - "valid": true, - "chainID": "Testnet", - "payloadMessage": { - "script": "import FungibleToken from 0x9a0766d93b6608b7\ntransaction(amount: UFix64, to: Address) {\nlet vault: @FungibleToken.Vault\nprepare(signer: AuthAccount) {\nself.vault <- signer\n.borrow<&{FungibleToken.Provider}>(from: /storage/flowTokenVault)!\n.withdraw(amount: amount)\n}\nexecute {\ngetAccount(to)\n.getCapability(/public/flowTokenReceiver)!\n.borrow<&{FungibleToken.Receiver}>()!\n.deposit(from: <-self.vault)\n}\n}", - "arguments": [ - { - "type": "UFix64", - "value": "0.0" - }, - { - "type": "Address", - "value": "0x99a8ac2c71d4f6bd" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "99a8ac2c71d4f6bd", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "99a8ac2c71d4f6bd", - "authorizers": [ - "99a8ac2c71d4f6bd" - ] - }, - "envelopeMessage": { - "script": "import FungibleToken from 0x9a0766d93b6608b7\ntransaction(amount: UFix64, to: Address) {\nlet vault: @FungibleToken.Vault\nprepare(signer: AuthAccount) {\nself.vault <- signer\n.borrow<&{FungibleToken.Provider}>(from: /storage/flowTokenVault)!\n.withdraw(amount: amount)\n}\nexecute {\ngetAccount(to)\n.getCapability(/public/flowTokenReceiver)!\n.borrow<&{FungibleToken.Receiver}>()!\n.deposit(from: <-self.vault)\n}\n}", - "arguments": [ - { - "type": "UFix64", - "value": "0.0" - }, - { - "type": "Address", - "value": "0x99a8ac2c71d4f6bd" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "99a8ac2c71d4f6bd", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "99a8ac2c71d4f6bd", - "authorizers": [ - "99a8ac2c71d4f6bd" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f9022ab90195696d706f72742046756e6769626c65546f6b656e2066726f6d203078396130373636643933623636303862370a7472616e73616374696f6e28616d6f756e743a205546697836342c20746f3a204164647265737329207b0a6c6574207661756c743a204046756e6769626c65546f6b656e2e5661756c740a70726570617265287369676e65723a20417574684163636f756e7429207b0a73656c662e7661756c74203c2d207369676e65720a2e626f72726f773c267b46756e6769626c65546f6b656e2e50726f76696465727d3e2866726f6d3a202f73746f726167652f666c6f77546f6b656e5661756c7429210a2e776974686472617728616d6f756e743a20616d6f756e74290a7d0a65786563757465207b0a6765744163636f756e7428746f290a2e6765744361706162696c697479282f7075626c69632f666c6f77546f6b656e526563656976657229210a2e626f72726f773c267b46756e6769626c65546f6b656e2e52656365697665727d3e2829210a2e6465706f7369742866726f6d3a203c2d73656c662e7661756c74290a7d0a7df8509f7b2274797065223a22554669783634222c2276616c7565223a22302e30227daf7b2274797065223a2241646472657373222c2276616c7565223a22307839396138616332633731643466366264227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", - "encodedTransactionEnvelopeHex": "f9022ef9022ab90195696d706f72742046756e6769626c65546f6b656e2066726f6d203078396130373636643933623636303862370a7472616e73616374696f6e28616d6f756e743a205546697836342c20746f3a204164647265737329207b0a6c6574207661756c743a204046756e6769626c65546f6b656e2e5661756c740a70726570617265287369676e65723a20417574684163636f756e7429207b0a73656c662e7661756c74203c2d207369676e65720a2e626f72726f773c267b46756e6769626c65546f6b656e2e50726f76696465727d3e2866726f6d3a202f73746f726167652f666c6f77546f6b656e5661756c7429210a2e776974686472617728616d6f756e743a20616d6f756e74290a7d0a65786563757465207b0a6765744163636f756e7428746f290a2e6765744361706162696c697479282f7075626c69632f666c6f77546f6b656e526563656976657229210a2e626f72726f773c267b46756e6769626c65546f6b656e2e52656365697665727d3e2829210a2e6465706f7369742866726f6d3a203c2d73656c662e7661756c74290a7d0a7df8509f7b2274797065223a22554669783634222c2276616c7565223a22302e30227daf7b2274797065223a2241646472657373222c2276616c7565223a22307839396138616332633731643466366264227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", - "metadata": "03ca80b628d985b358ae1cb136bcd976997c942fa10dbabfeafb4e20fa66a5a5e2d56f4e1d2355cdcfacfd01e471459c6ef168bfdf84371a685ccf31cf3cdedc2d47851586d962335e3f7d9e5d11a4c527ee4b5fd1c3895e3ce1b9c2821f60b166546f6b656e205472616e73666572000201416d6f756e74000055466978363400030144657374696e6174696f6e0001416464726573730003", - "hash": "d56f4e1d2355cdcfacfd01e471459c6ef168bfdf84371a685ccf31cf3cdedc2d" - }, - { - "title": "Send Flow Token Transaction (Testnet) - Valid Payload - Valid Amount 184467440737.9551615", - "valid": true, - "chainID": "Testnet", - "payloadMessage": { - "script": "import FungibleToken from 0x9a0766d93b6608b7\ntransaction(amount: UFix64, to: Address) {\nlet vault: @FungibleToken.Vault\nprepare(signer: AuthAccount) {\nself.vault <- signer\n.borrow<&{FungibleToken.Provider}>(from: /storage/flowTokenVault)!\n.withdraw(amount: amount)\n}\nexecute {\ngetAccount(to)\n.getCapability(/public/flowTokenReceiver)!\n.borrow<&{FungibleToken.Receiver}>()!\n.deposit(from: <-self.vault)\n}\n}", - "arguments": [ - { - "type": "UFix64", - "value": "184467440737.9551615" - }, - { - "type": "Address", - "value": "0x99a8ac2c71d4f6bd" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "99a8ac2c71d4f6bd", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "99a8ac2c71d4f6bd", - "authorizers": [ - "99a8ac2c71d4f6bd" - ] - }, - "envelopeMessage": { - "script": "import FungibleToken from 0x9a0766d93b6608b7\ntransaction(amount: UFix64, to: Address) {\nlet vault: @FungibleToken.Vault\nprepare(signer: AuthAccount) {\nself.vault <- signer\n.borrow<&{FungibleToken.Provider}>(from: /storage/flowTokenVault)!\n.withdraw(amount: amount)\n}\nexecute {\ngetAccount(to)\n.getCapability(/public/flowTokenReceiver)!\n.borrow<&{FungibleToken.Receiver}>()!\n.deposit(from: <-self.vault)\n}\n}", - "arguments": [ - { - "type": "UFix64", - "value": "184467440737.9551615" - }, - { - "type": "Address", - "value": "0x99a8ac2c71d4f6bd" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "99a8ac2c71d4f6bd", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "99a8ac2c71d4f6bd", - "authorizers": [ - "99a8ac2c71d4f6bd" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f9023bb90195696d706f72742046756e6769626c65546f6b656e2066726f6d203078396130373636643933623636303862370a7472616e73616374696f6e28616d6f756e743a205546697836342c20746f3a204164647265737329207b0a6c6574207661756c743a204046756e6769626c65546f6b656e2e5661756c740a70726570617265287369676e65723a20417574684163636f756e7429207b0a73656c662e7661756c74203c2d207369676e65720a2e626f72726f773c267b46756e6769626c65546f6b656e2e50726f76696465727d3e2866726f6d3a202f73746f726167652f666c6f77546f6b656e5661756c7429210a2e776974686472617728616d6f756e743a20616d6f756e74290a7d0a65786563757465207b0a6765744163636f756e7428746f290a2e6765744361706162696c697479282f7075626c69632f666c6f77546f6b656e526563656976657229210a2e626f72726f773c267b46756e6769626c65546f6b656e2e52656365697665727d3e2829210a2e6465706f7369742866726f6d3a203c2d73656c662e7661756c74290a7d0a7df861b07b2274797065223a22554669783634222c2276616c7565223a223138343436373434303733372e39353531363135227daf7b2274797065223a2241646472657373222c2276616c7565223a22307839396138616332633731643466366264227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", - "encodedTransactionEnvelopeHex": "f9023ff9023bb90195696d706f72742046756e6769626c65546f6b656e2066726f6d203078396130373636643933623636303862370a7472616e73616374696f6e28616d6f756e743a205546697836342c20746f3a204164647265737329207b0a6c6574207661756c743a204046756e6769626c65546f6b656e2e5661756c740a70726570617265287369676e65723a20417574684163636f756e7429207b0a73656c662e7661756c74203c2d207369676e65720a2e626f72726f773c267b46756e6769626c65546f6b656e2e50726f76696465727d3e2866726f6d3a202f73746f726167652f666c6f77546f6b656e5661756c7429210a2e776974686472617728616d6f756e743a20616d6f756e74290a7d0a65786563757465207b0a6765744163636f756e7428746f290a2e6765744361706162696c697479282f7075626c69632f666c6f77546f6b656e526563656976657229210a2e626f72726f773c267b46756e6769626c65546f6b656e2e52656365697665727d3e2829210a2e6465706f7369742866726f6d3a203c2d73656c662e7661756c74290a7d0a7df861b07b2274797065223a22554669783634222c2276616c7565223a223138343436373434303733372e39353531363135227daf7b2274797065223a2241646472657373222c2276616c7565223a22307839396138616332633731643466366264227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", - "metadata": "03ca80b628d985b358ae1cb136bcd976997c942fa10dbabfeafb4e20fa66a5a5e2d56f4e1d2355cdcfacfd01e471459c6ef168bfdf84371a685ccf31cf3cdedc2d47851586d962335e3f7d9e5d11a4c527ee4b5fd1c3895e3ce1b9c2821f60b166546f6b656e205472616e73666572000201416d6f756e74000055466978363400030144657374696e6174696f6e0001416464726573730003", - "hash": "d56f4e1d2355cdcfacfd01e471459c6ef168bfdf84371a685ccf31cf3cdedc2d" - }, - { - "title": "Send Flow Token Transaction (Mainnet) - Valid Payload - Valid Amount 0.0", - "valid": true, - "chainID": "Mainnet", - "payloadMessage": { - "script": "import FungibleToken from 0xf233dcee88fe0abe\ntransaction(amount: UFix64, to: Address) {\nlet vault: @FungibleToken.Vault\nprepare(signer: AuthAccount) {\nself.vault <- signer\n.borrow<&{FungibleToken.Provider}>(from: /storage/flowTokenVault)!\n.withdraw(amount: amount)\n}\nexecute {\ngetAccount(to)\n.getCapability(/public/flowTokenReceiver)!\n.borrow<&{FungibleToken.Receiver}>()!\n.deposit(from: <-self.vault)\n}\n}", - "arguments": [ - { - "type": "UFix64", - "value": "0.0" - }, - { - "type": "Address", - "value": "0xf19c161bc24cf4b4" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ] - }, - "envelopeMessage": { - "script": "import FungibleToken from 0xf233dcee88fe0abe\ntransaction(amount: UFix64, to: Address) {\nlet vault: @FungibleToken.Vault\nprepare(signer: AuthAccount) {\nself.vault <- signer\n.borrow<&{FungibleToken.Provider}>(from: /storage/flowTokenVault)!\n.withdraw(amount: amount)\n}\nexecute {\ngetAccount(to)\n.getCapability(/public/flowTokenReceiver)!\n.borrow<&{FungibleToken.Receiver}>()!\n.deposit(from: <-self.vault)\n}\n}", - "arguments": [ - { - "type": "UFix64", - "value": "0.0" - }, - { - "type": "Address", - "value": "0xf19c161bc24cf4b4" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f9022ab90195696d706f72742046756e6769626c65546f6b656e2066726f6d203078663233336463656538386665306162650a7472616e73616374696f6e28616d6f756e743a205546697836342c20746f3a204164647265737329207b0a6c6574207661756c743a204046756e6769626c65546f6b656e2e5661756c740a70726570617265287369676e65723a20417574684163636f756e7429207b0a73656c662e7661756c74203c2d207369676e65720a2e626f72726f773c267b46756e6769626c65546f6b656e2e50726f76696465727d3e2866726f6d3a202f73746f726167652f666c6f77546f6b656e5661756c7429210a2e776974686472617728616d6f756e743a20616d6f756e74290a7d0a65786563757465207b0a6765744163636f756e7428746f290a2e6765744361706162696c697479282f7075626c69632f666c6f77546f6b656e526563656976657229210a2e626f72726f773c267b46756e6769626c65546f6b656e2e52656365697665727d3e2829210a2e6465706f7369742866726f6d3a203c2d73656c662e7661756c74290a7d0a7df8509f7b2274797065223a22554669783634222c2276616c7565223a22302e30227daf7b2274797065223a2241646472657373222c2276616c7565223a22307866313963313631626332346366346234227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f9022ef9022ab90195696d706f72742046756e6769626c65546f6b656e2066726f6d203078663233336463656538386665306162650a7472616e73616374696f6e28616d6f756e743a205546697836342c20746f3a204164647265737329207b0a6c6574207661756c743a204046756e6769626c65546f6b656e2e5661756c740a70726570617265287369676e65723a20417574684163636f756e7429207b0a73656c662e7661756c74203c2d207369676e65720a2e626f72726f773c267b46756e6769626c65546f6b656e2e50726f76696465727d3e2866726f6d3a202f73746f726167652f666c6f77546f6b656e5661756c7429210a2e776974686472617728616d6f756e743a20616d6f756e74290a7d0a65786563757465207b0a6765744163636f756e7428746f290a2e6765744361706162696c697479282f7075626c69632f666c6f77546f6b656e526563656976657229210a2e626f72726f773c267b46756e6769626c65546f6b656e2e52656365697665727d3e2829210a2e6465706f7369742866726f6d3a203c2d73656c662e7661756c74290a7d0a7df8509f7b2274797065223a22554669783634222c2276616c7565223a22302e30227daf7b2274797065223a2241646472657373222c2276616c7565223a22307866313963313631626332346366346234227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "03ca80b628d985b358ae1cb136bcd976997c942fa10dbabfeafb4e20fa66a5a5e2d56f4e1d2355cdcfacfd01e471459c6ef168bfdf84371a685ccf31cf3cdedc2d47851586d962335e3f7d9e5d11a4c527ee4b5fd1c3895e3ce1b9c2821f60b166546f6b656e205472616e73666572000201416d6f756e74000055466978363400030144657374696e6174696f6e0001416464726573730003", - "hash": "47851586d962335e3f7d9e5d11a4c527ee4b5fd1c3895e3ce1b9c2821f60b166" - }, - { - "title": "Send Flow Token Transaction (Mainnet) - Valid Payload - Valid Amount 184467440737.9551615", - "valid": true, - "chainID": "Mainnet", - "payloadMessage": { - "script": "import FungibleToken from 0xf233dcee88fe0abe\ntransaction(amount: UFix64, to: Address) {\nlet vault: @FungibleToken.Vault\nprepare(signer: AuthAccount) {\nself.vault <- signer\n.borrow<&{FungibleToken.Provider}>(from: /storage/flowTokenVault)!\n.withdraw(amount: amount)\n}\nexecute {\ngetAccount(to)\n.getCapability(/public/flowTokenReceiver)!\n.borrow<&{FungibleToken.Receiver}>()!\n.deposit(from: <-self.vault)\n}\n}", - "arguments": [ - { - "type": "UFix64", - "value": "184467440737.9551615" - }, - { - "type": "Address", - "value": "0xf19c161bc24cf4b4" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ] - }, - "envelopeMessage": { - "script": "import FungibleToken from 0xf233dcee88fe0abe\ntransaction(amount: UFix64, to: Address) {\nlet vault: @FungibleToken.Vault\nprepare(signer: AuthAccount) {\nself.vault <- signer\n.borrow<&{FungibleToken.Provider}>(from: /storage/flowTokenVault)!\n.withdraw(amount: amount)\n}\nexecute {\ngetAccount(to)\n.getCapability(/public/flowTokenReceiver)!\n.borrow<&{FungibleToken.Receiver}>()!\n.deposit(from: <-self.vault)\n}\n}", - "arguments": [ - { - "type": "UFix64", - "value": "184467440737.9551615" - }, - { - "type": "Address", - "value": "0xf19c161bc24cf4b4" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f9023bb90195696d706f72742046756e6769626c65546f6b656e2066726f6d203078663233336463656538386665306162650a7472616e73616374696f6e28616d6f756e743a205546697836342c20746f3a204164647265737329207b0a6c6574207661756c743a204046756e6769626c65546f6b656e2e5661756c740a70726570617265287369676e65723a20417574684163636f756e7429207b0a73656c662e7661756c74203c2d207369676e65720a2e626f72726f773c267b46756e6769626c65546f6b656e2e50726f76696465727d3e2866726f6d3a202f73746f726167652f666c6f77546f6b656e5661756c7429210a2e776974686472617728616d6f756e743a20616d6f756e74290a7d0a65786563757465207b0a6765744163636f756e7428746f290a2e6765744361706162696c697479282f7075626c69632f666c6f77546f6b656e526563656976657229210a2e626f72726f773c267b46756e6769626c65546f6b656e2e52656365697665727d3e2829210a2e6465706f7369742866726f6d3a203c2d73656c662e7661756c74290a7d0a7df861b07b2274797065223a22554669783634222c2276616c7565223a223138343436373434303733372e39353531363135227daf7b2274797065223a2241646472657373222c2276616c7565223a22307866313963313631626332346366346234227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f9023ff9023bb90195696d706f72742046756e6769626c65546f6b656e2066726f6d203078663233336463656538386665306162650a7472616e73616374696f6e28616d6f756e743a205546697836342c20746f3a204164647265737329207b0a6c6574207661756c743a204046756e6769626c65546f6b656e2e5661756c740a70726570617265287369676e65723a20417574684163636f756e7429207b0a73656c662e7661756c74203c2d207369676e65720a2e626f72726f773c267b46756e6769626c65546f6b656e2e50726f76696465727d3e2866726f6d3a202f73746f726167652f666c6f77546f6b656e5661756c7429210a2e776974686472617728616d6f756e743a20616d6f756e74290a7d0a65786563757465207b0a6765744163636f756e7428746f290a2e6765744361706162696c697479282f7075626c69632f666c6f77546f6b656e526563656976657229210a2e626f72726f773c267b46756e6769626c65546f6b656e2e52656365697665727d3e2829210a2e6465706f7369742866726f6d3a203c2d73656c662e7661756c74290a7d0a7df861b07b2274797065223a22554669783634222c2276616c7565223a223138343436373434303733372e39353531363135227daf7b2274797065223a2241646472657373222c2276616c7565223a22307866313963313631626332346366346234227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "03ca80b628d985b358ae1cb136bcd976997c942fa10dbabfeafb4e20fa66a5a5e2d56f4e1d2355cdcfacfd01e471459c6ef168bfdf84371a685ccf31cf3cdedc2d47851586d962335e3f7d9e5d11a4c527ee4b5fd1c3895e3ce1b9c2821f60b166546f6b656e205472616e73666572000201416d6f756e74000055466978363400030144657374696e6174696f6e0001416464726573730003", - "hash": "47851586d962335e3f7d9e5d11a4c527ee4b5fd1c3895e3ce1b9c2821f60b166" - }, - { - "title": "Create Account Transaction - Valid Payload - Single Account Key #0", - "valid": true, - "chainID": "Mainnet", - "payloadMessage": { - "script": "transaction(publicKeys: [String]) {\nprepare(signer: AuthAccount) {\nlet acct = AuthAccount(payer: signer)\nfor key in publicKeys {\nacct.addPublicKey(key.decodeHex())\n}\n}\n}", - "arguments": [ - { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f845b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc808080" - } - ] - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ] - }, - "envelopeMessage": { - "script": "transaction(publicKeys: [String]) {\nprepare(signer: AuthAccount) {\nlet acct = AuthAccount(payer: signer)\nfor key in publicKeys {\nacct.addPublicKey(key.decodeHex())\n}\n}\n}", - "arguments": [ - { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f845b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc808080" - } - ] - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f901b4b8a97472616e73616374696f6e287075626c69634b6579733a205b537472696e675d29207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a6c65742061636374203d20417574684163636f756e742870617965723a207369676e6572290a666f72206b657920696e207075626c69634b657973207b0a616363742e6164645075626c69634b6579286b65792e6465636f64654865782829290a7d0a7d0a7df8c7b8c57b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303934343838613739356130373730306336666238336530363663663537646664383766393263653730636263383163623362643366656132646637623637303733623730653336623434663335373862343364363464336661613265386534313565663663326235666534333930643561373865323338353831633665346263383038303830227d5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f901b8f901b4b8a97472616e73616374696f6e287075626c69634b6579733a205b537472696e675d29207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a6c65742061636374203d20417574684163636f756e742870617965723a207369676e6572290a666f72206b657920696e207075626c69634b657973207b0a616363742e6164645075626c69634b6579286b65792e6465636f64654865782829290a7d0a7d0a7df8c7b8c57b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303934343838613739356130373730306336666238336530363663663537646664383766393263653730636263383163623362643366656132646637623637303733623730653336623434663335373862343364363464336661613265386534313565663663326235666534333930643561373865323338353831633665346263383038303830227d5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "01eef2d0494448554177612e63026256258339230cbc6931ded78d6149443c6173437265617465204163636f756e740001030105507562206b65790000537472696e670003", - "hash": "eef2d0494448554177612e63026256258339230cbc6931ded78d6149443c6173" - }, - { - "title": "Create Account Transaction - Valid Payload - Single Account Key #1", - "valid": true, - "chainID": "Mainnet", - "payloadMessage": { - "script": "transaction(publicKeys: [String]) {\nprepare(signer: AuthAccount) {\nlet acct = AuthAccount(payer: signer)\nfor key in publicKeys {\nacct.addPublicKey(key.decodeHex())\n}\n}\n}", - "arguments": [ - { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f847b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc80808201f4" - } - ] - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ] - }, - "envelopeMessage": { - "script": "transaction(publicKeys: [String]) {\nprepare(signer: AuthAccount) {\nlet acct = AuthAccount(payer: signer)\nfor key in publicKeys {\nacct.addPublicKey(key.decodeHex())\n}\n}\n}", - "arguments": [ - { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f847b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc80808201f4" - } - ] - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f901b8b8a97472616e73616374696f6e287075626c69634b6579733a205b537472696e675d29207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a6c65742061636374203d20417574684163636f756e742870617965723a207369676e6572290a666f72206b657920696e207075626c69634b657973207b0a616363742e6164645075626c69634b6579286b65792e6465636f64654865782829290a7d0a7d0a7df8cbb8c97b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a226638343762383430393434383861373935613037373030633666623833653036366366353764666438376639326365373063626338316362336264336665613264663762363730373362373065333662343466333537386234336436346433666161326538653431356566366332623566653433393064356137386532333835383163366534626338303830383230316634227d5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f901bcf901b8b8a97472616e73616374696f6e287075626c69634b6579733a205b537472696e675d29207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a6c65742061636374203d20417574684163636f756e742870617965723a207369676e6572290a666f72206b657920696e207075626c69634b657973207b0a616363742e6164645075626c69634b6579286b65792e6465636f64654865782829290a7d0a7d0a7df8cbb8c97b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a226638343762383430393434383861373935613037373030633666623833653036366366353764666438376639326365373063626338316362336264336665613264663762363730373362373065333662343466333537386234336436346433666161326538653431356566366332623566653433393064356137386532333835383163366534626338303830383230316634227d5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "01eef2d0494448554177612e63026256258339230cbc6931ded78d6149443c6173437265617465204163636f756e740001030105507562206b65790000537472696e670003", - "hash": "eef2d0494448554177612e63026256258339230cbc6931ded78d6149443c6173" - }, - { - "title": "Create Account Transaction - Valid Payload - Single Account Key #2", - "valid": true, - "chainID": "Mainnet", - "payloadMessage": { - "script": "transaction(publicKeys: [String]) {\nprepare(signer: AuthAccount) {\nlet acct = AuthAccount(payer: signer)\nfor key in publicKeys {\nacct.addPublicKey(key.decodeHex())\n}\n}\n}", - "arguments": [ - { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f847b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc80808203e8" - } - ] - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ] - }, - "envelopeMessage": { - "script": "transaction(publicKeys: [String]) {\nprepare(signer: AuthAccount) {\nlet acct = AuthAccount(payer: signer)\nfor key in publicKeys {\nacct.addPublicKey(key.decodeHex())\n}\n}\n}", - "arguments": [ - { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f847b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc80808203e8" - } - ] - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f901b8b8a97472616e73616374696f6e287075626c69634b6579733a205b537472696e675d29207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a6c65742061636374203d20417574684163636f756e742870617965723a207369676e6572290a666f72206b657920696e207075626c69634b657973207b0a616363742e6164645075626c69634b6579286b65792e6465636f64654865782829290a7d0a7d0a7df8cbb8c97b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a226638343762383430393434383861373935613037373030633666623833653036366366353764666438376639326365373063626338316362336264336665613264663762363730373362373065333662343466333537386234336436346433666161326538653431356566366332623566653433393064356137386532333835383163366534626338303830383230336538227d5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f901bcf901b8b8a97472616e73616374696f6e287075626c69634b6579733a205b537472696e675d29207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a6c65742061636374203d20417574684163636f756e742870617965723a207369676e6572290a666f72206b657920696e207075626c69634b657973207b0a616363742e6164645075626c69634b6579286b65792e6465636f64654865782829290a7d0a7d0a7df8cbb8c97b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a226638343762383430393434383861373935613037373030633666623833653036366366353764666438376639326365373063626338316362336264336665613264663762363730373362373065333662343466333537386234336436346433666161326538653431356566366332623566653433393064356137386532333835383163366534626338303830383230336538227d5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "01eef2d0494448554177612e63026256258339230cbc6931ded78d6149443c6173437265617465204163636f756e740001030105507562206b65790000537472696e670003", - "hash": "eef2d0494448554177612e63026256258339230cbc6931ded78d6149443c6173" - }, - { - "title": "Create Account Transaction - Valid Payload - Single Account Key #3", - "valid": true, - "chainID": "Mainnet", - "payloadMessage": { - "script": "transaction(publicKeys: [String]) {\nprepare(signer: AuthAccount) {\nlet acct = AuthAccount(payer: signer)\nfor key in publicKeys {\nacct.addPublicKey(key.decodeHex())\n}\n}\n}", - "arguments": [ - { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f845b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc800180" - } - ] - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ] - }, - "envelopeMessage": { - "script": "transaction(publicKeys: [String]) {\nprepare(signer: AuthAccount) {\nlet acct = AuthAccount(payer: signer)\nfor key in publicKeys {\nacct.addPublicKey(key.decodeHex())\n}\n}\n}", - "arguments": [ - { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f845b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc800180" - } - ] - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f901b4b8a97472616e73616374696f6e287075626c69634b6579733a205b537472696e675d29207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a6c65742061636374203d20417574684163636f756e742870617965723a207369676e6572290a666f72206b657920696e207075626c69634b657973207b0a616363742e6164645075626c69634b6579286b65792e6465636f64654865782829290a7d0a7d0a7df8c7b8c57b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303934343838613739356130373730306336666238336530363663663537646664383766393263653730636263383163623362643366656132646637623637303733623730653336623434663335373862343364363464336661613265386534313565663663326235666534333930643561373865323338353831633665346263383030313830227d5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f901b8f901b4b8a97472616e73616374696f6e287075626c69634b6579733a205b537472696e675d29207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a6c65742061636374203d20417574684163636f756e742870617965723a207369676e6572290a666f72206b657920696e207075626c69634b657973207b0a616363742e6164645075626c69634b6579286b65792e6465636f64654865782829290a7d0a7d0a7df8c7b8c57b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303934343838613739356130373730306336666238336530363663663537646664383766393263653730636263383163623362643366656132646637623637303733623730653336623434663335373862343364363464336661613265386534313565663663326235666534333930643561373865323338353831633665346263383030313830227d5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "01eef2d0494448554177612e63026256258339230cbc6931ded78d6149443c6173437265617465204163636f756e740001030105507562206b65790000537472696e670003", - "hash": "eef2d0494448554177612e63026256258339230cbc6931ded78d6149443c6173" - }, - { - "title": "Create Account Transaction - Valid Payload - Single Account Key #4", - "valid": true, - "chainID": "Mainnet", - "payloadMessage": { - "script": "transaction(publicKeys: [String]) {\nprepare(signer: AuthAccount) {\nlet acct = AuthAccount(payer: signer)\nfor key in publicKeys {\nacct.addPublicKey(key.decodeHex())\n}\n}\n}", - "arguments": [ - { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f847b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc80018201f4" - } - ] - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ] - }, - "envelopeMessage": { - "script": "transaction(publicKeys: [String]) {\nprepare(signer: AuthAccount) {\nlet acct = AuthAccount(payer: signer)\nfor key in publicKeys {\nacct.addPublicKey(key.decodeHex())\n}\n}\n}", - "arguments": [ - { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f847b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc80018201f4" - } - ] - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f901b8b8a97472616e73616374696f6e287075626c69634b6579733a205b537472696e675d29207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a6c65742061636374203d20417574684163636f756e742870617965723a207369676e6572290a666f72206b657920696e207075626c69634b657973207b0a616363742e6164645075626c69634b6579286b65792e6465636f64654865782829290a7d0a7d0a7df8cbb8c97b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a226638343762383430393434383861373935613037373030633666623833653036366366353764666438376639326365373063626338316362336264336665613264663762363730373362373065333662343466333537386234336436346433666161326538653431356566366332623566653433393064356137386532333835383163366534626338303031383230316634227d5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f901bcf901b8b8a97472616e73616374696f6e287075626c69634b6579733a205b537472696e675d29207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a6c65742061636374203d20417574684163636f756e742870617965723a207369676e6572290a666f72206b657920696e207075626c69634b657973207b0a616363742e6164645075626c69634b6579286b65792e6465636f64654865782829290a7d0a7d0a7df8cbb8c97b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a226638343762383430393434383861373935613037373030633666623833653036366366353764666438376639326365373063626338316362336264336665613264663762363730373362373065333662343466333537386234336436346433666161326538653431356566366332623566653433393064356137386532333835383163366534626338303031383230316634227d5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "01eef2d0494448554177612e63026256258339230cbc6931ded78d6149443c6173437265617465204163636f756e740001030105507562206b65790000537472696e670003", - "hash": "eef2d0494448554177612e63026256258339230cbc6931ded78d6149443c6173" - }, - { - "title": "Create Account Transaction - Valid Payload - Single Account Key #5", - "valid": true, - "chainID": "Mainnet", - "payloadMessage": { - "script": "transaction(publicKeys: [String]) {\nprepare(signer: AuthAccount) {\nlet acct = AuthAccount(payer: signer)\nfor key in publicKeys {\nacct.addPublicKey(key.decodeHex())\n}\n}\n}", - "arguments": [ - { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f847b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc80018203e8" - } - ] - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ] - }, - "envelopeMessage": { - "script": "transaction(publicKeys: [String]) {\nprepare(signer: AuthAccount) {\nlet acct = AuthAccount(payer: signer)\nfor key in publicKeys {\nacct.addPublicKey(key.decodeHex())\n}\n}\n}", - "arguments": [ - { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f847b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc80018203e8" - } - ] - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f901b8b8a97472616e73616374696f6e287075626c69634b6579733a205b537472696e675d29207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a6c65742061636374203d20417574684163636f756e742870617965723a207369676e6572290a666f72206b657920696e207075626c69634b657973207b0a616363742e6164645075626c69634b6579286b65792e6465636f64654865782829290a7d0a7d0a7df8cbb8c97b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a226638343762383430393434383861373935613037373030633666623833653036366366353764666438376639326365373063626338316362336264336665613264663762363730373362373065333662343466333537386234336436346433666161326538653431356566366332623566653433393064356137386532333835383163366534626338303031383230336538227d5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f901bcf901b8b8a97472616e73616374696f6e287075626c69634b6579733a205b537472696e675d29207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a6c65742061636374203d20417574684163636f756e742870617965723a207369676e6572290a666f72206b657920696e207075626c69634b657973207b0a616363742e6164645075626c69634b6579286b65792e6465636f64654865782829290a7d0a7d0a7df8cbb8c97b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a226638343762383430393434383861373935613037373030633666623833653036366366353764666438376639326365373063626338316362336264336665613264663762363730373362373065333662343466333537386234336436346433666161326538653431356566366332623566653433393064356137386532333835383163366534626338303031383230336538227d5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "01eef2d0494448554177612e63026256258339230cbc6931ded78d6149443c6173437265617465204163636f756e740001030105507562206b65790000537472696e670003", - "hash": "eef2d0494448554177612e63026256258339230cbc6931ded78d6149443c6173" - }, - { - "title": "Create Account Transaction - Valid Payload - Single Account Key #6", - "valid": true, - "chainID": "Mainnet", - "payloadMessage": { - "script": "transaction(publicKeys: [String]) {\nprepare(signer: AuthAccount) {\nlet acct = AuthAccount(payer: signer)\nfor key in publicKeys {\nacct.addPublicKey(key.decodeHex())\n}\n}\n}", - "arguments": [ - { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f845b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc800380" - } - ] - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ] - }, - "envelopeMessage": { - "script": "transaction(publicKeys: [String]) {\nprepare(signer: AuthAccount) {\nlet acct = AuthAccount(payer: signer)\nfor key in publicKeys {\nacct.addPublicKey(key.decodeHex())\n}\n}\n}", - "arguments": [ - { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f845b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc800380" - } - ] - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f901b4b8a97472616e73616374696f6e287075626c69634b6579733a205b537472696e675d29207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a6c65742061636374203d20417574684163636f756e742870617965723a207369676e6572290a666f72206b657920696e207075626c69634b657973207b0a616363742e6164645075626c69634b6579286b65792e6465636f64654865782829290a7d0a7d0a7df8c7b8c57b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303934343838613739356130373730306336666238336530363663663537646664383766393263653730636263383163623362643366656132646637623637303733623730653336623434663335373862343364363464336661613265386534313565663663326235666534333930643561373865323338353831633665346263383030333830227d5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f901b8f901b4b8a97472616e73616374696f6e287075626c69634b6579733a205b537472696e675d29207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a6c65742061636374203d20417574684163636f756e742870617965723a207369676e6572290a666f72206b657920696e207075626c69634b657973207b0a616363742e6164645075626c69634b6579286b65792e6465636f64654865782829290a7d0a7d0a7df8c7b8c57b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303934343838613739356130373730306336666238336530363663663537646664383766393263653730636263383163623362643366656132646637623637303733623730653336623434663335373862343364363464336661613265386534313565663663326235666534333930643561373865323338353831633665346263383030333830227d5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "01eef2d0494448554177612e63026256258339230cbc6931ded78d6149443c6173437265617465204163636f756e740001030105507562206b65790000537472696e670003", - "hash": "eef2d0494448554177612e63026256258339230cbc6931ded78d6149443c6173" - }, - { - "title": "Create Account Transaction - Valid Payload - Single Account Key #7", - "valid": true, - "chainID": "Mainnet", - "payloadMessage": { - "script": "transaction(publicKeys: [String]) {\nprepare(signer: AuthAccount) {\nlet acct = AuthAccount(payer: signer)\nfor key in publicKeys {\nacct.addPublicKey(key.decodeHex())\n}\n}\n}", - "arguments": [ - { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f847b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc80038201f4" - } - ] - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ] - }, - "envelopeMessage": { - "script": "transaction(publicKeys: [String]) {\nprepare(signer: AuthAccount) {\nlet acct = AuthAccount(payer: signer)\nfor key in publicKeys {\nacct.addPublicKey(key.decodeHex())\n}\n}\n}", - "arguments": [ - { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f847b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc80038201f4" - } - ] - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f901b8b8a97472616e73616374696f6e287075626c69634b6579733a205b537472696e675d29207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a6c65742061636374203d20417574684163636f756e742870617965723a207369676e6572290a666f72206b657920696e207075626c69634b657973207b0a616363742e6164645075626c69634b6579286b65792e6465636f64654865782829290a7d0a7d0a7df8cbb8c97b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a226638343762383430393434383861373935613037373030633666623833653036366366353764666438376639326365373063626338316362336264336665613264663762363730373362373065333662343466333537386234336436346433666161326538653431356566366332623566653433393064356137386532333835383163366534626338303033383230316634227d5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f901bcf901b8b8a97472616e73616374696f6e287075626c69634b6579733a205b537472696e675d29207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a6c65742061636374203d20417574684163636f756e742870617965723a207369676e6572290a666f72206b657920696e207075626c69634b657973207b0a616363742e6164645075626c69634b6579286b65792e6465636f64654865782829290a7d0a7d0a7df8cbb8c97b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a226638343762383430393434383861373935613037373030633666623833653036366366353764666438376639326365373063626338316362336264336665613264663762363730373362373065333662343466333537386234336436346433666161326538653431356566366332623566653433393064356137386532333835383163366534626338303033383230316634227d5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "01eef2d0494448554177612e63026256258339230cbc6931ded78d6149443c6173437265617465204163636f756e740001030105507562206b65790000537472696e670003", - "hash": "eef2d0494448554177612e63026256258339230cbc6931ded78d6149443c6173" - }, - { - "title": "Create Account Transaction - Valid Payload - Single Account Key #8", - "valid": true, - "chainID": "Mainnet", - "payloadMessage": { - "script": "transaction(publicKeys: [String]) {\nprepare(signer: AuthAccount) {\nlet acct = AuthAccount(payer: signer)\nfor key in publicKeys {\nacct.addPublicKey(key.decodeHex())\n}\n}\n}", - "arguments": [ - { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f847b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc80038203e8" - } - ] - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ] - }, - "envelopeMessage": { - "script": "transaction(publicKeys: [String]) {\nprepare(signer: AuthAccount) {\nlet acct = AuthAccount(payer: signer)\nfor key in publicKeys {\nacct.addPublicKey(key.decodeHex())\n}\n}\n}", - "arguments": [ - { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f847b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc80038203e8" - } - ] - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f901b8b8a97472616e73616374696f6e287075626c69634b6579733a205b537472696e675d29207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a6c65742061636374203d20417574684163636f756e742870617965723a207369676e6572290a666f72206b657920696e207075626c69634b657973207b0a616363742e6164645075626c69634b6579286b65792e6465636f64654865782829290a7d0a7d0a7df8cbb8c97b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a226638343762383430393434383861373935613037373030633666623833653036366366353764666438376639326365373063626338316362336264336665613264663762363730373362373065333662343466333537386234336436346433666161326538653431356566366332623566653433393064356137386532333835383163366534626338303033383230336538227d5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f901bcf901b8b8a97472616e73616374696f6e287075626c69634b6579733a205b537472696e675d29207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a6c65742061636374203d20417574684163636f756e742870617965723a207369676e6572290a666f72206b657920696e207075626c69634b657973207b0a616363742e6164645075626c69634b6579286b65792e6465636f64654865782829290a7d0a7d0a7df8cbb8c97b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a226638343762383430393434383861373935613037373030633666623833653036366366353764666438376639326365373063626338316362336264336665613264663762363730373362373065333662343466333537386234336436346433666161326538653431356566366332623566653433393064356137386532333835383163366534626338303033383230336538227d5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "01eef2d0494448554177612e63026256258339230cbc6931ded78d6149443c6173437265617465204163636f756e740001030105507562206b65790000537472696e670003", - "hash": "eef2d0494448554177612e63026256258339230cbc6931ded78d6149443c6173" - }, - { - "title": "Create Account Transaction - Valid Payload - Single Account Key #9", - "valid": true, - "chainID": "Mainnet", - "payloadMessage": { - "script": "transaction(publicKeys: [String]) {\nprepare(signer: AuthAccount) {\nlet acct = AuthAccount(payer: signer)\nfor key in publicKeys {\nacct.addPublicKey(key.decodeHex())\n}\n}\n}", - "arguments": [ - { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f846b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc8081ff80" - } - ] - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ] - }, - "envelopeMessage": { - "script": "transaction(publicKeys: [String]) {\nprepare(signer: AuthAccount) {\nlet acct = AuthAccount(payer: signer)\nfor key in publicKeys {\nacct.addPublicKey(key.decodeHex())\n}\n}\n}", - "arguments": [ - { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f846b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc8081ff80" - } - ] - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f901b6b8a97472616e73616374696f6e287075626c69634b6579733a205b537472696e675d29207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a6c65742061636374203d20417574684163636f756e742870617965723a207369676e6572290a666f72206b657920696e207075626c69634b657973207b0a616363742e6164645075626c69634b6579286b65792e6465636f64654865782829290a7d0a7d0a7df8c9b8c77b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a22663834366238343039343438386137393561303737303063366662383365303636636635376466643837663932636537306362633831636233626433666561326466376236373037336237306533366234346633353738623433643634643366616132653865343135656636633262356665343339306435613738653233383538316336653462633830383166663830227d5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f901baf901b6b8a97472616e73616374696f6e287075626c69634b6579733a205b537472696e675d29207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a6c65742061636374203d20417574684163636f756e742870617965723a207369676e6572290a666f72206b657920696e207075626c69634b657973207b0a616363742e6164645075626c69634b6579286b65792e6465636f64654865782829290a7d0a7d0a7df8c9b8c77b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a22663834366238343039343438386137393561303737303063366662383365303636636635376466643837663932636537306362633831636233626433666561326466376236373037336237306533366234346633353738623433643634643366616132653865343135656636633262356665343339306435613738653233383538316336653462633830383166663830227d5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "01eef2d0494448554177612e63026256258339230cbc6931ded78d6149443c6173437265617465204163636f756e740001030105507562206b65790000537472696e670003", - "hash": "eef2d0494448554177612e63026256258339230cbc6931ded78d6149443c6173" - }, - { - "title": "Create Account Transaction - Valid Payload - Single Account Key #10", - "valid": true, - "chainID": "Mainnet", - "payloadMessage": { - "script": "transaction(publicKeys: [String]) {\nprepare(signer: AuthAccount) {\nlet acct = AuthAccount(payer: signer)\nfor key in publicKeys {\nacct.addPublicKey(key.decodeHex())\n}\n}\n}", - "arguments": [ - { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f848b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc8081ff8201f4" - } - ] - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ] - }, - "envelopeMessage": { - "script": "transaction(publicKeys: [String]) {\nprepare(signer: AuthAccount) {\nlet acct = AuthAccount(payer: signer)\nfor key in publicKeys {\nacct.addPublicKey(key.decodeHex())\n}\n}\n}", - "arguments": [ - { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f848b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc8081ff8201f4" - } - ] - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f901bab8a97472616e73616374696f6e287075626c69634b6579733a205b537472696e675d29207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a6c65742061636374203d20417574684163636f756e742870617965723a207369676e6572290a666f72206b657920696e207075626c69634b657973207b0a616363742e6164645075626c69634b6579286b65792e6465636f64654865782829290a7d0a7d0a7df8cdb8cb7b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a2266383438623834303934343838613739356130373730306336666238336530363663663537646664383766393263653730636263383163623362643366656132646637623637303733623730653336623434663335373862343364363464336661613265386534313565663663326235666534333930643561373865323338353831633665346263383038316666383230316634227d5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f901bef901bab8a97472616e73616374696f6e287075626c69634b6579733a205b537472696e675d29207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a6c65742061636374203d20417574684163636f756e742870617965723a207369676e6572290a666f72206b657920696e207075626c69634b657973207b0a616363742e6164645075626c69634b6579286b65792e6465636f64654865782829290a7d0a7d0a7df8cdb8cb7b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a2266383438623834303934343838613739356130373730306336666238336530363663663537646664383766393263653730636263383163623362643366656132646637623637303733623730653336623434663335373862343364363464336661613265386534313565663663326235666534333930643561373865323338353831633665346263383038316666383230316634227d5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "01eef2d0494448554177612e63026256258339230cbc6931ded78d6149443c6173437265617465204163636f756e740001030105507562206b65790000537472696e670003", - "hash": "eef2d0494448554177612e63026256258339230cbc6931ded78d6149443c6173" - }, - { - "title": "Create Account Transaction - Valid Payload - Single Account Key #11", - "valid": true, - "chainID": "Mainnet", - "payloadMessage": { - "script": "transaction(publicKeys: [String]) {\nprepare(signer: AuthAccount) {\nlet acct = AuthAccount(payer: signer)\nfor key in publicKeys {\nacct.addPublicKey(key.decodeHex())\n}\n}\n}", - "arguments": [ - { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f848b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc8081ff8203e8" - } - ] - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ] - }, - "envelopeMessage": { - "script": "transaction(publicKeys: [String]) {\nprepare(signer: AuthAccount) {\nlet acct = AuthAccount(payer: signer)\nfor key in publicKeys {\nacct.addPublicKey(key.decodeHex())\n}\n}\n}", - "arguments": [ - { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f848b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc8081ff8203e8" - } - ] - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f901bab8a97472616e73616374696f6e287075626c69634b6579733a205b537472696e675d29207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a6c65742061636374203d20417574684163636f756e742870617965723a207369676e6572290a666f72206b657920696e207075626c69634b657973207b0a616363742e6164645075626c69634b6579286b65792e6465636f64654865782829290a7d0a7d0a7df8cdb8cb7b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a2266383438623834303934343838613739356130373730306336666238336530363663663537646664383766393263653730636263383163623362643366656132646637623637303733623730653336623434663335373862343364363464336661613265386534313565663663326235666534333930643561373865323338353831633665346263383038316666383230336538227d5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f901bef901bab8a97472616e73616374696f6e287075626c69634b6579733a205b537472696e675d29207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a6c65742061636374203d20417574684163636f756e742870617965723a207369676e6572290a666f72206b657920696e207075626c69634b657973207b0a616363742e6164645075626c69634b6579286b65792e6465636f64654865782829290a7d0a7d0a7df8cdb8cb7b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a2266383438623834303934343838613739356130373730306336666238336530363663663537646664383766393263653730636263383163623362643366656132646637623637303733623730653336623434663335373862343364363464336661613265386534313565663663326235666534333930643561373865323338353831633665346263383038316666383230336538227d5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "01eef2d0494448554177612e63026256258339230cbc6931ded78d6149443c6173437265617465204163636f756e740001030105507562206b65790000537472696e670003", - "hash": "eef2d0494448554177612e63026256258339230cbc6931ded78d6149443c6173" - }, - { - "title": "Create Account Transaction - Valid Payload - Single Account Key #12", - "valid": true, - "chainID": "Mainnet", - "payloadMessage": { - "script": "transaction(publicKeys: [String]) {\nprepare(signer: AuthAccount) {\nlet acct = AuthAccount(payer: signer)\nfor key in publicKeys {\nacct.addPublicKey(key.decodeHex())\n}\n}\n}", - "arguments": [ - { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f845b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc028080" - } - ] - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ] - }, - "envelopeMessage": { - "script": "transaction(publicKeys: [String]) {\nprepare(signer: AuthAccount) {\nlet acct = AuthAccount(payer: signer)\nfor key in publicKeys {\nacct.addPublicKey(key.decodeHex())\n}\n}\n}", - "arguments": [ - { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f845b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc028080" - } - ] - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f901b4b8a97472616e73616374696f6e287075626c69634b6579733a205b537472696e675d29207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a6c65742061636374203d20417574684163636f756e742870617965723a207369676e6572290a666f72206b657920696e207075626c69634b657973207b0a616363742e6164645075626c69634b6579286b65792e6465636f64654865782829290a7d0a7d0a7df8c7b8c57b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303934343838613739356130373730306336666238336530363663663537646664383766393263653730636263383163623362643366656132646637623637303733623730653336623434663335373862343364363464336661613265386534313565663663326235666534333930643561373865323338353831633665346263303238303830227d5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f901b8f901b4b8a97472616e73616374696f6e287075626c69634b6579733a205b537472696e675d29207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a6c65742061636374203d20417574684163636f756e742870617965723a207369676e6572290a666f72206b657920696e207075626c69634b657973207b0a616363742e6164645075626c69634b6579286b65792e6465636f64654865782829290a7d0a7d0a7df8c7b8c57b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303934343838613739356130373730306336666238336530363663663537646664383766393263653730636263383163623362643366656132646637623637303733623730653336623434663335373862343364363464336661613265386534313565663663326235666534333930643561373865323338353831633665346263303238303830227d5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "01eef2d0494448554177612e63026256258339230cbc6931ded78d6149443c6173437265617465204163636f756e740001030105507562206b65790000537472696e670003", - "hash": "eef2d0494448554177612e63026256258339230cbc6931ded78d6149443c6173" - }, - { - "title": "Create Account Transaction - Valid Payload - Single Account Key #13", - "valid": true, - "chainID": "Mainnet", - "payloadMessage": { - "script": "transaction(publicKeys: [String]) {\nprepare(signer: AuthAccount) {\nlet acct = AuthAccount(payer: signer)\nfor key in publicKeys {\nacct.addPublicKey(key.decodeHex())\n}\n}\n}", - "arguments": [ - { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f847b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc02808201f4" - } - ] - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ] - }, - "envelopeMessage": { - "script": "transaction(publicKeys: [String]) {\nprepare(signer: AuthAccount) {\nlet acct = AuthAccount(payer: signer)\nfor key in publicKeys {\nacct.addPublicKey(key.decodeHex())\n}\n}\n}", - "arguments": [ - { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f847b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc02808201f4" - } - ] - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f901b8b8a97472616e73616374696f6e287075626c69634b6579733a205b537472696e675d29207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a6c65742061636374203d20417574684163636f756e742870617965723a207369676e6572290a666f72206b657920696e207075626c69634b657973207b0a616363742e6164645075626c69634b6579286b65792e6465636f64654865782829290a7d0a7d0a7df8cbb8c97b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a226638343762383430393434383861373935613037373030633666623833653036366366353764666438376639326365373063626338316362336264336665613264663762363730373362373065333662343466333537386234336436346433666161326538653431356566366332623566653433393064356137386532333835383163366534626330323830383230316634227d5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f901bcf901b8b8a97472616e73616374696f6e287075626c69634b6579733a205b537472696e675d29207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a6c65742061636374203d20417574684163636f756e742870617965723a207369676e6572290a666f72206b657920696e207075626c69634b657973207b0a616363742e6164645075626c69634b6579286b65792e6465636f64654865782829290a7d0a7d0a7df8cbb8c97b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a226638343762383430393434383861373935613037373030633666623833653036366366353764666438376639326365373063626338316362336264336665613264663762363730373362373065333662343466333537386234336436346433666161326538653431356566366332623566653433393064356137386532333835383163366534626330323830383230316634227d5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "01eef2d0494448554177612e63026256258339230cbc6931ded78d6149443c6173437265617465204163636f756e740001030105507562206b65790000537472696e670003", - "hash": "eef2d0494448554177612e63026256258339230cbc6931ded78d6149443c6173" - }, - { - "title": "Create Account Transaction - Valid Payload - Single Account Key #14", - "valid": true, - "chainID": "Mainnet", - "payloadMessage": { - "script": "transaction(publicKeys: [String]) {\nprepare(signer: AuthAccount) {\nlet acct = AuthAccount(payer: signer)\nfor key in publicKeys {\nacct.addPublicKey(key.decodeHex())\n}\n}\n}", - "arguments": [ - { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f847b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc02808203e8" - } - ] - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ] - }, - "envelopeMessage": { - "script": "transaction(publicKeys: [String]) {\nprepare(signer: AuthAccount) {\nlet acct = AuthAccount(payer: signer)\nfor key in publicKeys {\nacct.addPublicKey(key.decodeHex())\n}\n}\n}", - "arguments": [ - { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f847b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc02808203e8" - } - ] - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f901b8b8a97472616e73616374696f6e287075626c69634b6579733a205b537472696e675d29207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a6c65742061636374203d20417574684163636f756e742870617965723a207369676e6572290a666f72206b657920696e207075626c69634b657973207b0a616363742e6164645075626c69634b6579286b65792e6465636f64654865782829290a7d0a7d0a7df8cbb8c97b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a226638343762383430393434383861373935613037373030633666623833653036366366353764666438376639326365373063626338316362336264336665613264663762363730373362373065333662343466333537386234336436346433666161326538653431356566366332623566653433393064356137386532333835383163366534626330323830383230336538227d5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f901bcf901b8b8a97472616e73616374696f6e287075626c69634b6579733a205b537472696e675d29207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a6c65742061636374203d20417574684163636f756e742870617965723a207369676e6572290a666f72206b657920696e207075626c69634b657973207b0a616363742e6164645075626c69634b6579286b65792e6465636f64654865782829290a7d0a7d0a7df8cbb8c97b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a226638343762383430393434383861373935613037373030633666623833653036366366353764666438376639326365373063626338316362336264336665613264663762363730373362373065333662343466333537386234336436346433666161326538653431356566366332623566653433393064356137386532333835383163366534626330323830383230336538227d5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "01eef2d0494448554177612e63026256258339230cbc6931ded78d6149443c6173437265617465204163636f756e740001030105507562206b65790000537472696e670003", - "hash": "eef2d0494448554177612e63026256258339230cbc6931ded78d6149443c6173" - }, - { - "title": "Create Account Transaction - Valid Payload - Single Account Key #15", - "valid": true, - "chainID": "Mainnet", - "payloadMessage": { - "script": "transaction(publicKeys: [String]) {\nprepare(signer: AuthAccount) {\nlet acct = AuthAccount(payer: signer)\nfor key in publicKeys {\nacct.addPublicKey(key.decodeHex())\n}\n}\n}", - "arguments": [ - { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f845b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc020180" - } - ] - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ] - }, - "envelopeMessage": { - "script": "transaction(publicKeys: [String]) {\nprepare(signer: AuthAccount) {\nlet acct = AuthAccount(payer: signer)\nfor key in publicKeys {\nacct.addPublicKey(key.decodeHex())\n}\n}\n}", - "arguments": [ - { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f845b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc020180" - } - ] - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f901b4b8a97472616e73616374696f6e287075626c69634b6579733a205b537472696e675d29207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a6c65742061636374203d20417574684163636f756e742870617965723a207369676e6572290a666f72206b657920696e207075626c69634b657973207b0a616363742e6164645075626c69634b6579286b65792e6465636f64654865782829290a7d0a7d0a7df8c7b8c57b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303934343838613739356130373730306336666238336530363663663537646664383766393263653730636263383163623362643366656132646637623637303733623730653336623434663335373862343364363464336661613265386534313565663663326235666534333930643561373865323338353831633665346263303230313830227d5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f901b8f901b4b8a97472616e73616374696f6e287075626c69634b6579733a205b537472696e675d29207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a6c65742061636374203d20417574684163636f756e742870617965723a207369676e6572290a666f72206b657920696e207075626c69634b657973207b0a616363742e6164645075626c69634b6579286b65792e6465636f64654865782829290a7d0a7d0a7df8c7b8c57b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303934343838613739356130373730306336666238336530363663663537646664383766393263653730636263383163623362643366656132646637623637303733623730653336623434663335373862343364363464336661613265386534313565663663326235666534333930643561373865323338353831633665346263303230313830227d5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "01eef2d0494448554177612e63026256258339230cbc6931ded78d6149443c6173437265617465204163636f756e740001030105507562206b65790000537472696e670003", - "hash": "eef2d0494448554177612e63026256258339230cbc6931ded78d6149443c6173" - }, - { - "title": "Create Account Transaction - Valid Payload - Single Account Key #16", - "valid": true, - "chainID": "Mainnet", - "payloadMessage": { - "script": "transaction(publicKeys: [String]) {\nprepare(signer: AuthAccount) {\nlet acct = AuthAccount(payer: signer)\nfor key in publicKeys {\nacct.addPublicKey(key.decodeHex())\n}\n}\n}", - "arguments": [ - { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f847b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc02018201f4" - } - ] - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ] - }, - "envelopeMessage": { - "script": "transaction(publicKeys: [String]) {\nprepare(signer: AuthAccount) {\nlet acct = AuthAccount(payer: signer)\nfor key in publicKeys {\nacct.addPublicKey(key.decodeHex())\n}\n}\n}", - "arguments": [ - { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f847b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc02018201f4" - } - ] - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f901b8b8a97472616e73616374696f6e287075626c69634b6579733a205b537472696e675d29207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a6c65742061636374203d20417574684163636f756e742870617965723a207369676e6572290a666f72206b657920696e207075626c69634b657973207b0a616363742e6164645075626c69634b6579286b65792e6465636f64654865782829290a7d0a7d0a7df8cbb8c97b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a226638343762383430393434383861373935613037373030633666623833653036366366353764666438376639326365373063626338316362336264336665613264663762363730373362373065333662343466333537386234336436346433666161326538653431356566366332623566653433393064356137386532333835383163366534626330323031383230316634227d5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f901bcf901b8b8a97472616e73616374696f6e287075626c69634b6579733a205b537472696e675d29207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a6c65742061636374203d20417574684163636f756e742870617965723a207369676e6572290a666f72206b657920696e207075626c69634b657973207b0a616363742e6164645075626c69634b6579286b65792e6465636f64654865782829290a7d0a7d0a7df8cbb8c97b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a226638343762383430393434383861373935613037373030633666623833653036366366353764666438376639326365373063626338316362336264336665613264663762363730373362373065333662343466333537386234336436346433666161326538653431356566366332623566653433393064356137386532333835383163366534626330323031383230316634227d5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "01eef2d0494448554177612e63026256258339230cbc6931ded78d6149443c6173437265617465204163636f756e740001030105507562206b65790000537472696e670003", - "hash": "eef2d0494448554177612e63026256258339230cbc6931ded78d6149443c6173" - }, - { - "title": "Create Account Transaction - Valid Payload - Single Account Key #17", - "valid": true, - "chainID": "Mainnet", - "payloadMessage": { - "script": "transaction(publicKeys: [String]) {\nprepare(signer: AuthAccount) {\nlet acct = AuthAccount(payer: signer)\nfor key in publicKeys {\nacct.addPublicKey(key.decodeHex())\n}\n}\n}", - "arguments": [ - { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f847b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc02018203e8" - } - ] - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ] - }, - "envelopeMessage": { - "script": "transaction(publicKeys: [String]) {\nprepare(signer: AuthAccount) {\nlet acct = AuthAccount(payer: signer)\nfor key in publicKeys {\nacct.addPublicKey(key.decodeHex())\n}\n}\n}", - "arguments": [ - { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f847b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc02018203e8" - } - ] - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f901b8b8a97472616e73616374696f6e287075626c69634b6579733a205b537472696e675d29207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a6c65742061636374203d20417574684163636f756e742870617965723a207369676e6572290a666f72206b657920696e207075626c69634b657973207b0a616363742e6164645075626c69634b6579286b65792e6465636f64654865782829290a7d0a7d0a7df8cbb8c97b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a226638343762383430393434383861373935613037373030633666623833653036366366353764666438376639326365373063626338316362336264336665613264663762363730373362373065333662343466333537386234336436346433666161326538653431356566366332623566653433393064356137386532333835383163366534626330323031383230336538227d5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f901bcf901b8b8a97472616e73616374696f6e287075626c69634b6579733a205b537472696e675d29207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a6c65742061636374203d20417574684163636f756e742870617965723a207369676e6572290a666f72206b657920696e207075626c69634b657973207b0a616363742e6164645075626c69634b6579286b65792e6465636f64654865782829290a7d0a7d0a7df8cbb8c97b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a226638343762383430393434383861373935613037373030633666623833653036366366353764666438376639326365373063626338316362336264336665613264663762363730373362373065333662343466333537386234336436346433666161326538653431356566366332623566653433393064356137386532333835383163366534626330323031383230336538227d5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "01eef2d0494448554177612e63026256258339230cbc6931ded78d6149443c6173437265617465204163636f756e740001030105507562206b65790000537472696e670003", - "hash": "eef2d0494448554177612e63026256258339230cbc6931ded78d6149443c6173" - }, - { - "title": "Create Account Transaction - Valid Payload - Single Account Key #18", - "valid": true, - "chainID": "Mainnet", - "payloadMessage": { - "script": "transaction(publicKeys: [String]) {\nprepare(signer: AuthAccount) {\nlet acct = AuthAccount(payer: signer)\nfor key in publicKeys {\nacct.addPublicKey(key.decodeHex())\n}\n}\n}", - "arguments": [ - { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f845b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc020380" - } - ] - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ] - }, - "envelopeMessage": { - "script": "transaction(publicKeys: [String]) {\nprepare(signer: AuthAccount) {\nlet acct = AuthAccount(payer: signer)\nfor key in publicKeys {\nacct.addPublicKey(key.decodeHex())\n}\n}\n}", - "arguments": [ - { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f845b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc020380" - } - ] - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f901b4b8a97472616e73616374696f6e287075626c69634b6579733a205b537472696e675d29207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a6c65742061636374203d20417574684163636f756e742870617965723a207369676e6572290a666f72206b657920696e207075626c69634b657973207b0a616363742e6164645075626c69634b6579286b65792e6465636f64654865782829290a7d0a7d0a7df8c7b8c57b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303934343838613739356130373730306336666238336530363663663537646664383766393263653730636263383163623362643366656132646637623637303733623730653336623434663335373862343364363464336661613265386534313565663663326235666534333930643561373865323338353831633665346263303230333830227d5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f901b8f901b4b8a97472616e73616374696f6e287075626c69634b6579733a205b537472696e675d29207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a6c65742061636374203d20417574684163636f756e742870617965723a207369676e6572290a666f72206b657920696e207075626c69634b657973207b0a616363742e6164645075626c69634b6579286b65792e6465636f64654865782829290a7d0a7d0a7df8c7b8c57b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303934343838613739356130373730306336666238336530363663663537646664383766393263653730636263383163623362643366656132646637623637303733623730653336623434663335373862343364363464336661613265386534313565663663326235666534333930643561373865323338353831633665346263303230333830227d5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "01eef2d0494448554177612e63026256258339230cbc6931ded78d6149443c6173437265617465204163636f756e740001030105507562206b65790000537472696e670003", - "hash": "eef2d0494448554177612e63026256258339230cbc6931ded78d6149443c6173" - }, - { - "title": "Create Account Transaction - Valid Payload - Single Account Key #19", - "valid": true, - "chainID": "Mainnet", - "payloadMessage": { - "script": "transaction(publicKeys: [String]) {\nprepare(signer: AuthAccount) {\nlet acct = AuthAccount(payer: signer)\nfor key in publicKeys {\nacct.addPublicKey(key.decodeHex())\n}\n}\n}", - "arguments": [ - { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f847b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc02038201f4" - } - ] - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ] - }, - "envelopeMessage": { - "script": "transaction(publicKeys: [String]) {\nprepare(signer: AuthAccount) {\nlet acct = AuthAccount(payer: signer)\nfor key in publicKeys {\nacct.addPublicKey(key.decodeHex())\n}\n}\n}", - "arguments": [ - { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f847b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc02038201f4" - } - ] - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f901b8b8a97472616e73616374696f6e287075626c69634b6579733a205b537472696e675d29207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a6c65742061636374203d20417574684163636f756e742870617965723a207369676e6572290a666f72206b657920696e207075626c69634b657973207b0a616363742e6164645075626c69634b6579286b65792e6465636f64654865782829290a7d0a7d0a7df8cbb8c97b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a226638343762383430393434383861373935613037373030633666623833653036366366353764666438376639326365373063626338316362336264336665613264663762363730373362373065333662343466333537386234336436346433666161326538653431356566366332623566653433393064356137386532333835383163366534626330323033383230316634227d5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f901bcf901b8b8a97472616e73616374696f6e287075626c69634b6579733a205b537472696e675d29207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a6c65742061636374203d20417574684163636f756e742870617965723a207369676e6572290a666f72206b657920696e207075626c69634b657973207b0a616363742e6164645075626c69634b6579286b65792e6465636f64654865782829290a7d0a7d0a7df8cbb8c97b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a226638343762383430393434383861373935613037373030633666623833653036366366353764666438376639326365373063626338316362336264336665613264663762363730373362373065333662343466333537386234336436346433666161326538653431356566366332623566653433393064356137386532333835383163366534626330323033383230316634227d5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "01eef2d0494448554177612e63026256258339230cbc6931ded78d6149443c6173437265617465204163636f756e740001030105507562206b65790000537472696e670003", - "hash": "eef2d0494448554177612e63026256258339230cbc6931ded78d6149443c6173" - }, - { - "title": "Create Account Transaction - Valid Payload - Single Account Key #20", - "valid": true, - "chainID": "Mainnet", - "payloadMessage": { - "script": "transaction(publicKeys: [String]) {\nprepare(signer: AuthAccount) {\nlet acct = AuthAccount(payer: signer)\nfor key in publicKeys {\nacct.addPublicKey(key.decodeHex())\n}\n}\n}", - "arguments": [ - { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f847b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc02038203e8" - } - ] - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ] - }, - "envelopeMessage": { - "script": "transaction(publicKeys: [String]) {\nprepare(signer: AuthAccount) {\nlet acct = AuthAccount(payer: signer)\nfor key in publicKeys {\nacct.addPublicKey(key.decodeHex())\n}\n}\n}", - "arguments": [ - { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f847b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc02038203e8" - } - ] - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f901b8b8a97472616e73616374696f6e287075626c69634b6579733a205b537472696e675d29207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a6c65742061636374203d20417574684163636f756e742870617965723a207369676e6572290a666f72206b657920696e207075626c69634b657973207b0a616363742e6164645075626c69634b6579286b65792e6465636f64654865782829290a7d0a7d0a7df8cbb8c97b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a226638343762383430393434383861373935613037373030633666623833653036366366353764666438376639326365373063626338316362336264336665613264663762363730373362373065333662343466333537386234336436346433666161326538653431356566366332623566653433393064356137386532333835383163366534626330323033383230336538227d5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f901bcf901b8b8a97472616e73616374696f6e287075626c69634b6579733a205b537472696e675d29207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a6c65742061636374203d20417574684163636f756e742870617965723a207369676e6572290a666f72206b657920696e207075626c69634b657973207b0a616363742e6164645075626c69634b6579286b65792e6465636f64654865782829290a7d0a7d0a7df8cbb8c97b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a226638343762383430393434383861373935613037373030633666623833653036366366353764666438376639326365373063626338316362336264336665613264663762363730373362373065333662343466333537386234336436346433666161326538653431356566366332623566653433393064356137386532333835383163366534626330323033383230336538227d5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "01eef2d0494448554177612e63026256258339230cbc6931ded78d6149443c6173437265617465204163636f756e740001030105507562206b65790000537472696e670003", - "hash": "eef2d0494448554177612e63026256258339230cbc6931ded78d6149443c6173" - }, - { - "title": "Create Account Transaction - Valid Payload - Single Account Key #21", - "valid": true, - "chainID": "Mainnet", - "payloadMessage": { - "script": "transaction(publicKeys: [String]) {\nprepare(signer: AuthAccount) {\nlet acct = AuthAccount(payer: signer)\nfor key in publicKeys {\nacct.addPublicKey(key.decodeHex())\n}\n}\n}", - "arguments": [ - { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f846b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc0281ff80" - } - ] - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ] - }, - "envelopeMessage": { - "script": "transaction(publicKeys: [String]) {\nprepare(signer: AuthAccount) {\nlet acct = AuthAccount(payer: signer)\nfor key in publicKeys {\nacct.addPublicKey(key.decodeHex())\n}\n}\n}", - "arguments": [ - { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f846b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc0281ff80" - } - ] - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f901b6b8a97472616e73616374696f6e287075626c69634b6579733a205b537472696e675d29207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a6c65742061636374203d20417574684163636f756e742870617965723a207369676e6572290a666f72206b657920696e207075626c69634b657973207b0a616363742e6164645075626c69634b6579286b65792e6465636f64654865782829290a7d0a7d0a7df8c9b8c77b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a22663834366238343039343438386137393561303737303063366662383365303636636635376466643837663932636537306362633831636233626433666561326466376236373037336237306533366234346633353738623433643634643366616132653865343135656636633262356665343339306435613738653233383538316336653462633032383166663830227d5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f901baf901b6b8a97472616e73616374696f6e287075626c69634b6579733a205b537472696e675d29207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a6c65742061636374203d20417574684163636f756e742870617965723a207369676e6572290a666f72206b657920696e207075626c69634b657973207b0a616363742e6164645075626c69634b6579286b65792e6465636f64654865782829290a7d0a7d0a7df8c9b8c77b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a22663834366238343039343438386137393561303737303063366662383365303636636635376466643837663932636537306362633831636233626433666561326466376236373037336237306533366234346633353738623433643634643366616132653865343135656636633262356665343339306435613738653233383538316336653462633032383166663830227d5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "01eef2d0494448554177612e63026256258339230cbc6931ded78d6149443c6173437265617465204163636f756e740001030105507562206b65790000537472696e670003", - "hash": "eef2d0494448554177612e63026256258339230cbc6931ded78d6149443c6173" - }, - { - "title": "Create Account Transaction - Valid Payload - Single Account Key #22", - "valid": true, - "chainID": "Mainnet", - "payloadMessage": { - "script": "transaction(publicKeys: [String]) {\nprepare(signer: AuthAccount) {\nlet acct = AuthAccount(payer: signer)\nfor key in publicKeys {\nacct.addPublicKey(key.decodeHex())\n}\n}\n}", - "arguments": [ - { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f848b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc0281ff8201f4" - } - ] - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ] - }, - "envelopeMessage": { - "script": "transaction(publicKeys: [String]) {\nprepare(signer: AuthAccount) {\nlet acct = AuthAccount(payer: signer)\nfor key in publicKeys {\nacct.addPublicKey(key.decodeHex())\n}\n}\n}", - "arguments": [ - { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f848b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc0281ff8201f4" - } - ] - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f901bab8a97472616e73616374696f6e287075626c69634b6579733a205b537472696e675d29207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a6c65742061636374203d20417574684163636f756e742870617965723a207369676e6572290a666f72206b657920696e207075626c69634b657973207b0a616363742e6164645075626c69634b6579286b65792e6465636f64654865782829290a7d0a7d0a7df8cdb8cb7b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a2266383438623834303934343838613739356130373730306336666238336530363663663537646664383766393263653730636263383163623362643366656132646637623637303733623730653336623434663335373862343364363464336661613265386534313565663663326235666534333930643561373865323338353831633665346263303238316666383230316634227d5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f901bef901bab8a97472616e73616374696f6e287075626c69634b6579733a205b537472696e675d29207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a6c65742061636374203d20417574684163636f756e742870617965723a207369676e6572290a666f72206b657920696e207075626c69634b657973207b0a616363742e6164645075626c69634b6579286b65792e6465636f64654865782829290a7d0a7d0a7df8cdb8cb7b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a2266383438623834303934343838613739356130373730306336666238336530363663663537646664383766393263653730636263383163623362643366656132646637623637303733623730653336623434663335373862343364363464336661613265386534313565663663326235666534333930643561373865323338353831633665346263303238316666383230316634227d5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "01eef2d0494448554177612e63026256258339230cbc6931ded78d6149443c6173437265617465204163636f756e740001030105507562206b65790000537472696e670003", - "hash": "eef2d0494448554177612e63026256258339230cbc6931ded78d6149443c6173" - }, - { - "title": "Create Account Transaction - Valid Payload - Single Account Key #23", - "valid": true, - "chainID": "Mainnet", - "payloadMessage": { - "script": "transaction(publicKeys: [String]) {\nprepare(signer: AuthAccount) {\nlet acct = AuthAccount(payer: signer)\nfor key in publicKeys {\nacct.addPublicKey(key.decodeHex())\n}\n}\n}", - "arguments": [ - { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f848b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc0281ff8203e8" - } - ] - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ] - }, - "envelopeMessage": { - "script": "transaction(publicKeys: [String]) {\nprepare(signer: AuthAccount) {\nlet acct = AuthAccount(payer: signer)\nfor key in publicKeys {\nacct.addPublicKey(key.decodeHex())\n}\n}\n}", - "arguments": [ - { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f848b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc0281ff8203e8" - } - ] - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f901bab8a97472616e73616374696f6e287075626c69634b6579733a205b537472696e675d29207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a6c65742061636374203d20417574684163636f756e742870617965723a207369676e6572290a666f72206b657920696e207075626c69634b657973207b0a616363742e6164645075626c69634b6579286b65792e6465636f64654865782829290a7d0a7d0a7df8cdb8cb7b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a2266383438623834303934343838613739356130373730306336666238336530363663663537646664383766393263653730636263383163623362643366656132646637623637303733623730653336623434663335373862343364363464336661613265386534313565663663326235666534333930643561373865323338353831633665346263303238316666383230336538227d5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f901bef901bab8a97472616e73616374696f6e287075626c69634b6579733a205b537472696e675d29207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a6c65742061636374203d20417574684163636f756e742870617965723a207369676e6572290a666f72206b657920696e207075626c69634b657973207b0a616363742e6164645075626c69634b6579286b65792e6465636f64654865782829290a7d0a7d0a7df8cdb8cb7b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a2266383438623834303934343838613739356130373730306336666238336530363663663537646664383766393263653730636263383163623362643366656132646637623637303733623730653336623434663335373862343364363464336661613265386534313565663663326235666534333930643561373865323338353831633665346263303238316666383230336538227d5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "01eef2d0494448554177612e63026256258339230cbc6931ded78d6149443c6173437265617465204163636f756e740001030105507562206b65790000537472696e670003", - "hash": "eef2d0494448554177612e63026256258339230cbc6931ded78d6149443c6173" - }, - { - "title": "Create Account Transaction - Valid Payload - Single Account Key #24", - "valid": true, - "chainID": "Mainnet", - "payloadMessage": { - "script": "transaction(publicKeys: [String]) {\nprepare(signer: AuthAccount) {\nlet acct = AuthAccount(payer: signer)\nfor key in publicKeys {\nacct.addPublicKey(key.decodeHex())\n}\n}\n}", - "arguments": [ - { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f845b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc038080" - } - ] - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ] - }, - "envelopeMessage": { - "script": "transaction(publicKeys: [String]) {\nprepare(signer: AuthAccount) {\nlet acct = AuthAccount(payer: signer)\nfor key in publicKeys {\nacct.addPublicKey(key.decodeHex())\n}\n}\n}", - "arguments": [ - { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f845b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc038080" - } - ] - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f901b4b8a97472616e73616374696f6e287075626c69634b6579733a205b537472696e675d29207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a6c65742061636374203d20417574684163636f756e742870617965723a207369676e6572290a666f72206b657920696e207075626c69634b657973207b0a616363742e6164645075626c69634b6579286b65792e6465636f64654865782829290a7d0a7d0a7df8c7b8c57b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303934343838613739356130373730306336666238336530363663663537646664383766393263653730636263383163623362643366656132646637623637303733623730653336623434663335373862343364363464336661613265386534313565663663326235666534333930643561373865323338353831633665346263303338303830227d5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f901b8f901b4b8a97472616e73616374696f6e287075626c69634b6579733a205b537472696e675d29207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a6c65742061636374203d20417574684163636f756e742870617965723a207369676e6572290a666f72206b657920696e207075626c69634b657973207b0a616363742e6164645075626c69634b6579286b65792e6465636f64654865782829290a7d0a7d0a7df8c7b8c57b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303934343838613739356130373730306336666238336530363663663537646664383766393263653730636263383163623362643366656132646637623637303733623730653336623434663335373862343364363464336661613265386534313565663663326235666534333930643561373865323338353831633665346263303338303830227d5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "01eef2d0494448554177612e63026256258339230cbc6931ded78d6149443c6173437265617465204163636f756e740001030105507562206b65790000537472696e670003", - "hash": "eef2d0494448554177612e63026256258339230cbc6931ded78d6149443c6173" - }, - { - "title": "Create Account Transaction - Valid Payload - Single Account Key #25", - "valid": true, - "chainID": "Mainnet", - "payloadMessage": { - "script": "transaction(publicKeys: [String]) {\nprepare(signer: AuthAccount) {\nlet acct = AuthAccount(payer: signer)\nfor key in publicKeys {\nacct.addPublicKey(key.decodeHex())\n}\n}\n}", - "arguments": [ - { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f847b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc03808201f4" - } - ] - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ] - }, - "envelopeMessage": { - "script": "transaction(publicKeys: [String]) {\nprepare(signer: AuthAccount) {\nlet acct = AuthAccount(payer: signer)\nfor key in publicKeys {\nacct.addPublicKey(key.decodeHex())\n}\n}\n}", - "arguments": [ - { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f847b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc03808201f4" - } - ] - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f901b8b8a97472616e73616374696f6e287075626c69634b6579733a205b537472696e675d29207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a6c65742061636374203d20417574684163636f756e742870617965723a207369676e6572290a666f72206b657920696e207075626c69634b657973207b0a616363742e6164645075626c69634b6579286b65792e6465636f64654865782829290a7d0a7d0a7df8cbb8c97b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a226638343762383430393434383861373935613037373030633666623833653036366366353764666438376639326365373063626338316362336264336665613264663762363730373362373065333662343466333537386234336436346433666161326538653431356566366332623566653433393064356137386532333835383163366534626330333830383230316634227d5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f901bcf901b8b8a97472616e73616374696f6e287075626c69634b6579733a205b537472696e675d29207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a6c65742061636374203d20417574684163636f756e742870617965723a207369676e6572290a666f72206b657920696e207075626c69634b657973207b0a616363742e6164645075626c69634b6579286b65792e6465636f64654865782829290a7d0a7d0a7df8cbb8c97b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a226638343762383430393434383861373935613037373030633666623833653036366366353764666438376639326365373063626338316362336264336665613264663762363730373362373065333662343466333537386234336436346433666161326538653431356566366332623566653433393064356137386532333835383163366534626330333830383230316634227d5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "01eef2d0494448554177612e63026256258339230cbc6931ded78d6149443c6173437265617465204163636f756e740001030105507562206b65790000537472696e670003", - "hash": "eef2d0494448554177612e63026256258339230cbc6931ded78d6149443c6173" - }, - { - "title": "Create Account Transaction - Valid Payload - Single Account Key #26", - "valid": true, - "chainID": "Mainnet", - "payloadMessage": { - "script": "transaction(publicKeys: [String]) {\nprepare(signer: AuthAccount) {\nlet acct = AuthAccount(payer: signer)\nfor key in publicKeys {\nacct.addPublicKey(key.decodeHex())\n}\n}\n}", - "arguments": [ - { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f847b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc03808203e8" - } - ] - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ] - }, - "envelopeMessage": { - "script": "transaction(publicKeys: [String]) {\nprepare(signer: AuthAccount) {\nlet acct = AuthAccount(payer: signer)\nfor key in publicKeys {\nacct.addPublicKey(key.decodeHex())\n}\n}\n}", - "arguments": [ - { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f847b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc03808203e8" - } - ] - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f901b8b8a97472616e73616374696f6e287075626c69634b6579733a205b537472696e675d29207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a6c65742061636374203d20417574684163636f756e742870617965723a207369676e6572290a666f72206b657920696e207075626c69634b657973207b0a616363742e6164645075626c69634b6579286b65792e6465636f64654865782829290a7d0a7d0a7df8cbb8c97b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a226638343762383430393434383861373935613037373030633666623833653036366366353764666438376639326365373063626338316362336264336665613264663762363730373362373065333662343466333537386234336436346433666161326538653431356566366332623566653433393064356137386532333835383163366534626330333830383230336538227d5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f901bcf901b8b8a97472616e73616374696f6e287075626c69634b6579733a205b537472696e675d29207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a6c65742061636374203d20417574684163636f756e742870617965723a207369676e6572290a666f72206b657920696e207075626c69634b657973207b0a616363742e6164645075626c69634b6579286b65792e6465636f64654865782829290a7d0a7d0a7df8cbb8c97b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a226638343762383430393434383861373935613037373030633666623833653036366366353764666438376639326365373063626338316362336264336665613264663762363730373362373065333662343466333537386234336436346433666161326538653431356566366332623566653433393064356137386532333835383163366534626330333830383230336538227d5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "01eef2d0494448554177612e63026256258339230cbc6931ded78d6149443c6173437265617465204163636f756e740001030105507562206b65790000537472696e670003", - "hash": "eef2d0494448554177612e63026256258339230cbc6931ded78d6149443c6173" - }, - { - "title": "Create Account Transaction - Valid Payload - Single Account Key #27", - "valid": true, - "chainID": "Mainnet", - "payloadMessage": { - "script": "transaction(publicKeys: [String]) {\nprepare(signer: AuthAccount) {\nlet acct = AuthAccount(payer: signer)\nfor key in publicKeys {\nacct.addPublicKey(key.decodeHex())\n}\n}\n}", - "arguments": [ - { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f845b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc030180" - } - ] - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ] - }, - "envelopeMessage": { - "script": "transaction(publicKeys: [String]) {\nprepare(signer: AuthAccount) {\nlet acct = AuthAccount(payer: signer)\nfor key in publicKeys {\nacct.addPublicKey(key.decodeHex())\n}\n}\n}", - "arguments": [ - { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f845b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc030180" - } - ] - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f901b4b8a97472616e73616374696f6e287075626c69634b6579733a205b537472696e675d29207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a6c65742061636374203d20417574684163636f756e742870617965723a207369676e6572290a666f72206b657920696e207075626c69634b657973207b0a616363742e6164645075626c69634b6579286b65792e6465636f64654865782829290a7d0a7d0a7df8c7b8c57b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303934343838613739356130373730306336666238336530363663663537646664383766393263653730636263383163623362643366656132646637623637303733623730653336623434663335373862343364363464336661613265386534313565663663326235666534333930643561373865323338353831633665346263303330313830227d5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f901b8f901b4b8a97472616e73616374696f6e287075626c69634b6579733a205b537472696e675d29207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a6c65742061636374203d20417574684163636f756e742870617965723a207369676e6572290a666f72206b657920696e207075626c69634b657973207b0a616363742e6164645075626c69634b6579286b65792e6465636f64654865782829290a7d0a7d0a7df8c7b8c57b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303934343838613739356130373730306336666238336530363663663537646664383766393263653730636263383163623362643366656132646637623637303733623730653336623434663335373862343364363464336661613265386534313565663663326235666534333930643561373865323338353831633665346263303330313830227d5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "01eef2d0494448554177612e63026256258339230cbc6931ded78d6149443c6173437265617465204163636f756e740001030105507562206b65790000537472696e670003", - "hash": "eef2d0494448554177612e63026256258339230cbc6931ded78d6149443c6173" - }, - { - "title": "Create Account Transaction - Valid Payload - Single Account Key #28", - "valid": true, - "chainID": "Mainnet", - "payloadMessage": { - "script": "transaction(publicKeys: [String]) {\nprepare(signer: AuthAccount) {\nlet acct = AuthAccount(payer: signer)\nfor key in publicKeys {\nacct.addPublicKey(key.decodeHex())\n}\n}\n}", - "arguments": [ - { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f847b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc03018201f4" - } - ] - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ] - }, - "envelopeMessage": { - "script": "transaction(publicKeys: [String]) {\nprepare(signer: AuthAccount) {\nlet acct = AuthAccount(payer: signer)\nfor key in publicKeys {\nacct.addPublicKey(key.decodeHex())\n}\n}\n}", - "arguments": [ - { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f847b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc03018201f4" - } - ] - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f901b8b8a97472616e73616374696f6e287075626c69634b6579733a205b537472696e675d29207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a6c65742061636374203d20417574684163636f756e742870617965723a207369676e6572290a666f72206b657920696e207075626c69634b657973207b0a616363742e6164645075626c69634b6579286b65792e6465636f64654865782829290a7d0a7d0a7df8cbb8c97b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a226638343762383430393434383861373935613037373030633666623833653036366366353764666438376639326365373063626338316362336264336665613264663762363730373362373065333662343466333537386234336436346433666161326538653431356566366332623566653433393064356137386532333835383163366534626330333031383230316634227d5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f901bcf901b8b8a97472616e73616374696f6e287075626c69634b6579733a205b537472696e675d29207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a6c65742061636374203d20417574684163636f756e742870617965723a207369676e6572290a666f72206b657920696e207075626c69634b657973207b0a616363742e6164645075626c69634b6579286b65792e6465636f64654865782829290a7d0a7d0a7df8cbb8c97b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a226638343762383430393434383861373935613037373030633666623833653036366366353764666438376639326365373063626338316362336264336665613264663762363730373362373065333662343466333537386234336436346433666161326538653431356566366332623566653433393064356137386532333835383163366534626330333031383230316634227d5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "01eef2d0494448554177612e63026256258339230cbc6931ded78d6149443c6173437265617465204163636f756e740001030105507562206b65790000537472696e670003", - "hash": "eef2d0494448554177612e63026256258339230cbc6931ded78d6149443c6173" - }, - { - "title": "Create Account Transaction - Valid Payload - Single Account Key #29", - "valid": true, - "chainID": "Mainnet", - "payloadMessage": { - "script": "transaction(publicKeys: [String]) {\nprepare(signer: AuthAccount) {\nlet acct = AuthAccount(payer: signer)\nfor key in publicKeys {\nacct.addPublicKey(key.decodeHex())\n}\n}\n}", - "arguments": [ - { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f847b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc03018203e8" - } - ] - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ] - }, - "envelopeMessage": { - "script": "transaction(publicKeys: [String]) {\nprepare(signer: AuthAccount) {\nlet acct = AuthAccount(payer: signer)\nfor key in publicKeys {\nacct.addPublicKey(key.decodeHex())\n}\n}\n}", - "arguments": [ - { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f847b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc03018203e8" - } - ] - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f901b8b8a97472616e73616374696f6e287075626c69634b6579733a205b537472696e675d29207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a6c65742061636374203d20417574684163636f756e742870617965723a207369676e6572290a666f72206b657920696e207075626c69634b657973207b0a616363742e6164645075626c69634b6579286b65792e6465636f64654865782829290a7d0a7d0a7df8cbb8c97b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a226638343762383430393434383861373935613037373030633666623833653036366366353764666438376639326365373063626338316362336264336665613264663762363730373362373065333662343466333537386234336436346433666161326538653431356566366332623566653433393064356137386532333835383163366534626330333031383230336538227d5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f901bcf901b8b8a97472616e73616374696f6e287075626c69634b6579733a205b537472696e675d29207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a6c65742061636374203d20417574684163636f756e742870617965723a207369676e6572290a666f72206b657920696e207075626c69634b657973207b0a616363742e6164645075626c69634b6579286b65792e6465636f64654865782829290a7d0a7d0a7df8cbb8c97b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a226638343762383430393434383861373935613037373030633666623833653036366366353764666438376639326365373063626338316362336264336665613264663762363730373362373065333662343466333537386234336436346433666161326538653431356566366332623566653433393064356137386532333835383163366534626330333031383230336538227d5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "01eef2d0494448554177612e63026256258339230cbc6931ded78d6149443c6173437265617465204163636f756e740001030105507562206b65790000537472696e670003", - "hash": "eef2d0494448554177612e63026256258339230cbc6931ded78d6149443c6173" - }, - { - "title": "Create Account Transaction - Valid Payload - Single Account Key #30", - "valid": true, - "chainID": "Mainnet", - "payloadMessage": { - "script": "transaction(publicKeys: [String]) {\nprepare(signer: AuthAccount) {\nlet acct = AuthAccount(payer: signer)\nfor key in publicKeys {\nacct.addPublicKey(key.decodeHex())\n}\n}\n}", - "arguments": [ - { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f845b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc030380" - } - ] - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ] - }, - "envelopeMessage": { - "script": "transaction(publicKeys: [String]) {\nprepare(signer: AuthAccount) {\nlet acct = AuthAccount(payer: signer)\nfor key in publicKeys {\nacct.addPublicKey(key.decodeHex())\n}\n}\n}", - "arguments": [ - { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f845b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc030380" - } - ] - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f901b4b8a97472616e73616374696f6e287075626c69634b6579733a205b537472696e675d29207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a6c65742061636374203d20417574684163636f756e742870617965723a207369676e6572290a666f72206b657920696e207075626c69634b657973207b0a616363742e6164645075626c69634b6579286b65792e6465636f64654865782829290a7d0a7d0a7df8c7b8c57b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303934343838613739356130373730306336666238336530363663663537646664383766393263653730636263383163623362643366656132646637623637303733623730653336623434663335373862343364363464336661613265386534313565663663326235666534333930643561373865323338353831633665346263303330333830227d5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f901b8f901b4b8a97472616e73616374696f6e287075626c69634b6579733a205b537472696e675d29207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a6c65742061636374203d20417574684163636f756e742870617965723a207369676e6572290a666f72206b657920696e207075626c69634b657973207b0a616363742e6164645075626c69634b6579286b65792e6465636f64654865782829290a7d0a7d0a7df8c7b8c57b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303934343838613739356130373730306336666238336530363663663537646664383766393263653730636263383163623362643366656132646637623637303733623730653336623434663335373862343364363464336661613265386534313565663663326235666534333930643561373865323338353831633665346263303330333830227d5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "01eef2d0494448554177612e63026256258339230cbc6931ded78d6149443c6173437265617465204163636f756e740001030105507562206b65790000537472696e670003", - "hash": "eef2d0494448554177612e63026256258339230cbc6931ded78d6149443c6173" - }, - { - "title": "Create Account Transaction - Valid Payload - Single Account Key #31", - "valid": true, - "chainID": "Mainnet", - "payloadMessage": { - "script": "transaction(publicKeys: [String]) {\nprepare(signer: AuthAccount) {\nlet acct = AuthAccount(payer: signer)\nfor key in publicKeys {\nacct.addPublicKey(key.decodeHex())\n}\n}\n}", - "arguments": [ - { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f847b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc03038201f4" - } - ] - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ] - }, - "envelopeMessage": { - "script": "transaction(publicKeys: [String]) {\nprepare(signer: AuthAccount) {\nlet acct = AuthAccount(payer: signer)\nfor key in publicKeys {\nacct.addPublicKey(key.decodeHex())\n}\n}\n}", - "arguments": [ - { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f847b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc03038201f4" - } - ] - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f901b8b8a97472616e73616374696f6e287075626c69634b6579733a205b537472696e675d29207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a6c65742061636374203d20417574684163636f756e742870617965723a207369676e6572290a666f72206b657920696e207075626c69634b657973207b0a616363742e6164645075626c69634b6579286b65792e6465636f64654865782829290a7d0a7d0a7df8cbb8c97b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a226638343762383430393434383861373935613037373030633666623833653036366366353764666438376639326365373063626338316362336264336665613264663762363730373362373065333662343466333537386234336436346433666161326538653431356566366332623566653433393064356137386532333835383163366534626330333033383230316634227d5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f901bcf901b8b8a97472616e73616374696f6e287075626c69634b6579733a205b537472696e675d29207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a6c65742061636374203d20417574684163636f756e742870617965723a207369676e6572290a666f72206b657920696e207075626c69634b657973207b0a616363742e6164645075626c69634b6579286b65792e6465636f64654865782829290a7d0a7d0a7df8cbb8c97b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a226638343762383430393434383861373935613037373030633666623833653036366366353764666438376639326365373063626338316362336264336665613264663762363730373362373065333662343466333537386234336436346433666161326538653431356566366332623566653433393064356137386532333835383163366534626330333033383230316634227d5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "01eef2d0494448554177612e63026256258339230cbc6931ded78d6149443c6173437265617465204163636f756e740001030105507562206b65790000537472696e670003", - "hash": "eef2d0494448554177612e63026256258339230cbc6931ded78d6149443c6173" - }, - { - "title": "Create Account Transaction - Valid Payload - Single Account Key #32", - "valid": true, - "chainID": "Mainnet", - "payloadMessage": { - "script": "transaction(publicKeys: [String]) {\nprepare(signer: AuthAccount) {\nlet acct = AuthAccount(payer: signer)\nfor key in publicKeys {\nacct.addPublicKey(key.decodeHex())\n}\n}\n}", - "arguments": [ - { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f847b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc03038203e8" - } - ] - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ] - }, - "envelopeMessage": { - "script": "transaction(publicKeys: [String]) {\nprepare(signer: AuthAccount) {\nlet acct = AuthAccount(payer: signer)\nfor key in publicKeys {\nacct.addPublicKey(key.decodeHex())\n}\n}\n}", - "arguments": [ - { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f847b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc03038203e8" - } - ] - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f901b8b8a97472616e73616374696f6e287075626c69634b6579733a205b537472696e675d29207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a6c65742061636374203d20417574684163636f756e742870617965723a207369676e6572290a666f72206b657920696e207075626c69634b657973207b0a616363742e6164645075626c69634b6579286b65792e6465636f64654865782829290a7d0a7d0a7df8cbb8c97b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a226638343762383430393434383861373935613037373030633666623833653036366366353764666438376639326365373063626338316362336264336665613264663762363730373362373065333662343466333537386234336436346433666161326538653431356566366332623566653433393064356137386532333835383163366534626330333033383230336538227d5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f901bcf901b8b8a97472616e73616374696f6e287075626c69634b6579733a205b537472696e675d29207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a6c65742061636374203d20417574684163636f756e742870617965723a207369676e6572290a666f72206b657920696e207075626c69634b657973207b0a616363742e6164645075626c69634b6579286b65792e6465636f64654865782829290a7d0a7d0a7df8cbb8c97b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a226638343762383430393434383861373935613037373030633666623833653036366366353764666438376639326365373063626338316362336264336665613264663762363730373362373065333662343466333537386234336436346433666161326538653431356566366332623566653433393064356137386532333835383163366534626330333033383230336538227d5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "01eef2d0494448554177612e63026256258339230cbc6931ded78d6149443c6173437265617465204163636f756e740001030105507562206b65790000537472696e670003", - "hash": "eef2d0494448554177612e63026256258339230cbc6931ded78d6149443c6173" - }, - { - "title": "Create Account Transaction - Valid Payload - Single Account Key #33", - "valid": true, - "chainID": "Mainnet", - "payloadMessage": { - "script": "transaction(publicKeys: [String]) {\nprepare(signer: AuthAccount) {\nlet acct = AuthAccount(payer: signer)\nfor key in publicKeys {\nacct.addPublicKey(key.decodeHex())\n}\n}\n}", - "arguments": [ - { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f846b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc0381ff80" - } - ] - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ] - }, - "envelopeMessage": { - "script": "transaction(publicKeys: [String]) {\nprepare(signer: AuthAccount) {\nlet acct = AuthAccount(payer: signer)\nfor key in publicKeys {\nacct.addPublicKey(key.decodeHex())\n}\n}\n}", - "arguments": [ - { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f846b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc0381ff80" - } - ] - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f901b6b8a97472616e73616374696f6e287075626c69634b6579733a205b537472696e675d29207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a6c65742061636374203d20417574684163636f756e742870617965723a207369676e6572290a666f72206b657920696e207075626c69634b657973207b0a616363742e6164645075626c69634b6579286b65792e6465636f64654865782829290a7d0a7d0a7df8c9b8c77b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a22663834366238343039343438386137393561303737303063366662383365303636636635376466643837663932636537306362633831636233626433666561326466376236373037336237306533366234346633353738623433643634643366616132653865343135656636633262356665343339306435613738653233383538316336653462633033383166663830227d5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f901baf901b6b8a97472616e73616374696f6e287075626c69634b6579733a205b537472696e675d29207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a6c65742061636374203d20417574684163636f756e742870617965723a207369676e6572290a666f72206b657920696e207075626c69634b657973207b0a616363742e6164645075626c69634b6579286b65792e6465636f64654865782829290a7d0a7d0a7df8c9b8c77b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a22663834366238343039343438386137393561303737303063366662383365303636636635376466643837663932636537306362633831636233626433666561326466376236373037336237306533366234346633353738623433643634643366616132653865343135656636633262356665343339306435613738653233383538316336653462633033383166663830227d5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "01eef2d0494448554177612e63026256258339230cbc6931ded78d6149443c6173437265617465204163636f756e740001030105507562206b65790000537472696e670003", - "hash": "eef2d0494448554177612e63026256258339230cbc6931ded78d6149443c6173" - }, - { - "title": "Create Account Transaction - Valid Payload - Single Account Key #34", - "valid": true, - "chainID": "Mainnet", - "payloadMessage": { - "script": "transaction(publicKeys: [String]) {\nprepare(signer: AuthAccount) {\nlet acct = AuthAccount(payer: signer)\nfor key in publicKeys {\nacct.addPublicKey(key.decodeHex())\n}\n}\n}", - "arguments": [ - { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f848b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc0381ff8201f4" - } - ] - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ] - }, - "envelopeMessage": { - "script": "transaction(publicKeys: [String]) {\nprepare(signer: AuthAccount) {\nlet acct = AuthAccount(payer: signer)\nfor key in publicKeys {\nacct.addPublicKey(key.decodeHex())\n}\n}\n}", - "arguments": [ - { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f848b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc0381ff8201f4" - } - ] - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f901bab8a97472616e73616374696f6e287075626c69634b6579733a205b537472696e675d29207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a6c65742061636374203d20417574684163636f756e742870617965723a207369676e6572290a666f72206b657920696e207075626c69634b657973207b0a616363742e6164645075626c69634b6579286b65792e6465636f64654865782829290a7d0a7d0a7df8cdb8cb7b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a2266383438623834303934343838613739356130373730306336666238336530363663663537646664383766393263653730636263383163623362643366656132646637623637303733623730653336623434663335373862343364363464336661613265386534313565663663326235666534333930643561373865323338353831633665346263303338316666383230316634227d5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f901bef901bab8a97472616e73616374696f6e287075626c69634b6579733a205b537472696e675d29207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a6c65742061636374203d20417574684163636f756e742870617965723a207369676e6572290a666f72206b657920696e207075626c69634b657973207b0a616363742e6164645075626c69634b6579286b65792e6465636f64654865782829290a7d0a7d0a7df8cdb8cb7b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a2266383438623834303934343838613739356130373730306336666238336530363663663537646664383766393263653730636263383163623362643366656132646637623637303733623730653336623434663335373862343364363464336661613265386534313565663663326235666534333930643561373865323338353831633665346263303338316666383230316634227d5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "01eef2d0494448554177612e63026256258339230cbc6931ded78d6149443c6173437265617465204163636f756e740001030105507562206b65790000537472696e670003", - "hash": "eef2d0494448554177612e63026256258339230cbc6931ded78d6149443c6173" - }, - { - "title": "Create Account Transaction - Valid Payload - Single Account Key #35", - "valid": true, - "chainID": "Mainnet", - "payloadMessage": { - "script": "transaction(publicKeys: [String]) {\nprepare(signer: AuthAccount) {\nlet acct = AuthAccount(payer: signer)\nfor key in publicKeys {\nacct.addPublicKey(key.decodeHex())\n}\n}\n}", - "arguments": [ - { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f848b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc0381ff8203e8" - } - ] - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ] - }, - "envelopeMessage": { - "script": "transaction(publicKeys: [String]) {\nprepare(signer: AuthAccount) {\nlet acct = AuthAccount(payer: signer)\nfor key in publicKeys {\nacct.addPublicKey(key.decodeHex())\n}\n}\n}", - "arguments": [ - { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f848b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc0381ff8203e8" - } - ] - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f901bab8a97472616e73616374696f6e287075626c69634b6579733a205b537472696e675d29207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a6c65742061636374203d20417574684163636f756e742870617965723a207369676e6572290a666f72206b657920696e207075626c69634b657973207b0a616363742e6164645075626c69634b6579286b65792e6465636f64654865782829290a7d0a7d0a7df8cdb8cb7b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a2266383438623834303934343838613739356130373730306336666238336530363663663537646664383766393263653730636263383163623362643366656132646637623637303733623730653336623434663335373862343364363464336661613265386534313565663663326235666534333930643561373865323338353831633665346263303338316666383230336538227d5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f901bef901bab8a97472616e73616374696f6e287075626c69634b6579733a205b537472696e675d29207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a6c65742061636374203d20417574684163636f756e742870617965723a207369676e6572290a666f72206b657920696e207075626c69634b657973207b0a616363742e6164645075626c69634b6579286b65792e6465636f64654865782829290a7d0a7d0a7df8cdb8cb7b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a2266383438623834303934343838613739356130373730306336666238336530363663663537646664383766393263653730636263383163623362643366656132646637623637303733623730653336623434663335373862343364363464336661613265386534313565663663326235666534333930643561373865323338353831633665346263303338316666383230336538227d5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "01eef2d0494448554177612e63026256258339230cbc6931ded78d6149443c6173437265617465204163636f756e740001030105507562206b65790000537472696e670003", - "hash": "eef2d0494448554177612e63026256258339230cbc6931ded78d6149443c6173" - }, - { - "title": "Create Account Transaction - Valid Payload - Single Account Key #36", - "valid": true, - "chainID": "Mainnet", - "payloadMessage": { - "script": "transaction(publicKeys: [String]) {\nprepare(signer: AuthAccount) {\nlet acct = AuthAccount(payer: signer)\nfor key in publicKeys {\nacct.addPublicKey(key.decodeHex())\n}\n}\n}", - "arguments": [ - { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f846b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc81ff8080" - } - ] - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ] - }, - "envelopeMessage": { - "script": "transaction(publicKeys: [String]) {\nprepare(signer: AuthAccount) {\nlet acct = AuthAccount(payer: signer)\nfor key in publicKeys {\nacct.addPublicKey(key.decodeHex())\n}\n}\n}", - "arguments": [ - { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f846b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc81ff8080" - } - ] - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f901b6b8a97472616e73616374696f6e287075626c69634b6579733a205b537472696e675d29207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a6c65742061636374203d20417574684163636f756e742870617965723a207369676e6572290a666f72206b657920696e207075626c69634b657973207b0a616363742e6164645075626c69634b6579286b65792e6465636f64654865782829290a7d0a7d0a7df8c9b8c77b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a22663834366238343039343438386137393561303737303063366662383365303636636635376466643837663932636537306362633831636233626433666561326466376236373037336237306533366234346633353738623433643634643366616132653865343135656636633262356665343339306435613738653233383538316336653462633831666638303830227d5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f901baf901b6b8a97472616e73616374696f6e287075626c69634b6579733a205b537472696e675d29207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a6c65742061636374203d20417574684163636f756e742870617965723a207369676e6572290a666f72206b657920696e207075626c69634b657973207b0a616363742e6164645075626c69634b6579286b65792e6465636f64654865782829290a7d0a7d0a7df8c9b8c77b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a22663834366238343039343438386137393561303737303063366662383365303636636635376466643837663932636537306362633831636233626433666561326466376236373037336237306533366234346633353738623433643634643366616132653865343135656636633262356665343339306435613738653233383538316336653462633831666638303830227d5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "01eef2d0494448554177612e63026256258339230cbc6931ded78d6149443c6173437265617465204163636f756e740001030105507562206b65790000537472696e670003", - "hash": "eef2d0494448554177612e63026256258339230cbc6931ded78d6149443c6173" - }, - { - "title": "Create Account Transaction - Valid Payload - Single Account Key #37", - "valid": true, - "chainID": "Mainnet", - "payloadMessage": { - "script": "transaction(publicKeys: [String]) {\nprepare(signer: AuthAccount) {\nlet acct = AuthAccount(payer: signer)\nfor key in publicKeys {\nacct.addPublicKey(key.decodeHex())\n}\n}\n}", - "arguments": [ - { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f848b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc81ff808201f4" - } - ] - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ] - }, - "envelopeMessage": { - "script": "transaction(publicKeys: [String]) {\nprepare(signer: AuthAccount) {\nlet acct = AuthAccount(payer: signer)\nfor key in publicKeys {\nacct.addPublicKey(key.decodeHex())\n}\n}\n}", - "arguments": [ - { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f848b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc81ff808201f4" - } - ] - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f901bab8a97472616e73616374696f6e287075626c69634b6579733a205b537472696e675d29207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a6c65742061636374203d20417574684163636f756e742870617965723a207369676e6572290a666f72206b657920696e207075626c69634b657973207b0a616363742e6164645075626c69634b6579286b65792e6465636f64654865782829290a7d0a7d0a7df8cdb8cb7b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a2266383438623834303934343838613739356130373730306336666238336530363663663537646664383766393263653730636263383163623362643366656132646637623637303733623730653336623434663335373862343364363464336661613265386534313565663663326235666534333930643561373865323338353831633665346263383166663830383230316634227d5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f901bef901bab8a97472616e73616374696f6e287075626c69634b6579733a205b537472696e675d29207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a6c65742061636374203d20417574684163636f756e742870617965723a207369676e6572290a666f72206b657920696e207075626c69634b657973207b0a616363742e6164645075626c69634b6579286b65792e6465636f64654865782829290a7d0a7d0a7df8cdb8cb7b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a2266383438623834303934343838613739356130373730306336666238336530363663663537646664383766393263653730636263383163623362643366656132646637623637303733623730653336623434663335373862343364363464336661613265386534313565663663326235666534333930643561373865323338353831633665346263383166663830383230316634227d5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "01eef2d0494448554177612e63026256258339230cbc6931ded78d6149443c6173437265617465204163636f756e740001030105507562206b65790000537472696e670003", - "hash": "eef2d0494448554177612e63026256258339230cbc6931ded78d6149443c6173" - }, - { - "title": "Create Account Transaction - Valid Payload - Single Account Key #38", - "valid": true, - "chainID": "Mainnet", - "payloadMessage": { - "script": "transaction(publicKeys: [String]) {\nprepare(signer: AuthAccount) {\nlet acct = AuthAccount(payer: signer)\nfor key in publicKeys {\nacct.addPublicKey(key.decodeHex())\n}\n}\n}", - "arguments": [ - { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f848b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc81ff808203e8" - } - ] - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ] - }, - "envelopeMessage": { - "script": "transaction(publicKeys: [String]) {\nprepare(signer: AuthAccount) {\nlet acct = AuthAccount(payer: signer)\nfor key in publicKeys {\nacct.addPublicKey(key.decodeHex())\n}\n}\n}", - "arguments": [ - { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f848b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc81ff808203e8" - } - ] - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f901bab8a97472616e73616374696f6e287075626c69634b6579733a205b537472696e675d29207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a6c65742061636374203d20417574684163636f756e742870617965723a207369676e6572290a666f72206b657920696e207075626c69634b657973207b0a616363742e6164645075626c69634b6579286b65792e6465636f64654865782829290a7d0a7d0a7df8cdb8cb7b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a2266383438623834303934343838613739356130373730306336666238336530363663663537646664383766393263653730636263383163623362643366656132646637623637303733623730653336623434663335373862343364363464336661613265386534313565663663326235666534333930643561373865323338353831633665346263383166663830383230336538227d5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f901bef901bab8a97472616e73616374696f6e287075626c69634b6579733a205b537472696e675d29207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a6c65742061636374203d20417574684163636f756e742870617965723a207369676e6572290a666f72206b657920696e207075626c69634b657973207b0a616363742e6164645075626c69634b6579286b65792e6465636f64654865782829290a7d0a7d0a7df8cdb8cb7b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a2266383438623834303934343838613739356130373730306336666238336530363663663537646664383766393263653730636263383163623362643366656132646637623637303733623730653336623434663335373862343364363464336661613265386534313565663663326235666534333930643561373865323338353831633665346263383166663830383230336538227d5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "01eef2d0494448554177612e63026256258339230cbc6931ded78d6149443c6173437265617465204163636f756e740001030105507562206b65790000537472696e670003", - "hash": "eef2d0494448554177612e63026256258339230cbc6931ded78d6149443c6173" - }, - { - "title": "Create Account Transaction - Valid Payload - Single Account Key #39", - "valid": true, - "chainID": "Mainnet", - "payloadMessage": { - "script": "transaction(publicKeys: [String]) {\nprepare(signer: AuthAccount) {\nlet acct = AuthAccount(payer: signer)\nfor key in publicKeys {\nacct.addPublicKey(key.decodeHex())\n}\n}\n}", - "arguments": [ - { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f846b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc81ff0180" - } - ] - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ] - }, - "envelopeMessage": { - "script": "transaction(publicKeys: [String]) {\nprepare(signer: AuthAccount) {\nlet acct = AuthAccount(payer: signer)\nfor key in publicKeys {\nacct.addPublicKey(key.decodeHex())\n}\n}\n}", - "arguments": [ - { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f846b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc81ff0180" - } - ] - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f901b6b8a97472616e73616374696f6e287075626c69634b6579733a205b537472696e675d29207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a6c65742061636374203d20417574684163636f756e742870617965723a207369676e6572290a666f72206b657920696e207075626c69634b657973207b0a616363742e6164645075626c69634b6579286b65792e6465636f64654865782829290a7d0a7d0a7df8c9b8c77b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a22663834366238343039343438386137393561303737303063366662383365303636636635376466643837663932636537306362633831636233626433666561326466376236373037336237306533366234346633353738623433643634643366616132653865343135656636633262356665343339306435613738653233383538316336653462633831666630313830227d5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f901baf901b6b8a97472616e73616374696f6e287075626c69634b6579733a205b537472696e675d29207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a6c65742061636374203d20417574684163636f756e742870617965723a207369676e6572290a666f72206b657920696e207075626c69634b657973207b0a616363742e6164645075626c69634b6579286b65792e6465636f64654865782829290a7d0a7d0a7df8c9b8c77b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a22663834366238343039343438386137393561303737303063366662383365303636636635376466643837663932636537306362633831636233626433666561326466376236373037336237306533366234346633353738623433643634643366616132653865343135656636633262356665343339306435613738653233383538316336653462633831666630313830227d5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "01eef2d0494448554177612e63026256258339230cbc6931ded78d6149443c6173437265617465204163636f756e740001030105507562206b65790000537472696e670003", - "hash": "eef2d0494448554177612e63026256258339230cbc6931ded78d6149443c6173" - }, - { - "title": "Create Account Transaction - Valid Payload - Single Account Key #40", - "valid": true, - "chainID": "Mainnet", - "payloadMessage": { - "script": "transaction(publicKeys: [String]) {\nprepare(signer: AuthAccount) {\nlet acct = AuthAccount(payer: signer)\nfor key in publicKeys {\nacct.addPublicKey(key.decodeHex())\n}\n}\n}", - "arguments": [ - { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f848b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc81ff018201f4" - } - ] - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ] - }, - "envelopeMessage": { - "script": "transaction(publicKeys: [String]) {\nprepare(signer: AuthAccount) {\nlet acct = AuthAccount(payer: signer)\nfor key in publicKeys {\nacct.addPublicKey(key.decodeHex())\n}\n}\n}", - "arguments": [ - { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f848b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc81ff018201f4" - } - ] - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f901bab8a97472616e73616374696f6e287075626c69634b6579733a205b537472696e675d29207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a6c65742061636374203d20417574684163636f756e742870617965723a207369676e6572290a666f72206b657920696e207075626c69634b657973207b0a616363742e6164645075626c69634b6579286b65792e6465636f64654865782829290a7d0a7d0a7df8cdb8cb7b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a2266383438623834303934343838613739356130373730306336666238336530363663663537646664383766393263653730636263383163623362643366656132646637623637303733623730653336623434663335373862343364363464336661613265386534313565663663326235666534333930643561373865323338353831633665346263383166663031383230316634227d5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f901bef901bab8a97472616e73616374696f6e287075626c69634b6579733a205b537472696e675d29207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a6c65742061636374203d20417574684163636f756e742870617965723a207369676e6572290a666f72206b657920696e207075626c69634b657973207b0a616363742e6164645075626c69634b6579286b65792e6465636f64654865782829290a7d0a7d0a7df8cdb8cb7b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a2266383438623834303934343838613739356130373730306336666238336530363663663537646664383766393263653730636263383163623362643366656132646637623637303733623730653336623434663335373862343364363464336661613265386534313565663663326235666534333930643561373865323338353831633665346263383166663031383230316634227d5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "01eef2d0494448554177612e63026256258339230cbc6931ded78d6149443c6173437265617465204163636f756e740001030105507562206b65790000537472696e670003", - "hash": "eef2d0494448554177612e63026256258339230cbc6931ded78d6149443c6173" - }, - { - "title": "Create Account Transaction - Valid Payload - Single Account Key #41", - "valid": true, - "chainID": "Mainnet", - "payloadMessage": { - "script": "transaction(publicKeys: [String]) {\nprepare(signer: AuthAccount) {\nlet acct = AuthAccount(payer: signer)\nfor key in publicKeys {\nacct.addPublicKey(key.decodeHex())\n}\n}\n}", - "arguments": [ - { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f848b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc81ff018203e8" - } - ] - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ] - }, - "envelopeMessage": { - "script": "transaction(publicKeys: [String]) {\nprepare(signer: AuthAccount) {\nlet acct = AuthAccount(payer: signer)\nfor key in publicKeys {\nacct.addPublicKey(key.decodeHex())\n}\n}\n}", - "arguments": [ - { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f848b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc81ff018203e8" - } - ] - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f901bab8a97472616e73616374696f6e287075626c69634b6579733a205b537472696e675d29207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a6c65742061636374203d20417574684163636f756e742870617965723a207369676e6572290a666f72206b657920696e207075626c69634b657973207b0a616363742e6164645075626c69634b6579286b65792e6465636f64654865782829290a7d0a7d0a7df8cdb8cb7b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a2266383438623834303934343838613739356130373730306336666238336530363663663537646664383766393263653730636263383163623362643366656132646637623637303733623730653336623434663335373862343364363464336661613265386534313565663663326235666534333930643561373865323338353831633665346263383166663031383230336538227d5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f901bef901bab8a97472616e73616374696f6e287075626c69634b6579733a205b537472696e675d29207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a6c65742061636374203d20417574684163636f756e742870617965723a207369676e6572290a666f72206b657920696e207075626c69634b657973207b0a616363742e6164645075626c69634b6579286b65792e6465636f64654865782829290a7d0a7d0a7df8cdb8cb7b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a2266383438623834303934343838613739356130373730306336666238336530363663663537646664383766393263653730636263383163623362643366656132646637623637303733623730653336623434663335373862343364363464336661613265386534313565663663326235666534333930643561373865323338353831633665346263383166663031383230336538227d5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "01eef2d0494448554177612e63026256258339230cbc6931ded78d6149443c6173437265617465204163636f756e740001030105507562206b65790000537472696e670003", - "hash": "eef2d0494448554177612e63026256258339230cbc6931ded78d6149443c6173" - }, - { - "title": "Create Account Transaction - Valid Payload - Single Account Key #42", - "valid": true, - "chainID": "Mainnet", - "payloadMessage": { - "script": "transaction(publicKeys: [String]) {\nprepare(signer: AuthAccount) {\nlet acct = AuthAccount(payer: signer)\nfor key in publicKeys {\nacct.addPublicKey(key.decodeHex())\n}\n}\n}", - "arguments": [ - { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f846b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc81ff0380" - } - ] - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ] - }, - "envelopeMessage": { - "script": "transaction(publicKeys: [String]) {\nprepare(signer: AuthAccount) {\nlet acct = AuthAccount(payer: signer)\nfor key in publicKeys {\nacct.addPublicKey(key.decodeHex())\n}\n}\n}", - "arguments": [ - { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f846b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc81ff0380" - } - ] - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f901b6b8a97472616e73616374696f6e287075626c69634b6579733a205b537472696e675d29207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a6c65742061636374203d20417574684163636f756e742870617965723a207369676e6572290a666f72206b657920696e207075626c69634b657973207b0a616363742e6164645075626c69634b6579286b65792e6465636f64654865782829290a7d0a7d0a7df8c9b8c77b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a22663834366238343039343438386137393561303737303063366662383365303636636635376466643837663932636537306362633831636233626433666561326466376236373037336237306533366234346633353738623433643634643366616132653865343135656636633262356665343339306435613738653233383538316336653462633831666630333830227d5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f901baf901b6b8a97472616e73616374696f6e287075626c69634b6579733a205b537472696e675d29207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a6c65742061636374203d20417574684163636f756e742870617965723a207369676e6572290a666f72206b657920696e207075626c69634b657973207b0a616363742e6164645075626c69634b6579286b65792e6465636f64654865782829290a7d0a7d0a7df8c9b8c77b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a22663834366238343039343438386137393561303737303063366662383365303636636635376466643837663932636537306362633831636233626433666561326466376236373037336237306533366234346633353738623433643634643366616132653865343135656636633262356665343339306435613738653233383538316336653462633831666630333830227d5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "01eef2d0494448554177612e63026256258339230cbc6931ded78d6149443c6173437265617465204163636f756e740001030105507562206b65790000537472696e670003", - "hash": "eef2d0494448554177612e63026256258339230cbc6931ded78d6149443c6173" - }, - { - "title": "Create Account Transaction - Valid Payload - Single Account Key #43", - "valid": true, - "chainID": "Mainnet", - "payloadMessage": { - "script": "transaction(publicKeys: [String]) {\nprepare(signer: AuthAccount) {\nlet acct = AuthAccount(payer: signer)\nfor key in publicKeys {\nacct.addPublicKey(key.decodeHex())\n}\n}\n}", - "arguments": [ - { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f848b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc81ff038201f4" - } - ] - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ] - }, - "envelopeMessage": { - "script": "transaction(publicKeys: [String]) {\nprepare(signer: AuthAccount) {\nlet acct = AuthAccount(payer: signer)\nfor key in publicKeys {\nacct.addPublicKey(key.decodeHex())\n}\n}\n}", - "arguments": [ - { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f848b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc81ff038201f4" - } - ] - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f901bab8a97472616e73616374696f6e287075626c69634b6579733a205b537472696e675d29207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a6c65742061636374203d20417574684163636f756e742870617965723a207369676e6572290a666f72206b657920696e207075626c69634b657973207b0a616363742e6164645075626c69634b6579286b65792e6465636f64654865782829290a7d0a7d0a7df8cdb8cb7b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a2266383438623834303934343838613739356130373730306336666238336530363663663537646664383766393263653730636263383163623362643366656132646637623637303733623730653336623434663335373862343364363464336661613265386534313565663663326235666534333930643561373865323338353831633665346263383166663033383230316634227d5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f901bef901bab8a97472616e73616374696f6e287075626c69634b6579733a205b537472696e675d29207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a6c65742061636374203d20417574684163636f756e742870617965723a207369676e6572290a666f72206b657920696e207075626c69634b657973207b0a616363742e6164645075626c69634b6579286b65792e6465636f64654865782829290a7d0a7d0a7df8cdb8cb7b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a2266383438623834303934343838613739356130373730306336666238336530363663663537646664383766393263653730636263383163623362643366656132646637623637303733623730653336623434663335373862343364363464336661613265386534313565663663326235666534333930643561373865323338353831633665346263383166663033383230316634227d5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "01eef2d0494448554177612e63026256258339230cbc6931ded78d6149443c6173437265617465204163636f756e740001030105507562206b65790000537472696e670003", - "hash": "eef2d0494448554177612e63026256258339230cbc6931ded78d6149443c6173" - }, - { - "title": "Create Account Transaction - Valid Payload - Single Account Key #44", - "valid": true, - "chainID": "Mainnet", - "payloadMessage": { - "script": "transaction(publicKeys: [String]) {\nprepare(signer: AuthAccount) {\nlet acct = AuthAccount(payer: signer)\nfor key in publicKeys {\nacct.addPublicKey(key.decodeHex())\n}\n}\n}", - "arguments": [ - { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f848b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc81ff038203e8" - } - ] - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ] - }, - "envelopeMessage": { - "script": "transaction(publicKeys: [String]) {\nprepare(signer: AuthAccount) {\nlet acct = AuthAccount(payer: signer)\nfor key in publicKeys {\nacct.addPublicKey(key.decodeHex())\n}\n}\n}", - "arguments": [ - { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f848b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc81ff038203e8" - } - ] - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f901bab8a97472616e73616374696f6e287075626c69634b6579733a205b537472696e675d29207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a6c65742061636374203d20417574684163636f756e742870617965723a207369676e6572290a666f72206b657920696e207075626c69634b657973207b0a616363742e6164645075626c69634b6579286b65792e6465636f64654865782829290a7d0a7d0a7df8cdb8cb7b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a2266383438623834303934343838613739356130373730306336666238336530363663663537646664383766393263653730636263383163623362643366656132646637623637303733623730653336623434663335373862343364363464336661613265386534313565663663326235666534333930643561373865323338353831633665346263383166663033383230336538227d5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f901bef901bab8a97472616e73616374696f6e287075626c69634b6579733a205b537472696e675d29207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a6c65742061636374203d20417574684163636f756e742870617965723a207369676e6572290a666f72206b657920696e207075626c69634b657973207b0a616363742e6164645075626c69634b6579286b65792e6465636f64654865782829290a7d0a7d0a7df8cdb8cb7b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a2266383438623834303934343838613739356130373730306336666238336530363663663537646664383766393263653730636263383163623362643366656132646637623637303733623730653336623434663335373862343364363464336661613265386534313565663663326235666534333930643561373865323338353831633665346263383166663033383230336538227d5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "01eef2d0494448554177612e63026256258339230cbc6931ded78d6149443c6173437265617465204163636f756e740001030105507562206b65790000537472696e670003", - "hash": "eef2d0494448554177612e63026256258339230cbc6931ded78d6149443c6173" - }, - { - "title": "Create Account Transaction - Valid Payload - Single Account Key #45", - "valid": true, - "chainID": "Mainnet", - "payloadMessage": { - "script": "transaction(publicKeys: [String]) {\nprepare(signer: AuthAccount) {\nlet acct = AuthAccount(payer: signer)\nfor key in publicKeys {\nacct.addPublicKey(key.decodeHex())\n}\n}\n}", - "arguments": [ - { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f847b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc81ff81ff80" - } - ] - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ] - }, - "envelopeMessage": { - "script": "transaction(publicKeys: [String]) {\nprepare(signer: AuthAccount) {\nlet acct = AuthAccount(payer: signer)\nfor key in publicKeys {\nacct.addPublicKey(key.decodeHex())\n}\n}\n}", - "arguments": [ - { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f847b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc81ff81ff80" - } - ] - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f901b8b8a97472616e73616374696f6e287075626c69634b6579733a205b537472696e675d29207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a6c65742061636374203d20417574684163636f756e742870617965723a207369676e6572290a666f72206b657920696e207075626c69634b657973207b0a616363742e6164645075626c69634b6579286b65792e6465636f64654865782829290a7d0a7d0a7df8cbb8c97b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a226638343762383430393434383861373935613037373030633666623833653036366366353764666438376639326365373063626338316362336264336665613264663762363730373362373065333662343466333537386234336436346433666161326538653431356566366332623566653433393064356137386532333835383163366534626338316666383166663830227d5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f901bcf901b8b8a97472616e73616374696f6e287075626c69634b6579733a205b537472696e675d29207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a6c65742061636374203d20417574684163636f756e742870617965723a207369676e6572290a666f72206b657920696e207075626c69634b657973207b0a616363742e6164645075626c69634b6579286b65792e6465636f64654865782829290a7d0a7d0a7df8cbb8c97b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a226638343762383430393434383861373935613037373030633666623833653036366366353764666438376639326365373063626338316362336264336665613264663762363730373362373065333662343466333537386234336436346433666161326538653431356566366332623566653433393064356137386532333835383163366534626338316666383166663830227d5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "01eef2d0494448554177612e63026256258339230cbc6931ded78d6149443c6173437265617465204163636f756e740001030105507562206b65790000537472696e670003", - "hash": "eef2d0494448554177612e63026256258339230cbc6931ded78d6149443c6173" - }, - { - "title": "Create Account Transaction - Valid Payload - Single Account Key #46", - "valid": true, - "chainID": "Mainnet", - "payloadMessage": { - "script": "transaction(publicKeys: [String]) {\nprepare(signer: AuthAccount) {\nlet acct = AuthAccount(payer: signer)\nfor key in publicKeys {\nacct.addPublicKey(key.decodeHex())\n}\n}\n}", - "arguments": [ - { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f849b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc81ff81ff8201f4" - } - ] - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ] - }, - "envelopeMessage": { - "script": "transaction(publicKeys: [String]) {\nprepare(signer: AuthAccount) {\nlet acct = AuthAccount(payer: signer)\nfor key in publicKeys {\nacct.addPublicKey(key.decodeHex())\n}\n}\n}", - "arguments": [ - { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f849b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc81ff81ff8201f4" - } - ] - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f901bcb8a97472616e73616374696f6e287075626c69634b6579733a205b537472696e675d29207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a6c65742061636374203d20417574684163636f756e742870617965723a207369676e6572290a666f72206b657920696e207075626c69634b657973207b0a616363742e6164645075626c69634b6579286b65792e6465636f64654865782829290a7d0a7d0a7df8cfb8cd7b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a22663834396238343039343438386137393561303737303063366662383365303636636635376466643837663932636537306362633831636233626433666561326466376236373037336237306533366234346633353738623433643634643366616132653865343135656636633262356665343339306435613738653233383538316336653462633831666638316666383230316634227d5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f901c0f901bcb8a97472616e73616374696f6e287075626c69634b6579733a205b537472696e675d29207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a6c65742061636374203d20417574684163636f756e742870617965723a207369676e6572290a666f72206b657920696e207075626c69634b657973207b0a616363742e6164645075626c69634b6579286b65792e6465636f64654865782829290a7d0a7d0a7df8cfb8cd7b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a22663834396238343039343438386137393561303737303063366662383365303636636635376466643837663932636537306362633831636233626433666561326466376236373037336237306533366234346633353738623433643634643366616132653865343135656636633262356665343339306435613738653233383538316336653462633831666638316666383230316634227d5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "01eef2d0494448554177612e63026256258339230cbc6931ded78d6149443c6173437265617465204163636f756e740001030105507562206b65790000537472696e670003", - "hash": "eef2d0494448554177612e63026256258339230cbc6931ded78d6149443c6173" - }, - { - "title": "Create Account Transaction - Valid Payload - Single Account Key #47", - "valid": true, - "chainID": "Mainnet", - "payloadMessage": { - "script": "transaction(publicKeys: [String]) {\nprepare(signer: AuthAccount) {\nlet acct = AuthAccount(payer: signer)\nfor key in publicKeys {\nacct.addPublicKey(key.decodeHex())\n}\n}\n}", - "arguments": [ - { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f849b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc81ff81ff8203e8" - } - ] - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ] - }, - "envelopeMessage": { - "script": "transaction(publicKeys: [String]) {\nprepare(signer: AuthAccount) {\nlet acct = AuthAccount(payer: signer)\nfor key in publicKeys {\nacct.addPublicKey(key.decodeHex())\n}\n}\n}", - "arguments": [ - { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f849b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc81ff81ff8203e8" - } - ] - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f901bcb8a97472616e73616374696f6e287075626c69634b6579733a205b537472696e675d29207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a6c65742061636374203d20417574684163636f756e742870617965723a207369676e6572290a666f72206b657920696e207075626c69634b657973207b0a616363742e6164645075626c69634b6579286b65792e6465636f64654865782829290a7d0a7d0a7df8cfb8cd7b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a22663834396238343039343438386137393561303737303063366662383365303636636635376466643837663932636537306362633831636233626433666561326466376236373037336237306533366234346633353738623433643634643366616132653865343135656636633262356665343339306435613738653233383538316336653462633831666638316666383230336538227d5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f901c0f901bcb8a97472616e73616374696f6e287075626c69634b6579733a205b537472696e675d29207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a6c65742061636374203d20417574684163636f756e742870617965723a207369676e6572290a666f72206b657920696e207075626c69634b657973207b0a616363742e6164645075626c69634b6579286b65792e6465636f64654865782829290a7d0a7d0a7df8cfb8cd7b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a22663834396238343039343438386137393561303737303063366662383365303636636635376466643837663932636537306362633831636233626433666561326466376236373037336237306533366234346633353738623433643634643366616132653865343135656636633262356665343339306435613738653233383538316336653462633831666638316666383230336538227d5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "01eef2d0494448554177612e63026256258339230cbc6931ded78d6149443c6173437265617465204163636f756e740001030105507562206b65790000537472696e670003", - "hash": "eef2d0494448554177612e63026256258339230cbc6931ded78d6149443c6173" - }, - { - "title": "Create Account Transaction - Valid Payload - Multiple Account Keys #1", - "valid": true, - "chainID": "Mainnet", - "payloadMessage": { - "script": "transaction(publicKeys: [String]) {\nprepare(signer: AuthAccount) {\nlet acct = AuthAccount(payer: signer)\nfor key in publicKeys {\nacct.addPublicKey(key.decodeHex())\n}\n}\n}", - "arguments": [ - { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f845b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc808080" - } - ] - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ] - }, - "envelopeMessage": { - "script": "transaction(publicKeys: [String]) {\nprepare(signer: AuthAccount) {\nlet acct = AuthAccount(payer: signer)\nfor key in publicKeys {\nacct.addPublicKey(key.decodeHex())\n}\n}\n}", - "arguments": [ - { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f845b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc808080" - } - ] - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f901b4b8a97472616e73616374696f6e287075626c69634b6579733a205b537472696e675d29207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a6c65742061636374203d20417574684163636f756e742870617965723a207369676e6572290a666f72206b657920696e207075626c69634b657973207b0a616363742e6164645075626c69634b6579286b65792e6465636f64654865782829290a7d0a7d0a7df8c7b8c57b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303934343838613739356130373730306336666238336530363663663537646664383766393263653730636263383163623362643366656132646637623637303733623730653336623434663335373862343364363464336661613265386534313565663663326235666534333930643561373865323338353831633665346263383038303830227d5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f901b8f901b4b8a97472616e73616374696f6e287075626c69634b6579733a205b537472696e675d29207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a6c65742061636374203d20417574684163636f756e742870617965723a207369676e6572290a666f72206b657920696e207075626c69634b657973207b0a616363742e6164645075626c69634b6579286b65792e6465636f64654865782829290a7d0a7d0a7df8c7b8c57b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303934343838613739356130373730306336666238336530363663663537646664383766393263653730636263383163623362643366656132646637623637303733623730653336623434663335373862343364363464336661613265386534313565663663326235666534333930643561373865323338353831633665346263383038303830227d5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "01eef2d0494448554177612e63026256258339230cbc6931ded78d6149443c6173437265617465204163636f756e740001030105507562206b65790000537472696e670003", - "hash": "eef2d0494448554177612e63026256258339230cbc6931ded78d6149443c6173" - }, - { - "title": "Create Account Transaction - Valid Payload - Multiple Account Keys #2", - "valid": true, - "chainID": "Mainnet", - "payloadMessage": { - "script": "transaction(publicKeys: [String]) {\nprepare(signer: AuthAccount) {\nlet acct = AuthAccount(payer: signer)\nfor key in publicKeys {\nacct.addPublicKey(key.decodeHex())\n}\n}\n}", - "arguments": [ - { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f845b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc808080" - }, - { - "type": "String", - "value": "f847b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc80808201f4" - } - ] - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ] - }, - "envelopeMessage": { - "script": "transaction(publicKeys: [String]) {\nprepare(signer: AuthAccount) {\nlet acct = AuthAccount(payer: signer)\nfor key in publicKeys {\nacct.addPublicKey(key.decodeHex())\n}\n}\n}", - "arguments": [ - { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f845b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc808080" - }, - { - "type": "String", - "value": "f847b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc80808201f4" - } - ] - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f90265b8a97472616e73616374696f6e287075626c69634b6579733a205b537472696e675d29207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a6c65742061636374203d20417574684163636f756e742870617965723a207369676e6572290a666f72206b657920696e207075626c69634b657973207b0a616363742e6164645075626c69634b6579286b65792e6465636f64654865782829290a7d0a7d0a7df90177b901747b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303934343838613739356130373730306336666238336530363663663537646664383766393263653730636263383163623362643366656132646637623637303733623730653336623434663335373862343364363464336661613265386534313565663663326235666534333930643561373865323338353831633665346263383038303830227d2c7b2274797065223a22537472696e67222c2276616c7565223a226638343762383430393434383861373935613037373030633666623833653036366366353764666438376639326365373063626338316362336264336665613264663762363730373362373065333662343466333537386234336436346433666161326538653431356566366332623566653433393064356137386532333835383163366534626338303830383230316634227d5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f90269f90265b8a97472616e73616374696f6e287075626c69634b6579733a205b537472696e675d29207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a6c65742061636374203d20417574684163636f756e742870617965723a207369676e6572290a666f72206b657920696e207075626c69634b657973207b0a616363742e6164645075626c69634b6579286b65792e6465636f64654865782829290a7d0a7d0a7df90177b901747b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303934343838613739356130373730306336666238336530363663663537646664383766393263653730636263383163623362643366656132646637623637303733623730653336623434663335373862343364363464336661613265386534313565663663326235666534333930643561373865323338353831633665346263383038303830227d2c7b2274797065223a22537472696e67222c2276616c7565223a226638343762383430393434383861373935613037373030633666623833653036366366353764666438376639326365373063626338316362336264336665613264663762363730373362373065333662343466333537386234336436346433666161326538653431356566366332623566653433393064356137386532333835383163366534626338303830383230316634227d5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "01eef2d0494448554177612e63026256258339230cbc6931ded78d6149443c6173437265617465204163636f756e740001030105507562206b65790000537472696e670003", - "hash": "eef2d0494448554177612e63026256258339230cbc6931ded78d6149443c6173" - }, - { - "title": "Create Account Transaction - Valid Payload - Multiple Account Keys #3", - "valid": true, - "chainID": "Mainnet", - "payloadMessage": { - "script": "transaction(publicKeys: [String]) {\nprepare(signer: AuthAccount) {\nlet acct = AuthAccount(payer: signer)\nfor key in publicKeys {\nacct.addPublicKey(key.decodeHex())\n}\n}\n}", - "arguments": [ - { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f845b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc808080" - }, - { - "type": "String", - "value": "f847b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc80808201f4" - }, - { - "type": "String", - "value": "f847b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc80808203e8" - } - ] - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ] - }, - "envelopeMessage": { - "script": "transaction(publicKeys: [String]) {\nprepare(signer: AuthAccount) {\nlet acct = AuthAccount(payer: signer)\nfor key in publicKeys {\nacct.addPublicKey(key.decodeHex())\n}\n}\n}", - "arguments": [ - { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f845b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc808080" - }, - { - "type": "String", - "value": "f847b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc80808201f4" - }, - { - "type": "String", - "value": "f847b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc80808203e8" - } - ] - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f90314b8a97472616e73616374696f6e287075626c69634b6579733a205b537472696e675d29207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a6c65742061636374203d20417574684163636f756e742870617965723a207369676e6572290a666f72206b657920696e207075626c69634b657973207b0a616363742e6164645075626c69634b6579286b65792e6465636f64654865782829290a7d0a7d0a7df90226b902237b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303934343838613739356130373730306336666238336530363663663537646664383766393263653730636263383163623362643366656132646637623637303733623730653336623434663335373862343364363464336661613265386534313565663663326235666534333930643561373865323338353831633665346263383038303830227d2c7b2274797065223a22537472696e67222c2276616c7565223a226638343762383430393434383861373935613037373030633666623833653036366366353764666438376639326365373063626338316362336264336665613264663762363730373362373065333662343466333537386234336436346433666161326538653431356566366332623566653433393064356137386532333835383163366534626338303830383230316634227d2c7b2274797065223a22537472696e67222c2276616c7565223a226638343762383430393434383861373935613037373030633666623833653036366366353764666438376639326365373063626338316362336264336665613264663762363730373362373065333662343466333537386234336436346433666161326538653431356566366332623566653433393064356137386532333835383163366534626338303830383230336538227d5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f90318f90314b8a97472616e73616374696f6e287075626c69634b6579733a205b537472696e675d29207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a6c65742061636374203d20417574684163636f756e742870617965723a207369676e6572290a666f72206b657920696e207075626c69634b657973207b0a616363742e6164645075626c69634b6579286b65792e6465636f64654865782829290a7d0a7d0a7df90226b902237b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303934343838613739356130373730306336666238336530363663663537646664383766393263653730636263383163623362643366656132646637623637303733623730653336623434663335373862343364363464336661613265386534313565663663326235666534333930643561373865323338353831633665346263383038303830227d2c7b2274797065223a22537472696e67222c2276616c7565223a226638343762383430393434383861373935613037373030633666623833653036366366353764666438376639326365373063626338316362336264336665613264663762363730373362373065333662343466333537386234336436346433666161326538653431356566366332623566653433393064356137386532333835383163366534626338303830383230316634227d2c7b2274797065223a22537472696e67222c2276616c7565223a226638343762383430393434383861373935613037373030633666623833653036366366353764666438376639326365373063626338316362336264336665613264663762363730373362373065333662343466333537386234336436346433666161326538653431356566366332623566653433393064356137386532333835383163366534626338303830383230336538227d5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "01eef2d0494448554177612e63026256258339230cbc6931ded78d6149443c6173437265617465204163636f756e740001030105507562206b65790000537472696e670003", - "hash": "eef2d0494448554177612e63026256258339230cbc6931ded78d6149443c6173" - }, - { - "title": "Create Account Transaction - Valid Payload - Multiple Account Keys #4", - "valid": true, - "chainID": "Mainnet", - "payloadMessage": { - "script": "transaction(publicKeys: [String]) {\nprepare(signer: AuthAccount) {\nlet acct = AuthAccount(payer: signer)\nfor key in publicKeys {\nacct.addPublicKey(key.decodeHex())\n}\n}\n}", - "arguments": [ - { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f845b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc808080" - }, - { - "type": "String", - "value": "f847b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc80808201f4" - }, - { - "type": "String", - "value": "f847b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc80808203e8" - }, - { - "type": "String", - "value": "f845b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc800180" - } - ] - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ] - }, - "envelopeMessage": { - "script": "transaction(publicKeys: [String]) {\nprepare(signer: AuthAccount) {\nlet acct = AuthAccount(payer: signer)\nfor key in publicKeys {\nacct.addPublicKey(key.decodeHex())\n}\n}\n}", - "arguments": [ - { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f845b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc808080" - }, - { - "type": "String", - "value": "f847b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc80808201f4" - }, - { - "type": "String", - "value": "f847b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc80808203e8" - }, - { - "type": "String", - "value": "f845b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc800180" - } - ] - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f903bfb8a97472616e73616374696f6e287075626c69634b6579733a205b537472696e675d29207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a6c65742061636374203d20417574684163636f756e742870617965723a207369676e6572290a666f72206b657920696e207075626c69634b657973207b0a616363742e6164645075626c69634b6579286b65792e6465636f64654865782829290a7d0a7d0a7df902d1b902ce7b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303934343838613739356130373730306336666238336530363663663537646664383766393263653730636263383163623362643366656132646637623637303733623730653336623434663335373862343364363464336661613265386534313565663663326235666534333930643561373865323338353831633665346263383038303830227d2c7b2274797065223a22537472696e67222c2276616c7565223a226638343762383430393434383861373935613037373030633666623833653036366366353764666438376639326365373063626338316362336264336665613264663762363730373362373065333662343466333537386234336436346433666161326538653431356566366332623566653433393064356137386532333835383163366534626338303830383230316634227d2c7b2274797065223a22537472696e67222c2276616c7565223a226638343762383430393434383861373935613037373030633666623833653036366366353764666438376639326365373063626338316362336264336665613264663762363730373362373065333662343466333537386234336436346433666161326538653431356566366332623566653433393064356137386532333835383163366534626338303830383230336538227d2c7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303934343838613739356130373730306336666238336530363663663537646664383766393263653730636263383163623362643366656132646637623637303733623730653336623434663335373862343364363464336661613265386534313565663663326235666534333930643561373865323338353831633665346263383030313830227d5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f903c3f903bfb8a97472616e73616374696f6e287075626c69634b6579733a205b537472696e675d29207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a6c65742061636374203d20417574684163636f756e742870617965723a207369676e6572290a666f72206b657920696e207075626c69634b657973207b0a616363742e6164645075626c69634b6579286b65792e6465636f64654865782829290a7d0a7d0a7df902d1b902ce7b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303934343838613739356130373730306336666238336530363663663537646664383766393263653730636263383163623362643366656132646637623637303733623730653336623434663335373862343364363464336661613265386534313565663663326235666534333930643561373865323338353831633665346263383038303830227d2c7b2274797065223a22537472696e67222c2276616c7565223a226638343762383430393434383861373935613037373030633666623833653036366366353764666438376639326365373063626338316362336264336665613264663762363730373362373065333662343466333537386234336436346433666161326538653431356566366332623566653433393064356137386532333835383163366534626338303830383230316634227d2c7b2274797065223a22537472696e67222c2276616c7565223a226638343762383430393434383861373935613037373030633666623833653036366366353764666438376639326365373063626338316362336264336665613264663762363730373362373065333662343466333537386234336436346433666161326538653431356566366332623566653433393064356137386532333835383163366534626338303830383230336538227d2c7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303934343838613739356130373730306336666238336530363663663537646664383766393263653730636263383163623362643366656132646637623637303733623730653336623434663335373862343364363464336661613265386534313565663663326235666534333930643561373865323338353831633665346263383030313830227d5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "01eef2d0494448554177612e63026256258339230cbc6931ded78d6149443c6173437265617465204163636f756e740001030105507562206b65790000537472696e670003", - "hash": "eef2d0494448554177612e63026256258339230cbc6931ded78d6149443c6173" - }, - { - "title": "Create Account Transaction - Valid Payload - Multiple Account Keys #5", - "valid": true, - "chainID": "Mainnet", - "payloadMessage": { - "script": "transaction(publicKeys: [String]) {\nprepare(signer: AuthAccount) {\nlet acct = AuthAccount(payer: signer)\nfor key in publicKeys {\nacct.addPublicKey(key.decodeHex())\n}\n}\n}", - "arguments": [ - { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f845b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc808080" - }, - { - "type": "String", - "value": "f847b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc80808201f4" - }, - { - "type": "String", - "value": "f847b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc80808203e8" - }, - { - "type": "String", - "value": "f845b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc800180" - }, - { - "type": "String", - "value": "f847b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc80018201f4" - } - ] - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ] - }, - "envelopeMessage": { - "script": "transaction(publicKeys: [String]) {\nprepare(signer: AuthAccount) {\nlet acct = AuthAccount(payer: signer)\nfor key in publicKeys {\nacct.addPublicKey(key.decodeHex())\n}\n}\n}", - "arguments": [ - { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f845b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc808080" - }, - { - "type": "String", - "value": "f847b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc80808201f4" - }, - { - "type": "String", - "value": "f847b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc80808203e8" - }, - { - "type": "String", - "value": "f845b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc800180" - }, - { - "type": "String", - "value": "f847b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc80018201f4" - } - ] - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f9046eb8a97472616e73616374696f6e287075626c69634b6579733a205b537472696e675d29207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a6c65742061636374203d20417574684163636f756e742870617965723a207369676e6572290a666f72206b657920696e207075626c69634b657973207b0a616363742e6164645075626c69634b6579286b65792e6465636f64654865782829290a7d0a7d0a7df90380b9037d7b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303934343838613739356130373730306336666238336530363663663537646664383766393263653730636263383163623362643366656132646637623637303733623730653336623434663335373862343364363464336661613265386534313565663663326235666534333930643561373865323338353831633665346263383038303830227d2c7b2274797065223a22537472696e67222c2276616c7565223a226638343762383430393434383861373935613037373030633666623833653036366366353764666438376639326365373063626338316362336264336665613264663762363730373362373065333662343466333537386234336436346433666161326538653431356566366332623566653433393064356137386532333835383163366534626338303830383230316634227d2c7b2274797065223a22537472696e67222c2276616c7565223a226638343762383430393434383861373935613037373030633666623833653036366366353764666438376639326365373063626338316362336264336665613264663762363730373362373065333662343466333537386234336436346433666161326538653431356566366332623566653433393064356137386532333835383163366534626338303830383230336538227d2c7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303934343838613739356130373730306336666238336530363663663537646664383766393263653730636263383163623362643366656132646637623637303733623730653336623434663335373862343364363464336661613265386534313565663663326235666534333930643561373865323338353831633665346263383030313830227d2c7b2274797065223a22537472696e67222c2276616c7565223a226638343762383430393434383861373935613037373030633666623833653036366366353764666438376639326365373063626338316362336264336665613264663762363730373362373065333662343466333537386234336436346433666161326538653431356566366332623566653433393064356137386532333835383163366534626338303031383230316634227d5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f90472f9046eb8a97472616e73616374696f6e287075626c69634b6579733a205b537472696e675d29207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a6c65742061636374203d20417574684163636f756e742870617965723a207369676e6572290a666f72206b657920696e207075626c69634b657973207b0a616363742e6164645075626c69634b6579286b65792e6465636f64654865782829290a7d0a7d0a7df90380b9037d7b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303934343838613739356130373730306336666238336530363663663537646664383766393263653730636263383163623362643366656132646637623637303733623730653336623434663335373862343364363464336661613265386534313565663663326235666534333930643561373865323338353831633665346263383038303830227d2c7b2274797065223a22537472696e67222c2276616c7565223a226638343762383430393434383861373935613037373030633666623833653036366366353764666438376639326365373063626338316362336264336665613264663762363730373362373065333662343466333537386234336436346433666161326538653431356566366332623566653433393064356137386532333835383163366534626338303830383230316634227d2c7b2274797065223a22537472696e67222c2276616c7565223a226638343762383430393434383861373935613037373030633666623833653036366366353764666438376639326365373063626338316362336264336665613264663762363730373362373065333662343466333537386234336436346433666161326538653431356566366332623566653433393064356137386532333835383163366534626338303830383230336538227d2c7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303934343838613739356130373730306336666238336530363663663537646664383766393263653730636263383163623362643366656132646637623637303733623730653336623434663335373862343364363464336661613265386534313565663663326235666534333930643561373865323338353831633665346263383030313830227d2c7b2274797065223a22537472696e67222c2276616c7565223a226638343762383430393434383861373935613037373030633666623833653036366366353764666438376639326365373063626338316362336264336665613264663762363730373362373065333662343466333537386234336436346433666161326538653431356566366332623566653433393064356137386532333835383163366534626338303031383230316634227d5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "01eef2d0494448554177612e63026256258339230cbc6931ded78d6149443c6173437265617465204163636f756e740001030105507562206b65790000537472696e670003", - "hash": "eef2d0494448554177612e63026256258339230cbc6931ded78d6149443c6173" - }, - { - "title": "Add New Key Transaction - Valid Envelope - Valid Account Key 0", - "valid": true, - "chainID": "Mainnet", - "payloadMessage": { - "script": "transaction(publicKey: String) {\nprepare(signer: AuthAccount) {\nsigner.addPublicKey(publicKey.decodeHex())\n}\n}", - "arguments": [ - { - "type": "String", - "value": "f845b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc808080" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [ - { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sig": "f7225388c1d69d57e6251c9fda50cbbf9e05131e5adb81e5aa0422402f048162" - } - ] - }, - "envelopeMessage": { - "script": "transaction(publicKey: String) {\nprepare(signer: AuthAccount) {\nsigner.addPublicKey(publicKey.decodeHex())\n}\n}", - "arguments": [ - { - "type": "String", - "value": "f845b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc808080" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f9015eb86e7472616e73616374696f6e287075626c69634b65793a20537472696e6729207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a7369676e65722e6164645075626c69634b6579287075626c69634b65792e6465636f64654865782829290a7d0a7df8acb8aa7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303934343838613739356130373730306336666238336530363663663537646664383766393263653730636263383163623362643366656132646637623637303733623730653336623434663335373862343364363464336661613265386534313565663663326235666534333930643561373865323338353831633665346263383038303830227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f90162f9015eb86e7472616e73616374696f6e287075626c69634b65793a20537472696e6729207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a7369676e65722e6164645075626c69634b6579287075626c69634b65792e6465636f64654865782829290a7d0a7df8acb8aa7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303934343838613739356130373730306336666238336530363663663537646664383766393263653730636263383163623362643366656132646637623637303733623730653336623434663335373862343364363464336661613265386534313565663663326235666534333930643561373865323338353831633665346263383038303830227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "01595c86561441b32b2b91ee03f9e10ca6efa7b41bcc994f51317ec0aa9d8f8a42416464204e6577204b6579000101507562206b65790000537472696e670003", - "hash": "595c86561441b32b2b91ee03f9e10ca6efa7b41bcc994f51317ec0aa9d8f8a42" - }, - { - "title": "Add New Key Transaction - Valid Envelope - Valid Account Key 1", - "valid": true, - "chainID": "Mainnet", - "payloadMessage": { - "script": "transaction(publicKey: String) {\nprepare(signer: AuthAccount) {\nsigner.addPublicKey(publicKey.decodeHex())\n}\n}", - "arguments": [ - { - "type": "String", - "value": "f847b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc80808201f4" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [ - { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sig": "f7225388c1d69d57e6251c9fda50cbbf9e05131e5adb81e5aa0422402f048162" - } - ] - }, - "envelopeMessage": { - "script": "transaction(publicKey: String) {\nprepare(signer: AuthAccount) {\nsigner.addPublicKey(publicKey.decodeHex())\n}\n}", - "arguments": [ - { - "type": "String", - "value": "f847b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc80808201f4" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f90162b86e7472616e73616374696f6e287075626c69634b65793a20537472696e6729207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a7369676e65722e6164645075626c69634b6579287075626c69634b65792e6465636f64654865782829290a7d0a7df8b0b8ae7b2274797065223a22537472696e67222c2276616c7565223a226638343762383430393434383861373935613037373030633666623833653036366366353764666438376639326365373063626338316362336264336665613264663762363730373362373065333662343466333537386234336436346433666161326538653431356566366332623566653433393064356137386532333835383163366534626338303830383230316634227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f90166f90162b86e7472616e73616374696f6e287075626c69634b65793a20537472696e6729207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a7369676e65722e6164645075626c69634b6579287075626c69634b65792e6465636f64654865782829290a7d0a7df8b0b8ae7b2274797065223a22537472696e67222c2276616c7565223a226638343762383430393434383861373935613037373030633666623833653036366366353764666438376639326365373063626338316362336264336665613264663762363730373362373065333662343466333537386234336436346433666161326538653431356566366332623566653433393064356137386532333835383163366534626338303830383230316634227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "01595c86561441b32b2b91ee03f9e10ca6efa7b41bcc994f51317ec0aa9d8f8a42416464204e6577204b6579000101507562206b65790000537472696e670003", - "hash": "595c86561441b32b2b91ee03f9e10ca6efa7b41bcc994f51317ec0aa9d8f8a42" - }, - { - "title": "Add New Key Transaction - Valid Envelope - Valid Account Key 2", - "valid": true, - "chainID": "Mainnet", - "payloadMessage": { - "script": "transaction(publicKey: String) {\nprepare(signer: AuthAccount) {\nsigner.addPublicKey(publicKey.decodeHex())\n}\n}", - "arguments": [ - { - "type": "String", - "value": "f847b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc80808203e8" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [ - { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sig": "f7225388c1d69d57e6251c9fda50cbbf9e05131e5adb81e5aa0422402f048162" - } - ] - }, - "envelopeMessage": { - "script": "transaction(publicKey: String) {\nprepare(signer: AuthAccount) {\nsigner.addPublicKey(publicKey.decodeHex())\n}\n}", - "arguments": [ - { - "type": "String", - "value": "f847b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc80808203e8" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f90162b86e7472616e73616374696f6e287075626c69634b65793a20537472696e6729207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a7369676e65722e6164645075626c69634b6579287075626c69634b65792e6465636f64654865782829290a7d0a7df8b0b8ae7b2274797065223a22537472696e67222c2276616c7565223a226638343762383430393434383861373935613037373030633666623833653036366366353764666438376639326365373063626338316362336264336665613264663762363730373362373065333662343466333537386234336436346433666161326538653431356566366332623566653433393064356137386532333835383163366534626338303830383230336538227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f90166f90162b86e7472616e73616374696f6e287075626c69634b65793a20537472696e6729207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a7369676e65722e6164645075626c69634b6579287075626c69634b65792e6465636f64654865782829290a7d0a7df8b0b8ae7b2274797065223a22537472696e67222c2276616c7565223a226638343762383430393434383861373935613037373030633666623833653036366366353764666438376639326365373063626338316362336264336665613264663762363730373362373065333662343466333537386234336436346433666161326538653431356566366332623566653433393064356137386532333835383163366534626338303830383230336538227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "01595c86561441b32b2b91ee03f9e10ca6efa7b41bcc994f51317ec0aa9d8f8a42416464204e6577204b6579000101507562206b65790000537472696e670003", - "hash": "595c86561441b32b2b91ee03f9e10ca6efa7b41bcc994f51317ec0aa9d8f8a42" - }, - { - "title": "Add New Key Transaction - Valid Envelope - Valid Account Key 3", - "valid": true, - "chainID": "Mainnet", - "payloadMessage": { - "script": "transaction(publicKey: String) {\nprepare(signer: AuthAccount) {\nsigner.addPublicKey(publicKey.decodeHex())\n}\n}", - "arguments": [ - { - "type": "String", - "value": "f845b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc800180" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [ - { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sig": "f7225388c1d69d57e6251c9fda50cbbf9e05131e5adb81e5aa0422402f048162" - } - ] - }, - "envelopeMessage": { - "script": "transaction(publicKey: String) {\nprepare(signer: AuthAccount) {\nsigner.addPublicKey(publicKey.decodeHex())\n}\n}", - "arguments": [ - { - "type": "String", - "value": "f845b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc800180" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f9015eb86e7472616e73616374696f6e287075626c69634b65793a20537472696e6729207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a7369676e65722e6164645075626c69634b6579287075626c69634b65792e6465636f64654865782829290a7d0a7df8acb8aa7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303934343838613739356130373730306336666238336530363663663537646664383766393263653730636263383163623362643366656132646637623637303733623730653336623434663335373862343364363464336661613265386534313565663663326235666534333930643561373865323338353831633665346263383030313830227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f90162f9015eb86e7472616e73616374696f6e287075626c69634b65793a20537472696e6729207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a7369676e65722e6164645075626c69634b6579287075626c69634b65792e6465636f64654865782829290a7d0a7df8acb8aa7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303934343838613739356130373730306336666238336530363663663537646664383766393263653730636263383163623362643366656132646637623637303733623730653336623434663335373862343364363464336661613265386534313565663663326235666534333930643561373865323338353831633665346263383030313830227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "01595c86561441b32b2b91ee03f9e10ca6efa7b41bcc994f51317ec0aa9d8f8a42416464204e6577204b6579000101507562206b65790000537472696e670003", - "hash": "595c86561441b32b2b91ee03f9e10ca6efa7b41bcc994f51317ec0aa9d8f8a42" - }, - { - "title": "Add New Key Transaction - Valid Envelope - Valid Account Key 4", - "valid": true, - "chainID": "Mainnet", - "payloadMessage": { - "script": "transaction(publicKey: String) {\nprepare(signer: AuthAccount) {\nsigner.addPublicKey(publicKey.decodeHex())\n}\n}", - "arguments": [ - { - "type": "String", - "value": "f847b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc80018201f4" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [ - { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sig": "f7225388c1d69d57e6251c9fda50cbbf9e05131e5adb81e5aa0422402f048162" - } - ] - }, - "envelopeMessage": { - "script": "transaction(publicKey: String) {\nprepare(signer: AuthAccount) {\nsigner.addPublicKey(publicKey.decodeHex())\n}\n}", - "arguments": [ - { - "type": "String", - "value": "f847b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc80018201f4" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f90162b86e7472616e73616374696f6e287075626c69634b65793a20537472696e6729207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a7369676e65722e6164645075626c69634b6579287075626c69634b65792e6465636f64654865782829290a7d0a7df8b0b8ae7b2274797065223a22537472696e67222c2276616c7565223a226638343762383430393434383861373935613037373030633666623833653036366366353764666438376639326365373063626338316362336264336665613264663762363730373362373065333662343466333537386234336436346433666161326538653431356566366332623566653433393064356137386532333835383163366534626338303031383230316634227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f90166f90162b86e7472616e73616374696f6e287075626c69634b65793a20537472696e6729207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a7369676e65722e6164645075626c69634b6579287075626c69634b65792e6465636f64654865782829290a7d0a7df8b0b8ae7b2274797065223a22537472696e67222c2276616c7565223a226638343762383430393434383861373935613037373030633666623833653036366366353764666438376639326365373063626338316362336264336665613264663762363730373362373065333662343466333537386234336436346433666161326538653431356566366332623566653433393064356137386532333835383163366534626338303031383230316634227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "01595c86561441b32b2b91ee03f9e10ca6efa7b41bcc994f51317ec0aa9d8f8a42416464204e6577204b6579000101507562206b65790000537472696e670003", - "hash": "595c86561441b32b2b91ee03f9e10ca6efa7b41bcc994f51317ec0aa9d8f8a42" - }, - { - "title": "Add New Key Transaction - Valid Envelope - Valid Account Key 5", - "valid": true, - "chainID": "Mainnet", - "payloadMessage": { - "script": "transaction(publicKey: String) {\nprepare(signer: AuthAccount) {\nsigner.addPublicKey(publicKey.decodeHex())\n}\n}", - "arguments": [ - { - "type": "String", - "value": "f847b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc80018203e8" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [ - { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sig": "f7225388c1d69d57e6251c9fda50cbbf9e05131e5adb81e5aa0422402f048162" - } - ] - }, - "envelopeMessage": { - "script": "transaction(publicKey: String) {\nprepare(signer: AuthAccount) {\nsigner.addPublicKey(publicKey.decodeHex())\n}\n}", - "arguments": [ - { - "type": "String", - "value": "f847b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc80018203e8" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f90162b86e7472616e73616374696f6e287075626c69634b65793a20537472696e6729207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a7369676e65722e6164645075626c69634b6579287075626c69634b65792e6465636f64654865782829290a7d0a7df8b0b8ae7b2274797065223a22537472696e67222c2276616c7565223a226638343762383430393434383861373935613037373030633666623833653036366366353764666438376639326365373063626338316362336264336665613264663762363730373362373065333662343466333537386234336436346433666161326538653431356566366332623566653433393064356137386532333835383163366534626338303031383230336538227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f90166f90162b86e7472616e73616374696f6e287075626c69634b65793a20537472696e6729207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a7369676e65722e6164645075626c69634b6579287075626c69634b65792e6465636f64654865782829290a7d0a7df8b0b8ae7b2274797065223a22537472696e67222c2276616c7565223a226638343762383430393434383861373935613037373030633666623833653036366366353764666438376639326365373063626338316362336264336665613264663762363730373362373065333662343466333537386234336436346433666161326538653431356566366332623566653433393064356137386532333835383163366534626338303031383230336538227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "01595c86561441b32b2b91ee03f9e10ca6efa7b41bcc994f51317ec0aa9d8f8a42416464204e6577204b6579000101507562206b65790000537472696e670003", - "hash": "595c86561441b32b2b91ee03f9e10ca6efa7b41bcc994f51317ec0aa9d8f8a42" - }, - { - "title": "Add New Key Transaction - Valid Envelope - Valid Account Key 6", - "valid": true, - "chainID": "Mainnet", - "payloadMessage": { - "script": "transaction(publicKey: String) {\nprepare(signer: AuthAccount) {\nsigner.addPublicKey(publicKey.decodeHex())\n}\n}", - "arguments": [ - { - "type": "String", - "value": "f845b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc800380" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [ - { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sig": "f7225388c1d69d57e6251c9fda50cbbf9e05131e5adb81e5aa0422402f048162" - } - ] - }, - "envelopeMessage": { - "script": "transaction(publicKey: String) {\nprepare(signer: AuthAccount) {\nsigner.addPublicKey(publicKey.decodeHex())\n}\n}", - "arguments": [ - { - "type": "String", - "value": "f845b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc800380" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f9015eb86e7472616e73616374696f6e287075626c69634b65793a20537472696e6729207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a7369676e65722e6164645075626c69634b6579287075626c69634b65792e6465636f64654865782829290a7d0a7df8acb8aa7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303934343838613739356130373730306336666238336530363663663537646664383766393263653730636263383163623362643366656132646637623637303733623730653336623434663335373862343364363464336661613265386534313565663663326235666534333930643561373865323338353831633665346263383030333830227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f90162f9015eb86e7472616e73616374696f6e287075626c69634b65793a20537472696e6729207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a7369676e65722e6164645075626c69634b6579287075626c69634b65792e6465636f64654865782829290a7d0a7df8acb8aa7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303934343838613739356130373730306336666238336530363663663537646664383766393263653730636263383163623362643366656132646637623637303733623730653336623434663335373862343364363464336661613265386534313565663663326235666534333930643561373865323338353831633665346263383030333830227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "01595c86561441b32b2b91ee03f9e10ca6efa7b41bcc994f51317ec0aa9d8f8a42416464204e6577204b6579000101507562206b65790000537472696e670003", - "hash": "595c86561441b32b2b91ee03f9e10ca6efa7b41bcc994f51317ec0aa9d8f8a42" - }, - { - "title": "Add New Key Transaction - Valid Envelope - Valid Account Key 7", - "valid": true, - "chainID": "Mainnet", - "payloadMessage": { - "script": "transaction(publicKey: String) {\nprepare(signer: AuthAccount) {\nsigner.addPublicKey(publicKey.decodeHex())\n}\n}", - "arguments": [ - { - "type": "String", - "value": "f847b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc80038201f4" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [ - { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sig": "f7225388c1d69d57e6251c9fda50cbbf9e05131e5adb81e5aa0422402f048162" - } - ] - }, - "envelopeMessage": { - "script": "transaction(publicKey: String) {\nprepare(signer: AuthAccount) {\nsigner.addPublicKey(publicKey.decodeHex())\n}\n}", - "arguments": [ - { - "type": "String", - "value": "f847b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc80038201f4" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f90162b86e7472616e73616374696f6e287075626c69634b65793a20537472696e6729207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a7369676e65722e6164645075626c69634b6579287075626c69634b65792e6465636f64654865782829290a7d0a7df8b0b8ae7b2274797065223a22537472696e67222c2276616c7565223a226638343762383430393434383861373935613037373030633666623833653036366366353764666438376639326365373063626338316362336264336665613264663762363730373362373065333662343466333537386234336436346433666161326538653431356566366332623566653433393064356137386532333835383163366534626338303033383230316634227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f90166f90162b86e7472616e73616374696f6e287075626c69634b65793a20537472696e6729207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a7369676e65722e6164645075626c69634b6579287075626c69634b65792e6465636f64654865782829290a7d0a7df8b0b8ae7b2274797065223a22537472696e67222c2276616c7565223a226638343762383430393434383861373935613037373030633666623833653036366366353764666438376639326365373063626338316362336264336665613264663762363730373362373065333662343466333537386234336436346433666161326538653431356566366332623566653433393064356137386532333835383163366534626338303033383230316634227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "01595c86561441b32b2b91ee03f9e10ca6efa7b41bcc994f51317ec0aa9d8f8a42416464204e6577204b6579000101507562206b65790000537472696e670003", - "hash": "595c86561441b32b2b91ee03f9e10ca6efa7b41bcc994f51317ec0aa9d8f8a42" - }, - { - "title": "Add New Key Transaction - Valid Envelope - Valid Account Key 8", - "valid": true, - "chainID": "Mainnet", - "payloadMessage": { - "script": "transaction(publicKey: String) {\nprepare(signer: AuthAccount) {\nsigner.addPublicKey(publicKey.decodeHex())\n}\n}", - "arguments": [ - { - "type": "String", - "value": "f847b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc80038203e8" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [ - { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sig": "f7225388c1d69d57e6251c9fda50cbbf9e05131e5adb81e5aa0422402f048162" - } - ] - }, - "envelopeMessage": { - "script": "transaction(publicKey: String) {\nprepare(signer: AuthAccount) {\nsigner.addPublicKey(publicKey.decodeHex())\n}\n}", - "arguments": [ - { - "type": "String", - "value": "f847b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc80038203e8" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f90162b86e7472616e73616374696f6e287075626c69634b65793a20537472696e6729207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a7369676e65722e6164645075626c69634b6579287075626c69634b65792e6465636f64654865782829290a7d0a7df8b0b8ae7b2274797065223a22537472696e67222c2276616c7565223a226638343762383430393434383861373935613037373030633666623833653036366366353764666438376639326365373063626338316362336264336665613264663762363730373362373065333662343466333537386234336436346433666161326538653431356566366332623566653433393064356137386532333835383163366534626338303033383230336538227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f90166f90162b86e7472616e73616374696f6e287075626c69634b65793a20537472696e6729207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a7369676e65722e6164645075626c69634b6579287075626c69634b65792e6465636f64654865782829290a7d0a7df8b0b8ae7b2274797065223a22537472696e67222c2276616c7565223a226638343762383430393434383861373935613037373030633666623833653036366366353764666438376639326365373063626338316362336264336665613264663762363730373362373065333662343466333537386234336436346433666161326538653431356566366332623566653433393064356137386532333835383163366534626338303033383230336538227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "01595c86561441b32b2b91ee03f9e10ca6efa7b41bcc994f51317ec0aa9d8f8a42416464204e6577204b6579000101507562206b65790000537472696e670003", - "hash": "595c86561441b32b2b91ee03f9e10ca6efa7b41bcc994f51317ec0aa9d8f8a42" - }, - { - "title": "Add New Key Transaction - Valid Envelope - Valid Account Key 9", - "valid": true, - "chainID": "Mainnet", - "payloadMessage": { - "script": "transaction(publicKey: String) {\nprepare(signer: AuthAccount) {\nsigner.addPublicKey(publicKey.decodeHex())\n}\n}", - "arguments": [ - { - "type": "String", - "value": "f846b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc8081ff80" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [ - { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sig": "f7225388c1d69d57e6251c9fda50cbbf9e05131e5adb81e5aa0422402f048162" - } - ] - }, - "envelopeMessage": { - "script": "transaction(publicKey: String) {\nprepare(signer: AuthAccount) {\nsigner.addPublicKey(publicKey.decodeHex())\n}\n}", - "arguments": [ - { - "type": "String", - "value": "f846b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc8081ff80" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f90160b86e7472616e73616374696f6e287075626c69634b65793a20537472696e6729207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a7369676e65722e6164645075626c69634b6579287075626c69634b65792e6465636f64654865782829290a7d0a7df8aeb8ac7b2274797065223a22537472696e67222c2276616c7565223a22663834366238343039343438386137393561303737303063366662383365303636636635376466643837663932636537306362633831636233626433666561326466376236373037336237306533366234346633353738623433643634643366616132653865343135656636633262356665343339306435613738653233383538316336653462633830383166663830227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f90164f90160b86e7472616e73616374696f6e287075626c69634b65793a20537472696e6729207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a7369676e65722e6164645075626c69634b6579287075626c69634b65792e6465636f64654865782829290a7d0a7df8aeb8ac7b2274797065223a22537472696e67222c2276616c7565223a22663834366238343039343438386137393561303737303063366662383365303636636635376466643837663932636537306362633831636233626433666561326466376236373037336237306533366234346633353738623433643634643366616132653865343135656636633262356665343339306435613738653233383538316336653462633830383166663830227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "01595c86561441b32b2b91ee03f9e10ca6efa7b41bcc994f51317ec0aa9d8f8a42416464204e6577204b6579000101507562206b65790000537472696e670003", - "hash": "595c86561441b32b2b91ee03f9e10ca6efa7b41bcc994f51317ec0aa9d8f8a42" - }, - { - "title": "Add New Key Transaction - Valid Envelope - Valid Account Key 10", - "valid": true, - "chainID": "Mainnet", - "payloadMessage": { - "script": "transaction(publicKey: String) {\nprepare(signer: AuthAccount) {\nsigner.addPublicKey(publicKey.decodeHex())\n}\n}", - "arguments": [ - { - "type": "String", - "value": "f848b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc8081ff8201f4" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [ - { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sig": "f7225388c1d69d57e6251c9fda50cbbf9e05131e5adb81e5aa0422402f048162" - } - ] - }, - "envelopeMessage": { - "script": "transaction(publicKey: String) {\nprepare(signer: AuthAccount) {\nsigner.addPublicKey(publicKey.decodeHex())\n}\n}", - "arguments": [ - { - "type": "String", - "value": "f848b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc8081ff8201f4" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f90164b86e7472616e73616374696f6e287075626c69634b65793a20537472696e6729207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a7369676e65722e6164645075626c69634b6579287075626c69634b65792e6465636f64654865782829290a7d0a7df8b2b8b07b2274797065223a22537472696e67222c2276616c7565223a2266383438623834303934343838613739356130373730306336666238336530363663663537646664383766393263653730636263383163623362643366656132646637623637303733623730653336623434663335373862343364363464336661613265386534313565663663326235666534333930643561373865323338353831633665346263383038316666383230316634227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f90168f90164b86e7472616e73616374696f6e287075626c69634b65793a20537472696e6729207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a7369676e65722e6164645075626c69634b6579287075626c69634b65792e6465636f64654865782829290a7d0a7df8b2b8b07b2274797065223a22537472696e67222c2276616c7565223a2266383438623834303934343838613739356130373730306336666238336530363663663537646664383766393263653730636263383163623362643366656132646637623637303733623730653336623434663335373862343364363464336661613265386534313565663663326235666534333930643561373865323338353831633665346263383038316666383230316634227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "01595c86561441b32b2b91ee03f9e10ca6efa7b41bcc994f51317ec0aa9d8f8a42416464204e6577204b6579000101507562206b65790000537472696e670003", - "hash": "595c86561441b32b2b91ee03f9e10ca6efa7b41bcc994f51317ec0aa9d8f8a42" - }, - { - "title": "Add New Key Transaction - Valid Envelope - Valid Account Key 11", - "valid": true, - "chainID": "Mainnet", - "payloadMessage": { - "script": "transaction(publicKey: String) {\nprepare(signer: AuthAccount) {\nsigner.addPublicKey(publicKey.decodeHex())\n}\n}", - "arguments": [ - { - "type": "String", - "value": "f848b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc8081ff8203e8" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [ - { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sig": "f7225388c1d69d57e6251c9fda50cbbf9e05131e5adb81e5aa0422402f048162" - } - ] - }, - "envelopeMessage": { - "script": "transaction(publicKey: String) {\nprepare(signer: AuthAccount) {\nsigner.addPublicKey(publicKey.decodeHex())\n}\n}", - "arguments": [ - { - "type": "String", - "value": "f848b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc8081ff8203e8" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f90164b86e7472616e73616374696f6e287075626c69634b65793a20537472696e6729207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a7369676e65722e6164645075626c69634b6579287075626c69634b65792e6465636f64654865782829290a7d0a7df8b2b8b07b2274797065223a22537472696e67222c2276616c7565223a2266383438623834303934343838613739356130373730306336666238336530363663663537646664383766393263653730636263383163623362643366656132646637623637303733623730653336623434663335373862343364363464336661613265386534313565663663326235666534333930643561373865323338353831633665346263383038316666383230336538227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f90168f90164b86e7472616e73616374696f6e287075626c69634b65793a20537472696e6729207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a7369676e65722e6164645075626c69634b6579287075626c69634b65792e6465636f64654865782829290a7d0a7df8b2b8b07b2274797065223a22537472696e67222c2276616c7565223a2266383438623834303934343838613739356130373730306336666238336530363663663537646664383766393263653730636263383163623362643366656132646637623637303733623730653336623434663335373862343364363464336661613265386534313565663663326235666534333930643561373865323338353831633665346263383038316666383230336538227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "01595c86561441b32b2b91ee03f9e10ca6efa7b41bcc994f51317ec0aa9d8f8a42416464204e6577204b6579000101507562206b65790000537472696e670003", - "hash": "595c86561441b32b2b91ee03f9e10ca6efa7b41bcc994f51317ec0aa9d8f8a42" - }, - { - "title": "Add New Key Transaction - Valid Envelope - Valid Account Key 12", - "valid": true, - "chainID": "Mainnet", - "payloadMessage": { - "script": "transaction(publicKey: String) {\nprepare(signer: AuthAccount) {\nsigner.addPublicKey(publicKey.decodeHex())\n}\n}", - "arguments": [ - { - "type": "String", - "value": "f845b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc028080" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [ - { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sig": "f7225388c1d69d57e6251c9fda50cbbf9e05131e5adb81e5aa0422402f048162" - } - ] - }, - "envelopeMessage": { - "script": "transaction(publicKey: String) {\nprepare(signer: AuthAccount) {\nsigner.addPublicKey(publicKey.decodeHex())\n}\n}", - "arguments": [ - { - "type": "String", - "value": "f845b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc028080" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f9015eb86e7472616e73616374696f6e287075626c69634b65793a20537472696e6729207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a7369676e65722e6164645075626c69634b6579287075626c69634b65792e6465636f64654865782829290a7d0a7df8acb8aa7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303934343838613739356130373730306336666238336530363663663537646664383766393263653730636263383163623362643366656132646637623637303733623730653336623434663335373862343364363464336661613265386534313565663663326235666534333930643561373865323338353831633665346263303238303830227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f90162f9015eb86e7472616e73616374696f6e287075626c69634b65793a20537472696e6729207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a7369676e65722e6164645075626c69634b6579287075626c69634b65792e6465636f64654865782829290a7d0a7df8acb8aa7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303934343838613739356130373730306336666238336530363663663537646664383766393263653730636263383163623362643366656132646637623637303733623730653336623434663335373862343364363464336661613265386534313565663663326235666534333930643561373865323338353831633665346263303238303830227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "01595c86561441b32b2b91ee03f9e10ca6efa7b41bcc994f51317ec0aa9d8f8a42416464204e6577204b6579000101507562206b65790000537472696e670003", - "hash": "595c86561441b32b2b91ee03f9e10ca6efa7b41bcc994f51317ec0aa9d8f8a42" - }, - { - "title": "Add New Key Transaction - Valid Envelope - Valid Account Key 13", - "valid": true, - "chainID": "Mainnet", - "payloadMessage": { - "script": "transaction(publicKey: String) {\nprepare(signer: AuthAccount) {\nsigner.addPublicKey(publicKey.decodeHex())\n}\n}", - "arguments": [ - { - "type": "String", - "value": "f847b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc02808201f4" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [ - { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sig": "f7225388c1d69d57e6251c9fda50cbbf9e05131e5adb81e5aa0422402f048162" - } - ] - }, - "envelopeMessage": { - "script": "transaction(publicKey: String) {\nprepare(signer: AuthAccount) {\nsigner.addPublicKey(publicKey.decodeHex())\n}\n}", - "arguments": [ - { - "type": "String", - "value": "f847b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc02808201f4" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f90162b86e7472616e73616374696f6e287075626c69634b65793a20537472696e6729207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a7369676e65722e6164645075626c69634b6579287075626c69634b65792e6465636f64654865782829290a7d0a7df8b0b8ae7b2274797065223a22537472696e67222c2276616c7565223a226638343762383430393434383861373935613037373030633666623833653036366366353764666438376639326365373063626338316362336264336665613264663762363730373362373065333662343466333537386234336436346433666161326538653431356566366332623566653433393064356137386532333835383163366534626330323830383230316634227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f90166f90162b86e7472616e73616374696f6e287075626c69634b65793a20537472696e6729207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a7369676e65722e6164645075626c69634b6579287075626c69634b65792e6465636f64654865782829290a7d0a7df8b0b8ae7b2274797065223a22537472696e67222c2276616c7565223a226638343762383430393434383861373935613037373030633666623833653036366366353764666438376639326365373063626338316362336264336665613264663762363730373362373065333662343466333537386234336436346433666161326538653431356566366332623566653433393064356137386532333835383163366534626330323830383230316634227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "01595c86561441b32b2b91ee03f9e10ca6efa7b41bcc994f51317ec0aa9d8f8a42416464204e6577204b6579000101507562206b65790000537472696e670003", - "hash": "595c86561441b32b2b91ee03f9e10ca6efa7b41bcc994f51317ec0aa9d8f8a42" - }, - { - "title": "Add New Key Transaction - Valid Envelope - Valid Account Key 14", - "valid": true, - "chainID": "Mainnet", - "payloadMessage": { - "script": "transaction(publicKey: String) {\nprepare(signer: AuthAccount) {\nsigner.addPublicKey(publicKey.decodeHex())\n}\n}", - "arguments": [ - { - "type": "String", - "value": "f847b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc02808203e8" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [ - { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sig": "f7225388c1d69d57e6251c9fda50cbbf9e05131e5adb81e5aa0422402f048162" - } - ] - }, - "envelopeMessage": { - "script": "transaction(publicKey: String) {\nprepare(signer: AuthAccount) {\nsigner.addPublicKey(publicKey.decodeHex())\n}\n}", - "arguments": [ - { - "type": "String", - "value": "f847b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc02808203e8" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f90162b86e7472616e73616374696f6e287075626c69634b65793a20537472696e6729207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a7369676e65722e6164645075626c69634b6579287075626c69634b65792e6465636f64654865782829290a7d0a7df8b0b8ae7b2274797065223a22537472696e67222c2276616c7565223a226638343762383430393434383861373935613037373030633666623833653036366366353764666438376639326365373063626338316362336264336665613264663762363730373362373065333662343466333537386234336436346433666161326538653431356566366332623566653433393064356137386532333835383163366534626330323830383230336538227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f90166f90162b86e7472616e73616374696f6e287075626c69634b65793a20537472696e6729207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a7369676e65722e6164645075626c69634b6579287075626c69634b65792e6465636f64654865782829290a7d0a7df8b0b8ae7b2274797065223a22537472696e67222c2276616c7565223a226638343762383430393434383861373935613037373030633666623833653036366366353764666438376639326365373063626338316362336264336665613264663762363730373362373065333662343466333537386234336436346433666161326538653431356566366332623566653433393064356137386532333835383163366534626330323830383230336538227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "01595c86561441b32b2b91ee03f9e10ca6efa7b41bcc994f51317ec0aa9d8f8a42416464204e6577204b6579000101507562206b65790000537472696e670003", - "hash": "595c86561441b32b2b91ee03f9e10ca6efa7b41bcc994f51317ec0aa9d8f8a42" - }, - { - "title": "Add New Key Transaction - Valid Envelope - Valid Account Key 15", - "valid": true, - "chainID": "Mainnet", - "payloadMessage": { - "script": "transaction(publicKey: String) {\nprepare(signer: AuthAccount) {\nsigner.addPublicKey(publicKey.decodeHex())\n}\n}", - "arguments": [ - { - "type": "String", - "value": "f845b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc020180" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [ - { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sig": "f7225388c1d69d57e6251c9fda50cbbf9e05131e5adb81e5aa0422402f048162" - } - ] - }, - "envelopeMessage": { - "script": "transaction(publicKey: String) {\nprepare(signer: AuthAccount) {\nsigner.addPublicKey(publicKey.decodeHex())\n}\n}", - "arguments": [ - { - "type": "String", - "value": "f845b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc020180" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f9015eb86e7472616e73616374696f6e287075626c69634b65793a20537472696e6729207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a7369676e65722e6164645075626c69634b6579287075626c69634b65792e6465636f64654865782829290a7d0a7df8acb8aa7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303934343838613739356130373730306336666238336530363663663537646664383766393263653730636263383163623362643366656132646637623637303733623730653336623434663335373862343364363464336661613265386534313565663663326235666534333930643561373865323338353831633665346263303230313830227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f90162f9015eb86e7472616e73616374696f6e287075626c69634b65793a20537472696e6729207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a7369676e65722e6164645075626c69634b6579287075626c69634b65792e6465636f64654865782829290a7d0a7df8acb8aa7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303934343838613739356130373730306336666238336530363663663537646664383766393263653730636263383163623362643366656132646637623637303733623730653336623434663335373862343364363464336661613265386534313565663663326235666534333930643561373865323338353831633665346263303230313830227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "01595c86561441b32b2b91ee03f9e10ca6efa7b41bcc994f51317ec0aa9d8f8a42416464204e6577204b6579000101507562206b65790000537472696e670003", - "hash": "595c86561441b32b2b91ee03f9e10ca6efa7b41bcc994f51317ec0aa9d8f8a42" - }, - { - "title": "Add New Key Transaction - Valid Envelope - Valid Account Key 16", - "valid": true, - "chainID": "Mainnet", - "payloadMessage": { - "script": "transaction(publicKey: String) {\nprepare(signer: AuthAccount) {\nsigner.addPublicKey(publicKey.decodeHex())\n}\n}", - "arguments": [ - { - "type": "String", - "value": "f847b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc02018201f4" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [ - { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sig": "f7225388c1d69d57e6251c9fda50cbbf9e05131e5adb81e5aa0422402f048162" - } - ] - }, - "envelopeMessage": { - "script": "transaction(publicKey: String) {\nprepare(signer: AuthAccount) {\nsigner.addPublicKey(publicKey.decodeHex())\n}\n}", - "arguments": [ - { - "type": "String", - "value": "f847b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc02018201f4" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f90162b86e7472616e73616374696f6e287075626c69634b65793a20537472696e6729207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a7369676e65722e6164645075626c69634b6579287075626c69634b65792e6465636f64654865782829290a7d0a7df8b0b8ae7b2274797065223a22537472696e67222c2276616c7565223a226638343762383430393434383861373935613037373030633666623833653036366366353764666438376639326365373063626338316362336264336665613264663762363730373362373065333662343466333537386234336436346433666161326538653431356566366332623566653433393064356137386532333835383163366534626330323031383230316634227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f90166f90162b86e7472616e73616374696f6e287075626c69634b65793a20537472696e6729207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a7369676e65722e6164645075626c69634b6579287075626c69634b65792e6465636f64654865782829290a7d0a7df8b0b8ae7b2274797065223a22537472696e67222c2276616c7565223a226638343762383430393434383861373935613037373030633666623833653036366366353764666438376639326365373063626338316362336264336665613264663762363730373362373065333662343466333537386234336436346433666161326538653431356566366332623566653433393064356137386532333835383163366534626330323031383230316634227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "01595c86561441b32b2b91ee03f9e10ca6efa7b41bcc994f51317ec0aa9d8f8a42416464204e6577204b6579000101507562206b65790000537472696e670003", - "hash": "595c86561441b32b2b91ee03f9e10ca6efa7b41bcc994f51317ec0aa9d8f8a42" - }, - { - "title": "Add New Key Transaction - Valid Envelope - Valid Account Key 17", - "valid": true, - "chainID": "Mainnet", - "payloadMessage": { - "script": "transaction(publicKey: String) {\nprepare(signer: AuthAccount) {\nsigner.addPublicKey(publicKey.decodeHex())\n}\n}", - "arguments": [ - { - "type": "String", - "value": "f847b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc02018203e8" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [ - { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sig": "f7225388c1d69d57e6251c9fda50cbbf9e05131e5adb81e5aa0422402f048162" - } - ] - }, - "envelopeMessage": { - "script": "transaction(publicKey: String) {\nprepare(signer: AuthAccount) {\nsigner.addPublicKey(publicKey.decodeHex())\n}\n}", - "arguments": [ - { - "type": "String", - "value": "f847b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc02018203e8" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f90162b86e7472616e73616374696f6e287075626c69634b65793a20537472696e6729207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a7369676e65722e6164645075626c69634b6579287075626c69634b65792e6465636f64654865782829290a7d0a7df8b0b8ae7b2274797065223a22537472696e67222c2276616c7565223a226638343762383430393434383861373935613037373030633666623833653036366366353764666438376639326365373063626338316362336264336665613264663762363730373362373065333662343466333537386234336436346433666161326538653431356566366332623566653433393064356137386532333835383163366534626330323031383230336538227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f90166f90162b86e7472616e73616374696f6e287075626c69634b65793a20537472696e6729207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a7369676e65722e6164645075626c69634b6579287075626c69634b65792e6465636f64654865782829290a7d0a7df8b0b8ae7b2274797065223a22537472696e67222c2276616c7565223a226638343762383430393434383861373935613037373030633666623833653036366366353764666438376639326365373063626338316362336264336665613264663762363730373362373065333662343466333537386234336436346433666161326538653431356566366332623566653433393064356137386532333835383163366534626330323031383230336538227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "01595c86561441b32b2b91ee03f9e10ca6efa7b41bcc994f51317ec0aa9d8f8a42416464204e6577204b6579000101507562206b65790000537472696e670003", - "hash": "595c86561441b32b2b91ee03f9e10ca6efa7b41bcc994f51317ec0aa9d8f8a42" - }, - { - "title": "Add New Key Transaction - Valid Envelope - Valid Account Key 18", - "valid": true, - "chainID": "Mainnet", - "payloadMessage": { - "script": "transaction(publicKey: String) {\nprepare(signer: AuthAccount) {\nsigner.addPublicKey(publicKey.decodeHex())\n}\n}", - "arguments": [ - { - "type": "String", - "value": "f845b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc020380" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [ - { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sig": "f7225388c1d69d57e6251c9fda50cbbf9e05131e5adb81e5aa0422402f048162" - } - ] - }, - "envelopeMessage": { - "script": "transaction(publicKey: String) {\nprepare(signer: AuthAccount) {\nsigner.addPublicKey(publicKey.decodeHex())\n}\n}", - "arguments": [ - { - "type": "String", - "value": "f845b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc020380" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f9015eb86e7472616e73616374696f6e287075626c69634b65793a20537472696e6729207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a7369676e65722e6164645075626c69634b6579287075626c69634b65792e6465636f64654865782829290a7d0a7df8acb8aa7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303934343838613739356130373730306336666238336530363663663537646664383766393263653730636263383163623362643366656132646637623637303733623730653336623434663335373862343364363464336661613265386534313565663663326235666534333930643561373865323338353831633665346263303230333830227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f90162f9015eb86e7472616e73616374696f6e287075626c69634b65793a20537472696e6729207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a7369676e65722e6164645075626c69634b6579287075626c69634b65792e6465636f64654865782829290a7d0a7df8acb8aa7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303934343838613739356130373730306336666238336530363663663537646664383766393263653730636263383163623362643366656132646637623637303733623730653336623434663335373862343364363464336661613265386534313565663663326235666534333930643561373865323338353831633665346263303230333830227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "01595c86561441b32b2b91ee03f9e10ca6efa7b41bcc994f51317ec0aa9d8f8a42416464204e6577204b6579000101507562206b65790000537472696e670003", - "hash": "595c86561441b32b2b91ee03f9e10ca6efa7b41bcc994f51317ec0aa9d8f8a42" - }, - { - "title": "Add New Key Transaction - Valid Envelope - Valid Account Key 19", - "valid": true, - "chainID": "Mainnet", - "payloadMessage": { - "script": "transaction(publicKey: String) {\nprepare(signer: AuthAccount) {\nsigner.addPublicKey(publicKey.decodeHex())\n}\n}", - "arguments": [ - { - "type": "String", - "value": "f847b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc02038201f4" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [ - { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sig": "f7225388c1d69d57e6251c9fda50cbbf9e05131e5adb81e5aa0422402f048162" - } - ] - }, - "envelopeMessage": { - "script": "transaction(publicKey: String) {\nprepare(signer: AuthAccount) {\nsigner.addPublicKey(publicKey.decodeHex())\n}\n}", - "arguments": [ - { - "type": "String", - "value": "f847b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc02038201f4" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f90162b86e7472616e73616374696f6e287075626c69634b65793a20537472696e6729207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a7369676e65722e6164645075626c69634b6579287075626c69634b65792e6465636f64654865782829290a7d0a7df8b0b8ae7b2274797065223a22537472696e67222c2276616c7565223a226638343762383430393434383861373935613037373030633666623833653036366366353764666438376639326365373063626338316362336264336665613264663762363730373362373065333662343466333537386234336436346433666161326538653431356566366332623566653433393064356137386532333835383163366534626330323033383230316634227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f90166f90162b86e7472616e73616374696f6e287075626c69634b65793a20537472696e6729207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a7369676e65722e6164645075626c69634b6579287075626c69634b65792e6465636f64654865782829290a7d0a7df8b0b8ae7b2274797065223a22537472696e67222c2276616c7565223a226638343762383430393434383861373935613037373030633666623833653036366366353764666438376639326365373063626338316362336264336665613264663762363730373362373065333662343466333537386234336436346433666161326538653431356566366332623566653433393064356137386532333835383163366534626330323033383230316634227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "01595c86561441b32b2b91ee03f9e10ca6efa7b41bcc994f51317ec0aa9d8f8a42416464204e6577204b6579000101507562206b65790000537472696e670003", - "hash": "595c86561441b32b2b91ee03f9e10ca6efa7b41bcc994f51317ec0aa9d8f8a42" - }, - { - "title": "Add New Key Transaction - Valid Envelope - Valid Account Key 20", - "valid": true, - "chainID": "Mainnet", - "payloadMessage": { - "script": "transaction(publicKey: String) {\nprepare(signer: AuthAccount) {\nsigner.addPublicKey(publicKey.decodeHex())\n}\n}", - "arguments": [ - { - "type": "String", - "value": "f847b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc02038203e8" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [ - { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sig": "f7225388c1d69d57e6251c9fda50cbbf9e05131e5adb81e5aa0422402f048162" - } - ] - }, - "envelopeMessage": { - "script": "transaction(publicKey: String) {\nprepare(signer: AuthAccount) {\nsigner.addPublicKey(publicKey.decodeHex())\n}\n}", - "arguments": [ - { - "type": "String", - "value": "f847b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc02038203e8" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f90162b86e7472616e73616374696f6e287075626c69634b65793a20537472696e6729207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a7369676e65722e6164645075626c69634b6579287075626c69634b65792e6465636f64654865782829290a7d0a7df8b0b8ae7b2274797065223a22537472696e67222c2276616c7565223a226638343762383430393434383861373935613037373030633666623833653036366366353764666438376639326365373063626338316362336264336665613264663762363730373362373065333662343466333537386234336436346433666161326538653431356566366332623566653433393064356137386532333835383163366534626330323033383230336538227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f90166f90162b86e7472616e73616374696f6e287075626c69634b65793a20537472696e6729207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a7369676e65722e6164645075626c69634b6579287075626c69634b65792e6465636f64654865782829290a7d0a7df8b0b8ae7b2274797065223a22537472696e67222c2276616c7565223a226638343762383430393434383861373935613037373030633666623833653036366366353764666438376639326365373063626338316362336264336665613264663762363730373362373065333662343466333537386234336436346433666161326538653431356566366332623566653433393064356137386532333835383163366534626330323033383230336538227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "01595c86561441b32b2b91ee03f9e10ca6efa7b41bcc994f51317ec0aa9d8f8a42416464204e6577204b6579000101507562206b65790000537472696e670003", - "hash": "595c86561441b32b2b91ee03f9e10ca6efa7b41bcc994f51317ec0aa9d8f8a42" - }, - { - "title": "Add New Key Transaction - Valid Envelope - Valid Account Key 21", - "valid": true, - "chainID": "Mainnet", - "payloadMessage": { - "script": "transaction(publicKey: String) {\nprepare(signer: AuthAccount) {\nsigner.addPublicKey(publicKey.decodeHex())\n}\n}", - "arguments": [ - { - "type": "String", - "value": "f846b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc0281ff80" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [ - { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sig": "f7225388c1d69d57e6251c9fda50cbbf9e05131e5adb81e5aa0422402f048162" - } - ] - }, - "envelopeMessage": { - "script": "transaction(publicKey: String) {\nprepare(signer: AuthAccount) {\nsigner.addPublicKey(publicKey.decodeHex())\n}\n}", - "arguments": [ - { - "type": "String", - "value": "f846b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc0281ff80" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f90160b86e7472616e73616374696f6e287075626c69634b65793a20537472696e6729207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a7369676e65722e6164645075626c69634b6579287075626c69634b65792e6465636f64654865782829290a7d0a7df8aeb8ac7b2274797065223a22537472696e67222c2276616c7565223a22663834366238343039343438386137393561303737303063366662383365303636636635376466643837663932636537306362633831636233626433666561326466376236373037336237306533366234346633353738623433643634643366616132653865343135656636633262356665343339306435613738653233383538316336653462633032383166663830227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f90164f90160b86e7472616e73616374696f6e287075626c69634b65793a20537472696e6729207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a7369676e65722e6164645075626c69634b6579287075626c69634b65792e6465636f64654865782829290a7d0a7df8aeb8ac7b2274797065223a22537472696e67222c2276616c7565223a22663834366238343039343438386137393561303737303063366662383365303636636635376466643837663932636537306362633831636233626433666561326466376236373037336237306533366234346633353738623433643634643366616132653865343135656636633262356665343339306435613738653233383538316336653462633032383166663830227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "01595c86561441b32b2b91ee03f9e10ca6efa7b41bcc994f51317ec0aa9d8f8a42416464204e6577204b6579000101507562206b65790000537472696e670003", - "hash": "595c86561441b32b2b91ee03f9e10ca6efa7b41bcc994f51317ec0aa9d8f8a42" - }, - { - "title": "Add New Key Transaction - Valid Envelope - Valid Account Key 22", - "valid": true, - "chainID": "Mainnet", - "payloadMessage": { - "script": "transaction(publicKey: String) {\nprepare(signer: AuthAccount) {\nsigner.addPublicKey(publicKey.decodeHex())\n}\n}", - "arguments": [ - { - "type": "String", - "value": "f848b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc0281ff8201f4" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [ - { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sig": "f7225388c1d69d57e6251c9fda50cbbf9e05131e5adb81e5aa0422402f048162" - } - ] - }, - "envelopeMessage": { - "script": "transaction(publicKey: String) {\nprepare(signer: AuthAccount) {\nsigner.addPublicKey(publicKey.decodeHex())\n}\n}", - "arguments": [ - { - "type": "String", - "value": "f848b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc0281ff8201f4" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f90164b86e7472616e73616374696f6e287075626c69634b65793a20537472696e6729207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a7369676e65722e6164645075626c69634b6579287075626c69634b65792e6465636f64654865782829290a7d0a7df8b2b8b07b2274797065223a22537472696e67222c2276616c7565223a2266383438623834303934343838613739356130373730306336666238336530363663663537646664383766393263653730636263383163623362643366656132646637623637303733623730653336623434663335373862343364363464336661613265386534313565663663326235666534333930643561373865323338353831633665346263303238316666383230316634227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f90168f90164b86e7472616e73616374696f6e287075626c69634b65793a20537472696e6729207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a7369676e65722e6164645075626c69634b6579287075626c69634b65792e6465636f64654865782829290a7d0a7df8b2b8b07b2274797065223a22537472696e67222c2276616c7565223a2266383438623834303934343838613739356130373730306336666238336530363663663537646664383766393263653730636263383163623362643366656132646637623637303733623730653336623434663335373862343364363464336661613265386534313565663663326235666534333930643561373865323338353831633665346263303238316666383230316634227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "01595c86561441b32b2b91ee03f9e10ca6efa7b41bcc994f51317ec0aa9d8f8a42416464204e6577204b6579000101507562206b65790000537472696e670003", - "hash": "595c86561441b32b2b91ee03f9e10ca6efa7b41bcc994f51317ec0aa9d8f8a42" - }, - { - "title": "Add New Key Transaction - Valid Envelope - Valid Account Key 23", - "valid": true, - "chainID": "Mainnet", - "payloadMessage": { - "script": "transaction(publicKey: String) {\nprepare(signer: AuthAccount) {\nsigner.addPublicKey(publicKey.decodeHex())\n}\n}", - "arguments": [ - { - "type": "String", - "value": "f848b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc0281ff8203e8" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [ - { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sig": "f7225388c1d69d57e6251c9fda50cbbf9e05131e5adb81e5aa0422402f048162" - } - ] - }, - "envelopeMessage": { - "script": "transaction(publicKey: String) {\nprepare(signer: AuthAccount) {\nsigner.addPublicKey(publicKey.decodeHex())\n}\n}", - "arguments": [ - { - "type": "String", - "value": "f848b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc0281ff8203e8" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f90164b86e7472616e73616374696f6e287075626c69634b65793a20537472696e6729207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a7369676e65722e6164645075626c69634b6579287075626c69634b65792e6465636f64654865782829290a7d0a7df8b2b8b07b2274797065223a22537472696e67222c2276616c7565223a2266383438623834303934343838613739356130373730306336666238336530363663663537646664383766393263653730636263383163623362643366656132646637623637303733623730653336623434663335373862343364363464336661613265386534313565663663326235666534333930643561373865323338353831633665346263303238316666383230336538227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f90168f90164b86e7472616e73616374696f6e287075626c69634b65793a20537472696e6729207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a7369676e65722e6164645075626c69634b6579287075626c69634b65792e6465636f64654865782829290a7d0a7df8b2b8b07b2274797065223a22537472696e67222c2276616c7565223a2266383438623834303934343838613739356130373730306336666238336530363663663537646664383766393263653730636263383163623362643366656132646637623637303733623730653336623434663335373862343364363464336661613265386534313565663663326235666534333930643561373865323338353831633665346263303238316666383230336538227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "01595c86561441b32b2b91ee03f9e10ca6efa7b41bcc994f51317ec0aa9d8f8a42416464204e6577204b6579000101507562206b65790000537472696e670003", - "hash": "595c86561441b32b2b91ee03f9e10ca6efa7b41bcc994f51317ec0aa9d8f8a42" - }, - { - "title": "Add New Key Transaction - Valid Envelope - Valid Account Key 24", - "valid": true, - "chainID": "Mainnet", - "payloadMessage": { - "script": "transaction(publicKey: String) {\nprepare(signer: AuthAccount) {\nsigner.addPublicKey(publicKey.decodeHex())\n}\n}", - "arguments": [ - { - "type": "String", - "value": "f845b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc038080" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [ - { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sig": "f7225388c1d69d57e6251c9fda50cbbf9e05131e5adb81e5aa0422402f048162" - } - ] - }, - "envelopeMessage": { - "script": "transaction(publicKey: String) {\nprepare(signer: AuthAccount) {\nsigner.addPublicKey(publicKey.decodeHex())\n}\n}", - "arguments": [ - { - "type": "String", - "value": "f845b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc038080" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f9015eb86e7472616e73616374696f6e287075626c69634b65793a20537472696e6729207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a7369676e65722e6164645075626c69634b6579287075626c69634b65792e6465636f64654865782829290a7d0a7df8acb8aa7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303934343838613739356130373730306336666238336530363663663537646664383766393263653730636263383163623362643366656132646637623637303733623730653336623434663335373862343364363464336661613265386534313565663663326235666534333930643561373865323338353831633665346263303338303830227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f90162f9015eb86e7472616e73616374696f6e287075626c69634b65793a20537472696e6729207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a7369676e65722e6164645075626c69634b6579287075626c69634b65792e6465636f64654865782829290a7d0a7df8acb8aa7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303934343838613739356130373730306336666238336530363663663537646664383766393263653730636263383163623362643366656132646637623637303733623730653336623434663335373862343364363464336661613265386534313565663663326235666534333930643561373865323338353831633665346263303338303830227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "01595c86561441b32b2b91ee03f9e10ca6efa7b41bcc994f51317ec0aa9d8f8a42416464204e6577204b6579000101507562206b65790000537472696e670003", - "hash": "595c86561441b32b2b91ee03f9e10ca6efa7b41bcc994f51317ec0aa9d8f8a42" - }, - { - "title": "Add New Key Transaction - Valid Envelope - Valid Account Key 25", - "valid": true, - "chainID": "Mainnet", - "payloadMessage": { - "script": "transaction(publicKey: String) {\nprepare(signer: AuthAccount) {\nsigner.addPublicKey(publicKey.decodeHex())\n}\n}", - "arguments": [ - { - "type": "String", - "value": "f847b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc03808201f4" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [ - { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sig": "f7225388c1d69d57e6251c9fda50cbbf9e05131e5adb81e5aa0422402f048162" - } - ] - }, - "envelopeMessage": { - "script": "transaction(publicKey: String) {\nprepare(signer: AuthAccount) {\nsigner.addPublicKey(publicKey.decodeHex())\n}\n}", - "arguments": [ - { - "type": "String", - "value": "f847b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc03808201f4" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f90162b86e7472616e73616374696f6e287075626c69634b65793a20537472696e6729207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a7369676e65722e6164645075626c69634b6579287075626c69634b65792e6465636f64654865782829290a7d0a7df8b0b8ae7b2274797065223a22537472696e67222c2276616c7565223a226638343762383430393434383861373935613037373030633666623833653036366366353764666438376639326365373063626338316362336264336665613264663762363730373362373065333662343466333537386234336436346433666161326538653431356566366332623566653433393064356137386532333835383163366534626330333830383230316634227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f90166f90162b86e7472616e73616374696f6e287075626c69634b65793a20537472696e6729207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a7369676e65722e6164645075626c69634b6579287075626c69634b65792e6465636f64654865782829290a7d0a7df8b0b8ae7b2274797065223a22537472696e67222c2276616c7565223a226638343762383430393434383861373935613037373030633666623833653036366366353764666438376639326365373063626338316362336264336665613264663762363730373362373065333662343466333537386234336436346433666161326538653431356566366332623566653433393064356137386532333835383163366534626330333830383230316634227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "01595c86561441b32b2b91ee03f9e10ca6efa7b41bcc994f51317ec0aa9d8f8a42416464204e6577204b6579000101507562206b65790000537472696e670003", - "hash": "595c86561441b32b2b91ee03f9e10ca6efa7b41bcc994f51317ec0aa9d8f8a42" - }, - { - "title": "Add New Key Transaction - Valid Envelope - Valid Account Key 26", - "valid": true, - "chainID": "Mainnet", - "payloadMessage": { - "script": "transaction(publicKey: String) {\nprepare(signer: AuthAccount) {\nsigner.addPublicKey(publicKey.decodeHex())\n}\n}", - "arguments": [ - { - "type": "String", - "value": "f847b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc03808203e8" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [ - { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sig": "f7225388c1d69d57e6251c9fda50cbbf9e05131e5adb81e5aa0422402f048162" - } - ] - }, - "envelopeMessage": { - "script": "transaction(publicKey: String) {\nprepare(signer: AuthAccount) {\nsigner.addPublicKey(publicKey.decodeHex())\n}\n}", - "arguments": [ - { - "type": "String", - "value": "f847b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc03808203e8" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f90162b86e7472616e73616374696f6e287075626c69634b65793a20537472696e6729207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a7369676e65722e6164645075626c69634b6579287075626c69634b65792e6465636f64654865782829290a7d0a7df8b0b8ae7b2274797065223a22537472696e67222c2276616c7565223a226638343762383430393434383861373935613037373030633666623833653036366366353764666438376639326365373063626338316362336264336665613264663762363730373362373065333662343466333537386234336436346433666161326538653431356566366332623566653433393064356137386532333835383163366534626330333830383230336538227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f90166f90162b86e7472616e73616374696f6e287075626c69634b65793a20537472696e6729207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a7369676e65722e6164645075626c69634b6579287075626c69634b65792e6465636f64654865782829290a7d0a7df8b0b8ae7b2274797065223a22537472696e67222c2276616c7565223a226638343762383430393434383861373935613037373030633666623833653036366366353764666438376639326365373063626338316362336264336665613264663762363730373362373065333662343466333537386234336436346433666161326538653431356566366332623566653433393064356137386532333835383163366534626330333830383230336538227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "01595c86561441b32b2b91ee03f9e10ca6efa7b41bcc994f51317ec0aa9d8f8a42416464204e6577204b6579000101507562206b65790000537472696e670003", - "hash": "595c86561441b32b2b91ee03f9e10ca6efa7b41bcc994f51317ec0aa9d8f8a42" - }, - { - "title": "Add New Key Transaction - Valid Envelope - Valid Account Key 27", - "valid": true, - "chainID": "Mainnet", - "payloadMessage": { - "script": "transaction(publicKey: String) {\nprepare(signer: AuthAccount) {\nsigner.addPublicKey(publicKey.decodeHex())\n}\n}", - "arguments": [ - { - "type": "String", - "value": "f845b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc030180" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [ - { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sig": "f7225388c1d69d57e6251c9fda50cbbf9e05131e5adb81e5aa0422402f048162" - } - ] - }, - "envelopeMessage": { - "script": "transaction(publicKey: String) {\nprepare(signer: AuthAccount) {\nsigner.addPublicKey(publicKey.decodeHex())\n}\n}", - "arguments": [ - { - "type": "String", - "value": "f845b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc030180" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f9015eb86e7472616e73616374696f6e287075626c69634b65793a20537472696e6729207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a7369676e65722e6164645075626c69634b6579287075626c69634b65792e6465636f64654865782829290a7d0a7df8acb8aa7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303934343838613739356130373730306336666238336530363663663537646664383766393263653730636263383163623362643366656132646637623637303733623730653336623434663335373862343364363464336661613265386534313565663663326235666534333930643561373865323338353831633665346263303330313830227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f90162f9015eb86e7472616e73616374696f6e287075626c69634b65793a20537472696e6729207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a7369676e65722e6164645075626c69634b6579287075626c69634b65792e6465636f64654865782829290a7d0a7df8acb8aa7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303934343838613739356130373730306336666238336530363663663537646664383766393263653730636263383163623362643366656132646637623637303733623730653336623434663335373862343364363464336661613265386534313565663663326235666534333930643561373865323338353831633665346263303330313830227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "01595c86561441b32b2b91ee03f9e10ca6efa7b41bcc994f51317ec0aa9d8f8a42416464204e6577204b6579000101507562206b65790000537472696e670003", - "hash": "595c86561441b32b2b91ee03f9e10ca6efa7b41bcc994f51317ec0aa9d8f8a42" - }, - { - "title": "Add New Key Transaction - Valid Envelope - Valid Account Key 28", - "valid": true, - "chainID": "Mainnet", - "payloadMessage": { - "script": "transaction(publicKey: String) {\nprepare(signer: AuthAccount) {\nsigner.addPublicKey(publicKey.decodeHex())\n}\n}", - "arguments": [ - { - "type": "String", - "value": "f847b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc03018201f4" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [ - { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sig": "f7225388c1d69d57e6251c9fda50cbbf9e05131e5adb81e5aa0422402f048162" - } - ] - }, - "envelopeMessage": { - "script": "transaction(publicKey: String) {\nprepare(signer: AuthAccount) {\nsigner.addPublicKey(publicKey.decodeHex())\n}\n}", - "arguments": [ - { - "type": "String", - "value": "f847b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc03018201f4" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f90162b86e7472616e73616374696f6e287075626c69634b65793a20537472696e6729207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a7369676e65722e6164645075626c69634b6579287075626c69634b65792e6465636f64654865782829290a7d0a7df8b0b8ae7b2274797065223a22537472696e67222c2276616c7565223a226638343762383430393434383861373935613037373030633666623833653036366366353764666438376639326365373063626338316362336264336665613264663762363730373362373065333662343466333537386234336436346433666161326538653431356566366332623566653433393064356137386532333835383163366534626330333031383230316634227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f90166f90162b86e7472616e73616374696f6e287075626c69634b65793a20537472696e6729207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a7369676e65722e6164645075626c69634b6579287075626c69634b65792e6465636f64654865782829290a7d0a7df8b0b8ae7b2274797065223a22537472696e67222c2276616c7565223a226638343762383430393434383861373935613037373030633666623833653036366366353764666438376639326365373063626338316362336264336665613264663762363730373362373065333662343466333537386234336436346433666161326538653431356566366332623566653433393064356137386532333835383163366534626330333031383230316634227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "01595c86561441b32b2b91ee03f9e10ca6efa7b41bcc994f51317ec0aa9d8f8a42416464204e6577204b6579000101507562206b65790000537472696e670003", - "hash": "595c86561441b32b2b91ee03f9e10ca6efa7b41bcc994f51317ec0aa9d8f8a42" - }, - { - "title": "Add New Key Transaction - Valid Envelope - Valid Account Key 29", - "valid": true, - "chainID": "Mainnet", - "payloadMessage": { - "script": "transaction(publicKey: String) {\nprepare(signer: AuthAccount) {\nsigner.addPublicKey(publicKey.decodeHex())\n}\n}", - "arguments": [ - { - "type": "String", - "value": "f847b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc03018203e8" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [ - { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sig": "f7225388c1d69d57e6251c9fda50cbbf9e05131e5adb81e5aa0422402f048162" - } - ] - }, - "envelopeMessage": { - "script": "transaction(publicKey: String) {\nprepare(signer: AuthAccount) {\nsigner.addPublicKey(publicKey.decodeHex())\n}\n}", - "arguments": [ - { - "type": "String", - "value": "f847b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc03018203e8" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f90162b86e7472616e73616374696f6e287075626c69634b65793a20537472696e6729207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a7369676e65722e6164645075626c69634b6579287075626c69634b65792e6465636f64654865782829290a7d0a7df8b0b8ae7b2274797065223a22537472696e67222c2276616c7565223a226638343762383430393434383861373935613037373030633666623833653036366366353764666438376639326365373063626338316362336264336665613264663762363730373362373065333662343466333537386234336436346433666161326538653431356566366332623566653433393064356137386532333835383163366534626330333031383230336538227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f90166f90162b86e7472616e73616374696f6e287075626c69634b65793a20537472696e6729207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a7369676e65722e6164645075626c69634b6579287075626c69634b65792e6465636f64654865782829290a7d0a7df8b0b8ae7b2274797065223a22537472696e67222c2276616c7565223a226638343762383430393434383861373935613037373030633666623833653036366366353764666438376639326365373063626338316362336264336665613264663762363730373362373065333662343466333537386234336436346433666161326538653431356566366332623566653433393064356137386532333835383163366534626330333031383230336538227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "01595c86561441b32b2b91ee03f9e10ca6efa7b41bcc994f51317ec0aa9d8f8a42416464204e6577204b6579000101507562206b65790000537472696e670003", - "hash": "595c86561441b32b2b91ee03f9e10ca6efa7b41bcc994f51317ec0aa9d8f8a42" - }, - { - "title": "Add New Key Transaction - Valid Envelope - Valid Account Key 30", - "valid": true, - "chainID": "Mainnet", - "payloadMessage": { - "script": "transaction(publicKey: String) {\nprepare(signer: AuthAccount) {\nsigner.addPublicKey(publicKey.decodeHex())\n}\n}", - "arguments": [ - { - "type": "String", - "value": "f845b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc030380" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [ - { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sig": "f7225388c1d69d57e6251c9fda50cbbf9e05131e5adb81e5aa0422402f048162" - } - ] - }, - "envelopeMessage": { - "script": "transaction(publicKey: String) {\nprepare(signer: AuthAccount) {\nsigner.addPublicKey(publicKey.decodeHex())\n}\n}", - "arguments": [ - { - "type": "String", - "value": "f845b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc030380" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f9015eb86e7472616e73616374696f6e287075626c69634b65793a20537472696e6729207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a7369676e65722e6164645075626c69634b6579287075626c69634b65792e6465636f64654865782829290a7d0a7df8acb8aa7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303934343838613739356130373730306336666238336530363663663537646664383766393263653730636263383163623362643366656132646637623637303733623730653336623434663335373862343364363464336661613265386534313565663663326235666534333930643561373865323338353831633665346263303330333830227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f90162f9015eb86e7472616e73616374696f6e287075626c69634b65793a20537472696e6729207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a7369676e65722e6164645075626c69634b6579287075626c69634b65792e6465636f64654865782829290a7d0a7df8acb8aa7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303934343838613739356130373730306336666238336530363663663537646664383766393263653730636263383163623362643366656132646637623637303733623730653336623434663335373862343364363464336661613265386534313565663663326235666534333930643561373865323338353831633665346263303330333830227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "01595c86561441b32b2b91ee03f9e10ca6efa7b41bcc994f51317ec0aa9d8f8a42416464204e6577204b6579000101507562206b65790000537472696e670003", - "hash": "595c86561441b32b2b91ee03f9e10ca6efa7b41bcc994f51317ec0aa9d8f8a42" - }, - { - "title": "Add New Key Transaction - Valid Envelope - Valid Account Key 31", - "valid": true, - "chainID": "Mainnet", - "payloadMessage": { - "script": "transaction(publicKey: String) {\nprepare(signer: AuthAccount) {\nsigner.addPublicKey(publicKey.decodeHex())\n}\n}", - "arguments": [ - { - "type": "String", - "value": "f847b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc03038201f4" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [ - { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sig": "f7225388c1d69d57e6251c9fda50cbbf9e05131e5adb81e5aa0422402f048162" - } - ] - }, - "envelopeMessage": { - "script": "transaction(publicKey: String) {\nprepare(signer: AuthAccount) {\nsigner.addPublicKey(publicKey.decodeHex())\n}\n}", - "arguments": [ - { - "type": "String", - "value": "f847b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc03038201f4" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f90162b86e7472616e73616374696f6e287075626c69634b65793a20537472696e6729207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a7369676e65722e6164645075626c69634b6579287075626c69634b65792e6465636f64654865782829290a7d0a7df8b0b8ae7b2274797065223a22537472696e67222c2276616c7565223a226638343762383430393434383861373935613037373030633666623833653036366366353764666438376639326365373063626338316362336264336665613264663762363730373362373065333662343466333537386234336436346433666161326538653431356566366332623566653433393064356137386532333835383163366534626330333033383230316634227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f90166f90162b86e7472616e73616374696f6e287075626c69634b65793a20537472696e6729207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a7369676e65722e6164645075626c69634b6579287075626c69634b65792e6465636f64654865782829290a7d0a7df8b0b8ae7b2274797065223a22537472696e67222c2276616c7565223a226638343762383430393434383861373935613037373030633666623833653036366366353764666438376639326365373063626338316362336264336665613264663762363730373362373065333662343466333537386234336436346433666161326538653431356566366332623566653433393064356137386532333835383163366534626330333033383230316634227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "01595c86561441b32b2b91ee03f9e10ca6efa7b41bcc994f51317ec0aa9d8f8a42416464204e6577204b6579000101507562206b65790000537472696e670003", - "hash": "595c86561441b32b2b91ee03f9e10ca6efa7b41bcc994f51317ec0aa9d8f8a42" - }, - { - "title": "Add New Key Transaction - Valid Envelope - Valid Account Key 32", - "valid": true, - "chainID": "Mainnet", - "payloadMessage": { - "script": "transaction(publicKey: String) {\nprepare(signer: AuthAccount) {\nsigner.addPublicKey(publicKey.decodeHex())\n}\n}", - "arguments": [ - { - "type": "String", - "value": "f847b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc03038203e8" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [ - { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sig": "f7225388c1d69d57e6251c9fda50cbbf9e05131e5adb81e5aa0422402f048162" - } - ] - }, - "envelopeMessage": { - "script": "transaction(publicKey: String) {\nprepare(signer: AuthAccount) {\nsigner.addPublicKey(publicKey.decodeHex())\n}\n}", - "arguments": [ - { - "type": "String", - "value": "f847b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc03038203e8" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f90162b86e7472616e73616374696f6e287075626c69634b65793a20537472696e6729207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a7369676e65722e6164645075626c69634b6579287075626c69634b65792e6465636f64654865782829290a7d0a7df8b0b8ae7b2274797065223a22537472696e67222c2276616c7565223a226638343762383430393434383861373935613037373030633666623833653036366366353764666438376639326365373063626338316362336264336665613264663762363730373362373065333662343466333537386234336436346433666161326538653431356566366332623566653433393064356137386532333835383163366534626330333033383230336538227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f90166f90162b86e7472616e73616374696f6e287075626c69634b65793a20537472696e6729207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a7369676e65722e6164645075626c69634b6579287075626c69634b65792e6465636f64654865782829290a7d0a7df8b0b8ae7b2274797065223a22537472696e67222c2276616c7565223a226638343762383430393434383861373935613037373030633666623833653036366366353764666438376639326365373063626338316362336264336665613264663762363730373362373065333662343466333537386234336436346433666161326538653431356566366332623566653433393064356137386532333835383163366534626330333033383230336538227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "01595c86561441b32b2b91ee03f9e10ca6efa7b41bcc994f51317ec0aa9d8f8a42416464204e6577204b6579000101507562206b65790000537472696e670003", - "hash": "595c86561441b32b2b91ee03f9e10ca6efa7b41bcc994f51317ec0aa9d8f8a42" - }, - { - "title": "Add New Key Transaction - Valid Envelope - Valid Account Key 33", - "valid": true, - "chainID": "Mainnet", - "payloadMessage": { - "script": "transaction(publicKey: String) {\nprepare(signer: AuthAccount) {\nsigner.addPublicKey(publicKey.decodeHex())\n}\n}", - "arguments": [ - { - "type": "String", - "value": "f846b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc0381ff80" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [ - { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sig": "f7225388c1d69d57e6251c9fda50cbbf9e05131e5adb81e5aa0422402f048162" - } - ] - }, - "envelopeMessage": { - "script": "transaction(publicKey: String) {\nprepare(signer: AuthAccount) {\nsigner.addPublicKey(publicKey.decodeHex())\n}\n}", - "arguments": [ - { - "type": "String", - "value": "f846b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc0381ff80" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f90160b86e7472616e73616374696f6e287075626c69634b65793a20537472696e6729207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a7369676e65722e6164645075626c69634b6579287075626c69634b65792e6465636f64654865782829290a7d0a7df8aeb8ac7b2274797065223a22537472696e67222c2276616c7565223a22663834366238343039343438386137393561303737303063366662383365303636636635376466643837663932636537306362633831636233626433666561326466376236373037336237306533366234346633353738623433643634643366616132653865343135656636633262356665343339306435613738653233383538316336653462633033383166663830227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f90164f90160b86e7472616e73616374696f6e287075626c69634b65793a20537472696e6729207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a7369676e65722e6164645075626c69634b6579287075626c69634b65792e6465636f64654865782829290a7d0a7df8aeb8ac7b2274797065223a22537472696e67222c2276616c7565223a22663834366238343039343438386137393561303737303063366662383365303636636635376466643837663932636537306362633831636233626433666561326466376236373037336237306533366234346633353738623433643634643366616132653865343135656636633262356665343339306435613738653233383538316336653462633033383166663830227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "01595c86561441b32b2b91ee03f9e10ca6efa7b41bcc994f51317ec0aa9d8f8a42416464204e6577204b6579000101507562206b65790000537472696e670003", - "hash": "595c86561441b32b2b91ee03f9e10ca6efa7b41bcc994f51317ec0aa9d8f8a42" - }, - { - "title": "Add New Key Transaction - Valid Envelope - Valid Account Key 34", - "valid": true, - "chainID": "Mainnet", - "payloadMessage": { - "script": "transaction(publicKey: String) {\nprepare(signer: AuthAccount) {\nsigner.addPublicKey(publicKey.decodeHex())\n}\n}", - "arguments": [ - { - "type": "String", - "value": "f848b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc0381ff8201f4" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [ - { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sig": "f7225388c1d69d57e6251c9fda50cbbf9e05131e5adb81e5aa0422402f048162" - } - ] - }, - "envelopeMessage": { - "script": "transaction(publicKey: String) {\nprepare(signer: AuthAccount) {\nsigner.addPublicKey(publicKey.decodeHex())\n}\n}", - "arguments": [ - { - "type": "String", - "value": "f848b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc0381ff8201f4" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f90164b86e7472616e73616374696f6e287075626c69634b65793a20537472696e6729207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a7369676e65722e6164645075626c69634b6579287075626c69634b65792e6465636f64654865782829290a7d0a7df8b2b8b07b2274797065223a22537472696e67222c2276616c7565223a2266383438623834303934343838613739356130373730306336666238336530363663663537646664383766393263653730636263383163623362643366656132646637623637303733623730653336623434663335373862343364363464336661613265386534313565663663326235666534333930643561373865323338353831633665346263303338316666383230316634227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f90168f90164b86e7472616e73616374696f6e287075626c69634b65793a20537472696e6729207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a7369676e65722e6164645075626c69634b6579287075626c69634b65792e6465636f64654865782829290a7d0a7df8b2b8b07b2274797065223a22537472696e67222c2276616c7565223a2266383438623834303934343838613739356130373730306336666238336530363663663537646664383766393263653730636263383163623362643366656132646637623637303733623730653336623434663335373862343364363464336661613265386534313565663663326235666534333930643561373865323338353831633665346263303338316666383230316634227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "01595c86561441b32b2b91ee03f9e10ca6efa7b41bcc994f51317ec0aa9d8f8a42416464204e6577204b6579000101507562206b65790000537472696e670003", - "hash": "595c86561441b32b2b91ee03f9e10ca6efa7b41bcc994f51317ec0aa9d8f8a42" - }, - { - "title": "Add New Key Transaction - Valid Envelope - Valid Account Key 35", - "valid": true, - "chainID": "Mainnet", - "payloadMessage": { - "script": "transaction(publicKey: String) {\nprepare(signer: AuthAccount) {\nsigner.addPublicKey(publicKey.decodeHex())\n}\n}", - "arguments": [ - { - "type": "String", - "value": "f848b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc0381ff8203e8" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [ - { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sig": "f7225388c1d69d57e6251c9fda50cbbf9e05131e5adb81e5aa0422402f048162" - } - ] - }, - "envelopeMessage": { - "script": "transaction(publicKey: String) {\nprepare(signer: AuthAccount) {\nsigner.addPublicKey(publicKey.decodeHex())\n}\n}", - "arguments": [ - { - "type": "String", - "value": "f848b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc0381ff8203e8" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f90164b86e7472616e73616374696f6e287075626c69634b65793a20537472696e6729207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a7369676e65722e6164645075626c69634b6579287075626c69634b65792e6465636f64654865782829290a7d0a7df8b2b8b07b2274797065223a22537472696e67222c2276616c7565223a2266383438623834303934343838613739356130373730306336666238336530363663663537646664383766393263653730636263383163623362643366656132646637623637303733623730653336623434663335373862343364363464336661613265386534313565663663326235666534333930643561373865323338353831633665346263303338316666383230336538227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f90168f90164b86e7472616e73616374696f6e287075626c69634b65793a20537472696e6729207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a7369676e65722e6164645075626c69634b6579287075626c69634b65792e6465636f64654865782829290a7d0a7df8b2b8b07b2274797065223a22537472696e67222c2276616c7565223a2266383438623834303934343838613739356130373730306336666238336530363663663537646664383766393263653730636263383163623362643366656132646637623637303733623730653336623434663335373862343364363464336661613265386534313565663663326235666534333930643561373865323338353831633665346263303338316666383230336538227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "01595c86561441b32b2b91ee03f9e10ca6efa7b41bcc994f51317ec0aa9d8f8a42416464204e6577204b6579000101507562206b65790000537472696e670003", - "hash": "595c86561441b32b2b91ee03f9e10ca6efa7b41bcc994f51317ec0aa9d8f8a42" - }, - { - "title": "Add New Key Transaction - Valid Envelope - Valid Account Key 36", - "valid": true, - "chainID": "Mainnet", - "payloadMessage": { - "script": "transaction(publicKey: String) {\nprepare(signer: AuthAccount) {\nsigner.addPublicKey(publicKey.decodeHex())\n}\n}", - "arguments": [ - { - "type": "String", - "value": "f846b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc81ff8080" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [ - { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sig": "f7225388c1d69d57e6251c9fda50cbbf9e05131e5adb81e5aa0422402f048162" - } - ] - }, - "envelopeMessage": { - "script": "transaction(publicKey: String) {\nprepare(signer: AuthAccount) {\nsigner.addPublicKey(publicKey.decodeHex())\n}\n}", - "arguments": [ - { - "type": "String", - "value": "f846b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc81ff8080" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f90160b86e7472616e73616374696f6e287075626c69634b65793a20537472696e6729207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a7369676e65722e6164645075626c69634b6579287075626c69634b65792e6465636f64654865782829290a7d0a7df8aeb8ac7b2274797065223a22537472696e67222c2276616c7565223a22663834366238343039343438386137393561303737303063366662383365303636636635376466643837663932636537306362633831636233626433666561326466376236373037336237306533366234346633353738623433643634643366616132653865343135656636633262356665343339306435613738653233383538316336653462633831666638303830227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f90164f90160b86e7472616e73616374696f6e287075626c69634b65793a20537472696e6729207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a7369676e65722e6164645075626c69634b6579287075626c69634b65792e6465636f64654865782829290a7d0a7df8aeb8ac7b2274797065223a22537472696e67222c2276616c7565223a22663834366238343039343438386137393561303737303063366662383365303636636635376466643837663932636537306362633831636233626433666561326466376236373037336237306533366234346633353738623433643634643366616132653865343135656636633262356665343339306435613738653233383538316336653462633831666638303830227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "01595c86561441b32b2b91ee03f9e10ca6efa7b41bcc994f51317ec0aa9d8f8a42416464204e6577204b6579000101507562206b65790000537472696e670003", - "hash": "595c86561441b32b2b91ee03f9e10ca6efa7b41bcc994f51317ec0aa9d8f8a42" - }, - { - "title": "Add New Key Transaction - Valid Envelope - Valid Account Key 37", - "valid": true, - "chainID": "Mainnet", - "payloadMessage": { - "script": "transaction(publicKey: String) {\nprepare(signer: AuthAccount) {\nsigner.addPublicKey(publicKey.decodeHex())\n}\n}", - "arguments": [ - { - "type": "String", - "value": "f848b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc81ff808201f4" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [ - { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sig": "f7225388c1d69d57e6251c9fda50cbbf9e05131e5adb81e5aa0422402f048162" - } - ] - }, - "envelopeMessage": { - "script": "transaction(publicKey: String) {\nprepare(signer: AuthAccount) {\nsigner.addPublicKey(publicKey.decodeHex())\n}\n}", - "arguments": [ - { - "type": "String", - "value": "f848b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc81ff808201f4" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f90164b86e7472616e73616374696f6e287075626c69634b65793a20537472696e6729207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a7369676e65722e6164645075626c69634b6579287075626c69634b65792e6465636f64654865782829290a7d0a7df8b2b8b07b2274797065223a22537472696e67222c2276616c7565223a2266383438623834303934343838613739356130373730306336666238336530363663663537646664383766393263653730636263383163623362643366656132646637623637303733623730653336623434663335373862343364363464336661613265386534313565663663326235666534333930643561373865323338353831633665346263383166663830383230316634227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f90168f90164b86e7472616e73616374696f6e287075626c69634b65793a20537472696e6729207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a7369676e65722e6164645075626c69634b6579287075626c69634b65792e6465636f64654865782829290a7d0a7df8b2b8b07b2274797065223a22537472696e67222c2276616c7565223a2266383438623834303934343838613739356130373730306336666238336530363663663537646664383766393263653730636263383163623362643366656132646637623637303733623730653336623434663335373862343364363464336661613265386534313565663663326235666534333930643561373865323338353831633665346263383166663830383230316634227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "01595c86561441b32b2b91ee03f9e10ca6efa7b41bcc994f51317ec0aa9d8f8a42416464204e6577204b6579000101507562206b65790000537472696e670003", - "hash": "595c86561441b32b2b91ee03f9e10ca6efa7b41bcc994f51317ec0aa9d8f8a42" - }, - { - "title": "Add New Key Transaction - Valid Envelope - Valid Account Key 38", - "valid": true, - "chainID": "Mainnet", - "payloadMessage": { - "script": "transaction(publicKey: String) {\nprepare(signer: AuthAccount) {\nsigner.addPublicKey(publicKey.decodeHex())\n}\n}", - "arguments": [ - { - "type": "String", - "value": "f848b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc81ff808203e8" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [ - { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sig": "f7225388c1d69d57e6251c9fda50cbbf9e05131e5adb81e5aa0422402f048162" - } - ] - }, - "envelopeMessage": { - "script": "transaction(publicKey: String) {\nprepare(signer: AuthAccount) {\nsigner.addPublicKey(publicKey.decodeHex())\n}\n}", - "arguments": [ - { - "type": "String", - "value": "f848b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc81ff808203e8" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f90164b86e7472616e73616374696f6e287075626c69634b65793a20537472696e6729207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a7369676e65722e6164645075626c69634b6579287075626c69634b65792e6465636f64654865782829290a7d0a7df8b2b8b07b2274797065223a22537472696e67222c2276616c7565223a2266383438623834303934343838613739356130373730306336666238336530363663663537646664383766393263653730636263383163623362643366656132646637623637303733623730653336623434663335373862343364363464336661613265386534313565663663326235666534333930643561373865323338353831633665346263383166663830383230336538227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f90168f90164b86e7472616e73616374696f6e287075626c69634b65793a20537472696e6729207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a7369676e65722e6164645075626c69634b6579287075626c69634b65792e6465636f64654865782829290a7d0a7df8b2b8b07b2274797065223a22537472696e67222c2276616c7565223a2266383438623834303934343838613739356130373730306336666238336530363663663537646664383766393263653730636263383163623362643366656132646637623637303733623730653336623434663335373862343364363464336661613265386534313565663663326235666534333930643561373865323338353831633665346263383166663830383230336538227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "01595c86561441b32b2b91ee03f9e10ca6efa7b41bcc994f51317ec0aa9d8f8a42416464204e6577204b6579000101507562206b65790000537472696e670003", - "hash": "595c86561441b32b2b91ee03f9e10ca6efa7b41bcc994f51317ec0aa9d8f8a42" - }, - { - "title": "Add New Key Transaction - Valid Envelope - Valid Account Key 39", - "valid": true, - "chainID": "Mainnet", - "payloadMessage": { - "script": "transaction(publicKey: String) {\nprepare(signer: AuthAccount) {\nsigner.addPublicKey(publicKey.decodeHex())\n}\n}", - "arguments": [ - { - "type": "String", - "value": "f846b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc81ff0180" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [ - { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sig": "f7225388c1d69d57e6251c9fda50cbbf9e05131e5adb81e5aa0422402f048162" - } - ] - }, - "envelopeMessage": { - "script": "transaction(publicKey: String) {\nprepare(signer: AuthAccount) {\nsigner.addPublicKey(publicKey.decodeHex())\n}\n}", - "arguments": [ - { - "type": "String", - "value": "f846b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc81ff0180" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f90160b86e7472616e73616374696f6e287075626c69634b65793a20537472696e6729207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a7369676e65722e6164645075626c69634b6579287075626c69634b65792e6465636f64654865782829290a7d0a7df8aeb8ac7b2274797065223a22537472696e67222c2276616c7565223a22663834366238343039343438386137393561303737303063366662383365303636636635376466643837663932636537306362633831636233626433666561326466376236373037336237306533366234346633353738623433643634643366616132653865343135656636633262356665343339306435613738653233383538316336653462633831666630313830227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f90164f90160b86e7472616e73616374696f6e287075626c69634b65793a20537472696e6729207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a7369676e65722e6164645075626c69634b6579287075626c69634b65792e6465636f64654865782829290a7d0a7df8aeb8ac7b2274797065223a22537472696e67222c2276616c7565223a22663834366238343039343438386137393561303737303063366662383365303636636635376466643837663932636537306362633831636233626433666561326466376236373037336237306533366234346633353738623433643634643366616132653865343135656636633262356665343339306435613738653233383538316336653462633831666630313830227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "01595c86561441b32b2b91ee03f9e10ca6efa7b41bcc994f51317ec0aa9d8f8a42416464204e6577204b6579000101507562206b65790000537472696e670003", - "hash": "595c86561441b32b2b91ee03f9e10ca6efa7b41bcc994f51317ec0aa9d8f8a42" - }, - { - "title": "Add New Key Transaction - Valid Envelope - Valid Account Key 40", - "valid": true, - "chainID": "Mainnet", - "payloadMessage": { - "script": "transaction(publicKey: String) {\nprepare(signer: AuthAccount) {\nsigner.addPublicKey(publicKey.decodeHex())\n}\n}", - "arguments": [ - { - "type": "String", - "value": "f848b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc81ff018201f4" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [ - { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sig": "f7225388c1d69d57e6251c9fda50cbbf9e05131e5adb81e5aa0422402f048162" - } - ] - }, - "envelopeMessage": { - "script": "transaction(publicKey: String) {\nprepare(signer: AuthAccount) {\nsigner.addPublicKey(publicKey.decodeHex())\n}\n}", - "arguments": [ - { - "type": "String", - "value": "f848b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc81ff018201f4" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f90164b86e7472616e73616374696f6e287075626c69634b65793a20537472696e6729207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a7369676e65722e6164645075626c69634b6579287075626c69634b65792e6465636f64654865782829290a7d0a7df8b2b8b07b2274797065223a22537472696e67222c2276616c7565223a2266383438623834303934343838613739356130373730306336666238336530363663663537646664383766393263653730636263383163623362643366656132646637623637303733623730653336623434663335373862343364363464336661613265386534313565663663326235666534333930643561373865323338353831633665346263383166663031383230316634227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f90168f90164b86e7472616e73616374696f6e287075626c69634b65793a20537472696e6729207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a7369676e65722e6164645075626c69634b6579287075626c69634b65792e6465636f64654865782829290a7d0a7df8b2b8b07b2274797065223a22537472696e67222c2276616c7565223a2266383438623834303934343838613739356130373730306336666238336530363663663537646664383766393263653730636263383163623362643366656132646637623637303733623730653336623434663335373862343364363464336661613265386534313565663663326235666534333930643561373865323338353831633665346263383166663031383230316634227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "01595c86561441b32b2b91ee03f9e10ca6efa7b41bcc994f51317ec0aa9d8f8a42416464204e6577204b6579000101507562206b65790000537472696e670003", - "hash": "595c86561441b32b2b91ee03f9e10ca6efa7b41bcc994f51317ec0aa9d8f8a42" - }, - { - "title": "Add New Key Transaction - Valid Envelope - Valid Account Key 41", - "valid": true, - "chainID": "Mainnet", - "payloadMessage": { - "script": "transaction(publicKey: String) {\nprepare(signer: AuthAccount) {\nsigner.addPublicKey(publicKey.decodeHex())\n}\n}", - "arguments": [ - { - "type": "String", - "value": "f848b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc81ff018203e8" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [ - { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sig": "f7225388c1d69d57e6251c9fda50cbbf9e05131e5adb81e5aa0422402f048162" - } - ] - }, - "envelopeMessage": { - "script": "transaction(publicKey: String) {\nprepare(signer: AuthAccount) {\nsigner.addPublicKey(publicKey.decodeHex())\n}\n}", - "arguments": [ - { - "type": "String", - "value": "f848b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc81ff018203e8" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f90164b86e7472616e73616374696f6e287075626c69634b65793a20537472696e6729207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a7369676e65722e6164645075626c69634b6579287075626c69634b65792e6465636f64654865782829290a7d0a7df8b2b8b07b2274797065223a22537472696e67222c2276616c7565223a2266383438623834303934343838613739356130373730306336666238336530363663663537646664383766393263653730636263383163623362643366656132646637623637303733623730653336623434663335373862343364363464336661613265386534313565663663326235666534333930643561373865323338353831633665346263383166663031383230336538227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f90168f90164b86e7472616e73616374696f6e287075626c69634b65793a20537472696e6729207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a7369676e65722e6164645075626c69634b6579287075626c69634b65792e6465636f64654865782829290a7d0a7df8b2b8b07b2274797065223a22537472696e67222c2276616c7565223a2266383438623834303934343838613739356130373730306336666238336530363663663537646664383766393263653730636263383163623362643366656132646637623637303733623730653336623434663335373862343364363464336661613265386534313565663663326235666534333930643561373865323338353831633665346263383166663031383230336538227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "01595c86561441b32b2b91ee03f9e10ca6efa7b41bcc994f51317ec0aa9d8f8a42416464204e6577204b6579000101507562206b65790000537472696e670003", - "hash": "595c86561441b32b2b91ee03f9e10ca6efa7b41bcc994f51317ec0aa9d8f8a42" - }, - { - "title": "Add New Key Transaction - Valid Envelope - Valid Account Key 42", - "valid": true, - "chainID": "Mainnet", - "payloadMessage": { - "script": "transaction(publicKey: String) {\nprepare(signer: AuthAccount) {\nsigner.addPublicKey(publicKey.decodeHex())\n}\n}", - "arguments": [ - { - "type": "String", - "value": "f846b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc81ff0380" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [ - { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sig": "f7225388c1d69d57e6251c9fda50cbbf9e05131e5adb81e5aa0422402f048162" - } - ] - }, - "envelopeMessage": { - "script": "transaction(publicKey: String) {\nprepare(signer: AuthAccount) {\nsigner.addPublicKey(publicKey.decodeHex())\n}\n}", - "arguments": [ - { - "type": "String", - "value": "f846b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc81ff0380" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f90160b86e7472616e73616374696f6e287075626c69634b65793a20537472696e6729207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a7369676e65722e6164645075626c69634b6579287075626c69634b65792e6465636f64654865782829290a7d0a7df8aeb8ac7b2274797065223a22537472696e67222c2276616c7565223a22663834366238343039343438386137393561303737303063366662383365303636636635376466643837663932636537306362633831636233626433666561326466376236373037336237306533366234346633353738623433643634643366616132653865343135656636633262356665343339306435613738653233383538316336653462633831666630333830227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f90164f90160b86e7472616e73616374696f6e287075626c69634b65793a20537472696e6729207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a7369676e65722e6164645075626c69634b6579287075626c69634b65792e6465636f64654865782829290a7d0a7df8aeb8ac7b2274797065223a22537472696e67222c2276616c7565223a22663834366238343039343438386137393561303737303063366662383365303636636635376466643837663932636537306362633831636233626433666561326466376236373037336237306533366234346633353738623433643634643366616132653865343135656636633262356665343339306435613738653233383538316336653462633831666630333830227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "01595c86561441b32b2b91ee03f9e10ca6efa7b41bcc994f51317ec0aa9d8f8a42416464204e6577204b6579000101507562206b65790000537472696e670003", - "hash": "595c86561441b32b2b91ee03f9e10ca6efa7b41bcc994f51317ec0aa9d8f8a42" - }, - { - "title": "Add New Key Transaction - Valid Envelope - Valid Account Key 43", - "valid": true, - "chainID": "Mainnet", - "payloadMessage": { - "script": "transaction(publicKey: String) {\nprepare(signer: AuthAccount) {\nsigner.addPublicKey(publicKey.decodeHex())\n}\n}", - "arguments": [ - { - "type": "String", - "value": "f848b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc81ff038201f4" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [ - { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sig": "f7225388c1d69d57e6251c9fda50cbbf9e05131e5adb81e5aa0422402f048162" - } - ] - }, - "envelopeMessage": { - "script": "transaction(publicKey: String) {\nprepare(signer: AuthAccount) {\nsigner.addPublicKey(publicKey.decodeHex())\n}\n}", - "arguments": [ - { - "type": "String", - "value": "f848b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc81ff038201f4" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f90164b86e7472616e73616374696f6e287075626c69634b65793a20537472696e6729207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a7369676e65722e6164645075626c69634b6579287075626c69634b65792e6465636f64654865782829290a7d0a7df8b2b8b07b2274797065223a22537472696e67222c2276616c7565223a2266383438623834303934343838613739356130373730306336666238336530363663663537646664383766393263653730636263383163623362643366656132646637623637303733623730653336623434663335373862343364363464336661613265386534313565663663326235666534333930643561373865323338353831633665346263383166663033383230316634227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f90168f90164b86e7472616e73616374696f6e287075626c69634b65793a20537472696e6729207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a7369676e65722e6164645075626c69634b6579287075626c69634b65792e6465636f64654865782829290a7d0a7df8b2b8b07b2274797065223a22537472696e67222c2276616c7565223a2266383438623834303934343838613739356130373730306336666238336530363663663537646664383766393263653730636263383163623362643366656132646637623637303733623730653336623434663335373862343364363464336661613265386534313565663663326235666534333930643561373865323338353831633665346263383166663033383230316634227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "01595c86561441b32b2b91ee03f9e10ca6efa7b41bcc994f51317ec0aa9d8f8a42416464204e6577204b6579000101507562206b65790000537472696e670003", - "hash": "595c86561441b32b2b91ee03f9e10ca6efa7b41bcc994f51317ec0aa9d8f8a42" - }, - { - "title": "Add New Key Transaction - Valid Envelope - Valid Account Key 44", - "valid": true, - "chainID": "Mainnet", - "payloadMessage": { - "script": "transaction(publicKey: String) {\nprepare(signer: AuthAccount) {\nsigner.addPublicKey(publicKey.decodeHex())\n}\n}", - "arguments": [ - { - "type": "String", - "value": "f848b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc81ff038203e8" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [ - { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sig": "f7225388c1d69d57e6251c9fda50cbbf9e05131e5adb81e5aa0422402f048162" - } - ] - }, - "envelopeMessage": { - "script": "transaction(publicKey: String) {\nprepare(signer: AuthAccount) {\nsigner.addPublicKey(publicKey.decodeHex())\n}\n}", - "arguments": [ - { - "type": "String", - "value": "f848b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc81ff038203e8" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f90164b86e7472616e73616374696f6e287075626c69634b65793a20537472696e6729207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a7369676e65722e6164645075626c69634b6579287075626c69634b65792e6465636f64654865782829290a7d0a7df8b2b8b07b2274797065223a22537472696e67222c2276616c7565223a2266383438623834303934343838613739356130373730306336666238336530363663663537646664383766393263653730636263383163623362643366656132646637623637303733623730653336623434663335373862343364363464336661613265386534313565663663326235666534333930643561373865323338353831633665346263383166663033383230336538227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f90168f90164b86e7472616e73616374696f6e287075626c69634b65793a20537472696e6729207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a7369676e65722e6164645075626c69634b6579287075626c69634b65792e6465636f64654865782829290a7d0a7df8b2b8b07b2274797065223a22537472696e67222c2276616c7565223a2266383438623834303934343838613739356130373730306336666238336530363663663537646664383766393263653730636263383163623362643366656132646637623637303733623730653336623434663335373862343364363464336661613265386534313565663663326235666534333930643561373865323338353831633665346263383166663033383230336538227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "01595c86561441b32b2b91ee03f9e10ca6efa7b41bcc994f51317ec0aa9d8f8a42416464204e6577204b6579000101507562206b65790000537472696e670003", - "hash": "595c86561441b32b2b91ee03f9e10ca6efa7b41bcc994f51317ec0aa9d8f8a42" - }, - { - "title": "Add New Key Transaction - Valid Envelope - Valid Account Key 45", - "valid": true, - "chainID": "Mainnet", - "payloadMessage": { - "script": "transaction(publicKey: String) {\nprepare(signer: AuthAccount) {\nsigner.addPublicKey(publicKey.decodeHex())\n}\n}", - "arguments": [ - { - "type": "String", - "value": "f847b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc81ff81ff80" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [ - { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sig": "f7225388c1d69d57e6251c9fda50cbbf9e05131e5adb81e5aa0422402f048162" - } - ] - }, - "envelopeMessage": { - "script": "transaction(publicKey: String) {\nprepare(signer: AuthAccount) {\nsigner.addPublicKey(publicKey.decodeHex())\n}\n}", - "arguments": [ - { - "type": "String", - "value": "f847b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc81ff81ff80" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f90162b86e7472616e73616374696f6e287075626c69634b65793a20537472696e6729207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a7369676e65722e6164645075626c69634b6579287075626c69634b65792e6465636f64654865782829290a7d0a7df8b0b8ae7b2274797065223a22537472696e67222c2276616c7565223a226638343762383430393434383861373935613037373030633666623833653036366366353764666438376639326365373063626338316362336264336665613264663762363730373362373065333662343466333537386234336436346433666161326538653431356566366332623566653433393064356137386532333835383163366534626338316666383166663830227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f90166f90162b86e7472616e73616374696f6e287075626c69634b65793a20537472696e6729207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a7369676e65722e6164645075626c69634b6579287075626c69634b65792e6465636f64654865782829290a7d0a7df8b0b8ae7b2274797065223a22537472696e67222c2276616c7565223a226638343762383430393434383861373935613037373030633666623833653036366366353764666438376639326365373063626338316362336264336665613264663762363730373362373065333662343466333537386234336436346433666161326538653431356566366332623566653433393064356137386532333835383163366534626338316666383166663830227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "01595c86561441b32b2b91ee03f9e10ca6efa7b41bcc994f51317ec0aa9d8f8a42416464204e6577204b6579000101507562206b65790000537472696e670003", - "hash": "595c86561441b32b2b91ee03f9e10ca6efa7b41bcc994f51317ec0aa9d8f8a42" - }, - { - "title": "Add New Key Transaction - Valid Envelope - Valid Account Key 46", - "valid": true, - "chainID": "Mainnet", - "payloadMessage": { - "script": "transaction(publicKey: String) {\nprepare(signer: AuthAccount) {\nsigner.addPublicKey(publicKey.decodeHex())\n}\n}", - "arguments": [ - { - "type": "String", - "value": "f849b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc81ff81ff8201f4" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [ - { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sig": "f7225388c1d69d57e6251c9fda50cbbf9e05131e5adb81e5aa0422402f048162" - } - ] - }, - "envelopeMessage": { - "script": "transaction(publicKey: String) {\nprepare(signer: AuthAccount) {\nsigner.addPublicKey(publicKey.decodeHex())\n}\n}", - "arguments": [ - { - "type": "String", - "value": "f849b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc81ff81ff8201f4" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f90166b86e7472616e73616374696f6e287075626c69634b65793a20537472696e6729207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a7369676e65722e6164645075626c69634b6579287075626c69634b65792e6465636f64654865782829290a7d0a7df8b4b8b27b2274797065223a22537472696e67222c2276616c7565223a22663834396238343039343438386137393561303737303063366662383365303636636635376466643837663932636537306362633831636233626433666561326466376236373037336237306533366234346633353738623433643634643366616132653865343135656636633262356665343339306435613738653233383538316336653462633831666638316666383230316634227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f9016af90166b86e7472616e73616374696f6e287075626c69634b65793a20537472696e6729207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a7369676e65722e6164645075626c69634b6579287075626c69634b65792e6465636f64654865782829290a7d0a7df8b4b8b27b2274797065223a22537472696e67222c2276616c7565223a22663834396238343039343438386137393561303737303063366662383365303636636635376466643837663932636537306362633831636233626433666561326466376236373037336237306533366234346633353738623433643634643366616132653865343135656636633262356665343339306435613738653233383538316336653462633831666638316666383230316634227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "01595c86561441b32b2b91ee03f9e10ca6efa7b41bcc994f51317ec0aa9d8f8a42416464204e6577204b6579000101507562206b65790000537472696e670003", - "hash": "595c86561441b32b2b91ee03f9e10ca6efa7b41bcc994f51317ec0aa9d8f8a42" - }, - { - "title": "Add New Key Transaction - Valid Envelope - Valid Account Key 47", - "valid": true, - "chainID": "Mainnet", - "payloadMessage": { - "script": "transaction(publicKey: String) {\nprepare(signer: AuthAccount) {\nsigner.addPublicKey(publicKey.decodeHex())\n}\n}", - "arguments": [ - { - "type": "String", - "value": "f849b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc81ff81ff8203e8" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [ - { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sig": "f7225388c1d69d57e6251c9fda50cbbf9e05131e5adb81e5aa0422402f048162" - } - ] - }, - "envelopeMessage": { - "script": "transaction(publicKey: String) {\nprepare(signer: AuthAccount) {\nsigner.addPublicKey(publicKey.decodeHex())\n}\n}", - "arguments": [ - { - "type": "String", - "value": "f849b84094488a795a07700c6fb83e066cf57dfd87f92ce70cbc81cb3bd3fea2df7b67073b70e36b44f3578b43d64d3faa2e8e415ef6c2b5fe4390d5a78e238581c6e4bc81ff81ff8203e8" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f90166b86e7472616e73616374696f6e287075626c69634b65793a20537472696e6729207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a7369676e65722e6164645075626c69634b6579287075626c69634b65792e6465636f64654865782829290a7d0a7df8b4b8b27b2274797065223a22537472696e67222c2276616c7565223a22663834396238343039343438386137393561303737303063366662383365303636636635376466643837663932636537306362633831636233626433666561326466376236373037336237306533366234346633353738623433643634643366616132653865343135656636633262356665343339306435613738653233383538316336653462633831666638316666383230336538227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f9016af90166b86e7472616e73616374696f6e287075626c69634b65793a20537472696e6729207b0a70726570617265287369676e65723a20417574684163636f756e7429207b0a7369676e65722e6164645075626c69634b6579287075626c69634b65792e6465636f64654865782829290a7d0a7df8b4b8b27b2274797065223a22537472696e67222c2276616c7565223a22663834396238343039343438386137393561303737303063366662383365303636636635376466643837663932636537306362633831636233626433666561326466376236373037336237306533366234346633353738623433643634643366616132653865343135656636633262356665343339306435613738653233383538316336653462633831666638316666383230336538227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "01595c86561441b32b2b91ee03f9e10ca6efa7b41bcc994f51317ec0aa9d8f8a42416464204e6577204b6579000101507562206b65790000537472696e670003", - "hash": "595c86561441b32b2b91ee03f9e10ca6efa7b41bcc994f51317ec0aa9d8f8a42" - } -] \ No newline at end of file diff --git a/transaction_metadata/tree/index.js b/transaction_metadata/tree/index.js index e97d0e26..2ed6b254 100644 --- a/transaction_metadata/tree/index.js +++ b/transaction_metadata/tree/index.js @@ -33,6 +33,9 @@ const legerifyArgLabel = (name) => { "Networking Address":"Netw. Address", "Networking Key":"Netw. Key", "Public Keys":"Pub. Key", + "Machine Account Public Key":"MA PubKey", + "Raw Value for Machine Account Hash Algorithm Enum":"MA HAlg", + "Raw Value for Machine Account Signature Algorithm Enum":"MA SAlg", } return txArgTransforms[name]?txArgTransforms[name]:name } @@ -101,7 +104,7 @@ const readManifest = (testnetFile, mainnetFile) => { } } - return Buffer.concat([ + const result = Buffer.concat([ Buffer.from("02", "hex"), // number of hashes Buffer.from(templateTestnet.hash, "hex"), // hash testnet Buffer.from(templateMainnet.hash, "hex"), // hash mainnet @@ -110,6 +113,13 @@ const readManifest = (testnetFile, mainnetFile) => { uint8_to_buff(templateMainnet.arguments.length), // number of arguments Buffer.concat(templateMainnet.arguments.map((arg, idx) => processArg(arg, idx))), ]) + + if (result.length > 255) { + console.log(result.toString('hex')) + throw new Error("Metadata too long!"); + } + + return result } return [...Array(testnetTemplates.length).keys()].map((i) => templatesToMetadata(testnetTemplates[i], mainnetTemplates[i])); @@ -127,58 +137,8 @@ const getMetadataFromCMetadata = (data) => Buffer.concat( }) ) -const TX_METADATA_CREATE_ACCOUNT = getMetadataFromCMetadata([ - 1, - 0xee, 0xf2, 0xd0, 0x49, 0x44, 0x48, 0x55, 0x41, 0x77, 0x61, 0x2e, 0x63, 0x02, 0x62, 0x56, 0x25, 0x83, 0x39, 0x23, 0x0c, 0xbc, 0x69, 0x31, 0xde, 0xd7, 0x8d, 0x61, 0x49, 0x44, 0x3c, 0x61, 0x73, - 'C', 'r', 'e', 'a', 't', 'e', ' ', 'A', 'c', 'c', 'o', 'u', 'n', 't', 0, //tx name (to display) - 1, - ARGUMENT_TYPE_ARRAY, 1, 5, - 'P', 'u', 'b', ' ', 'k', 'e', 'y', 0, //arg name (to display) - 0, //argument index - 'S', 't', 'r', 'i', 'n', 'g', 0, //expected value type - JSMN_STRING, //expected value json token type -]); - -const TX_METADATA_ADD_NEW_KEY = getMetadataFromCMetadata([ - 1, //number of hashes + hashes - 0x59, 0x5c, 0x86, 0x56, 0x14, 0x41, 0xb3, 0x2b, 0x2b, 0x91, 0xee, 0x03, 0xf9, 0xe1, 0x0c, 0xa6, 0xef, 0xa7, 0xb4, 0x1b, 0xcc, 0x99, 0x4f, 0x51, 0x31, 0x7e, 0xc0, 0xaa, 0x9d, 0x8f, 0x8a, 0x42, - 'A', 'd', 'd', ' ', 'N', 'e', 'w', ' ', 'K', 'e', 'y', 0, //tx name (to display) - 1, //number of arguments - - //Argument 1 - ARGUMENT_TYPE_NORMAL, - 'P', 'u', 'b', ' ', 'k', 'e', 'y', 0, //arg name (to display) - 0, //argument index - 'S', 't', 'r', 'i', 'n', 'g', 0, //expected value type - JSMN_STRING, //expected value json token type -]); - -const TX_METADATA_TOKEN_TRANSFER = getMetadataFromCMetadata([ - 3, //number of hashes + hashes - 0xca, 0x80, 0xb6, 0x28, 0xd9, 0x85, 0xb3, 0x58, 0xae, 0x1c, 0xb1, 0x36, 0xbc, 0xd9, 0x76, 0x99, 0x7c, 0x94, 0x2f, 0xa1, 0x0d, 0xba, 0xbf, 0xea, 0xfb, 0x4e, 0x20, 0xfa, 0x66, 0xa5, 0xa5, 0xe2, - 0xd5, 0x6f, 0x4e, 0x1d, 0x23, 0x55, 0xcd, 0xcf, 0xac, 0xfd, 0x01, 0xe4, 0x71, 0x45, 0x9c, 0x6e, 0xf1, 0x68, 0xbf, 0xdf, 0x84, 0x37, 0x1a, 0x68, 0x5c, 0xcf, 0x31, 0xcf, 0x3c, 0xde, 0xdc, 0x2d, - 0x47, 0x85, 0x15, 0x86, 0xd9, 0x62, 0x33, 0x5e, 0x3f, 0x7d, 0x9e, 0x5d, 0x11, 0xa4, 0xc5, 0x27, 0xee, 0x4b, 0x5f, 0xd1, 0xc3, 0x89, 0x5e, 0x3c, 0xe1, 0xb9, 0xc2, 0x82, 0x1f, 0x60, 0xb1, 0x66, - 'T', 'o', 'k', 'e', 'n', ' ', 'T', 'r', 'a', 'n', 's', 'f', 'e', 'r', 0, //tx name (to display) - 2, //number of arguments - - //Argument 1 - ARGUMENT_TYPE_NORMAL, - 'A', 'm', 'o', 'u', 'n', 't', 0, //arg name (to display) - 0, //argument index - 'U', 'F', 'i', 'x', '6', '4', 0, //expected value type - JSMN_STRING, //expected value json token type - - //Argument 2 - ARGUMENT_TYPE_NORMAL, - 'D', 'e', 's', 't', 'i', 'n', 'a', 't', 'i', 'o', 'n', 0, //arg name (to display) - 1, //argument index - 'A', 'd', 'd', 'r', 'e', 's', 's', 0, //expected value type - JSMN_STRING, //expected value json token type -]); - - const metadataManifest = readManifest("../manifest.testnet.json", "../manifest.mainnet.json"); -const txMetadata = [TX_METADATA_CREATE_ACCOUNT, TX_METADATA_ADD_NEW_KEY, TX_METADATA_TOKEN_TRANSFER, ...metadataManifest] +const txMetadata = metadataManifest //We add empty metadata strings so we have 7^MERKLE_TREE_DEPTH elementes in the field const desiredLength = 7**MERKLE_TREE_DEPTH; @@ -252,6 +212,7 @@ const data = "" + "export const merkleIndex = " + JSON.stringify(merkleIndex, null, 2) + "\n\n"; fs.writeFileSync("../txMerkleTree.js", data); +fs.writeFileSync("../txMerkleTree.mjs", data); const data2 = "# pylint: skip-file\n" + "merkleTree = " + JSON.stringify(merkleTree, null, 2) + "\n\n" + diff --git a/transaction_metadata/txMerkleTree.js b/transaction_metadata/txMerkleTree.js new file mode 100644 index 00000000..48be0331 --- /dev/null +++ b/transaction_metadata/txMerkleTree.js @@ -0,0 +1,2730 @@ +export const merkleTree = { + "hash": "fed83177f69829b455cea6ea334a2260d07279a73c3ef099bf11016b30bd2582", + "children": [ + { + "hash": "8914015391b2dccc4fc2c10da68cd3dce9cb28532a58724d657340ab803cb320", + "children": [ + { + "hash": "9176284d9a003c543ccb3737df48e1e5e7ce80ac66d383c29ec145ec5fcd0aab", + "children": [ + { + "hash": "cba3b9f0e3e016e0cd3645a0cefc4af19d071847dde63e63eb952c67ec1ef749", + "children": [ + { + "hash": "653ef59e369135530a337a8674dbfb405f109f92393bcf8e849972f5f40ad202", + "children": [ + "0263d8b6a045bf8e6196198184db685c2cf22932503ccb2dcb85c7d2dc04c882ba63d8b6a045bf8e6196198184db685c2cf22932503ccb2dcb85c7d2dc04c882ba437265617465204163636f756e740004015075626c6963204b65790000537472696e670003015261772056616c756520666f72205369676e617475726520416c676f726974686d20456e756d000155496e74380003015261772056616c756520666f72204861736820416c676f726974686d20456e756d000255496e74380003014b65792057656967687400035546697836340003" + ] + }, + { + "hash": "4f082658b34e9e68f8f9ffa6fbbff5d5ca66087e24cd5d87057f018eeac98881", + "children": [ + "0221d4e87df171ccbe015efe69dc2ffd24814c5fc0f2e364daf5c80515ce4a8bd921d4e87df171ccbe015efe69dc2ffd24814c5fc0f2e364daf5c80515ce4a8bd9416464204b65790004015075626c6963204b65790000537472696e670003015261772056616c756520666f72205369676e617475726520416c676f726974686d20456e756d000155496e74380003015261772056616c756520666f72204861736820416c676f726974686d20456e756d000255496e74380003014b65792057656967687400035546697836340003" + ] + }, + { + "hash": "b5b81e2d8d86b60ca608b709cbe3c61fd45cd371699896cd26e915bda7814bdd", + "children": [ + "026c7ab72837fdce77a910f6fc0c622c6c4d5b17f6fbf7295f345d50d3508dd5156c7ab72837fdce77a910f6fc0c622c6c4d5b17f6fbf7295f345d50d3508dd51552656d6f7665204b65790001014b657920496e6465780000496e740003" + ] + }, + { + "hash": "d44137b2d054b110bed2ffb3d1036bccd84855d40131083b76caa9b8a55d988d", + "children": [ + "023ccbbfebf10c47c49e4058a33fd9a29c4191c545de52c9afd27a29d38110aa280246076f1cf5d3160397766a9227b35f592f4d15c014848044c509818328b62b53657475702046756e6769626c6520546f6b656e205661756c74000201465420436f6e74726163742041646472657373000041646472657373000301465420436f6e7472616374204e616d650001537472696e670003" + ] + }, + { + "hash": "64ef5c4c656d2425b6dbd87fc79c6c3d7ea24064f9d22b64df8fd4daf8b585bb", + "children": [ + "02c9b9a6156280812703c15dde74df95cd0d7d1034dd2d8bf0cccf72b6071429886e5b8c83a3e8445eaa4bed391978443f124d9aa457fabdbaa016e0f65b57591e5472616e736665722046756e6769626c6520546f6b656e2077697468205061746873000401416d6f756e740000554669783634000301526563697069656e7400014164647265737300030153656e646572277320436f6c6c656374696f6e2050617468204964656e7469666965720002537472696e67000301526563697069656e7427732052656365697665722050617468204964656e7469666965720003537472696e670003" + ] + }, + { + "hash": "c852e497e27b7b16ceb1a46ed3526fbddcb294a21d38ea80d3d9633f33e0c8b6", + "children": [ + "02c1518742a95f9b49259abed8364b05d616ee8acebe123e9979f762b9e7522f93697ad2a90da93cbd02b7658f174c9c32e2016a574edb89cf24b57a8155c343e45472616e736665722046756e6769626c6520546f6b656e20776974682041646472657373000401416d6f756e740000554669783634000301526563697069656e74000141646472657373000301465420436f6e74726163742041646472657373000241646472657373000301465420436f6e7472616374204e616d650003537472696e670003" + ] + }, + { + "hash": "2dbc6a8381286511ebf0b240a1bb31fadb16d7c2901138e64f21f2ef60801cb4", + "children": [ + "02d9ef3b05f8b06d43c3a0ef4066e88e6248323c5f235f9a5d1f8a85d6e2bc9bfa1d12c005fa7a08277204e5d54e29b725c52b9e8e3dd6ff6e01f8d47d7be1626c5365747570204e465420436f6c6c656374696f6e0002014e465420436f6e747261637420416464726573730000416464726573730003014e465420436f6e7472616374204e616d650001537472696e670003" + ] + } + ] + }, + { + "hash": "ddd2fe00843f6adb7875a07333f61aa2643499b999f915813924440c99460f99", + "children": [ + { + "hash": "641ed4ec667e2e90fea4de449824de57bf652c8e6abfdce87b9cf076312d4bf3", + "children": [ + "02f08815a2f535512a65e5c95c391dd6ff89662dad8fd68da836d11d0827a52bd4a56eb0c3e6c3456eee86d5cb62ddf700b0d1e5e65f12fe6926edd6d1816582855472616e73666572204e46542077697468205061746873000401526563697069656e740000416464726573730003014e465420494420746f205472616e73666572000155496e74363400030153656e646572277320436f6c6c656374696f6e2050617468204964656e7469666965720002537472696e67000301526563697069656e7427732052656365697665722050617468204964656e7469666965720003537472696e670003" + ] + }, + { + "hash": "0ecae19f93f291533375cf65f243307c6cbf9a54fff897ce9d00d552c6675861", + "children": [ + "02b7892b30d7a68531db8af3aa73eec7bf899bd039bc9883c4d0270e44c78cec30111142945f27d91bf3be630737805eba25d586b0c292bb3818e5d4cf4287e31c5472616e73666572204e465420776974682041646472657373000401526563697069656e740000416464726573730003014e465420494420746f205472616e73666572000155496e7436340003014e465420436f6e747261637420416464726573730002416464726573730003014e465420436f6e7472616374204e616d650003537472696e670003" + ] + }, + { + "hash": "bad7c2258efa36af460d217adf5b7739ba66dfd31d3c2441f88c01d355170bdc", + "children": [ + "02861784e7ac135a9cfec90decdff2e53971a4d63135db77bcef3b273b710b181469f30decc15bd78107c631e200963398e8ddbc58bb61e577d223725f348fc2d95365747570205374616b696e6720436f6c6c656374696f6e0000" + ] + }, + { + "hash": "675bbb1235e1bb30b198b84835222233caab309c75ed479ac1bd497d51b13dfc", + "children": [ + "02e093df9c425be9cdbee44bdbbd721f6aff523e41802a50cf0ff353873e9f94830a41e53ad3c9c1c16c8732dd8331b8ca66063617d433b01d4d09c4730044874452656769737465722044656c656761746f720002014e6f64652049440000537472696e67000301416d6f756e7400015546697836340003" + ] + }, + { + "hash": "9b9c24e8572eb7d14db43a511c349b9961297e018490c5cd3270e5637f95ea23", + "children": [ + "02deb5f758f3eb3b125cd9b14a6528f18d535377709fcef41e743751eb828009213b0b2bbc3a2ad674122c182112f7008a8d3d1b60b107033c0ebe7bbe50df52675265676973746572204e6f64650009014e6f64652049440000537472696e670003014e6f646520526f6c65000155496e74380003014e6574772e20416464726573730002537472696e670003014e6574772e204b65790003537472696e670003015374616b696e67204b65790004537472696e67000301416d6f756e7400055546697836340003014d41205075624b65790006537472696e670003014d412053416c67000755496e74380003014d412048416c67000855496e74380003" + ] + }, + { + "hash": "036cc8d96b46f7d4eb5d78855b00ae1214131786188ddf6be2f1a08ff434a0ac", + "children": [ + "024c1ad61500bcd0d32d7aa7eb84ca9b7417219ed6d524e05de8c55fb7d50940e4f0a6cedb6703cd4ce4cc3b735e5edb5a7e5b17a87a725343d745e5d53b7c0a01437265617465204d616368696e65204163636f756e740004014e6f64652049440000537472696e670003014d41205075624b65790001537472696e670003014d412053416c67000255496e74380003014d412048416c67000355496e74380003" + ] + }, + { + "hash": "e1231083517c70acca28aef2f02738785a1e989e00fb2e910867de17a60fca14", + "children": [ + "022d59f2c2c402f919c8dba30009e31480d54e2b250d2e10456e1ff029bd7cce99f26c058a127500fcd8445ba9fcf55149fe8f1a1a7cd212688d13fcd6ee2765295265717565737420556e7374616b696e670003014e6f64652049440000537472696e6700030244656c656761746f72204944000155496e743332000301416d6f756e7400025546697836340003" + ] + } + ] + }, + { + "hash": "77b9597b1a66e8bade040908bc0fe96c50cdeaf67a648435d77dab233745cacd", + "children": [ + { + "hash": "ca2dbcde0c1bc0a2df58112c81b20fa360f0d7de78180ab7589903e7199bcfb4", + "children": [ + "02cf2b03950077352487e6344ab65edc3e1856731ab9cf68aa2ebbe279ae496d4b4c0658934352486097cc89fa06b98bac21e514770fc6a4d70a7adc4bec6d711d5374616b65204e657720546f6b656e730003014e6f64652049440000537472696e6700030244656c656761746f72204944000155496e743332000301416d6f756e7400025546697836340003" + ] + }, + { + "hash": "ddca88842c33d1bee0ec3c4776b9533e5346cdd5082a55aec1b916c19ff51e09", + "children": [ + "024395faf2e515eea4d40f82416ad387575f0d5a580612223c361130e53e72f00bc989e8b3beb9c2eb5af2ee1e11d592c9f1131e76e7ef105a0d40cf1610d1e3485374616b6520526577617264656420546f6b656e730003014e6f64652049440000537472696e6700030244656c656761746f72204944000155496e743332000301416d6f756e7400025546697836340003" + ] + }, + { + "hash": "fd76eef7824d721068bdfd194e79bb513ff4aea7a4ef34de500cc278d6ef2dc3", + "children": [ + "020b1721f2a8ef6c0c4121ef83c7b38f2141eebcd65c72dab9ebaafe1b4d66fea8fe6adb75bf22b2033800e916fa7e3a7810417e9a36d35320de7f4b5f7ec4f1b85374616b6520556e7374616b656420546f6b656e730003014e6f64652049440000537472696e6700030244656c656761746f72204944000155496e743332000301416d6f756e7400025546697836340003" + ] + }, + { + "hash": "c20c5edc09197bfa43a5ca85104953a91b3a65c1e8ffcac92b3442e62b23d9e1", + "children": [ + "02c84843e3399be2ce95ea00e7c17d72db3c5c3363ec008c7a1c1cfa5b6afe70ae1c8256fb857f6c6fd929511ecac8624d0159877cf72c884f7128297dfb069510556e7374616b6520416c6c0001014e6f64652049440000537472696e670003" + ] + }, + { + "hash": "ccd65f015317e3b3700a66f69e2ec2a6f3b63bac7c113a2e1bbf500024ef07bd", + "children": [ + "025a07ca4c016973bdeb168590e111b2c2855833b5ece11ffb28b08b8668f258a8fbd8ebbfff7a88b6b667ff4e3f9f904eaaba71cbf02a140f3b7007c61fbd8f34576974686472617720526577617264656420546f6b656e730003014e6f64652049440000537472696e6700030244656c656761746f72204944000155496e743332000301416d6f756e7400025546697836340003" + ] + }, + { + "hash": "0e0e96142cd4d28d1832502be18f00e179fa5f8d0bd7b17206ac7891655d8051", + "children": [ + "0201fd4ea83d20510d24ed9f245873a7ee2715aefb774495c80bce7e3e34d6442ec2484f17e640e285769c3edaa6f2d090dcef1f2f57983f82b7179c3c047290ca576974686472617720556e7374616b656420546f6b656e730003014e6f64652049440000537472696e6700030244656c656761746f72204944000155496e743332000301416d6f756e7400025546697836340003" + ] + }, + { + "hash": "71e307116af2593f2fe011dec15877ef2f4595e4aa1ffe0b0bed14d4720ece09", + "children": [ + "027e216d96d75414b27c2301a3b0a7816804d43014337a14731d1493531116d185a0fad319bf8aede66212257ad0d21532858381e2c9d7c4cec179b28180f5be93436c6f7365205374616b650002014e6f64652049440000537472696e6700030244656c656761746f72204944000155496e7433320003" + ] + } + ] + }, + { + "hash": "c963f7dcc5a15dade0a6ef13e028a798944890bc52e064c8d30723f5443db761", + "children": [ + { + "hash": "d5e8a39acc91672fed5c63361051e952a02f0be8c7680f262ee9bc4e08043db5", + "children": [ + "02311f4071dda8b17ac6cbc6f0a27e98bd426026825d3c68308903fead884e616e38bfd23b200ecef4d13fa3c2ea998b51e6a24f3a8ceb260d2affab7c918a97d05472616e73666572204e6f64650002014e6f64652049440000537472696e67000301416464726573730001416464726573730003" + ] + }, + { + "hash": "532d624dc9889df257473ba9bf6bf20f3105486ebc3018ee20eee29cc9f4dba3", + "children": [ + "02f9fa239cb78b3e07b8f8d56e173e2673b4b53aeb07d507a769c8d96eaf400b8d11e2107d2ccd96cb6b3fa3a704491dcd9e1736215137304e0494243c21befc765472616e736665722044656c656761746f720003014e6f64652049440000537472696e6700030144656c656761746f72204944000155496e743332000301416464726573730002416464726573730003" + ] + }, + { + "hash": "89fe5ae4ec85ca632b4652c39fd6bdceacce20acd6547d9987c457816e3b8818", + "children": [ + "02fdd40862af04dc36dd0e9e727966c6f81dd6be8246b9c70afd18297aac9e86a8e12b16ef4218b8ce52189ae5814b381272bf473436978fae94d01c10c036903457697468647261772046726f6d204d616368696e65204163636f756e740002014e6f64652049440000537472696e67000301416d6f756e7400015546697836340003" + ] + }, + { + "hash": "6749b31ddc54f34849a702aef1fd9d6592d49f2afd2c2a53385aee928f9b3f97", + "children": [ + "023a68789d8cd56e6c7b064057045a56340746aac710db57700de2c33eb6610e5f68d24560d9e49318dca82ab0975f526a8663d934225f0cb715cd1ff188def16d557064617465204e6574776f726b696e6720416464726573730002014e6f64652049440000537472696e67000301416464726573730001537472696e670003" + ] + }, + { + "hash": "9e8bff812b2f0545ce028d95c6daf6ca0ae43e212cf3c24f3ccfeb5bd03316b7", + "children": [ + "02094798e93daeacaa9ff262486a3683ec5a5e2204407e7d00bc3416fbf3efa3b14a830e6f93f74179a99e17c7ae762980c7fdc428bc949767529be2f071ac52b9576974686472617720556e6c6f636b656420464c4f57000101416d6f756e7400005546697836340003" + ] + }, + { + "hash": "a1a73556f8af48486b19446e0fe0a0e706d551aeeea3f0f1e410804b3128a3ad", + "children": [ + "0217ffcd60667893674d8d4044bdd8232959dc8b694df1dd88d1b9c5443352f253038382a947fa96bf2f4dfe5aa9b4b2abee1ef0975955175e80cf911c3edf4b614465706f73697420556e6c6f636b656420464c4f57000101416d6f756e7400005546697836340003" + ] + }, + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + } + ] + }, + { + "hash": "63981575be94aaa4f14daa9f27c6c2fd72b46de3994ed71abaec45aa4b40615a", + "children": [ + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + }, + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + }, + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + }, + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + }, + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + }, + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + }, + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + } + ] + }, + { + "hash": "63981575be94aaa4f14daa9f27c6c2fd72b46de3994ed71abaec45aa4b40615a", + "children": [ + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + }, + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + }, + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + }, + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + }, + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + }, + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + }, + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + } + ] + }, + { + "hash": "63981575be94aaa4f14daa9f27c6c2fd72b46de3994ed71abaec45aa4b40615a", + "children": [ + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + }, + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + }, + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + }, + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + }, + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + }, + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + }, + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + } + ] + } + ] + }, + { + "hash": "88bd487007bf1a5be47cea944d797895181258aba33c77e8c75fe7e38ad91929", + "children": [ + { + "hash": "63981575be94aaa4f14daa9f27c6c2fd72b46de3994ed71abaec45aa4b40615a", + "children": [ + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + }, + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + }, + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + }, + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + }, + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + }, + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + }, + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + } + ] + }, + { + "hash": "63981575be94aaa4f14daa9f27c6c2fd72b46de3994ed71abaec45aa4b40615a", + "children": [ + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + }, + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + }, + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + }, + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + }, + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + }, + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + }, + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + } + ] + }, + { + "hash": "63981575be94aaa4f14daa9f27c6c2fd72b46de3994ed71abaec45aa4b40615a", + "children": [ + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + }, + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + }, + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + }, + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + }, + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + }, + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + }, + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + } + ] + }, + { + "hash": "63981575be94aaa4f14daa9f27c6c2fd72b46de3994ed71abaec45aa4b40615a", + "children": [ + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + }, + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + }, + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + }, + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + }, + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + }, + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + }, + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + } + ] + }, + { + "hash": "63981575be94aaa4f14daa9f27c6c2fd72b46de3994ed71abaec45aa4b40615a", + "children": [ + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + }, + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + }, + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + }, + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + }, + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + }, + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + }, + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + } + ] + }, + { + "hash": "63981575be94aaa4f14daa9f27c6c2fd72b46de3994ed71abaec45aa4b40615a", + "children": [ + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + }, + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + }, + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + }, + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + }, + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + }, + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + }, + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + } + ] + }, + { + "hash": "63981575be94aaa4f14daa9f27c6c2fd72b46de3994ed71abaec45aa4b40615a", + "children": [ + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + }, + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + }, + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + }, + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + }, + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + }, + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + }, + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + } + ] + } + ] + }, + { + "hash": "88bd487007bf1a5be47cea944d797895181258aba33c77e8c75fe7e38ad91929", + "children": [ + { + "hash": "63981575be94aaa4f14daa9f27c6c2fd72b46de3994ed71abaec45aa4b40615a", + "children": [ + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + }, + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + }, + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + }, + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + }, + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + }, + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + }, + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + } + ] + }, + { + "hash": "63981575be94aaa4f14daa9f27c6c2fd72b46de3994ed71abaec45aa4b40615a", + "children": [ + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + }, + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + }, + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + }, + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + }, + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + }, + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + }, + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + } + ] + }, + { + "hash": "63981575be94aaa4f14daa9f27c6c2fd72b46de3994ed71abaec45aa4b40615a", + "children": [ + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + }, + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + }, + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + }, + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + }, + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + }, + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + }, + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + } + ] + }, + { + "hash": "63981575be94aaa4f14daa9f27c6c2fd72b46de3994ed71abaec45aa4b40615a", + "children": [ + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + }, + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + }, + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + }, + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + }, + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + }, + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + }, + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + } + ] + }, + { + "hash": "63981575be94aaa4f14daa9f27c6c2fd72b46de3994ed71abaec45aa4b40615a", + "children": [ + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + }, + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + }, + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + }, + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + }, + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + }, + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + }, + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + } + ] + }, + { + "hash": "63981575be94aaa4f14daa9f27c6c2fd72b46de3994ed71abaec45aa4b40615a", + "children": [ + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + }, + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + }, + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + }, + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + }, + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + }, + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + }, + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + } + ] + }, + { + "hash": "63981575be94aaa4f14daa9f27c6c2fd72b46de3994ed71abaec45aa4b40615a", + "children": [ + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + }, + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + }, + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + }, + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + }, + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + }, + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + }, + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + } + ] + } + ] + }, + { + "hash": "88bd487007bf1a5be47cea944d797895181258aba33c77e8c75fe7e38ad91929", + "children": [ + { + "hash": "63981575be94aaa4f14daa9f27c6c2fd72b46de3994ed71abaec45aa4b40615a", + "children": [ + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + }, + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + }, + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + }, + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + }, + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + }, + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + }, + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + } + ] + }, + { + "hash": "63981575be94aaa4f14daa9f27c6c2fd72b46de3994ed71abaec45aa4b40615a", + "children": [ + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + }, + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + }, + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + }, + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + }, + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + }, + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + }, + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + } + ] + }, + { + "hash": "63981575be94aaa4f14daa9f27c6c2fd72b46de3994ed71abaec45aa4b40615a", + "children": [ + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + }, + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + }, + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + }, + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + }, + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + }, + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + }, + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + } + ] + }, + { + "hash": "63981575be94aaa4f14daa9f27c6c2fd72b46de3994ed71abaec45aa4b40615a", + "children": [ + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + }, + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + }, + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + }, + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + }, + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + }, + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + }, + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + } + ] + }, + { + "hash": "63981575be94aaa4f14daa9f27c6c2fd72b46de3994ed71abaec45aa4b40615a", + "children": [ + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + }, + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + }, + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + }, + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + }, + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + }, + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + }, + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + } + ] + }, + { + "hash": "63981575be94aaa4f14daa9f27c6c2fd72b46de3994ed71abaec45aa4b40615a", + "children": [ + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + }, + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + }, + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + }, + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + }, + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + }, + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + }, + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + } + ] + }, + { + "hash": "63981575be94aaa4f14daa9f27c6c2fd72b46de3994ed71abaec45aa4b40615a", + "children": [ + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + }, + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + }, + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + }, + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + }, + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + }, + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + }, + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + } + ] + } + ] + }, + { + "hash": "88bd487007bf1a5be47cea944d797895181258aba33c77e8c75fe7e38ad91929", + "children": [ + { + "hash": "63981575be94aaa4f14daa9f27c6c2fd72b46de3994ed71abaec45aa4b40615a", + "children": [ + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + }, + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + }, + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + }, + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + }, + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + }, + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + }, + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + } + ] + }, + { + "hash": "63981575be94aaa4f14daa9f27c6c2fd72b46de3994ed71abaec45aa4b40615a", + "children": [ + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + }, + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + }, + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + }, + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + }, + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + }, + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + }, + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + } + ] + }, + { + "hash": "63981575be94aaa4f14daa9f27c6c2fd72b46de3994ed71abaec45aa4b40615a", + "children": [ + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + }, + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + }, + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + }, + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + }, + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + }, + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + }, + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + } + ] + }, + { + "hash": "63981575be94aaa4f14daa9f27c6c2fd72b46de3994ed71abaec45aa4b40615a", + "children": [ + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + }, + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + }, + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + }, + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + }, + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + }, + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + }, + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + } + ] + }, + { + "hash": "63981575be94aaa4f14daa9f27c6c2fd72b46de3994ed71abaec45aa4b40615a", + "children": [ + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + }, + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + }, + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + }, + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + }, + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + }, + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + }, + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + } + ] + }, + { + "hash": "63981575be94aaa4f14daa9f27c6c2fd72b46de3994ed71abaec45aa4b40615a", + "children": [ + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + }, + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + }, + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + }, + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + }, + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + }, + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + }, + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + } + ] + }, + { + "hash": "63981575be94aaa4f14daa9f27c6c2fd72b46de3994ed71abaec45aa4b40615a", + "children": [ + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + }, + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + }, + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + }, + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + }, + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + }, + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + }, + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + } + ] + } + ] + }, + { + "hash": "88bd487007bf1a5be47cea944d797895181258aba33c77e8c75fe7e38ad91929", + "children": [ + { + "hash": "63981575be94aaa4f14daa9f27c6c2fd72b46de3994ed71abaec45aa4b40615a", + "children": [ + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + }, + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + }, + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + }, + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + }, + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + }, + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + }, + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + } + ] + }, + { + "hash": "63981575be94aaa4f14daa9f27c6c2fd72b46de3994ed71abaec45aa4b40615a", + "children": [ + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + }, + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + }, + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + }, + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + }, + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + }, + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + }, + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + } + ] + }, + { + "hash": "63981575be94aaa4f14daa9f27c6c2fd72b46de3994ed71abaec45aa4b40615a", + "children": [ + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + }, + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + }, + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + }, + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + }, + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + }, + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + }, + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + } + ] + }, + { + "hash": "63981575be94aaa4f14daa9f27c6c2fd72b46de3994ed71abaec45aa4b40615a", + "children": [ + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + }, + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + }, + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + }, + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + }, + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + }, + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + }, + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + } + ] + }, + { + "hash": "63981575be94aaa4f14daa9f27c6c2fd72b46de3994ed71abaec45aa4b40615a", + "children": [ + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + }, + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + }, + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + }, + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + }, + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + }, + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + }, + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + } + ] + }, + { + "hash": "63981575be94aaa4f14daa9f27c6c2fd72b46de3994ed71abaec45aa4b40615a", + "children": [ + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + }, + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + }, + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + }, + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + }, + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + }, + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + }, + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + } + ] + }, + { + "hash": "63981575be94aaa4f14daa9f27c6c2fd72b46de3994ed71abaec45aa4b40615a", + "children": [ + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + }, + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + }, + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + }, + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + }, + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + }, + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + }, + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + } + ] + } + ] + }, + { + "hash": "88bd487007bf1a5be47cea944d797895181258aba33c77e8c75fe7e38ad91929", + "children": [ + { + "hash": "63981575be94aaa4f14daa9f27c6c2fd72b46de3994ed71abaec45aa4b40615a", + "children": [ + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + }, + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + }, + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + }, + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + }, + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + }, + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + }, + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + } + ] + }, + { + "hash": "63981575be94aaa4f14daa9f27c6c2fd72b46de3994ed71abaec45aa4b40615a", + "children": [ + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + }, + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + }, + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + }, + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + }, + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + }, + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + }, + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + } + ] + }, + { + "hash": "63981575be94aaa4f14daa9f27c6c2fd72b46de3994ed71abaec45aa4b40615a", + "children": [ + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + }, + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + }, + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + }, + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + }, + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + }, + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + }, + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + } + ] + }, + { + "hash": "63981575be94aaa4f14daa9f27c6c2fd72b46de3994ed71abaec45aa4b40615a", + "children": [ + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + }, + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + }, + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + }, + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + }, + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + }, + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + }, + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + } + ] + }, + { + "hash": "63981575be94aaa4f14daa9f27c6c2fd72b46de3994ed71abaec45aa4b40615a", + "children": [ + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + }, + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + }, + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + }, + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + }, + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + }, + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + }, + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + } + ] + }, + { + "hash": "63981575be94aaa4f14daa9f27c6c2fd72b46de3994ed71abaec45aa4b40615a", + "children": [ + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + }, + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + }, + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + }, + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + }, + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + }, + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + }, + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + } + ] + }, + { + "hash": "63981575be94aaa4f14daa9f27c6c2fd72b46de3994ed71abaec45aa4b40615a", + "children": [ + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + }, + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + }, + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + }, + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + }, + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + }, + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + }, + { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "children": [ + "" + ] + } + ] + } + ] + } + ] + }, + { + "hash": "94a4bf5f458f2def50f807bf419501bfd5e77a084c30592aa3803a522a3c272e", + "children": [ + "Empty branch", + "Empty branch", + "Empty branch", + "Empty branch", + "Empty branch", + "Empty branch", + "Empty branch" + ] + }, + { + "hash": "94a4bf5f458f2def50f807bf419501bfd5e77a084c30592aa3803a522a3c272e", + "children": [ + "Empty branch", + "Empty branch", + "Empty branch", + "Empty branch", + "Empty branch", + "Empty branch", + "Empty branch" + ] + }, + { + "hash": "94a4bf5f458f2def50f807bf419501bfd5e77a084c30592aa3803a522a3c272e", + "children": [ + "Empty branch", + "Empty branch", + "Empty branch", + "Empty branch", + "Empty branch", + "Empty branch", + "Empty branch" + ] + }, + { + "hash": "94a4bf5f458f2def50f807bf419501bfd5e77a084c30592aa3803a522a3c272e", + "children": [ + "Empty branch", + "Empty branch", + "Empty branch", + "Empty branch", + "Empty branch", + "Empty branch", + "Empty branch" + ] + }, + { + "hash": "94a4bf5f458f2def50f807bf419501bfd5e77a084c30592aa3803a522a3c272e", + "children": [ + "Empty branch", + "Empty branch", + "Empty branch", + "Empty branch", + "Empty branch", + "Empty branch", + "Empty branch" + ] + }, + { + "hash": "94a4bf5f458f2def50f807bf419501bfd5e77a084c30592aa3803a522a3c272e", + "children": [ + "Empty branch", + "Empty branch", + "Empty branch", + "Empty branch", + "Empty branch", + "Empty branch", + "Empty branch" + ] + } + ] +} + +export const merkleIndex = { + "63d8b6a045bf8e61": [ + 0, + 0, + 0, + 0 + ], + "21d4e87df171ccbe": [ + 0, + 0, + 0, + 1 + ], + "6c7ab72837fdce77": [ + 0, + 0, + 0, + 2 + ], + "3ccbbfebf10c47c4": [ + 0, + 0, + 0, + 3 + ], + "0246076f1cf5d316": [ + 0, + 0, + 0, + 3 + ], + "c9b9a61562808127": [ + 0, + 0, + 0, + 4 + ], + "6e5b8c83a3e8445e": [ + 0, + 0, + 0, + 4 + ], + "c1518742a95f9b49": [ + 0, + 0, + 0, + 5 + ], + "697ad2a90da93cbd": [ + 0, + 0, + 0, + 5 + ], + "d9ef3b05f8b06d43": [ + 0, + 0, + 0, + 6 + ], + "1d12c005fa7a0827": [ + 0, + 0, + 0, + 6 + ], + "f08815a2f535512a": [ + 0, + 0, + 1, + 0 + ], + "a56eb0c3e6c3456e": [ + 0, + 0, + 1, + 0 + ], + "b7892b30d7a68531": [ + 0, + 0, + 1, + 1 + ], + "111142945f27d91b": [ + 0, + 0, + 1, + 1 + ], + "861784e7ac135a9c": [ + 0, + 0, + 1, + 2 + ], + "69f30decc15bd781": [ + 0, + 0, + 1, + 2 + ], + "e093df9c425be9cd": [ + 0, + 0, + 1, + 3 + ], + "0a41e53ad3c9c1c1": [ + 0, + 0, + 1, + 3 + ], + "deb5f758f3eb3b12": [ + 0, + 0, + 1, + 4 + ], + "3b0b2bbc3a2ad674": [ + 0, + 0, + 1, + 4 + ], + "4c1ad61500bcd0d3": [ + 0, + 0, + 1, + 5 + ], + "f0a6cedb6703cd4c": [ + 0, + 0, + 1, + 5 + ], + "2d59f2c2c402f919": [ + 0, + 0, + 1, + 6 + ], + "f26c058a127500fc": [ + 0, + 0, + 1, + 6 + ], + "cf2b039500773524": [ + 0, + 0, + 2, + 0 + ], + "4c06589343524860": [ + 0, + 0, + 2, + 0 + ], + "4395faf2e515eea4": [ + 0, + 0, + 2, + 1 + ], + "c989e8b3beb9c2eb": [ + 0, + 0, + 2, + 1 + ], + "0b1721f2a8ef6c0c": [ + 0, + 0, + 2, + 2 + ], + "fe6adb75bf22b203": [ + 0, + 0, + 2, + 2 + ], + "c84843e3399be2ce": [ + 0, + 0, + 2, + 3 + ], + "1c8256fb857f6c6f": [ + 0, + 0, + 2, + 3 + ], + "5a07ca4c016973bd": [ + 0, + 0, + 2, + 4 + ], + "fbd8ebbfff7a88b6": [ + 0, + 0, + 2, + 4 + ], + "01fd4ea83d20510d": [ + 0, + 0, + 2, + 5 + ], + "c2484f17e640e285": [ + 0, + 0, + 2, + 5 + ], + "7e216d96d75414b2": [ + 0, + 0, + 2, + 6 + ], + "a0fad319bf8aede6": [ + 0, + 0, + 2, + 6 + ], + "311f4071dda8b17a": [ + 0, + 0, + 3, + 0 + ], + "38bfd23b200ecef4": [ + 0, + 0, + 3, + 0 + ], + "f9fa239cb78b3e07": [ + 0, + 0, + 3, + 1 + ], + "11e2107d2ccd96cb": [ + 0, + 0, + 3, + 1 + ], + "fdd40862af04dc36": [ + 0, + 0, + 3, + 2 + ], + "e12b16ef4218b8ce": [ + 0, + 0, + 3, + 2 + ], + "3a68789d8cd56e6c": [ + 0, + 0, + 3, + 3 + ], + "68d24560d9e49318": [ + 0, + 0, + 3, + 3 + ], + "094798e93daeacaa": [ + 0, + 0, + 3, + 4 + ], + "4a830e6f93f74179": [ + 0, + 0, + 3, + 4 + ], + "17ffcd6066789367": [ + 0, + 0, + 3, + 5 + ], + "038382a947fa96bf": [ + 0, + 0, + 3, + 5 + ] +} + diff --git a/transaction_metadata/txMerkleTree.mjs b/transaction_metadata/txMerkleTree.mjs index 9e60c4f6..48be0331 100644 --- a/transaction_metadata/txMerkleTree.mjs +++ b/transaction_metadata/txMerkleTree.mjs @@ -1,319 +1,319 @@ export const merkleTree = { - "hash": "fe82420959875826f6a617959b006c31fa8975e455dbf2494f5ff3740a1ece51", + "hash": "fed83177f69829b455cea6ea334a2260d07279a73c3ef099bf11016b30bd2582", "children": [ { - "hash": "9053a0e87b7e66413b6552205fa31f3c2ed42cdb97bd3d543a130aebb29dda1e", + "hash": "8914015391b2dccc4fc2c10da68cd3dce9cb28532a58724d657340ab803cb320", "children": [ { - "hash": "07ea7f7407fda8657a35aeb24075cc654b9f06ae61d6cd1a772920ee3c6209a1", + "hash": "9176284d9a003c543ccb3737df48e1e5e7ce80ac66d383c29ec145ec5fcd0aab", "children": [ { - "hash": "aa44049d7eb26d667c3714b8fcf78380878e658e22268510ff9f72e69b29decd", + "hash": "cba3b9f0e3e016e0cd3645a0cefc4af19d071847dde63e63eb952c67ec1ef749", "children": [ { - "hash": "27b42f7104fa842ba664b1c199325f8339dd65db575938cef8498d082727c3ef", + "hash": "653ef59e369135530a337a8674dbfb405f109f92393bcf8e849972f5f40ad202", "children": [ - "01eef2d0494448554177612e63026256258339230cbc6931ded78d6149443c6173437265617465204163636f756e740001030105507562206b65790000537472696e670003" + "0263d8b6a045bf8e6196198184db685c2cf22932503ccb2dcb85c7d2dc04c882ba63d8b6a045bf8e6196198184db685c2cf22932503ccb2dcb85c7d2dc04c882ba437265617465204163636f756e740004015075626c6963204b65790000537472696e670003015261772056616c756520666f72205369676e617475726520416c676f726974686d20456e756d000155496e74380003015261772056616c756520666f72204861736820416c676f726974686d20456e756d000255496e74380003014b65792057656967687400035546697836340003" ] }, { - "hash": "caf67b7d0995d18f289676386108de6b4c134059b000a6f1ec0c80b857b0ec38", + "hash": "4f082658b34e9e68f8f9ffa6fbbff5d5ca66087e24cd5d87057f018eeac98881", "children": [ - "01595c86561441b32b2b91ee03f9e10ca6efa7b41bcc994f51317ec0aa9d8f8a42416464204e6577204b6579000101507562206b65790000537472696e670003" + "0221d4e87df171ccbe015efe69dc2ffd24814c5fc0f2e364daf5c80515ce4a8bd921d4e87df171ccbe015efe69dc2ffd24814c5fc0f2e364daf5c80515ce4a8bd9416464204b65790004015075626c6963204b65790000537472696e670003015261772056616c756520666f72205369676e617475726520416c676f726974686d20456e756d000155496e74380003015261772056616c756520666f72204861736820416c676f726974686d20456e756d000255496e74380003014b65792057656967687400035546697836340003" ] }, { - "hash": "0c538359a1be1553e729aad363de4eec2dcdcc666320eb85899c2f978c5fbf94", + "hash": "b5b81e2d8d86b60ca608b709cbe3c61fd45cd371699896cd26e915bda7814bdd", "children": [ - "03ca80b628d985b358ae1cb136bcd976997c942fa10dbabfeafb4e20fa66a5a5e2d56f4e1d2355cdcfacfd01e471459c6ef168bfdf84371a685ccf31cf3cdedc2d47851586d962335e3f7d9e5d11a4c527ee4b5fd1c3895e3ce1b9c2821f60b166546f6b656e205472616e73666572000201416d6f756e74000055466978363400030144657374696e6174696f6e0001416464726573730003" + "026c7ab72837fdce77a910f6fc0c622c6c4d5b17f6fbf7295f345d50d3508dd5156c7ab72837fdce77a910f6fc0c622c6c4d5b17f6fbf7295f345d50d3508dd51552656d6f7665204b65790001014b657920496e6465780000496e740003" ] }, { - "hash": "033592e53bc3280098d0043e4770cfaf7675a56b9c56d836a5e2252de61dc3a8", + "hash": "d44137b2d054b110bed2ffb3d1036bccd84855d40131083b76caa9b8a55d988d", "children": [ - "020ffaf77ab320ce4cc9602d39b89c85f094ebcea571ed324537e703bc07b0fdc4aa7fecdf159e71bd0b029e40b22643fb443161e67796f42bac68e9bab4630e2953657475702046555344205661756c740000" + "023ccbbfebf10c47c49e4058a33fd9a29c4191c545de52c9afd27a29d38110aa280246076f1cf5d3160397766a9227b35f592f4d15c014848044c509818328b62b53657475702046756e6769626c6520546f6b656e205661756c74000201465420436f6e74726163742041646472657373000041646472657373000301465420436f6e7472616374204e616d650001537472696e670003" ] }, { - "hash": "5f7f784ed0a40905ed96c8b96588a84b025eb04d593a7662bb66b9eb3a7e962a", + "hash": "64ef5c4c656d2425b6dbd87fc79c6c3d7ea24064f9d22b64df8fd4daf8b585bb", "children": [ - "02f22ca4b350a79c724f6471d5a6a7a0efa7ba9aeebb7fed2843a3ddd6e42c2e1c180cef7053a5f0ae66e19e3a96cc3b9eb7da29767fb5d6938239bf1f8e1dc2845472616e736665722046555344000201416d6f756e740000554669783634000301526563697069656e740001416464726573730003" + "02c9b9a6156280812703c15dde74df95cd0d7d1034dd2d8bf0cccf72b6071429886e5b8c83a3e8445eaa4bed391978443f124d9aa457fabdbaa016e0f65b57591e5472616e736665722046756e6769626c6520546f6b656e2077697468205061746873000401416d6f756e740000554669783634000301526563697069656e7400014164647265737300030153656e646572277320436f6c6c656374696f6e2050617468204964656e7469666965720002537472696e67000301526563697069656e7427732052656365697665722050617468204964656e7469666965720003537472696e670003" ] }, { - "hash": "12c65f0494d2165cbeaa141d705647d8071b528999782dd54a84a44ad2cf3d7b", + "hash": "c852e497e27b7b16ceb1a46ed3526fbddcb294a21d38ea80d3d9633f33e0c8b6", "children": [ - "02a524b4094fcaf1051dbf43ac33ff80bb2f553670c58eeeb719757972a25d6b500e5c2445c0b1016eed4f60c429f233aa0bb223a0d9ff2aedffce00a58037a2bf5365747570205374616b696e6720436f6c6c656374696f6e0000" + "02c1518742a95f9b49259abed8364b05d616ee8acebe123e9979f762b9e7522f93697ad2a90da93cbd02b7658f174c9c32e2016a574edb89cf24b57a8155c343e45472616e736665722046756e6769626c6520546f6b656e20776974682041646472657373000401416d6f756e740000554669783634000301526563697069656e74000141646472657373000301465420436f6e74726163742041646472657373000241646472657373000301465420436f6e7472616374204e616d650003537472696e670003" ] }, { - "hash": "6730cd08974b8ccd1102dd2f5159a8181cc1ede512f6d537d8eea46556e16944", + "hash": "2dbc6a8381286511ebf0b240a1bb31fadb16d7c2901138e64f21f2ef60801cb4", "children": [ - "02c26f69a33ead535e7d597cec4567c6c70170e86fd85ec708f5381e50d43871e2c5636d510872a16eb06996dacb43d6a28f8f72ff1b05b2eb03416cc711d9bb1f52656769737465722044656c656761746f720002014e6f64652049440000537472696e67000301416d6f756e7400015546697836340003" + "02d9ef3b05f8b06d43c3a0ef4066e88e6248323c5f235f9a5d1f8a85d6e2bc9bfa1d12c005fa7a08277204e5d54e29b725c52b9e8e3dd6ff6e01f8d47d7be1626c5365747570204e465420436f6c6c656374696f6e0002014e465420436f6e747261637420416464726573730000416464726573730003014e465420436f6e7472616374204e616d650001537472696e670003" ] } ] }, { - "hash": "a0affd7f78688c482a5a5bc416fa49f5844288fc61b0ee1b40cd38e3c2fbeb36", + "hash": "ddd2fe00843f6adb7875a07333f61aa2643499b999f915813924440c99460f99", "children": [ { - "hash": "099d7e6cfa53ac9150cc79588f5282d3f7bb21a7fb0596ccfcf47bcb380b0fe1", + "hash": "641ed4ec667e2e90fea4de449824de57bf652c8e6abfdce87b9cf076312d4bf3", "children": [ - "02f47efa834bc0559afae9a660b2efefddd0c6dc6e1bbcf9c3994e45ea9e5135ec99997236b6d76caa298331d5cef77cbdf83c1af64584ece537a780ba4ac468835265676973746572204e6f64650007014e6f64652049440000537472696e670003014e6f646520526f6c65000155496e74380003014e6574772e20416464726573730002537472696e670003014e6574772e204b65790003537472696e670003015374616b696e67204b65790004537472696e67000301416d6f756e74000555466978363400030400035075622e204b65790006537472696e670003" + "02f08815a2f535512a65e5c95c391dd6ff89662dad8fd68da836d11d0827a52bd4a56eb0c3e6c3456eee86d5cb62ddf700b0d1e5e65f12fe6926edd6d1816582855472616e73666572204e46542077697468205061746873000401526563697069656e740000416464726573730003014e465420494420746f205472616e73666572000155496e74363400030153656e646572277320436f6c6c656374696f6e2050617468204964656e7469666965720002537472696e67000301526563697069656e7427732052656365697665722050617468204964656e7469666965720003537472696e670003" ] }, { - "hash": "2b5f06235697099c02556240d18fcad69e9a48594d75036edff5d0d875ec746e", + "hash": "0ecae19f93f291533375cf65f243307c6cbf9a54fff897ce9d00d552c6675861", "children": [ - "029246ec9b7a5c81151156e7c2f6d356f68b1b884f88728daca46b968d9a46cd5a79de7119aea61bdafb39cc3d1f4fa17ca802c2732726a86d2c636dbc19808b685265676973746572204e6f64650007014e6f64652049440000537472696e670003014e6f646520526f6c65000155496e74380003014e6574772e20416464726573730002537472696e670003014e6574772e204b65790003537472696e670003015374616b696e67204b65790004537472696e67000301416d6f756e74000555466978363400030400035075622e204b65790006537472696e670003" + "02b7892b30d7a68531db8af3aa73eec7bf899bd039bc9883c4d0270e44c78cec30111142945f27d91bf3be630737805eba25d586b0c292bb3818e5d4cf4287e31c5472616e73666572204e465420776974682041646472657373000401526563697069656e740000416464726573730003014e465420494420746f205472616e73666572000155496e7436340003014e465420436f6e747261637420416464726573730002416464726573730003014e465420436f6e7472616374204e616d650003537472696e670003" ] }, { - "hash": "ae90b6bab2a077c5d5e3d052fc78908e251e97cfd9407c35bf49a8d284acd3c6", + "hash": "bad7c2258efa36af460d217adf5b7739ba66dfd31d3c2441f88c01d355170bdc", "children": [ - "02e79df145af42488e3da1d1b2e50a38a2084229896d670884f278a2119dc3bf9ec2442b498eea025099815ea613d6407407192dc12ad70e1a4f47936db804a841437265617465204d616368696e65204163636f756e740002014e6f64652049440000537472696e6700030300035075622e204b65790001537472696e670003" + "02861784e7ac135a9cfec90decdff2e53971a4d63135db77bcef3b273b710b181469f30decc15bd78107c631e200963398e8ddbc58bb61e577d223725f348fc2d95365747570205374616b696e6720436f6c6c656374696f6e0000" ] }, { - "hash": "60232ddb87d93f0a82735425ae06661d752b45345ab36a2805147f02d86ab779", + "hash": "675bbb1235e1bb30b198b84835222233caab309c75ed479ac1bd497d51b13dfc", "children": [ - "0286c69d731560f3bff549c5f180eb4219bfe650ae4efec8e0c5b5ad3ebed54a92dd3b327b09087ea7f8e92a22a6b04a3c6ca33b868b430c4f15f251658c38c1b7437265617465204d616368696e65204163636f756e740002014e6f64652049440000537472696e6700030300035075622e204b65790001537472696e670003" + "02e093df9c425be9cdbee44bdbbd721f6aff523e41802a50cf0ff353873e9f94830a41e53ad3c9c1c16c8732dd8331b8ca66063617d433b01d4d09c4730044874452656769737465722044656c656761746f720002014e6f64652049440000537472696e67000301416d6f756e7400015546697836340003" ] }, { - "hash": "8350e6bc5d5a7c5c70ba73c8190e2d166ca21377b3e4204ec7103e34604c9a2b", + "hash": "9b9c24e8572eb7d14db43a511c349b9961297e018490c5cd3270e5637f95ea23", "children": [ - "02b00f6b3b9d8d7d4a9a8ad14fce11ee0edb23c39c56a8c1351e6b597f53f2fb71a552951c5e6300a118610fbf2d36b3073ee266e1d26787d04717c141976ef78c5265717565737420556e7374616b696e670003014e6f64652049440000537472696e6700030244656c656761746f72204944000155496e743332000301416d6f756e7400025546697836340003" + "02deb5f758f3eb3b125cd9b14a6528f18d535377709fcef41e743751eb828009213b0b2bbc3a2ad674122c182112f7008a8d3d1b60b107033c0ebe7bbe50df52675265676973746572204e6f64650009014e6f64652049440000537472696e670003014e6f646520526f6c65000155496e74380003014e6574772e20416464726573730002537472696e670003014e6574772e204b65790003537472696e670003015374616b696e67204b65790004537472696e67000301416d6f756e7400055546697836340003014d41205075624b65790006537472696e670003014d412053416c67000755496e74380003014d412048416c67000855496e74380003" ] }, { - "hash": "fa8432e39483a5950c41183aff923fc39f12905eea447f0d708e204f2f751692", + "hash": "036cc8d96b46f7d4eb5d78855b00ae1214131786188ddf6be2f1a08ff434a0ac", "children": [ - "021307928440cee4289235793d6ff860a24315f7b6a5d5907a145dcc5f83702a2c8e10ac56db8ec5d5e0051d3c9608fabc8edd6abed983f6d3a254e7668a54b32b5374616b65204e657720546f6b656e730003014e6f64652049440000537472696e6700030244656c656761746f72204944000155496e743332000301416d6f756e7400025546697836340003" + "024c1ad61500bcd0d32d7aa7eb84ca9b7417219ed6d524e05de8c55fb7d50940e4f0a6cedb6703cd4ce4cc3b735e5edb5a7e5b17a87a725343d745e5d53b7c0a01437265617465204d616368696e65204163636f756e740004014e6f64652049440000537472696e670003014d41205075624b65790001537472696e670003014d412053416c67000255496e74380003014d412048416c67000355496e74380003" ] }, { - "hash": "0c3a64b8381947ae38d4d01f057f2083fdf8cbe3b9ec780a345fecbc26eb98d0", + "hash": "e1231083517c70acca28aef2f02738785a1e989e00fb2e910867de17a60fca14", "children": [ - "02d7aca7113a7aa03e0afd20ee36f4873779708a02ac4c6985017740c2ecea3d62907c4cfd67a98a8003393c64dc74eb7a957b229352a266139a542bb105ac4c405374616b6520526577617264656420546f6b656e730003014e6f64652049440000537472696e6700030244656c656761746f72204944000155496e743332000301416d6f756e7400025546697836340003" + "022d59f2c2c402f919c8dba30009e31480d54e2b250d2e10456e1ff029bd7cce99f26c058a127500fcd8445ba9fcf55149fe8f1a1a7cd212688d13fcd6ee2765295265717565737420556e7374616b696e670003014e6f64652049440000537472696e6700030244656c656761746f72204944000155496e743332000301416d6f756e7400025546697836340003" ] } ] }, { - "hash": "a1b4c2165e1fceba7324712485844e04e5e955706ae328f6cfd64c49686a8104", + "hash": "77b9597b1a66e8bade040908bc0fe96c50cdeaf67a648435d77dab233745cacd", "children": [ { - "hash": "c32ced8567df06cf7b803b4462d3dce5594274870833b505b39c23c620d9565d", + "hash": "ca2dbcde0c1bc0a2df58112c81b20fa360f0d7de78180ab7589903e7199bcfb4", "children": [ - "023595fcd68cff445c65ad99f8d4d726b5e28807b061800769c41cbe3adb98aeec082e690b9647182cf6969db1a0fa8e0f1728da6db01fe0d462e9f0841c268cbb5374616b6520556e7374616b656420546f6b656e730003014e6f64652049440000537472696e6700030244656c656761746f72204944000155496e743332000301416d6f756e7400025546697836340003" + "02cf2b03950077352487e6344ab65edc3e1856731ab9cf68aa2ebbe279ae496d4b4c0658934352486097cc89fa06b98bac21e514770fc6a4d70a7adc4bec6d711d5374616b65204e657720546f6b656e730003014e6f64652049440000537472696e6700030244656c656761746f72204944000155496e743332000301416d6f756e7400025546697836340003" ] }, { - "hash": "72919051bfc4b6791305a53562ab62bab2ab12fa78040fefebb9677d9c6d3e6d", + "hash": "ddca88842c33d1bee0ec3c4776b9533e5346cdd5082a55aec1b916c19ff51e09", "children": [ - "020bde358f3965ba2f4c18fb45b6536857c3f53d7d3b740fe66fe93a4ebf7524c1df9c6486baa6f8f685368ea216659239cb81fa8ebd9062a9723edb54ca0d7525556e7374616b6520416c6c0001014e6f64652049440000537472696e670003" + "024395faf2e515eea4d40f82416ad387575f0d5a580612223c361130e53e72f00bc989e8b3beb9c2eb5af2ee1e11d592c9f1131e76e7ef105a0d40cf1610d1e3485374616b6520526577617264656420546f6b656e730003014e6f64652049440000537472696e6700030244656c656761746f72204944000155496e743332000301416d6f756e7400025546697836340003" ] }, { - "hash": "4e1470252de85beeaf3547dbb3597bbbce4023c9b3a8fe559736bd69b05a9659", + "hash": "fd76eef7824d721068bdfd194e79bb513ff4aea7a4ef34de500cc278d6ef2dc3", "children": [ - "023af182f568b37a8067d3fb524afcfe96991c85a928bf7651e730be0e15fdb72d27a2b60d538b8bb883b602ea83d1697986a29dd69a44a9209dc75affb9e63299576974686472617720526577617264656420546f6b656e730003014e6f64652049440000537472696e6700030244656c656761746f72204944000155496e743332000301416d6f756e7400025546697836340003" + "020b1721f2a8ef6c0c4121ef83c7b38f2141eebcd65c72dab9ebaafe1b4d66fea8fe6adb75bf22b2033800e916fa7e3a7810417e9a36d35320de7f4b5f7ec4f1b85374616b6520556e7374616b656420546f6b656e730003014e6f64652049440000537472696e6700030244656c656761746f72204944000155496e743332000301416d6f756e7400025546697836340003" ] }, { - "hash": "16541b176b0721f3029fd8bd0763ba20338b93fdb7fca214427ce0855847d71a", + "hash": "c20c5edc09197bfa43a5ca85104953a91b3a65c1e8ffcac92b3442e62b23d9e1", "children": [ - "0268879197d961bb104a56e1e7d35660436fe4c52ed78f79d97fa50aa9e96fabf06d50ab1ef3d74203081c38306da74f5ad8fdd489e49fba732f8ba194d0c781c8576974686472617720556e7374616b656420546f6b656e730003014e6f64652049440000537472696e6700030244656c656761746f72204944000155496e743332000301416d6f756e7400025546697836340003" + "02c84843e3399be2ce95ea00e7c17d72db3c5c3363ec008c7a1c1cfa5b6afe70ae1c8256fb857f6c6fd929511ecac8624d0159877cf72c884f7128297dfb069510556e7374616b6520416c6c0001014e6f64652049440000537472696e670003" ] }, { - "hash": "7d29c41e4fd4f0029db68b83b0e4cca4ad90be98aa1375900b4d0a7ec8700727", + "hash": "ccd65f015317e3b3700a66f69e2ec2a6f3b63bac7c113a2e1bbf500024ef07bd", "children": [ - "02079aaa9cfb22138415056b43d5d91e8d73bd8bd5f37ebff4f4023d33ea6d2f25ecdffc1ae67479bc20c06eba6c776ff37b9523660ff1cd3129a3924d92484884436c6f7365205374616b650002014e6f64652049440000537472696e6700030244656c656761746f72204944000155496e7433320003" + "025a07ca4c016973bdeb168590e111b2c2855833b5ece11ffb28b08b8668f258a8fbd8ebbfff7a88b6b667ff4e3f9f904eaaba71cbf02a140f3b7007c61fbd8f34576974686472617720526577617264656420546f6b656e730003014e6f64652049440000537472696e6700030244656c656761746f72204944000155496e743332000301416d6f756e7400025546697836340003" ] }, { - "hash": "15cb00985ecc29ff4a790c109d18ba52f99e0d94f42d569cc476ffa42e66e3bd", + "hash": "0e0e96142cd4d28d1832502be18f00e179fa5f8d0bd7b17206ac7891655d8051", "children": [ - "022386d7ae1a5b936e3914729ee34e01d53a8fbd2e403512ec1beccb4062c231ebcdc3a63d0c75ea95b414becb6fbb8f5a8004236d48661cd3c3d4f540ee4d422e5472616e73666572204e6f64650002014e6f64652049440000537472696e67000301416464726573730001416464726573730003" + "0201fd4ea83d20510d24ed9f245873a7ee2715aefb774495c80bce7e3e34d6442ec2484f17e640e285769c3edaa6f2d090dcef1f2f57983f82b7179c3c047290ca576974686472617720556e7374616b656420546f6b656e730003014e6f64652049440000537472696e6700030244656c656761746f72204944000155496e743332000301416d6f756e7400025546697836340003" ] }, { - "hash": "587e64bc3625045d275b6a7553176b272a3487ede34a48d7d66c98e9ab56af1b", + "hash": "71e307116af2593f2fe011dec15877ef2f4595e4aa1ffe0b0bed14d4720ece09", "children": [ - "0253b096b4850a30894e7b272ec5c39e2b2f4a23f8c40e76a3c64cfc63dc2999b6b34d6fafcc5a4d0ed9cf92e168a08d0674c93341e2393ee72dde6664918ec2405472616e736665722044656c656761746f720003014e6f64652049440000537472696e6700030144656c656761746f72204944000155496e743332000301416464726573730002416464726573730003" + "027e216d96d75414b27c2301a3b0a7816804d43014337a14731d1493531116d185a0fad319bf8aede66212257ad0d21532858381e2c9d7c4cec179b28180f5be93436c6f7365205374616b650002014e6f64652049440000537472696e6700030244656c656761746f72204944000155496e7433320003" ] } ] }, { - "hash": "d0b4592fc4f996b16fea83ab8dede757ea8bc270f4e1fbf2301e02fd38d175e3", + "hash": "c963f7dcc5a15dade0a6ef13e028a798944890bc52e064c8d30723f5443db761", "children": [ { - "hash": "08b2978dff804b0a39bb3b382a0d0e02fa7977297aab0cafcbcca6324fb7c97f", + "hash": "d5e8a39acc91672fed5c63361051e952a02f0be8c7680f262ee9bc4e08043db5", "children": [ - "0239a126038522c6c964d53aaf78dde55bfe80929091510792fe49678bb22cbd96f9c48e18bda7f113e82711a4c95dfd151c6600ed9fbf46ceb22566d6c5728c6f57697468647261772046726f6d204d616368696e65204163636f756e740002014e6f64652049440000537472696e67000301416d6f756e7400015546697836340003" + "02311f4071dda8b17ac6cbc6f0a27e98bd426026825d3c68308903fead884e616e38bfd23b200ecef4d13fa3c2ea998b51e6a24f3a8ceb260d2affab7c918a97d05472616e73666572204e6f64650002014e6f64652049440000537472696e67000301416464726573730001416464726573730003" ] }, { - "hash": "2af46777eb5a0ef7598b8472bcdde5e6139f4880cfb1313c97f0e81851eaa2ac", + "hash": "532d624dc9889df257473ba9bf6bf20f3105486ebc3018ee20eee29cc9f4dba3", "children": [ - "0260f2cf219d56b19dc7fd223caed42dda9143c87b1b0d2c21a9652e12a3714133ff067b40ac67020ef864cd14842f62023254da34dd2ded56affa1364305bf1c5557064617465204e6574776f726b696e6720416464726573730002014e6f64652049440000537472696e67000301416464726573730001537472696e670003" + "02f9fa239cb78b3e07b8f8d56e173e2673b4b53aeb07d507a769c8d96eaf400b8d11e2107d2ccd96cb6b3fa3a704491dcd9e1736215137304e0494243c21befc765472616e736665722044656c656761746f720003014e6f64652049440000537472696e6700030144656c656761746f72204944000155496e743332000301416464726573730002416464726573730003" ] }, { - "hash": "906e51df4d75e43aeb3042508b2f2f991401e5817820e5801c3b8e9e8a0fe419", + "hash": "89fe5ae4ec85ca632b4652c39fd6bdceacce20acd6547d9987c457816e3b8818", "children": [ - "026e73db6edd0190f5311f6adc5f2b1f27e9e60c68574b00ee90da867da52cdbb1a2146e3e6e7718779ce59376b88760c154d82b7d132fe2c377114ec7cf434e7b576974686472617720556e6c6f636b656420464c4f57000101416d6f756e7400005546697836340003" + "02fdd40862af04dc36dd0e9e727966c6f81dd6be8246b9c70afd18297aac9e86a8e12b16ef4218b8ce52189ae5814b381272bf473436978fae94d01c10c036903457697468647261772046726f6d204d616368696e65204163636f756e740002014e6f64652049440000537472696e67000301416d6f756e7400015546697836340003" ] }, { - "hash": "9c6ed50847ac0fea0a8d90d7cdc72cac07a0dbf9997c017749b9266c8c471ad5", + "hash": "6749b31ddc54f34849a702aef1fd9d6592d49f2afd2c2a53385aee928f9b3f97", "children": [ - "020cb11c10b86d2afeae086ef511d28b14760eb854935a0b0dcfeecc85db847f4874355dc8df221bc0d170b2fe8deacd6f1f554d6beea58ad9fee7a07f740eaefe4465706f73697420556e6c6f636b656420464c4f57000101416d6f756e7400005546697836340003" + "023a68789d8cd56e6c7b064057045a56340746aac710db57700de2c33eb6610e5f68d24560d9e49318dca82ab0975f526a8663d934225f0cb715cd1ff188def16d557064617465204e6574776f726b696e6720416464726573730002014e6f64652049440000537472696e67000301416464726573730001537472696e670003" ] }, { - "hash": "14b699e967e1fe928a4e3d49ceadbfad9f6a2bc84a8498cd0a643f2df8fd6ca5", + "hash": "9e8bff812b2f0545ce028d95c6daf6ca0ae43e212cf3c24f3ccfeb5bd03316b7", "children": [ - "02b6a3502d2205eb05ec18772c13b91cc88a056b325c2617c57948d38cab8db600b64e0e3ed9eb28789198f2b0437f55f750bfa76da99450f63be6543bde66122a5265676973746572204e6f64650006014e6f64652049440000537472696e670003014e6f646520526f6c65000155496e74380003014e6574772e20416464726573730002537472696e670003014e6574772e204b65790003537472696e670003015374616b696e67204b65790004537472696e67000301416d6f756e7400055546697836340003" + "02094798e93daeacaa9ff262486a3683ec5a5e2204407e7d00bc3416fbf3efa3b14a830e6f93f74179a99e17c7ae762980c7fdc428bc949767529be2f071ac52b9576974686472617720556e6c6f636b656420464c4f57000101416d6f756e7400005546697836340003" ] }, { - "hash": "d7bfefba9a51e8ea934e2cd6e3d808cbb8b2f16a616254067bea6b1a6a98b77e", + "hash": "a1a73556f8af48486b19446e0fe0a0e706d551aeeea3f0f1e410804b3128a3ad", "children": [ - "02d5689b89f53214e7ce9ba7be2bb651961f7e3036b85f9250494290da9e9ba9891929e4f38894b8641848a3c0a3b9d35495b35083d42e8a3d4c928b9db4174ee85374616b65204e6577204c6f636b656420464c4f57000101416d6f756e7400005546697836340003" + "0217ffcd60667893674d8d4044bdd8232959dc8b694df1dd88d1b9c5443352f253038382a947fa96bf2f4dfe5aa9b4b2abee1ef0975955175e80cf911c3edf4b614465706f73697420556e6c6f636b656420464c4f57000101416d6f756e7400005546697836340003" ] }, { - "hash": "8efd2e3d644d5e342a79ccf0b6a7a9fb89bbf4de74692cbce9bb1c18c75ece45", + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "children": [ - "0223e5bfd594bb3245090e3e0bafb9cb9246fc84d30e4a35a7fde1b51085624d86677cc0ac3962ec136ca26dbec0aa942d926640ecf8418433f0db4b7925f5d0fe52652d7374616b6520556e7374616b656420464c4f57000101416d6f756e7400005546697836340003" + "" ] } ] }, { - "hash": "c9967fd752058341822bc98880abb34e04d3afef58de0e256f2264991e548123", + "hash": "63981575be94aaa4f14daa9f27c6c2fd72b46de3994ed71abaec45aa4b40615a", "children": [ { - "hash": "4b050ad3dc73d4f5fb071e7c2b2bcb03b6e16eb056786a20da2db4d7c38e1be0", + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "children": [ - "02239319825ad68178e76465b5ea18cb43f06c4ee11341f8fe9424809163a027a528d1719c5b21c88c62665db5ba04886809f3234c27057b057c36d5f265ee9de452652d7374616b6520526577617264656420464c4f57000101416d6f756e7400005546697836340003" + "" ] }, { - "hash": "c45fd23265a1c89dbc044686a3a3f4e2dd2a02bfc778e41c4d105a9b1e43be8b", + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "children": [ - "0233e3977c45e7c23c1472bcf334d00b03ebf91b06b67c57b63b562c7b1ff5c59f4e2a35541453f89c55e5dc6dbc963290380d779c81df0b3bf89c29b2a8d7a9fe5265717565737420556e7374616b65206f6620464c4f57000101416d6f756e7400005546697836340003" + "" ] }, { - "hash": "37868c4f30cd62f1e6fcb3f237eafdbe15400489fc2e636d17763fedc6c16541", + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "children": [ - "02f92c4cd663b2e335cd821a656bb2ebcf239b222036a7825af5e512fad4d820357099904b953b062e81e2575a2c2081b3d98bfccf5c743b4bdb224b937e292dad556e7374616b6520416c6c20464c4f570000" + "" ] }, { - "hash": "08dbfc695ea6b333a55acdc60a2991f68dd408347391bc6f34f91ea1a0d543da", + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "children": [ - "0290097e3aff9b67f65bbada3cdedbb73d45d093ff333aaaff38809bf9910a3e39dcae4faa6d689873f7caf7c5efef669f9fe1d4113e58b474b7aec1e07113a7ff576974686472617720556e7374616b656420464c4f57000101416d6f756e7400005546697836340003" + "" ] }, { - "hash": "21c0ba1073bacb222bfb082d711267cb218e924c3d8f1539f946c06a886c6584", + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "children": [ - "02f23406ff402f02418629432912ce732be0441b1a7e71f16c03d688a165ff7f499bb8f0562eea5e45c11f9289540f39c99a21c9a0fb060a7d3f832e98c2696f2d576974686472617720526577617264656420464c4f57000101416d6f756e7400005546697836340003" + "" ] }, { - "hash": "16f489e59aacc8e770b1b6e3879d141cb4d7cdcad64f05e046bccf0968fbc69a", + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "children": [ - "02c29d4024aaeb71ab478182542499e0ba3d5d303ec027252e3b8333515ee3de4897b3436482c5aefc1baf8b850e92c829202e468c57241dec707b6c27bd89d15c5265676973746572204f70657261746f72204e6f64650003014f70657261746f7220416464726573730000416464726573730003014e6f64652049440001537472696e67000301416d6f756e7400025546697836340003" + "" ] }, { - "hash": "c97602b25a02199c3084483d155cb1aee1182218c7897cdacc75ed797e5790e3", + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "children": [ - "021378405c85e0c966344b196c0fce602f39e79f3938ec7b689e0c96a8703b018a3cb357a97a57d9abbe5c68f0df342ee96ba97ade2013753fd2ddf47695a8c08a52656769737465722044656c656761746f720002014e6f64652049440000537472696e67000301416d6f756e7400015546697836340003" + "" ] } ] }, { - "hash": "53b33a3b57dd772b1dff0636374eb01bc7839efd7677d32399380c37f9a2d036", + "hash": "63981575be94aaa4f14daa9f27c6c2fd72b46de3994ed71abaec45aa4b40615a", "children": [ { - "hash": "f7b70beddf1263ba42357da3f252616fde2eeb2778ad203dd4875d5ae14648c9", + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "children": [ - "0218fad68368a4394b245db91217d7dc979e1316ab757388d416eaef831f565ab3802354d8b3e7908e584bcb5217637fb9f4ef045427c32d57d81ad4a390ed1a6044656c6567617465204e6577204c6f636b656420464c4f57000101416d6f756e7400005546697836340003" + "" ] }, { - "hash": "d67d1649a5dce91ab18dab849b0f778d9e16418f885dea1f052fbf6b3cf72dc2", + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "children": [ - "028776b1521b04395754734f8f40d4a0482863274f8d832973d9e011b3cbb48c852027331b72d8710a1a05feb6ecebadb5858d134bc8c95d6f261319cd9fa1bb9552652d64656c656761746520556e7374616b656420464c4f57000101416d6f756e7400005546697836340003" + "" ] }, { - "hash": "d987b586f0cea4efd10d34d08f022a72d15d3a1387f8d14499fbf135850ba9ed", + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "children": [ - "026b40ffc9169abd75107a45da5974c7e502d38773275abb231d747e4760b7ebee864edbff384335ef21c26b3bcf17d36b2b1d894afbe2b203f58099cc457971e452652d64656c656761746520526577617264656420464c4f57000101416d6f756e7400005546697836340003" + "" ] }, { - "hash": "bc2e00772331f81862b03c4f59599ab89e93b7e08d11768c53895e393687d107", + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "children": [ - "0261cbcd1c31bbfc9ceb4a5ac726e2f8b3d845a4fdf59b0ab23cbbfa8f16d7a024262aeddd3f49fd6222d706c02696bd7d359ba962b6c30232cc93d7cf4166a23e556e7374616b652044656c65676174656420464c4f57000101416d6f756e7400005546697836340003" + "" ] }, { - "hash": "7b5b7372017ee19ffcd4daf5bf144219907aa558a65f2ffe4ca99f8e87387af0", + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "children": [ - "022ae983f78e32b989fafa58ee7910b131fb51a2a74356f7916624695cb8bf596412675a013c064b6d0ef11dbf13f92210489bf2b3d299b2f14cd09be70b37577f576974686472617720556e7374616b656420464c4f57000101416d6f756e7400005546697836340003" + "" ] }, { - "hash": "d7d9fbd0a1e6c91685562e0e3fa922af423ce0f5b284758531f5ba55adfb7cac", + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "children": [ - "02385042aa453566fcff0b2bd418b837d8f46fbc23b1b46e6651b25a395bc04be8239ffa449eae5560eec3e99633dcf9c63b1e9c99996d1c5636644dceef9ec44b576974686472617720526577617264656420464c4f57000101416d6f756e7400005546697836340003" + "" ] }, { - "hash": "b051a776ea2ddfe310cb34c965eac396818c318226539d7dc2ba1c2bd41aae31", + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "children": [ - "026cbe81c71d2b04dc403ea0db89377f0abc5db14d3d2bd014397b2776aa29bc3ee79cb076f2f7da7a3039b5061916e081a823087f1560bdf3caea773992892873557064617465204e6574776f726b696e672041646472657373000101416464726573730000537472696e670003" + "" ] } ] }, { - "hash": "04b126988dc8f00c41d922c13e0ae5a4e7d83f18b44935103cdbbd7c2229d53f", + "hash": "63981575be94aaa4f14daa9f27c6c2fd72b46de3994ed71abaec45aa4b40615a", "children": [ { - "hash": "2e5e81d09ba5387bc9ff4a1e691d6847ecf66f667550937ca3da595d0006a16f", + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "children": [ - "020f0baeef9353ceee607c5be3b7c0f86792dadf20b9e9c89e831adb0199e758827511848f1c27a173d966f4b868fd7efead7eeb1bbf04fc3f3e60dabc6c7f759353657420757020546f702053686f7420436f6c6c656374696f6e0000" + "" ] }, { - "hash": "07ed2407699d5b48472d3d6b4b49c75f0758af64fff518c85b886dfb1ebfacd8", + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "children": [ - "021ec9aea0b51409610f882f5ae4278567da675542bb378eb999f05b7c4f12f7d809d5ad21bf70dfe4f8d800db9e61a77f2f64837ae0e818c3cd67e9cea837a1cf5472616e7366657220546f702053686f74204d6f6d656e74000201526563697069656e740000416464726573730003014d6f6d656e74204944000155496e7436340003" + "" ] }, { - "hash": "bf21d978d979a90615ea5fde48c41ab7a342b0b53ced3b67718029bb13bc927f", + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "children": [ - "022defee818c0c003ca519f83517f4c7bcf9dd8664a562ec80959cb6146428f971887673892a2e2c12337394570dfa30c5669e93f537ae426690f402799514a9a153657475702055534443205661756c740000" + "" ] }, { - "hash": "2a9d013b868ee0cdf8f83b5d4a80f62a78b30176a425e7a11f444af2ff1e3552", + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "children": [ - "02512485ec3f8e007853b0ea2a22fb2b9f7e2fa55fd9819171c5d013282efee60a7ff4d9f53ba5eebda556d0ead0ca13911bc8996e2c91c5147f8787d10a3244835472616e736665722055534443000201416d6f756e740000554669783634000301526563697069656e740001416464726573730003" + "" ] }, { @@ -2420,551 +2420,311 @@ export const merkleTree = { } export const merkleIndex = { - "eef2d04944485541": [ + "63d8b6a045bf8e61": [ 0, 0, 0, 0 ], - "595c86561441b32b": [ + "21d4e87df171ccbe": [ 0, 0, 0, 1 ], - "ca80b628d985b358": [ - 0, - 0, - 0, - 2 - ], - "d56f4e1d2355cdcf": [ + "6c7ab72837fdce77": [ 0, 0, 0, 2 ], - "47851586d962335e": [ - 0, - 0, - 0, - 2 - ], - "0ffaf77ab320ce4c": [ + "3ccbbfebf10c47c4": [ 0, 0, 0, 3 ], - "aa7fecdf159e71bd": [ + "0246076f1cf5d316": [ 0, 0, 0, 3 ], - "f22ca4b350a79c72": [ + "c9b9a61562808127": [ 0, 0, 0, 4 ], - "180cef7053a5f0ae": [ + "6e5b8c83a3e8445e": [ 0, 0, 0, 4 ], - "a524b4094fcaf105": [ + "c1518742a95f9b49": [ 0, 0, 0, 5 ], - "0e5c2445c0b1016e": [ + "697ad2a90da93cbd": [ 0, 0, 0, 5 ], - "c26f69a33ead535e": [ + "d9ef3b05f8b06d43": [ 0, 0, 0, 6 ], - "c5636d510872a16e": [ + "1d12c005fa7a0827": [ 0, 0, 0, 6 ], - "f47efa834bc0559a": [ + "f08815a2f535512a": [ 0, 0, 1, 0 ], - "99997236b6d76caa": [ + "a56eb0c3e6c3456e": [ 0, 0, 1, 0 ], - "9246ec9b7a5c8115": [ + "b7892b30d7a68531": [ 0, 0, 1, 1 ], - "79de7119aea61bda": [ + "111142945f27d91b": [ 0, 0, 1, 1 ], - "e79df145af42488e": [ + "861784e7ac135a9c": [ 0, 0, 1, 2 ], - "c2442b498eea0250": [ + "69f30decc15bd781": [ 0, 0, 1, 2 ], - "86c69d731560f3bf": [ + "e093df9c425be9cd": [ 0, 0, 1, 3 ], - "dd3b327b09087ea7": [ + "0a41e53ad3c9c1c1": [ 0, 0, 1, 3 ], - "b00f6b3b9d8d7d4a": [ + "deb5f758f3eb3b12": [ 0, 0, 1, 4 ], - "a552951c5e6300a1": [ + "3b0b2bbc3a2ad674": [ 0, 0, 1, 4 ], - "1307928440cee428": [ + "4c1ad61500bcd0d3": [ 0, 0, 1, 5 ], - "8e10ac56db8ec5d5": [ + "f0a6cedb6703cd4c": [ 0, 0, 1, 5 ], - "d7aca7113a7aa03e": [ + "2d59f2c2c402f919": [ 0, 0, 1, 6 ], - "907c4cfd67a98a80": [ + "f26c058a127500fc": [ 0, 0, 1, 6 ], - "3595fcd68cff445c": [ + "cf2b039500773524": [ 0, 0, 2, 0 ], - "082e690b9647182c": [ + "4c06589343524860": [ 0, 0, 2, 0 ], - "0bde358f3965ba2f": [ + "4395faf2e515eea4": [ 0, 0, 2, 1 ], - "df9c6486baa6f8f6": [ + "c989e8b3beb9c2eb": [ 0, 0, 2, 1 ], - "3af182f568b37a80": [ + "0b1721f2a8ef6c0c": [ 0, 0, 2, 2 ], - "27a2b60d538b8bb8": [ + "fe6adb75bf22b203": [ 0, 0, 2, 2 ], - "68879197d961bb10": [ + "c84843e3399be2ce": [ 0, 0, 2, 3 ], - "6d50ab1ef3d74203": [ + "1c8256fb857f6c6f": [ 0, 0, 2, 3 ], - "079aaa9cfb221384": [ + "5a07ca4c016973bd": [ 0, 0, 2, 4 ], - "ecdffc1ae67479bc": [ + "fbd8ebbfff7a88b6": [ 0, 0, 2, 4 ], - "2386d7ae1a5b936e": [ + "01fd4ea83d20510d": [ 0, 0, 2, 5 ], - "cdc3a63d0c75ea95": [ + "c2484f17e640e285": [ 0, 0, 2, 5 ], - "53b096b4850a3089": [ + "7e216d96d75414b2": [ 0, 0, 2, 6 ], - "b34d6fafcc5a4d0e": [ + "a0fad319bf8aede6": [ 0, 0, 2, 6 ], - "39a126038522c6c9": [ + "311f4071dda8b17a": [ 0, 0, 3, 0 ], - "f9c48e18bda7f113": [ + "38bfd23b200ecef4": [ 0, 0, 3, 0 ], - "60f2cf219d56b19d": [ + "f9fa239cb78b3e07": [ 0, 0, 3, 1 ], - "ff067b40ac67020e": [ + "11e2107d2ccd96cb": [ 0, 0, 3, 1 ], - "6e73db6edd0190f5": [ + "fdd40862af04dc36": [ 0, 0, 3, 2 ], - "a2146e3e6e771877": [ + "e12b16ef4218b8ce": [ 0, 0, 3, 2 ], - "0cb11c10b86d2afe": [ + "3a68789d8cd56e6c": [ 0, 0, 3, 3 ], - "74355dc8df221bc0": [ + "68d24560d9e49318": [ 0, 0, 3, 3 ], - "b6a3502d2205eb05": [ + "094798e93daeacaa": [ 0, 0, 3, 4 ], - "b64e0e3ed9eb2878": [ + "4a830e6f93f74179": [ 0, 0, 3, 4 ], - "d5689b89f53214e7": [ + "17ffcd6066789367": [ 0, 0, 3, 5 ], - "1929e4f38894b864": [ + "038382a947fa96bf": [ 0, 0, 3, 5 - ], - "23e5bfd594bb3245": [ - 0, - 0, - 3, - 6 - ], - "677cc0ac3962ec13": [ - 0, - 0, - 3, - 6 - ], - "239319825ad68178": [ - 0, - 0, - 4, - 0 - ], - "28d1719c5b21c88c": [ - 0, - 0, - 4, - 0 - ], - "33e3977c45e7c23c": [ - 0, - 0, - 4, - 1 - ], - "4e2a35541453f89c": [ - 0, - 0, - 4, - 1 - ], - "f92c4cd663b2e335": [ - 0, - 0, - 4, - 2 - ], - "7099904b953b062e": [ - 0, - 0, - 4, - 2 - ], - "90097e3aff9b67f6": [ - 0, - 0, - 4, - 3 - ], - "dcae4faa6d689873": [ - 0, - 0, - 4, - 3 - ], - "f23406ff402f0241": [ - 0, - 0, - 4, - 4 - ], - "9bb8f0562eea5e45": [ - 0, - 0, - 4, - 4 - ], - "c29d4024aaeb71ab": [ - 0, - 0, - 4, - 5 - ], - "97b3436482c5aefc": [ - 0, - 0, - 4, - 5 - ], - "1378405c85e0c966": [ - 0, - 0, - 4, - 6 - ], - "3cb357a97a57d9ab": [ - 0, - 0, - 4, - 6 - ], - "18fad68368a4394b": [ - 0, - 0, - 5, - 0 - ], - "802354d8b3e7908e": [ - 0, - 0, - 5, - 0 - ], - "8776b1521b043957": [ - 0, - 0, - 5, - 1 - ], - "2027331b72d8710a": [ - 0, - 0, - 5, - 1 - ], - "6b40ffc9169abd75": [ - 0, - 0, - 5, - 2 - ], - "864edbff384335ef": [ - 0, - 0, - 5, - 2 - ], - "61cbcd1c31bbfc9c": [ - 0, - 0, - 5, - 3 - ], - "262aeddd3f49fd62": [ - 0, - 0, - 5, - 3 - ], - "2ae983f78e32b989": [ - 0, - 0, - 5, - 4 - ], - "12675a013c064b6d": [ - 0, - 0, - 5, - 4 - ], - "385042aa453566fc": [ - 0, - 0, - 5, - 5 - ], - "239ffa449eae5560": [ - 0, - 0, - 5, - 5 - ], - "6cbe81c71d2b04dc": [ - 0, - 0, - 5, - 6 - ], - "e79cb076f2f7da7a": [ - 0, - 0, - 5, - 6 - ], - "0f0baeef9353ceee": [ - 0, - 0, - 6, - 0 - ], - "7511848f1c27a173": [ - 0, - 0, - 6, - 0 - ], - "1ec9aea0b5140961": [ - 0, - 0, - 6, - 1 - ], - "09d5ad21bf70dfe4": [ - 0, - 0, - 6, - 1 - ], - "2defee818c0c003c": [ - 0, - 0, - 6, - 2 - ], - "887673892a2e2c12": [ - 0, - 0, - 6, - 2 - ], - "512485ec3f8e0078": [ - 0, - 0, - 6, - 3 - ], - "7ff4d9f53ba5eebd": [ - 0, - 0, - 6, - 3 ] } diff --git a/transaction_metadata/txMerkleTree.py b/transaction_metadata/txMerkleTree.py index 3bfdbc6f..80f5368e 100644 --- a/transaction_metadata/txMerkleTree.py +++ b/transaction_metadata/txMerkleTree.py @@ -1,320 +1,320 @@ # pylint: skip-file merkleTree = { - "hash": "fe82420959875826f6a617959b006c31fa8975e455dbf2494f5ff3740a1ece51", + "hash": "fed83177f69829b455cea6ea334a2260d07279a73c3ef099bf11016b30bd2582", "children": [ { - "hash": "9053a0e87b7e66413b6552205fa31f3c2ed42cdb97bd3d543a130aebb29dda1e", + "hash": "8914015391b2dccc4fc2c10da68cd3dce9cb28532a58724d657340ab803cb320", "children": [ { - "hash": "07ea7f7407fda8657a35aeb24075cc654b9f06ae61d6cd1a772920ee3c6209a1", + "hash": "9176284d9a003c543ccb3737df48e1e5e7ce80ac66d383c29ec145ec5fcd0aab", "children": [ { - "hash": "aa44049d7eb26d667c3714b8fcf78380878e658e22268510ff9f72e69b29decd", + "hash": "cba3b9f0e3e016e0cd3645a0cefc4af19d071847dde63e63eb952c67ec1ef749", "children": [ { - "hash": "27b42f7104fa842ba664b1c199325f8339dd65db575938cef8498d082727c3ef", + "hash": "653ef59e369135530a337a8674dbfb405f109f92393bcf8e849972f5f40ad202", "children": [ - "01eef2d0494448554177612e63026256258339230cbc6931ded78d6149443c6173437265617465204163636f756e740001030105507562206b65790000537472696e670003" + "0263d8b6a045bf8e6196198184db685c2cf22932503ccb2dcb85c7d2dc04c882ba63d8b6a045bf8e6196198184db685c2cf22932503ccb2dcb85c7d2dc04c882ba437265617465204163636f756e740004015075626c6963204b65790000537472696e670003015261772056616c756520666f72205369676e617475726520416c676f726974686d20456e756d000155496e74380003015261772056616c756520666f72204861736820416c676f726974686d20456e756d000255496e74380003014b65792057656967687400035546697836340003" ] }, { - "hash": "caf67b7d0995d18f289676386108de6b4c134059b000a6f1ec0c80b857b0ec38", + "hash": "4f082658b34e9e68f8f9ffa6fbbff5d5ca66087e24cd5d87057f018eeac98881", "children": [ - "01595c86561441b32b2b91ee03f9e10ca6efa7b41bcc994f51317ec0aa9d8f8a42416464204e6577204b6579000101507562206b65790000537472696e670003" + "0221d4e87df171ccbe015efe69dc2ffd24814c5fc0f2e364daf5c80515ce4a8bd921d4e87df171ccbe015efe69dc2ffd24814c5fc0f2e364daf5c80515ce4a8bd9416464204b65790004015075626c6963204b65790000537472696e670003015261772056616c756520666f72205369676e617475726520416c676f726974686d20456e756d000155496e74380003015261772056616c756520666f72204861736820416c676f726974686d20456e756d000255496e74380003014b65792057656967687400035546697836340003" ] }, { - "hash": "0c538359a1be1553e729aad363de4eec2dcdcc666320eb85899c2f978c5fbf94", + "hash": "b5b81e2d8d86b60ca608b709cbe3c61fd45cd371699896cd26e915bda7814bdd", "children": [ - "03ca80b628d985b358ae1cb136bcd976997c942fa10dbabfeafb4e20fa66a5a5e2d56f4e1d2355cdcfacfd01e471459c6ef168bfdf84371a685ccf31cf3cdedc2d47851586d962335e3f7d9e5d11a4c527ee4b5fd1c3895e3ce1b9c2821f60b166546f6b656e205472616e73666572000201416d6f756e74000055466978363400030144657374696e6174696f6e0001416464726573730003" + "026c7ab72837fdce77a910f6fc0c622c6c4d5b17f6fbf7295f345d50d3508dd5156c7ab72837fdce77a910f6fc0c622c6c4d5b17f6fbf7295f345d50d3508dd51552656d6f7665204b65790001014b657920496e6465780000496e740003" ] }, { - "hash": "033592e53bc3280098d0043e4770cfaf7675a56b9c56d836a5e2252de61dc3a8", + "hash": "d44137b2d054b110bed2ffb3d1036bccd84855d40131083b76caa9b8a55d988d", "children": [ - "020ffaf77ab320ce4cc9602d39b89c85f094ebcea571ed324537e703bc07b0fdc4aa7fecdf159e71bd0b029e40b22643fb443161e67796f42bac68e9bab4630e2953657475702046555344205661756c740000" + "023ccbbfebf10c47c49e4058a33fd9a29c4191c545de52c9afd27a29d38110aa280246076f1cf5d3160397766a9227b35f592f4d15c014848044c509818328b62b53657475702046756e6769626c6520546f6b656e205661756c74000201465420436f6e74726163742041646472657373000041646472657373000301465420436f6e7472616374204e616d650001537472696e670003" ] }, { - "hash": "5f7f784ed0a40905ed96c8b96588a84b025eb04d593a7662bb66b9eb3a7e962a", + "hash": "64ef5c4c656d2425b6dbd87fc79c6c3d7ea24064f9d22b64df8fd4daf8b585bb", "children": [ - "02f22ca4b350a79c724f6471d5a6a7a0efa7ba9aeebb7fed2843a3ddd6e42c2e1c180cef7053a5f0ae66e19e3a96cc3b9eb7da29767fb5d6938239bf1f8e1dc2845472616e736665722046555344000201416d6f756e740000554669783634000301526563697069656e740001416464726573730003" + "02c9b9a6156280812703c15dde74df95cd0d7d1034dd2d8bf0cccf72b6071429886e5b8c83a3e8445eaa4bed391978443f124d9aa457fabdbaa016e0f65b57591e5472616e736665722046756e6769626c6520546f6b656e2077697468205061746873000401416d6f756e740000554669783634000301526563697069656e7400014164647265737300030153656e646572277320436f6c6c656374696f6e2050617468204964656e7469666965720002537472696e67000301526563697069656e7427732052656365697665722050617468204964656e7469666965720003537472696e670003" ] }, { - "hash": "12c65f0494d2165cbeaa141d705647d8071b528999782dd54a84a44ad2cf3d7b", + "hash": "c852e497e27b7b16ceb1a46ed3526fbddcb294a21d38ea80d3d9633f33e0c8b6", "children": [ - "02a524b4094fcaf1051dbf43ac33ff80bb2f553670c58eeeb719757972a25d6b500e5c2445c0b1016eed4f60c429f233aa0bb223a0d9ff2aedffce00a58037a2bf5365747570205374616b696e6720436f6c6c656374696f6e0000" + "02c1518742a95f9b49259abed8364b05d616ee8acebe123e9979f762b9e7522f93697ad2a90da93cbd02b7658f174c9c32e2016a574edb89cf24b57a8155c343e45472616e736665722046756e6769626c6520546f6b656e20776974682041646472657373000401416d6f756e740000554669783634000301526563697069656e74000141646472657373000301465420436f6e74726163742041646472657373000241646472657373000301465420436f6e7472616374204e616d650003537472696e670003" ] }, { - "hash": "6730cd08974b8ccd1102dd2f5159a8181cc1ede512f6d537d8eea46556e16944", + "hash": "2dbc6a8381286511ebf0b240a1bb31fadb16d7c2901138e64f21f2ef60801cb4", "children": [ - "02c26f69a33ead535e7d597cec4567c6c70170e86fd85ec708f5381e50d43871e2c5636d510872a16eb06996dacb43d6a28f8f72ff1b05b2eb03416cc711d9bb1f52656769737465722044656c656761746f720002014e6f64652049440000537472696e67000301416d6f756e7400015546697836340003" + "02d9ef3b05f8b06d43c3a0ef4066e88e6248323c5f235f9a5d1f8a85d6e2bc9bfa1d12c005fa7a08277204e5d54e29b725c52b9e8e3dd6ff6e01f8d47d7be1626c5365747570204e465420436f6c6c656374696f6e0002014e465420436f6e747261637420416464726573730000416464726573730003014e465420436f6e7472616374204e616d650001537472696e670003" ] } ] }, { - "hash": "a0affd7f78688c482a5a5bc416fa49f5844288fc61b0ee1b40cd38e3c2fbeb36", + "hash": "ddd2fe00843f6adb7875a07333f61aa2643499b999f915813924440c99460f99", "children": [ { - "hash": "099d7e6cfa53ac9150cc79588f5282d3f7bb21a7fb0596ccfcf47bcb380b0fe1", + "hash": "641ed4ec667e2e90fea4de449824de57bf652c8e6abfdce87b9cf076312d4bf3", "children": [ - "02f47efa834bc0559afae9a660b2efefddd0c6dc6e1bbcf9c3994e45ea9e5135ec99997236b6d76caa298331d5cef77cbdf83c1af64584ece537a780ba4ac468835265676973746572204e6f64650007014e6f64652049440000537472696e670003014e6f646520526f6c65000155496e74380003014e6574772e20416464726573730002537472696e670003014e6574772e204b65790003537472696e670003015374616b696e67204b65790004537472696e67000301416d6f756e74000555466978363400030400035075622e204b65790006537472696e670003" + "02f08815a2f535512a65e5c95c391dd6ff89662dad8fd68da836d11d0827a52bd4a56eb0c3e6c3456eee86d5cb62ddf700b0d1e5e65f12fe6926edd6d1816582855472616e73666572204e46542077697468205061746873000401526563697069656e740000416464726573730003014e465420494420746f205472616e73666572000155496e74363400030153656e646572277320436f6c6c656374696f6e2050617468204964656e7469666965720002537472696e67000301526563697069656e7427732052656365697665722050617468204964656e7469666965720003537472696e670003" ] }, { - "hash": "2b5f06235697099c02556240d18fcad69e9a48594d75036edff5d0d875ec746e", + "hash": "0ecae19f93f291533375cf65f243307c6cbf9a54fff897ce9d00d552c6675861", "children": [ - "029246ec9b7a5c81151156e7c2f6d356f68b1b884f88728daca46b968d9a46cd5a79de7119aea61bdafb39cc3d1f4fa17ca802c2732726a86d2c636dbc19808b685265676973746572204e6f64650007014e6f64652049440000537472696e670003014e6f646520526f6c65000155496e74380003014e6574772e20416464726573730002537472696e670003014e6574772e204b65790003537472696e670003015374616b696e67204b65790004537472696e67000301416d6f756e74000555466978363400030400035075622e204b65790006537472696e670003" + "02b7892b30d7a68531db8af3aa73eec7bf899bd039bc9883c4d0270e44c78cec30111142945f27d91bf3be630737805eba25d586b0c292bb3818e5d4cf4287e31c5472616e73666572204e465420776974682041646472657373000401526563697069656e740000416464726573730003014e465420494420746f205472616e73666572000155496e7436340003014e465420436f6e747261637420416464726573730002416464726573730003014e465420436f6e7472616374204e616d650003537472696e670003" ] }, { - "hash": "ae90b6bab2a077c5d5e3d052fc78908e251e97cfd9407c35bf49a8d284acd3c6", + "hash": "bad7c2258efa36af460d217adf5b7739ba66dfd31d3c2441f88c01d355170bdc", "children": [ - "02e79df145af42488e3da1d1b2e50a38a2084229896d670884f278a2119dc3bf9ec2442b498eea025099815ea613d6407407192dc12ad70e1a4f47936db804a841437265617465204d616368696e65204163636f756e740002014e6f64652049440000537472696e6700030300035075622e204b65790001537472696e670003" + "02861784e7ac135a9cfec90decdff2e53971a4d63135db77bcef3b273b710b181469f30decc15bd78107c631e200963398e8ddbc58bb61e577d223725f348fc2d95365747570205374616b696e6720436f6c6c656374696f6e0000" ] }, { - "hash": "60232ddb87d93f0a82735425ae06661d752b45345ab36a2805147f02d86ab779", + "hash": "675bbb1235e1bb30b198b84835222233caab309c75ed479ac1bd497d51b13dfc", "children": [ - "0286c69d731560f3bff549c5f180eb4219bfe650ae4efec8e0c5b5ad3ebed54a92dd3b327b09087ea7f8e92a22a6b04a3c6ca33b868b430c4f15f251658c38c1b7437265617465204d616368696e65204163636f756e740002014e6f64652049440000537472696e6700030300035075622e204b65790001537472696e670003" + "02e093df9c425be9cdbee44bdbbd721f6aff523e41802a50cf0ff353873e9f94830a41e53ad3c9c1c16c8732dd8331b8ca66063617d433b01d4d09c4730044874452656769737465722044656c656761746f720002014e6f64652049440000537472696e67000301416d6f756e7400015546697836340003" ] }, { - "hash": "8350e6bc5d5a7c5c70ba73c8190e2d166ca21377b3e4204ec7103e34604c9a2b", + "hash": "9b9c24e8572eb7d14db43a511c349b9961297e018490c5cd3270e5637f95ea23", "children": [ - "02b00f6b3b9d8d7d4a9a8ad14fce11ee0edb23c39c56a8c1351e6b597f53f2fb71a552951c5e6300a118610fbf2d36b3073ee266e1d26787d04717c141976ef78c5265717565737420556e7374616b696e670003014e6f64652049440000537472696e6700030244656c656761746f72204944000155496e743332000301416d6f756e7400025546697836340003" + "02deb5f758f3eb3b125cd9b14a6528f18d535377709fcef41e743751eb828009213b0b2bbc3a2ad674122c182112f7008a8d3d1b60b107033c0ebe7bbe50df52675265676973746572204e6f64650009014e6f64652049440000537472696e670003014e6f646520526f6c65000155496e74380003014e6574772e20416464726573730002537472696e670003014e6574772e204b65790003537472696e670003015374616b696e67204b65790004537472696e67000301416d6f756e7400055546697836340003014d41205075624b65790006537472696e670003014d412053416c67000755496e74380003014d412048416c67000855496e74380003" ] }, { - "hash": "fa8432e39483a5950c41183aff923fc39f12905eea447f0d708e204f2f751692", + "hash": "036cc8d96b46f7d4eb5d78855b00ae1214131786188ddf6be2f1a08ff434a0ac", "children": [ - "021307928440cee4289235793d6ff860a24315f7b6a5d5907a145dcc5f83702a2c8e10ac56db8ec5d5e0051d3c9608fabc8edd6abed983f6d3a254e7668a54b32b5374616b65204e657720546f6b656e730003014e6f64652049440000537472696e6700030244656c656761746f72204944000155496e743332000301416d6f756e7400025546697836340003" + "024c1ad61500bcd0d32d7aa7eb84ca9b7417219ed6d524e05de8c55fb7d50940e4f0a6cedb6703cd4ce4cc3b735e5edb5a7e5b17a87a725343d745e5d53b7c0a01437265617465204d616368696e65204163636f756e740004014e6f64652049440000537472696e670003014d41205075624b65790001537472696e670003014d412053416c67000255496e74380003014d412048416c67000355496e74380003" ] }, { - "hash": "0c3a64b8381947ae38d4d01f057f2083fdf8cbe3b9ec780a345fecbc26eb98d0", + "hash": "e1231083517c70acca28aef2f02738785a1e989e00fb2e910867de17a60fca14", "children": [ - "02d7aca7113a7aa03e0afd20ee36f4873779708a02ac4c6985017740c2ecea3d62907c4cfd67a98a8003393c64dc74eb7a957b229352a266139a542bb105ac4c405374616b6520526577617264656420546f6b656e730003014e6f64652049440000537472696e6700030244656c656761746f72204944000155496e743332000301416d6f756e7400025546697836340003" + "022d59f2c2c402f919c8dba30009e31480d54e2b250d2e10456e1ff029bd7cce99f26c058a127500fcd8445ba9fcf55149fe8f1a1a7cd212688d13fcd6ee2765295265717565737420556e7374616b696e670003014e6f64652049440000537472696e6700030244656c656761746f72204944000155496e743332000301416d6f756e7400025546697836340003" ] } ] }, { - "hash": "a1b4c2165e1fceba7324712485844e04e5e955706ae328f6cfd64c49686a8104", + "hash": "77b9597b1a66e8bade040908bc0fe96c50cdeaf67a648435d77dab233745cacd", "children": [ { - "hash": "c32ced8567df06cf7b803b4462d3dce5594274870833b505b39c23c620d9565d", + "hash": "ca2dbcde0c1bc0a2df58112c81b20fa360f0d7de78180ab7589903e7199bcfb4", "children": [ - "023595fcd68cff445c65ad99f8d4d726b5e28807b061800769c41cbe3adb98aeec082e690b9647182cf6969db1a0fa8e0f1728da6db01fe0d462e9f0841c268cbb5374616b6520556e7374616b656420546f6b656e730003014e6f64652049440000537472696e6700030244656c656761746f72204944000155496e743332000301416d6f756e7400025546697836340003" + "02cf2b03950077352487e6344ab65edc3e1856731ab9cf68aa2ebbe279ae496d4b4c0658934352486097cc89fa06b98bac21e514770fc6a4d70a7adc4bec6d711d5374616b65204e657720546f6b656e730003014e6f64652049440000537472696e6700030244656c656761746f72204944000155496e743332000301416d6f756e7400025546697836340003" ] }, { - "hash": "72919051bfc4b6791305a53562ab62bab2ab12fa78040fefebb9677d9c6d3e6d", + "hash": "ddca88842c33d1bee0ec3c4776b9533e5346cdd5082a55aec1b916c19ff51e09", "children": [ - "020bde358f3965ba2f4c18fb45b6536857c3f53d7d3b740fe66fe93a4ebf7524c1df9c6486baa6f8f685368ea216659239cb81fa8ebd9062a9723edb54ca0d7525556e7374616b6520416c6c0001014e6f64652049440000537472696e670003" + "024395faf2e515eea4d40f82416ad387575f0d5a580612223c361130e53e72f00bc989e8b3beb9c2eb5af2ee1e11d592c9f1131e76e7ef105a0d40cf1610d1e3485374616b6520526577617264656420546f6b656e730003014e6f64652049440000537472696e6700030244656c656761746f72204944000155496e743332000301416d6f756e7400025546697836340003" ] }, { - "hash": "4e1470252de85beeaf3547dbb3597bbbce4023c9b3a8fe559736bd69b05a9659", + "hash": "fd76eef7824d721068bdfd194e79bb513ff4aea7a4ef34de500cc278d6ef2dc3", "children": [ - "023af182f568b37a8067d3fb524afcfe96991c85a928bf7651e730be0e15fdb72d27a2b60d538b8bb883b602ea83d1697986a29dd69a44a9209dc75affb9e63299576974686472617720526577617264656420546f6b656e730003014e6f64652049440000537472696e6700030244656c656761746f72204944000155496e743332000301416d6f756e7400025546697836340003" + "020b1721f2a8ef6c0c4121ef83c7b38f2141eebcd65c72dab9ebaafe1b4d66fea8fe6adb75bf22b2033800e916fa7e3a7810417e9a36d35320de7f4b5f7ec4f1b85374616b6520556e7374616b656420546f6b656e730003014e6f64652049440000537472696e6700030244656c656761746f72204944000155496e743332000301416d6f756e7400025546697836340003" ] }, { - "hash": "16541b176b0721f3029fd8bd0763ba20338b93fdb7fca214427ce0855847d71a", + "hash": "c20c5edc09197bfa43a5ca85104953a91b3a65c1e8ffcac92b3442e62b23d9e1", "children": [ - "0268879197d961bb104a56e1e7d35660436fe4c52ed78f79d97fa50aa9e96fabf06d50ab1ef3d74203081c38306da74f5ad8fdd489e49fba732f8ba194d0c781c8576974686472617720556e7374616b656420546f6b656e730003014e6f64652049440000537472696e6700030244656c656761746f72204944000155496e743332000301416d6f756e7400025546697836340003" + "02c84843e3399be2ce95ea00e7c17d72db3c5c3363ec008c7a1c1cfa5b6afe70ae1c8256fb857f6c6fd929511ecac8624d0159877cf72c884f7128297dfb069510556e7374616b6520416c6c0001014e6f64652049440000537472696e670003" ] }, { - "hash": "7d29c41e4fd4f0029db68b83b0e4cca4ad90be98aa1375900b4d0a7ec8700727", + "hash": "ccd65f015317e3b3700a66f69e2ec2a6f3b63bac7c113a2e1bbf500024ef07bd", "children": [ - "02079aaa9cfb22138415056b43d5d91e8d73bd8bd5f37ebff4f4023d33ea6d2f25ecdffc1ae67479bc20c06eba6c776ff37b9523660ff1cd3129a3924d92484884436c6f7365205374616b650002014e6f64652049440000537472696e6700030244656c656761746f72204944000155496e7433320003" + "025a07ca4c016973bdeb168590e111b2c2855833b5ece11ffb28b08b8668f258a8fbd8ebbfff7a88b6b667ff4e3f9f904eaaba71cbf02a140f3b7007c61fbd8f34576974686472617720526577617264656420546f6b656e730003014e6f64652049440000537472696e6700030244656c656761746f72204944000155496e743332000301416d6f756e7400025546697836340003" ] }, { - "hash": "15cb00985ecc29ff4a790c109d18ba52f99e0d94f42d569cc476ffa42e66e3bd", + "hash": "0e0e96142cd4d28d1832502be18f00e179fa5f8d0bd7b17206ac7891655d8051", "children": [ - "022386d7ae1a5b936e3914729ee34e01d53a8fbd2e403512ec1beccb4062c231ebcdc3a63d0c75ea95b414becb6fbb8f5a8004236d48661cd3c3d4f540ee4d422e5472616e73666572204e6f64650002014e6f64652049440000537472696e67000301416464726573730001416464726573730003" + "0201fd4ea83d20510d24ed9f245873a7ee2715aefb774495c80bce7e3e34d6442ec2484f17e640e285769c3edaa6f2d090dcef1f2f57983f82b7179c3c047290ca576974686472617720556e7374616b656420546f6b656e730003014e6f64652049440000537472696e6700030244656c656761746f72204944000155496e743332000301416d6f756e7400025546697836340003" ] }, { - "hash": "587e64bc3625045d275b6a7553176b272a3487ede34a48d7d66c98e9ab56af1b", + "hash": "71e307116af2593f2fe011dec15877ef2f4595e4aa1ffe0b0bed14d4720ece09", "children": [ - "0253b096b4850a30894e7b272ec5c39e2b2f4a23f8c40e76a3c64cfc63dc2999b6b34d6fafcc5a4d0ed9cf92e168a08d0674c93341e2393ee72dde6664918ec2405472616e736665722044656c656761746f720003014e6f64652049440000537472696e6700030144656c656761746f72204944000155496e743332000301416464726573730002416464726573730003" + "027e216d96d75414b27c2301a3b0a7816804d43014337a14731d1493531116d185a0fad319bf8aede66212257ad0d21532858381e2c9d7c4cec179b28180f5be93436c6f7365205374616b650002014e6f64652049440000537472696e6700030244656c656761746f72204944000155496e7433320003" ] } ] }, { - "hash": "d0b4592fc4f996b16fea83ab8dede757ea8bc270f4e1fbf2301e02fd38d175e3", + "hash": "c963f7dcc5a15dade0a6ef13e028a798944890bc52e064c8d30723f5443db761", "children": [ { - "hash": "08b2978dff804b0a39bb3b382a0d0e02fa7977297aab0cafcbcca6324fb7c97f", + "hash": "d5e8a39acc91672fed5c63361051e952a02f0be8c7680f262ee9bc4e08043db5", "children": [ - "0239a126038522c6c964d53aaf78dde55bfe80929091510792fe49678bb22cbd96f9c48e18bda7f113e82711a4c95dfd151c6600ed9fbf46ceb22566d6c5728c6f57697468647261772046726f6d204d616368696e65204163636f756e740002014e6f64652049440000537472696e67000301416d6f756e7400015546697836340003" + "02311f4071dda8b17ac6cbc6f0a27e98bd426026825d3c68308903fead884e616e38bfd23b200ecef4d13fa3c2ea998b51e6a24f3a8ceb260d2affab7c918a97d05472616e73666572204e6f64650002014e6f64652049440000537472696e67000301416464726573730001416464726573730003" ] }, { - "hash": "2af46777eb5a0ef7598b8472bcdde5e6139f4880cfb1313c97f0e81851eaa2ac", + "hash": "532d624dc9889df257473ba9bf6bf20f3105486ebc3018ee20eee29cc9f4dba3", "children": [ - "0260f2cf219d56b19dc7fd223caed42dda9143c87b1b0d2c21a9652e12a3714133ff067b40ac67020ef864cd14842f62023254da34dd2ded56affa1364305bf1c5557064617465204e6574776f726b696e6720416464726573730002014e6f64652049440000537472696e67000301416464726573730001537472696e670003" + "02f9fa239cb78b3e07b8f8d56e173e2673b4b53aeb07d507a769c8d96eaf400b8d11e2107d2ccd96cb6b3fa3a704491dcd9e1736215137304e0494243c21befc765472616e736665722044656c656761746f720003014e6f64652049440000537472696e6700030144656c656761746f72204944000155496e743332000301416464726573730002416464726573730003" ] }, { - "hash": "906e51df4d75e43aeb3042508b2f2f991401e5817820e5801c3b8e9e8a0fe419", + "hash": "89fe5ae4ec85ca632b4652c39fd6bdceacce20acd6547d9987c457816e3b8818", "children": [ - "026e73db6edd0190f5311f6adc5f2b1f27e9e60c68574b00ee90da867da52cdbb1a2146e3e6e7718779ce59376b88760c154d82b7d132fe2c377114ec7cf434e7b576974686472617720556e6c6f636b656420464c4f57000101416d6f756e7400005546697836340003" + "02fdd40862af04dc36dd0e9e727966c6f81dd6be8246b9c70afd18297aac9e86a8e12b16ef4218b8ce52189ae5814b381272bf473436978fae94d01c10c036903457697468647261772046726f6d204d616368696e65204163636f756e740002014e6f64652049440000537472696e67000301416d6f756e7400015546697836340003" ] }, { - "hash": "9c6ed50847ac0fea0a8d90d7cdc72cac07a0dbf9997c017749b9266c8c471ad5", + "hash": "6749b31ddc54f34849a702aef1fd9d6592d49f2afd2c2a53385aee928f9b3f97", "children": [ - "020cb11c10b86d2afeae086ef511d28b14760eb854935a0b0dcfeecc85db847f4874355dc8df221bc0d170b2fe8deacd6f1f554d6beea58ad9fee7a07f740eaefe4465706f73697420556e6c6f636b656420464c4f57000101416d6f756e7400005546697836340003" + "023a68789d8cd56e6c7b064057045a56340746aac710db57700de2c33eb6610e5f68d24560d9e49318dca82ab0975f526a8663d934225f0cb715cd1ff188def16d557064617465204e6574776f726b696e6720416464726573730002014e6f64652049440000537472696e67000301416464726573730001537472696e670003" ] }, { - "hash": "14b699e967e1fe928a4e3d49ceadbfad9f6a2bc84a8498cd0a643f2df8fd6ca5", + "hash": "9e8bff812b2f0545ce028d95c6daf6ca0ae43e212cf3c24f3ccfeb5bd03316b7", "children": [ - "02b6a3502d2205eb05ec18772c13b91cc88a056b325c2617c57948d38cab8db600b64e0e3ed9eb28789198f2b0437f55f750bfa76da99450f63be6543bde66122a5265676973746572204e6f64650006014e6f64652049440000537472696e670003014e6f646520526f6c65000155496e74380003014e6574772e20416464726573730002537472696e670003014e6574772e204b65790003537472696e670003015374616b696e67204b65790004537472696e67000301416d6f756e7400055546697836340003" + "02094798e93daeacaa9ff262486a3683ec5a5e2204407e7d00bc3416fbf3efa3b14a830e6f93f74179a99e17c7ae762980c7fdc428bc949767529be2f071ac52b9576974686472617720556e6c6f636b656420464c4f57000101416d6f756e7400005546697836340003" ] }, { - "hash": "d7bfefba9a51e8ea934e2cd6e3d808cbb8b2f16a616254067bea6b1a6a98b77e", + "hash": "a1a73556f8af48486b19446e0fe0a0e706d551aeeea3f0f1e410804b3128a3ad", "children": [ - "02d5689b89f53214e7ce9ba7be2bb651961f7e3036b85f9250494290da9e9ba9891929e4f38894b8641848a3c0a3b9d35495b35083d42e8a3d4c928b9db4174ee85374616b65204e6577204c6f636b656420464c4f57000101416d6f756e7400005546697836340003" + "0217ffcd60667893674d8d4044bdd8232959dc8b694df1dd88d1b9c5443352f253038382a947fa96bf2f4dfe5aa9b4b2abee1ef0975955175e80cf911c3edf4b614465706f73697420556e6c6f636b656420464c4f57000101416d6f756e7400005546697836340003" ] }, { - "hash": "8efd2e3d644d5e342a79ccf0b6a7a9fb89bbf4de74692cbce9bb1c18c75ece45", + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "children": [ - "0223e5bfd594bb3245090e3e0bafb9cb9246fc84d30e4a35a7fde1b51085624d86677cc0ac3962ec136ca26dbec0aa942d926640ecf8418433f0db4b7925f5d0fe52652d7374616b6520556e7374616b656420464c4f57000101416d6f756e7400005546697836340003" + "" ] } ] }, { - "hash": "c9967fd752058341822bc98880abb34e04d3afef58de0e256f2264991e548123", + "hash": "63981575be94aaa4f14daa9f27c6c2fd72b46de3994ed71abaec45aa4b40615a", "children": [ { - "hash": "4b050ad3dc73d4f5fb071e7c2b2bcb03b6e16eb056786a20da2db4d7c38e1be0", + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "children": [ - "02239319825ad68178e76465b5ea18cb43f06c4ee11341f8fe9424809163a027a528d1719c5b21c88c62665db5ba04886809f3234c27057b057c36d5f265ee9de452652d7374616b6520526577617264656420464c4f57000101416d6f756e7400005546697836340003" + "" ] }, { - "hash": "c45fd23265a1c89dbc044686a3a3f4e2dd2a02bfc778e41c4d105a9b1e43be8b", + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "children": [ - "0233e3977c45e7c23c1472bcf334d00b03ebf91b06b67c57b63b562c7b1ff5c59f4e2a35541453f89c55e5dc6dbc963290380d779c81df0b3bf89c29b2a8d7a9fe5265717565737420556e7374616b65206f6620464c4f57000101416d6f756e7400005546697836340003" + "" ] }, { - "hash": "37868c4f30cd62f1e6fcb3f237eafdbe15400489fc2e636d17763fedc6c16541", + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "children": [ - "02f92c4cd663b2e335cd821a656bb2ebcf239b222036a7825af5e512fad4d820357099904b953b062e81e2575a2c2081b3d98bfccf5c743b4bdb224b937e292dad556e7374616b6520416c6c20464c4f570000" + "" ] }, { - "hash": "08dbfc695ea6b333a55acdc60a2991f68dd408347391bc6f34f91ea1a0d543da", + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "children": [ - "0290097e3aff9b67f65bbada3cdedbb73d45d093ff333aaaff38809bf9910a3e39dcae4faa6d689873f7caf7c5efef669f9fe1d4113e58b474b7aec1e07113a7ff576974686472617720556e7374616b656420464c4f57000101416d6f756e7400005546697836340003" + "" ] }, { - "hash": "21c0ba1073bacb222bfb082d711267cb218e924c3d8f1539f946c06a886c6584", + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "children": [ - "02f23406ff402f02418629432912ce732be0441b1a7e71f16c03d688a165ff7f499bb8f0562eea5e45c11f9289540f39c99a21c9a0fb060a7d3f832e98c2696f2d576974686472617720526577617264656420464c4f57000101416d6f756e7400005546697836340003" + "" ] }, { - "hash": "16f489e59aacc8e770b1b6e3879d141cb4d7cdcad64f05e046bccf0968fbc69a", + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "children": [ - "02c29d4024aaeb71ab478182542499e0ba3d5d303ec027252e3b8333515ee3de4897b3436482c5aefc1baf8b850e92c829202e468c57241dec707b6c27bd89d15c5265676973746572204f70657261746f72204e6f64650003014f70657261746f7220416464726573730000416464726573730003014e6f64652049440001537472696e67000301416d6f756e7400025546697836340003" + "" ] }, { - "hash": "c97602b25a02199c3084483d155cb1aee1182218c7897cdacc75ed797e5790e3", + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "children": [ - "021378405c85e0c966344b196c0fce602f39e79f3938ec7b689e0c96a8703b018a3cb357a97a57d9abbe5c68f0df342ee96ba97ade2013753fd2ddf47695a8c08a52656769737465722044656c656761746f720002014e6f64652049440000537472696e67000301416d6f756e7400015546697836340003" + "" ] } ] }, { - "hash": "53b33a3b57dd772b1dff0636374eb01bc7839efd7677d32399380c37f9a2d036", + "hash": "63981575be94aaa4f14daa9f27c6c2fd72b46de3994ed71abaec45aa4b40615a", "children": [ { - "hash": "f7b70beddf1263ba42357da3f252616fde2eeb2778ad203dd4875d5ae14648c9", + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "children": [ - "0218fad68368a4394b245db91217d7dc979e1316ab757388d416eaef831f565ab3802354d8b3e7908e584bcb5217637fb9f4ef045427c32d57d81ad4a390ed1a6044656c6567617465204e6577204c6f636b656420464c4f57000101416d6f756e7400005546697836340003" + "" ] }, { - "hash": "d67d1649a5dce91ab18dab849b0f778d9e16418f885dea1f052fbf6b3cf72dc2", + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "children": [ - "028776b1521b04395754734f8f40d4a0482863274f8d832973d9e011b3cbb48c852027331b72d8710a1a05feb6ecebadb5858d134bc8c95d6f261319cd9fa1bb9552652d64656c656761746520556e7374616b656420464c4f57000101416d6f756e7400005546697836340003" + "" ] }, { - "hash": "d987b586f0cea4efd10d34d08f022a72d15d3a1387f8d14499fbf135850ba9ed", + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "children": [ - "026b40ffc9169abd75107a45da5974c7e502d38773275abb231d747e4760b7ebee864edbff384335ef21c26b3bcf17d36b2b1d894afbe2b203f58099cc457971e452652d64656c656761746520526577617264656420464c4f57000101416d6f756e7400005546697836340003" + "" ] }, { - "hash": "bc2e00772331f81862b03c4f59599ab89e93b7e08d11768c53895e393687d107", + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "children": [ - "0261cbcd1c31bbfc9ceb4a5ac726e2f8b3d845a4fdf59b0ab23cbbfa8f16d7a024262aeddd3f49fd6222d706c02696bd7d359ba962b6c30232cc93d7cf4166a23e556e7374616b652044656c65676174656420464c4f57000101416d6f756e7400005546697836340003" + "" ] }, { - "hash": "7b5b7372017ee19ffcd4daf5bf144219907aa558a65f2ffe4ca99f8e87387af0", + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "children": [ - "022ae983f78e32b989fafa58ee7910b131fb51a2a74356f7916624695cb8bf596412675a013c064b6d0ef11dbf13f92210489bf2b3d299b2f14cd09be70b37577f576974686472617720556e7374616b656420464c4f57000101416d6f756e7400005546697836340003" + "" ] }, { - "hash": "d7d9fbd0a1e6c91685562e0e3fa922af423ce0f5b284758531f5ba55adfb7cac", + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "children": [ - "02385042aa453566fcff0b2bd418b837d8f46fbc23b1b46e6651b25a395bc04be8239ffa449eae5560eec3e99633dcf9c63b1e9c99996d1c5636644dceef9ec44b576974686472617720526577617264656420464c4f57000101416d6f756e7400005546697836340003" + "" ] }, { - "hash": "b051a776ea2ddfe310cb34c965eac396818c318226539d7dc2ba1c2bd41aae31", + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "children": [ - "026cbe81c71d2b04dc403ea0db89377f0abc5db14d3d2bd014397b2776aa29bc3ee79cb076f2f7da7a3039b5061916e081a823087f1560bdf3caea773992892873557064617465204e6574776f726b696e672041646472657373000101416464726573730000537472696e670003" + "" ] } ] }, { - "hash": "04b126988dc8f00c41d922c13e0ae5a4e7d83f18b44935103cdbbd7c2229d53f", + "hash": "63981575be94aaa4f14daa9f27c6c2fd72b46de3994ed71abaec45aa4b40615a", "children": [ { - "hash": "2e5e81d09ba5387bc9ff4a1e691d6847ecf66f667550937ca3da595d0006a16f", + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "children": [ - "020f0baeef9353ceee607c5be3b7c0f86792dadf20b9e9c89e831adb0199e758827511848f1c27a173d966f4b868fd7efead7eeb1bbf04fc3f3e60dabc6c7f759353657420757020546f702053686f7420436f6c6c656374696f6e0000" + "" ] }, { - "hash": "07ed2407699d5b48472d3d6b4b49c75f0758af64fff518c85b886dfb1ebfacd8", + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "children": [ - "021ec9aea0b51409610f882f5ae4278567da675542bb378eb999f05b7c4f12f7d809d5ad21bf70dfe4f8d800db9e61a77f2f64837ae0e818c3cd67e9cea837a1cf5472616e7366657220546f702053686f74204d6f6d656e74000201526563697069656e740000416464726573730003014d6f6d656e74204944000155496e7436340003" + "" ] }, { - "hash": "bf21d978d979a90615ea5fde48c41ab7a342b0b53ced3b67718029bb13bc927f", + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "children": [ - "022defee818c0c003ca519f83517f4c7bcf9dd8664a562ec80959cb6146428f971887673892a2e2c12337394570dfa30c5669e93f537ae426690f402799514a9a153657475702055534443205661756c740000" + "" ] }, { - "hash": "2a9d013b868ee0cdf8f83b5d4a80f62a78b30176a425e7a11f444af2ff1e3552", + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "children": [ - "02512485ec3f8e007853b0ea2a22fb2b9f7e2fa55fd9819171c5d013282efee60a7ff4d9f53ba5eebda556d0ead0ca13911bc8996e2c91c5147f8787d10a3244835472616e736665722055534443000201416d6f756e740000554669783634000301526563697069656e740001416464726573730003" + "" ] }, { @@ -2421,551 +2421,311 @@ } merkleIndex = { - "eef2d04944485541": [ + "63d8b6a045bf8e61": [ 0, 0, 0, 0 ], - "595c86561441b32b": [ + "21d4e87df171ccbe": [ 0, 0, 0, 1 ], - "ca80b628d985b358": [ - 0, - 0, - 0, - 2 - ], - "d56f4e1d2355cdcf": [ + "6c7ab72837fdce77": [ 0, 0, 0, 2 ], - "47851586d962335e": [ - 0, - 0, - 0, - 2 - ], - "0ffaf77ab320ce4c": [ + "3ccbbfebf10c47c4": [ 0, 0, 0, 3 ], - "aa7fecdf159e71bd": [ + "0246076f1cf5d316": [ 0, 0, 0, 3 ], - "f22ca4b350a79c72": [ + "c9b9a61562808127": [ 0, 0, 0, 4 ], - "180cef7053a5f0ae": [ + "6e5b8c83a3e8445e": [ 0, 0, 0, 4 ], - "a524b4094fcaf105": [ + "c1518742a95f9b49": [ 0, 0, 0, 5 ], - "0e5c2445c0b1016e": [ + "697ad2a90da93cbd": [ 0, 0, 0, 5 ], - "c26f69a33ead535e": [ + "d9ef3b05f8b06d43": [ 0, 0, 0, 6 ], - "c5636d510872a16e": [ + "1d12c005fa7a0827": [ 0, 0, 0, 6 ], - "f47efa834bc0559a": [ + "f08815a2f535512a": [ 0, 0, 1, 0 ], - "99997236b6d76caa": [ + "a56eb0c3e6c3456e": [ 0, 0, 1, 0 ], - "9246ec9b7a5c8115": [ + "b7892b30d7a68531": [ 0, 0, 1, 1 ], - "79de7119aea61bda": [ + "111142945f27d91b": [ 0, 0, 1, 1 ], - "e79df145af42488e": [ + "861784e7ac135a9c": [ 0, 0, 1, 2 ], - "c2442b498eea0250": [ + "69f30decc15bd781": [ 0, 0, 1, 2 ], - "86c69d731560f3bf": [ + "e093df9c425be9cd": [ 0, 0, 1, 3 ], - "dd3b327b09087ea7": [ + "0a41e53ad3c9c1c1": [ 0, 0, 1, 3 ], - "b00f6b3b9d8d7d4a": [ + "deb5f758f3eb3b12": [ 0, 0, 1, 4 ], - "a552951c5e6300a1": [ + "3b0b2bbc3a2ad674": [ 0, 0, 1, 4 ], - "1307928440cee428": [ + "4c1ad61500bcd0d3": [ 0, 0, 1, 5 ], - "8e10ac56db8ec5d5": [ + "f0a6cedb6703cd4c": [ 0, 0, 1, 5 ], - "d7aca7113a7aa03e": [ + "2d59f2c2c402f919": [ 0, 0, 1, 6 ], - "907c4cfd67a98a80": [ + "f26c058a127500fc": [ 0, 0, 1, 6 ], - "3595fcd68cff445c": [ + "cf2b039500773524": [ 0, 0, 2, 0 ], - "082e690b9647182c": [ + "4c06589343524860": [ 0, 0, 2, 0 ], - "0bde358f3965ba2f": [ + "4395faf2e515eea4": [ 0, 0, 2, 1 ], - "df9c6486baa6f8f6": [ + "c989e8b3beb9c2eb": [ 0, 0, 2, 1 ], - "3af182f568b37a80": [ + "0b1721f2a8ef6c0c": [ 0, 0, 2, 2 ], - "27a2b60d538b8bb8": [ + "fe6adb75bf22b203": [ 0, 0, 2, 2 ], - "68879197d961bb10": [ + "c84843e3399be2ce": [ 0, 0, 2, 3 ], - "6d50ab1ef3d74203": [ + "1c8256fb857f6c6f": [ 0, 0, 2, 3 ], - "079aaa9cfb221384": [ + "5a07ca4c016973bd": [ 0, 0, 2, 4 ], - "ecdffc1ae67479bc": [ + "fbd8ebbfff7a88b6": [ 0, 0, 2, 4 ], - "2386d7ae1a5b936e": [ + "01fd4ea83d20510d": [ 0, 0, 2, 5 ], - "cdc3a63d0c75ea95": [ + "c2484f17e640e285": [ 0, 0, 2, 5 ], - "53b096b4850a3089": [ + "7e216d96d75414b2": [ 0, 0, 2, 6 ], - "b34d6fafcc5a4d0e": [ + "a0fad319bf8aede6": [ 0, 0, 2, 6 ], - "39a126038522c6c9": [ + "311f4071dda8b17a": [ 0, 0, 3, 0 ], - "f9c48e18bda7f113": [ + "38bfd23b200ecef4": [ 0, 0, 3, 0 ], - "60f2cf219d56b19d": [ + "f9fa239cb78b3e07": [ 0, 0, 3, 1 ], - "ff067b40ac67020e": [ + "11e2107d2ccd96cb": [ 0, 0, 3, 1 ], - "6e73db6edd0190f5": [ + "fdd40862af04dc36": [ 0, 0, 3, 2 ], - "a2146e3e6e771877": [ + "e12b16ef4218b8ce": [ 0, 0, 3, 2 ], - "0cb11c10b86d2afe": [ + "3a68789d8cd56e6c": [ 0, 0, 3, 3 ], - "74355dc8df221bc0": [ + "68d24560d9e49318": [ 0, 0, 3, 3 ], - "b6a3502d2205eb05": [ + "094798e93daeacaa": [ 0, 0, 3, 4 ], - "b64e0e3ed9eb2878": [ + "4a830e6f93f74179": [ 0, 0, 3, 4 ], - "d5689b89f53214e7": [ + "17ffcd6066789367": [ 0, 0, 3, 5 ], - "1929e4f38894b864": [ + "038382a947fa96bf": [ 0, 0, 3, 5 - ], - "23e5bfd594bb3245": [ - 0, - 0, - 3, - 6 - ], - "677cc0ac3962ec13": [ - 0, - 0, - 3, - 6 - ], - "239319825ad68178": [ - 0, - 0, - 4, - 0 - ], - "28d1719c5b21c88c": [ - 0, - 0, - 4, - 0 - ], - "33e3977c45e7c23c": [ - 0, - 0, - 4, - 1 - ], - "4e2a35541453f89c": [ - 0, - 0, - 4, - 1 - ], - "f92c4cd663b2e335": [ - 0, - 0, - 4, - 2 - ], - "7099904b953b062e": [ - 0, - 0, - 4, - 2 - ], - "90097e3aff9b67f6": [ - 0, - 0, - 4, - 3 - ], - "dcae4faa6d689873": [ - 0, - 0, - 4, - 3 - ], - "f23406ff402f0241": [ - 0, - 0, - 4, - 4 - ], - "9bb8f0562eea5e45": [ - 0, - 0, - 4, - 4 - ], - "c29d4024aaeb71ab": [ - 0, - 0, - 4, - 5 - ], - "97b3436482c5aefc": [ - 0, - 0, - 4, - 5 - ], - "1378405c85e0c966": [ - 0, - 0, - 4, - 6 - ], - "3cb357a97a57d9ab": [ - 0, - 0, - 4, - 6 - ], - "18fad68368a4394b": [ - 0, - 0, - 5, - 0 - ], - "802354d8b3e7908e": [ - 0, - 0, - 5, - 0 - ], - "8776b1521b043957": [ - 0, - 0, - 5, - 1 - ], - "2027331b72d8710a": [ - 0, - 0, - 5, - 1 - ], - "6b40ffc9169abd75": [ - 0, - 0, - 5, - 2 - ], - "864edbff384335ef": [ - 0, - 0, - 5, - 2 - ], - "61cbcd1c31bbfc9c": [ - 0, - 0, - 5, - 3 - ], - "262aeddd3f49fd62": [ - 0, - 0, - 5, - 3 - ], - "2ae983f78e32b989": [ - 0, - 0, - 5, - 4 - ], - "12675a013c064b6d": [ - 0, - 0, - 5, - 4 - ], - "385042aa453566fc": [ - 0, - 0, - 5, - 5 - ], - "239ffa449eae5560": [ - 0, - 0, - 5, - 5 - ], - "6cbe81c71d2b04dc": [ - 0, - 0, - 5, - 6 - ], - "e79cb076f2f7da7a": [ - 0, - 0, - 5, - 6 - ], - "0f0baeef9353ceee": [ - 0, - 0, - 6, - 0 - ], - "7511848f1c27a173": [ - 0, - 0, - 6, - 0 - ], - "1ec9aea0b5140961": [ - 0, - 0, - 6, - 1 - ], - "09d5ad21bf70dfe4": [ - 0, - 0, - 6, - 1 - ], - "2defee818c0c003c": [ - 0, - 0, - 6, - 2 - ], - "887673892a2e2c12": [ - 0, - 0, - 6, - 2 - ], - "512485ec3f8e0078": [ - 0, - 0, - 6, - 3 - ], - "7ff4d9f53ba5eebd": [ - 0, - 0, - 6, - 3 ] }