From a93f03be35993992c072f185fd7dc8700f00a411 Mon Sep 17 00:00:00 2001 From: Robert Lukotka Date: Mon, 26 Feb 2024 12:22:45 +0100 Subject: [PATCH] Remove optional array --- src/parser_impl.c | 79 - src/parser_impl.h | 11 - src/parser_tx.c | 87 - src/parser_tx.h | 10 - src/tx_metadata.c | 11 +- src/tx_metadata.h | 1 - tests/manifestPayloadCases.json | 4148 +++++------------ .../SCO.03-1-Mainnet/00000.png | Bin 369 -> 0 bytes .../SCO.03-1-Mainnet/00001.png | Bin 329 -> 0 bytes .../SCO.03-1-Mainnet/00002.png | Bin 643 -> 0 bytes .../SCO.03-1-Mainnet/00003.png | Bin 574 -> 0 bytes .../SCO.03-1-Mainnet/00004.png | Bin 283 -> 0 bytes .../SCO.03-1-Mainnet/00005.png | Bin 502 -> 0 bytes .../SCO.03-1-Mainnet/00006.png | Bin 643 -> 0 bytes .../SCO.03-1-Mainnet/00007.png | Bin 670 -> 0 bytes .../SCO.03-1-Mainnet/00008.png | Bin 672 -> 0 bytes .../SCO.03-1-Mainnet/00009.png | Bin 605 -> 0 bytes .../SCO.03-1-Mainnet/00010.png | Bin 676 -> 0 bytes .../SCO.03-1-Mainnet/00011.png | Bin 697 -> 0 bytes .../SCO.03-1-Mainnet/00012.png | Bin 683 -> 0 bytes .../SCO.03-1-Mainnet/00013.png | Bin 698 -> 0 bytes .../SCO.03-1-Mainnet/00014.png | Bin 693 -> 0 bytes .../SCO.03-1-Mainnet/00015.png | Bin 593 -> 0 bytes .../SCO.03-1-Mainnet/00016.png | Bin 430 -> 0 bytes .../SCO.03-1-Mainnet/00017.png | Bin 346 -> 0 bytes .../SCO.03-1-Mainnet/00018.png | Bin 649 -> 0 bytes .../SCO.03-1-Mainnet/00019.png | Bin 648 -> 0 bytes .../SCO.03-1-Mainnet/00020.png | Bin 311 -> 0 bytes .../SCO.03-1-Mainnet/00021.png | Bin 472 -> 0 bytes .../SCO.03-1-Mainnet/00022.png | Bin 318 -> 0 bytes .../SCO.03-1-Mainnet/00023.png | Bin 353 -> 0 bytes .../SCO.03-1-Mainnet/00024.png | Bin 412 -> 0 bytes .../SCO.03-1-Mainnet/00025.png | Bin 455 -> 0 bytes .../SCO.03-1-Mainnet/00026.png | Bin 512 -> 0 bytes .../SCO.03-1-Mainnet/00027.png | Bin 249 -> 0 bytes .../SCO.03-1-Mainnet/00028.png | Bin 380 -> 0 bytes .../SCO.03-1-Testnet/00000.png | Bin 369 -> 0 bytes .../SCO.03-1-Testnet/00001.png | Bin 337 -> 0 bytes .../SCO.03-1-Testnet/00002.png | Bin 643 -> 0 bytes .../SCO.03-1-Testnet/00003.png | Bin 574 -> 0 bytes .../SCO.03-1-Testnet/00004.png | Bin 283 -> 0 bytes .../SCO.03-1-Testnet/00005.png | Bin 502 -> 0 bytes .../SCO.03-1-Testnet/00006.png | Bin 643 -> 0 bytes .../SCO.03-1-Testnet/00007.png | Bin 670 -> 0 bytes .../SCO.03-1-Testnet/00008.png | Bin 672 -> 0 bytes .../SCO.03-1-Testnet/00009.png | Bin 605 -> 0 bytes .../SCO.03-1-Testnet/00010.png | Bin 676 -> 0 bytes .../SCO.03-1-Testnet/00011.png | Bin 697 -> 0 bytes .../SCO.03-1-Testnet/00012.png | Bin 683 -> 0 bytes .../SCO.03-1-Testnet/00013.png | Bin 698 -> 0 bytes .../SCO.03-1-Testnet/00014.png | Bin 693 -> 0 bytes .../SCO.03-1-Testnet/00015.png | Bin 593 -> 0 bytes .../SCO.03-1-Testnet/00016.png | Bin 430 -> 0 bytes .../SCO.03-1-Testnet/00017.png | Bin 346 -> 0 bytes .../SCO.03-1-Testnet/00018.png | Bin 649 -> 0 bytes .../SCO.03-1-Testnet/00019.png | Bin 648 -> 0 bytes .../SCO.03-1-Testnet/00020.png | Bin 311 -> 0 bytes .../SCO.03-1-Testnet/00021.png | Bin 471 -> 0 bytes .../SCO.03-1-Testnet/00022.png | Bin 318 -> 0 bytes .../SCO.03-1-Testnet/00023.png | Bin 353 -> 0 bytes .../SCO.03-1-Testnet/00024.png | Bin 404 -> 0 bytes .../SCO.03-1-Testnet/00025.png | Bin 456 -> 0 bytes .../SCO.03-1-Testnet/00026.png | Bin 512 -> 0 bytes .../SCO.03-1-Testnet/00027.png | Bin 249 -> 0 bytes .../SCO.03-1-Testnet/00028.png | Bin 380 -> 0 bytes .../SCO.03-2-Mainnet/00000.png | Bin 369 -> 0 bytes .../SCO.03-2-Mainnet/00001.png | Bin 329 -> 0 bytes .../SCO.03-2-Mainnet/00002.png | Bin 643 -> 0 bytes .../SCO.03-2-Mainnet/00003.png | Bin 574 -> 0 bytes .../SCO.03-2-Mainnet/00004.png | Bin 283 -> 0 bytes .../SCO.03-2-Mainnet/00005.png | Bin 502 -> 0 bytes .../SCO.03-2-Mainnet/00006.png | Bin 643 -> 0 bytes .../SCO.03-2-Mainnet/00007.png | Bin 670 -> 0 bytes .../SCO.03-2-Mainnet/00008.png | Bin 672 -> 0 bytes .../SCO.03-2-Mainnet/00009.png | Bin 605 -> 0 bytes .../SCO.03-2-Mainnet/00010.png | Bin 676 -> 0 bytes .../SCO.03-2-Mainnet/00011.png | Bin 697 -> 0 bytes .../SCO.03-2-Mainnet/00012.png | Bin 683 -> 0 bytes .../SCO.03-2-Mainnet/00013.png | Bin 698 -> 0 bytes .../SCO.03-2-Mainnet/00014.png | Bin 693 -> 0 bytes .../SCO.03-2-Mainnet/00015.png | Bin 593 -> 0 bytes .../SCO.03-2-Mainnet/00016.png | Bin 430 -> 0 bytes .../SCO.03-2-Mainnet/00017.png | Bin 649 -> 0 bytes .../SCO.03-2-Mainnet/00018.png | Bin 648 -> 0 bytes .../SCO.03-2-Mainnet/00019.png | Bin 311 -> 0 bytes .../SCO.03-2-Mainnet/00020.png | Bin 472 -> 0 bytes .../SCO.03-2-Mainnet/00021.png | Bin 318 -> 0 bytes .../SCO.03-2-Mainnet/00022.png | Bin 353 -> 0 bytes .../SCO.03-2-Mainnet/00023.png | Bin 412 -> 0 bytes .../SCO.03-2-Mainnet/00024.png | Bin 455 -> 0 bytes .../SCO.03-2-Mainnet/00025.png | Bin 512 -> 0 bytes .../SCO.03-2-Mainnet/00026.png | Bin 249 -> 0 bytes .../SCO.03-2-Mainnet/00027.png | Bin 380 -> 0 bytes .../SCO.03-2-Testnet/00000.png | Bin 369 -> 0 bytes .../SCO.03-2-Testnet/00001.png | Bin 337 -> 0 bytes .../SCO.03-2-Testnet/00002.png | Bin 643 -> 0 bytes .../SCO.03-2-Testnet/00003.png | Bin 574 -> 0 bytes .../SCO.03-2-Testnet/00004.png | Bin 283 -> 0 bytes .../SCO.03-2-Testnet/00005.png | Bin 502 -> 0 bytes .../SCO.03-2-Testnet/00006.png | Bin 643 -> 0 bytes .../SCO.03-2-Testnet/00007.png | Bin 670 -> 0 bytes .../SCO.03-2-Testnet/00008.png | Bin 672 -> 0 bytes .../SCO.03-2-Testnet/00009.png | Bin 605 -> 0 bytes .../SCO.03-2-Testnet/00010.png | Bin 676 -> 0 bytes .../SCO.03-2-Testnet/00011.png | Bin 697 -> 0 bytes .../SCO.03-2-Testnet/00012.png | Bin 683 -> 0 bytes .../SCO.03-2-Testnet/00013.png | Bin 698 -> 0 bytes .../SCO.03-2-Testnet/00014.png | Bin 693 -> 0 bytes .../SCO.03-2-Testnet/00015.png | Bin 593 -> 0 bytes .../SCO.03-2-Testnet/00016.png | Bin 430 -> 0 bytes .../SCO.03-2-Testnet/00017.png | Bin 649 -> 0 bytes .../SCO.03-2-Testnet/00018.png | Bin 648 -> 0 bytes .../SCO.03-2-Testnet/00019.png | Bin 311 -> 0 bytes .../SCO.03-2-Testnet/00020.png | Bin 471 -> 0 bytes .../SCO.03-2-Testnet/00021.png | Bin 318 -> 0 bytes .../SCO.03-2-Testnet/00022.png | Bin 353 -> 0 bytes .../SCO.03-2-Testnet/00023.png | Bin 404 -> 0 bytes .../SCO.03-2-Testnet/00024.png | Bin 456 -> 0 bytes .../SCO.03-2-Testnet/00025.png | Bin 512 -> 0 bytes .../SCO.03-2-Testnet/00026.png | Bin 249 -> 0 bytes .../SCO.03-2-Testnet/00027.png | Bin 380 -> 0 bytes .../SCO.03-3-Mainnet/00000.png | Bin 369 -> 0 bytes .../SCO.03-3-Mainnet/00001.png | Bin 329 -> 0 bytes .../SCO.03-3-Mainnet/00002.png | Bin 643 -> 0 bytes .../SCO.03-3-Mainnet/00003.png | Bin 574 -> 0 bytes .../SCO.03-3-Mainnet/00004.png | Bin 283 -> 0 bytes .../SCO.03-3-Mainnet/00005.png | Bin 502 -> 0 bytes .../SCO.03-3-Mainnet/00006.png | Bin 643 -> 0 bytes .../SCO.03-3-Mainnet/00007.png | Bin 670 -> 0 bytes .../SCO.03-3-Mainnet/00008.png | Bin 672 -> 0 bytes .../SCO.03-3-Mainnet/00009.png | Bin 605 -> 0 bytes .../SCO.03-3-Mainnet/00010.png | Bin 676 -> 0 bytes .../SCO.03-3-Mainnet/00011.png | Bin 697 -> 0 bytes .../SCO.03-3-Mainnet/00012.png | Bin 683 -> 0 bytes .../SCO.03-3-Mainnet/00013.png | Bin 698 -> 0 bytes .../SCO.03-3-Mainnet/00014.png | Bin 693 -> 0 bytes .../SCO.03-3-Mainnet/00015.png | Bin 593 -> 0 bytes .../SCO.03-3-Mainnet/00016.png | Bin 430 -> 0 bytes .../SCO.03-3-Mainnet/00017.png | Bin 666 -> 0 bytes .../SCO.03-3-Mainnet/00018.png | Bin 657 -> 0 bytes .../SCO.03-3-Mainnet/00019.png | Bin 650 -> 0 bytes .../SCO.03-3-Mainnet/00020.png | Bin 671 -> 0 bytes .../SCO.03-3-Mainnet/00021.png | Bin 411 -> 0 bytes .../SCO.03-3-Mainnet/00022.png | Bin 649 -> 0 bytes .../SCO.03-3-Mainnet/00023.png | Bin 648 -> 0 bytes .../SCO.03-3-Mainnet/00024.png | Bin 311 -> 0 bytes .../SCO.03-3-Mainnet/00025.png | Bin 472 -> 0 bytes .../SCO.03-3-Mainnet/00026.png | Bin 318 -> 0 bytes .../SCO.03-3-Mainnet/00027.png | Bin 353 -> 0 bytes .../SCO.03-3-Mainnet/00028.png | Bin 412 -> 0 bytes .../SCO.03-3-Mainnet/00029.png | Bin 455 -> 0 bytes .../SCO.03-3-Mainnet/00030.png | Bin 512 -> 0 bytes .../SCO.03-3-Mainnet/00031.png | Bin 249 -> 0 bytes .../SCO.03-3-Mainnet/00032.png | Bin 380 -> 0 bytes .../SCO.03-3-Testnet/00000.png | Bin 369 -> 0 bytes .../SCO.03-3-Testnet/00001.png | Bin 337 -> 0 bytes .../SCO.03-3-Testnet/00002.png | Bin 643 -> 0 bytes .../SCO.03-3-Testnet/00003.png | Bin 574 -> 0 bytes .../SCO.03-3-Testnet/00004.png | Bin 283 -> 0 bytes .../SCO.03-3-Testnet/00005.png | Bin 502 -> 0 bytes .../SCO.03-3-Testnet/00006.png | Bin 643 -> 0 bytes .../SCO.03-3-Testnet/00007.png | Bin 670 -> 0 bytes .../SCO.03-3-Testnet/00008.png | Bin 672 -> 0 bytes .../SCO.03-3-Testnet/00009.png | Bin 605 -> 0 bytes .../SCO.03-3-Testnet/00010.png | Bin 676 -> 0 bytes .../SCO.03-3-Testnet/00011.png | Bin 697 -> 0 bytes .../SCO.03-3-Testnet/00012.png | Bin 683 -> 0 bytes .../SCO.03-3-Testnet/00013.png | Bin 698 -> 0 bytes .../SCO.03-3-Testnet/00014.png | Bin 693 -> 0 bytes .../SCO.03-3-Testnet/00015.png | Bin 593 -> 0 bytes .../SCO.03-3-Testnet/00016.png | Bin 430 -> 0 bytes .../SCO.03-3-Testnet/00017.png | Bin 666 -> 0 bytes .../SCO.03-3-Testnet/00018.png | Bin 657 -> 0 bytes .../SCO.03-3-Testnet/00019.png | Bin 650 -> 0 bytes .../SCO.03-3-Testnet/00020.png | Bin 671 -> 0 bytes .../SCO.03-3-Testnet/00021.png | Bin 411 -> 0 bytes .../SCO.03-3-Testnet/00022.png | Bin 649 -> 0 bytes .../SCO.03-3-Testnet/00023.png | Bin 648 -> 0 bytes .../SCO.03-3-Testnet/00024.png | Bin 311 -> 0 bytes .../SCO.03-3-Testnet/00025.png | Bin 471 -> 0 bytes .../SCO.03-3-Testnet/00026.png | Bin 318 -> 0 bytes .../SCO.03-3-Testnet/00027.png | Bin 353 -> 0 bytes .../SCO.03-3-Testnet/00028.png | Bin 404 -> 0 bytes .../SCO.03-3-Testnet/00029.png | Bin 456 -> 0 bytes .../SCO.03-3-Testnet/00030.png | Bin 512 -> 0 bytes .../SCO.03-3-Testnet/00031.png | Bin 249 -> 0 bytes .../SCO.03-3-Testnet/00032.png | Bin 380 -> 0 bytes .../SCO.03-4-Mainnet/00000.png | Bin 369 -> 0 bytes .../SCO.03-4-Mainnet/00001.png | Bin 329 -> 0 bytes .../SCO.03-4-Mainnet/00002.png | Bin 643 -> 0 bytes .../SCO.03-4-Mainnet/00003.png | Bin 574 -> 0 bytes .../SCO.03-4-Mainnet/00004.png | Bin 283 -> 0 bytes .../SCO.03-4-Mainnet/00005.png | Bin 502 -> 0 bytes .../SCO.03-4-Mainnet/00006.png | Bin 643 -> 0 bytes .../SCO.03-4-Mainnet/00007.png | Bin 670 -> 0 bytes .../SCO.03-4-Mainnet/00008.png | Bin 672 -> 0 bytes .../SCO.03-4-Mainnet/00009.png | Bin 605 -> 0 bytes .../SCO.03-4-Mainnet/00010.png | Bin 676 -> 0 bytes .../SCO.03-4-Mainnet/00011.png | Bin 697 -> 0 bytes .../SCO.03-4-Mainnet/00012.png | Bin 683 -> 0 bytes .../SCO.03-4-Mainnet/00013.png | Bin 698 -> 0 bytes .../SCO.03-4-Mainnet/00014.png | Bin 693 -> 0 bytes .../SCO.03-4-Mainnet/00015.png | Bin 593 -> 0 bytes .../SCO.03-4-Mainnet/00016.png | Bin 430 -> 0 bytes .../SCO.03-4-Mainnet/00017.png | Bin 666 -> 0 bytes .../SCO.03-4-Mainnet/00018.png | Bin 657 -> 0 bytes .../SCO.03-4-Mainnet/00019.png | Bin 650 -> 0 bytes .../SCO.03-4-Mainnet/00020.png | Bin 671 -> 0 bytes .../SCO.03-4-Mainnet/00021.png | Bin 411 -> 0 bytes .../SCO.03-4-Mainnet/00022.png | Bin 672 -> 0 bytes .../SCO.03-4-Mainnet/00023.png | Bin 655 -> 0 bytes .../SCO.03-4-Mainnet/00024.png | Bin 649 -> 0 bytes .../SCO.03-4-Mainnet/00025.png | Bin 678 -> 0 bytes .../SCO.03-4-Mainnet/00026.png | Bin 413 -> 0 bytes .../SCO.03-4-Mainnet/00027.png | Bin 667 -> 0 bytes .../SCO.03-4-Mainnet/00028.png | Bin 653 -> 0 bytes .../SCO.03-4-Mainnet/00029.png | Bin 650 -> 0 bytes .../SCO.03-4-Mainnet/00030.png | Bin 677 -> 0 bytes .../SCO.03-4-Mainnet/00031.png | Bin 417 -> 0 bytes .../SCO.03-4-Mainnet/00032.png | Bin 649 -> 0 bytes .../SCO.03-4-Mainnet/00033.png | Bin 648 -> 0 bytes .../SCO.03-4-Mainnet/00034.png | Bin 311 -> 0 bytes .../SCO.03-4-Mainnet/00035.png | Bin 472 -> 0 bytes .../SCO.03-4-Mainnet/00036.png | Bin 318 -> 0 bytes .../SCO.03-4-Mainnet/00037.png | Bin 353 -> 0 bytes .../SCO.03-4-Mainnet/00038.png | Bin 412 -> 0 bytes .../SCO.03-4-Mainnet/00039.png | Bin 455 -> 0 bytes .../SCO.03-4-Mainnet/00040.png | Bin 512 -> 0 bytes .../SCO.03-4-Mainnet/00041.png | Bin 249 -> 0 bytes .../SCO.03-4-Mainnet/00042.png | Bin 380 -> 0 bytes .../SCO.03-4-Testnet/00000.png | Bin 369 -> 0 bytes .../SCO.03-4-Testnet/00001.png | Bin 337 -> 0 bytes .../SCO.03-4-Testnet/00002.png | Bin 643 -> 0 bytes .../SCO.03-4-Testnet/00003.png | Bin 574 -> 0 bytes .../SCO.03-4-Testnet/00004.png | Bin 283 -> 0 bytes .../SCO.03-4-Testnet/00005.png | Bin 502 -> 0 bytes .../SCO.03-4-Testnet/00006.png | Bin 643 -> 0 bytes .../SCO.03-4-Testnet/00007.png | Bin 670 -> 0 bytes .../SCO.03-4-Testnet/00008.png | Bin 672 -> 0 bytes .../SCO.03-4-Testnet/00009.png | Bin 605 -> 0 bytes .../SCO.03-4-Testnet/00010.png | Bin 676 -> 0 bytes .../SCO.03-4-Testnet/00011.png | Bin 697 -> 0 bytes .../SCO.03-4-Testnet/00012.png | Bin 683 -> 0 bytes .../SCO.03-4-Testnet/00013.png | Bin 698 -> 0 bytes .../SCO.03-4-Testnet/00014.png | Bin 693 -> 0 bytes .../SCO.03-4-Testnet/00015.png | Bin 593 -> 0 bytes .../SCO.03-4-Testnet/00016.png | Bin 430 -> 0 bytes .../SCO.03-4-Testnet/00017.png | Bin 666 -> 0 bytes .../SCO.03-4-Testnet/00018.png | Bin 657 -> 0 bytes .../SCO.03-4-Testnet/00019.png | Bin 650 -> 0 bytes .../SCO.03-4-Testnet/00020.png | Bin 671 -> 0 bytes .../SCO.03-4-Testnet/00021.png | Bin 411 -> 0 bytes .../SCO.03-4-Testnet/00022.png | Bin 672 -> 0 bytes .../SCO.03-4-Testnet/00023.png | Bin 655 -> 0 bytes .../SCO.03-4-Testnet/00024.png | Bin 649 -> 0 bytes .../SCO.03-4-Testnet/00025.png | Bin 678 -> 0 bytes .../SCO.03-4-Testnet/00026.png | Bin 413 -> 0 bytes .../SCO.03-4-Testnet/00027.png | Bin 667 -> 0 bytes .../SCO.03-4-Testnet/00028.png | Bin 653 -> 0 bytes .../SCO.03-4-Testnet/00029.png | Bin 650 -> 0 bytes .../SCO.03-4-Testnet/00030.png | Bin 677 -> 0 bytes .../SCO.03-4-Testnet/00031.png | Bin 417 -> 0 bytes .../SCO.03-4-Testnet/00032.png | Bin 649 -> 0 bytes .../SCO.03-4-Testnet/00033.png | Bin 648 -> 0 bytes .../SCO.03-4-Testnet/00034.png | Bin 311 -> 0 bytes .../SCO.03-4-Testnet/00035.png | Bin 471 -> 0 bytes .../SCO.03-4-Testnet/00036.png | Bin 318 -> 0 bytes .../SCO.03-4-Testnet/00037.png | Bin 353 -> 0 bytes .../SCO.03-4-Testnet/00038.png | Bin 404 -> 0 bytes .../SCO.03-4-Testnet/00039.png | Bin 456 -> 0 bytes .../SCO.03-4-Testnet/00040.png | Bin 512 -> 0 bytes .../SCO.03-4-Testnet/00041.png | Bin 249 -> 0 bytes .../SCO.03-4-Testnet/00042.png | Bin 380 -> 0 bytes unit-tests/CMakeLists.txt | 8 - unit-tests/test_script_parser.c | 331 -- 275 files changed, 1189 insertions(+), 3497 deletions(-) delete mode 100644 tests/snapshots/nanos/test_transaction_manifest/SCO.03-1-Mainnet/00000.png delete mode 100644 tests/snapshots/nanos/test_transaction_manifest/SCO.03-1-Mainnet/00001.png delete mode 100644 tests/snapshots/nanos/test_transaction_manifest/SCO.03-1-Mainnet/00002.png delete mode 100644 tests/snapshots/nanos/test_transaction_manifest/SCO.03-1-Mainnet/00003.png delete mode 100644 tests/snapshots/nanos/test_transaction_manifest/SCO.03-1-Mainnet/00004.png delete mode 100644 tests/snapshots/nanos/test_transaction_manifest/SCO.03-1-Mainnet/00005.png delete mode 100644 tests/snapshots/nanos/test_transaction_manifest/SCO.03-1-Mainnet/00006.png delete mode 100644 tests/snapshots/nanos/test_transaction_manifest/SCO.03-1-Mainnet/00007.png delete mode 100644 tests/snapshots/nanos/test_transaction_manifest/SCO.03-1-Mainnet/00008.png delete mode 100644 tests/snapshots/nanos/test_transaction_manifest/SCO.03-1-Mainnet/00009.png delete mode 100644 tests/snapshots/nanos/test_transaction_manifest/SCO.03-1-Mainnet/00010.png delete mode 100644 tests/snapshots/nanos/test_transaction_manifest/SCO.03-1-Mainnet/00011.png delete mode 100644 tests/snapshots/nanos/test_transaction_manifest/SCO.03-1-Mainnet/00012.png delete mode 100644 tests/snapshots/nanos/test_transaction_manifest/SCO.03-1-Mainnet/00013.png delete mode 100644 tests/snapshots/nanos/test_transaction_manifest/SCO.03-1-Mainnet/00014.png delete mode 100644 tests/snapshots/nanos/test_transaction_manifest/SCO.03-1-Mainnet/00015.png delete mode 100644 tests/snapshots/nanos/test_transaction_manifest/SCO.03-1-Mainnet/00016.png delete mode 100644 tests/snapshots/nanos/test_transaction_manifest/SCO.03-1-Mainnet/00017.png delete mode 100644 tests/snapshots/nanos/test_transaction_manifest/SCO.03-1-Mainnet/00018.png delete mode 100644 tests/snapshots/nanos/test_transaction_manifest/SCO.03-1-Mainnet/00019.png delete mode 100644 tests/snapshots/nanos/test_transaction_manifest/SCO.03-1-Mainnet/00020.png delete mode 100644 tests/snapshots/nanos/test_transaction_manifest/SCO.03-1-Mainnet/00021.png delete mode 100644 tests/snapshots/nanos/test_transaction_manifest/SCO.03-1-Mainnet/00022.png delete mode 100644 tests/snapshots/nanos/test_transaction_manifest/SCO.03-1-Mainnet/00023.png delete mode 100644 tests/snapshots/nanos/test_transaction_manifest/SCO.03-1-Mainnet/00024.png delete mode 100644 tests/snapshots/nanos/test_transaction_manifest/SCO.03-1-Mainnet/00025.png delete mode 100644 tests/snapshots/nanos/test_transaction_manifest/SCO.03-1-Mainnet/00026.png delete mode 100644 tests/snapshots/nanos/test_transaction_manifest/SCO.03-1-Mainnet/00027.png delete mode 100644 tests/snapshots/nanos/test_transaction_manifest/SCO.03-1-Mainnet/00028.png delete mode 100644 tests/snapshots/nanos/test_transaction_manifest/SCO.03-1-Testnet/00000.png delete mode 100644 tests/snapshots/nanos/test_transaction_manifest/SCO.03-1-Testnet/00001.png delete mode 100644 tests/snapshots/nanos/test_transaction_manifest/SCO.03-1-Testnet/00002.png delete mode 100644 tests/snapshots/nanos/test_transaction_manifest/SCO.03-1-Testnet/00003.png delete mode 100644 tests/snapshots/nanos/test_transaction_manifest/SCO.03-1-Testnet/00004.png delete mode 100644 tests/snapshots/nanos/test_transaction_manifest/SCO.03-1-Testnet/00005.png delete mode 100644 tests/snapshots/nanos/test_transaction_manifest/SCO.03-1-Testnet/00006.png delete mode 100644 tests/snapshots/nanos/test_transaction_manifest/SCO.03-1-Testnet/00007.png delete mode 100644 tests/snapshots/nanos/test_transaction_manifest/SCO.03-1-Testnet/00008.png delete mode 100644 tests/snapshots/nanos/test_transaction_manifest/SCO.03-1-Testnet/00009.png delete mode 100644 tests/snapshots/nanos/test_transaction_manifest/SCO.03-1-Testnet/00010.png delete mode 100644 tests/snapshots/nanos/test_transaction_manifest/SCO.03-1-Testnet/00011.png delete mode 100644 tests/snapshots/nanos/test_transaction_manifest/SCO.03-1-Testnet/00012.png delete mode 100644 tests/snapshots/nanos/test_transaction_manifest/SCO.03-1-Testnet/00013.png delete mode 100644 tests/snapshots/nanos/test_transaction_manifest/SCO.03-1-Testnet/00014.png delete mode 100644 tests/snapshots/nanos/test_transaction_manifest/SCO.03-1-Testnet/00015.png delete mode 100644 tests/snapshots/nanos/test_transaction_manifest/SCO.03-1-Testnet/00016.png delete mode 100644 tests/snapshots/nanos/test_transaction_manifest/SCO.03-1-Testnet/00017.png delete mode 100644 tests/snapshots/nanos/test_transaction_manifest/SCO.03-1-Testnet/00018.png delete mode 100644 tests/snapshots/nanos/test_transaction_manifest/SCO.03-1-Testnet/00019.png delete mode 100644 tests/snapshots/nanos/test_transaction_manifest/SCO.03-1-Testnet/00020.png delete mode 100644 tests/snapshots/nanos/test_transaction_manifest/SCO.03-1-Testnet/00021.png delete mode 100644 tests/snapshots/nanos/test_transaction_manifest/SCO.03-1-Testnet/00022.png delete mode 100644 tests/snapshots/nanos/test_transaction_manifest/SCO.03-1-Testnet/00023.png delete mode 100644 tests/snapshots/nanos/test_transaction_manifest/SCO.03-1-Testnet/00024.png delete mode 100644 tests/snapshots/nanos/test_transaction_manifest/SCO.03-1-Testnet/00025.png delete mode 100644 tests/snapshots/nanos/test_transaction_manifest/SCO.03-1-Testnet/00026.png delete mode 100644 tests/snapshots/nanos/test_transaction_manifest/SCO.03-1-Testnet/00027.png delete mode 100644 tests/snapshots/nanos/test_transaction_manifest/SCO.03-1-Testnet/00028.png delete mode 100644 tests/snapshots/nanos/test_transaction_manifest/SCO.03-2-Mainnet/00000.png delete mode 100644 tests/snapshots/nanos/test_transaction_manifest/SCO.03-2-Mainnet/00001.png delete mode 100644 tests/snapshots/nanos/test_transaction_manifest/SCO.03-2-Mainnet/00002.png delete mode 100644 tests/snapshots/nanos/test_transaction_manifest/SCO.03-2-Mainnet/00003.png delete mode 100644 tests/snapshots/nanos/test_transaction_manifest/SCO.03-2-Mainnet/00004.png delete mode 100644 tests/snapshots/nanos/test_transaction_manifest/SCO.03-2-Mainnet/00005.png delete mode 100644 tests/snapshots/nanos/test_transaction_manifest/SCO.03-2-Mainnet/00006.png delete mode 100644 tests/snapshots/nanos/test_transaction_manifest/SCO.03-2-Mainnet/00007.png delete mode 100644 tests/snapshots/nanos/test_transaction_manifest/SCO.03-2-Mainnet/00008.png delete mode 100644 tests/snapshots/nanos/test_transaction_manifest/SCO.03-2-Mainnet/00009.png delete mode 100644 tests/snapshots/nanos/test_transaction_manifest/SCO.03-2-Mainnet/00010.png delete mode 100644 tests/snapshots/nanos/test_transaction_manifest/SCO.03-2-Mainnet/00011.png delete mode 100644 tests/snapshots/nanos/test_transaction_manifest/SCO.03-2-Mainnet/00012.png delete mode 100644 tests/snapshots/nanos/test_transaction_manifest/SCO.03-2-Mainnet/00013.png delete mode 100644 tests/snapshots/nanos/test_transaction_manifest/SCO.03-2-Mainnet/00014.png delete mode 100644 tests/snapshots/nanos/test_transaction_manifest/SCO.03-2-Mainnet/00015.png delete mode 100644 tests/snapshots/nanos/test_transaction_manifest/SCO.03-2-Mainnet/00016.png delete mode 100644 tests/snapshots/nanos/test_transaction_manifest/SCO.03-2-Mainnet/00017.png delete mode 100644 tests/snapshots/nanos/test_transaction_manifest/SCO.03-2-Mainnet/00018.png delete mode 100644 tests/snapshots/nanos/test_transaction_manifest/SCO.03-2-Mainnet/00019.png delete mode 100644 tests/snapshots/nanos/test_transaction_manifest/SCO.03-2-Mainnet/00020.png delete mode 100644 tests/snapshots/nanos/test_transaction_manifest/SCO.03-2-Mainnet/00021.png delete mode 100644 tests/snapshots/nanos/test_transaction_manifest/SCO.03-2-Mainnet/00022.png delete mode 100644 tests/snapshots/nanos/test_transaction_manifest/SCO.03-2-Mainnet/00023.png delete mode 100644 tests/snapshots/nanos/test_transaction_manifest/SCO.03-2-Mainnet/00024.png delete mode 100644 tests/snapshots/nanos/test_transaction_manifest/SCO.03-2-Mainnet/00025.png delete mode 100644 tests/snapshots/nanos/test_transaction_manifest/SCO.03-2-Mainnet/00026.png delete mode 100644 tests/snapshots/nanos/test_transaction_manifest/SCO.03-2-Mainnet/00027.png delete mode 100644 tests/snapshots/nanos/test_transaction_manifest/SCO.03-2-Testnet/00000.png delete mode 100644 tests/snapshots/nanos/test_transaction_manifest/SCO.03-2-Testnet/00001.png delete mode 100644 tests/snapshots/nanos/test_transaction_manifest/SCO.03-2-Testnet/00002.png delete mode 100644 tests/snapshots/nanos/test_transaction_manifest/SCO.03-2-Testnet/00003.png delete mode 100644 tests/snapshots/nanos/test_transaction_manifest/SCO.03-2-Testnet/00004.png delete mode 100644 tests/snapshots/nanos/test_transaction_manifest/SCO.03-2-Testnet/00005.png delete mode 100644 tests/snapshots/nanos/test_transaction_manifest/SCO.03-2-Testnet/00006.png delete mode 100644 tests/snapshots/nanos/test_transaction_manifest/SCO.03-2-Testnet/00007.png delete mode 100644 tests/snapshots/nanos/test_transaction_manifest/SCO.03-2-Testnet/00008.png delete mode 100644 tests/snapshots/nanos/test_transaction_manifest/SCO.03-2-Testnet/00009.png delete mode 100644 tests/snapshots/nanos/test_transaction_manifest/SCO.03-2-Testnet/00010.png delete mode 100644 tests/snapshots/nanos/test_transaction_manifest/SCO.03-2-Testnet/00011.png delete mode 100644 tests/snapshots/nanos/test_transaction_manifest/SCO.03-2-Testnet/00012.png delete mode 100644 tests/snapshots/nanos/test_transaction_manifest/SCO.03-2-Testnet/00013.png delete mode 100644 tests/snapshots/nanos/test_transaction_manifest/SCO.03-2-Testnet/00014.png delete mode 100644 tests/snapshots/nanos/test_transaction_manifest/SCO.03-2-Testnet/00015.png delete mode 100644 tests/snapshots/nanos/test_transaction_manifest/SCO.03-2-Testnet/00016.png delete mode 100644 tests/snapshots/nanos/test_transaction_manifest/SCO.03-2-Testnet/00017.png delete mode 100644 tests/snapshots/nanos/test_transaction_manifest/SCO.03-2-Testnet/00018.png delete mode 100644 tests/snapshots/nanos/test_transaction_manifest/SCO.03-2-Testnet/00019.png delete mode 100644 tests/snapshots/nanos/test_transaction_manifest/SCO.03-2-Testnet/00020.png delete mode 100644 tests/snapshots/nanos/test_transaction_manifest/SCO.03-2-Testnet/00021.png delete mode 100644 tests/snapshots/nanos/test_transaction_manifest/SCO.03-2-Testnet/00022.png delete mode 100644 tests/snapshots/nanos/test_transaction_manifest/SCO.03-2-Testnet/00023.png delete mode 100644 tests/snapshots/nanos/test_transaction_manifest/SCO.03-2-Testnet/00024.png delete mode 100644 tests/snapshots/nanos/test_transaction_manifest/SCO.03-2-Testnet/00025.png delete mode 100644 tests/snapshots/nanos/test_transaction_manifest/SCO.03-2-Testnet/00026.png delete mode 100644 tests/snapshots/nanos/test_transaction_manifest/SCO.03-2-Testnet/00027.png delete mode 100644 tests/snapshots/nanos/test_transaction_manifest/SCO.03-3-Mainnet/00000.png delete mode 100644 tests/snapshots/nanos/test_transaction_manifest/SCO.03-3-Mainnet/00001.png delete mode 100644 tests/snapshots/nanos/test_transaction_manifest/SCO.03-3-Mainnet/00002.png delete mode 100644 tests/snapshots/nanos/test_transaction_manifest/SCO.03-3-Mainnet/00003.png delete mode 100644 tests/snapshots/nanos/test_transaction_manifest/SCO.03-3-Mainnet/00004.png delete mode 100644 tests/snapshots/nanos/test_transaction_manifest/SCO.03-3-Mainnet/00005.png delete mode 100644 tests/snapshots/nanos/test_transaction_manifest/SCO.03-3-Mainnet/00006.png delete mode 100644 tests/snapshots/nanos/test_transaction_manifest/SCO.03-3-Mainnet/00007.png delete mode 100644 tests/snapshots/nanos/test_transaction_manifest/SCO.03-3-Mainnet/00008.png delete mode 100644 tests/snapshots/nanos/test_transaction_manifest/SCO.03-3-Mainnet/00009.png delete mode 100644 tests/snapshots/nanos/test_transaction_manifest/SCO.03-3-Mainnet/00010.png delete mode 100644 tests/snapshots/nanos/test_transaction_manifest/SCO.03-3-Mainnet/00011.png delete mode 100644 tests/snapshots/nanos/test_transaction_manifest/SCO.03-3-Mainnet/00012.png delete mode 100644 tests/snapshots/nanos/test_transaction_manifest/SCO.03-3-Mainnet/00013.png delete mode 100644 tests/snapshots/nanos/test_transaction_manifest/SCO.03-3-Mainnet/00014.png delete mode 100644 tests/snapshots/nanos/test_transaction_manifest/SCO.03-3-Mainnet/00015.png delete mode 100644 tests/snapshots/nanos/test_transaction_manifest/SCO.03-3-Mainnet/00016.png delete mode 100644 tests/snapshots/nanos/test_transaction_manifest/SCO.03-3-Mainnet/00017.png delete mode 100644 tests/snapshots/nanos/test_transaction_manifest/SCO.03-3-Mainnet/00018.png delete mode 100644 tests/snapshots/nanos/test_transaction_manifest/SCO.03-3-Mainnet/00019.png delete mode 100644 tests/snapshots/nanos/test_transaction_manifest/SCO.03-3-Mainnet/00020.png delete mode 100644 tests/snapshots/nanos/test_transaction_manifest/SCO.03-3-Mainnet/00021.png delete mode 100644 tests/snapshots/nanos/test_transaction_manifest/SCO.03-3-Mainnet/00022.png delete mode 100644 tests/snapshots/nanos/test_transaction_manifest/SCO.03-3-Mainnet/00023.png delete mode 100644 tests/snapshots/nanos/test_transaction_manifest/SCO.03-3-Mainnet/00024.png delete mode 100644 tests/snapshots/nanos/test_transaction_manifest/SCO.03-3-Mainnet/00025.png delete mode 100644 tests/snapshots/nanos/test_transaction_manifest/SCO.03-3-Mainnet/00026.png delete mode 100644 tests/snapshots/nanos/test_transaction_manifest/SCO.03-3-Mainnet/00027.png delete mode 100644 tests/snapshots/nanos/test_transaction_manifest/SCO.03-3-Mainnet/00028.png delete mode 100644 tests/snapshots/nanos/test_transaction_manifest/SCO.03-3-Mainnet/00029.png delete mode 100644 tests/snapshots/nanos/test_transaction_manifest/SCO.03-3-Mainnet/00030.png delete mode 100644 tests/snapshots/nanos/test_transaction_manifest/SCO.03-3-Mainnet/00031.png delete mode 100644 tests/snapshots/nanos/test_transaction_manifest/SCO.03-3-Mainnet/00032.png delete mode 100644 tests/snapshots/nanos/test_transaction_manifest/SCO.03-3-Testnet/00000.png delete mode 100644 tests/snapshots/nanos/test_transaction_manifest/SCO.03-3-Testnet/00001.png delete mode 100644 tests/snapshots/nanos/test_transaction_manifest/SCO.03-3-Testnet/00002.png delete mode 100644 tests/snapshots/nanos/test_transaction_manifest/SCO.03-3-Testnet/00003.png delete mode 100644 tests/snapshots/nanos/test_transaction_manifest/SCO.03-3-Testnet/00004.png delete mode 100644 tests/snapshots/nanos/test_transaction_manifest/SCO.03-3-Testnet/00005.png delete mode 100644 tests/snapshots/nanos/test_transaction_manifest/SCO.03-3-Testnet/00006.png delete mode 100644 tests/snapshots/nanos/test_transaction_manifest/SCO.03-3-Testnet/00007.png delete mode 100644 tests/snapshots/nanos/test_transaction_manifest/SCO.03-3-Testnet/00008.png delete mode 100644 tests/snapshots/nanos/test_transaction_manifest/SCO.03-3-Testnet/00009.png delete mode 100644 tests/snapshots/nanos/test_transaction_manifest/SCO.03-3-Testnet/00010.png delete mode 100644 tests/snapshots/nanos/test_transaction_manifest/SCO.03-3-Testnet/00011.png delete mode 100644 tests/snapshots/nanos/test_transaction_manifest/SCO.03-3-Testnet/00012.png delete mode 100644 tests/snapshots/nanos/test_transaction_manifest/SCO.03-3-Testnet/00013.png delete mode 100644 tests/snapshots/nanos/test_transaction_manifest/SCO.03-3-Testnet/00014.png delete mode 100644 tests/snapshots/nanos/test_transaction_manifest/SCO.03-3-Testnet/00015.png delete mode 100644 tests/snapshots/nanos/test_transaction_manifest/SCO.03-3-Testnet/00016.png delete mode 100644 tests/snapshots/nanos/test_transaction_manifest/SCO.03-3-Testnet/00017.png delete mode 100644 tests/snapshots/nanos/test_transaction_manifest/SCO.03-3-Testnet/00018.png delete mode 100644 tests/snapshots/nanos/test_transaction_manifest/SCO.03-3-Testnet/00019.png delete mode 100644 tests/snapshots/nanos/test_transaction_manifest/SCO.03-3-Testnet/00020.png delete mode 100644 tests/snapshots/nanos/test_transaction_manifest/SCO.03-3-Testnet/00021.png delete mode 100644 tests/snapshots/nanos/test_transaction_manifest/SCO.03-3-Testnet/00022.png delete mode 100644 tests/snapshots/nanos/test_transaction_manifest/SCO.03-3-Testnet/00023.png delete mode 100644 tests/snapshots/nanos/test_transaction_manifest/SCO.03-3-Testnet/00024.png delete mode 100644 tests/snapshots/nanos/test_transaction_manifest/SCO.03-3-Testnet/00025.png delete mode 100644 tests/snapshots/nanos/test_transaction_manifest/SCO.03-3-Testnet/00026.png delete mode 100644 tests/snapshots/nanos/test_transaction_manifest/SCO.03-3-Testnet/00027.png delete mode 100644 tests/snapshots/nanos/test_transaction_manifest/SCO.03-3-Testnet/00028.png delete mode 100644 tests/snapshots/nanos/test_transaction_manifest/SCO.03-3-Testnet/00029.png delete mode 100644 tests/snapshots/nanos/test_transaction_manifest/SCO.03-3-Testnet/00030.png delete mode 100644 tests/snapshots/nanos/test_transaction_manifest/SCO.03-3-Testnet/00031.png delete mode 100644 tests/snapshots/nanos/test_transaction_manifest/SCO.03-3-Testnet/00032.png delete mode 100644 tests/snapshots/nanos/test_transaction_manifest/SCO.03-4-Mainnet/00000.png delete mode 100644 tests/snapshots/nanos/test_transaction_manifest/SCO.03-4-Mainnet/00001.png delete mode 100644 tests/snapshots/nanos/test_transaction_manifest/SCO.03-4-Mainnet/00002.png delete mode 100644 tests/snapshots/nanos/test_transaction_manifest/SCO.03-4-Mainnet/00003.png delete mode 100644 tests/snapshots/nanos/test_transaction_manifest/SCO.03-4-Mainnet/00004.png delete mode 100644 tests/snapshots/nanos/test_transaction_manifest/SCO.03-4-Mainnet/00005.png delete mode 100644 tests/snapshots/nanos/test_transaction_manifest/SCO.03-4-Mainnet/00006.png delete mode 100644 tests/snapshots/nanos/test_transaction_manifest/SCO.03-4-Mainnet/00007.png delete mode 100644 tests/snapshots/nanos/test_transaction_manifest/SCO.03-4-Mainnet/00008.png delete mode 100644 tests/snapshots/nanos/test_transaction_manifest/SCO.03-4-Mainnet/00009.png delete mode 100644 tests/snapshots/nanos/test_transaction_manifest/SCO.03-4-Mainnet/00010.png delete mode 100644 tests/snapshots/nanos/test_transaction_manifest/SCO.03-4-Mainnet/00011.png delete mode 100644 tests/snapshots/nanos/test_transaction_manifest/SCO.03-4-Mainnet/00012.png delete mode 100644 tests/snapshots/nanos/test_transaction_manifest/SCO.03-4-Mainnet/00013.png delete mode 100644 tests/snapshots/nanos/test_transaction_manifest/SCO.03-4-Mainnet/00014.png delete mode 100644 tests/snapshots/nanos/test_transaction_manifest/SCO.03-4-Mainnet/00015.png delete mode 100644 tests/snapshots/nanos/test_transaction_manifest/SCO.03-4-Mainnet/00016.png delete mode 100644 tests/snapshots/nanos/test_transaction_manifest/SCO.03-4-Mainnet/00017.png delete mode 100644 tests/snapshots/nanos/test_transaction_manifest/SCO.03-4-Mainnet/00018.png delete mode 100644 tests/snapshots/nanos/test_transaction_manifest/SCO.03-4-Mainnet/00019.png delete mode 100644 tests/snapshots/nanos/test_transaction_manifest/SCO.03-4-Mainnet/00020.png delete mode 100644 tests/snapshots/nanos/test_transaction_manifest/SCO.03-4-Mainnet/00021.png delete mode 100644 tests/snapshots/nanos/test_transaction_manifest/SCO.03-4-Mainnet/00022.png delete mode 100644 tests/snapshots/nanos/test_transaction_manifest/SCO.03-4-Mainnet/00023.png delete mode 100644 tests/snapshots/nanos/test_transaction_manifest/SCO.03-4-Mainnet/00024.png delete mode 100644 tests/snapshots/nanos/test_transaction_manifest/SCO.03-4-Mainnet/00025.png delete mode 100644 tests/snapshots/nanos/test_transaction_manifest/SCO.03-4-Mainnet/00026.png delete mode 100644 tests/snapshots/nanos/test_transaction_manifest/SCO.03-4-Mainnet/00027.png delete mode 100644 tests/snapshots/nanos/test_transaction_manifest/SCO.03-4-Mainnet/00028.png delete mode 100644 tests/snapshots/nanos/test_transaction_manifest/SCO.03-4-Mainnet/00029.png delete mode 100644 tests/snapshots/nanos/test_transaction_manifest/SCO.03-4-Mainnet/00030.png delete mode 100644 tests/snapshots/nanos/test_transaction_manifest/SCO.03-4-Mainnet/00031.png delete mode 100644 tests/snapshots/nanos/test_transaction_manifest/SCO.03-4-Mainnet/00032.png delete mode 100644 tests/snapshots/nanos/test_transaction_manifest/SCO.03-4-Mainnet/00033.png delete mode 100644 tests/snapshots/nanos/test_transaction_manifest/SCO.03-4-Mainnet/00034.png delete mode 100644 tests/snapshots/nanos/test_transaction_manifest/SCO.03-4-Mainnet/00035.png delete mode 100644 tests/snapshots/nanos/test_transaction_manifest/SCO.03-4-Mainnet/00036.png delete mode 100644 tests/snapshots/nanos/test_transaction_manifest/SCO.03-4-Mainnet/00037.png delete mode 100644 tests/snapshots/nanos/test_transaction_manifest/SCO.03-4-Mainnet/00038.png delete mode 100644 tests/snapshots/nanos/test_transaction_manifest/SCO.03-4-Mainnet/00039.png delete mode 100644 tests/snapshots/nanos/test_transaction_manifest/SCO.03-4-Mainnet/00040.png delete mode 100644 tests/snapshots/nanos/test_transaction_manifest/SCO.03-4-Mainnet/00041.png delete mode 100644 tests/snapshots/nanos/test_transaction_manifest/SCO.03-4-Mainnet/00042.png delete mode 100644 tests/snapshots/nanos/test_transaction_manifest/SCO.03-4-Testnet/00000.png delete mode 100644 tests/snapshots/nanos/test_transaction_manifest/SCO.03-4-Testnet/00001.png delete mode 100644 tests/snapshots/nanos/test_transaction_manifest/SCO.03-4-Testnet/00002.png delete mode 100644 tests/snapshots/nanos/test_transaction_manifest/SCO.03-4-Testnet/00003.png delete mode 100644 tests/snapshots/nanos/test_transaction_manifest/SCO.03-4-Testnet/00004.png delete mode 100644 tests/snapshots/nanos/test_transaction_manifest/SCO.03-4-Testnet/00005.png delete mode 100644 tests/snapshots/nanos/test_transaction_manifest/SCO.03-4-Testnet/00006.png delete mode 100644 tests/snapshots/nanos/test_transaction_manifest/SCO.03-4-Testnet/00007.png delete mode 100644 tests/snapshots/nanos/test_transaction_manifest/SCO.03-4-Testnet/00008.png delete mode 100644 tests/snapshots/nanos/test_transaction_manifest/SCO.03-4-Testnet/00009.png delete mode 100644 tests/snapshots/nanos/test_transaction_manifest/SCO.03-4-Testnet/00010.png delete mode 100644 tests/snapshots/nanos/test_transaction_manifest/SCO.03-4-Testnet/00011.png delete mode 100644 tests/snapshots/nanos/test_transaction_manifest/SCO.03-4-Testnet/00012.png delete mode 100644 tests/snapshots/nanos/test_transaction_manifest/SCO.03-4-Testnet/00013.png delete mode 100644 tests/snapshots/nanos/test_transaction_manifest/SCO.03-4-Testnet/00014.png delete mode 100644 tests/snapshots/nanos/test_transaction_manifest/SCO.03-4-Testnet/00015.png delete mode 100644 tests/snapshots/nanos/test_transaction_manifest/SCO.03-4-Testnet/00016.png delete mode 100644 tests/snapshots/nanos/test_transaction_manifest/SCO.03-4-Testnet/00017.png delete mode 100644 tests/snapshots/nanos/test_transaction_manifest/SCO.03-4-Testnet/00018.png delete mode 100644 tests/snapshots/nanos/test_transaction_manifest/SCO.03-4-Testnet/00019.png delete mode 100644 tests/snapshots/nanos/test_transaction_manifest/SCO.03-4-Testnet/00020.png delete mode 100644 tests/snapshots/nanos/test_transaction_manifest/SCO.03-4-Testnet/00021.png delete mode 100644 tests/snapshots/nanos/test_transaction_manifest/SCO.03-4-Testnet/00022.png delete mode 100644 tests/snapshots/nanos/test_transaction_manifest/SCO.03-4-Testnet/00023.png delete mode 100644 tests/snapshots/nanos/test_transaction_manifest/SCO.03-4-Testnet/00024.png delete mode 100644 tests/snapshots/nanos/test_transaction_manifest/SCO.03-4-Testnet/00025.png delete mode 100644 tests/snapshots/nanos/test_transaction_manifest/SCO.03-4-Testnet/00026.png delete mode 100644 tests/snapshots/nanos/test_transaction_manifest/SCO.03-4-Testnet/00027.png delete mode 100644 tests/snapshots/nanos/test_transaction_manifest/SCO.03-4-Testnet/00028.png delete mode 100644 tests/snapshots/nanos/test_transaction_manifest/SCO.03-4-Testnet/00029.png delete mode 100644 tests/snapshots/nanos/test_transaction_manifest/SCO.03-4-Testnet/00030.png delete mode 100644 tests/snapshots/nanos/test_transaction_manifest/SCO.03-4-Testnet/00031.png delete mode 100644 tests/snapshots/nanos/test_transaction_manifest/SCO.03-4-Testnet/00032.png delete mode 100644 tests/snapshots/nanos/test_transaction_manifest/SCO.03-4-Testnet/00033.png delete mode 100644 tests/snapshots/nanos/test_transaction_manifest/SCO.03-4-Testnet/00034.png delete mode 100644 tests/snapshots/nanos/test_transaction_manifest/SCO.03-4-Testnet/00035.png delete mode 100644 tests/snapshots/nanos/test_transaction_manifest/SCO.03-4-Testnet/00036.png delete mode 100644 tests/snapshots/nanos/test_transaction_manifest/SCO.03-4-Testnet/00037.png delete mode 100644 tests/snapshots/nanos/test_transaction_manifest/SCO.03-4-Testnet/00038.png delete mode 100644 tests/snapshots/nanos/test_transaction_manifest/SCO.03-4-Testnet/00039.png delete mode 100644 tests/snapshots/nanos/test_transaction_manifest/SCO.03-4-Testnet/00040.png delete mode 100644 tests/snapshots/nanos/test_transaction_manifest/SCO.03-4-Testnet/00041.png delete mode 100644 tests/snapshots/nanos/test_transaction_manifest/SCO.03-4-Testnet/00042.png delete mode 100644 unit-tests/test_script_parser.c diff --git a/src/parser_impl.c b/src/parser_impl.c index c7af20b1..7f65f518 100644 --- a/src/parser_impl.c +++ b/src/parser_impl.c @@ -293,50 +293,6 @@ parser_error_t json_matchOptionalKeyValue(const parsed_json_t *parsedJson, return PARSER_UNEXPECTED_VALUE; } -// valueTokenIdx is JSON_MATCH_VALUE_IDX_NONE if the optional is null -parser_error_t json_matchOptionalArray(const parsed_json_t *parsedJson, - uint16_t tokenIdx, - uint16_t *valueTokenIdx) { - CHECK_PARSER_ERR(json_validateToken(parsedJson, tokenIdx)) - - if (!(tokenIdx + 4 < parsedJson->numberOfTokens)) { - // we need this token and 4 more - return PARSER_JSON_INVALID_TOKEN_IDX; - } - - if (parsedJson->tokens[tokenIdx].type != JSMN_OBJECT) { - return PARSER_UNEXPECTED_TYPE; - } - - if (parsedJson->tokens[tokenIdx].size != 2) { - return PARSER_UNEXPECTED_NUMBER_ITEMS; - } - - // Type key/value - CHECK_PARSER_ERR(json_matchToken(parsedJson, tokenIdx + 1, (char *) "type")) - CHECK_PARSER_ERR(json_matchToken(parsedJson, tokenIdx + 2, (char *) "Optional")) - CHECK_PARSER_ERR(json_matchToken(parsedJson, tokenIdx + 3, (char *) "value")) - if (parsedJson->tokens[tokenIdx + 4].type == JSMN_PRIMITIVE) { // optional null - CHECK_PARSER_ERR(json_matchNull(parsedJson, tokenIdx + 4)) - *valueTokenIdx = JSON_MATCH_VALUE_IDX_NONE; - return PARSER_OK; - } - if (parsedJson->tokens[tokenIdx + 4].type == JSMN_OBJECT) { // optional not null - if (!(tokenIdx + 8 < parsedJson->numberOfTokens)) { - return PARSER_JSON_INVALID_TOKEN_IDX; - } - CHECK_PARSER_ERR(json_matchToken(parsedJson, tokenIdx + 5, (char *) "type")) - CHECK_PARSER_ERR(json_matchToken(parsedJson, tokenIdx + 6, (char *) "Array")) - CHECK_PARSER_ERR(json_matchToken(parsedJson, tokenIdx + 7, (char *) "value")) - if (parsedJson->tokens[tokenIdx + 8].type == JSMN_ARRAY) { - *valueTokenIdx = tokenIdx + 8; - return PARSER_OK; - } - } - - return PARSER_UNEXPECTED_VALUE; -} - parser_error_t json_matchArbitraryKeyValue(const parsed_json_t *parsedJson, uint16_t tokenIdx, jsmntype_t *valueJsonType, @@ -637,41 +593,6 @@ parser_error_t _countArgumentItems(const flow_argument_list_t *v, return PARSER_OK; } -// if Optional is null, number_of_items is set to 1 as one screen is needed to display "None" -parser_error_t _countArgumentOptionalItems(const flow_argument_list_t *v, - uint8_t argumentIndex, - uint8_t min_number_of_items, - uint8_t max_number_of_items, - uint8_t *number_of_items) { - *number_of_items = 0; - parsed_json_t parsedJson = {false}; - - if (argumentIndex >= v->argCount) { - return PARSER_UNEXPECTED_FIELD; - } - - const parser_context_t argCtx = v->argCtx[argumentIndex]; - CHECK_PARSER_ERR(json_parse(&parsedJson, (char *) argCtx.buffer, argCtx.bufferLen)); - - uint16_t internalTokenElementIdx; - CHECK_PARSER_ERR(json_matchOptionalArray(&parsedJson, 0, &internalTokenElementIdx)); - if (internalTokenElementIdx == JSON_MATCH_VALUE_IDX_NONE) { - *number_of_items = 1; - return PARSER_OK; - } - - // Get number of items - uint16_t arrayTokenCount; - CHECK_PARSER_ERR( - array_get_element_count(&parsedJson, internalTokenElementIdx, &arrayTokenCount)); - if (arrayTokenCount < min_number_of_items || arrayTokenCount > max_number_of_items) { - return PARSER_UNEXPECTED_NUMBER_ITEMS; - } - - *number_of_items = arrayTokenCount; - return PARSER_OK; -} - void checkAddressUsedInTx() { addressUsedInTx = 0; uint16_t authCount = parser_tx_obj.authorizers.authorizer_count; diff --git a/src/parser_impl.h b/src/parser_impl.h index 1829b458..b714464e 100644 --- a/src/parser_impl.h +++ b/src/parser_impl.h @@ -41,13 +41,6 @@ parser_error_t _countArgumentItems(const flow_argument_list_t *v, uint8_t max_number_of_items, uint8_t *number_of_items); -// Same as _countArgumentItems, but the array is optional. -parser_error_t _countArgumentOptionalItems(const flow_argument_list_t *v, - uint8_t argumentIndex, - uint8_t min_number_of_items, - uint8_t max_number_of_items, - uint8_t *number_of_items); - parser_error_t json_validateToken(const parsed_json_t *parsedJson, uint16_t tokenIdx); parser_error_t json_extractToken(char *outVal, @@ -74,10 +67,6 @@ parser_error_t json_matchOptionalKeyValue(const parsed_json_t *parsedJson, jsmntype_t jsonType, uint16_t *valueTokenIdx); -parser_error_t json_matchOptionalArray(const parsed_json_t *parsedJson, - uint16_t tokenIdx, - uint16_t *valueTokenIdx); - parser_error_t json_matchArbitraryKeyValue(const parsed_json_t *parsedJson, uint16_t tokenIdx, jsmntype_t *valueJsonType, diff --git a/src/parser_tx.c b/src/parser_tx.c index ba40c255..d0774255 100644 --- a/src/parser_tx.c +++ b/src/parser_tx.c @@ -282,71 +282,6 @@ parser_error_t parser_printArgumentArray(const flow_argument_list_t *v, return PARSER_OK; } -parser_error_t parser_printArgumentOptionalArray(const flow_argument_list_t *v, - uint8_t argIndex, - uint8_t arrayIndex, - const char *expectedType, - jsmntype_t jsonType, - char *outVal, - uint16_t outValLen, - uint8_t pageIdx, - uint8_t *pageCount) { - MEMZERO(outVal, outValLen); - - if (argIndex >= v->argCount) { - return PARSER_UNEXPECTED_NUMBER_ITEMS; - } - - parsed_json_t parsedJson = {false}; - CHECK_PARSER_ERR(json_parse(&parsedJson, - (char *) v->argCtx[argIndex].buffer, - v->argCtx[argIndex].bufferLen)); - - // Estimate number of pages - uint16_t internalTokenElementIdx; - CHECK_PARSER_ERR(json_matchOptionalArray(&parsedJson, 0, &internalTokenElementIdx)); - if (internalTokenElementIdx == JSON_MATCH_VALUE_IDX_NONE) { - if (outValLen < 5) { - ZEMU_TRACE(); - return PARSER_UNEXPECTED_BUFFER_END; - } - *pageCount = 1; - strncpy_s(outVal, "None", 5); - } else { - uint16_t arrayTokenCount; - CHECK_PARSER_ERR( - array_get_element_count(&parsedJson, internalTokenElementIdx, &arrayTokenCount)); - if (arrayTokenCount >= MAX_JSON_ARRAY_TOKEN_COUNT || arrayIndex >= arrayTokenCount) { - ZEMU_TRACE(); - return PARSER_UNEXPECTED_NUMBER_ITEMS; - } - - uint16_t arrayElementToken; - char bufferUI[ARGUMENT_BUFFER_SIZE_STRING]; - CHECK_PARSER_ERR(array_get_nth_element(&parsedJson, - internalTokenElementIdx, - arrayIndex, - &arrayElementToken)) - uint16_t internalTokenElemIdx; - CHECK_PARSER_ERR(json_matchKeyValue(&parsedJson, - arrayElementToken, - expectedType, - jsonType, - &internalTokenElemIdx)) - CHECK_PARSER_ERR( - json_extractToken(bufferUI, sizeof(bufferUI), &parsedJson, internalTokenElemIdx)) - pageString(outVal, outValLen, bufferUI, pageIdx, pageCount); - - // Check requested page is in range - if (pageIdx > *pageCount) { - ZEMU_TRACE(); - return PARSER_DISPLAY_PAGE_OUT_OF_RANGE; - } - } - - return PARSER_OK; -} - #define FLAG_IS_NONE 0x1000 #define FLAG_IS_OPTIONAL_NOT_NONE 0x2000 #define FLAG_IS_ARRAY 0x4000 @@ -828,28 +763,6 @@ parser_error_t parser_getItem_internal(int8_t *displayIdx, } } break; - case ARGUMENT_TYPE_OPTIONALARRAY: - zemu_log("Argument optional array\n"); - CHECK_PARSER_ERR(_countArgumentOptionalItems(&parser_tx_obj.arguments, - marg->argumentIndex, - marg->arrayMinElements, - marg->arrayMaxElements, - &screenCount)); - for (size_t j = 0; j < screenCount; j++) { - SCREEN(true) { - snprintf(outKey, outKeyLen, "%s %d", marg->displayKey, (int) (j + 1)); - return parser_printArgumentOptionalArray(&parser_tx_obj.arguments, - marg->argumentIndex, - j, - marg->jsonExpectedType, - marg->jsonExpectedKind, - outVal, - outValLen, - pageIdx, - pageCount); - } - } - break; default: return PARSER_METADATA_ERROR; } diff --git a/src/parser_tx.h b/src/parser_tx.h index 109b3a14..739388c0 100644 --- a/src/parser_tx.h +++ b/src/parser_tx.h @@ -77,16 +77,6 @@ parser_error_t parser_printArgumentArray(const flow_argument_list_t *v, uint8_t pageIdx, uint8_t *pageCount); -parser_error_t parser_printArgumentOptionalArray(const flow_argument_list_t *v, - uint8_t argIndex, - uint8_t arrayIndex, - const char *expectedType, - jsmntype_t jsonType, - char *outVal, - uint16_t outValLen, - uint8_t pageIdx, - uint8_t *pageCount); - parser_error_t parser_printArbitraryPrepareToDisplay(const flow_argument_list_t *v, uint8_t argIndex, uint16_t *flags, diff --git a/src/tx_metadata.c b/src/tx_metadata.c index 7cbce1a9..5c3243cf 100644 --- a/src/tx_metadata.c +++ b/src/tx_metadata.c @@ -169,10 +169,13 @@ static parser_error_t parseTxMetadataInternal(const uint8_t scriptHash[METADATA_ _Static_assert(sizeof(parsedTxMetadata->arguments) >= PARSER_MAX_ARGCOUNT, "Too few arguments in parsed_tx_metadata_t."); for (int i = 0; i < parsedTxMetadata->argCount; i++) { - READ_CHAR(&parsedTxMetadata->arguments[i].argumentType); - argument_type_e argumentType = parsedTxMetadata->arguments[i].argumentType; - if (argumentType == ARGUMENT_TYPE_ARRAY || - argumentType == ARGUMENT_TYPE_OPTIONALARRAY) { + uint8_t argumentType = 0; + READ_CHAR(&argumentType); + if (argumentType != ARGUMENT_TYPE_NORMAL && argumentType != ARGUMENT_TYPE_OPTIONAL && argumentType != ARGUMENT_TYPE_ARRAY) { + return PARSER_METADATA_ERROR; + } + parsedTxMetadata->arguments[i].argumentType = argumentType; + if (argumentType == ARGUMENT_TYPE_ARRAY) { READ_CHAR(&parsedTxMetadata->arguments[i].arrayMinElements); READ_CHAR(&parsedTxMetadata->arguments[i].arrayMaxElements); uint8_t min = parsedTxMetadata->arguments[i].arrayMinElements; diff --git a/src/tx_metadata.h b/src/tx_metadata.h index e3bccb92..067b8190 100644 --- a/src/tx_metadata.h +++ b/src/tx_metadata.h @@ -29,7 +29,6 @@ typedef enum { ARGUMENT_TYPE_NORMAL = 1, ARGUMENT_TYPE_OPTIONAL = 2, ARGUMENT_TYPE_ARRAY = 3, - ARGUMENT_TYPE_OPTIONALARRAY = 4 } argument_type_e; #define PARSER_MAX_ARGCOUNT 9 diff --git a/tests/manifestPayloadCases.json b/tests/manifestPayloadCases.json index b27df227..ff142996 100644 --- a/tests/manifestPayloadCases.json +++ b/tests/manifestPayloadCases.json @@ -1102,39 +1102,19 @@ "hash": "c26f69a33ead535e7d597cec4567c6c70170e86fd85ec708f5381e50d43871e2" }, { - "title": "SCO.03 - Register Node - 1", + "title": "SCO.04 - Create Machine Account - 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/// 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": "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 + "type": "Array", + "value": [] } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -1150,35 +1130,15 @@ ] }, "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/// 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": "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 + "type": "Array", + "value": [] } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -1194,48 +1154,30 @@ ], "payloadSigs": [] }, - "encodedTransactionPayloadHex": "f907f3b90534696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f2052656769737465727320612064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e207265736f757263650a2f2f2f20666f722074686520737065636966696564206e6f646520696e666f726d6174696f6e20616e642074686520616d6f756e74206f6620746f6b656e7320746f20636f6d6d69740a0a7472616e73616374696f6e2869643a20537472696e672c0a202020202020202020202020726f6c653a2055496e74382c0a2020202020202020202020206e6574776f726b696e67416464726573733a20537472696e672c0a2020202020202020202020206e6574776f726b696e674b65793a20537472696e672c0a2020202020202020202020207374616b696e674b65793a20537472696e672c0a202020202020202020202020616d6f756e743a205546697836342c0a2020202020202020202020207075626c69634b6579733a205b537472696e675d3f29207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a0a20202020202020206966206c6574206d616368696e654163636f756e74203d2073656c662e7374616b696e67436f6c6c656374696f6e5265662e72656769737465724e6f6465280a20202020202020202020202069643a2069642c0a202020202020202020202020726f6c653a20726f6c652c0a2020202020202020202020206e6574776f726b696e67416464726573733a206e6574776f726b696e67416464726573732c0a2020202020202020202020206e6574776f726b696e674b65793a206e6574776f726b696e674b65792c0a2020202020202020202020207374616b696e674b65793a207374616b696e674b65792c0a202020202020202020202020616d6f756e743a20616d6f756e742c0a20202020202020202020202070617965723a206163636f756e7429200a20202020202020207b0a2020202020202020202020206966207075626c69634b657973203d3d206e696c207c7c207075626c69634b657973212e6c656e677468203d3d2030207b0a2020202020202020202020202020202070616e6963282243616e6e6f742070726f76696465207a65726f206b65797320666f7220746865206d616368696e65206163636f756e7422290a2020202020202020202020207d0a202020202020202020202020666f72206b657920696e207075626c69634b65797321207b0a202020202020202020202020202020206d616368696e654163636f756e742e6164645075626c69634b6579286b65792e6465636f64654865782829290a2020202020202020202020207d0a20202020202020207d0a202020207d0a7d0af90279b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227d9c7b2274797065223a2255496e7438222c2276616c7565223a2231227daf7b2274797065223a22537472696e67222c2276616c7565223a22666c6f772d6e6f64652e746573743a33353639227db89c7b2274797065223a22537472696e67222c2276616c7565223a223133343833303762633737633638386538303034396465396430383161613039373535646133336536393937363035666130353964623231343466633835653536306362653666376461386437346234353366353931363631386362386664333932633264623835366633653738323231646336386462316231643931346534227db8dc7b2274797065223a22537472696e67222c2276616c7565223a22396539616530643634356664356664393035303739326530623064616138326363313638366439313333616661306638316137383462333735633432616534383536376431353435653761396531393635663263316133326637336366383537356562623761393637663665346431303464326466373865623862653430393133356431326461303439396238613030373731663634326331623963343933393766323262343430343339663033366333626465653832663533303964616233227db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da07b2274797065223a224f7074696f6e616c222c2276616c7565223a6e756c6c7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", - "encodedTransactionEnvelopeHex": "f907f7f907f3b90534696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f2052656769737465727320612064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e207265736f757263650a2f2f2f20666f722074686520737065636966696564206e6f646520696e666f726d6174696f6e20616e642074686520616d6f756e74206f6620746f6b656e7320746f20636f6d6d69740a0a7472616e73616374696f6e2869643a20537472696e672c0a202020202020202020202020726f6c653a2055496e74382c0a2020202020202020202020206e6574776f726b696e67416464726573733a20537472696e672c0a2020202020202020202020206e6574776f726b696e674b65793a20537472696e672c0a2020202020202020202020207374616b696e674b65793a20537472696e672c0a202020202020202020202020616d6f756e743a205546697836342c0a2020202020202020202020207075626c69634b6579733a205b537472696e675d3f29207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a0a20202020202020206966206c6574206d616368696e654163636f756e74203d2073656c662e7374616b696e67436f6c6c656374696f6e5265662e72656769737465724e6f6465280a20202020202020202020202069643a2069642c0a202020202020202020202020726f6c653a20726f6c652c0a2020202020202020202020206e6574776f726b696e67416464726573733a206e6574776f726b696e67416464726573732c0a2020202020202020202020206e6574776f726b696e674b65793a206e6574776f726b696e674b65792c0a2020202020202020202020207374616b696e674b65793a207374616b696e674b65792c0a202020202020202020202020616d6f756e743a20616d6f756e742c0a20202020202020202020202070617965723a206163636f756e7429200a20202020202020207b0a2020202020202020202020206966207075626c69634b657973203d3d206e696c207c7c207075626c69634b657973212e6c656e677468203d3d2030207b0a2020202020202020202020202020202070616e6963282243616e6e6f742070726f76696465207a65726f206b65797320666f7220746865206d616368696e65206163636f756e7422290a2020202020202020202020207d0a202020202020202020202020666f72206b657920696e207075626c69634b65797321207b0a202020202020202020202020202020206d616368696e654163636f756e742e6164645075626c69634b6579286b65792e6465636f64654865782829290a2020202020202020202020207d0a20202020202020207d0a202020207d0a7d0af90279b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227d9c7b2274797065223a2255496e7438222c2276616c7565223a2231227daf7b2274797065223a22537472696e67222c2276616c7565223a22666c6f772d6e6f64652e746573743a33353639227db89c7b2274797065223a22537472696e67222c2276616c7565223a223133343833303762633737633638386538303034396465396430383161613039373535646133336536393937363035666130353964623231343466633835653536306362653666376461386437346234353366353931363631386362386664333932633264623835366633653738323231646336386462316231643931346534227db8dc7b2274797065223a22537472696e67222c2276616c7565223a22396539616530643634356664356664393035303739326530623064616138326363313638366439313333616661306638316137383462333735633432616534383536376431353435653761396531393635663263316133326637336366383537356562623761393637663665346431303464326466373865623862653430393133356431326461303439396238613030373731663634326331623963343933393766323262343430343339663033366333626465653832663533303964616233227db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da07b2274797065223a224f7074696f6e616c222c2276616c7565223a6e756c6c7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", - "metadata": "02f47efa834bc0559afae9a660b2efefddd0c6dc6e1bbcf9c3994e45ea9e5135ec99997236b6d76caa298331d5cef77cbdf83c1af64584ece537a780ba4ac468835265676973746572204e6f64650007014e6f64652049440000537472696e670003014e6f646520526f6c65000155496e74380003014e6574772e20416464726573730002537472696e670003014e6574772e204b65790003537472696e670003015374616b696e67204b65790004537472696e67000301416d6f756e74000555466978363400030400035075622e204b65790006537472696e670003", - "hash": "f47efa834bc0559afae9a660b2efefddd0c6dc6e1bbcf9c3994e45ea9e5135ec" + "encodedTransactionPayloadHex": "f904e2b90423696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f20437265617465732061206d616368696e65206163636f756e7420666f722061206e6f6465207468617420697320616c726561647920696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f20616e642061646473207075626c6963206b65797320746f20746865206e6577206163636f756e740a0a7472616e73616374696f6e286e6f646549443a20537472696e672c207075626c69634b6579733a205b537472696e675d29207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a0a20202020202020206966206c6574206d616368696e654163636f756e74203d2073656c662e7374616b696e67436f6c6c656374696f6e5265662e6372656174654d616368696e654163636f756e74466f724578697374696e674e6f6465286e6f646549443a206e6f646549442c2070617965723a206163636f756e7429207b0a2020202020202020202020206966207075626c69634b657973203d3d206e696c207c7c207075626c69634b657973212e6c656e677468203d3d2030207b0a2020202020202020202020202020202070616e6963282243616e6e6f742070726f76696465207a65726f206b65797320666f7220746865206d616368696e65206163636f756e7422290a2020202020202020202020207d0a202020202020202020202020666f72206b657920696e207075626c69634b65797321207b0a202020202020202020202020202020206d616368696e654163636f756e742e6164645075626c69634b6579286b65792e6465636f64654865782829290a2020202020202020202020207d0a20202020202020207d20656c7365207b0a20202020202020202020202070616e69632822436f756c64206e6f74206372656174652061206d616368696e65206163636f756e7420666f7220746865206e6f646522290a20202020202020207d0a202020207d0a7d0af87ab85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227d9b7b2274797065223a224172726179222c2276616c7565223a5b5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", + "encodedTransactionEnvelopeHex": "f904e6f904e2b90423696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f20437265617465732061206d616368696e65206163636f756e7420666f722061206e6f6465207468617420697320616c726561647920696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f20616e642061646473207075626c6963206b65797320746f20746865206e6577206163636f756e740a0a7472616e73616374696f6e286e6f646549443a20537472696e672c207075626c69634b6579733a205b537472696e675d29207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a0a20202020202020206966206c6574206d616368696e654163636f756e74203d2073656c662e7374616b696e67436f6c6c656374696f6e5265662e6372656174654d616368696e654163636f756e74466f724578697374696e674e6f6465286e6f646549443a206e6f646549442c2070617965723a206163636f756e7429207b0a2020202020202020202020206966207075626c69634b657973203d3d206e696c207c7c207075626c69634b657973212e6c656e677468203d3d2030207b0a2020202020202020202020202020202070616e6963282243616e6e6f742070726f76696465207a65726f206b65797320666f7220746865206d616368696e65206163636f756e7422290a2020202020202020202020207d0a202020202020202020202020666f72206b657920696e207075626c69634b65797321207b0a202020202020202020202020202020206d616368696e654163636f756e742e6164645075626c69634b6579286b65792e6465636f64654865782829290a2020202020202020202020207d0a20202020202020207d20656c7365207b0a20202020202020202020202070616e69632822436f756c64206e6f74206372656174652061206d616368696e65206163636f756e7420666f7220746865206e6f646522290a20202020202020207d0a202020207d0a7d0af87ab85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227d9b7b2274797065223a224172726179222c2276616c7565223a5b5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", + "metadata": "02e79df145af42488e3da1d1b2e50a38a2084229896d670884f278a2119dc3bf9ec2442b498eea025099815ea613d6407407192dc12ad70e1a4f47936db804a841437265617465204d616368696e65204163636f756e740002014e6f64652049440000537472696e6700030300035075622e204b65790001537472696e670003", + "hash": "e79df145af42488e3da1d1b2e50a38a2084229896d670884f278a2119dc3bf9e" }, { - "title": "SCO.03 - Register Node - 2", + "title": "SCO.04 - Create Machine Account - 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/// 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": "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": "Array", + "value": [ + { + "type": "String", + "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164" + } + ] } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -1251,38 +1193,20 @@ ] }, "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/// 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": "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": "Array", + "value": [ + { + "type": "String", + "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164" + } + ] } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -1298,53 +1222,38 @@ ], "payloadSigs": [] }, - "encodedTransactionPayloadHex": "f9080ab90534696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f2052656769737465727320612064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e207265736f757263650a2f2f2f20666f722074686520737065636966696564206e6f646520696e666f726d6174696f6e20616e642074686520616d6f756e74206f6620746f6b656e7320746f20636f6d6d69740a0a7472616e73616374696f6e2869643a20537472696e672c0a202020202020202020202020726f6c653a2055496e74382c0a2020202020202020202020206e6574776f726b696e67416464726573733a20537472696e672c0a2020202020202020202020206e6574776f726b696e674b65793a20537472696e672c0a2020202020202020202020207374616b696e674b65793a20537472696e672c0a202020202020202020202020616d6f756e743a205546697836342c0a2020202020202020202020207075626c69634b6579733a205b537472696e675d3f29207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a0a20202020202020206966206c6574206d616368696e654163636f756e74203d2073656c662e7374616b696e67436f6c6c656374696f6e5265662e72656769737465724e6f6465280a20202020202020202020202069643a2069642c0a202020202020202020202020726f6c653a20726f6c652c0a2020202020202020202020206e6574776f726b696e67416464726573733a206e6574776f726b696e67416464726573732c0a2020202020202020202020206e6574776f726b696e674b65793a206e6574776f726b696e674b65792c0a2020202020202020202020207374616b696e674b65793a207374616b696e674b65792c0a202020202020202020202020616d6f756e743a20616d6f756e742c0a20202020202020202020202070617965723a206163636f756e7429200a20202020202020207b0a2020202020202020202020206966207075626c69634b657973203d3d206e696c207c7c207075626c69634b657973212e6c656e677468203d3d2030207b0a2020202020202020202020202020202070616e6963282243616e6e6f742070726f76696465207a65726f206b65797320666f7220746865206d616368696e65206163636f756e7422290a2020202020202020202020207d0a202020202020202020202020666f72206b657920696e207075626c69634b65797321207b0a202020202020202020202020202020206d616368696e654163636f756e742e6164645075626c69634b6579286b65792e6465636f64654865782829290a2020202020202020202020207d0a20202020202020207d0a202020207d0a7d0af90290b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227d9c7b2274797065223a2255496e7438222c2276616c7565223a2231227daf7b2274797065223a22537472696e67222c2276616c7565223a22666c6f772d6e6f64652e746573743a33353639227db89c7b2274797065223a22537472696e67222c2276616c7565223a223133343833303762633737633638386538303034396465396430383161613039373535646133336536393937363035666130353964623231343466633835653536306362653666376461386437346234353366353931363631386362386664333932633264623835366633653738323231646336386462316231643931346534227db8dc7b2274797065223a22537472696e67222c2276616c7565223a22396539616530643634356664356664393035303739326530623064616138326363313638366439313333616661306638316137383462333735633432616534383536376431353435653761396531393635663263316133326637336366383537356562623761393637663665346431303464326466373865623862653430393133356431326461303439396238613030373731663634326331623963343933393766323262343430343339663033366333626465653832663533303964616233227db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227db77b2274797065223a224f7074696f6e616c222c2276616c7565223a7b2274797065223a224172726179222c2276616c7565223a5b5d7d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", - "encodedTransactionEnvelopeHex": "f9080ef9080ab90534696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f2052656769737465727320612064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e207265736f757263650a2f2f2f20666f722074686520737065636966696564206e6f646520696e666f726d6174696f6e20616e642074686520616d6f756e74206f6620746f6b656e7320746f20636f6d6d69740a0a7472616e73616374696f6e2869643a20537472696e672c0a202020202020202020202020726f6c653a2055496e74382c0a2020202020202020202020206e6574776f726b696e67416464726573733a20537472696e672c0a2020202020202020202020206e6574776f726b696e674b65793a20537472696e672c0a2020202020202020202020207374616b696e674b65793a20537472696e672c0a202020202020202020202020616d6f756e743a205546697836342c0a2020202020202020202020207075626c69634b6579733a205b537472696e675d3f29207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a0a20202020202020206966206c6574206d616368696e654163636f756e74203d2073656c662e7374616b696e67436f6c6c656374696f6e5265662e72656769737465724e6f6465280a20202020202020202020202069643a2069642c0a202020202020202020202020726f6c653a20726f6c652c0a2020202020202020202020206e6574776f726b696e67416464726573733a206e6574776f726b696e67416464726573732c0a2020202020202020202020206e6574776f726b696e674b65793a206e6574776f726b696e674b65792c0a2020202020202020202020207374616b696e674b65793a207374616b696e674b65792c0a202020202020202020202020616d6f756e743a20616d6f756e742c0a20202020202020202020202070617965723a206163636f756e7429200a20202020202020207b0a2020202020202020202020206966207075626c69634b657973203d3d206e696c207c7c207075626c69634b657973212e6c656e677468203d3d2030207b0a2020202020202020202020202020202070616e6963282243616e6e6f742070726f76696465207a65726f206b65797320666f7220746865206d616368696e65206163636f756e7422290a2020202020202020202020207d0a202020202020202020202020666f72206b657920696e207075626c69634b65797321207b0a202020202020202020202020202020206d616368696e654163636f756e742e6164645075626c69634b6579286b65792e6465636f64654865782829290a2020202020202020202020207d0a20202020202020207d0a202020207d0a7d0af90290b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227d9c7b2274797065223a2255496e7438222c2276616c7565223a2231227daf7b2274797065223a22537472696e67222c2276616c7565223a22666c6f772d6e6f64652e746573743a33353639227db89c7b2274797065223a22537472696e67222c2276616c7565223a223133343833303762633737633638386538303034396465396430383161613039373535646133336536393937363035666130353964623231343466633835653536306362653666376461386437346234353366353931363631386362386664333932633264623835366633653738323231646336386462316231643931346534227db8dc7b2274797065223a22537472696e67222c2276616c7565223a22396539616530643634356664356664393035303739326530623064616138326363313638366439313333616661306638316137383462333735633432616534383536376431353435653761396531393635663263316133326637336366383537356562623761393637663665346431303464326466373865623862653430393133356431326461303439396238613030373731663634326331623963343933393766323262343430343339663033366333626465653832663533303964616233227db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227db77b2274797065223a224f7074696f6e616c222c2276616c7565223a7b2274797065223a224172726179222c2276616c7565223a5b5d7d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", - "metadata": "02f47efa834bc0559afae9a660b2efefddd0c6dc6e1bbcf9c3994e45ea9e5135ec99997236b6d76caa298331d5cef77cbdf83c1af64584ece537a780ba4ac468835265676973746572204e6f64650007014e6f64652049440000537472696e670003014e6f646520526f6c65000155496e74380003014e6574772e20416464726573730002537472696e670003014e6574772e204b65790003537472696e670003015374616b696e67204b65790004537472696e67000301416d6f756e74000555466978363400030400035075622e204b65790006537472696e670003", - "hash": "f47efa834bc0559afae9a660b2efefddd0c6dc6e1bbcf9c3994e45ea9e5135ec" + "encodedTransactionPayloadHex": "f9058eb90423696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f20437265617465732061206d616368696e65206163636f756e7420666f722061206e6f6465207468617420697320616c726561647920696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f20616e642061646473207075626c6963206b65797320746f20746865206e6577206163636f756e740a0a7472616e73616374696f6e286e6f646549443a20537472696e672c207075626c69634b6579733a205b537472696e675d29207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a0a20202020202020206966206c6574206d616368696e654163636f756e74203d2073656c662e7374616b696e67436f6c6c656374696f6e5265662e6372656174654d616368696e654163636f756e74466f724578697374696e674e6f6465286e6f646549443a206e6f646549442c2070617965723a206163636f756e7429207b0a2020202020202020202020206966207075626c69634b657973203d3d206e696c207c7c207075626c69634b657973212e6c656e677468203d3d2030207b0a2020202020202020202020202020202070616e6963282243616e6e6f742070726f76696465207a65726f206b65797320666f7220746865206d616368696e65206163636f756e7422290a2020202020202020202020207d0a202020202020202020202020666f72206b657920696e207075626c69634b65797321207b0a202020202020202020202020202020206d616368696e654163636f756e742e6164645075626c69634b6579286b65792e6465636f64654865782829290a2020202020202020202020207d0a20202020202020207d20656c7365207b0a20202020202020202020202070616e69632822436f756c64206e6f74206372656174652061206d616368696e65206163636f756e7420666f7220746865206e6f646522290a20202020202020207d0a202020207d0a7d0af90125b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db8c57b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634227d5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", + "encodedTransactionEnvelopeHex": "f90592f9058eb90423696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f20437265617465732061206d616368696e65206163636f756e7420666f722061206e6f6465207468617420697320616c726561647920696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f20616e642061646473207075626c6963206b65797320746f20746865206e6577206163636f756e740a0a7472616e73616374696f6e286e6f646549443a20537472696e672c207075626c69634b6579733a205b537472696e675d29207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a0a20202020202020206966206c6574206d616368696e654163636f756e74203d2073656c662e7374616b696e67436f6c6c656374696f6e5265662e6372656174654d616368696e654163636f756e74466f724578697374696e674e6f6465286e6f646549443a206e6f646549442c2070617965723a206163636f756e7429207b0a2020202020202020202020206966207075626c69634b657973203d3d206e696c207c7c207075626c69634b657973212e6c656e677468203d3d2030207b0a2020202020202020202020202020202070616e6963282243616e6e6f742070726f76696465207a65726f206b65797320666f7220746865206d616368696e65206163636f756e7422290a2020202020202020202020207d0a202020202020202020202020666f72206b657920696e207075626c69634b65797321207b0a202020202020202020202020202020206d616368696e654163636f756e742e6164645075626c69634b6579286b65792e6465636f64654865782829290a2020202020202020202020207d0a20202020202020207d20656c7365207b0a20202020202020202020202070616e69632822436f756c64206e6f74206372656174652061206d616368696e65206163636f756e7420666f7220746865206e6f646522290a20202020202020207d0a202020207d0a7d0af90125b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db8c57b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634227d5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", + "metadata": "02e79df145af42488e3da1d1b2e50a38a2084229896d670884f278a2119dc3bf9ec2442b498eea025099815ea613d6407407192dc12ad70e1a4f47936db804a841437265617465204d616368696e65204163636f756e740002014e6f64652049440000537472696e6700030300035075622e204b65790001537472696e670003", + "hash": "e79df145af42488e3da1d1b2e50a38a2084229896d670884f278a2119dc3bf9e" }, { - "title": "SCO.03 - Register Node - 3", + "title": "SCO.04 - Create Machine Account - 3", "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/// 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": "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": "Array", + "value": [ + { + "type": "String", + "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164" + }, + { + "type": "String", + "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164" + }, + { + "type": "String", + "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164" + } + ] } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -1360,43 +1269,28 @@ ] }, "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/// 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": "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": "Array", + "value": [ + { + "type": "String", + "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164" + }, + { + "type": "String", + "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164" + }, + { + "type": "String", + "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164" + } + ] } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -1412,61 +1306,29 @@ ], "payloadSigs": [] }, - "encodedTransactionPayloadHex": "f908b5b90534696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f2052656769737465727320612064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e207265736f757263650a2f2f2f20666f722074686520737065636966696564206e6f646520696e666f726d6174696f6e20616e642074686520616d6f756e74206f6620746f6b656e7320746f20636f6d6d69740a0a7472616e73616374696f6e2869643a20537472696e672c0a202020202020202020202020726f6c653a2055496e74382c0a2020202020202020202020206e6574776f726b696e67416464726573733a20537472696e672c0a2020202020202020202020206e6574776f726b696e674b65793a20537472696e672c0a2020202020202020202020207374616b696e674b65793a20537472696e672c0a202020202020202020202020616d6f756e743a205546697836342c0a2020202020202020202020207075626c69634b6579733a205b537472696e675d3f29207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a0a20202020202020206966206c6574206d616368696e654163636f756e74203d2073656c662e7374616b696e67436f6c6c656374696f6e5265662e72656769737465724e6f6465280a20202020202020202020202069643a2069642c0a202020202020202020202020726f6c653a20726f6c652c0a2020202020202020202020206e6574776f726b696e67416464726573733a206e6574776f726b696e67416464726573732c0a2020202020202020202020206e6574776f726b696e674b65793a206e6574776f726b696e674b65792c0a2020202020202020202020207374616b696e674b65793a207374616b696e674b65792c0a202020202020202020202020616d6f756e743a20616d6f756e742c0a20202020202020202020202070617965723a206163636f756e7429200a20202020202020207b0a2020202020202020202020206966207075626c69634b657973203d3d206e696c207c7c207075626c69634b657973212e6c656e677468203d3d2030207b0a2020202020202020202020202020202070616e6963282243616e6e6f742070726f76696465207a65726f206b65797320666f7220746865206d616368696e65206163636f756e7422290a2020202020202020202020207d0a202020202020202020202020666f72206b657920696e207075626c69634b65797321207b0a202020202020202020202020202020206d616368696e654163636f756e742e6164645075626c69634b6579286b65792e6465636f64654865782829290a2020202020202020202020207d0a20202020202020207d0a202020207d0a7d0af9033bb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227d9c7b2274797065223a2255496e7438222c2276616c7565223a2231227daf7b2274797065223a22537472696e67222c2276616c7565223a22666c6f772d6e6f64652e746573743a33353639227db89c7b2274797065223a22537472696e67222c2276616c7565223a223133343833303762633737633638386538303034396465396430383161613039373535646133336536393937363035666130353964623231343466633835653536306362653666376461386437346234353366353931363631386362386664333932633264623835366633653738323231646336386462316231643931346534227db8dc7b2274797065223a22537472696e67222c2276616c7565223a22396539616530643634356664356664393035303739326530623064616138326363313638366439313333616661306638316137383462333735633432616534383536376431353435653761396531393635663263316133326637336366383537356562623761393637663665346431303464326466373865623862653430393133356431326461303439396238613030373731663634326331623963343933393766323262343430343339663033366333626465653832663533303964616233227db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227db8e17b2274797065223a224f7074696f6e616c222c2276616c7565223a7b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634227d5d7d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", - "encodedTransactionEnvelopeHex": "f908b9f908b5b90534696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f2052656769737465727320612064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e207265736f757263650a2f2f2f20666f722074686520737065636966696564206e6f646520696e666f726d6174696f6e20616e642074686520616d6f756e74206f6620746f6b656e7320746f20636f6d6d69740a0a7472616e73616374696f6e2869643a20537472696e672c0a202020202020202020202020726f6c653a2055496e74382c0a2020202020202020202020206e6574776f726b696e67416464726573733a20537472696e672c0a2020202020202020202020206e6574776f726b696e674b65793a20537472696e672c0a2020202020202020202020207374616b696e674b65793a20537472696e672c0a202020202020202020202020616d6f756e743a205546697836342c0a2020202020202020202020207075626c69634b6579733a205b537472696e675d3f29207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a0a20202020202020206966206c6574206d616368696e654163636f756e74203d2073656c662e7374616b696e67436f6c6c656374696f6e5265662e72656769737465724e6f6465280a20202020202020202020202069643a2069642c0a202020202020202020202020726f6c653a20726f6c652c0a2020202020202020202020206e6574776f726b696e67416464726573733a206e6574776f726b696e67416464726573732c0a2020202020202020202020206e6574776f726b696e674b65793a206e6574776f726b696e674b65792c0a2020202020202020202020207374616b696e674b65793a207374616b696e674b65792c0a202020202020202020202020616d6f756e743a20616d6f756e742c0a20202020202020202020202070617965723a206163636f756e7429200a20202020202020207b0a2020202020202020202020206966207075626c69634b657973203d3d206e696c207c7c207075626c69634b657973212e6c656e677468203d3d2030207b0a2020202020202020202020202020202070616e6963282243616e6e6f742070726f76696465207a65726f206b65797320666f7220746865206d616368696e65206163636f756e7422290a2020202020202020202020207d0a202020202020202020202020666f72206b657920696e207075626c69634b65797321207b0a202020202020202020202020202020206d616368696e654163636f756e742e6164645075626c69634b6579286b65792e6465636f64654865782829290a2020202020202020202020207d0a20202020202020207d0a202020207d0a7d0af9033bb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227d9c7b2274797065223a2255496e7438222c2276616c7565223a2231227daf7b2274797065223a22537472696e67222c2276616c7565223a22666c6f772d6e6f64652e746573743a33353639227db89c7b2274797065223a22537472696e67222c2276616c7565223a223133343833303762633737633638386538303034396465396430383161613039373535646133336536393937363035666130353964623231343466633835653536306362653666376461386437346234353366353931363631386362386664333932633264623835366633653738323231646336386462316231643931346534227db8dc7b2274797065223a22537472696e67222c2276616c7565223a22396539616530643634356664356664393035303739326530623064616138326363313638366439313333616661306638316137383462333735633432616534383536376431353435653761396531393635663263316133326637336366383537356562623761393637663665346431303464326466373865623862653430393133356431326461303439396238613030373731663634326331623963343933393766323262343430343339663033366333626465653832663533303964616233227db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227db8e17b2274797065223a224f7074696f6e616c222c2276616c7565223a7b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634227d5d7d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", - "metadata": "02f47efa834bc0559afae9a660b2efefddd0c6dc6e1bbcf9c3994e45ea9e5135ec99997236b6d76caa298331d5cef77cbdf83c1af64584ece537a780ba4ac468835265676973746572204e6f64650007014e6f64652049440000537472696e670003014e6f646520526f6c65000155496e74380003014e6574772e20416464726573730002537472696e670003014e6574772e204b65790003537472696e670003015374616b696e67204b65790004537472696e67000301416d6f756e74000555466978363400030400035075622e204b65790006537472696e670003", - "hash": "f47efa834bc0559afae9a660b2efefddd0c6dc6e1bbcf9c3994e45ea9e5135ec" + "encodedTransactionPayloadHex": "f906e5b90423696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f20437265617465732061206d616368696e65206163636f756e7420666f722061206e6f6465207468617420697320616c726561647920696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f20616e642061646473207075626c6963206b65797320746f20746865206e6577206163636f756e740a0a7472616e73616374696f6e286e6f646549443a20537472696e672c207075626c69634b6579733a205b537472696e675d29207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a0a20202020202020206966206c6574206d616368696e654163636f756e74203d2073656c662e7374616b696e67436f6c6c656374696f6e5265662e6372656174654d616368696e654163636f756e74466f724578697374696e674e6f6465286e6f646549443a206e6f646549442c2070617965723a206163636f756e7429207b0a2020202020202020202020206966207075626c69634b657973203d3d206e696c207c7c207075626c69634b657973212e6c656e677468203d3d2030207b0a2020202020202020202020202020202070616e6963282243616e6e6f742070726f76696465207a65726f206b65797320666f7220746865206d616368696e65206163636f756e7422290a2020202020202020202020207d0a202020202020202020202020666f72206b657920696e207075626c69634b65797321207b0a202020202020202020202020202020206d616368696e654163636f756e742e6164645075626c69634b6579286b65792e6465636f64654865782829290a2020202020202020202020207d0a20202020202020207d20656c7365207b0a20202020202020202020202070616e69632822436f756c64206e6f74206372656174652061206d616368696e65206163636f756e7420666f7220746865206e6f646522290a20202020202020207d0a202020207d0a7d0af9027cb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db9021b7b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634227d2c7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634227d2c7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634227d5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", + "encodedTransactionEnvelopeHex": "f906e9f906e5b90423696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f20437265617465732061206d616368696e65206163636f756e7420666f722061206e6f6465207468617420697320616c726561647920696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f20616e642061646473207075626c6963206b65797320746f20746865206e6577206163636f756e740a0a7472616e73616374696f6e286e6f646549443a20537472696e672c207075626c69634b6579733a205b537472696e675d29207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a0a20202020202020206966206c6574206d616368696e654163636f756e74203d2073656c662e7374616b696e67436f6c6c656374696f6e5265662e6372656174654d616368696e654163636f756e74466f724578697374696e674e6f6465286e6f646549443a206e6f646549442c2070617965723a206163636f756e7429207b0a2020202020202020202020206966207075626c69634b657973203d3d206e696c207c7c207075626c69634b657973212e6c656e677468203d3d2030207b0a2020202020202020202020202020202070616e6963282243616e6e6f742070726f76696465207a65726f206b65797320666f7220746865206d616368696e65206163636f756e7422290a2020202020202020202020207d0a202020202020202020202020666f72206b657920696e207075626c69634b65797321207b0a202020202020202020202020202020206d616368696e654163636f756e742e6164645075626c69634b6579286b65792e6465636f64654865782829290a2020202020202020202020207d0a20202020202020207d20656c7365207b0a20202020202020202020202070616e69632822436f756c64206e6f74206372656174652061206d616368696e65206163636f756e7420666f7220746865206e6f646522290a20202020202020207d0a202020207d0a7d0af9027cb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db9021b7b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634227d2c7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634227d2c7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634227d5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", + "metadata": "02e79df145af42488e3da1d1b2e50a38a2084229896d670884f278a2119dc3bf9ec2442b498eea025099815ea613d6407407192dc12ad70e1a4f47936db804a841437265617465204d616368696e65204163636f756e740002014e6f64652049440000537472696e6700030300035075622e204b65790001537472696e670003", + "hash": "e79df145af42488e3da1d1b2e50a38a2084229896d670884f278a2119dc3bf9e" }, { - "title": "SCO.03 - Register Node - 4", + "title": "SCO.05 - Request Unstaking - 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/// 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": "UInt8", - "value": "1" - }, - { - "type": "String", - "value": "flow-node.test:3569" - }, - { - "type": "String", - "value": "1348307bc77c688e80049de9d081aa09755da33e6997605fa059db2144fc85e560cbe6f7da8d74b453f5916618cb8fd392c2db856f3e78221dc68db1b1d914e4" - }, - { - "type": "String", - "value": "9e9ae0d645fd5fd9050792e0b0daa82cc1686d9133afa0f81a784b375c42ae48567d1545e7a9e1965f2c1a32f73cf8575ebb7a967f6e4d104d2df78eb8be409135d12da0499b8a00771f642c1b9c49397f22b440439f036c3bdee82f5309dab3" + "type": "Optional", + "value": null }, { "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", @@ -1482,51 +1344,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/// 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": "UInt8", - "value": "1" - }, - { - "type": "String", - "value": "flow-node.test:3569" - }, - { - "type": "String", - "value": "1348307bc77c688e80049de9d081aa09755da33e6997605fa059db2144fc85e560cbe6f7da8d74b453f5916618cb8fd392c2db856f3e78221dc68db1b1d914e4" - }, - { - "type": "String", - "value": "9e9ae0d645fd5fd9050792e0b0daa82cc1686d9133afa0f81a784b375c42ae48567d1545e7a9e1965f2c1a32f73cf8575ebb7a967f6e4d104d2df78eb8be409135d12da0499b8a00771f642c1b9c49397f22b440439f036c3bdee82f5309dab3" + "type": "Optional", + "value": null }, { "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", @@ -1542,25 +1372,32 @@ ], "payloadSigs": [] }, - "encodedTransactionPayloadHex": "f90a0cb90534696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f2052656769737465727320612064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e207265736f757263650a2f2f2f20666f722074686520737065636966696564206e6f646520696e666f726d6174696f6e20616e642074686520616d6f756e74206f6620746f6b656e7320746f20636f6d6d69740a0a7472616e73616374696f6e2869643a20537472696e672c0a202020202020202020202020726f6c653a2055496e74382c0a2020202020202020202020206e6574776f726b696e67416464726573733a20537472696e672c0a2020202020202020202020206e6574776f726b696e674b65793a20537472696e672c0a2020202020202020202020207374616b696e674b65793a20537472696e672c0a202020202020202020202020616d6f756e743a205546697836342c0a2020202020202020202020207075626c69634b6579733a205b537472696e675d3f29207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a0a20202020202020206966206c6574206d616368696e654163636f756e74203d2073656c662e7374616b696e67436f6c6c656374696f6e5265662e72656769737465724e6f6465280a20202020202020202020202069643a2069642c0a202020202020202020202020726f6c653a20726f6c652c0a2020202020202020202020206e6574776f726b696e67416464726573733a206e6574776f726b696e67416464726573732c0a2020202020202020202020206e6574776f726b696e674b65793a206e6574776f726b696e674b65792c0a2020202020202020202020207374616b696e674b65793a207374616b696e674b65792c0a202020202020202020202020616d6f756e743a20616d6f756e742c0a20202020202020202020202070617965723a206163636f756e7429200a20202020202020207b0a2020202020202020202020206966207075626c69634b657973203d3d206e696c207c7c207075626c69634b657973212e6c656e677468203d3d2030207b0a2020202020202020202020202020202070616e6963282243616e6e6f742070726f76696465207a65726f206b65797320666f7220746865206d616368696e65206163636f756e7422290a2020202020202020202020207d0a202020202020202020202020666f72206b657920696e207075626c69634b65797321207b0a202020202020202020202020202020206d616368696e654163636f756e742e6164645075626c69634b6579286b65792e6465636f64654865782829290a2020202020202020202020207d0a20202020202020207d0a202020207d0a7d0af90492b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227d9c7b2274797065223a2255496e7438222c2276616c7565223a2231227daf7b2274797065223a22537472696e67222c2276616c7565223a22666c6f772d6e6f64652e746573743a33353639227db89c7b2274797065223a22537472696e67222c2276616c7565223a223133343833303762633737633638386538303034396465396430383161613039373535646133336536393937363035666130353964623231343466633835653536306362653666376461386437346234353366353931363631386362386664333932633264623835366633653738323231646336386462316231643931346534227db8dc7b2274797065223a22537472696e67222c2276616c7565223a22396539616530643634356664356664393035303739326530623064616138326363313638366439313333616661306638316137383462333735633432616534383536376431353435653761396531393635663263316133326637336366383537356562623761393637663665346431303464326466373865623862653430393133356431326461303439396238613030373731663634326331623963343933393766323262343430343339663033366333626465653832663533303964616233227db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227db902377b2274797065223a224f7074696f6e616c222c2276616c7565223a7b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634227d2c7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634227d2c7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634227d5d7d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", - "encodedTransactionEnvelopeHex": "f90a10f90a0cb90534696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f2052656769737465727320612064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e207265736f757263650a2f2f2f20666f722074686520737065636966696564206e6f646520696e666f726d6174696f6e20616e642074686520616d6f756e74206f6620746f6b656e7320746f20636f6d6d69740a0a7472616e73616374696f6e2869643a20537472696e672c0a202020202020202020202020726f6c653a2055496e74382c0a2020202020202020202020206e6574776f726b696e67416464726573733a20537472696e672c0a2020202020202020202020206e6574776f726b696e674b65793a20537472696e672c0a2020202020202020202020207374616b696e674b65793a20537472696e672c0a202020202020202020202020616d6f756e743a205546697836342c0a2020202020202020202020207075626c69634b6579733a205b537472696e675d3f29207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a0a20202020202020206966206c6574206d616368696e654163636f756e74203d2073656c662e7374616b696e67436f6c6c656374696f6e5265662e72656769737465724e6f6465280a20202020202020202020202069643a2069642c0a202020202020202020202020726f6c653a20726f6c652c0a2020202020202020202020206e6574776f726b696e67416464726573733a206e6574776f726b696e67416464726573732c0a2020202020202020202020206e6574776f726b696e674b65793a206e6574776f726b696e674b65792c0a2020202020202020202020207374616b696e674b65793a207374616b696e674b65792c0a202020202020202020202020616d6f756e743a20616d6f756e742c0a20202020202020202020202070617965723a206163636f756e7429200a20202020202020207b0a2020202020202020202020206966207075626c69634b657973203d3d206e696c207c7c207075626c69634b657973212e6c656e677468203d3d2030207b0a2020202020202020202020202020202070616e6963282243616e6e6f742070726f76696465207a65726f206b65797320666f7220746865206d616368696e65206163636f756e7422290a2020202020202020202020207d0a202020202020202020202020666f72206b657920696e207075626c69634b65797321207b0a202020202020202020202020202020206d616368696e654163636f756e742e6164645075626c69634b6579286b65792e6465636f64654865782829290a2020202020202020202020207d0a20202020202020207d0a202020207d0a7d0af90492b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227d9c7b2274797065223a2255496e7438222c2276616c7565223a2231227daf7b2274797065223a22537472696e67222c2276616c7565223a22666c6f772d6e6f64652e746573743a33353639227db89c7b2274797065223a22537472696e67222c2276616c7565223a223133343833303762633737633638386538303034396465396430383161613039373535646133336536393937363035666130353964623231343466633835653536306362653666376461386437346234353366353931363631386362386664333932633264623835366633653738323231646336386462316231643931346534227db8dc7b2274797065223a22537472696e67222c2276616c7565223a22396539616530643634356664356664393035303739326530623064616138326363313638366439313333616661306638316137383462333735633432616534383536376431353435653761396531393635663263316133326637336366383537356562623761393637663665346431303464326466373865623862653430393133356431326461303439396238613030373731663634326331623963343933393766323262343430343339663033366333626465653832663533303964616233227db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227db902377b2274797065223a224f7074696f6e616c222c2276616c7565223a7b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634227d2c7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634227d2c7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634227d5d7d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", - "metadata": "02f47efa834bc0559afae9a660b2efefddd0c6dc6e1bbcf9c3994e45ea9e5135ec99997236b6d76caa298331d5cef77cbdf83c1af64584ece537a780ba4ac468835265676973746572204e6f64650007014e6f64652049440000537472696e670003014e6f646520526f6c65000155496e74380003014e6574772e20416464726573730002537472696e670003014e6574772e204b65790003537472696e670003015374616b696e67204b65790004537472696e67000301416d6f756e74000555466978363400030400035075622e204b65790006537472696e670003", - "hash": "f47efa834bc0559afae9a660b2efefddd0c6dc6e1bbcf9c3994e45ea9e5135ec" + "encodedTransactionPayloadHex": "f90399b902a4696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f20526571756573747320756e7374616b696e6720666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e72657175657374556e7374616b696e67286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8b0b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227da07b2274797065223a224f7074696f6e616c222c2276616c7565223a6e756c6c7db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", + "encodedTransactionEnvelopeHex": "f9039df90399b902a4696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f20526571756573747320756e7374616b696e6720666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e72657175657374556e7374616b696e67286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8b0b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227da07b2274797065223a224f7074696f6e616c222c2276616c7565223a6e756c6c7db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", + "metadata": "02b00f6b3b9d8d7d4a9a8ad14fce11ee0edb23c39c56a8c1351e6b597f53f2fb71a552951c5e6300a118610fbf2d36b3073ee266e1d26787d04717c141976ef78c5265717565737420556e7374616b696e670003014e6f64652049440000537472696e6700030244656c656761746f72204944000155496e743332000301416d6f756e7400025546697836340003", + "hash": "b00f6b3b9d8d7d4a9a8ad14fce11ee0edb23c39c56a8c1351e6b597f53f2fb71" }, { - "title": "SCO.04 - Create Machine Account - 1", + "title": "SCO.05 - Request Unstaking - 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/// 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": "Array", - "value": [] + "type": "Optional", + "value": { + "type": "UInt32", + "value": "42" + } + }, + { + "type": "UFix64", + "value": "92233720368.54775808" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -1576,15 +1413,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/// 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": "Array", - "value": [] + "type": "Optional", + "value": { + "type": "UInt32", + "value": "42" + } + }, + { + "type": "UFix64", + "value": "92233720368.54775808" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -1600,30 +1444,29 @@ ], "payloadSigs": [] }, - "encodedTransactionPayloadHex": "f904e2b90423696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f20437265617465732061206d616368696e65206163636f756e7420666f722061206e6f6465207468617420697320616c726561647920696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f20616e642061646473207075626c6963206b65797320746f20746865206e6577206163636f756e740a0a7472616e73616374696f6e286e6f646549443a20537472696e672c207075626c69634b6579733a205b537472696e675d29207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a0a20202020202020206966206c6574206d616368696e654163636f756e74203d2073656c662e7374616b696e67436f6c6c656374696f6e5265662e6372656174654d616368696e654163636f756e74466f724578697374696e674e6f6465286e6f646549443a206e6f646549442c2070617965723a206163636f756e7429207b0a2020202020202020202020206966207075626c69634b657973203d3d206e696c207c7c207075626c69634b657973212e6c656e677468203d3d2030207b0a2020202020202020202020202020202070616e6963282243616e6e6f742070726f76696465207a65726f206b65797320666f7220746865206d616368696e65206163636f756e7422290a2020202020202020202020207d0a202020202020202020202020666f72206b657920696e207075626c69634b65797321207b0a202020202020202020202020202020206d616368696e654163636f756e742e6164645075626c69634b6579286b65792e6465636f64654865782829290a2020202020202020202020207d0a20202020202020207d20656c7365207b0a20202020202020202020202070616e69632822436f756c64206e6f74206372656174652061206d616368696e65206163636f756e7420666f7220746865206e6f646522290a20202020202020207d0a202020207d0a7d0af87ab85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227d9b7b2274797065223a224172726179222c2276616c7565223a5b5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", - "encodedTransactionEnvelopeHex": "f904e6f904e2b90423696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f20437265617465732061206d616368696e65206163636f756e7420666f722061206e6f6465207468617420697320616c726561647920696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f20616e642061646473207075626c6963206b65797320746f20746865206e6577206163636f756e740a0a7472616e73616374696f6e286e6f646549443a20537472696e672c207075626c69634b6579733a205b537472696e675d29207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a0a20202020202020206966206c6574206d616368696e654163636f756e74203d2073656c662e7374616b696e67436f6c6c656374696f6e5265662e6372656174654d616368696e654163636f756e74466f724578697374696e674e6f6465286e6f646549443a206e6f646549442c2070617965723a206163636f756e7429207b0a2020202020202020202020206966207075626c69634b657973203d3d206e696c207c7c207075626c69634b657973212e6c656e677468203d3d2030207b0a2020202020202020202020202020202070616e6963282243616e6e6f742070726f76696465207a65726f206b65797320666f7220746865206d616368696e65206163636f756e7422290a2020202020202020202020207d0a202020202020202020202020666f72206b657920696e207075626c69634b65797321207b0a202020202020202020202020202020206d616368696e654163636f756e742e6164645075626c69634b6579286b65792e6465636f64654865782829290a2020202020202020202020207d0a20202020202020207d20656c7365207b0a20202020202020202020202070616e69632822436f756c64206e6f74206372656174652061206d616368696e65206163636f756e7420666f7220746865206e6f646522290a20202020202020207d0a202020207d0a7d0af87ab85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227d9b7b2274797065223a224172726179222c2276616c7565223a5b5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", - "metadata": "02e79df145af42488e3da1d1b2e50a38a2084229896d670884f278a2119dc3bf9ec2442b498eea025099815ea613d6407407192dc12ad70e1a4f47936db804a841437265617465204d616368696e65204163636f756e740002014e6f64652049440000537472696e6700030300035075622e204b65790001537472696e670003", - "hash": "e79df145af42488e3da1d1b2e50a38a2084229896d670884f278a2119dc3bf9e" + "encodedTransactionPayloadHex": "f903b4b902a4696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f20526571756573747320756e7374616b696e6720666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e72657175657374556e7374616b696e67286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8cbb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db83a7b2274797065223a224f7074696f6e616c222c2276616c7565223a7b2274797065223a2255496e743332222c2276616c7565223a223432227d7db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", + "encodedTransactionEnvelopeHex": "f903b8f903b4b902a4696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f20526571756573747320756e7374616b696e6720666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e72657175657374556e7374616b696e67286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8cbb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db83a7b2274797065223a224f7074696f6e616c222c2276616c7565223a7b2274797065223a2255496e743332222c2276616c7565223a223432227d7db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", + "metadata": "02b00f6b3b9d8d7d4a9a8ad14fce11ee0edb23c39c56a8c1351e6b597f53f2fb71a552951c5e6300a118610fbf2d36b3073ee266e1d26787d04717c141976ef78c5265717565737420556e7374616b696e670003014e6f64652049440000537472696e6700030244656c656761746f72204944000155496e743332000301416d6f756e7400025546697836340003", + "hash": "b00f6b3b9d8d7d4a9a8ad14fce11ee0edb23c39c56a8c1351e6b597f53f2fb71" }, { - "title": "SCO.04 - Create Machine Account - 2", + "title": "SCO.06 - Stake New 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 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", "arguments": [ { "type": "String", "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" }, { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164" - } - ] + "type": "Optional", + "value": null + }, + { + "type": "UFix64", + "value": "92233720368.54775808" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -1639,20 +1482,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 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", "arguments": [ { "type": "String", "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" }, { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164" - } - ] + "type": "Optional", + "value": null + }, + { + "type": "UFix64", + "value": "92233720368.54775808" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -1668,38 +1510,32 @@ ], "payloadSigs": [] }, - "encodedTransactionPayloadHex": "f9058eb90423696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f20437265617465732061206d616368696e65206163636f756e7420666f722061206e6f6465207468617420697320616c726561647920696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f20616e642061646473207075626c6963206b65797320746f20746865206e6577206163636f756e740a0a7472616e73616374696f6e286e6f646549443a20537472696e672c207075626c69634b6579733a205b537472696e675d29207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a0a20202020202020206966206c6574206d616368696e654163636f756e74203d2073656c662e7374616b696e67436f6c6c656374696f6e5265662e6372656174654d616368696e654163636f756e74466f724578697374696e674e6f6465286e6f646549443a206e6f646549442c2070617965723a206163636f756e7429207b0a2020202020202020202020206966207075626c69634b657973203d3d206e696c207c7c207075626c69634b657973212e6c656e677468203d3d2030207b0a2020202020202020202020202020202070616e6963282243616e6e6f742070726f76696465207a65726f206b65797320666f7220746865206d616368696e65206163636f756e7422290a2020202020202020202020207d0a202020202020202020202020666f72206b657920696e207075626c69634b65797321207b0a202020202020202020202020202020206d616368696e654163636f756e742e6164645075626c69634b6579286b65792e6465636f64654865782829290a2020202020202020202020207d0a20202020202020207d20656c7365207b0a20202020202020202020202070616e69632822436f756c64206e6f74206372656174652061206d616368696e65206163636f756e7420666f7220746865206e6f646522290a20202020202020207d0a202020207d0a7d0af90125b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db8c57b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634227d5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", - "encodedTransactionEnvelopeHex": "f90592f9058eb90423696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f20437265617465732061206d616368696e65206163636f756e7420666f722061206e6f6465207468617420697320616c726561647920696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f20616e642061646473207075626c6963206b65797320746f20746865206e6577206163636f756e740a0a7472616e73616374696f6e286e6f646549443a20537472696e672c207075626c69634b6579733a205b537472696e675d29207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a0a20202020202020206966206c6574206d616368696e654163636f756e74203d2073656c662e7374616b696e67436f6c6c656374696f6e5265662e6372656174654d616368696e654163636f756e74466f724578697374696e674e6f6465286e6f646549443a206e6f646549442c2070617965723a206163636f756e7429207b0a2020202020202020202020206966207075626c69634b657973203d3d206e696c207c7c207075626c69634b657973212e6c656e677468203d3d2030207b0a2020202020202020202020202020202070616e6963282243616e6e6f742070726f76696465207a65726f206b65797320666f7220746865206d616368696e65206163636f756e7422290a2020202020202020202020207d0a202020202020202020202020666f72206b657920696e207075626c69634b65797321207b0a202020202020202020202020202020206d616368696e654163636f756e742e6164645075626c69634b6579286b65792e6465636f64654865782829290a2020202020202020202020207d0a20202020202020207d20656c7365207b0a20202020202020202020202070616e69632822436f756c64206e6f74206372656174652061206d616368696e65206163636f756e7420666f7220746865206e6f646522290a20202020202020207d0a202020207d0a7d0af90125b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db8c57b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634227d5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", - "metadata": "02e79df145af42488e3da1d1b2e50a38a2084229896d670884f278a2119dc3bf9ec2442b498eea025099815ea613d6407407192dc12ad70e1a4f47936db804a841437265617465204d616368696e65204163636f756e740002014e6f64652049440000537472696e6700030300035075622e204b65790001537472696e670003", - "hash": "e79df145af42488e3da1d1b2e50a38a2084229896d670884f278a2119dc3bf9e" + "encodedTransactionPayloadHex": "f90415b90320696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f20436f6d6d697473206e657720746f6b656e7320746f207374616b6520666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f2054686520746f6b656e732066726f6d20746865206c6f636b6564207661756c742061726520757365642066697273742c206966206974206578697374730a2f2f2f20666f6c6c6f7765642062792074686520746f6b656e732066726f6d2074686520756e6c6f636b6564207661756c740a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e7374616b654e6577546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8b0b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227da07b2274797065223a224f7074696f6e616c222c2276616c7565223a6e756c6c7db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", + "encodedTransactionEnvelopeHex": "f90419f90415b90320696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f20436f6d6d697473206e657720746f6b656e7320746f207374616b6520666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f2054686520746f6b656e732066726f6d20746865206c6f636b6564207661756c742061726520757365642066697273742c206966206974206578697374730a2f2f2f20666f6c6c6f7765642062792074686520746f6b656e732066726f6d2074686520756e6c6f636b6564207661756c740a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e7374616b654e6577546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8b0b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227da07b2274797065223a224f7074696f6e616c222c2276616c7565223a6e756c6c7db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", + "metadata": "021307928440cee4289235793d6ff860a24315f7b6a5d5907a145dcc5f83702a2c8e10ac56db8ec5d5e0051d3c9608fabc8edd6abed983f6d3a254e7668a54b32b5374616b65204e657720546f6b656e730003014e6f64652049440000537472696e6700030244656c656761746f72204944000155496e743332000301416d6f756e7400025546697836340003", + "hash": "1307928440cee4289235793d6ff860a24315f7b6a5d5907a145dcc5f83702a2c" }, { - "title": "SCO.04 - Create Machine Account - 3", + "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: &FlowStakingCollection.StakingCollection\n\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", "arguments": [ { "type": "String", "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" }, { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164" - }, - { - "type": "String", - "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164" - }, - { - "type": "String", - "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164" - } - ] + "type": "Optional", + "value": { + "type": "UInt32", + "value": "42" + } + }, + { + "type": "UFix64", + "value": "92233720368.54775808" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -1715,28 +1551,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: &FlowStakingCollection.StakingCollection\n\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", "arguments": [ { "type": "String", "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" }, { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164" - }, - { - "type": "String", - "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164" - }, - { - "type": "String", - "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164" - } - ] + "type": "Optional", + "value": { + "type": "UInt32", + "value": "42" + } + }, + { + "type": "UFix64", + "value": "92233720368.54775808" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -1752,17 +1582,17 @@ ], "payloadSigs": [] }, - "encodedTransactionPayloadHex": "f906e5b90423696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f20437265617465732061206d616368696e65206163636f756e7420666f722061206e6f6465207468617420697320616c726561647920696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f20616e642061646473207075626c6963206b65797320746f20746865206e6577206163636f756e740a0a7472616e73616374696f6e286e6f646549443a20537472696e672c207075626c69634b6579733a205b537472696e675d29207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a0a20202020202020206966206c6574206d616368696e654163636f756e74203d2073656c662e7374616b696e67436f6c6c656374696f6e5265662e6372656174654d616368696e654163636f756e74466f724578697374696e674e6f6465286e6f646549443a206e6f646549442c2070617965723a206163636f756e7429207b0a2020202020202020202020206966207075626c69634b657973203d3d206e696c207c7c207075626c69634b657973212e6c656e677468203d3d2030207b0a2020202020202020202020202020202070616e6963282243616e6e6f742070726f76696465207a65726f206b65797320666f7220746865206d616368696e65206163636f756e7422290a2020202020202020202020207d0a202020202020202020202020666f72206b657920696e207075626c69634b65797321207b0a202020202020202020202020202020206d616368696e654163636f756e742e6164645075626c69634b6579286b65792e6465636f64654865782829290a2020202020202020202020207d0a20202020202020207d20656c7365207b0a20202020202020202020202070616e69632822436f756c64206e6f74206372656174652061206d616368696e65206163636f756e7420666f7220746865206e6f646522290a20202020202020207d0a202020207d0a7d0af9027cb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db9021b7b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634227d2c7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634227d2c7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634227d5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", - "encodedTransactionEnvelopeHex": "f906e9f906e5b90423696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f20437265617465732061206d616368696e65206163636f756e7420666f722061206e6f6465207468617420697320616c726561647920696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f20616e642061646473207075626c6963206b65797320746f20746865206e6577206163636f756e740a0a7472616e73616374696f6e286e6f646549443a20537472696e672c207075626c69634b6579733a205b537472696e675d29207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a0a20202020202020206966206c6574206d616368696e654163636f756e74203d2073656c662e7374616b696e67436f6c6c656374696f6e5265662e6372656174654d616368696e654163636f756e74466f724578697374696e674e6f6465286e6f646549443a206e6f646549442c2070617965723a206163636f756e7429207b0a2020202020202020202020206966207075626c69634b657973203d3d206e696c207c7c207075626c69634b657973212e6c656e677468203d3d2030207b0a2020202020202020202020202020202070616e6963282243616e6e6f742070726f76696465207a65726f206b65797320666f7220746865206d616368696e65206163636f756e7422290a2020202020202020202020207d0a202020202020202020202020666f72206b657920696e207075626c69634b65797321207b0a202020202020202020202020202020206d616368696e654163636f756e742e6164645075626c69634b6579286b65792e6465636f64654865782829290a2020202020202020202020207d0a20202020202020207d20656c7365207b0a20202020202020202020202070616e69632822436f756c64206e6f74206372656174652061206d616368696e65206163636f756e7420666f7220746865206e6f646522290a20202020202020207d0a202020207d0a7d0af9027cb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db9021b7b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634227d2c7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634227d2c7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634227d5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", - "metadata": "02e79df145af42488e3da1d1b2e50a38a2084229896d670884f278a2119dc3bf9ec2442b498eea025099815ea613d6407407192dc12ad70e1a4f47936db804a841437265617465204d616368696e65204163636f756e740002014e6f64652049440000537472696e6700030300035075622e204b65790001537472696e670003", - "hash": "e79df145af42488e3da1d1b2e50a38a2084229896d670884f278a2119dc3bf9e" + "encodedTransactionPayloadHex": "f90430b90320696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f20436f6d6d697473206e657720746f6b656e7320746f207374616b6520666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f2054686520746f6b656e732066726f6d20746865206c6f636b6564207661756c742061726520757365642066697273742c206966206974206578697374730a2f2f2f20666f6c6c6f7765642062792074686520746f6b656e732066726f6d2074686520756e6c6f636b6564207661756c740a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e7374616b654e6577546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8cbb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db83a7b2274797065223a224f7074696f6e616c222c2276616c7565223a7b2274797065223a2255496e743332222c2276616c7565223a223432227d7db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", + "encodedTransactionEnvelopeHex": "f90434f90430b90320696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f20436f6d6d697473206e657720746f6b656e7320746f207374616b6520666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f2054686520746f6b656e732066726f6d20746865206c6f636b6564207661756c742061726520757365642066697273742c206966206974206578697374730a2f2f2f20666f6c6c6f7765642062792074686520746f6b656e732066726f6d2074686520756e6c6f636b6564207661756c740a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e7374616b654e6577546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8cbb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db83a7b2274797065223a224f7074696f6e616c222c2276616c7565223a7b2274797065223a2255496e743332222c2276616c7565223a223432227d7db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", + "metadata": "021307928440cee4289235793d6ff860a24315f7b6a5d5907a145dcc5f83702a2c8e10ac56db8ec5d5e0051d3c9608fabc8edd6abed983f6d3a254e7668a54b32b5374616b65204e657720546f6b656e730003014e6f64652049440000537472696e6700030244656c656761746f72204944000155496e743332000301416d6f756e7400025546697836340003", + "hash": "1307928440cee4289235793d6ff860a24315f7b6a5d5907a145dcc5f83702a2c" }, { - "title": "SCO.05 - Request Unstaking - 1", + "title": "SCO.07 - Stake 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/// 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", @@ -1790,7 +1620,7 @@ ] }, "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 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", @@ -1818,17 +1648,17 @@ ], "payloadSigs": [] }, - "encodedTransactionPayloadHex": "f90399b902a4696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f20526571756573747320756e7374616b696e6720666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e72657175657374556e7374616b696e67286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8b0b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227da07b2274797065223a224f7074696f6e616c222c2276616c7565223a6e756c6c7db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", - "encodedTransactionEnvelopeHex": "f9039df90399b902a4696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f20526571756573747320756e7374616b696e6720666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e72657175657374556e7374616b696e67286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8b0b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227da07b2274797065223a224f7074696f6e616c222c2276616c7565223a6e756c6c7db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", - "metadata": "02b00f6b3b9d8d7d4a9a8ad14fce11ee0edb23c39c56a8c1351e6b597f53f2fb71a552951c5e6300a118610fbf2d36b3073ee266e1d26787d04717c141976ef78c5265717565737420556e7374616b696e670003014e6f64652049440000537472696e6700030244656c656761746f72204944000155496e743332000301416d6f756e7400025546697836340003", - "hash": "b00f6b3b9d8d7d4a9a8ad14fce11ee0edb23c39c56a8c1351e6b597f53f2fb71" + "encodedTransactionPayloadHex": "f903aab902b5696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f20436f6d6d69747320726577617264656420746f6b656e7320746f207374616b6520666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e7374616b655265776172646564546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8b0b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227da07b2274797065223a224f7074696f6e616c222c2276616c7565223a6e756c6c7db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", + "encodedTransactionEnvelopeHex": "f903aef903aab902b5696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f20436f6d6d69747320726577617264656420746f6b656e7320746f207374616b6520666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e7374616b655265776172646564546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8b0b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227da07b2274797065223a224f7074696f6e616c222c2276616c7565223a6e756c6c7db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", + "metadata": "02d7aca7113a7aa03e0afd20ee36f4873779708a02ac4c6985017740c2ecea3d62907c4cfd67a98a8003393c64dc74eb7a957b229352a266139a542bb105ac4c405374616b6520526577617264656420546f6b656e730003014e6f64652049440000537472696e6700030244656c656761746f72204944000155496e743332000301416d6f756e7400025546697836340003", + "hash": "d7aca7113a7aa03e0afd20ee36f4873779708a02ac4c6985017740c2ecea3d62" }, { - "title": "SCO.05 - Request Unstaking - 2", + "title": "SCO.07 - Stake 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/// 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", @@ -1859,7 +1689,7 @@ ] }, "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 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", @@ -1890,17 +1720,17 @@ ], "payloadSigs": [] }, - "encodedTransactionPayloadHex": "f903b4b902a4696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f20526571756573747320756e7374616b696e6720666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e72657175657374556e7374616b696e67286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8cbb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db83a7b2274797065223a224f7074696f6e616c222c2276616c7565223a7b2274797065223a2255496e743332222c2276616c7565223a223432227d7db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", - "encodedTransactionEnvelopeHex": "f903b8f903b4b902a4696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f20526571756573747320756e7374616b696e6720666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e72657175657374556e7374616b696e67286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8cbb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db83a7b2274797065223a224f7074696f6e616c222c2276616c7565223a7b2274797065223a2255496e743332222c2276616c7565223a223432227d7db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", - "metadata": "02b00f6b3b9d8d7d4a9a8ad14fce11ee0edb23c39c56a8c1351e6b597f53f2fb71a552951c5e6300a118610fbf2d36b3073ee266e1d26787d04717c141976ef78c5265717565737420556e7374616b696e670003014e6f64652049440000537472696e6700030244656c656761746f72204944000155496e743332000301416d6f756e7400025546697836340003", - "hash": "b00f6b3b9d8d7d4a9a8ad14fce11ee0edb23c39c56a8c1351e6b597f53f2fb71" + "encodedTransactionPayloadHex": "f903c5b902b5696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f20436f6d6d69747320726577617264656420746f6b656e7320746f207374616b6520666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e7374616b655265776172646564546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8cbb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db83a7b2274797065223a224f7074696f6e616c222c2276616c7565223a7b2274797065223a2255496e743332222c2276616c7565223a223432227d7db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", + "encodedTransactionEnvelopeHex": "f903c9f903c5b902b5696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f20436f6d6d69747320726577617264656420746f6b656e7320746f207374616b6520666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e7374616b655265776172646564546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8cbb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db83a7b2274797065223a224f7074696f6e616c222c2276616c7565223a7b2274797065223a2255496e743332222c2276616c7565223a223432227d7db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", + "metadata": "02d7aca7113a7aa03e0afd20ee36f4873779708a02ac4c6985017740c2ecea3d62907c4cfd67a98a8003393c64dc74eb7a957b229352a266139a542bb105ac4c405374616b6520526577617264656420546f6b656e730003014e6f64652049440000537472696e6700030244656c656761746f72204944000155496e743332000301416d6f756e7400025546697836340003", + "hash": "d7aca7113a7aa03e0afd20ee36f4873779708a02ac4c6985017740c2ecea3d62" }, { - "title": "SCO.06 - Stake New Tokens - 1", + "title": "SCO.08 - Stake 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/// 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", "arguments": [ { "type": "String", @@ -1928,7 +1758,7 @@ ] }, "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/// 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", "arguments": [ { "type": "String", @@ -1956,17 +1786,17 @@ ], "payloadSigs": [] }, - "encodedTransactionPayloadHex": "f90415b90320696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f20436f6d6d697473206e657720746f6b656e7320746f207374616b6520666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f2054686520746f6b656e732066726f6d20746865206c6f636b6564207661756c742061726520757365642066697273742c206966206974206578697374730a2f2f2f20666f6c6c6f7765642062792074686520746f6b656e732066726f6d2074686520756e6c6f636b6564207661756c740a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e7374616b654e6577546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8b0b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227da07b2274797065223a224f7074696f6e616c222c2276616c7565223a6e756c6c7db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", - "encodedTransactionEnvelopeHex": "f90419f90415b90320696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f20436f6d6d697473206e657720746f6b656e7320746f207374616b6520666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f2054686520746f6b656e732066726f6d20746865206c6f636b6564207661756c742061726520757365642066697273742c206966206974206578697374730a2f2f2f20666f6c6c6f7765642062792074686520746f6b656e732066726f6d2074686520756e6c6f636b6564207661756c740a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e7374616b654e6577546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8b0b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227da07b2274797065223a224f7074696f6e616c222c2276616c7565223a6e756c6c7db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", - "metadata": "021307928440cee4289235793d6ff860a24315f7b6a5d5907a145dcc5f83702a2c8e10ac56db8ec5d5e0051d3c9608fabc8edd6abed983f6d3a254e7668a54b32b5374616b65204e657720546f6b656e730003014e6f64652049440000537472696e6700030244656c656761746f72204944000155496e743332000301416d6f756e7400025546697836340003", - "hash": "1307928440cee4289235793d6ff860a24315f7b6a5d5907a145dcc5f83702a2c" + "encodedTransactionPayloadHex": "f903aab902b5696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f20436f6d6d69747320756e7374616b656420746f6b656e7320746f207374616b6520666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e7374616b65556e7374616b6564546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8b0b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227da07b2274797065223a224f7074696f6e616c222c2276616c7565223a6e756c6c7db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", + "encodedTransactionEnvelopeHex": "f903aef903aab902b5696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f20436f6d6d69747320756e7374616b656420746f6b656e7320746f207374616b6520666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e7374616b65556e7374616b6564546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8b0b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227da07b2274797065223a224f7074696f6e616c222c2276616c7565223a6e756c6c7db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", + "metadata": "023595fcd68cff445c65ad99f8d4d726b5e28807b061800769c41cbe3adb98aeec082e690b9647182cf6969db1a0fa8e0f1728da6db01fe0d462e9f0841c268cbb5374616b6520556e7374616b656420546f6b656e730003014e6f64652049440000537472696e6700030244656c656761746f72204944000155496e743332000301416d6f756e7400025546697836340003", + "hash": "3595fcd68cff445c65ad99f8d4d726b5e28807b061800769c41cbe3adb98aeec" }, { - "title": "SCO.06 - Stake New Tokens - 2", + "title": "SCO.08 - Stake 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/// 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", "arguments": [ { "type": "String", @@ -1997,7 +1827,7 @@ ] }, "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/// 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", "arguments": [ { "type": "String", @@ -2028,29 +1858,21 @@ ], "payloadSigs": [] }, - "encodedTransactionPayloadHex": "f90430b90320696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f20436f6d6d697473206e657720746f6b656e7320746f207374616b6520666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f2054686520746f6b656e732066726f6d20746865206c6f636b6564207661756c742061726520757365642066697273742c206966206974206578697374730a2f2f2f20666f6c6c6f7765642062792074686520746f6b656e732066726f6d2074686520756e6c6f636b6564207661756c740a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e7374616b654e6577546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8cbb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db83a7b2274797065223a224f7074696f6e616c222c2276616c7565223a7b2274797065223a2255496e743332222c2276616c7565223a223432227d7db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", - "encodedTransactionEnvelopeHex": "f90434f90430b90320696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f20436f6d6d697473206e657720746f6b656e7320746f207374616b6520666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f2054686520746f6b656e732066726f6d20746865206c6f636b6564207661756c742061726520757365642066697273742c206966206974206578697374730a2f2f2f20666f6c6c6f7765642062792074686520746f6b656e732066726f6d2074686520756e6c6f636b6564207661756c740a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e7374616b654e6577546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8cbb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db83a7b2274797065223a224f7074696f6e616c222c2276616c7565223a7b2274797065223a2255496e743332222c2276616c7565223a223432227d7db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", - "metadata": "021307928440cee4289235793d6ff860a24315f7b6a5d5907a145dcc5f83702a2c8e10ac56db8ec5d5e0051d3c9608fabc8edd6abed983f6d3a254e7668a54b32b5374616b65204e657720546f6b656e730003014e6f64652049440000537472696e6700030244656c656761746f72204944000155496e743332000301416d6f756e7400025546697836340003", - "hash": "1307928440cee4289235793d6ff860a24315f7b6a5d5907a145dcc5f83702a2c" + "encodedTransactionPayloadHex": "f903c5b902b5696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f20436f6d6d69747320756e7374616b656420746f6b656e7320746f207374616b6520666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e7374616b65556e7374616b6564546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8cbb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db83a7b2274797065223a224f7074696f6e616c222c2276616c7565223a7b2274797065223a2255496e743332222c2276616c7565223a223432227d7db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", + "encodedTransactionEnvelopeHex": "f903c9f903c5b902b5696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f20436f6d6d69747320756e7374616b656420746f6b656e7320746f207374616b6520666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e7374616b65556e7374616b6564546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8cbb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db83a7b2274797065223a224f7074696f6e616c222c2276616c7565223a7b2274797065223a2255496e743332222c2276616c7565223a223432227d7db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", + "metadata": "023595fcd68cff445c65ad99f8d4d726b5e28807b061800769c41cbe3adb98aeec082e690b9647182cf6969db1a0fa8e0f1728da6db01fe0d462e9f0841c268cbb5374616b6520556e7374616b656420546f6b656e730003014e6f64652049440000537472696e6700030244656c656761746f72204944000155496e743332000301416d6f756e7400025546697836340003", + "hash": "3595fcd68cff445c65ad99f8d4d726b5e28807b061800769c41cbe3adb98aeec" }, { - "title": "SCO.07 - Stake Rewarded Tokens - 1", + "title": "SCO.09 - Unstake All", "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/// 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", "arguments": [ { "type": "String", "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" - }, - { - "type": "Optional", - "value": null - }, - { - "type": "UFix64", - "value": "92233720368.54775808" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -2066,19 +1888,11 @@ ] }, "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/// 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", "arguments": [ { "type": "String", "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" - }, - { - "type": "Optional", - "value": null - }, - { - "type": "UFix64", - "value": "92233720368.54775808" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -2094,17 +1908,17 @@ ], "payloadSigs": [] }, - "encodedTransactionPayloadHex": "f903aab902b5696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f20436f6d6d69747320726577617264656420746f6b656e7320746f207374616b6520666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e7374616b655265776172646564546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8b0b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227da07b2274797065223a224f7074696f6e616c222c2276616c7565223a6e756c6c7db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", - "encodedTransactionEnvelopeHex": "f903aef903aab902b5696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f20436f6d6d69747320726577617264656420746f6b656e7320746f207374616b6520666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e7374616b655265776172646564546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8b0b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227da07b2274797065223a224f7074696f6e616c222c2276616c7565223a6e756c6c7db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", - "metadata": "02d7aca7113a7aa03e0afd20ee36f4873779708a02ac4c6985017740c2ecea3d62907c4cfd67a98a8003393c64dc74eb7a957b229352a266139a542bb105ac4c405374616b6520526577617264656420546f6b656e730003014e6f64652049440000537472696e6700030244656c656761746f72204944000155496e743332000301416d6f756e7400025546697836340003", - "hash": "d7aca7113a7aa03e0afd20ee36f4873779708a02ac4c6985017740c2ecea3d62" + "encodedTransactionPayloadHex": "f902fdb9025a696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f20526571756573747320746f20756e7374616b6520414c4c20746f6b656e7320666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a0a7472616e73616374696f6e286e6f646549443a20537472696e6729207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e756e7374616b65416c6c286e6f646549443a206e6f64654944290a202020207d0a7d0af85eb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", + "encodedTransactionEnvelopeHex": "f90301f902fdb9025a696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f20526571756573747320746f20756e7374616b6520414c4c20746f6b656e7320666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a0a7472616e73616374696f6e286e6f646549443a20537472696e6729207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e756e7374616b65416c6c286e6f646549443a206e6f64654944290a202020207d0a7d0af85eb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", + "metadata": "020bde358f3965ba2f4c18fb45b6536857c3f53d7d3b740fe66fe93a4ebf7524c1df9c6486baa6f8f685368ea216659239cb81fa8ebd9062a9723edb54ca0d7525556e7374616b6520416c6c0001014e6f64652049440000537472696e670003", + "hash": "0bde358f3965ba2f4c18fb45b6536857c3f53d7d3b740fe66fe93a4ebf7524c1" }, { - "title": "SCO.07 - Stake Rewarded Tokens - 2", + "title": "SCO.10 - Withdraw Rewarded 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 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", @@ -2135,7 +1949,7 @@ ] }, "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: &FlowStakingCollection.StakingCollection\n\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", @@ -2166,17 +1980,17 @@ ], "payloadSigs": [] }, - "encodedTransactionPayloadHex": "f903c5b902b5696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f20436f6d6d69747320726577617264656420746f6b656e7320746f207374616b6520666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e7374616b655265776172646564546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8cbb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db83a7b2274797065223a224f7074696f6e616c222c2276616c7565223a7b2274797065223a2255496e743332222c2276616c7565223a223432227d7db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", - "encodedTransactionEnvelopeHex": "f903c9f903c5b902b5696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f20436f6d6d69747320726577617264656420746f6b656e7320746f207374616b6520666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e7374616b655265776172646564546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8cbb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db83a7b2274797065223a224f7074696f6e616c222c2276616c7565223a7b2274797065223a2255496e743332222c2276616c7565223a223432227d7db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", - "metadata": "02d7aca7113a7aa03e0afd20ee36f4873779708a02ac4c6985017740c2ecea3d62907c4cfd67a98a8003393c64dc74eb7a957b229352a266139a542bb105ac4c405374616b6520526577617264656420546f6b656e730003014e6f64652049440000537472696e6700030244656c656761746f72204944000155496e743332000301416d6f756e7400025546697836340003", - "hash": "d7aca7113a7aa03e0afd20ee36f4873779708a02ac4c6985017740c2ecea3d62" + "encodedTransactionPayloadHex": "f90466b90356696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f205265717565737420746f20776974686472617720726577617264656420746f6b656e7320666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f2054686520746f6b656e7320617265206175746f6d61746963616c6c79206465706f736974656420746f2074686520756e6c6f636b6564206163636f756e74207661756c742066697273742c0a2f2f2f20416e64207468656e20616e79206c6f636b656420746f6b656e7320617265206465706f736974656420696e746f20746865206c6f636b6564206163636f756e74207661756c740a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e77697468647261775265776172646564546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8cbb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db83a7b2274797065223a224f7074696f6e616c222c2276616c7565223a7b2274797065223a2255496e743332222c2276616c7565223a223432227d7db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", + "encodedTransactionEnvelopeHex": "f9046af90466b90356696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f205265717565737420746f20776974686472617720726577617264656420746f6b656e7320666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f2054686520746f6b656e7320617265206175746f6d61746963616c6c79206465706f736974656420746f2074686520756e6c6f636b6564206163636f756e74207661756c742066697273742c0a2f2f2f20416e64207468656e20616e79206c6f636b656420746f6b656e7320617265206465706f736974656420696e746f20746865206c6f636b6564206163636f756e74207661756c740a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e77697468647261775265776172646564546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8cbb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db83a7b2274797065223a224f7074696f6e616c222c2276616c7565223a7b2274797065223a2255496e743332222c2276616c7565223a223432227d7db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", + "metadata": "023af182f568b37a8067d3fb524afcfe96991c85a928bf7651e730be0e15fdb72d27a2b60d538b8bb883b602ea83d1697986a29dd69a44a9209dc75affb9e63299576974686472617720526577617264656420546f6b656e730003014e6f64652049440000537472696e6700030244656c656761746f72204944000155496e743332000301416d6f756e7400025546697836340003", + "hash": "3af182f568b37a8067d3fb524afcfe96991c85a928bf7651e730be0e15fdb72d" }, { - "title": "SCO.08 - Stake Unstaked Tokens - 1", + "title": "SCO.10 - Withdraw Rewarded 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 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", @@ -2204,7 +2018,7 @@ ] }, "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 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", @@ -2232,17 +2046,17 @@ ], "payloadSigs": [] }, - "encodedTransactionPayloadHex": "f903aab902b5696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f20436f6d6d69747320756e7374616b656420746f6b656e7320746f207374616b6520666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e7374616b65556e7374616b6564546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8b0b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227da07b2274797065223a224f7074696f6e616c222c2276616c7565223a6e756c6c7db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", - "encodedTransactionEnvelopeHex": "f903aef903aab902b5696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f20436f6d6d69747320756e7374616b656420746f6b656e7320746f207374616b6520666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e7374616b65556e7374616b6564546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8b0b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227da07b2274797065223a224f7074696f6e616c222c2276616c7565223a6e756c6c7db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", - "metadata": "023595fcd68cff445c65ad99f8d4d726b5e28807b061800769c41cbe3adb98aeec082e690b9647182cf6969db1a0fa8e0f1728da6db01fe0d462e9f0841c268cbb5374616b6520556e7374616b656420546f6b656e730003014e6f64652049440000537472696e6700030244656c656761746f72204944000155496e743332000301416d6f756e7400025546697836340003", - "hash": "3595fcd68cff445c65ad99f8d4d726b5e28807b061800769c41cbe3adb98aeec" + "encodedTransactionPayloadHex": "f9044bb90356696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f205265717565737420746f20776974686472617720726577617264656420746f6b656e7320666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f2054686520746f6b656e7320617265206175746f6d61746963616c6c79206465706f736974656420746f2074686520756e6c6f636b6564206163636f756e74207661756c742066697273742c0a2f2f2f20416e64207468656e20616e79206c6f636b656420746f6b656e7320617265206465706f736974656420696e746f20746865206c6f636b6564206163636f756e74207661756c740a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e77697468647261775265776172646564546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8b0b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227da07b2274797065223a224f7074696f6e616c222c2276616c7565223a6e756c6c7db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", + "encodedTransactionEnvelopeHex": "f9044ff9044bb90356696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f205265717565737420746f20776974686472617720726577617264656420746f6b656e7320666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f2054686520746f6b656e7320617265206175746f6d61746963616c6c79206465706f736974656420746f2074686520756e6c6f636b6564206163636f756e74207661756c742066697273742c0a2f2f2f20416e64207468656e20616e79206c6f636b656420746f6b656e7320617265206465706f736974656420696e746f20746865206c6f636b6564206163636f756e74207661756c740a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e77697468647261775265776172646564546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8b0b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227da07b2274797065223a224f7074696f6e616c222c2276616c7565223a6e756c6c7db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", + "metadata": "023af182f568b37a8067d3fb524afcfe96991c85a928bf7651e730be0e15fdb72d27a2b60d538b8bb883b602ea83d1697986a29dd69a44a9209dc75affb9e63299576974686472617720526577617264656420546f6b656e730003014e6f64652049440000537472696e6700030244656c656761746f72204944000155496e743332000301416d6f756e7400025546697836340003", + "hash": "3af182f568b37a8067d3fb524afcfe96991c85a928bf7651e730be0e15fdb72d" }, { - "title": "SCO.08 - Stake Unstaked Tokens - 2", + "title": "SCO.11 - Withdraw Unstaked Tokens - 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/// 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", @@ -2250,10 +2064,7 @@ }, { "type": "Optional", - "value": { - "type": "UInt32", - "value": "42" - } + "value": null }, { "type": "UFix64", @@ -2273,7 +2084,7 @@ ] }, "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: &FlowStakingCollection.StakingCollection\n\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", @@ -2281,10 +2092,7 @@ }, { "type": "Optional", - "value": { - "type": "UInt32", - "value": "42" - } + "value": null }, { "type": "UFix64", @@ -2304,21 +2112,32 @@ ], "payloadSigs": [] }, - "encodedTransactionPayloadHex": "f903c5b902b5696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f20436f6d6d69747320756e7374616b656420746f6b656e7320746f207374616b6520666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e7374616b65556e7374616b6564546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8cbb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db83a7b2274797065223a224f7074696f6e616c222c2276616c7565223a7b2274797065223a2255496e743332222c2276616c7565223a223432227d7db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", - "encodedTransactionEnvelopeHex": "f903c9f903c5b902b5696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f20436f6d6d69747320756e7374616b656420746f6b656e7320746f207374616b6520666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e7374616b65556e7374616b6564546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8cbb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db83a7b2274797065223a224f7074696f6e616c222c2276616c7565223a7b2274797065223a2255496e743332222c2276616c7565223a223432227d7db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", - "metadata": "023595fcd68cff445c65ad99f8d4d726b5e28807b061800769c41cbe3adb98aeec082e690b9647182cf6969db1a0fa8e0f1728da6db01fe0d462e9f0841c268cbb5374616b6520556e7374616b656420546f6b656e730003014e6f64652049440000537472696e6700030244656c656761746f72204944000155496e743332000301416d6f756e7400025546697836340003", - "hash": "3595fcd68cff445c65ad99f8d4d726b5e28807b061800769c41cbe3adb98aeec" + "encodedTransactionPayloadHex": "f9045ab90365696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f205265717565737420746f20776974686472617720756e7374616b656420746f6b656e7320666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f2054686520746f6b656e7320617265206175746f6d61746963616c6c79206465706f736974656420746f2074686520756e6c6f636b6564206163636f756e74207661756c742066697273742c0a2f2f2f20416e64207468656e20616e79206c6f636b656420746f6b656e7320617265206465706f736974656420696e746f20746865206c6f636b6564206163636f756e74207661756c742069662069742069732074686572650a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e7769746864726177556e7374616b6564546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8b0b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227da07b2274797065223a224f7074696f6e616c222c2276616c7565223a6e756c6c7db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", + "encodedTransactionEnvelopeHex": "f9045ef9045ab90365696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f205265717565737420746f20776974686472617720756e7374616b656420746f6b656e7320666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f2054686520746f6b656e7320617265206175746f6d61746963616c6c79206465706f736974656420746f2074686520756e6c6f636b6564206163636f756e74207661756c742066697273742c0a2f2f2f20416e64207468656e20616e79206c6f636b656420746f6b656e7320617265206465706f736974656420696e746f20746865206c6f636b6564206163636f756e74207661756c742069662069742069732074686572650a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e7769746864726177556e7374616b6564546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8b0b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227da07b2274797065223a224f7074696f6e616c222c2276616c7565223a6e756c6c7db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", + "metadata": "0268879197d961bb104a56e1e7d35660436fe4c52ed78f79d97fa50aa9e96fabf06d50ab1ef3d74203081c38306da74f5ad8fdd489e49fba732f8ba194d0c781c8576974686472617720556e7374616b656420546f6b656e730003014e6f64652049440000537472696e6700030244656c656761746f72204944000155496e743332000301416d6f756e7400025546697836340003", + "hash": "68879197d961bb104a56e1e7d35660436fe4c52ed78f79d97fa50aa9e96fabf0" }, { - "title": "SCO.09 - Unstake All", + "title": "SCO.11 - Withdraw Unstaked Tokens - 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/// 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", @@ -2334,11 +2153,22 @@ ] }, "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 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", @@ -2354,17 +2184,17 @@ ], "payloadSigs": [] }, - "encodedTransactionPayloadHex": "f902fdb9025a696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f20526571756573747320746f20756e7374616b6520414c4c20746f6b656e7320666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a0a7472616e73616374696f6e286e6f646549443a20537472696e6729207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e756e7374616b65416c6c286e6f646549443a206e6f64654944290a202020207d0a7d0af85eb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", - "encodedTransactionEnvelopeHex": "f90301f902fdb9025a696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f20526571756573747320746f20756e7374616b6520414c4c20746f6b656e7320666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a0a7472616e73616374696f6e286e6f646549443a20537472696e6729207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e756e7374616b65416c6c286e6f646549443a206e6f64654944290a202020207d0a7d0af85eb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", - "metadata": "020bde358f3965ba2f4c18fb45b6536857c3f53d7d3b740fe66fe93a4ebf7524c1df9c6486baa6f8f685368ea216659239cb81fa8ebd9062a9723edb54ca0d7525556e7374616b6520416c6c0001014e6f64652049440000537472696e670003", - "hash": "0bde358f3965ba2f4c18fb45b6536857c3f53d7d3b740fe66fe93a4ebf7524c1" + "encodedTransactionPayloadHex": "f90475b90365696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f205265717565737420746f20776974686472617720756e7374616b656420746f6b656e7320666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f2054686520746f6b656e7320617265206175746f6d61746963616c6c79206465706f736974656420746f2074686520756e6c6f636b6564206163636f756e74207661756c742066697273742c0a2f2f2f20416e64207468656e20616e79206c6f636b656420746f6b656e7320617265206465706f736974656420696e746f20746865206c6f636b6564206163636f756e74207661756c742069662069742069732074686572650a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e7769746864726177556e7374616b6564546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8cbb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db83a7b2274797065223a224f7074696f6e616c222c2276616c7565223a7b2274797065223a2255496e743332222c2276616c7565223a223432227d7db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", + "encodedTransactionEnvelopeHex": "f90479f90475b90365696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f205265717565737420746f20776974686472617720756e7374616b656420746f6b656e7320666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f2054686520746f6b656e7320617265206175746f6d61746963616c6c79206465706f736974656420746f2074686520756e6c6f636b6564206163636f756e74207661756c742066697273742c0a2f2f2f20416e64207468656e20616e79206c6f636b656420746f6b656e7320617265206465706f736974656420696e746f20746865206c6f636b6564206163636f756e74207661756c742069662069742069732074686572650a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e7769746864726177556e7374616b6564546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8cbb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db83a7b2274797065223a224f7074696f6e616c222c2276616c7565223a7b2274797065223a2255496e743332222c2276616c7565223a223432227d7db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", + "metadata": "0268879197d961bb104a56e1e7d35660436fe4c52ed78f79d97fa50aa9e96fabf06d50ab1ef3d74203081c38306da74f5ad8fdd489e49fba732f8ba194d0c781c8576974686472617720556e7374616b656420546f6b656e730003014e6f64652049440000537472696e6700030244656c656761746f72204944000155496e743332000301416d6f756e7400025546697836340003", + "hash": "68879197d961bb104a56e1e7d35660436fe4c52ed78f79d97fa50aa9e96fabf0" }, { - "title": "SCO.10 - Withdraw Rewarded Tokens - 1", + "title": "SCO.12 - Close Stake - 1", "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// 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", @@ -2376,10 +2206,6 @@ "type": "UInt32", "value": "42" } - }, - { - "type": "UFix64", - "value": "92233720368.54775808" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -2395,7 +2221,7 @@ ] }, "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// 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", @@ -2407,10 +2233,6 @@ "type": "UInt32", "value": "42" } - }, - { - "type": "UFix64", - "value": "92233720368.54775808" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -2426,17 +2248,17 @@ ], "payloadSigs": [] }, - "encodedTransactionPayloadHex": "f90466b90356696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f205265717565737420746f20776974686472617720726577617264656420746f6b656e7320666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f2054686520746f6b656e7320617265206175746f6d61746963616c6c79206465706f736974656420746f2074686520756e6c6f636b6564206163636f756e74207661756c742066697273742c0a2f2f2f20416e64207468656e20616e79206c6f636b656420746f6b656e7320617265206465706f736974656420696e746f20746865206c6f636b6564206163636f756e74207661756c740a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e77697468647261775265776172646564546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8cbb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db83a7b2274797065223a224f7074696f6e616c222c2276616c7565223a7b2274797065223a2255496e743332222c2276616c7565223a223432227d7db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", - "encodedTransactionEnvelopeHex": "f9046af90466b90356696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f205265717565737420746f20776974686472617720726577617264656420746f6b656e7320666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f2054686520746f6b656e7320617265206175746f6d61746963616c6c79206465706f736974656420746f2074686520756e6c6f636b6564206163636f756e74207661756c742066697273742c0a2f2f2f20416e64207468656e20616e79206c6f636b656420746f6b656e7320617265206465706f736974656420696e746f20746865206c6f636b6564206163636f756e74207661756c740a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e77697468647261775265776172646564546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8cbb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db83a7b2274797065223a224f7074696f6e616c222c2276616c7565223a7b2274797065223a2255496e743332222c2276616c7565223a223432227d7db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", - "metadata": "023af182f568b37a8067d3fb524afcfe96991c85a928bf7651e730be0e15fdb72d27a2b60d538b8bb883b602ea83d1697986a29dd69a44a9209dc75affb9e63299576974686472617720526577617264656420546f6b656e730003014e6f64652049440000537472696e6700030244656c656761746f72204944000155496e743332000301416d6f756e7400025546697836340003", - "hash": "3af182f568b37a8067d3fb524afcfe96991c85a928bf7651e730be0e15fdb72d" + "encodedTransactionPayloadHex": "f903cdb902ee696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f20436c6f736573206f75742061207374616b696e67206f626a65637420696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f205468697320646f6573206e6f742072656d6f766520746865207265636f72642066726f6d20746865206964656e74697479207461626c652c0a2f2f2062757420697420646f6573206d65616e207468617420746865206163636f756e74207468617420636c6f7365732069742063616e6e6f7420657665722061636365737320697420616761696e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f29207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e636c6f73655374616b65286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f724944290a202020207d0a7d0af89ab85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db83a7b2274797065223a224f7074696f6e616c222c2276616c7565223a7b2274797065223a2255496e743332222c2276616c7565223a223432227d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", + "encodedTransactionEnvelopeHex": "f903d1f903cdb902ee696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f20436c6f736573206f75742061207374616b696e67206f626a65637420696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f205468697320646f6573206e6f742072656d6f766520746865207265636f72642066726f6d20746865206964656e74697479207461626c652c0a2f2f2062757420697420646f6573206d65616e207468617420746865206163636f756e74207468617420636c6f7365732069742063616e6e6f7420657665722061636365737320697420616761696e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f29207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e636c6f73655374616b65286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f724944290a202020207d0a7d0af89ab85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db83a7b2274797065223a224f7074696f6e616c222c2276616c7565223a7b2274797065223a2255496e743332222c2276616c7565223a223432227d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", + "metadata": "02079aaa9cfb22138415056b43d5d91e8d73bd8bd5f37ebff4f4023d33ea6d2f25ecdffc1ae67479bc20c06eba6c776ff37b9523660ff1cd3129a3924d92484884436c6f7365205374616b650002014e6f64652049440000537472696e6700030244656c656761746f72204944000155496e7433320003", + "hash": "079aaa9cfb22138415056b43d5d91e8d73bd8bd5f37ebff4f4023d33ea6d2f25" }, { - "title": "SCO.10 - Withdraw Rewarded Tokens - 2", + "title": "SCO.12 - Close Stake - 2", "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// 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", @@ -2445,10 +2267,6 @@ { "type": "Optional", "value": null - }, - { - "type": "UFix64", - "value": "92233720368.54775808" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -2464,7 +2282,7 @@ ] }, "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// 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", @@ -2473,10 +2291,6 @@ { "type": "Optional", "value": null - }, - { - "type": "UFix64", - "value": "92233720368.54775808" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -2492,29 +2306,25 @@ ], "payloadSigs": [] }, - "encodedTransactionPayloadHex": "f9044bb90356696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f205265717565737420746f20776974686472617720726577617264656420746f6b656e7320666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f2054686520746f6b656e7320617265206175746f6d61746963616c6c79206465706f736974656420746f2074686520756e6c6f636b6564206163636f756e74207661756c742066697273742c0a2f2f2f20416e64207468656e20616e79206c6f636b656420746f6b656e7320617265206465706f736974656420696e746f20746865206c6f636b6564206163636f756e74207661756c740a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e77697468647261775265776172646564546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8b0b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227da07b2274797065223a224f7074696f6e616c222c2276616c7565223a6e756c6c7db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", - "encodedTransactionEnvelopeHex": "f9044ff9044bb90356696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f205265717565737420746f20776974686472617720726577617264656420746f6b656e7320666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f2054686520746f6b656e7320617265206175746f6d61746963616c6c79206465706f736974656420746f2074686520756e6c6f636b6564206163636f756e74207661756c742066697273742c0a2f2f2f20416e64207468656e20616e79206c6f636b656420746f6b656e7320617265206465706f736974656420696e746f20746865206c6f636b6564206163636f756e74207661756c740a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e77697468647261775265776172646564546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8b0b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227da07b2274797065223a224f7074696f6e616c222c2276616c7565223a6e756c6c7db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", - "metadata": "023af182f568b37a8067d3fb524afcfe96991c85a928bf7651e730be0e15fdb72d27a2b60d538b8bb883b602ea83d1697986a29dd69a44a9209dc75affb9e63299576974686472617720526577617264656420546f6b656e730003014e6f64652049440000537472696e6700030244656c656761746f72204944000155496e743332000301416d6f756e7400025546697836340003", - "hash": "3af182f568b37a8067d3fb524afcfe96991c85a928bf7651e730be0e15fdb72d" + "encodedTransactionPayloadHex": "f903b2b902ee696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f20436c6f736573206f75742061207374616b696e67206f626a65637420696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f205468697320646f6573206e6f742072656d6f766520746865207265636f72642066726f6d20746865206964656e74697479207461626c652c0a2f2f2062757420697420646f6573206d65616e207468617420746865206163636f756e74207468617420636c6f7365732069742063616e6e6f7420657665722061636365737320697420616761696e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f29207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e636c6f73655374616b65286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f724944290a202020207d0a7d0af87fb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227da07b2274797065223a224f7074696f6e616c222c2276616c7565223a6e756c6c7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", + "encodedTransactionEnvelopeHex": "f903b6f903b2b902ee696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f20436c6f736573206f75742061207374616b696e67206f626a65637420696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f205468697320646f6573206e6f742072656d6f766520746865207265636f72642066726f6d20746865206964656e74697479207461626c652c0a2f2f2062757420697420646f6573206d65616e207468617420746865206163636f756e74207468617420636c6f7365732069742063616e6e6f7420657665722061636365737320697420616761696e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f29207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e636c6f73655374616b65286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f724944290a202020207d0a7d0af87fb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227da07b2274797065223a224f7074696f6e616c222c2276616c7565223a6e756c6c7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", + "metadata": "02079aaa9cfb22138415056b43d5d91e8d73bd8bd5f37ebff4f4023d33ea6d2f25ecdffc1ae67479bc20c06eba6c776ff37b9523660ff1cd3129a3924d92484884436c6f7365205374616b650002014e6f64652049440000537472696e6700030244656c656761746f72204944000155496e7433320003", + "hash": "079aaa9cfb22138415056b43d5d91e8d73bd8bd5f37ebff4f4023d33ea6d2f25" }, { - "title": "SCO.11 - Withdraw Unstaked Tokens - 1", + "title": "SCO.13 - Transfer Node", "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// 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": "Optional", - "value": null - }, - { - "type": "UFix64", - "value": "92233720368.54775808" + "type": "Address", + "value": "0x8c5303eaa26202d6" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -2530,19 +2340,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// 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": "Optional", - "value": null - }, - { - "type": "UFix64", - "value": "92233720368.54775808" + "type": "Address", + "value": "0x8c5303eaa26202d6" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -2558,32 +2364,29 @@ ], "payloadSigs": [] }, - "encodedTransactionPayloadHex": "f9045ab90365696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f205265717565737420746f20776974686472617720756e7374616b656420746f6b656e7320666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f2054686520746f6b656e7320617265206175746f6d61746963616c6c79206465706f736974656420746f2074686520756e6c6f636b6564206163636f756e74207661756c742066697273742c0a2f2f2f20416e64207468656e20616e79206c6f636b656420746f6b656e7320617265206465706f736974656420696e746f20746865206c6f636b6564206163636f756e74207661756c742069662069742069732074686572650a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e7769746864726177556e7374616b6564546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8b0b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227da07b2274797065223a224f7074696f6e616c222c2276616c7565223a6e756c6c7db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", - "encodedTransactionEnvelopeHex": "f9045ef9045ab90365696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f205265717565737420746f20776974686472617720756e7374616b656420746f6b656e7320666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f2054686520746f6b656e7320617265206175746f6d61746963616c6c79206465706f736974656420746f2074686520756e6c6f636b6564206163636f756e74207661756c742066697273742c0a2f2f2f20416e64207468656e20616e79206c6f636b656420746f6b656e7320617265206465706f736974656420696e746f20746865206c6f636b6564206163636f756e74207661756c742069662069742069732074686572650a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e7769746864726177556e7374616b6564546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8b0b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227da07b2274797065223a224f7074696f6e616c222c2276616c7565223a6e756c6c7db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", - "metadata": "0268879197d961bb104a56e1e7d35660436fe4c52ed78f79d97fa50aa9e96fabf06d50ab1ef3d74203081c38306da74f5ad8fdd489e49fba732f8ba194d0c781c8576974686472617720556e7374616b656420546f6b656e730003014e6f64652049440000537472696e6700030244656c656761746f72204944000155496e743332000301416d6f756e7400025546697836340003", - "hash": "68879197d961bb104a56e1e7d35660436fe4c52ed78f79d97fa50aa9e96fabf0" + "encodedTransactionPayloadHex": "f90907b90834696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f205472616e73666572732061204e6f64655374616b6572206f626a6563742066726f6d20616e20617574686f72697a657273206163636f6f756e740a2f2f20616e64206164647320746865204e6f64655374616b657220746f20616e6f74686572206163636f756e7473205374616b696e6720436f6c6c656374696f6e0a2f2f206964656e7469666965642062792074686520746f20416464726573732e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c20746f3a204164647265737329207b0a202020206c65742066726f6d5374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a202020206c657420746f5374616b696e67436f6c6c656374696f6e4361703a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e7b466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e5075626c69637d0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a20202020202020202f2f20546865206163636f756e7420746f207472616e7366657220746865204e6f64655374616b6572206f626a65637420746f206d757374206861766520612076616c6964205374616b696e6720436f6c6c656374696f6e20696e206f7264657220746f207265636569766520746865204e6f64655374616b65722e0a20202020202020206966202821466c6f775374616b696e67436f6c6c656374696f6e2e646f65734163636f756e74486176655374616b696e67436f6c6c656374696f6e28616464726573733a20746f2929207b0a20202020202020202020202070616e6963282244657374696e6174696f6e206163636f756e74206d75737420686176652061205374616b696e6720436f6c6c656374696f6e207365742075702e22290a20202020202020207d0a0a20202020202020202f2f204765742061207265666572656e636520746f2074686520617574686f72697a657273205374616b696e67436f6c6c656374696f6e0a202020202020202073656c662e66726f6d5374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a0a20202020202020202f2f2047657420746865205075626c69634163636f756e74206f6620746865206163636f756e7420746f207472616e7366657220746865204e6f64655374616b657220746f2e200a20202020202020206c657420746f4163636f756e74203d206765744163636f756e7428746f290a0a20202020202020202f2f20426f72726f772061206361706162696c69747920746f20746865207075626c6963206d6574686f647320617661696c61626c65206f6e2074686520726563656976657273205374616b696e67436f6c6c656374696f6e2e0a202020202020202073656c662e746f5374616b696e67436f6c6c656374696f6e436170203d20746f4163636f756e742e6765744361706162696c6974793c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e7b466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e5075626c69637d3e28466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e5075626c696350617468292e626f72726f7728290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a0a20202020202020206c6574206d616368696e654163636f756e74496e666f203d2073656c662e66726f6d5374616b696e67436f6c6c656374696f6e5265662e6765744d616368696e654163636f756e747328295b6e6f646549445d0a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420676574206d616368696e65206163636f756e7420696e666f20666f722074686520737065636966696564206e6f646520494422290a0a20202020202020202f2f2052656d6f766520746865204e6f64655374616b65722066726f6d2074686520617574686f72697a657273205374616b696e67436f6c6c656374696f6e2e0a20202020202020206c6574206e6f64655374616b6572203c2d2073656c662e66726f6d5374616b696e67436f6c6c656374696f6e5265662e72656d6f76654e6f6465286e6f646549443a206e6f64654944290a0a20202020202020202f2f204465706f73697420746865204e6f64655374616b657220746f2074686520726563656976657273205374616b696e67436f6c6c656374696f6e2e0a202020202020202073656c662e746f5374616b696e67436f6c6c656374696f6e4361702e6164644e6f64654f626a656374283c2d206e6f64655374616b6572212c206d616368696e654163636f756e74496e666f3a206d616368696e654163636f756e74496e666f290a202020207d0a7df88eb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227daf7b2274797065223a2241646472657373222c2276616c7565223a22307838633533303365616132363230326436227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", + "encodedTransactionEnvelopeHex": "f9090bf90907b90834696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f205472616e73666572732061204e6f64655374616b6572206f626a6563742066726f6d20616e20617574686f72697a657273206163636f6f756e740a2f2f20616e64206164647320746865204e6f64655374616b657220746f20616e6f74686572206163636f756e7473205374616b696e6720436f6c6c656374696f6e0a2f2f206964656e7469666965642062792074686520746f20416464726573732e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c20746f3a204164647265737329207b0a202020206c65742066726f6d5374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a202020206c657420746f5374616b696e67436f6c6c656374696f6e4361703a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e7b466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e5075626c69637d0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a20202020202020202f2f20546865206163636f756e7420746f207472616e7366657220746865204e6f64655374616b6572206f626a65637420746f206d757374206861766520612076616c6964205374616b696e6720436f6c6c656374696f6e20696e206f7264657220746f207265636569766520746865204e6f64655374616b65722e0a20202020202020206966202821466c6f775374616b696e67436f6c6c656374696f6e2e646f65734163636f756e74486176655374616b696e67436f6c6c656374696f6e28616464726573733a20746f2929207b0a20202020202020202020202070616e6963282244657374696e6174696f6e206163636f756e74206d75737420686176652061205374616b696e6720436f6c6c656374696f6e207365742075702e22290a20202020202020207d0a0a20202020202020202f2f204765742061207265666572656e636520746f2074686520617574686f72697a657273205374616b696e67436f6c6c656374696f6e0a202020202020202073656c662e66726f6d5374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a0a20202020202020202f2f2047657420746865205075626c69634163636f756e74206f6620746865206163636f756e7420746f207472616e7366657220746865204e6f64655374616b657220746f2e200a20202020202020206c657420746f4163636f756e74203d206765744163636f756e7428746f290a0a20202020202020202f2f20426f72726f772061206361706162696c69747920746f20746865207075626c6963206d6574686f647320617661696c61626c65206f6e2074686520726563656976657273205374616b696e67436f6c6c656374696f6e2e0a202020202020202073656c662e746f5374616b696e67436f6c6c656374696f6e436170203d20746f4163636f756e742e6765744361706162696c6974793c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e7b466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e5075626c69637d3e28466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e5075626c696350617468292e626f72726f7728290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a0a20202020202020206c6574206d616368696e654163636f756e74496e666f203d2073656c662e66726f6d5374616b696e67436f6c6c656374696f6e5265662e6765744d616368696e654163636f756e747328295b6e6f646549445d0a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420676574206d616368696e65206163636f756e7420696e666f20666f722074686520737065636966696564206e6f646520494422290a0a20202020202020202f2f2052656d6f766520746865204e6f64655374616b65722066726f6d2074686520617574686f72697a657273205374616b696e67436f6c6c656374696f6e2e0a20202020202020206c6574206e6f64655374616b6572203c2d2073656c662e66726f6d5374616b696e67436f6c6c656374696f6e5265662e72656d6f76654e6f6465286e6f646549443a206e6f64654944290a0a20202020202020202f2f204465706f73697420746865204e6f64655374616b657220746f2074686520726563656976657273205374616b696e67436f6c6c656374696f6e2e0a202020202020202073656c662e746f5374616b696e67436f6c6c656374696f6e4361702e6164644e6f64654f626a656374283c2d206e6f64655374616b6572212c206d616368696e654163636f756e74496e666f3a206d616368696e654163636f756e74496e666f290a202020207d0a7df88eb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227daf7b2274797065223a2241646472657373222c2276616c7565223a22307838633533303365616132363230326436227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", + "metadata": "022386d7ae1a5b936e3914729ee34e01d53a8fbd2e403512ec1beccb4062c231ebcdc3a63d0c75ea95b414becb6fbb8f5a8004236d48661cd3c3d4f540ee4d422e5472616e73666572204e6f64650002014e6f64652049440000537472696e67000301416464726573730001416464726573730003", + "hash": "2386d7ae1a5b936e3914729ee34e01d53a8fbd2e403512ec1beccb4062c231eb" }, { - "title": "SCO.11 - Withdraw Unstaked Tokens - 2", + "title": "SCO.14 - Transfer Delegator", "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// 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": "Optional", - "value": { - "type": "UInt32", - "value": "42" - } + "type": "UInt32", + "value": "42" }, { - "type": "UFix64", - "value": "92233720368.54775808" + "type": "Address", + "value": "0x8c5303eaa26202d6" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -2599,22 +2402,19 @@ ] }, "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// 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": "Optional", - "value": { - "type": "UInt32", - "value": "42" - } + "type": "UInt32", + "value": "42" }, { - "type": "UFix64", - "value": "92233720368.54775808" + "type": "Address", + "value": "0x8c5303eaa26202d6" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -2630,28 +2430,25 @@ ], "payloadSigs": [] }, - "encodedTransactionPayloadHex": "f90475b90365696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f205265717565737420746f20776974686472617720756e7374616b656420746f6b656e7320666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f2054686520746f6b656e7320617265206175746f6d61746963616c6c79206465706f736974656420746f2074686520756e6c6f636b6564206163636f756e74207661756c742066697273742c0a2f2f2f20416e64207468656e20616e79206c6f636b656420746f6b656e7320617265206465706f736974656420696e746f20746865206c6f636b6564206163636f756e74207661756c742069662069742069732074686572650a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e7769746864726177556e7374616b6564546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8cbb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db83a7b2274797065223a224f7074696f6e616c222c2276616c7565223a7b2274797065223a2255496e743332222c2276616c7565223a223432227d7db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", - "encodedTransactionEnvelopeHex": "f90479f90475b90365696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f205265717565737420746f20776974686472617720756e7374616b656420746f6b656e7320666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f2054686520746f6b656e7320617265206175746f6d61746963616c6c79206465706f736974656420746f2074686520756e6c6f636b6564206163636f756e74207661756c742066697273742c0a2f2f2f20416e64207468656e20616e79206c6f636b656420746f6b656e7320617265206465706f736974656420696e746f20746865206c6f636b6564206163636f756e74207661756c742069662069742069732074686572650a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e7769746864726177556e7374616b6564546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8cbb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db83a7b2274797065223a224f7074696f6e616c222c2276616c7565223a7b2274797065223a2255496e743332222c2276616c7565223a223432227d7db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", - "metadata": "0268879197d961bb104a56e1e7d35660436fe4c52ed78f79d97fa50aa9e96fabf06d50ab1ef3d74203081c38306da74f5ad8fdd489e49fba732f8ba194d0c781c8576974686472617720556e7374616b656420546f6b656e730003014e6f64652049440000537472696e6700030244656c656761746f72204944000155496e743332000301416d6f756e7400025546697836340003", - "hash": "68879197d961bb104a56e1e7d35660436fe4c52ed78f79d97fa50aa9e96fabf0" + "encodedTransactionPayloadHex": "f908b4b907c2696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f205472616e73666572732061204e6f646544656c656761746f72206f626a6563742066726f6d20616e20617574686f72697a657273206163636f6f756e740a2f2f20616e64206164647320746865204e6f646544656c656761746f7220746f20616e6f74686572206163636f756e7473205374616b696e6720436f6c6c656374696f6e0a2f2f206964656e7469666965642062792074686520746f20416464726573732e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433322c20746f3a204164647265737329207b0a202020206c65742066726f6d5374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a202020206c657420746f5374616b696e67436f6c6c656374696f6e4361703a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e7b466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e5075626c69637d0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a20202020202020202f2f20546865206163636f756e7420746f207472616e7366657220746865204e6f646544656c656761746f72206f626a65637420746f206d757374206861766520612076616c6964205374616b696e6720436f6c6c656374696f6e20696e206f7264657220746f207265636569766520746865204e6f646544656c656761746f722e0a20202020202020206966202821466c6f775374616b696e67436f6c6c656374696f6e2e646f65734163636f756e74486176655374616b696e67436f6c6c656374696f6e28616464726573733a20746f2929207b0a20202020202020202020202070616e6963282244657374696e6174696f6e206163636f756e74206d75737420686176652061205374616b696e6720436f6c6c656374696f6e207365742075702e22290a20202020202020207d0a0a20202020202020202f2f204765742061207265666572656e636520746f2074686520617574686f72697a657273205374616b696e67436f6c6c656374696f6e0a202020202020202073656c662e66726f6d5374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a0a20202020202020202f2f2047657420746865205075626c69634163636f756e74206f6620746865206163636f756e7420746f207472616e7366657220746865204e6f646544656c656761746f7220746f2e200a20202020202020206c657420746f4163636f756e74203d206765744163636f756e7428746f290a0a20202020202020202f2f20426f72726f772061206361706162696c69747920746f20746865207075626c6963206d6574686f647320617661696c61626c65206f6e2074686520726563656976657273205374616b696e67436f6c6c656374696f6e2e0a202020202020202073656c662e746f5374616b696e67436f6c6c656374696f6e436170203d20746f4163636f756e742e6765744361706162696c6974793c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e7b466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e5075626c69637d3e28466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e5075626c696350617468292e626f72726f7728290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a20202020202020202f2f2052656d6f766520746865204e6f646544656c656761746f722066726f6d2074686520617574686f72697a657273205374616b696e67436f6c6c656374696f6e2e0a20202020202020206c6574206e6f646544656c656761746f72203c2d2073656c662e66726f6d5374616b696e67436f6c6c656374696f6e5265662e72656d6f766544656c656761746f72286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f724944290a0a20202020202020202f2f204465706f73697420746865204e6f646544656c656761746f7220746f2074686520726563656976657273205374616b696e67436f6c6c656374696f6e2e0a202020202020202073656c662e746f5374616b696e67436f6c6c656374696f6e4361702e61646444656c656761746f724f626a656374283c2d206e6f646544656c656761746f7221290a202020207d0a7df8adb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227d9e7b2274797065223a2255496e743332222c2276616c7565223a223432227daf7b2274797065223a2241646472657373222c2276616c7565223a22307838633533303365616132363230326436227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", + "encodedTransactionEnvelopeHex": "f908b8f908b4b907c2696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f205472616e73666572732061204e6f646544656c656761746f72206f626a6563742066726f6d20616e20617574686f72697a657273206163636f6f756e740a2f2f20616e64206164647320746865204e6f646544656c656761746f7220746f20616e6f74686572206163636f756e7473205374616b696e6720436f6c6c656374696f6e0a2f2f206964656e7469666965642062792074686520746f20416464726573732e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433322c20746f3a204164647265737329207b0a202020206c65742066726f6d5374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a202020206c657420746f5374616b696e67436f6c6c656374696f6e4361703a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e7b466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e5075626c69637d0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a20202020202020202f2f20546865206163636f756e7420746f207472616e7366657220746865204e6f646544656c656761746f72206f626a65637420746f206d757374206861766520612076616c6964205374616b696e6720436f6c6c656374696f6e20696e206f7264657220746f207265636569766520746865204e6f646544656c656761746f722e0a20202020202020206966202821466c6f775374616b696e67436f6c6c656374696f6e2e646f65734163636f756e74486176655374616b696e67436f6c6c656374696f6e28616464726573733a20746f2929207b0a20202020202020202020202070616e6963282244657374696e6174696f6e206163636f756e74206d75737420686176652061205374616b696e6720436f6c6c656374696f6e207365742075702e22290a20202020202020207d0a0a20202020202020202f2f204765742061207265666572656e636520746f2074686520617574686f72697a657273205374616b696e67436f6c6c656374696f6e0a202020202020202073656c662e66726f6d5374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a0a20202020202020202f2f2047657420746865205075626c69634163636f756e74206f6620746865206163636f756e7420746f207472616e7366657220746865204e6f646544656c656761746f7220746f2e200a20202020202020206c657420746f4163636f756e74203d206765744163636f756e7428746f290a0a20202020202020202f2f20426f72726f772061206361706162696c69747920746f20746865207075626c6963206d6574686f647320617661696c61626c65206f6e2074686520726563656976657273205374616b696e67436f6c6c656374696f6e2e0a202020202020202073656c662e746f5374616b696e67436f6c6c656374696f6e436170203d20746f4163636f756e742e6765744361706162696c6974793c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e7b466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e5075626c69637d3e28466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e5075626c696350617468292e626f72726f7728290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a20202020202020202f2f2052656d6f766520746865204e6f646544656c656761746f722066726f6d2074686520617574686f72697a657273205374616b696e67436f6c6c656374696f6e2e0a20202020202020206c6574206e6f646544656c656761746f72203c2d2073656c662e66726f6d5374616b696e67436f6c6c656374696f6e5265662e72656d6f766544656c656761746f72286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f724944290a0a20202020202020202f2f204465706f73697420746865204e6f646544656c656761746f7220746f2074686520726563656976657273205374616b696e67436f6c6c656374696f6e2e0a202020202020202073656c662e746f5374616b696e67436f6c6c656374696f6e4361702e61646444656c656761746f724f626a656374283c2d206e6f646544656c656761746f7221290a202020207d0a7df8adb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227d9e7b2274797065223a2255496e743332222c2276616c7565223a223432227daf7b2274797065223a2241646472657373222c2276616c7565223a22307838633533303365616132363230326436227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", + "metadata": "0253b096b4850a30894e7b272ec5c39e2b2f4a23f8c40e76a3c64cfc63dc2999b6b34d6fafcc5a4d0ed9cf92e168a08d0674c93341e2393ee72dde6664918ec2405472616e736665722044656c656761746f720003014e6f64652049440000537472696e6700030144656c656761746f72204944000155496e743332000301416464726573730002416464726573730003", + "hash": "53b096b4850a30894e7b272ec5c39e2b2f4a23f8c40e76a3c64cfc63dc2999b6" }, { - "title": "SCO.12 - Close Stake - 1", + "title": "SCO.15 - Withdraw From Machine Account", "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", + "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": "Optional", - "value": { - "type": "UInt32", - "value": "42" - } + "type": "UFix64", + "value": "92233720368.54775808" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -2667,18 +2464,15 @@ ] }, "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 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": "Optional", - "value": { - "type": "UInt32", - "value": "42" - } + "type": "UFix64", + "value": "92233720368.54775808" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -2694,25 +2488,25 @@ ], "payloadSigs": [] }, - "encodedTransactionPayloadHex": "f903cdb902ee696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f20436c6f736573206f75742061207374616b696e67206f626a65637420696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f205468697320646f6573206e6f742072656d6f766520746865207265636f72642066726f6d20746865206964656e74697479207461626c652c0a2f2f2062757420697420646f6573206d65616e207468617420746865206163636f756e74207468617420636c6f7365732069742063616e6e6f7420657665722061636365737320697420616761696e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f29207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e636c6f73655374616b65286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f724944290a202020207d0a7d0af89ab85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db83a7b2274797065223a224f7074696f6e616c222c2276616c7565223a7b2274797065223a2255496e743332222c2276616c7565223a223432227d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", - "encodedTransactionEnvelopeHex": "f903d1f903cdb902ee696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f20436c6f736573206f75742061207374616b696e67206f626a65637420696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f205468697320646f6573206e6f742072656d6f766520746865207265636f72642066726f6d20746865206964656e74697479207461626c652c0a2f2f2062757420697420646f6573206d65616e207468617420746865206163636f756e74207468617420636c6f7365732069742063616e6e6f7420657665722061636365737320697420616761696e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f29207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e636c6f73655374616b65286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f724944290a202020207d0a7d0af89ab85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db83a7b2274797065223a224f7074696f6e616c222c2276616c7565223a7b2274797065223a2255496e743332222c2276616c7565223a223432227d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", - "metadata": "02079aaa9cfb22138415056b43d5d91e8d73bd8bd5f37ebff4f4023d33ea6d2f25ecdffc1ae67479bc20c06eba6c776ff37b9523660ff1cd3129a3924d92484884436c6f7365205374616b650002014e6f64652049440000537472696e6700030244656c656761746f72204944000155496e7433320003", - "hash": "079aaa9cfb22138415056b43d5d91e8d73bd8bd5f37ebff4f4023d33ea6d2f25" + "encodedTransactionPayloadHex": "f9037eb902aa696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f205265717565737420746f20776974686472617720746f6b656e732066726f6d20746865206d616368696e65206163636f756e740a2f2f2f2054686520746f6b656e7320617265206175746f6d61746963616c6c79206465706f736974656420746f2074686520756e6c6f636b6564206163636f756e74207661756c740a0a7472616e73616374696f6e286e6f646549443a20537472696e672c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e776974686472617746726f6d4d616368696e654163636f756e74286e6f646549443a206e6f646549442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af88fb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", + "encodedTransactionEnvelopeHex": "f90382f9037eb902aa696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f205265717565737420746f20776974686472617720746f6b656e732066726f6d20746865206d616368696e65206163636f756e740a2f2f2f2054686520746f6b656e7320617265206175746f6d61746963616c6c79206465706f736974656420746f2074686520756e6c6f636b6564206163636f756e74207661756c740a0a7472616e73616374696f6e286e6f646549443a20537472696e672c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e776974686472617746726f6d4d616368696e654163636f756e74286e6f646549443a206e6f646549442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af88fb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", + "metadata": "0239a126038522c6c964d53aaf78dde55bfe80929091510792fe49678bb22cbd96f9c48e18bda7f113e82711a4c95dfd151c6600ed9fbf46ceb22566d6c5728c6f57697468647261772046726f6d204d616368696e65204163636f756e740002014e6f64652049440000537472696e67000301416d6f756e7400015546697836340003", + "hash": "39a126038522c6c964d53aaf78dde55bfe80929091510792fe49678bb22cbd96" }, { - "title": "SCO.12 - Close Stake - 2", + "title": "SCO.16 - Update Networking Address", "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", + "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": "Optional", - "value": null + "type": "String", + "value": "flow-node.test:3569" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -2728,15 +2522,15 @@ ] }, "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 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": "Optional", - "value": null + "type": "String", + "value": "flow-node.test:3569" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -2752,27 +2546,18 @@ ], "payloadSigs": [] }, - "encodedTransactionPayloadHex": "f903b2b902ee696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f20436c6f736573206f75742061207374616b696e67206f626a65637420696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f205468697320646f6573206e6f742072656d6f766520746865207265636f72642066726f6d20746865206964656e74697479207461626c652c0a2f2f2062757420697420646f6573206d65616e207468617420746865206163636f756e74207468617420636c6f7365732069742063616e6e6f7420657665722061636365737320697420616761696e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f29207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e636c6f73655374616b65286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f724944290a202020207d0a7d0af87fb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227da07b2274797065223a224f7074696f6e616c222c2276616c7565223a6e756c6c7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", - "encodedTransactionEnvelopeHex": "f903b6f903b2b902ee696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f20436c6f736573206f75742061207374616b696e67206f626a65637420696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f205468697320646f6573206e6f742072656d6f766520746865207265636f72642066726f6d20746865206964656e74697479207461626c652c0a2f2f2062757420697420646f6573206d65616e207468617420746865206163636f756e74207468617420636c6f7365732069742063616e6e6f7420657665722061636365737320697420616761696e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f29207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e636c6f73655374616b65286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f724944290a202020207d0a7d0af87fb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227da07b2274797065223a224f7074696f6e616c222c2276616c7565223a6e756c6c7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", - "metadata": "02079aaa9cfb22138415056b43d5d91e8d73bd8bd5f37ebff4f4023d33ea6d2f25ecdffc1ae67479bc20c06eba6c776ff37b9523660ff1cd3129a3924d92484884436c6f7365205374616b650002014e6f64652049440000537472696e6700030244656c656761746f72204944000155496e7433320003", - "hash": "079aaa9cfb22138415056b43d5d91e8d73bd8bd5f37ebff4f4023d33ea6d2f25" + "encodedTransactionPayloadHex": "f9033fb9026c696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f204368616e67657320746865206e6574776f726b696e67206164647265737320666f722074686520737065636966696564206e6f64650a0a7472616e73616374696f6e286e6f646549443a20537472696e672c206e6577416464726573733a20537472696e6729207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e7570646174654e6574776f726b696e6741646472657373286e6f646549443a206e6f646549442c206e6577416464726573733a206e657741646472657373290a202020207d0a7d0af88eb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227daf7b2274797065223a22537472696e67222c2276616c7565223a22666c6f772d6e6f64652e746573743a33353639227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", + "encodedTransactionEnvelopeHex": "f90343f9033fb9026c696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f204368616e67657320746865206e6574776f726b696e67206164647265737320666f722074686520737065636966696564206e6f64650a0a7472616e73616374696f6e286e6f646549443a20537472696e672c206e6577416464726573733a20537472696e6729207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e7570646174654e6574776f726b696e6741646472657373286e6f646549443a206e6f646549442c206e6577416464726573733a206e657741646472657373290a202020207d0a7d0af88eb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227daf7b2274797065223a22537472696e67222c2276616c7565223a22666c6f772d6e6f64652e746573743a33353639227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", + "metadata": "0260f2cf219d56b19dc7fd223caed42dda9143c87b1b0d2c21a9652e12a3714133ff067b40ac67020ef864cd14842f62023254da34dd2ded56affa1364305bf1c5557064617465204e6574776f726b696e6720416464726573730002014e6f64652049440000537472696e67000301416464726573730001537472696e670003", + "hash": "60f2cf219d56b19dc7fd223caed42dda9143c87b1b0d2c21a9652e12a3714133" }, { - "title": "SCO.13 - Transfer Node", + "title": "FUSD.01 - Setup FUSD Vault", "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" - } - ], + "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": { @@ -2786,17 +2571,8 @@ ] }, "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" - } - ], + "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": { @@ -2810,29 +2586,25 @@ ], "payloadSigs": [] }, - "encodedTransactionPayloadHex": "f90907b90834696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f205472616e73666572732061204e6f64655374616b6572206f626a6563742066726f6d20616e20617574686f72697a657273206163636f6f756e740a2f2f20616e64206164647320746865204e6f64655374616b657220746f20616e6f74686572206163636f756e7473205374616b696e6720436f6c6c656374696f6e0a2f2f206964656e7469666965642062792074686520746f20416464726573732e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c20746f3a204164647265737329207b0a202020206c65742066726f6d5374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a202020206c657420746f5374616b696e67436f6c6c656374696f6e4361703a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e7b466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e5075626c69637d0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a20202020202020202f2f20546865206163636f756e7420746f207472616e7366657220746865204e6f64655374616b6572206f626a65637420746f206d757374206861766520612076616c6964205374616b696e6720436f6c6c656374696f6e20696e206f7264657220746f207265636569766520746865204e6f64655374616b65722e0a20202020202020206966202821466c6f775374616b696e67436f6c6c656374696f6e2e646f65734163636f756e74486176655374616b696e67436f6c6c656374696f6e28616464726573733a20746f2929207b0a20202020202020202020202070616e6963282244657374696e6174696f6e206163636f756e74206d75737420686176652061205374616b696e6720436f6c6c656374696f6e207365742075702e22290a20202020202020207d0a0a20202020202020202f2f204765742061207265666572656e636520746f2074686520617574686f72697a657273205374616b696e67436f6c6c656374696f6e0a202020202020202073656c662e66726f6d5374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a0a20202020202020202f2f2047657420746865205075626c69634163636f756e74206f6620746865206163636f756e7420746f207472616e7366657220746865204e6f64655374616b657220746f2e200a20202020202020206c657420746f4163636f756e74203d206765744163636f756e7428746f290a0a20202020202020202f2f20426f72726f772061206361706162696c69747920746f20746865207075626c6963206d6574686f647320617661696c61626c65206f6e2074686520726563656976657273205374616b696e67436f6c6c656374696f6e2e0a202020202020202073656c662e746f5374616b696e67436f6c6c656374696f6e436170203d20746f4163636f756e742e6765744361706162696c6974793c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e7b466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e5075626c69637d3e28466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e5075626c696350617468292e626f72726f7728290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a0a20202020202020206c6574206d616368696e654163636f756e74496e666f203d2073656c662e66726f6d5374616b696e67436f6c6c656374696f6e5265662e6765744d616368696e654163636f756e747328295b6e6f646549445d0a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420676574206d616368696e65206163636f756e7420696e666f20666f722074686520737065636966696564206e6f646520494422290a0a20202020202020202f2f2052656d6f766520746865204e6f64655374616b65722066726f6d2074686520617574686f72697a657273205374616b696e67436f6c6c656374696f6e2e0a20202020202020206c6574206e6f64655374616b6572203c2d2073656c662e66726f6d5374616b696e67436f6c6c656374696f6e5265662e72656d6f76654e6f6465286e6f646549443a206e6f64654944290a0a20202020202020202f2f204465706f73697420746865204e6f64655374616b657220746f2074686520726563656976657273205374616b696e67436f6c6c656374696f6e2e0a202020202020202073656c662e746f5374616b696e67436f6c6c656374696f6e4361702e6164644e6f64654f626a656374283c2d206e6f64655374616b6572212c206d616368696e654163636f756e74496e666f3a206d616368696e654163636f756e74496e666f290a202020207d0a7df88eb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227daf7b2274797065223a2241646472657373222c2276616c7565223a22307838633533303365616132363230326436227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", - "encodedTransactionEnvelopeHex": "f9090bf90907b90834696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f205472616e73666572732061204e6f64655374616b6572206f626a6563742066726f6d20616e20617574686f72697a657273206163636f6f756e740a2f2f20616e64206164647320746865204e6f64655374616b657220746f20616e6f74686572206163636f756e7473205374616b696e6720436f6c6c656374696f6e0a2f2f206964656e7469666965642062792074686520746f20416464726573732e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c20746f3a204164647265737329207b0a202020206c65742066726f6d5374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a202020206c657420746f5374616b696e67436f6c6c656374696f6e4361703a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e7b466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e5075626c69637d0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a20202020202020202f2f20546865206163636f756e7420746f207472616e7366657220746865204e6f64655374616b6572206f626a65637420746f206d757374206861766520612076616c6964205374616b696e6720436f6c6c656374696f6e20696e206f7264657220746f207265636569766520746865204e6f64655374616b65722e0a20202020202020206966202821466c6f775374616b696e67436f6c6c656374696f6e2e646f65734163636f756e74486176655374616b696e67436f6c6c656374696f6e28616464726573733a20746f2929207b0a20202020202020202020202070616e6963282244657374696e6174696f6e206163636f756e74206d75737420686176652061205374616b696e6720436f6c6c656374696f6e207365742075702e22290a20202020202020207d0a0a20202020202020202f2f204765742061207265666572656e636520746f2074686520617574686f72697a657273205374616b696e67436f6c6c656374696f6e0a202020202020202073656c662e66726f6d5374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a0a20202020202020202f2f2047657420746865205075626c69634163636f756e74206f6620746865206163636f756e7420746f207472616e7366657220746865204e6f64655374616b657220746f2e200a20202020202020206c657420746f4163636f756e74203d206765744163636f756e7428746f290a0a20202020202020202f2f20426f72726f772061206361706162696c69747920746f20746865207075626c6963206d6574686f647320617661696c61626c65206f6e2074686520726563656976657273205374616b696e67436f6c6c656374696f6e2e0a202020202020202073656c662e746f5374616b696e67436f6c6c656374696f6e436170203d20746f4163636f756e742e6765744361706162696c6974793c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e7b466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e5075626c69637d3e28466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e5075626c696350617468292e626f72726f7728290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a0a20202020202020206c6574206d616368696e654163636f756e74496e666f203d2073656c662e66726f6d5374616b696e67436f6c6c656374696f6e5265662e6765744d616368696e654163636f756e747328295b6e6f646549445d0a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420676574206d616368696e65206163636f756e7420696e666f20666f722074686520737065636966696564206e6f646520494422290a0a20202020202020202f2f2052656d6f766520746865204e6f64655374616b65722066726f6d2074686520617574686f72697a657273205374616b696e67436f6c6c656374696f6e2e0a20202020202020206c6574206e6f64655374616b6572203c2d2073656c662e66726f6d5374616b696e67436f6c6c656374696f6e5265662e72656d6f76654e6f6465286e6f646549443a206e6f64654944290a0a20202020202020202f2f204465706f73697420746865204e6f64655374616b657220746f2074686520726563656976657273205374616b696e67436f6c6c656374696f6e2e0a202020202020202073656c662e746f5374616b696e67436f6c6c656374696f6e4361702e6164644e6f64654f626a656374283c2d206e6f64655374616b6572212c206d616368696e654163636f756e74496e666f3a206d616368696e654163636f756e74496e666f290a202020207d0a7df88eb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227daf7b2274797065223a2241646472657373222c2276616c7565223a22307838633533303365616132363230326436227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", - "metadata": "022386d7ae1a5b936e3914729ee34e01d53a8fbd2e403512ec1beccb4062c231ebcdc3a63d0c75ea95b414becb6fbb8f5a8004236d48661cd3c3d4f540ee4d422e5472616e73666572204e6f64650002014e6f64652049440000537472696e67000301416464726573730001416464726573730003", - "hash": "2386d7ae1a5b936e3914729ee34e01d53a8fbd2e403512ec1beccb4062c231eb" + "encodedTransactionPayloadHex": "f9057ab905362f2f2054686973207472616e73616374696f6e20636f6e6669677572657320746865207369676e65722773206163636f756e74207769746820616e20656d7074792046555344207661756c742e0a2f2f0a2f2f20497420616c736f206c696e6b732074686520666f6c6c6f77696e67206361706162696c69746965733a0a2f2f0a2f2f202d2046756e6769626c65546f6b656e2e52656365697665723a2074686973206361706162696c69747920616c6c6f77732074686973206163636f756e7420746f206163636570742046555344206465706f736974732e0a2f2f202d2046756e6769626c65546f6b656e2e42616c616e63653a2074686973206361706162696c69747920616c6c6f777320616e79626f647920746f20696e73706563742074686520465553442062616c616e6365206f662074686973206163636f756e742e0a0a696d706f72742046756e6769626c65546f6b656e2066726f6d203078396130373636643933623636303862370a696d706f727420465553442066726f6d203078653232336438613632396534396336380a0a7472616e73616374696f6e207b0a0a2020202070726570617265287369676e65723a20417574684163636f756e7429207b0a0a20202020202020202f2f2049742773204f4b20696620746865206163636f756e7420616c7265616479206861732061205661756c742c2062757420776520646f6e27742077616e7420746f207265706c6163652069740a20202020202020206966287369676e65722e626f72726f773c26465553442e5661756c743e2866726f6d3a202f73746f726167652f667573645661756c742920213d206e696c29207b0a20202020202020202020202072657475726e0a20202020202020207d0a20202020202020200a20202020202020202f2f204372656174652061206e65772046555344205661756c7420616e642070757420697420696e2073746f726167650a20202020202020207369676e65722e73617665283c2d465553442e637265617465456d7074795661756c7428292c20746f3a202f73746f726167652f667573645661756c74290a0a20202020202020202f2f204372656174652061207075626c6963206361706162696c69747920746f20746865205661756c742074686174206f6e6c79206578706f7365730a20202020202020202f2f20746865206465706f7369742066756e6374696f6e207468726f7567682074686520526563656976657220696e746572666163650a20202020202020207369676e65722e6c696e6b3c26465553442e5661756c747b46756e6769626c65546f6b656e2e52656365697665727d3e280a2020202020202020202020202f7075626c69632f6675736452656365697665722c0a2020202020202020202020207461726765743a202f73746f726167652f667573645661756c740a2020202020202020290a0a20202020202020202f2f204372656174652061207075626c6963206361706162696c69747920746f20746865205661756c742074686174206f6e6c79206578706f7365730a20202020202020202f2f207468652062616c616e6365206669656c64207468726f756768207468652042616c616e636520696e746572666163650a20202020202020207369676e65722e6c696e6b3c26465553442e5661756c747b46756e6769626c65546f6b656e2e42616c616e63657d3e280a2020202020202020202020202f7075626c69632f6675736442616c616e63652c0a2020202020202020202020207461726765743a202f73746f726167652f667573645661756c740a2020202020202020290a202020207d0a7d0ac0a0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", + "encodedTransactionEnvelopeHex": "f9057ef9057ab905362f2f2054686973207472616e73616374696f6e20636f6e6669677572657320746865207369676e65722773206163636f756e74207769746820616e20656d7074792046555344207661756c742e0a2f2f0a2f2f20497420616c736f206c696e6b732074686520666f6c6c6f77696e67206361706162696c69746965733a0a2f2f0a2f2f202d2046756e6769626c65546f6b656e2e52656365697665723a2074686973206361706162696c69747920616c6c6f77732074686973206163636f756e7420746f206163636570742046555344206465706f736974732e0a2f2f202d2046756e6769626c65546f6b656e2e42616c616e63653a2074686973206361706162696c69747920616c6c6f777320616e79626f647920746f20696e73706563742074686520465553442062616c616e6365206f662074686973206163636f756e742e0a0a696d706f72742046756e6769626c65546f6b656e2066726f6d203078396130373636643933623636303862370a696d706f727420465553442066726f6d203078653232336438613632396534396336380a0a7472616e73616374696f6e207b0a0a2020202070726570617265287369676e65723a20417574684163636f756e7429207b0a0a20202020202020202f2f2049742773204f4b20696620746865206163636f756e7420616c7265616479206861732061205661756c742c2062757420776520646f6e27742077616e7420746f207265706c6163652069740a20202020202020206966287369676e65722e626f72726f773c26465553442e5661756c743e2866726f6d3a202f73746f726167652f667573645661756c742920213d206e696c29207b0a20202020202020202020202072657475726e0a20202020202020207d0a20202020202020200a20202020202020202f2f204372656174652061206e65772046555344205661756c7420616e642070757420697420696e2073746f726167650a20202020202020207369676e65722e73617665283c2d465553442e637265617465456d7074795661756c7428292c20746f3a202f73746f726167652f667573645661756c74290a0a20202020202020202f2f204372656174652061207075626c6963206361706162696c69747920746f20746865205661756c742074686174206f6e6c79206578706f7365730a20202020202020202f2f20746865206465706f7369742066756e6374696f6e207468726f7567682074686520526563656976657220696e746572666163650a20202020202020207369676e65722e6c696e6b3c26465553442e5661756c747b46756e6769626c65546f6b656e2e52656365697665727d3e280a2020202020202020202020202f7075626c69632f6675736452656365697665722c0a2020202020202020202020207461726765743a202f73746f726167652f667573645661756c740a2020202020202020290a0a20202020202020202f2f204372656174652061207075626c6963206361706162696c69747920746f20746865205661756c742074686174206f6e6c79206578706f7365730a20202020202020202f2f207468652062616c616e6365206669656c64207468726f756768207468652042616c616e636520696e746572666163650a20202020202020207369676e65722e6c696e6b3c26465553442e5661756c747b46756e6769626c65546f6b656e2e42616c616e63657d3e280a2020202020202020202020202f7075626c69632f6675736442616c616e63652c0a2020202020202020202020207461726765743a202f73746f726167652f667573645661756c740a2020202020202020290a202020207d0a7d0ac0a0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", + "metadata": "020ffaf77ab320ce4cc9602d39b89c85f094ebcea571ed324537e703bc07b0fdc4aa7fecdf159e71bd0b029e40b22643fb443161e67796f42bac68e9bab4630e2953657475702046555344205661756c740000", + "hash": "0ffaf77ab320ce4cc9602d39b89c85f094ebcea571ed324537e703bc07b0fdc4" }, { - "title": "SCO.14 - Transfer Delegator", + "title": "FUSD.02 - Transfer FUSD", "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}", + "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": "String", - "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" - }, - { - "type": "UInt32", - "value": "42" + "type": "UFix64", + "value": "92233720368.54775808" }, { "type": "Address", - "value": "0x8c5303eaa26202d6" + "value": "0xe467b9dd11fa00df" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -2848,19 +2620,15 @@ ] }, "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}", + "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": "String", - "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" - }, - { - "type": "UInt32", - "value": "42" + "type": "UFix64", + "value": "92233720368.54775808" }, { "type": "Address", - "value": "0x8c5303eaa26202d6" + "value": "0xe467b9dd11fa00df" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -2876,27 +2644,18 @@ ], "payloadSigs": [] }, - "encodedTransactionPayloadHex": "f908b4b907c2696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f205472616e73666572732061204e6f646544656c656761746f72206f626a6563742066726f6d20616e20617574686f72697a657273206163636f6f756e740a2f2f20616e64206164647320746865204e6f646544656c656761746f7220746f20616e6f74686572206163636f756e7473205374616b696e6720436f6c6c656374696f6e0a2f2f206964656e7469666965642062792074686520746f20416464726573732e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433322c20746f3a204164647265737329207b0a202020206c65742066726f6d5374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a202020206c657420746f5374616b696e67436f6c6c656374696f6e4361703a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e7b466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e5075626c69637d0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a20202020202020202f2f20546865206163636f756e7420746f207472616e7366657220746865204e6f646544656c656761746f72206f626a65637420746f206d757374206861766520612076616c6964205374616b696e6720436f6c6c656374696f6e20696e206f7264657220746f207265636569766520746865204e6f646544656c656761746f722e0a20202020202020206966202821466c6f775374616b696e67436f6c6c656374696f6e2e646f65734163636f756e74486176655374616b696e67436f6c6c656374696f6e28616464726573733a20746f2929207b0a20202020202020202020202070616e6963282244657374696e6174696f6e206163636f756e74206d75737420686176652061205374616b696e6720436f6c6c656374696f6e207365742075702e22290a20202020202020207d0a0a20202020202020202f2f204765742061207265666572656e636520746f2074686520617574686f72697a657273205374616b696e67436f6c6c656374696f6e0a202020202020202073656c662e66726f6d5374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a0a20202020202020202f2f2047657420746865205075626c69634163636f756e74206f6620746865206163636f756e7420746f207472616e7366657220746865204e6f646544656c656761746f7220746f2e200a20202020202020206c657420746f4163636f756e74203d206765744163636f756e7428746f290a0a20202020202020202f2f20426f72726f772061206361706162696c69747920746f20746865207075626c6963206d6574686f647320617661696c61626c65206f6e2074686520726563656976657273205374616b696e67436f6c6c656374696f6e2e0a202020202020202073656c662e746f5374616b696e67436f6c6c656374696f6e436170203d20746f4163636f756e742e6765744361706162696c6974793c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e7b466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e5075626c69637d3e28466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e5075626c696350617468292e626f72726f7728290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a20202020202020202f2f2052656d6f766520746865204e6f646544656c656761746f722066726f6d2074686520617574686f72697a657273205374616b696e67436f6c6c656374696f6e2e0a20202020202020206c6574206e6f646544656c656761746f72203c2d2073656c662e66726f6d5374616b696e67436f6c6c656374696f6e5265662e72656d6f766544656c656761746f72286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f724944290a0a20202020202020202f2f204465706f73697420746865204e6f646544656c656761746f7220746f2074686520726563656976657273205374616b696e67436f6c6c656374696f6e2e0a202020202020202073656c662e746f5374616b696e67436f6c6c656374696f6e4361702e61646444656c656761746f724f626a656374283c2d206e6f646544656c656761746f7221290a202020207d0a7df8adb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227d9e7b2274797065223a2255496e743332222c2276616c7565223a223432227daf7b2274797065223a2241646472657373222c2276616c7565223a22307838633533303365616132363230326436227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", - "encodedTransactionEnvelopeHex": "f908b8f908b4b907c2696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f205472616e73666572732061204e6f646544656c656761746f72206f626a6563742066726f6d20616e20617574686f72697a657273206163636f6f756e740a2f2f20616e64206164647320746865204e6f646544656c656761746f7220746f20616e6f74686572206163636f756e7473205374616b696e6720436f6c6c656374696f6e0a2f2f206964656e7469666965642062792074686520746f20416464726573732e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433322c20746f3a204164647265737329207b0a202020206c65742066726f6d5374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a202020206c657420746f5374616b696e67436f6c6c656374696f6e4361703a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e7b466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e5075626c69637d0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a20202020202020202f2f20546865206163636f756e7420746f207472616e7366657220746865204e6f646544656c656761746f72206f626a65637420746f206d757374206861766520612076616c6964205374616b696e6720436f6c6c656374696f6e20696e206f7264657220746f207265636569766520746865204e6f646544656c656761746f722e0a20202020202020206966202821466c6f775374616b696e67436f6c6c656374696f6e2e646f65734163636f756e74486176655374616b696e67436f6c6c656374696f6e28616464726573733a20746f2929207b0a20202020202020202020202070616e6963282244657374696e6174696f6e206163636f756e74206d75737420686176652061205374616b696e6720436f6c6c656374696f6e207365742075702e22290a20202020202020207d0a0a20202020202020202f2f204765742061207265666572656e636520746f2074686520617574686f72697a657273205374616b696e67436f6c6c656374696f6e0a202020202020202073656c662e66726f6d5374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a0a20202020202020202f2f2047657420746865205075626c69634163636f756e74206f6620746865206163636f756e7420746f207472616e7366657220746865204e6f646544656c656761746f7220746f2e200a20202020202020206c657420746f4163636f756e74203d206765744163636f756e7428746f290a0a20202020202020202f2f20426f72726f772061206361706162696c69747920746f20746865207075626c6963206d6574686f647320617661696c61626c65206f6e2074686520726563656976657273205374616b696e67436f6c6c656374696f6e2e0a202020202020202073656c662e746f5374616b696e67436f6c6c656374696f6e436170203d20746f4163636f756e742e6765744361706162696c6974793c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e7b466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e5075626c69637d3e28466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e5075626c696350617468292e626f72726f7728290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a20202020202020202f2f2052656d6f766520746865204e6f646544656c656761746f722066726f6d2074686520617574686f72697a657273205374616b696e67436f6c6c656374696f6e2e0a20202020202020206c6574206e6f646544656c656761746f72203c2d2073656c662e66726f6d5374616b696e67436f6c6c656374696f6e5265662e72656d6f766544656c656761746f72286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f724944290a0a20202020202020202f2f204465706f73697420746865204e6f646544656c656761746f7220746f2074686520726563656976657273205374616b696e67436f6c6c656374696f6e2e0a202020202020202073656c662e746f5374616b696e67436f6c6c656374696f6e4361702e61646444656c656761746f724f626a656374283c2d206e6f646544656c656761746f7221290a202020207d0a7df8adb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227d9e7b2274797065223a2255496e743332222c2276616c7565223a223432227daf7b2274797065223a2241646472657373222c2276616c7565223a22307838633533303365616132363230326436227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", - "metadata": "0253b096b4850a30894e7b272ec5c39e2b2f4a23f8c40e76a3c64cfc63dc2999b6b34d6fafcc5a4d0ed9cf92e168a08d0674c93341e2393ee72dde6664918ec2405472616e736665722044656c656761746f720003014e6f64652049440000537472696e6700030144656c656761746f72204944000155496e743332000301416464726573730002416464726573730003", - "hash": "53b096b4850a30894e7b272ec5c39e2b2f4a23f8c40e76a3c64cfc63dc2999b6" + "encodedTransactionPayloadHex": "f90759b906b32f2f2054686973207472616e73616374696f6e2077697468647261777320465553442066726f6d20746865207369676e65722773206163636f756e7420616e64206465706f7369747320697420696e746f206120726563697069656e74206163636f756e742e200a2f2f2054686973207472616e73616374696f6e2077696c6c206661696c2069662074686520726563697069656e7420646f6573206e6f74206861766520616e20465553442072656365697665722e200a2f2f204e6f2066756e647320617265207472616e73666572726564206f72206c6f737420696620746865207472616e73616374696f6e206661696c732e0a2f2f0a2f2f20506172616d65746572733a0a2f2f202d20616d6f756e743a2054686520616d6f756e74206f66204655534420746f207472616e736665722028652e672e2031302e30290a2f2f202d20746f3a2054686520726563697069656e74206163636f756e7420616464726573732e0a2f2f0a2f2f2054686973207472616e73616374696f6e2077696c6c206661696c20696620656974686572207468652073656e646572206f7220726563697069656e7420646f6573206e6f7420686176650a2f2f20616e2046555344207661756c742073746f72656420696e207468656972206163636f756e742e20546f20636865636b20696620616e206163636f756e74206861732061207661756c740a2f2f206f7220696e697469616c697a652061206e6577207661756c742c2075736520636865636b5f667573645f7661756c745f73657475702e63646320616e642073657475705f667573645f7661756c742e6364630a2f2f20726573706563746976656c792e0a0a696d706f72742046756e6769626c65546f6b656e2066726f6d203078396130373636643933623636303862370a696d706f727420465553442066726f6d203078653232336438613632396534396336380a0a7472616e73616374696f6e28616d6f756e743a205546697836342c20746f3a204164647265737329207b0a0a202020202f2f20546865205661756c74207265736f75726365207468617420686f6c64732074686520746f6b656e73207468617420617265206265696e67207472616e736665727265640a202020206c65742073656e745661756c743a204046756e6769626c65546f6b656e2e5661756c740a0a2020202070726570617265287369676e65723a20417574684163636f756e7429207b0a20202020202020202f2f204765742061207265666572656e636520746f20746865207369676e657227732073746f726564207661756c740a20202020202020206c6574207661756c74526566203d207369676e65722e626f72726f773c26465553442e5661756c743e2866726f6d3a202f73746f726167652f667573645661756c74290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f20746865206f776e65722773205661756c742122290a0a20202020202020202f2f20576974686472617720746f6b656e732066726f6d20746865207369676e657227732073746f726564207661756c740a202020202020202073656c662e73656e745661756c74203c2d207661756c745265662e776974686472617728616d6f756e743a20616d6f756e74290a202020207d0a0a2020202065786563757465207b0a20202020202020202f2f204765742074686520726563697069656e742773207075626c6963206163636f756e74206f626a6563740a20202020202020206c657420726563697069656e74203d206765744163636f756e7428746f290a0a20202020202020202f2f204765742061207265666572656e636520746f2074686520726563697069656e7427732052656365697665720a20202020202020206c6574207265636569766572526566203d20726563697069656e742e6765744361706162696c697479282f7075626c69632f66757364526563656976657229212e626f72726f773c267b46756e6769626c65546f6b656e2e52656365697665727d3e28290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265636569766572207265666572656e636520746f2074686520726563697069656e742773205661756c7422290a0a20202020202020202f2f204465706f736974207468652077697468647261776e20746f6b656e7320696e2074686520726563697069656e7427732072656365697665720a202020202020202072656365697665725265662e6465706f7369742866726f6d3a203c2d73656c662e73656e745661756c74290a202020207d0a7d0af861b07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227daf7b2274797065223a2241646472657373222c2276616c7565223a22307865343637623964643131666130306466227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", + "encodedTransactionEnvelopeHex": "f9075df90759b906b32f2f2054686973207472616e73616374696f6e2077697468647261777320465553442066726f6d20746865207369676e65722773206163636f756e7420616e64206465706f7369747320697420696e746f206120726563697069656e74206163636f756e742e200a2f2f2054686973207472616e73616374696f6e2077696c6c206661696c2069662074686520726563697069656e7420646f6573206e6f74206861766520616e20465553442072656365697665722e200a2f2f204e6f2066756e647320617265207472616e73666572726564206f72206c6f737420696620746865207472616e73616374696f6e206661696c732e0a2f2f0a2f2f20506172616d65746572733a0a2f2f202d20616d6f756e743a2054686520616d6f756e74206f66204655534420746f207472616e736665722028652e672e2031302e30290a2f2f202d20746f3a2054686520726563697069656e74206163636f756e7420616464726573732e0a2f2f0a2f2f2054686973207472616e73616374696f6e2077696c6c206661696c20696620656974686572207468652073656e646572206f7220726563697069656e7420646f6573206e6f7420686176650a2f2f20616e2046555344207661756c742073746f72656420696e207468656972206163636f756e742e20546f20636865636b20696620616e206163636f756e74206861732061207661756c740a2f2f206f7220696e697469616c697a652061206e6577207661756c742c2075736520636865636b5f667573645f7661756c745f73657475702e63646320616e642073657475705f667573645f7661756c742e6364630a2f2f20726573706563746976656c792e0a0a696d706f72742046756e6769626c65546f6b656e2066726f6d203078396130373636643933623636303862370a696d706f727420465553442066726f6d203078653232336438613632396534396336380a0a7472616e73616374696f6e28616d6f756e743a205546697836342c20746f3a204164647265737329207b0a0a202020202f2f20546865205661756c74207265736f75726365207468617420686f6c64732074686520746f6b656e73207468617420617265206265696e67207472616e736665727265640a202020206c65742073656e745661756c743a204046756e6769626c65546f6b656e2e5661756c740a0a2020202070726570617265287369676e65723a20417574684163636f756e7429207b0a20202020202020202f2f204765742061207265666572656e636520746f20746865207369676e657227732073746f726564207661756c740a20202020202020206c6574207661756c74526566203d207369676e65722e626f72726f773c26465553442e5661756c743e2866726f6d3a202f73746f726167652f667573645661756c74290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f20746865206f776e65722773205661756c742122290a0a20202020202020202f2f20576974686472617720746f6b656e732066726f6d20746865207369676e657227732073746f726564207661756c740a202020202020202073656c662e73656e745661756c74203c2d207661756c745265662e776974686472617728616d6f756e743a20616d6f756e74290a202020207d0a0a2020202065786563757465207b0a20202020202020202f2f204765742074686520726563697069656e742773207075626c6963206163636f756e74206f626a6563740a20202020202020206c657420726563697069656e74203d206765744163636f756e7428746f290a0a20202020202020202f2f204765742061207265666572656e636520746f2074686520726563697069656e7427732052656365697665720a20202020202020206c6574207265636569766572526566203d20726563697069656e742e6765744361706162696c697479282f7075626c69632f66757364526563656976657229212e626f72726f773c267b46756e6769626c65546f6b656e2e52656365697665727d3e28290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265636569766572207265666572656e636520746f2074686520726563697069656e742773205661756c7422290a0a20202020202020202f2f204465706f736974207468652077697468647261776e20746f6b656e7320696e2074686520726563697069656e7427732072656365697665720a202020202020202072656365697665725265662e6465706f7369742866726f6d3a203c2d73656c662e73656e745661756c74290a202020207d0a7d0af861b07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227daf7b2274797065223a2241646472657373222c2276616c7565223a22307865343637623964643131666130306466227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", + "metadata": "02f22ca4b350a79c724f6471d5a6a7a0efa7ba9aeebb7fed2843a3ddd6e42c2e1c180cef7053a5f0ae66e19e3a96cc3b9eb7da29767fb5d6938239bf1f8e1dc2845472616e736665722046555344000201416d6f756e740000554669783634000301526563697069656e740001416464726573730003", + "hash": "f22ca4b350a79c724f6471d5a6a7a0efa7ba9aeebb7fed2843a3ddd6e42c2e1c" }, { - "title": "SCO.15 - Withdraw From Machine Account", + "title": "TS.01 - Set up Top Shot Collection", "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" - } - ], + "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": { @@ -2910,17 +2669,8 @@ ] }, "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" - } - ], + "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": { @@ -2934,25 +2684,25 @@ ], "payloadSigs": [] }, - "encodedTransactionPayloadHex": "f9037eb902aa696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f205265717565737420746f20776974686472617720746f6b656e732066726f6d20746865206d616368696e65206163636f756e740a2f2f2f2054686520746f6b656e7320617265206175746f6d61746963616c6c79206465706f736974656420746f2074686520756e6c6f636b6564206163636f756e74207661756c740a0a7472616e73616374696f6e286e6f646549443a20537472696e672c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e776974686472617746726f6d4d616368696e654163636f756e74286e6f646549443a206e6f646549442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af88fb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", - "encodedTransactionEnvelopeHex": "f90382f9037eb902aa696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f205265717565737420746f20776974686472617720746f6b656e732066726f6d20746865206d616368696e65206163636f756e740a2f2f2f2054686520746f6b656e7320617265206175746f6d61746963616c6c79206465706f736974656420746f2074686520756e6c6f636b6564206163636f756e74207661756c740a0a7472616e73616374696f6e286e6f646549443a20537472696e672c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e776974686472617746726f6d4d616368696e654163636f756e74286e6f646549443a206e6f646549442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af88fb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", - "metadata": "0239a126038522c6c964d53aaf78dde55bfe80929091510792fe49678bb22cbd96f9c48e18bda7f113e82711a4c95dfd151c6600ed9fbf46ceb22566d6c5728c6f57697468647261772046726f6d204d616368696e65204163636f756e740002014e6f64652049440000537472696e67000301416d6f756e7400015546697836340003", - "hash": "39a126038522c6c964d53aaf78dde55bfe80929091510792fe49678bb22cbd96" + "encodedTransactionPayloadHex": "f90384b90340696d706f727420546f7053686f742066726f6d203078383737393331373336656537376366660a0a2f2f2054686973207472616e73616374696f6e207365747320757020616e206163636f756e7420746f2075736520546f702053686f740a2f2f2062792073746f72696e6720616e20656d707479206d6f6d656e7420636f6c6c656374696f6e20616e64206372656174696e670a2f2f2061207075626c6963206361706162696c69747920666f722069740a0a7472616e73616374696f6e207b0a0a202020207072657061726528616363743a20417574684163636f756e7429207b0a0a20202020202020202f2f2046697273742c20636865636b20746f207365652069662061206d6f6d656e7420636f6c6c656374696f6e20616c7265616479206578697374730a2020202020202020696620616363742e626f72726f773c26546f7053686f742e436f6c6c656374696f6e3e2866726f6d3a202f73746f726167652f4d6f6d656e74436f6c6c656374696f6e29203d3d206e696c207b0a0a2020202020202020202020202f2f206372656174652061206e657720546f7053686f7420436f6c6c656374696f6e0a2020202020202020202020206c657420636f6c6c656374696f6e203c2d20546f7053686f742e637265617465456d707479436f6c6c656374696f6e2829206173212040546f7053686f742e436f6c6c656374696f6e0a0a2020202020202020202020202f2f2050757420746865206e657720436f6c6c656374696f6e20696e2073746f726167650a202020202020202020202020616363742e73617665283c2d636f6c6c656374696f6e2c20746f3a202f73746f726167652f4d6f6d656e74436f6c6c656374696f6e290a0a2020202020202020202020202f2f206372656174652061207075626c6963206361706162696c69747920666f722074686520636f6c6c656374696f6e0a202020202020202020202020616363742e6c696e6b3c267b546f7053686f742e4d6f6d656e74436f6c6c656374696f6e5075626c69637d3e282f7075626c69632f4d6f6d656e74436f6c6c656374696f6e2c207461726765743a202f73746f726167652f4d6f6d656e74436f6c6c656374696f6e290a20202020202020207d0a202020207d0a7dc0a0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", + "encodedTransactionEnvelopeHex": "f90388f90384b90340696d706f727420546f7053686f742066726f6d203078383737393331373336656537376366660a0a2f2f2054686973207472616e73616374696f6e207365747320757020616e206163636f756e7420746f2075736520546f702053686f740a2f2f2062792073746f72696e6720616e20656d707479206d6f6d656e7420636f6c6c656374696f6e20616e64206372656174696e670a2f2f2061207075626c6963206361706162696c69747920666f722069740a0a7472616e73616374696f6e207b0a0a202020207072657061726528616363743a20417574684163636f756e7429207b0a0a20202020202020202f2f2046697273742c20636865636b20746f207365652069662061206d6f6d656e7420636f6c6c656374696f6e20616c7265616479206578697374730a2020202020202020696620616363742e626f72726f773c26546f7053686f742e436f6c6c656374696f6e3e2866726f6d3a202f73746f726167652f4d6f6d656e74436f6c6c656374696f6e29203d3d206e696c207b0a0a2020202020202020202020202f2f206372656174652061206e657720546f7053686f7420436f6c6c656374696f6e0a2020202020202020202020206c657420636f6c6c656374696f6e203c2d20546f7053686f742e637265617465456d707479436f6c6c656374696f6e2829206173212040546f7053686f742e436f6c6c656374696f6e0a0a2020202020202020202020202f2f2050757420746865206e657720436f6c6c656374696f6e20696e2073746f726167650a202020202020202020202020616363742e73617665283c2d636f6c6c656374696f6e2c20746f3a202f73746f726167652f4d6f6d656e74436f6c6c656374696f6e290a0a2020202020202020202020202f2f206372656174652061207075626c6963206361706162696c69747920666f722074686520636f6c6c656374696f6e0a202020202020202020202020616363742e6c696e6b3c267b546f7053686f742e4d6f6d656e74436f6c6c656374696f6e5075626c69637d3e282f7075626c69632f4d6f6d656e74436f6c6c656374696f6e2c207461726765743a202f73746f726167652f4d6f6d656e74436f6c6c656374696f6e290a20202020202020207d0a202020207d0a7dc0a0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", + "metadata": "020f0baeef9353ceee607c5be3b7c0f86792dadf20b9e9c89e831adb0199e758827511848f1c27a173d966f4b868fd7efead7eeb1bbf04fc3f3e60dabc6c7f759353657420757020546f702053686f7420436f6c6c656374696f6e0000", + "hash": "0f0baeef9353ceee607c5be3b7c0f86792dadf20b9e9c89e831adb0199e75882" }, { - "title": "SCO.16 - Update Networking Address", + "title": "TS.02 - Transfer Top Shot Moment", "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", + "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": "String", - "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" + "type": "Address", + "value": "0x8c5303eaa26202d6" }, { - "type": "String", - "value": "flow-node.test:3569" + "type": "UInt64", + "value": "42" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -2968,15 +2718,15 @@ ] }, "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", + "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": "String", - "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" + "type": "Address", + "value": "0x8c5303eaa26202d6" }, { - "type": "String", - "value": "flow-node.test:3569" + "type": "UInt64", + "value": "42" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -2992,17 +2742,17 @@ ], "payloadSigs": [] }, - "encodedTransactionPayloadHex": "f9033fb9026c696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f204368616e67657320746865206e6574776f726b696e67206164647265737320666f722074686520737065636966696564206e6f64650a0a7472616e73616374696f6e286e6f646549443a20537472696e672c206e6577416464726573733a20537472696e6729207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e7570646174654e6574776f726b696e6741646472657373286e6f646549443a206e6f646549442c206e6577416464726573733a206e657741646472657373290a202020207d0a7d0af88eb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227daf7b2274797065223a22537472696e67222c2276616c7565223a22666c6f772d6e6f64652e746573743a33353639227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", - "encodedTransactionEnvelopeHex": "f90343f9033fb9026c696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f204368616e67657320746865206e6574776f726b696e67206164647265737320666f722074686520737065636966696564206e6f64650a0a7472616e73616374696f6e286e6f646549443a20537472696e672c206e6577416464726573733a20537472696e6729207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e7570646174654e6574776f726b696e6741646472657373286e6f646549443a206e6f646549442c206e6577416464726573733a206e657741646472657373290a202020207d0a7d0af88eb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227daf7b2274797065223a22537472696e67222c2276616c7565223a22666c6f772d6e6f64652e746573743a33353639227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", - "metadata": "0260f2cf219d56b19dc7fd223caed42dda9143c87b1b0d2c21a9652e12a3714133ff067b40ac67020ef864cd14842f62023254da34dd2ded56affa1364305bf1c5557064617465204e6574776f726b696e6720416464726573730002014e6f64652049440000537472696e67000301416464726573730001537472696e670003", - "hash": "60f2cf219d56b19dc7fd223caed42dda9143c87b1b0d2c21a9652e12a3714133" + "encodedTransactionPayloadHex": "f90681b905ed696d706f7274204e6f6e46756e6769626c65546f6b656e2066726f6d203078363331653838616537663164376332300a696d706f727420546f7053686f742066726f6d203078383737393331373336656537376366660a0a2f2f2054686973207472616e73616374696f6e207472616e73666572732061206d6f6d656e7420746f206120726563697069656e740a0a2f2f2054686973207472616e73616374696f6e20697320686f77206120746f7073686f74207573657220776f756c64207472616e736665722061206d6f6d656e740a2f2f2066726f6d207468656972206163636f756e7420746f20616e6f74686572206163636f756e740a2f2f2054686520726563697069656e74206d7573742068617665206120546f7053686f7420436f6c6c656374696f6e206f626a6563742073746f7265640a2f2f20616e642061207075626c6963204d6f6d656e74436f6c6c656374696f6e5075626c6963206361706162696c6974792073746f7265642061740a2f2f20602f7075626c69632f4d6f6d656e74436f6c6c656374696f6e600a0a2f2f20506172616d65746572733a0a2f2f0a2f2f20726563697069656e743a2054686520466c6f772061646472657373206f6620746865206163636f756e7420746f207265636569766520746865206d6f6d656e742e0a2f2f20776974686472617749443a20546865206964206f6620746865206d6f6d656e7420746f206265207472616e736665727265640a0a7472616e73616374696f6e28726563697069656e743a20416464726573732c20776974686472617749443a2055496e74363429207b0a0a202020202f2f206c6f63616c207661726961626c6520666f722073746f72696e6720746865207472616e7366657272656420746f6b656e0a202020206c6574207472616e73666572546f6b656e3a20404e6f6e46756e6769626c65546f6b656e2e4e46540a202020200a202020207072657061726528616363743a20417574684163636f756e7429207b0a0a20202020202020202f2f20626f72726f772061207265666572656e636520746f20746865206f776e6572277320636f6c6c656374696f6e0a20202020202020206c657420636f6c6c656374696f6e526566203d20616363742e626f72726f773c26546f7053686f742e436f6c6c656374696f6e3e2866726f6d3a202f73746f726167652f4d6f6d656e74436f6c6c656374696f6e290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f207468652073746f726564204d6f6d656e7420636f6c6c656374696f6e22290a20202020202020200a20202020202020202f2f20776974686472617720746865204e46540a202020202020202073656c662e7472616e73666572546f6b656e203c2d20636f6c6c656374696f6e5265662e776974686472617728776974686472617749443a2077697468647261774944290a202020207d0a0a2020202065786563757465207b0a20202020202020200a20202020202020202f2f206765742074686520726563697069656e742773207075626c6963206163636f756e74206f626a6563740a20202020202020206c657420726563697069656e74203d206765744163636f756e7428726563697069656e74290a0a20202020202020202f2f206765742074686520436f6c6c656374696f6e207265666572656e636520666f72207468652072656365697665720a20202020202020206c6574207265636569766572526566203d20726563697069656e742e6765744361706162696c697479282f7075626c69632f4d6f6d656e74436f6c6c656374696f6e292e626f72726f773c267b546f7053686f742e4d6f6d656e74436f6c6c656374696f6e5075626c69637d3e2829210a0a20202020202020202f2f206465706f73697420746865204e465420696e207468652072656365697665727320636f6c6c656374696f6e0a202020202020202072656365697665725265662e6465706f73697428746f6b656e3a203c2d73656c662e7472616e73666572546f6b656e290a202020207d0a7df84faf7b2274797065223a2241646472657373222c2276616c7565223a22307838633533303365616132363230326436227d9e7b2274797065223a2255496e743634222c2276616c7565223a223432227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", + "encodedTransactionEnvelopeHex": "f90685f90681b905ed696d706f7274204e6f6e46756e6769626c65546f6b656e2066726f6d203078363331653838616537663164376332300a696d706f727420546f7053686f742066726f6d203078383737393331373336656537376366660a0a2f2f2054686973207472616e73616374696f6e207472616e73666572732061206d6f6d656e7420746f206120726563697069656e740a0a2f2f2054686973207472616e73616374696f6e20697320686f77206120746f7073686f74207573657220776f756c64207472616e736665722061206d6f6d656e740a2f2f2066726f6d207468656972206163636f756e7420746f20616e6f74686572206163636f756e740a2f2f2054686520726563697069656e74206d7573742068617665206120546f7053686f7420436f6c6c656374696f6e206f626a6563742073746f7265640a2f2f20616e642061207075626c6963204d6f6d656e74436f6c6c656374696f6e5075626c6963206361706162696c6974792073746f7265642061740a2f2f20602f7075626c69632f4d6f6d656e74436f6c6c656374696f6e600a0a2f2f20506172616d65746572733a0a2f2f0a2f2f20726563697069656e743a2054686520466c6f772061646472657373206f6620746865206163636f756e7420746f207265636569766520746865206d6f6d656e742e0a2f2f20776974686472617749443a20546865206964206f6620746865206d6f6d656e7420746f206265207472616e736665727265640a0a7472616e73616374696f6e28726563697069656e743a20416464726573732c20776974686472617749443a2055496e74363429207b0a0a202020202f2f206c6f63616c207661726961626c6520666f722073746f72696e6720746865207472616e7366657272656420746f6b656e0a202020206c6574207472616e73666572546f6b656e3a20404e6f6e46756e6769626c65546f6b656e2e4e46540a202020200a202020207072657061726528616363743a20417574684163636f756e7429207b0a0a20202020202020202f2f20626f72726f772061207265666572656e636520746f20746865206f776e6572277320636f6c6c656374696f6e0a20202020202020206c657420636f6c6c656374696f6e526566203d20616363742e626f72726f773c26546f7053686f742e436f6c6c656374696f6e3e2866726f6d3a202f73746f726167652f4d6f6d656e74436f6c6c656374696f6e290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f207468652073746f726564204d6f6d656e7420636f6c6c656374696f6e22290a20202020202020200a20202020202020202f2f20776974686472617720746865204e46540a202020202020202073656c662e7472616e73666572546f6b656e203c2d20636f6c6c656374696f6e5265662e776974686472617728776974686472617749443a2077697468647261774944290a202020207d0a0a2020202065786563757465207b0a20202020202020200a20202020202020202f2f206765742074686520726563697069656e742773207075626c6963206163636f756e74206f626a6563740a20202020202020206c657420726563697069656e74203d206765744163636f756e7428726563697069656e74290a0a20202020202020202f2f206765742074686520436f6c6c656374696f6e207265666572656e636520666f72207468652072656365697665720a20202020202020206c6574207265636569766572526566203d20726563697069656e742e6765744361706162696c697479282f7075626c69632f4d6f6d656e74436f6c6c656374696f6e292e626f72726f773c267b546f7053686f742e4d6f6d656e74436f6c6c656374696f6e5075626c69637d3e2829210a0a20202020202020202f2f206465706f73697420746865204e465420696e207468652072656365697665727320636f6c6c656374696f6e0a202020202020202072656365697665725265662e6465706f73697428746f6b656e3a203c2d73656c662e7472616e73666572546f6b656e290a202020207d0a7df84faf7b2274797065223a2241646472657373222c2276616c7565223a22307838633533303365616132363230326436227d9e7b2274797065223a2255496e743634222c2276616c7565223a223432227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", + "metadata": "021ec9aea0b51409610f882f5ae4278567da675542bb378eb999f05b7c4f12f7d809d5ad21bf70dfe4f8d800db9e61a77f2f64837ae0e818c3cd67e9cea837a1cf5472616e7366657220546f702053686f74204d6f6d656e74000201526563697069656e740000416464726573730003014d6f6d656e74204944000155496e7436340003", + "hash": "1ec9aea0b51409610f882f5ae4278567da675542bb378eb999f05b7c4f12f7d8" }, { - "title": "FUSD.01 - Setup FUSD Vault", + "title": "USDC.01 - Setup USDC 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", + "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, @@ -3017,7 +2767,7 @@ ] }, "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", + "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, @@ -3032,25 +2782,25 @@ ], "payloadSigs": [] }, - "encodedTransactionPayloadHex": "f9057ab905362f2f2054686973207472616e73616374696f6e20636f6e6669677572657320746865207369676e65722773206163636f756e74207769746820616e20656d7074792046555344207661756c742e0a2f2f0a2f2f20497420616c736f206c696e6b732074686520666f6c6c6f77696e67206361706162696c69746965733a0a2f2f0a2f2f202d2046756e6769626c65546f6b656e2e52656365697665723a2074686973206361706162696c69747920616c6c6f77732074686973206163636f756e7420746f206163636570742046555344206465706f736974732e0a2f2f202d2046756e6769626c65546f6b656e2e42616c616e63653a2074686973206361706162696c69747920616c6c6f777320616e79626f647920746f20696e73706563742074686520465553442062616c616e6365206f662074686973206163636f756e742e0a0a696d706f72742046756e6769626c65546f6b656e2066726f6d203078396130373636643933623636303862370a696d706f727420465553442066726f6d203078653232336438613632396534396336380a0a7472616e73616374696f6e207b0a0a2020202070726570617265287369676e65723a20417574684163636f756e7429207b0a0a20202020202020202f2f2049742773204f4b20696620746865206163636f756e7420616c7265616479206861732061205661756c742c2062757420776520646f6e27742077616e7420746f207265706c6163652069740a20202020202020206966287369676e65722e626f72726f773c26465553442e5661756c743e2866726f6d3a202f73746f726167652f667573645661756c742920213d206e696c29207b0a20202020202020202020202072657475726e0a20202020202020207d0a20202020202020200a20202020202020202f2f204372656174652061206e65772046555344205661756c7420616e642070757420697420696e2073746f726167650a20202020202020207369676e65722e73617665283c2d465553442e637265617465456d7074795661756c7428292c20746f3a202f73746f726167652f667573645661756c74290a0a20202020202020202f2f204372656174652061207075626c6963206361706162696c69747920746f20746865205661756c742074686174206f6e6c79206578706f7365730a20202020202020202f2f20746865206465706f7369742066756e6374696f6e207468726f7567682074686520526563656976657220696e746572666163650a20202020202020207369676e65722e6c696e6b3c26465553442e5661756c747b46756e6769626c65546f6b656e2e52656365697665727d3e280a2020202020202020202020202f7075626c69632f6675736452656365697665722c0a2020202020202020202020207461726765743a202f73746f726167652f667573645661756c740a2020202020202020290a0a20202020202020202f2f204372656174652061207075626c6963206361706162696c69747920746f20746865205661756c742074686174206f6e6c79206578706f7365730a20202020202020202f2f207468652062616c616e6365206669656c64207468726f756768207468652042616c616e636520696e746572666163650a20202020202020207369676e65722e6c696e6b3c26465553442e5661756c747b46756e6769626c65546f6b656e2e42616c616e63657d3e280a2020202020202020202020202f7075626c69632f6675736442616c616e63652c0a2020202020202020202020207461726765743a202f73746f726167652f667573645661756c740a2020202020202020290a202020207d0a7d0ac0a0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", - "encodedTransactionEnvelopeHex": "f9057ef9057ab905362f2f2054686973207472616e73616374696f6e20636f6e6669677572657320746865207369676e65722773206163636f756e74207769746820616e20656d7074792046555344207661756c742e0a2f2f0a2f2f20497420616c736f206c696e6b732074686520666f6c6c6f77696e67206361706162696c69746965733a0a2f2f0a2f2f202d2046756e6769626c65546f6b656e2e52656365697665723a2074686973206361706162696c69747920616c6c6f77732074686973206163636f756e7420746f206163636570742046555344206465706f736974732e0a2f2f202d2046756e6769626c65546f6b656e2e42616c616e63653a2074686973206361706162696c69747920616c6c6f777320616e79626f647920746f20696e73706563742074686520465553442062616c616e6365206f662074686973206163636f756e742e0a0a696d706f72742046756e6769626c65546f6b656e2066726f6d203078396130373636643933623636303862370a696d706f727420465553442066726f6d203078653232336438613632396534396336380a0a7472616e73616374696f6e207b0a0a2020202070726570617265287369676e65723a20417574684163636f756e7429207b0a0a20202020202020202f2f2049742773204f4b20696620746865206163636f756e7420616c7265616479206861732061205661756c742c2062757420776520646f6e27742077616e7420746f207265706c6163652069740a20202020202020206966287369676e65722e626f72726f773c26465553442e5661756c743e2866726f6d3a202f73746f726167652f667573645661756c742920213d206e696c29207b0a20202020202020202020202072657475726e0a20202020202020207d0a20202020202020200a20202020202020202f2f204372656174652061206e65772046555344205661756c7420616e642070757420697420696e2073746f726167650a20202020202020207369676e65722e73617665283c2d465553442e637265617465456d7074795661756c7428292c20746f3a202f73746f726167652f667573645661756c74290a0a20202020202020202f2f204372656174652061207075626c6963206361706162696c69747920746f20746865205661756c742074686174206f6e6c79206578706f7365730a20202020202020202f2f20746865206465706f7369742066756e6374696f6e207468726f7567682074686520526563656976657220696e746572666163650a20202020202020207369676e65722e6c696e6b3c26465553442e5661756c747b46756e6769626c65546f6b656e2e52656365697665727d3e280a2020202020202020202020202f7075626c69632f6675736452656365697665722c0a2020202020202020202020207461726765743a202f73746f726167652f667573645661756c740a2020202020202020290a0a20202020202020202f2f204372656174652061207075626c6963206361706162696c69747920746f20746865205661756c742074686174206f6e6c79206578706f7365730a20202020202020202f2f207468652062616c616e6365206669656c64207468726f756768207468652042616c616e636520696e746572666163650a20202020202020207369676e65722e6c696e6b3c26465553442e5661756c747b46756e6769626c65546f6b656e2e42616c616e63657d3e280a2020202020202020202020202f7075626c69632f6675736442616c616e63652c0a2020202020202020202020207461726765743a202f73746f726167652f667573645661756c740a2020202020202020290a202020207d0a7d0ac0a0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", - "metadata": "020ffaf77ab320ce4cc9602d39b89c85f094ebcea571ed324537e703bc07b0fdc4aa7fecdf159e71bd0b029e40b22643fb443161e67796f42bac68e9bab4630e2953657475702046555344205661756c740000", - "hash": "0ffaf77ab320ce4cc9602d39b89c85f094ebcea571ed324537e703bc07b0fdc4" + "encodedTransactionPayloadHex": "f905b9b90575696d706f72742046756e6769626c65546f6b656e2066726f6d203078396130373636643933623636303862370a696d706f72742046696174546f6b656e2066726f6d203078316162336331373734363065316534610a0a7472616e73616374696f6e207b0a0a2020202070726570617265287369676e65723a20417574684163636f756e7429207b0a0a20202020202020202f2f2052657475726e206561726c7920696620746865206163636f756e7420616c72656164792073746f72657320612046696174546f6b656e205661756c740a20202020202020206966207369676e65722e626f72726f773c2646696174546f6b656e2e5661756c743e2866726f6d3a2046696174546f6b656e2e5661756c7453746f72616765506174682920213d206e696c207b0a20202020202020202020202072657475726e0a20202020202020207d0a0a20202020202020202f2f204372656174652061206e6577204578616d706c65546f6b656e205661756c7420616e642070757420697420696e2073746f726167650a20202020202020207369676e65722e73617665280a2020202020202020202020203c2d46696174546f6b656e2e637265617465456d7074795661756c7428292c0a202020202020202020202020746f3a2046696174546f6b656e2e5661756c7453746f72616765506174680a2020202020202020290a0a20202020202020202f2f204372656174652061207075626c6963206361706162696c69747920746f20746865205661756c742074686174206f6e6c79206578706f7365730a20202020202020202f2f20746865206465706f7369742066756e6374696f6e207468726f7567682074686520526563656976657220696e746572666163650a20202020202020207369676e65722e6c696e6b3c2646696174546f6b656e2e5661756c747b46756e6769626c65546f6b656e2e52656365697665727d3e280a20202020202020202020202046696174546f6b656e2e5661756c745265636569766572507562506174682c0a2020202020202020202020207461726765743a2046696174546f6b656e2e5661756c7453746f72616765506174680a2020202020202020290a0a20202020202020202f2f204372656174652061207075626c6963206361706162696c69747920746f20746865205661756c742074686174206f6e6c79206578706f7365730a20202020202020202f2f20746865205555494428292066756e6374696f6e207468726f75676820746865205661756c745555494420696e746572666163650a20202020202020207369676e65722e6c696e6b3c2646696174546f6b656e2e5661756c747b46696174546f6b656e2e5265736f7572636549647d3e280a20202020202020202020202046696174546f6b656e2e5661756c7455554944507562506174682c0a2020202020202020202020207461726765743a2046696174546f6b656e2e5661756c7453746f72616765506174680a2020202020202020290a0a20202020202020202f2f204372656174652061207075626c6963206361706162696c69747920746f20746865205661756c742074686174206f6e6c79206578706f7365730a20202020202020202f2f207468652062616c616e6365206669656c64207468726f756768207468652042616c616e636520696e746572666163650a20202020202020207369676e65722e6c696e6b3c2646696174546f6b656e2e5661756c747b46756e6769626c65546f6b656e2e42616c616e63657d3e280a20202020202020202020202046696174546f6b656e2e5661756c7442616c616e6365507562506174682c0a2020202020202020202020207461726765743a2046696174546f6b656e2e5661756c7453746f72616765506174680a2020202020202020290a0a202020207d0a7d0ac0a0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", + "encodedTransactionEnvelopeHex": "f905bdf905b9b90575696d706f72742046756e6769626c65546f6b656e2066726f6d203078396130373636643933623636303862370a696d706f72742046696174546f6b656e2066726f6d203078316162336331373734363065316534610a0a7472616e73616374696f6e207b0a0a2020202070726570617265287369676e65723a20417574684163636f756e7429207b0a0a20202020202020202f2f2052657475726e206561726c7920696620746865206163636f756e7420616c72656164792073746f72657320612046696174546f6b656e205661756c740a20202020202020206966207369676e65722e626f72726f773c2646696174546f6b656e2e5661756c743e2866726f6d3a2046696174546f6b656e2e5661756c7453746f72616765506174682920213d206e696c207b0a20202020202020202020202072657475726e0a20202020202020207d0a0a20202020202020202f2f204372656174652061206e6577204578616d706c65546f6b656e205661756c7420616e642070757420697420696e2073746f726167650a20202020202020207369676e65722e73617665280a2020202020202020202020203c2d46696174546f6b656e2e637265617465456d7074795661756c7428292c0a202020202020202020202020746f3a2046696174546f6b656e2e5661756c7453746f72616765506174680a2020202020202020290a0a20202020202020202f2f204372656174652061207075626c6963206361706162696c69747920746f20746865205661756c742074686174206f6e6c79206578706f7365730a20202020202020202f2f20746865206465706f7369742066756e6374696f6e207468726f7567682074686520526563656976657220696e746572666163650a20202020202020207369676e65722e6c696e6b3c2646696174546f6b656e2e5661756c747b46756e6769626c65546f6b656e2e52656365697665727d3e280a20202020202020202020202046696174546f6b656e2e5661756c745265636569766572507562506174682c0a2020202020202020202020207461726765743a2046696174546f6b656e2e5661756c7453746f72616765506174680a2020202020202020290a0a20202020202020202f2f204372656174652061207075626c6963206361706162696c69747920746f20746865205661756c742074686174206f6e6c79206578706f7365730a20202020202020202f2f20746865205555494428292066756e6374696f6e207468726f75676820746865205661756c745555494420696e746572666163650a20202020202020207369676e65722e6c696e6b3c2646696174546f6b656e2e5661756c747b46696174546f6b656e2e5265736f7572636549647d3e280a20202020202020202020202046696174546f6b656e2e5661756c7455554944507562506174682c0a2020202020202020202020207461726765743a2046696174546f6b656e2e5661756c7453746f72616765506174680a2020202020202020290a0a20202020202020202f2f204372656174652061207075626c6963206361706162696c69747920746f20746865205661756c742074686174206f6e6c79206578706f7365730a20202020202020202f2f207468652062616c616e6365206669656c64207468726f756768207468652042616c616e636520696e746572666163650a20202020202020207369676e65722e6c696e6b3c2646696174546f6b656e2e5661756c747b46756e6769626c65546f6b656e2e42616c616e63657d3e280a20202020202020202020202046696174546f6b656e2e5661756c7442616c616e6365507562506174682c0a2020202020202020202020207461726765743a2046696174546f6b656e2e5661756c7453746f72616765506174680a2020202020202020290a0a202020207d0a7d0ac0a0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", + "metadata": "022defee818c0c003ca519f83517f4c7bcf9dd8664a562ec80959cb6146428f971887673892a2e2c12337394570dfa30c5669e93f537ae426690f402799514a9a153657475702055534443205661756c740000", + "hash": "2defee818c0c003ca519f83517f4c7bcf9dd8664a562ec80959cb6146428f971" }, { - "title": "FUSD.02 - Transfer FUSD", + "title": "USDC.02 - Transfer USDC", "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", + "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": "92233720368.54775808" + "value": "42" }, { "type": "Address", - "value": "0xe467b9dd11fa00df" + "value": "0x8c5303eaa26202d6" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -3066,15 +2816,15 @@ ] }, "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", + "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": "92233720368.54775808" + "value": "42" }, { "type": "Address", - "value": "0xe467b9dd11fa00df" + "value": "0x8c5303eaa26202d6" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -3090,18 +2840,27 @@ ], "payloadSigs": [] }, - "encodedTransactionPayloadHex": "f90759b906b32f2f2054686973207472616e73616374696f6e2077697468647261777320465553442066726f6d20746865207369676e65722773206163636f756e7420616e64206465706f7369747320697420696e746f206120726563697069656e74206163636f756e742e200a2f2f2054686973207472616e73616374696f6e2077696c6c206661696c2069662074686520726563697069656e7420646f6573206e6f74206861766520616e20465553442072656365697665722e200a2f2f204e6f2066756e647320617265207472616e73666572726564206f72206c6f737420696620746865207472616e73616374696f6e206661696c732e0a2f2f0a2f2f20506172616d65746572733a0a2f2f202d20616d6f756e743a2054686520616d6f756e74206f66204655534420746f207472616e736665722028652e672e2031302e30290a2f2f202d20746f3a2054686520726563697069656e74206163636f756e7420616464726573732e0a2f2f0a2f2f2054686973207472616e73616374696f6e2077696c6c206661696c20696620656974686572207468652073656e646572206f7220726563697069656e7420646f6573206e6f7420686176650a2f2f20616e2046555344207661756c742073746f72656420696e207468656972206163636f756e742e20546f20636865636b20696620616e206163636f756e74206861732061207661756c740a2f2f206f7220696e697469616c697a652061206e6577207661756c742c2075736520636865636b5f667573645f7661756c745f73657475702e63646320616e642073657475705f667573645f7661756c742e6364630a2f2f20726573706563746976656c792e0a0a696d706f72742046756e6769626c65546f6b656e2066726f6d203078396130373636643933623636303862370a696d706f727420465553442066726f6d203078653232336438613632396534396336380a0a7472616e73616374696f6e28616d6f756e743a205546697836342c20746f3a204164647265737329207b0a0a202020202f2f20546865205661756c74207265736f75726365207468617420686f6c64732074686520746f6b656e73207468617420617265206265696e67207472616e736665727265640a202020206c65742073656e745661756c743a204046756e6769626c65546f6b656e2e5661756c740a0a2020202070726570617265287369676e65723a20417574684163636f756e7429207b0a20202020202020202f2f204765742061207265666572656e636520746f20746865207369676e657227732073746f726564207661756c740a20202020202020206c6574207661756c74526566203d207369676e65722e626f72726f773c26465553442e5661756c743e2866726f6d3a202f73746f726167652f667573645661756c74290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f20746865206f776e65722773205661756c742122290a0a20202020202020202f2f20576974686472617720746f6b656e732066726f6d20746865207369676e657227732073746f726564207661756c740a202020202020202073656c662e73656e745661756c74203c2d207661756c745265662e776974686472617728616d6f756e743a20616d6f756e74290a202020207d0a0a2020202065786563757465207b0a20202020202020202f2f204765742074686520726563697069656e742773207075626c6963206163636f756e74206f626a6563740a20202020202020206c657420726563697069656e74203d206765744163636f756e7428746f290a0a20202020202020202f2f204765742061207265666572656e636520746f2074686520726563697069656e7427732052656365697665720a20202020202020206c6574207265636569766572526566203d20726563697069656e742e6765744361706162696c697479282f7075626c69632f66757364526563656976657229212e626f72726f773c267b46756e6769626c65546f6b656e2e52656365697665727d3e28290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265636569766572207265666572656e636520746f2074686520726563697069656e742773205661756c7422290a0a20202020202020202f2f204465706f736974207468652077697468647261776e20746f6b656e7320696e2074686520726563697069656e7427732072656365697665720a202020202020202072656365697665725265662e6465706f7369742866726f6d3a203c2d73656c662e73656e745661756c74290a202020207d0a7d0af861b07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227daf7b2274797065223a2241646472657373222c2276616c7565223a22307865343637623964643131666130306466227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", - "encodedTransactionEnvelopeHex": "f9075df90759b906b32f2f2054686973207472616e73616374696f6e2077697468647261777320465553442066726f6d20746865207369676e65722773206163636f756e7420616e64206465706f7369747320697420696e746f206120726563697069656e74206163636f756e742e200a2f2f2054686973207472616e73616374696f6e2077696c6c206661696c2069662074686520726563697069656e7420646f6573206e6f74206861766520616e20465553442072656365697665722e200a2f2f204e6f2066756e647320617265207472616e73666572726564206f72206c6f737420696620746865207472616e73616374696f6e206661696c732e0a2f2f0a2f2f20506172616d65746572733a0a2f2f202d20616d6f756e743a2054686520616d6f756e74206f66204655534420746f207472616e736665722028652e672e2031302e30290a2f2f202d20746f3a2054686520726563697069656e74206163636f756e7420616464726573732e0a2f2f0a2f2f2054686973207472616e73616374696f6e2077696c6c206661696c20696620656974686572207468652073656e646572206f7220726563697069656e7420646f6573206e6f7420686176650a2f2f20616e2046555344207661756c742073746f72656420696e207468656972206163636f756e742e20546f20636865636b20696620616e206163636f756e74206861732061207661756c740a2f2f206f7220696e697469616c697a652061206e6577207661756c742c2075736520636865636b5f667573645f7661756c745f73657475702e63646320616e642073657475705f667573645f7661756c742e6364630a2f2f20726573706563746976656c792e0a0a696d706f72742046756e6769626c65546f6b656e2066726f6d203078396130373636643933623636303862370a696d706f727420465553442066726f6d203078653232336438613632396534396336380a0a7472616e73616374696f6e28616d6f756e743a205546697836342c20746f3a204164647265737329207b0a0a202020202f2f20546865205661756c74207265736f75726365207468617420686f6c64732074686520746f6b656e73207468617420617265206265696e67207472616e736665727265640a202020206c65742073656e745661756c743a204046756e6769626c65546f6b656e2e5661756c740a0a2020202070726570617265287369676e65723a20417574684163636f756e7429207b0a20202020202020202f2f204765742061207265666572656e636520746f20746865207369676e657227732073746f726564207661756c740a20202020202020206c6574207661756c74526566203d207369676e65722e626f72726f773c26465553442e5661756c743e2866726f6d3a202f73746f726167652f667573645661756c74290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f20746865206f776e65722773205661756c742122290a0a20202020202020202f2f20576974686472617720746f6b656e732066726f6d20746865207369676e657227732073746f726564207661756c740a202020202020202073656c662e73656e745661756c74203c2d207661756c745265662e776974686472617728616d6f756e743a20616d6f756e74290a202020207d0a0a2020202065786563757465207b0a20202020202020202f2f204765742074686520726563697069656e742773207075626c6963206163636f756e74206f626a6563740a20202020202020206c657420726563697069656e74203d206765744163636f756e7428746f290a0a20202020202020202f2f204765742061207265666572656e636520746f2074686520726563697069656e7427732052656365697665720a20202020202020206c6574207265636569766572526566203d20726563697069656e742e6765744361706162696c697479282f7075626c69632f66757364526563656976657229212e626f72726f773c267b46756e6769626c65546f6b656e2e52656365697665727d3e28290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265636569766572207265666572656e636520746f2074686520726563697069656e742773205661756c7422290a0a20202020202020202f2f204465706f736974207468652077697468647261776e20746f6b656e7320696e2074686520726563697069656e7427732072656365697665720a202020202020202072656365697665725265662e6465706f7369742866726f6d3a203c2d73656c662e73656e745661756c74290a202020207d0a7d0af861b07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227daf7b2274797065223a2241646472657373222c2276616c7565223a22307865343637623964643131666130306466227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", - "metadata": "02f22ca4b350a79c724f6471d5a6a7a0efa7ba9aeebb7fed2843a3ddd6e42c2e1c180cef7053a5f0ae66e19e3a96cc3b9eb7da29767fb5d6938239bf1f8e1dc2845472616e736665722046555344000201416d6f756e740000554669783634000301526563697069656e740001416464726573730003", - "hash": "f22ca4b350a79c724f6471d5a6a7a0efa7ba9aeebb7fed2843a3ddd6e42c2e1c" + "encodedTransactionPayloadHex": "f90503b9046f696d706f72742046756e6769626c65546f6b656e2066726f6d203078396130373636643933623636303862370a696d706f72742046696174546f6b656e2066726f6d203078316162336331373734363065316534610a0a7472616e73616374696f6e28616d6f756e743a205546697836342c20746f3a204164647265737329207b0a0a202020202f2f20546865205661756c74207265736f75726365207468617420686f6c64732074686520746f6b656e73207468617420617265206265696e67207472616e736665727265640a202020206c65742073656e745661756c743a204046756e6769626c65546f6b656e2e5661756c740a0a2020202070726570617265287369676e65723a20417574684163636f756e7429207b0a0a20202020202020202f2f204765742061207265666572656e636520746f20746865207369676e657227732073746f726564207661756c740a20202020202020206c6574207661756c74526566203d207369676e65722e626f72726f773c2646696174546f6b656e2e5661756c743e2866726f6d3a2046696174546f6b656e2e5661756c7453746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f20746865206f776e65722773205661756c742122290a0a20202020202020202f2f20576974686472617720746f6b656e732066726f6d20746865207369676e657227732073746f726564207661756c740a202020202020202073656c662e73656e745661756c74203c2d207661756c745265662e776974686472617728616d6f756e743a20616d6f756e74290a202020207d0a0a2020202065786563757465207b0a0a20202020202020202f2f204765742074686520726563697069656e742773207075626c6963206163636f756e74206f626a6563740a20202020202020206c657420726563697069656e74203d206765744163636f756e7428746f290a0a20202020202020202f2f204765742061207265666572656e636520746f2074686520726563697069656e7427732052656365697665720a20202020202020206c6574207265636569766572526566203d20726563697069656e742e6765744361706162696c6974792846696174546f6b656e2e5661756c74526563656976657250756250617468290a2020202020202020202020202e626f72726f773c267b46756e6769626c65546f6b656e2e52656365697665727d3e28290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265636569766572207265666572656e636520746f2074686520726563697069656e742773205661756c7422290a0a20202020202020202f2f204465706f736974207468652077697468647261776e20746f6b656e7320696e2074686520726563697069656e7427732072656365697665720a202020202020202072656365697665725265662e6465706f7369742866726f6d3a203c2d73656c662e73656e745661756c74290a202020207d0a7d0af84f9e7b2274797065223a22554669783634222c2276616c7565223a223432227daf7b2274797065223a2241646472657373222c2276616c7565223a22307838633533303365616132363230326436227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", + "encodedTransactionEnvelopeHex": "f90507f90503b9046f696d706f72742046756e6769626c65546f6b656e2066726f6d203078396130373636643933623636303862370a696d706f72742046696174546f6b656e2066726f6d203078316162336331373734363065316534610a0a7472616e73616374696f6e28616d6f756e743a205546697836342c20746f3a204164647265737329207b0a0a202020202f2f20546865205661756c74207265736f75726365207468617420686f6c64732074686520746f6b656e73207468617420617265206265696e67207472616e736665727265640a202020206c65742073656e745661756c743a204046756e6769626c65546f6b656e2e5661756c740a0a2020202070726570617265287369676e65723a20417574684163636f756e7429207b0a0a20202020202020202f2f204765742061207265666572656e636520746f20746865207369676e657227732073746f726564207661756c740a20202020202020206c6574207661756c74526566203d207369676e65722e626f72726f773c2646696174546f6b656e2e5661756c743e2866726f6d3a2046696174546f6b656e2e5661756c7453746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f20746865206f776e65722773205661756c742122290a0a20202020202020202f2f20576974686472617720746f6b656e732066726f6d20746865207369676e657227732073746f726564207661756c740a202020202020202073656c662e73656e745661756c74203c2d207661756c745265662e776974686472617728616d6f756e743a20616d6f756e74290a202020207d0a0a2020202065786563757465207b0a0a20202020202020202f2f204765742074686520726563697069656e742773207075626c6963206163636f756e74206f626a6563740a20202020202020206c657420726563697069656e74203d206765744163636f756e7428746f290a0a20202020202020202f2f204765742061207265666572656e636520746f2074686520726563697069656e7427732052656365697665720a20202020202020206c6574207265636569766572526566203d20726563697069656e742e6765744361706162696c6974792846696174546f6b656e2e5661756c74526563656976657250756250617468290a2020202020202020202020202e626f72726f773c267b46756e6769626c65546f6b656e2e52656365697665727d3e28290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265636569766572207265666572656e636520746f2074686520726563697069656e742773205661756c7422290a0a20202020202020202f2f204465706f736974207468652077697468647261776e20746f6b656e7320696e2074686520726563697069656e7427732072656365697665720a202020202020202072656365697665725265662e6465706f7369742866726f6d3a203c2d73656c662e73656e745661756c74290a202020207d0a7d0af84f9e7b2274797065223a22554669783634222c2276616c7565223a223432227daf7b2274797065223a2241646472657373222c2276616c7565223a22307838633533303365616132363230326436227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", + "metadata": "02512485ec3f8e007853b0ea2a22fb2b9f7e2fa55fd9819171c5d013282efee60a7ff4d9f53ba5eebda556d0ead0ca13911bc8996e2c91c5147f8787d10a3244835472616e736665722055534443000201416d6f756e740000554669783634000301526563697069656e740001416464726573730003", + "hash": "512485ec3f8e007853b0ea2a22fb2b9f7e2fa55fd9819171c5d013282efee60a" }, { - "title": "TS.01 - Set up Top Shot Collection", + "title": "SCO.04 - Create Machine Account - 1", "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": [], + "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": { @@ -3115,8 +2874,17 @@ ] }, "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": [], + "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": { @@ -3130,25 +2898,30 @@ ], "payloadSigs": [] }, - "encodedTransactionPayloadHex": "f90384b90340696d706f727420546f7053686f742066726f6d203078383737393331373336656537376366660a0a2f2f2054686973207472616e73616374696f6e207365747320757020616e206163636f756e7420746f2075736520546f702053686f740a2f2f2062792073746f72696e6720616e20656d707479206d6f6d656e7420636f6c6c656374696f6e20616e64206372656174696e670a2f2f2061207075626c6963206361706162696c69747920666f722069740a0a7472616e73616374696f6e207b0a0a202020207072657061726528616363743a20417574684163636f756e7429207b0a0a20202020202020202f2f2046697273742c20636865636b20746f207365652069662061206d6f6d656e7420636f6c6c656374696f6e20616c7265616479206578697374730a2020202020202020696620616363742e626f72726f773c26546f7053686f742e436f6c6c656374696f6e3e2866726f6d3a202f73746f726167652f4d6f6d656e74436f6c6c656374696f6e29203d3d206e696c207b0a0a2020202020202020202020202f2f206372656174652061206e657720546f7053686f7420436f6c6c656374696f6e0a2020202020202020202020206c657420636f6c6c656374696f6e203c2d20546f7053686f742e637265617465456d707479436f6c6c656374696f6e2829206173212040546f7053686f742e436f6c6c656374696f6e0a0a2020202020202020202020202f2f2050757420746865206e657720436f6c6c656374696f6e20696e2073746f726167650a202020202020202020202020616363742e73617665283c2d636f6c6c656374696f6e2c20746f3a202f73746f726167652f4d6f6d656e74436f6c6c656374696f6e290a0a2020202020202020202020202f2f206372656174652061207075626c6963206361706162696c69747920666f722074686520636f6c6c656374696f6e0a202020202020202020202020616363742e6c696e6b3c267b546f7053686f742e4d6f6d656e74436f6c6c656374696f6e5075626c69637d3e282f7075626c69632f4d6f6d656e74436f6c6c656374696f6e2c207461726765743a202f73746f726167652f4d6f6d656e74436f6c6c656374696f6e290a20202020202020207d0a202020207d0a7dc0a0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", - "encodedTransactionEnvelopeHex": "f90388f90384b90340696d706f727420546f7053686f742066726f6d203078383737393331373336656537376366660a0a2f2f2054686973207472616e73616374696f6e207365747320757020616e206163636f756e7420746f2075736520546f702053686f740a2f2f2062792073746f72696e6720616e20656d707479206d6f6d656e7420636f6c6c656374696f6e20616e64206372656174696e670a2f2f2061207075626c6963206361706162696c69747920666f722069740a0a7472616e73616374696f6e207b0a0a202020207072657061726528616363743a20417574684163636f756e7429207b0a0a20202020202020202f2f2046697273742c20636865636b20746f207365652069662061206d6f6d656e7420636f6c6c656374696f6e20616c7265616479206578697374730a2020202020202020696620616363742e626f72726f773c26546f7053686f742e436f6c6c656374696f6e3e2866726f6d3a202f73746f726167652f4d6f6d656e74436f6c6c656374696f6e29203d3d206e696c207b0a0a2020202020202020202020202f2f206372656174652061206e657720546f7053686f7420436f6c6c656374696f6e0a2020202020202020202020206c657420636f6c6c656374696f6e203c2d20546f7053686f742e637265617465456d707479436f6c6c656374696f6e2829206173212040546f7053686f742e436f6c6c656374696f6e0a0a2020202020202020202020202f2f2050757420746865206e657720436f6c6c656374696f6e20696e2073746f726167650a202020202020202020202020616363742e73617665283c2d636f6c6c656374696f6e2c20746f3a202f73746f726167652f4d6f6d656e74436f6c6c656374696f6e290a0a2020202020202020202020202f2f206372656174652061207075626c6963206361706162696c69747920666f722074686520636f6c6c656374696f6e0a202020202020202020202020616363742e6c696e6b3c267b546f7053686f742e4d6f6d656e74436f6c6c656374696f6e5075626c69637d3e282f7075626c69632f4d6f6d656e74436f6c6c656374696f6e2c207461726765743a202f73746f726167652f4d6f6d656e74436f6c6c656374696f6e290a20202020202020207d0a202020207d0a7dc0a0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", - "metadata": "020f0baeef9353ceee607c5be3b7c0f86792dadf20b9e9c89e831adb0199e758827511848f1c27a173d966f4b868fd7efead7eeb1bbf04fc3f3e60dabc6c7f759353657420757020546f702053686f7420436f6c6c656374696f6e0000", - "hash": "0f0baeef9353ceee607c5be3b7c0f86792dadf20b9e9c89e831adb0199e75882" + "encodedTransactionPayloadHex": "f90537b90478696d706f72742043727970746f0a696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f20437265617465732061206d616368696e65206163636f756e7420666f722061206e6f6465207468617420697320616c726561647920696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f20616e642061646473207075626c6963206b65797320746f20746865206e6577206163636f756e740a0a7472616e73616374696f6e286e6f646549443a20537472696e672c207075626c69634b6579733a205b43727970746f2e4b65794c697374456e7472795d29207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a0a20202020202020206966206c6574206d616368696e654163636f756e74203d2073656c662e7374616b696e67436f6c6c656374696f6e5265662e6372656174654d616368696e654163636f756e74466f724578697374696e674e6f6465286e6f646549443a206e6f646549442c2070617965723a206163636f756e7429207b0a2020202020202020202020206966207075626c69634b657973203d3d206e696c207c7c207075626c69634b657973212e6c656e677468203d3d2030207b0a2020202020202020202020202020202070616e6963282243616e6e6f742070726f76696465207a65726f206b65797320666f7220746865206d616368696e65206163636f756e7422290a2020202020202020202020207d0a202020202020202020202020666f72206b657920696e207075626c69634b657973207b0a202020202020202020202020202020206d616368696e654163636f756e742e6b6579732e616464287075626c69634b65793a206b65792e7075626c69634b65792c2068617368416c676f726974686d3a206b65792e68617368416c676f726974686d2c207765696768743a206b65792e776569676874290a2020202020202020202020207d0a20202020202020207d20656c7365207b0a20202020202020202020202070616e69632822436f756c64206e6f74206372656174652061206d616368696e65206163636f756e7420666f7220746865206e6f646522290a20202020202020207d0a202020207d0a7d0af87ab85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227d9b7b2274797065223a224172726179222c2276616c7565223a5b5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", + "encodedTransactionEnvelopeHex": "f9053bf90537b90478696d706f72742043727970746f0a696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f20437265617465732061206d616368696e65206163636f756e7420666f722061206e6f6465207468617420697320616c726561647920696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f20616e642061646473207075626c6963206b65797320746f20746865206e6577206163636f756e740a0a7472616e73616374696f6e286e6f646549443a20537472696e672c207075626c69634b6579733a205b43727970746f2e4b65794c697374456e7472795d29207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a0a20202020202020206966206c6574206d616368696e654163636f756e74203d2073656c662e7374616b696e67436f6c6c656374696f6e5265662e6372656174654d616368696e654163636f756e74466f724578697374696e674e6f6465286e6f646549443a206e6f646549442c2070617965723a206163636f756e7429207b0a2020202020202020202020206966207075626c69634b657973203d3d206e696c207c7c207075626c69634b657973212e6c656e677468203d3d2030207b0a2020202020202020202020202020202070616e6963282243616e6e6f742070726f76696465207a65726f206b65797320666f7220746865206d616368696e65206163636f756e7422290a2020202020202020202020207d0a202020202020202020202020666f72206b657920696e207075626c69634b657973207b0a202020202020202020202020202020206d616368696e654163636f756e742e6b6579732e616464287075626c69634b65793a206b65792e7075626c69634b65792c2068617368416c676f726974686d3a206b65792e68617368416c676f726974686d2c207765696768743a206b65792e776569676874290a2020202020202020202020207d0a20202020202020207d20656c7365207b0a20202020202020202020202070616e69632822436f756c64206e6f74206372656174652061206d616368696e65206163636f756e7420666f7220746865206e6f646522290a20202020202020207d0a202020207d0a7d0af87ab85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227d9b7b2274797065223a224172726179222c2276616c7565223a5b5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", + "metadata": "0286c69d731560f3bff549c5f180eb4219bfe650ae4efec8e0c5b5ad3ebed54a92dd3b327b09087ea7f8e92a22a6b04a3c6ca33b868b430c4f15f251658c38c1b7437265617465204d616368696e65204163636f756e740002014e6f64652049440000537472696e6700030300035075622e204b65790001537472696e670003", + "hash": "86c69d731560f3bff549c5f180eb4219bfe650ae4efec8e0c5b5ad3ebed54a92" }, { - "title": "TS.02 - Transfer Top Shot Moment", + "title": "SCO.04 - Create Machine Account - 2", "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}", + "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": "Address", - "value": "0x8c5303eaa26202d6" + "type": "String", + "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" }, { - "type": "UInt64", - "value": "42" + "type": "Array", + "value": [ + { + "type": "String", + "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164" + } + ] } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -3164,15 +2937,20 @@ ] }, "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}", + "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": "Address", - "value": "0x8c5303eaa26202d6" + "type": "String", + "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" }, { - "type": "UInt64", - "value": "42" + "type": "Array", + "value": [ + { + "type": "String", + "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164" + } + ] } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -3188,18 +2966,40 @@ ], "payloadSigs": [] }, - "encodedTransactionPayloadHex": "f90681b905ed696d706f7274204e6f6e46756e6769626c65546f6b656e2066726f6d203078363331653838616537663164376332300a696d706f727420546f7053686f742066726f6d203078383737393331373336656537376366660a0a2f2f2054686973207472616e73616374696f6e207472616e73666572732061206d6f6d656e7420746f206120726563697069656e740a0a2f2f2054686973207472616e73616374696f6e20697320686f77206120746f7073686f74207573657220776f756c64207472616e736665722061206d6f6d656e740a2f2f2066726f6d207468656972206163636f756e7420746f20616e6f74686572206163636f756e740a2f2f2054686520726563697069656e74206d7573742068617665206120546f7053686f7420436f6c6c656374696f6e206f626a6563742073746f7265640a2f2f20616e642061207075626c6963204d6f6d656e74436f6c6c656374696f6e5075626c6963206361706162696c6974792073746f7265642061740a2f2f20602f7075626c69632f4d6f6d656e74436f6c6c656374696f6e600a0a2f2f20506172616d65746572733a0a2f2f0a2f2f20726563697069656e743a2054686520466c6f772061646472657373206f6620746865206163636f756e7420746f207265636569766520746865206d6f6d656e742e0a2f2f20776974686472617749443a20546865206964206f6620746865206d6f6d656e7420746f206265207472616e736665727265640a0a7472616e73616374696f6e28726563697069656e743a20416464726573732c20776974686472617749443a2055496e74363429207b0a0a202020202f2f206c6f63616c207661726961626c6520666f722073746f72696e6720746865207472616e7366657272656420746f6b656e0a202020206c6574207472616e73666572546f6b656e3a20404e6f6e46756e6769626c65546f6b656e2e4e46540a202020200a202020207072657061726528616363743a20417574684163636f756e7429207b0a0a20202020202020202f2f20626f72726f772061207265666572656e636520746f20746865206f776e6572277320636f6c6c656374696f6e0a20202020202020206c657420636f6c6c656374696f6e526566203d20616363742e626f72726f773c26546f7053686f742e436f6c6c656374696f6e3e2866726f6d3a202f73746f726167652f4d6f6d656e74436f6c6c656374696f6e290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f207468652073746f726564204d6f6d656e7420636f6c6c656374696f6e22290a20202020202020200a20202020202020202f2f20776974686472617720746865204e46540a202020202020202073656c662e7472616e73666572546f6b656e203c2d20636f6c6c656374696f6e5265662e776974686472617728776974686472617749443a2077697468647261774944290a202020207d0a0a2020202065786563757465207b0a20202020202020200a20202020202020202f2f206765742074686520726563697069656e742773207075626c6963206163636f756e74206f626a6563740a20202020202020206c657420726563697069656e74203d206765744163636f756e7428726563697069656e74290a0a20202020202020202f2f206765742074686520436f6c6c656374696f6e207265666572656e636520666f72207468652072656365697665720a20202020202020206c6574207265636569766572526566203d20726563697069656e742e6765744361706162696c697479282f7075626c69632f4d6f6d656e74436f6c6c656374696f6e292e626f72726f773c267b546f7053686f742e4d6f6d656e74436f6c6c656374696f6e5075626c69637d3e2829210a0a20202020202020202f2f206465706f73697420746865204e465420696e207468652072656365697665727320636f6c6c656374696f6e0a202020202020202072656365697665725265662e6465706f73697428746f6b656e3a203c2d73656c662e7472616e73666572546f6b656e290a202020207d0a7df84faf7b2274797065223a2241646472657373222c2276616c7565223a22307838633533303365616132363230326436227d9e7b2274797065223a2255496e743634222c2276616c7565223a223432227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", - "encodedTransactionEnvelopeHex": "f90685f90681b905ed696d706f7274204e6f6e46756e6769626c65546f6b656e2066726f6d203078363331653838616537663164376332300a696d706f727420546f7053686f742066726f6d203078383737393331373336656537376366660a0a2f2f2054686973207472616e73616374696f6e207472616e73666572732061206d6f6d656e7420746f206120726563697069656e740a0a2f2f2054686973207472616e73616374696f6e20697320686f77206120746f7073686f74207573657220776f756c64207472616e736665722061206d6f6d656e740a2f2f2066726f6d207468656972206163636f756e7420746f20616e6f74686572206163636f756e740a2f2f2054686520726563697069656e74206d7573742068617665206120546f7053686f7420436f6c6c656374696f6e206f626a6563742073746f7265640a2f2f20616e642061207075626c6963204d6f6d656e74436f6c6c656374696f6e5075626c6963206361706162696c6974792073746f7265642061740a2f2f20602f7075626c69632f4d6f6d656e74436f6c6c656374696f6e600a0a2f2f20506172616d65746572733a0a2f2f0a2f2f20726563697069656e743a2054686520466c6f772061646472657373206f6620746865206163636f756e7420746f207265636569766520746865206d6f6d656e742e0a2f2f20776974686472617749443a20546865206964206f6620746865206d6f6d656e7420746f206265207472616e736665727265640a0a7472616e73616374696f6e28726563697069656e743a20416464726573732c20776974686472617749443a2055496e74363429207b0a0a202020202f2f206c6f63616c207661726961626c6520666f722073746f72696e6720746865207472616e7366657272656420746f6b656e0a202020206c6574207472616e73666572546f6b656e3a20404e6f6e46756e6769626c65546f6b656e2e4e46540a202020200a202020207072657061726528616363743a20417574684163636f756e7429207b0a0a20202020202020202f2f20626f72726f772061207265666572656e636520746f20746865206f776e6572277320636f6c6c656374696f6e0a20202020202020206c657420636f6c6c656374696f6e526566203d20616363742e626f72726f773c26546f7053686f742e436f6c6c656374696f6e3e2866726f6d3a202f73746f726167652f4d6f6d656e74436f6c6c656374696f6e290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f207468652073746f726564204d6f6d656e7420636f6c6c656374696f6e22290a20202020202020200a20202020202020202f2f20776974686472617720746865204e46540a202020202020202073656c662e7472616e73666572546f6b656e203c2d20636f6c6c656374696f6e5265662e776974686472617728776974686472617749443a2077697468647261774944290a202020207d0a0a2020202065786563757465207b0a20202020202020200a20202020202020202f2f206765742074686520726563697069656e742773207075626c6963206163636f756e74206f626a6563740a20202020202020206c657420726563697069656e74203d206765744163636f756e7428726563697069656e74290a0a20202020202020202f2f206765742074686520436f6c6c656374696f6e207265666572656e636520666f72207468652072656365697665720a20202020202020206c6574207265636569766572526566203d20726563697069656e742e6765744361706162696c697479282f7075626c69632f4d6f6d656e74436f6c6c656374696f6e292e626f72726f773c267b546f7053686f742e4d6f6d656e74436f6c6c656374696f6e5075626c69637d3e2829210a0a20202020202020202f2f206465706f73697420746865204e465420696e207468652072656365697665727320636f6c6c656374696f6e0a202020202020202072656365697665725265662e6465706f73697428746f6b656e3a203c2d73656c662e7472616e73666572546f6b656e290a202020207d0a7df84faf7b2274797065223a2241646472657373222c2276616c7565223a22307838633533303365616132363230326436227d9e7b2274797065223a2255496e743634222c2276616c7565223a223432227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", - "metadata": "021ec9aea0b51409610f882f5ae4278567da675542bb378eb999f05b7c4f12f7d809d5ad21bf70dfe4f8d800db9e61a77f2f64837ae0e818c3cd67e9cea837a1cf5472616e7366657220546f702053686f74204d6f6d656e74000201526563697069656e740000416464726573730003014d6f6d656e74204944000155496e7436340003", - "hash": "1ec9aea0b51409610f882f5ae4278567da675542bb378eb999f05b7c4f12f7d8" + "encodedTransactionPayloadHex": "f905e3b90478696d706f72742043727970746f0a696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f20437265617465732061206d616368696e65206163636f756e7420666f722061206e6f6465207468617420697320616c726561647920696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f20616e642061646473207075626c6963206b65797320746f20746865206e6577206163636f756e740a0a7472616e73616374696f6e286e6f646549443a20537472696e672c207075626c69634b6579733a205b43727970746f2e4b65794c697374456e7472795d29207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a0a20202020202020206966206c6574206d616368696e654163636f756e74203d2073656c662e7374616b696e67436f6c6c656374696f6e5265662e6372656174654d616368696e654163636f756e74466f724578697374696e674e6f6465286e6f646549443a206e6f646549442c2070617965723a206163636f756e7429207b0a2020202020202020202020206966207075626c69634b657973203d3d206e696c207c7c207075626c69634b657973212e6c656e677468203d3d2030207b0a2020202020202020202020202020202070616e6963282243616e6e6f742070726f76696465207a65726f206b65797320666f7220746865206d616368696e65206163636f756e7422290a2020202020202020202020207d0a202020202020202020202020666f72206b657920696e207075626c69634b657973207b0a202020202020202020202020202020206d616368696e654163636f756e742e6b6579732e616464287075626c69634b65793a206b65792e7075626c69634b65792c2068617368416c676f726974686d3a206b65792e68617368416c676f726974686d2c207765696768743a206b65792e776569676874290a2020202020202020202020207d0a20202020202020207d20656c7365207b0a20202020202020202020202070616e69632822436f756c64206e6f74206372656174652061206d616368696e65206163636f756e7420666f7220746865206e6f646522290a20202020202020207d0a202020207d0a7d0af90125b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db8c57b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634227d5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", + "encodedTransactionEnvelopeHex": "f905e7f905e3b90478696d706f72742043727970746f0a696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f20437265617465732061206d616368696e65206163636f756e7420666f722061206e6f6465207468617420697320616c726561647920696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f20616e642061646473207075626c6963206b65797320746f20746865206e6577206163636f756e740a0a7472616e73616374696f6e286e6f646549443a20537472696e672c207075626c69634b6579733a205b43727970746f2e4b65794c697374456e7472795d29207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a0a20202020202020206966206c6574206d616368696e654163636f756e74203d2073656c662e7374616b696e67436f6c6c656374696f6e5265662e6372656174654d616368696e654163636f756e74466f724578697374696e674e6f6465286e6f646549443a206e6f646549442c2070617965723a206163636f756e7429207b0a2020202020202020202020206966207075626c69634b657973203d3d206e696c207c7c207075626c69634b657973212e6c656e677468203d3d2030207b0a2020202020202020202020202020202070616e6963282243616e6e6f742070726f76696465207a65726f206b65797320666f7220746865206d616368696e65206163636f756e7422290a2020202020202020202020207d0a202020202020202020202020666f72206b657920696e207075626c69634b657973207b0a202020202020202020202020202020206d616368696e654163636f756e742e6b6579732e616464287075626c69634b65793a206b65792e7075626c69634b65792c2068617368416c676f726974686d3a206b65792e68617368416c676f726974686d2c207765696768743a206b65792e776569676874290a2020202020202020202020207d0a20202020202020207d20656c7365207b0a20202020202020202020202070616e69632822436f756c64206e6f74206372656174652061206d616368696e65206163636f756e7420666f7220746865206e6f646522290a20202020202020207d0a202020207d0a7d0af90125b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db8c57b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634227d5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", + "metadata": "0286c69d731560f3bff549c5f180eb4219bfe650ae4efec8e0c5b5ad3ebed54a92dd3b327b09087ea7f8e92a22a6b04a3c6ca33b868b430c4f15f251658c38c1b7437265617465204d616368696e65204163636f756e740002014e6f64652049440000537472696e6700030300035075622e204b65790001537472696e670003", + "hash": "86c69d731560f3bff549c5f180eb4219bfe650ae4efec8e0c5b5ad3ebed54a92" }, { - "title": "USDC.01 - Setup USDC Vault", + "title": "SCO.04 - Create Machine Account - 3", "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": [], + "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": { @@ -3213,40 +3013,28 @@ ] }, "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", + "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": "UFix64", - "value": "42" + "type": "String", + "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" }, { - "type": "Address", - "value": "0x8c5303eaa26202d6" + "type": "Array", + "value": [ + { + "type": "String", + "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164" + }, + { + "type": "String", + "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164" + }, + { + "type": "String", + "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164" + } + ] } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -3259,142 +3047,120 @@ "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 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", + "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": "42" - }, - { - "type": "Address", - "value": "0x8c5303eaa26202d6" + "value": "92233720368.54775808" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", "gasLimit": 42, "proposalKey": { - "address": "99a8ac2c71d4f6bd", + "address": "f19c161bc24cf4b4", "keyId": 4, "sequenceNum": 10 }, - "payer": "99a8ac2c71d4f6bd", + "payer": "f19c161bc24cf4b4", "authorizers": [ - "99a8ac2c71d4f6bd" + "f19c161bc24cf4b4" ], "payloadSigs": [] }, - "encodedTransactionPayloadHex": "f90503b9046f696d706f72742046756e6769626c65546f6b656e2066726f6d203078396130373636643933623636303862370a696d706f72742046696174546f6b656e2066726f6d203078316162336331373734363065316534610a0a7472616e73616374696f6e28616d6f756e743a205546697836342c20746f3a204164647265737329207b0a0a202020202f2f20546865205661756c74207265736f75726365207468617420686f6c64732074686520746f6b656e73207468617420617265206265696e67207472616e736665727265640a202020206c65742073656e745661756c743a204046756e6769626c65546f6b656e2e5661756c740a0a2020202070726570617265287369676e65723a20417574684163636f756e7429207b0a0a20202020202020202f2f204765742061207265666572656e636520746f20746865207369676e657227732073746f726564207661756c740a20202020202020206c6574207661756c74526566203d207369676e65722e626f72726f773c2646696174546f6b656e2e5661756c743e2866726f6d3a2046696174546f6b656e2e5661756c7453746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f20746865206f776e65722773205661756c742122290a0a20202020202020202f2f20576974686472617720746f6b656e732066726f6d20746865207369676e657227732073746f726564207661756c740a202020202020202073656c662e73656e745661756c74203c2d207661756c745265662e776974686472617728616d6f756e743a20616d6f756e74290a202020207d0a0a2020202065786563757465207b0a0a20202020202020202f2f204765742074686520726563697069656e742773207075626c6963206163636f756e74206f626a6563740a20202020202020206c657420726563697069656e74203d206765744163636f756e7428746f290a0a20202020202020202f2f204765742061207265666572656e636520746f2074686520726563697069656e7427732052656365697665720a20202020202020206c6574207265636569766572526566203d20726563697069656e742e6765744361706162696c6974792846696174546f6b656e2e5661756c74526563656976657250756250617468290a2020202020202020202020202e626f72726f773c267b46756e6769626c65546f6b656e2e52656365697665727d3e28290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265636569766572207265666572656e636520746f2074686520726563697069656e742773205661756c7422290a0a20202020202020202f2f204465706f736974207468652077697468647261776e20746f6b656e7320696e2074686520726563697069656e7427732072656365697665720a202020202020202072656365697665725265662e6465706f7369742866726f6d3a203c2d73656c662e73656e745661756c74290a202020207d0a7d0af84f9e7b2274797065223a22554669783634222c2276616c7565223a223432227daf7b2274797065223a2241646472657373222c2276616c7565223a22307838633533303365616132363230326436227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", - "encodedTransactionEnvelopeHex": "f90507f90503b9046f696d706f72742046756e6769626c65546f6b656e2066726f6d203078396130373636643933623636303862370a696d706f72742046696174546f6b656e2066726f6d203078316162336331373734363065316534610a0a7472616e73616374696f6e28616d6f756e743a205546697836342c20746f3a204164647265737329207b0a0a202020202f2f20546865205661756c74207265736f75726365207468617420686f6c64732074686520746f6b656e73207468617420617265206265696e67207472616e736665727265640a202020206c65742073656e745661756c743a204046756e6769626c65546f6b656e2e5661756c740a0a2020202070726570617265287369676e65723a20417574684163636f756e7429207b0a0a20202020202020202f2f204765742061207265666572656e636520746f20746865207369676e657227732073746f726564207661756c740a20202020202020206c6574207661756c74526566203d207369676e65722e626f72726f773c2646696174546f6b656e2e5661756c743e2866726f6d3a2046696174546f6b656e2e5661756c7453746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f20746865206f776e65722773205661756c742122290a0a20202020202020202f2f20576974686472617720746f6b656e732066726f6d20746865207369676e657227732073746f726564207661756c740a202020202020202073656c662e73656e745661756c74203c2d207661756c745265662e776974686472617728616d6f756e743a20616d6f756e74290a202020207d0a0a2020202065786563757465207b0a0a20202020202020202f2f204765742074686520726563697069656e742773207075626c6963206163636f756e74206f626a6563740a20202020202020206c657420726563697069656e74203d206765744163636f756e7428746f290a0a20202020202020202f2f204765742061207265666572656e636520746f2074686520726563697069656e7427732052656365697665720a20202020202020206c6574207265636569766572526566203d20726563697069656e742e6765744361706162696c6974792846696174546f6b656e2e5661756c74526563656976657250756250617468290a2020202020202020202020202e626f72726f773c267b46756e6769626c65546f6b656e2e52656365697665727d3e28290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265636569766572207265666572656e636520746f2074686520726563697069656e742773205661756c7422290a0a20202020202020202f2f204465706f736974207468652077697468647261776e20746f6b656e7320696e2074686520726563697069656e7427732072656365697665720a202020202020202072656365697665725265662e6465706f7369742866726f6d3a203c2d73656c662e73656e745661756c74290a202020207d0a7d0af84f9e7b2274797065223a22554669783634222c2276616c7565223a223432227daf7b2274797065223a2241646472657373222c2276616c7565223a22307838633533303365616132363230326436227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", - "metadata": "02512485ec3f8e007853b0ea2a22fb2b9f7e2fa55fd9819171c5d013282efee60a7ff4d9f53ba5eebda556d0ead0ca13911bc8996e2c91c5147f8787d10a3244835472616e736665722055534443000201416d6f756e740000554669783634000301526563697069656e740001416464726573730003", - "hash": "512485ec3f8e007853b0ea2a22fb2b9f7e2fa55fd9819171c5d013282efee60a" + "encodedTransactionPayloadHex": "f90338b902c3696d706f72742046756e6769626c65546f6b656e2066726f6d203078663233336463656538386665306162650a696d706f727420466c6f77546f6b656e2066726f6d203078313635343635333339393034306136310a696d706f7274204c6f636b6564546f6b656e732066726f6d203078386430653837623635313539616536330a0a7472616e73616374696f6e28616d6f756e743a2055466978363429207b0a0a202020206c657420686f6c6465725265663a20264c6f636b6564546f6b656e732e546f6b656e486f6c6465720a202020206c6574207661756c745265663a2026466c6f77546f6b656e2e5661756c740a0a202020207072657061726528616363743a20417574684163636f756e7429207b0a202020202020202073656c662e686f6c646572526566203d20616363742e626f72726f773c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f20546f6b656e486f6c64657222290a0a202020202020202073656c662e7661756c74526566203d20616363742e626f72726f773c26466c6f77546f6b656e2e5661756c743e2866726f6d3a202f73746f726167652f666c6f77546f6b656e5661756c74290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f7720666c6f7720746f6b656e207661756c742072656622290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7661756c745265662e6465706f7369742866726f6d3a203c2d73656c662e686f6c6465725265662e776974686472617728616d6f756e743a20616d6f756e7429290a202020207d0a7d0af1b07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", + "encodedTransactionEnvelopeHex": "f9033cf90338b902c3696d706f72742046756e6769626c65546f6b656e2066726f6d203078663233336463656538386665306162650a696d706f727420466c6f77546f6b656e2066726f6d203078313635343635333339393034306136310a696d706f7274204c6f636b6564546f6b656e732066726f6d203078386430653837623635313539616536330a0a7472616e73616374696f6e28616d6f756e743a2055466978363429207b0a0a202020206c657420686f6c6465725265663a20264c6f636b6564546f6b656e732e546f6b656e486f6c6465720a202020206c6574207661756c745265663a2026466c6f77546f6b656e2e5661756c740a0a202020207072657061726528616363743a20417574684163636f756e7429207b0a202020202020202073656c662e686f6c646572526566203d20616363742e626f72726f773c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f20546f6b656e486f6c64657222290a0a202020202020202073656c662e7661756c74526566203d20616363742e626f72726f773c26466c6f77546f6b656e2e5661756c743e2866726f6d3a202f73746f726167652f666c6f77546f6b656e5661756c74290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f7720666c6f7720746f6b656e207661756c742072656622290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7661756c745265662e6465706f7369742866726f6d3a203c2d73656c662e686f6c6465725265662e776974686472617728616d6f756e743a20616d6f756e7429290a202020207d0a7d0af1b07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", + "metadata": "026e73db6edd0190f5311f6adc5f2b1f27e9e60c68574b00ee90da867da52cdbb1a2146e3e6e7718779ce59376b88760c154d82b7d132fe2c377114ec7cf434e7b576974686472617720556e6c6f636b656420464c4f57000101416d6f756e7400005546697836340003", + "hash": "a2146e3e6e7718779ce59376b88760c154d82b7d132fe2c377114ec7cf434e7b" }, { - "title": "SCO.03 - Register Node - 1", + "title": "TH.02 - Deposit Unlocked FLOW", "valid": true, - "chainID": "Testnet", + "chainID": "Mainnet", "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", + "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": "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", + "address": "f19c161bc24cf4b4", "keyId": 4, "sequenceNum": 10 }, - "payer": "99a8ac2c71d4f6bd", + "payer": "f19c161bc24cf4b4", "authorizers": [ - "99a8ac2c71d4f6bd" + "f19c161bc24cf4b4" ] }, "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", + "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": "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", + "address": "f19c161bc24cf4b4", "keyId": 4, "sequenceNum": 10 }, - "payer": "99a8ac2c71d4f6bd", + "payer": "f19c161bc24cf4b4", "authorizers": [ - "99a8ac2c71d4f6bd" + "f19c161bc24cf4b4" ], "payloadSigs": [] }, - "encodedTransactionPayloadHex": "f90849b9058a696d706f72742043727970746f0a696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f2052656769737465727320612064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e207265736f757263650a2f2f2f20666f722074686520737065636966696564206e6f646520696e666f726d6174696f6e20616e642074686520616d6f756e74206f6620746f6b656e7320746f20636f6d6d69740a0a7472616e73616374696f6e2869643a20537472696e672c0a202020202020202020202020726f6c653a2055496e74382c0a2020202020202020202020206e6574776f726b696e67416464726573733a20537472696e672c0a2020202020202020202020206e6574776f726b696e674b65793a20537472696e672c0a2020202020202020202020207374616b696e674b65793a20537472696e672c0a202020202020202020202020616d6f756e743a205546697836342c0a2020202020202020202020207075626c69634b6579733a205b43727970746f2e4b65794c697374456e7472795d3f29207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a0a20202020202020206966206c6574206d616368696e654163636f756e74203d2073656c662e7374616b696e67436f6c6c656374696f6e5265662e72656769737465724e6f6465280a20202020202020202020202069643a2069642c0a202020202020202020202020726f6c653a20726f6c652c0a2020202020202020202020206e6574776f726b696e67416464726573733a206e6574776f726b696e67416464726573732c0a2020202020202020202020206e6574776f726b696e674b65793a206e6574776f726b696e674b65792c0a2020202020202020202020207374616b696e674b65793a207374616b696e674b65792c0a202020202020202020202020616d6f756e743a20616d6f756e742c0a20202020202020202020202070617965723a206163636f756e7429200a20202020202020207b0a2020202020202020202020206966207075626c69634b657973203d3d206e696c207c7c207075626c69634b657973212e6c656e677468203d3d2030207b0a2020202020202020202020202020202070616e6963282243616e6e6f742070726f76696465207a65726f206b65797320666f7220746865206d616368696e65206163636f756e7422290a2020202020202020202020207d0a202020202020202020202020666f72206b657920696e207075626c69634b65797321207b0a202020202020202020202020202020206d616368696e654163636f756e742e6b6579732e616464287075626c69634b65793a206b65792e7075626c69634b65792c2068617368416c676f726974686d3a206b65792e68617368416c676f726974686d2c207765696768743a206b65792e776569676874290a2020202020202020202020207d0a20202020202020207d0a202020207d0a7d0af90279b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227d9c7b2274797065223a2255496e7438222c2276616c7565223a2231227daf7b2274797065223a22537472696e67222c2276616c7565223a22666c6f772d6e6f64652e746573743a33353639227db89c7b2274797065223a22537472696e67222c2276616c7565223a223133343833303762633737633638386538303034396465396430383161613039373535646133336536393937363035666130353964623231343466633835653536306362653666376461386437346234353366353931363631386362386664333932633264623835366633653738323231646336386462316231643931346534227db8dc7b2274797065223a22537472696e67222c2276616c7565223a22396539616530643634356664356664393035303739326530623064616138326363313638366439313333616661306638316137383462333735633432616534383536376431353435653761396531393635663263316133326637336366383537356562623761393637663665346431303464326466373865623862653430393133356431326461303439396238613030373731663634326331623963343933393766323262343430343339663033366333626465653832663533303964616233227db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da07b2274797065223a224f7074696f6e616c222c2276616c7565223a6e756c6c7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", - "encodedTransactionEnvelopeHex": "f9084df90849b9058a696d706f72742043727970746f0a696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f2052656769737465727320612064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e207265736f757263650a2f2f2f20666f722074686520737065636966696564206e6f646520696e666f726d6174696f6e20616e642074686520616d6f756e74206f6620746f6b656e7320746f20636f6d6d69740a0a7472616e73616374696f6e2869643a20537472696e672c0a202020202020202020202020726f6c653a2055496e74382c0a2020202020202020202020206e6574776f726b696e67416464726573733a20537472696e672c0a2020202020202020202020206e6574776f726b696e674b65793a20537472696e672c0a2020202020202020202020207374616b696e674b65793a20537472696e672c0a202020202020202020202020616d6f756e743a205546697836342c0a2020202020202020202020207075626c69634b6579733a205b43727970746f2e4b65794c697374456e7472795d3f29207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a0a20202020202020206966206c6574206d616368696e654163636f756e74203d2073656c662e7374616b696e67436f6c6c656374696f6e5265662e72656769737465724e6f6465280a20202020202020202020202069643a2069642c0a202020202020202020202020726f6c653a20726f6c652c0a2020202020202020202020206e6574776f726b696e67416464726573733a206e6574776f726b696e67416464726573732c0a2020202020202020202020206e6574776f726b696e674b65793a206e6574776f726b696e674b65792c0a2020202020202020202020207374616b696e674b65793a207374616b696e674b65792c0a202020202020202020202020616d6f756e743a20616d6f756e742c0a20202020202020202020202070617965723a206163636f756e7429200a20202020202020207b0a2020202020202020202020206966207075626c69634b657973203d3d206e696c207c7c207075626c69634b657973212e6c656e677468203d3d2030207b0a2020202020202020202020202020202070616e6963282243616e6e6f742070726f76696465207a65726f206b65797320666f7220746865206d616368696e65206163636f756e7422290a2020202020202020202020207d0a202020202020202020202020666f72206b657920696e207075626c69634b65797321207b0a202020202020202020202020202020206d616368696e654163636f756e742e6b6579732e616464287075626c69634b65793a206b65792e7075626c69634b65792c2068617368416c676f726974686d3a206b65792e68617368416c676f726974686d2c207765696768743a206b65792e776569676874290a2020202020202020202020207d0a20202020202020207d0a202020207d0a7d0af90279b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227d9c7b2274797065223a2255496e7438222c2276616c7565223a2231227daf7b2274797065223a22537472696e67222c2276616c7565223a22666c6f772d6e6f64652e746573743a33353639227db89c7b2274797065223a22537472696e67222c2276616c7565223a223133343833303762633737633638386538303034396465396430383161613039373535646133336536393937363035666130353964623231343466633835653536306362653666376461386437346234353366353931363631386362386664333932633264623835366633653738323231646336386462316231643931346534227db8dc7b2274797065223a22537472696e67222c2276616c7565223a22396539616530643634356664356664393035303739326530623064616138326363313638366439313333616661306638316137383462333735633432616534383536376431353435653761396531393635663263316133326637336366383537356562623761393637663665346431303464326466373865623862653430393133356431326461303439396238613030373731663634326331623963343933393766323262343430343339663033366333626465653832663533303964616233227db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da07b2274797065223a224f7074696f6e616c222c2276616c7565223a6e756c6c7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", - "metadata": "029246ec9b7a5c81151156e7c2f6d356f68b1b884f88728daca46b968d9a46cd5a79de7119aea61bdafb39cc3d1f4fa17ca802c2732726a86d2c636dbc19808b685265676973746572204e6f64650007014e6f64652049440000537472696e670003014e6f646520526f6c65000155496e74380003014e6574772e20416464726573730002537472696e670003014e6574772e204b65790003537472696e670003015374616b696e67204b65790004537472696e67000301416d6f756e74000555466978363400030400035075622e204b65790006537472696e670003", - "hash": "9246ec9b7a5c81151156e7c2f6d356f68b1b884f88728daca46b968d9a46cd5a" + "encodedTransactionPayloadHex": "f90338b902c3696d706f72742046756e6769626c65546f6b656e2066726f6d203078663233336463656538386665306162650a696d706f727420466c6f77546f6b656e2066726f6d203078313635343635333339393034306136310a696d706f7274204c6f636b6564546f6b656e732066726f6d203078386430653837623635313539616536330a0a7472616e73616374696f6e28616d6f756e743a2055466978363429207b0a0a202020206c657420686f6c6465725265663a20264c6f636b6564546f6b656e732e546f6b656e486f6c6465720a202020206c6574207661756c745265663a2026466c6f77546f6b656e2e5661756c740a0a202020207072657061726528616363743a20417574684163636f756e7429207b0a202020202020202073656c662e686f6c646572526566203d20616363742e626f72726f773c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f20546f6b656e486f6c64657222290a0a202020202020202073656c662e7661756c74526566203d20616363742e626f72726f773c26466c6f77546f6b656e2e5661756c743e2866726f6d3a202f73746f726167652f666c6f77546f6b656e5661756c74290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f7720666c6f7720746f6b656e207661756c742072656622290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e686f6c6465725265662e6465706f7369742866726f6d3a203c2d73656c662e7661756c745265662e776974686472617728616d6f756e743a20616d6f756e7429290a202020207d0a7d0af1b07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", + "encodedTransactionEnvelopeHex": "f9033cf90338b902c3696d706f72742046756e6769626c65546f6b656e2066726f6d203078663233336463656538386665306162650a696d706f727420466c6f77546f6b656e2066726f6d203078313635343635333339393034306136310a696d706f7274204c6f636b6564546f6b656e732066726f6d203078386430653837623635313539616536330a0a7472616e73616374696f6e28616d6f756e743a2055466978363429207b0a0a202020206c657420686f6c6465725265663a20264c6f636b6564546f6b656e732e546f6b656e486f6c6465720a202020206c6574207661756c745265663a2026466c6f77546f6b656e2e5661756c740a0a202020207072657061726528616363743a20417574684163636f756e7429207b0a202020202020202073656c662e686f6c646572526566203d20616363742e626f72726f773c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f20546f6b656e486f6c64657222290a0a202020202020202073656c662e7661756c74526566203d20616363742e626f72726f773c26466c6f77546f6b656e2e5661756c743e2866726f6d3a202f73746f726167652f666c6f77546f6b656e5661756c74290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f7720666c6f7720746f6b656e207661756c742072656622290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e686f6c6465725265662e6465706f7369742866726f6d3a203c2d73656c662e7661756c745265662e776974686472617728616d6f756e743a20616d6f756e7429290a202020207d0a7d0af1b07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", + "metadata": "020cb11c10b86d2afeae086ef511d28b14760eb854935a0b0dcfeecc85db847f4874355dc8df221bc0d170b2fe8deacd6f1f554d6beea58ad9fee7a07f740eaefe4465706f73697420556e6c6f636b656420464c4f57000101416d6f756e7400005546697836340003", + "hash": "74355dc8df221bc0d170b2fe8deacd6f1f554d6beea58ad9fee7a07f740eaefe" }, { - "title": "SCO.03 - Register Node - 2", + "title": "TH.06 - Register Node", "valid": true, - "chainID": "Testnet", + "chainID": "Mainnet", "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", + "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", @@ -3419,29 +3185,22 @@ { "type": "UFix64", "value": "92233720368.54775808" - }, - { - "type": "Optional", - "value": { - "type": "Array", - "value": [] - } } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", "gasLimit": 42, "proposalKey": { - "address": "99a8ac2c71d4f6bd", + "address": "f19c161bc24cf4b4", "keyId": 4, "sequenceNum": 10 }, - "payer": "99a8ac2c71d4f6bd", + "payer": "f19c161bc24cf4b4", "authorizers": [ - "99a8ac2c71d4f6bd" + "f19c161bc24cf4b4" ] }, "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", + "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", @@ -3466,493 +3225,272 @@ { "type": "UFix64", "value": "92233720368.54775808" - }, - { - "type": "Optional", - "value": { - "type": "Array", - "value": [] - } } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", "gasLimit": 42, "proposalKey": { - "address": "99a8ac2c71d4f6bd", + "address": "f19c161bc24cf4b4", "keyId": 4, "sequenceNum": 10 }, - "payer": "99a8ac2c71d4f6bd", + "payer": "f19c161bc24cf4b4", "authorizers": [ - "99a8ac2c71d4f6bd" + "f19c161bc24cf4b4" ], "payloadSigs": [] }, - "encodedTransactionPayloadHex": "f90860b9058a696d706f72742043727970746f0a696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f2052656769737465727320612064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e207265736f757263650a2f2f2f20666f722074686520737065636966696564206e6f646520696e666f726d6174696f6e20616e642074686520616d6f756e74206f6620746f6b656e7320746f20636f6d6d69740a0a7472616e73616374696f6e2869643a20537472696e672c0a202020202020202020202020726f6c653a2055496e74382c0a2020202020202020202020206e6574776f726b696e67416464726573733a20537472696e672c0a2020202020202020202020206e6574776f726b696e674b65793a20537472696e672c0a2020202020202020202020207374616b696e674b65793a20537472696e672c0a202020202020202020202020616d6f756e743a205546697836342c0a2020202020202020202020207075626c69634b6579733a205b43727970746f2e4b65794c697374456e7472795d3f29207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a0a20202020202020206966206c6574206d616368696e654163636f756e74203d2073656c662e7374616b696e67436f6c6c656374696f6e5265662e72656769737465724e6f6465280a20202020202020202020202069643a2069642c0a202020202020202020202020726f6c653a20726f6c652c0a2020202020202020202020206e6574776f726b696e67416464726573733a206e6574776f726b696e67416464726573732c0a2020202020202020202020206e6574776f726b696e674b65793a206e6574776f726b696e674b65792c0a2020202020202020202020207374616b696e674b65793a207374616b696e674b65792c0a202020202020202020202020616d6f756e743a20616d6f756e742c0a20202020202020202020202070617965723a206163636f756e7429200a20202020202020207b0a2020202020202020202020206966207075626c69634b657973203d3d206e696c207c7c207075626c69634b657973212e6c656e677468203d3d2030207b0a2020202020202020202020202020202070616e6963282243616e6e6f742070726f76696465207a65726f206b65797320666f7220746865206d616368696e65206163636f756e7422290a2020202020202020202020207d0a202020202020202020202020666f72206b657920696e207075626c69634b65797321207b0a202020202020202020202020202020206d616368696e654163636f756e742e6b6579732e616464287075626c69634b65793a206b65792e7075626c69634b65792c2068617368416c676f726974686d3a206b65792e68617368416c676f726974686d2c207765696768743a206b65792e776569676874290a2020202020202020202020207d0a20202020202020207d0a202020207d0a7d0af90290b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227d9c7b2274797065223a2255496e7438222c2276616c7565223a2231227daf7b2274797065223a22537472696e67222c2276616c7565223a22666c6f772d6e6f64652e746573743a33353639227db89c7b2274797065223a22537472696e67222c2276616c7565223a223133343833303762633737633638386538303034396465396430383161613039373535646133336536393937363035666130353964623231343466633835653536306362653666376461386437346234353366353931363631386362386664333932633264623835366633653738323231646336386462316231643931346534227db8dc7b2274797065223a22537472696e67222c2276616c7565223a22396539616530643634356664356664393035303739326530623064616138326363313638366439313333616661306638316137383462333735633432616534383536376431353435653761396531393635663263316133326637336366383537356562623761393637663665346431303464326466373865623862653430393133356431326461303439396238613030373731663634326331623963343933393766323262343430343339663033366333626465653832663533303964616233227db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227db77b2274797065223a224f7074696f6e616c222c2276616c7565223a7b2274797065223a224172726179222c2276616c7565223a5b5d7d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", - "encodedTransactionEnvelopeHex": "f90864f90860b9058a696d706f72742043727970746f0a696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f2052656769737465727320612064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e207265736f757263650a2f2f2f20666f722074686520737065636966696564206e6f646520696e666f726d6174696f6e20616e642074686520616d6f756e74206f6620746f6b656e7320746f20636f6d6d69740a0a7472616e73616374696f6e2869643a20537472696e672c0a202020202020202020202020726f6c653a2055496e74382c0a2020202020202020202020206e6574776f726b696e67416464726573733a20537472696e672c0a2020202020202020202020206e6574776f726b696e674b65793a20537472696e672c0a2020202020202020202020207374616b696e674b65793a20537472696e672c0a202020202020202020202020616d6f756e743a205546697836342c0a2020202020202020202020207075626c69634b6579733a205b43727970746f2e4b65794c697374456e7472795d3f29207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a0a20202020202020206966206c6574206d616368696e654163636f756e74203d2073656c662e7374616b696e67436f6c6c656374696f6e5265662e72656769737465724e6f6465280a20202020202020202020202069643a2069642c0a202020202020202020202020726f6c653a20726f6c652c0a2020202020202020202020206e6574776f726b696e67416464726573733a206e6574776f726b696e67416464726573732c0a2020202020202020202020206e6574776f726b696e674b65793a206e6574776f726b696e674b65792c0a2020202020202020202020207374616b696e674b65793a207374616b696e674b65792c0a202020202020202020202020616d6f756e743a20616d6f756e742c0a20202020202020202020202070617965723a206163636f756e7429200a20202020202020207b0a2020202020202020202020206966207075626c69634b657973203d3d206e696c207c7c207075626c69634b657973212e6c656e677468203d3d2030207b0a2020202020202020202020202020202070616e6963282243616e6e6f742070726f76696465207a65726f206b65797320666f7220746865206d616368696e65206163636f756e7422290a2020202020202020202020207d0a202020202020202020202020666f72206b657920696e207075626c69634b65797321207b0a202020202020202020202020202020206d616368696e654163636f756e742e6b6579732e616464287075626c69634b65793a206b65792e7075626c69634b65792c2068617368416c676f726974686d3a206b65792e68617368416c676f726974686d2c207765696768743a206b65792e776569676874290a2020202020202020202020207d0a20202020202020207d0a202020207d0a7d0af90290b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227d9c7b2274797065223a2255496e7438222c2276616c7565223a2231227daf7b2274797065223a22537472696e67222c2276616c7565223a22666c6f772d6e6f64652e746573743a33353639227db89c7b2274797065223a22537472696e67222c2276616c7565223a223133343833303762633737633638386538303034396465396430383161613039373535646133336536393937363035666130353964623231343466633835653536306362653666376461386437346234353366353931363631386362386664333932633264623835366633653738323231646336386462316231643931346534227db8dc7b2274797065223a22537472696e67222c2276616c7565223a22396539616530643634356664356664393035303739326530623064616138326363313638366439313333616661306638316137383462333735633432616534383536376431353435653761396531393635663263316133326637336366383537356562623761393637663665346431303464326466373865623862653430393133356431326461303439396238613030373731663634326331623963343933393766323262343430343339663033366333626465653832663533303964616233227db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227db77b2274797065223a224f7074696f6e616c222c2276616c7565223a7b2274797065223a224172726179222c2276616c7565223a5b5d7d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", - "metadata": "029246ec9b7a5c81151156e7c2f6d356f68b1b884f88728daca46b968d9a46cd5a79de7119aea61bdafb39cc3d1f4fa17ca802c2732726a86d2c636dbc19808b685265676973746572204e6f64650007014e6f64652049440000537472696e670003014e6f646520526f6c65000155496e74380003014e6574772e20416464726573730002537472696e670003014e6574772e204b65790003537472696e670003015374616b696e67204b65790004537472696e67000301416d6f756e74000555466978363400030400035075622e204b65790006537472696e670003", - "hash": "9246ec9b7a5c81151156e7c2f6d356f68b1b884f88728daca46b968d9a46cd5a" + "encodedTransactionPayloadHex": "f90826b90588696d706f727420466c6f77546f6b656e2066726f6d203078313635343635333339393034306136310a696d706f7274204c6f636b6564546f6b656e732066726f6d203078386430653837623635313539616536330a696d706f7274205374616b696e6750726f78792066726f6d203078363234333063663238633236643039350a0a7472616e73616374696f6e2869643a20537472696e672c20726f6c653a2055496e74382c206e6574776f726b696e67416464726573733a20537472696e672c206e6574776f726b696e674b65793a20537472696e672c207374616b696e674b65793a20537472696e672c20616d6f756e743a2055466978363429207b0a0a202020206c657420686f6c6465725265663a20264c6f636b6564546f6b656e732e546f6b656e486f6c6465720a0a202020206c6574207661756c745265663a2026466c6f77546f6b656e2e5661756c740a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e686f6c646572526566203d206163636f756e742e626f72726f773c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f20546f6b656e486f6c64657222290a0a202020202020202073656c662e7661756c74526566203d206163636f756e742e626f72726f773c26466c6f77546f6b656e2e5661756c743e2866726f6d3a202f73746f726167652f666c6f77546f6b656e5661756c74290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f7720666c6f7720746f6b656e207661756c74207265666572656e636522290a202020207d0a0a2020202065786563757465207b0a20202020202020206c6574206e6f6465496e666f203d205374616b696e6750726f78792e4e6f6465496e666f2869643a2069642c20726f6c653a20726f6c652c206e6574776f726b696e67416464726573733a206e6574776f726b696e67416464726573732c206e6574776f726b696e674b65793a206e6574776f726b696e674b65792c207374616b696e674b65793a207374616b696e674b6579290a0a20202020202020206c6574206c6f636b656442616c616e6365203d2073656c662e686f6c6465725265662e6765744c6f636b65644163636f756e7442616c616e636528290a0a2020202020202020696620616d6f756e74203c3d206c6f636b656442616c616e6365207b0a0a20202020202020202020202073656c662e686f6c6465725265662e6372656174654e6f64655374616b6572286e6f6465496e666f3a206e6f6465496e666f2c20616d6f756e743a20616d6f756e74290a0a20202020202020207d20656c7365206966202828616d6f756e74202d206c6f636b656442616c616e636529203c3d2073656c662e7661756c745265662e62616c616e636529207b0a0a20202020202020202020202073656c662e686f6c6465725265662e6465706f7369742866726f6d3a203c2d73656c662e7661756c745265662e776974686472617728616d6f756e743a20616d6f756e74202d206c6f636b656442616c616e636529290a0a20202020202020202020202073656c662e686f6c6465725265662e6372656174654e6f64655374616b6572286e6f6465496e666f3a206e6f6465496e666f2c20616d6f756e743a20616d6f756e74290a0a20202020202020207d20656c7365207b0a20202020202020202020202070616e696328224e6f7420656e6f75676820746f6b656e7320746f207374616b652122290a20202020202020207d0a20202020202020200a202020207d0a7d0af90258b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227d9c7b2274797065223a2255496e7438222c2276616c7565223a2231227daf7b2274797065223a22537472696e67222c2276616c7565223a22666c6f772d6e6f64652e746573743a33353639227db89c7b2274797065223a22537472696e67222c2276616c7565223a223133343833303762633737633638386538303034396465396430383161613039373535646133336536393937363035666130353964623231343466633835653536306362653666376461386437346234353366353931363631386362386664333932633264623835366633653738323231646336386462316231643931346534227db8dc7b2274797065223a22537472696e67222c2276616c7565223a22396539616530643634356664356664393035303739326530623064616138326363313638366439313333616661306638316137383462333735633432616534383536376431353435653761396531393635663263316133326637336366383537356562623761393637663665346431303464326466373865623862653430393133356431326461303439396238613030373731663634326331623963343933393766323262343430343339663033366333626465653832663533303964616233227db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", + "encodedTransactionEnvelopeHex": "f9082af90826b90588696d706f727420466c6f77546f6b656e2066726f6d203078313635343635333339393034306136310a696d706f7274204c6f636b6564546f6b656e732066726f6d203078386430653837623635313539616536330a696d706f7274205374616b696e6750726f78792066726f6d203078363234333063663238633236643039350a0a7472616e73616374696f6e2869643a20537472696e672c20726f6c653a2055496e74382c206e6574776f726b696e67416464726573733a20537472696e672c206e6574776f726b696e674b65793a20537472696e672c207374616b696e674b65793a20537472696e672c20616d6f756e743a2055466978363429207b0a0a202020206c657420686f6c6465725265663a20264c6f636b6564546f6b656e732e546f6b656e486f6c6465720a0a202020206c6574207661756c745265663a2026466c6f77546f6b656e2e5661756c740a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e686f6c646572526566203d206163636f756e742e626f72726f773c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f20546f6b656e486f6c64657222290a0a202020202020202073656c662e7661756c74526566203d206163636f756e742e626f72726f773c26466c6f77546f6b656e2e5661756c743e2866726f6d3a202f73746f726167652f666c6f77546f6b656e5661756c74290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f7720666c6f7720746f6b656e207661756c74207265666572656e636522290a202020207d0a0a2020202065786563757465207b0a20202020202020206c6574206e6f6465496e666f203d205374616b696e6750726f78792e4e6f6465496e666f2869643a2069642c20726f6c653a20726f6c652c206e6574776f726b696e67416464726573733a206e6574776f726b696e67416464726573732c206e6574776f726b696e674b65793a206e6574776f726b696e674b65792c207374616b696e674b65793a207374616b696e674b6579290a0a20202020202020206c6574206c6f636b656442616c616e6365203d2073656c662e686f6c6465725265662e6765744c6f636b65644163636f756e7442616c616e636528290a0a2020202020202020696620616d6f756e74203c3d206c6f636b656442616c616e6365207b0a0a20202020202020202020202073656c662e686f6c6465725265662e6372656174654e6f64655374616b6572286e6f6465496e666f3a206e6f6465496e666f2c20616d6f756e743a20616d6f756e74290a0a20202020202020207d20656c7365206966202828616d6f756e74202d206c6f636b656442616c616e636529203c3d2073656c662e7661756c745265662e62616c616e636529207b0a0a20202020202020202020202073656c662e686f6c6465725265662e6465706f7369742866726f6d3a203c2d73656c662e7661756c745265662e776974686472617728616d6f756e743a20616d6f756e74202d206c6f636b656442616c616e636529290a0a20202020202020202020202073656c662e686f6c6465725265662e6372656174654e6f64655374616b6572286e6f6465496e666f3a206e6f6465496e666f2c20616d6f756e743a20616d6f756e74290a0a20202020202020207d20656c7365207b0a20202020202020202020202070616e696328224e6f7420656e6f75676820746f6b656e7320746f207374616b652122290a20202020202020207d0a20202020202020200a202020207d0a7d0af90258b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227d9c7b2274797065223a2255496e7438222c2276616c7565223a2231227daf7b2274797065223a22537472696e67222c2276616c7565223a22666c6f772d6e6f64652e746573743a33353639227db89c7b2274797065223a22537472696e67222c2276616c7565223a223133343833303762633737633638386538303034396465396430383161613039373535646133336536393937363035666130353964623231343466633835653536306362653666376461386437346234353366353931363631386362386664333932633264623835366633653738323231646336386462316231643931346534227db8dc7b2274797065223a22537472696e67222c2276616c7565223a22396539616530643634356664356664393035303739326530623064616138326363313638366439313333616661306638316137383462333735633432616534383536376431353435653761396531393635663263316133326637336366383537356562623761393637663665346431303464326466373865623862653430393133356431326461303439396238613030373731663634326331623963343933393766323262343430343339663033366333626465653832663533303964616233227db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", + "metadata": "02b6a3502d2205eb05ec18772c13b91cc88a056b325c2617c57948d38cab8db600b64e0e3ed9eb28789198f2b0437f55f750bfa76da99450f63be6543bde66122a5265676973746572204e6f64650006014e6f64652049440000537472696e670003014e6f646520526f6c65000155496e74380003014e6574772e20416464726573730002537472696e670003014e6574772e204b65790003537472696e670003015374616b696e67204b65790004537472696e67000301416d6f756e7400055546697836340003", + "hash": "b64e0e3ed9eb28789198f2b0437f55f750bfa76da99450f63be6543bde66122a" }, { - "title": "SCO.03 - Register Node - 3", + "title": "TH.08 - Stake New Locked FLOW", "valid": true, - "chainID": "Testnet", + "chainID": "Mainnet", "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", + "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": "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", + "address": "f19c161bc24cf4b4", "keyId": 4, "sequenceNum": 10 }, - "payer": "99a8ac2c71d4f6bd", + "payer": "f19c161bc24cf4b4", "authorizers": [ - "99a8ac2c71d4f6bd" + "f19c161bc24cf4b4" ] }, "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", + "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": "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", + "address": "f19c161bc24cf4b4", "keyId": 4, "sequenceNum": 10 }, - "payer": "99a8ac2c71d4f6bd", + "payer": "f19c161bc24cf4b4", "authorizers": [ - "99a8ac2c71d4f6bd" + "f19c161bc24cf4b4" ], "payloadSigs": [] }, - "encodedTransactionPayloadHex": "f9090bb9058a696d706f72742043727970746f0a696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f2052656769737465727320612064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e207265736f757263650a2f2f2f20666f722074686520737065636966696564206e6f646520696e666f726d6174696f6e20616e642074686520616d6f756e74206f6620746f6b656e7320746f20636f6d6d69740a0a7472616e73616374696f6e2869643a20537472696e672c0a202020202020202020202020726f6c653a2055496e74382c0a2020202020202020202020206e6574776f726b696e67416464726573733a20537472696e672c0a2020202020202020202020206e6574776f726b696e674b65793a20537472696e672c0a2020202020202020202020207374616b696e674b65793a20537472696e672c0a202020202020202020202020616d6f756e743a205546697836342c0a2020202020202020202020207075626c69634b6579733a205b43727970746f2e4b65794c697374456e7472795d3f29207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a0a20202020202020206966206c6574206d616368696e654163636f756e74203d2073656c662e7374616b696e67436f6c6c656374696f6e5265662e72656769737465724e6f6465280a20202020202020202020202069643a2069642c0a202020202020202020202020726f6c653a20726f6c652c0a2020202020202020202020206e6574776f726b696e67416464726573733a206e6574776f726b696e67416464726573732c0a2020202020202020202020206e6574776f726b696e674b65793a206e6574776f726b696e674b65792c0a2020202020202020202020207374616b696e674b65793a207374616b696e674b65792c0a202020202020202020202020616d6f756e743a20616d6f756e742c0a20202020202020202020202070617965723a206163636f756e7429200a20202020202020207b0a2020202020202020202020206966207075626c69634b657973203d3d206e696c207c7c207075626c69634b657973212e6c656e677468203d3d2030207b0a2020202020202020202020202020202070616e6963282243616e6e6f742070726f76696465207a65726f206b65797320666f7220746865206d616368696e65206163636f756e7422290a2020202020202020202020207d0a202020202020202020202020666f72206b657920696e207075626c69634b65797321207b0a202020202020202020202020202020206d616368696e654163636f756e742e6b6579732e616464287075626c69634b65793a206b65792e7075626c69634b65792c2068617368416c676f726974686d3a206b65792e68617368416c676f726974686d2c207765696768743a206b65792e776569676874290a2020202020202020202020207d0a20202020202020207d0a202020207d0a7d0af9033bb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227d9c7b2274797065223a2255496e7438222c2276616c7565223a2231227daf7b2274797065223a22537472696e67222c2276616c7565223a22666c6f772d6e6f64652e746573743a33353639227db89c7b2274797065223a22537472696e67222c2276616c7565223a223133343833303762633737633638386538303034396465396430383161613039373535646133336536393937363035666130353964623231343466633835653536306362653666376461386437346234353366353931363631386362386664333932633264623835366633653738323231646336386462316231643931346534227db8dc7b2274797065223a22537472696e67222c2276616c7565223a22396539616530643634356664356664393035303739326530623064616138326363313638366439313333616661306638316137383462333735633432616534383536376431353435653761396531393635663263316133326637336366383537356562623761393637663665346431303464326466373865623862653430393133356431326461303439396238613030373731663634326331623963343933393766323262343430343339663033366333626465653832663533303964616233227db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227db8e17b2274797065223a224f7074696f6e616c222c2276616c7565223a7b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634227d5d7d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", - "encodedTransactionEnvelopeHex": "f9090ff9090bb9058a696d706f72742043727970746f0a696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f2052656769737465727320612064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e207265736f757263650a2f2f2f20666f722074686520737065636966696564206e6f646520696e666f726d6174696f6e20616e642074686520616d6f756e74206f6620746f6b656e7320746f20636f6d6d69740a0a7472616e73616374696f6e2869643a20537472696e672c0a202020202020202020202020726f6c653a2055496e74382c0a2020202020202020202020206e6574776f726b696e67416464726573733a20537472696e672c0a2020202020202020202020206e6574776f726b696e674b65793a20537472696e672c0a2020202020202020202020207374616b696e674b65793a20537472696e672c0a202020202020202020202020616d6f756e743a205546697836342c0a2020202020202020202020207075626c69634b6579733a205b43727970746f2e4b65794c697374456e7472795d3f29207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a0a20202020202020206966206c6574206d616368696e654163636f756e74203d2073656c662e7374616b696e67436f6c6c656374696f6e5265662e72656769737465724e6f6465280a20202020202020202020202069643a2069642c0a202020202020202020202020726f6c653a20726f6c652c0a2020202020202020202020206e6574776f726b696e67416464726573733a206e6574776f726b696e67416464726573732c0a2020202020202020202020206e6574776f726b696e674b65793a206e6574776f726b696e674b65792c0a2020202020202020202020207374616b696e674b65793a207374616b696e674b65792c0a202020202020202020202020616d6f756e743a20616d6f756e742c0a20202020202020202020202070617965723a206163636f756e7429200a20202020202020207b0a2020202020202020202020206966207075626c69634b657973203d3d206e696c207c7c207075626c69634b657973212e6c656e677468203d3d2030207b0a2020202020202020202020202020202070616e6963282243616e6e6f742070726f76696465207a65726f206b65797320666f7220746865206d616368696e65206163636f756e7422290a2020202020202020202020207d0a202020202020202020202020666f72206b657920696e207075626c69634b65797321207b0a202020202020202020202020202020206d616368696e654163636f756e742e6b6579732e616464287075626c69634b65793a206b65792e7075626c69634b65792c2068617368416c676f726974686d3a206b65792e68617368416c676f726974686d2c207765696768743a206b65792e776569676874290a2020202020202020202020207d0a20202020202020207d0a202020207d0a7d0af9033bb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227d9c7b2274797065223a2255496e7438222c2276616c7565223a2231227daf7b2274797065223a22537472696e67222c2276616c7565223a22666c6f772d6e6f64652e746573743a33353639227db89c7b2274797065223a22537472696e67222c2276616c7565223a223133343833303762633737633638386538303034396465396430383161613039373535646133336536393937363035666130353964623231343466633835653536306362653666376461386437346234353366353931363631386362386664333932633264623835366633653738323231646336386462316231643931346534227db8dc7b2274797065223a22537472696e67222c2276616c7565223a22396539616530643634356664356664393035303739326530623064616138326363313638366439313333616661306638316137383462333735633432616534383536376431353435653761396531393635663263316133326637336366383537356562623761393637663665346431303464326466373865623862653430393133356431326461303439396238613030373731663634326331623963343933393766323262343430343339663033366333626465653832663533303964616233227db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227db8e17b2274797065223a224f7074696f6e616c222c2276616c7565223a7b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634227d5d7d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", - "metadata": "029246ec9b7a5c81151156e7c2f6d356f68b1b884f88728daca46b968d9a46cd5a79de7119aea61bdafb39cc3d1f4fa17ca802c2732726a86d2c636dbc19808b685265676973746572204e6f64650007014e6f64652049440000537472696e670003014e6f646520526f6c65000155496e74380003014e6574772e20416464726573730002537472696e670003014e6574772e204b65790003537472696e670003015374616b696e67204b65790004537472696e67000301416d6f756e74000555466978363400030400035075622e204b65790006537472696e670003", - "hash": "9246ec9b7a5c81151156e7c2f6d356f68b1b884f88728daca46b968d9a46cd5a" + "encodedTransactionPayloadHex": "f9053eb904c9696d706f727420466c6f77546f6b656e2066726f6d203078313635343635333339393034306136310a696d706f72742046756e6769626c65546f6b656e2066726f6d203078663233336463656538386665306162650a0a696d706f7274204c6f636b6564546f6b656e732066726f6d203078386430653837623635313539616536330a696d706f7274205374616b696e6750726f78792066726f6d203078363234333063663238633236643039350a0a7472616e73616374696f6e28616d6f756e743a2055466978363429207b0a0a202020206c657420686f6c6465725265663a20264c6f636b6564546f6b656e732e546f6b656e486f6c6465720a0a202020206c6574207661756c745265663a2026466c6f77546f6b656e2e5661756c740a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e686f6c646572526566203d206163636f756e742e626f72726f773c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f20546f6b656e486f6c64657222290a0a202020202020202073656c662e7661756c74526566203d206163636f756e742e626f72726f773c26466c6f77546f6b656e2e5661756c743e2866726f6d3a202f73746f726167652f666c6f77546f6b656e5661756c74290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f7720666c6f7720746f6b656e207661756c74207265666572656e636522290a202020207d0a0a2020202065786563757465207b0a20202020202020206c6574207374616b657250726f7879203d2073656c662e686f6c6465725265662e626f72726f775374616b657228290a0a20202020202020206c6574206c6f636b656442616c616e6365203d2073656c662e686f6c6465725265662e6765744c6f636b65644163636f756e7442616c616e636528290a0a2020202020202020696620616d6f756e74203c3d206c6f636b656442616c616e6365207b0a0a2020202020202020202020207374616b657250726f78792e7374616b654e6577546f6b656e7328616d6f756e743a20616d6f756e74290a0a20202020202020207d20656c7365206966202828616d6f756e74202d206c6f636b656442616c616e636529203c3d2073656c662e7661756c745265662e62616c616e636529207b0a0a20202020202020202020202073656c662e686f6c6465725265662e6465706f7369742866726f6d3a203c2d73656c662e7661756c745265662e776974686472617728616d6f756e743a20616d6f756e74202d206c6f636b656442616c616e636529290a0a2020202020202020202020207374616b657250726f78792e7374616b654e6577546f6b656e7328616d6f756e743a20616d6f756e74290a2020202020202020202020200a20202020202020207d20656c7365207b0a20202020202020202020202070616e696328224e6f7420656e6f75676820746f6b656e7320746f207374616b652122290a20202020202020207d0a202020207d0a7d0af1b07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", + "encodedTransactionEnvelopeHex": "f90542f9053eb904c9696d706f727420466c6f77546f6b656e2066726f6d203078313635343635333339393034306136310a696d706f72742046756e6769626c65546f6b656e2066726f6d203078663233336463656538386665306162650a0a696d706f7274204c6f636b6564546f6b656e732066726f6d203078386430653837623635313539616536330a696d706f7274205374616b696e6750726f78792066726f6d203078363234333063663238633236643039350a0a7472616e73616374696f6e28616d6f756e743a2055466978363429207b0a0a202020206c657420686f6c6465725265663a20264c6f636b6564546f6b656e732e546f6b656e486f6c6465720a0a202020206c6574207661756c745265663a2026466c6f77546f6b656e2e5661756c740a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e686f6c646572526566203d206163636f756e742e626f72726f773c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f20546f6b656e486f6c64657222290a0a202020202020202073656c662e7661756c74526566203d206163636f756e742e626f72726f773c26466c6f77546f6b656e2e5661756c743e2866726f6d3a202f73746f726167652f666c6f77546f6b656e5661756c74290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f7720666c6f7720746f6b656e207661756c74207265666572656e636522290a202020207d0a0a2020202065786563757465207b0a20202020202020206c6574207374616b657250726f7879203d2073656c662e686f6c6465725265662e626f72726f775374616b657228290a0a20202020202020206c6574206c6f636b656442616c616e6365203d2073656c662e686f6c6465725265662e6765744c6f636b65644163636f756e7442616c616e636528290a0a2020202020202020696620616d6f756e74203c3d206c6f636b656442616c616e6365207b0a0a2020202020202020202020207374616b657250726f78792e7374616b654e6577546f6b656e7328616d6f756e743a20616d6f756e74290a0a20202020202020207d20656c7365206966202828616d6f756e74202d206c6f636b656442616c616e636529203c3d2073656c662e7661756c745265662e62616c616e636529207b0a0a20202020202020202020202073656c662e686f6c6465725265662e6465706f7369742866726f6d3a203c2d73656c662e7661756c745265662e776974686472617728616d6f756e743a20616d6f756e74202d206c6f636b656442616c616e636529290a0a2020202020202020202020207374616b657250726f78792e7374616b654e6577546f6b656e7328616d6f756e743a20616d6f756e74290a2020202020202020202020200a20202020202020207d20656c7365207b0a20202020202020202020202070616e696328224e6f7420656e6f75676820746f6b656e7320746f207374616b652122290a20202020202020207d0a202020207d0a7d0af1b07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", + "metadata": "02d5689b89f53214e7ce9ba7be2bb651961f7e3036b85f9250494290da9e9ba9891929e4f38894b8641848a3c0a3b9d35495b35083d42e8a3d4c928b9db4174ee85374616b65204e6577204c6f636b656420464c4f57000101416d6f756e7400005546697836340003", + "hash": "1929e4f38894b8641848a3c0a3b9d35495b35083d42e8a3d4c928b9db4174ee8" }, { - "title": "SCO.03 - Register Node - 4", + "title": "TH.09 - Re-stake Unstaked FLOW", "valid": true, - "chainID": "Testnet", + "chainID": "Mainnet", "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", + "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": "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", + "address": "f19c161bc24cf4b4", "keyId": 4, "sequenceNum": 10 }, - "payer": "99a8ac2c71d4f6bd", + "payer": "f19c161bc24cf4b4", "authorizers": [ - "99a8ac2c71d4f6bd" + "f19c161bc24cf4b4" ] }, "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", + "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": "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", + "address": "f19c161bc24cf4b4", "keyId": 4, "sequenceNum": 10 }, - "payer": "99a8ac2c71d4f6bd", + "payer": "f19c161bc24cf4b4", "authorizers": [ - "99a8ac2c71d4f6bd" + "f19c161bc24cf4b4" ], "payloadSigs": [] }, - "encodedTransactionPayloadHex": "f90a62b9058a696d706f72742043727970746f0a696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f2052656769737465727320612064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e207265736f757263650a2f2f2f20666f722074686520737065636966696564206e6f646520696e666f726d6174696f6e20616e642074686520616d6f756e74206f6620746f6b656e7320746f20636f6d6d69740a0a7472616e73616374696f6e2869643a20537472696e672c0a202020202020202020202020726f6c653a2055496e74382c0a2020202020202020202020206e6574776f726b696e67416464726573733a20537472696e672c0a2020202020202020202020206e6574776f726b696e674b65793a20537472696e672c0a2020202020202020202020207374616b696e674b65793a20537472696e672c0a202020202020202020202020616d6f756e743a205546697836342c0a2020202020202020202020207075626c69634b6579733a205b43727970746f2e4b65794c697374456e7472795d3f29207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a0a20202020202020206966206c6574206d616368696e654163636f756e74203d2073656c662e7374616b696e67436f6c6c656374696f6e5265662e72656769737465724e6f6465280a20202020202020202020202069643a2069642c0a202020202020202020202020726f6c653a20726f6c652c0a2020202020202020202020206e6574776f726b696e67416464726573733a206e6574776f726b696e67416464726573732c0a2020202020202020202020206e6574776f726b696e674b65793a206e6574776f726b696e674b65792c0a2020202020202020202020207374616b696e674b65793a207374616b696e674b65792c0a202020202020202020202020616d6f756e743a20616d6f756e742c0a20202020202020202020202070617965723a206163636f756e7429200a20202020202020207b0a2020202020202020202020206966207075626c69634b657973203d3d206e696c207c7c207075626c69634b657973212e6c656e677468203d3d2030207b0a2020202020202020202020202020202070616e6963282243616e6e6f742070726f76696465207a65726f206b65797320666f7220746865206d616368696e65206163636f756e7422290a2020202020202020202020207d0a202020202020202020202020666f72206b657920696e207075626c69634b65797321207b0a202020202020202020202020202020206d616368696e654163636f756e742e6b6579732e616464287075626c69634b65793a206b65792e7075626c69634b65792c2068617368416c676f726974686d3a206b65792e68617368416c676f726974686d2c207765696768743a206b65792e776569676874290a2020202020202020202020207d0a20202020202020207d0a202020207d0a7d0af90492b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227d9c7b2274797065223a2255496e7438222c2276616c7565223a2231227daf7b2274797065223a22537472696e67222c2276616c7565223a22666c6f772d6e6f64652e746573743a33353639227db89c7b2274797065223a22537472696e67222c2276616c7565223a223133343833303762633737633638386538303034396465396430383161613039373535646133336536393937363035666130353964623231343466633835653536306362653666376461386437346234353366353931363631386362386664333932633264623835366633653738323231646336386462316231643931346534227db8dc7b2274797065223a22537472696e67222c2276616c7565223a22396539616530643634356664356664393035303739326530623064616138326363313638366439313333616661306638316137383462333735633432616534383536376431353435653761396531393635663263316133326637336366383537356562623761393637663665346431303464326466373865623862653430393133356431326461303439396238613030373731663634326331623963343933393766323262343430343339663033366333626465653832663533303964616233227db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227db902377b2274797065223a224f7074696f6e616c222c2276616c7565223a7b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634227d2c7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634227d2c7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634227d5d7d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", - "encodedTransactionEnvelopeHex": "f90a66f90a62b9058a696d706f72742043727970746f0a696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f2052656769737465727320612064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e207265736f757263650a2f2f2f20666f722074686520737065636966696564206e6f646520696e666f726d6174696f6e20616e642074686520616d6f756e74206f6620746f6b656e7320746f20636f6d6d69740a0a7472616e73616374696f6e2869643a20537472696e672c0a202020202020202020202020726f6c653a2055496e74382c0a2020202020202020202020206e6574776f726b696e67416464726573733a20537472696e672c0a2020202020202020202020206e6574776f726b696e674b65793a20537472696e672c0a2020202020202020202020207374616b696e674b65793a20537472696e672c0a202020202020202020202020616d6f756e743a205546697836342c0a2020202020202020202020207075626c69634b6579733a205b43727970746f2e4b65794c697374456e7472795d3f29207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a0a20202020202020206966206c6574206d616368696e654163636f756e74203d2073656c662e7374616b696e67436f6c6c656374696f6e5265662e72656769737465724e6f6465280a20202020202020202020202069643a2069642c0a202020202020202020202020726f6c653a20726f6c652c0a2020202020202020202020206e6574776f726b696e67416464726573733a206e6574776f726b696e67416464726573732c0a2020202020202020202020206e6574776f726b696e674b65793a206e6574776f726b696e674b65792c0a2020202020202020202020207374616b696e674b65793a207374616b696e674b65792c0a202020202020202020202020616d6f756e743a20616d6f756e742c0a20202020202020202020202070617965723a206163636f756e7429200a20202020202020207b0a2020202020202020202020206966207075626c69634b657973203d3d206e696c207c7c207075626c69634b657973212e6c656e677468203d3d2030207b0a2020202020202020202020202020202070616e6963282243616e6e6f742070726f76696465207a65726f206b65797320666f7220746865206d616368696e65206163636f756e7422290a2020202020202020202020207d0a202020202020202020202020666f72206b657920696e207075626c69634b65797321207b0a202020202020202020202020202020206d616368696e654163636f756e742e6b6579732e616464287075626c69634b65793a206b65792e7075626c69634b65792c2068617368416c676f726974686d3a206b65792e68617368416c676f726974686d2c207765696768743a206b65792e776569676874290a2020202020202020202020207d0a20202020202020207d0a202020207d0a7d0af90492b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227d9c7b2274797065223a2255496e7438222c2276616c7565223a2231227daf7b2274797065223a22537472696e67222c2276616c7565223a22666c6f772d6e6f64652e746573743a33353639227db89c7b2274797065223a22537472696e67222c2276616c7565223a223133343833303762633737633638386538303034396465396430383161613039373535646133336536393937363035666130353964623231343466633835653536306362653666376461386437346234353366353931363631386362386664333932633264623835366633653738323231646336386462316231643931346534227db8dc7b2274797065223a22537472696e67222c2276616c7565223a22396539616530643634356664356664393035303739326530623064616138326363313638366439313333616661306638316137383462333735633432616534383536376431353435653761396531393635663263316133326637336366383537356562623761393637663665346431303464326466373865623862653430393133356431326461303439396238613030373731663634326331623963343933393766323262343430343339663033366333626465653832663533303964616233227db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227db902377b2274797065223a224f7074696f6e616c222c2276616c7565223a7b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634227d2c7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634227d2c7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634227d5d7d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", - "metadata": "029246ec9b7a5c81151156e7c2f6d356f68b1b884f88728daca46b968d9a46cd5a79de7119aea61bdafb39cc3d1f4fa17ca802c2732726a86d2c636dbc19808b685265676973746572204e6f64650007014e6f64652049440000537472696e670003014e6f646520526f6c65000155496e74380003014e6574772e20416464726573730002537472696e670003014e6574772e204b65790003537472696e670003015374616b696e67204b65790004537472696e67000301416d6f756e74000555466978363400030400035075622e204b65790006537472696e670003", - "hash": "9246ec9b7a5c81151156e7c2f6d356f68b1b884f88728daca46b968d9a46cd5a" + "encodedTransactionPayloadHex": "f9027db90208696d706f7274204c6f636b6564546f6b656e732066726f6d203078386430653837623635313539616536330a696d706f7274205374616b696e6750726f78792066726f6d203078363234333063663238633236643039350a0a7472616e73616374696f6e28616d6f756e743a2055466978363429207b0a0a202020206c657420686f6c6465725265663a20264c6f636b6564546f6b656e732e546f6b656e486f6c6465720a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e686f6c646572526566203d206163636f756e742e626f72726f773c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f20546f6b656e486f6c64657222290a202020207d0a0a2020202065786563757465207b0a20202020202020206c6574207374616b657250726f7879203d2073656c662e686f6c6465725265662e626f72726f775374616b657228290a0a20202020202020207374616b657250726f78792e7374616b65556e7374616b6564546f6b656e7328616d6f756e743a20616d6f756e74290a202020207d0a7d0af1b07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", + "encodedTransactionEnvelopeHex": "f90281f9027db90208696d706f7274204c6f636b6564546f6b656e732066726f6d203078386430653837623635313539616536330a696d706f7274205374616b696e6750726f78792066726f6d203078363234333063663238633236643039350a0a7472616e73616374696f6e28616d6f756e743a2055466978363429207b0a0a202020206c657420686f6c6465725265663a20264c6f636b6564546f6b656e732e546f6b656e486f6c6465720a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e686f6c646572526566203d206163636f756e742e626f72726f773c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f20546f6b656e486f6c64657222290a202020207d0a0a2020202065786563757465207b0a20202020202020206c6574207374616b657250726f7879203d2073656c662e686f6c6465725265662e626f72726f775374616b657228290a0a20202020202020207374616b657250726f78792e7374616b65556e7374616b6564546f6b656e7328616d6f756e743a20616d6f756e74290a202020207d0a7d0af1b07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", + "metadata": "0223e5bfd594bb3245090e3e0bafb9cb9246fc84d30e4a35a7fde1b51085624d86677cc0ac3962ec136ca26dbec0aa942d926640ecf8418433f0db4b7925f5d0fe52652d7374616b6520556e7374616b656420464c4f57000101416d6f756e7400005546697836340003", + "hash": "677cc0ac3962ec136ca26dbec0aa942d926640ecf8418433f0db4b7925f5d0fe" }, { - "title": "SCO.04 - Create Machine Account - 1", + "title": "TH.10 - Re-stake Rewarded FLOW", "valid": true, - "chainID": "Testnet", + "chainID": "Mainnet", "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", + "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": "String", - "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" - }, - { - "type": "Array", - "value": [] + "type": "UFix64", + "value": "92233720368.54775808" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", "gasLimit": 42, "proposalKey": { - "address": "99a8ac2c71d4f6bd", + "address": "f19c161bc24cf4b4", "keyId": 4, "sequenceNum": 10 }, - "payer": "99a8ac2c71d4f6bd", + "payer": "f19c161bc24cf4b4", "authorizers": [ - "99a8ac2c71d4f6bd" + "f19c161bc24cf4b4" ] }, "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", + "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": "String", - "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" - }, - { - "type": "Array", - "value": [] + "type": "UFix64", + "value": "92233720368.54775808" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", "gasLimit": 42, "proposalKey": { - "address": "99a8ac2c71d4f6bd", + "address": "f19c161bc24cf4b4", "keyId": 4, "sequenceNum": 10 }, - "payer": "99a8ac2c71d4f6bd", + "payer": "f19c161bc24cf4b4", "authorizers": [ - "99a8ac2c71d4f6bd" + "f19c161bc24cf4b4" ], "payloadSigs": [] }, - "encodedTransactionPayloadHex": "f90537b90478696d706f72742043727970746f0a696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f20437265617465732061206d616368696e65206163636f756e7420666f722061206e6f6465207468617420697320616c726561647920696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f20616e642061646473207075626c6963206b65797320746f20746865206e6577206163636f756e740a0a7472616e73616374696f6e286e6f646549443a20537472696e672c207075626c69634b6579733a205b43727970746f2e4b65794c697374456e7472795d29207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a0a20202020202020206966206c6574206d616368696e654163636f756e74203d2073656c662e7374616b696e67436f6c6c656374696f6e5265662e6372656174654d616368696e654163636f756e74466f724578697374696e674e6f6465286e6f646549443a206e6f646549442c2070617965723a206163636f756e7429207b0a2020202020202020202020206966207075626c69634b657973203d3d206e696c207c7c207075626c69634b657973212e6c656e677468203d3d2030207b0a2020202020202020202020202020202070616e6963282243616e6e6f742070726f76696465207a65726f206b65797320666f7220746865206d616368696e65206163636f756e7422290a2020202020202020202020207d0a202020202020202020202020666f72206b657920696e207075626c69634b657973207b0a202020202020202020202020202020206d616368696e654163636f756e742e6b6579732e616464287075626c69634b65793a206b65792e7075626c69634b65792c2068617368416c676f726974686d3a206b65792e68617368416c676f726974686d2c207765696768743a206b65792e776569676874290a2020202020202020202020207d0a20202020202020207d20656c7365207b0a20202020202020202020202070616e69632822436f756c64206e6f74206372656174652061206d616368696e65206163636f756e7420666f7220746865206e6f646522290a20202020202020207d0a202020207d0a7d0af87ab85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227d9b7b2274797065223a224172726179222c2276616c7565223a5b5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", - "encodedTransactionEnvelopeHex": "f9053bf90537b90478696d706f72742043727970746f0a696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f20437265617465732061206d616368696e65206163636f756e7420666f722061206e6f6465207468617420697320616c726561647920696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f20616e642061646473207075626c6963206b65797320746f20746865206e6577206163636f756e740a0a7472616e73616374696f6e286e6f646549443a20537472696e672c207075626c69634b6579733a205b43727970746f2e4b65794c697374456e7472795d29207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a0a20202020202020206966206c6574206d616368696e654163636f756e74203d2073656c662e7374616b696e67436f6c6c656374696f6e5265662e6372656174654d616368696e654163636f756e74466f724578697374696e674e6f6465286e6f646549443a206e6f646549442c2070617965723a206163636f756e7429207b0a2020202020202020202020206966207075626c69634b657973203d3d206e696c207c7c207075626c69634b657973212e6c656e677468203d3d2030207b0a2020202020202020202020202020202070616e6963282243616e6e6f742070726f76696465207a65726f206b65797320666f7220746865206d616368696e65206163636f756e7422290a2020202020202020202020207d0a202020202020202020202020666f72206b657920696e207075626c69634b657973207b0a202020202020202020202020202020206d616368696e654163636f756e742e6b6579732e616464287075626c69634b65793a206b65792e7075626c69634b65792c2068617368416c676f726974686d3a206b65792e68617368416c676f726974686d2c207765696768743a206b65792e776569676874290a2020202020202020202020207d0a20202020202020207d20656c7365207b0a20202020202020202020202070616e69632822436f756c64206e6f74206372656174652061206d616368696e65206163636f756e7420666f7220746865206e6f646522290a20202020202020207d0a202020207d0a7d0af87ab85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227d9b7b2274797065223a224172726179222c2276616c7565223a5b5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", - "metadata": "0286c69d731560f3bff549c5f180eb4219bfe650ae4efec8e0c5b5ad3ebed54a92dd3b327b09087ea7f8e92a22a6b04a3c6ca33b868b430c4f15f251658c38c1b7437265617465204d616368696e65204163636f756e740002014e6f64652049440000537472696e6700030300035075622e204b65790001537472696e670003", - "hash": "86c69d731560f3bff549c5f180eb4219bfe650ae4efec8e0c5b5ad3ebed54a92" + "encodedTransactionPayloadHex": "f9027db90208696d706f7274204c6f636b6564546f6b656e732066726f6d203078386430653837623635313539616536330a696d706f7274205374616b696e6750726f78792066726f6d203078363234333063663238633236643039350a0a7472616e73616374696f6e28616d6f756e743a2055466978363429207b0a0a202020206c657420686f6c6465725265663a20264c6f636b6564546f6b656e732e546f6b656e486f6c6465720a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e686f6c646572526566203d206163636f756e742e626f72726f773c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f20546f6b656e486f6c64657222290a202020207d0a0a2020202065786563757465207b0a20202020202020206c6574207374616b657250726f7879203d2073656c662e686f6c6465725265662e626f72726f775374616b657228290a0a20202020202020207374616b657250726f78792e7374616b655265776172646564546f6b656e7328616d6f756e743a20616d6f756e74290a202020207d0a7d0af1b07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", + "encodedTransactionEnvelopeHex": "f90281f9027db90208696d706f7274204c6f636b6564546f6b656e732066726f6d203078386430653837623635313539616536330a696d706f7274205374616b696e6750726f78792066726f6d203078363234333063663238633236643039350a0a7472616e73616374696f6e28616d6f756e743a2055466978363429207b0a0a202020206c657420686f6c6465725265663a20264c6f636b6564546f6b656e732e546f6b656e486f6c6465720a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e686f6c646572526566203d206163636f756e742e626f72726f773c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f20546f6b656e486f6c64657222290a202020207d0a0a2020202065786563757465207b0a20202020202020206c6574207374616b657250726f7879203d2073656c662e686f6c6465725265662e626f72726f775374616b657228290a0a20202020202020207374616b657250726f78792e7374616b655265776172646564546f6b656e7328616d6f756e743a20616d6f756e74290a202020207d0a7d0af1b07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", + "metadata": "02239319825ad68178e76465b5ea18cb43f06c4ee11341f8fe9424809163a027a528d1719c5b21c88c62665db5ba04886809f3234c27057b057c36d5f265ee9de452652d7374616b6520526577617264656420464c4f57000101416d6f756e7400005546697836340003", + "hash": "28d1719c5b21c88c62665db5ba04886809f3234c27057b057c36d5f265ee9de4" }, { - "title": "SCO.04 - Create Machine Account - 2", + "title": "TH.11 - Request Unstake of FLOW", "valid": true, - "chainID": "Testnet", + "chainID": "Mainnet", "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", + "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": "String", - "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" - }, - { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164" - } - ] + "type": "UFix64", + "value": "92233720368.54775808" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", "gasLimit": 42, "proposalKey": { - "address": "99a8ac2c71d4f6bd", + "address": "f19c161bc24cf4b4", "keyId": 4, "sequenceNum": 10 }, - "payer": "99a8ac2c71d4f6bd", + "payer": "f19c161bc24cf4b4", "authorizers": [ - "99a8ac2c71d4f6bd" + "f19c161bc24cf4b4" ] }, "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", + "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": "String", - "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" - }, - { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164" - } - ] + "type": "UFix64", + "value": "92233720368.54775808" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", "gasLimit": 42, "proposalKey": { - "address": "99a8ac2c71d4f6bd", + "address": "f19c161bc24cf4b4", "keyId": 4, "sequenceNum": 10 }, - "payer": "99a8ac2c71d4f6bd", + "payer": "f19c161bc24cf4b4", "authorizers": [ - "99a8ac2c71d4f6bd" + "f19c161bc24cf4b4" ], "payloadSigs": [] }, - "encodedTransactionPayloadHex": "f905e3b90478696d706f72742043727970746f0a696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f20437265617465732061206d616368696e65206163636f756e7420666f722061206e6f6465207468617420697320616c726561647920696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f20616e642061646473207075626c6963206b65797320746f20746865206e6577206163636f756e740a0a7472616e73616374696f6e286e6f646549443a20537472696e672c207075626c69634b6579733a205b43727970746f2e4b65794c697374456e7472795d29207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a0a20202020202020206966206c6574206d616368696e654163636f756e74203d2073656c662e7374616b696e67436f6c6c656374696f6e5265662e6372656174654d616368696e654163636f756e74466f724578697374696e674e6f6465286e6f646549443a206e6f646549442c2070617965723a206163636f756e7429207b0a2020202020202020202020206966207075626c69634b657973203d3d206e696c207c7c207075626c69634b657973212e6c656e677468203d3d2030207b0a2020202020202020202020202020202070616e6963282243616e6e6f742070726f76696465207a65726f206b65797320666f7220746865206d616368696e65206163636f756e7422290a2020202020202020202020207d0a202020202020202020202020666f72206b657920696e207075626c69634b657973207b0a202020202020202020202020202020206d616368696e654163636f756e742e6b6579732e616464287075626c69634b65793a206b65792e7075626c69634b65792c2068617368416c676f726974686d3a206b65792e68617368416c676f726974686d2c207765696768743a206b65792e776569676874290a2020202020202020202020207d0a20202020202020207d20656c7365207b0a20202020202020202020202070616e69632822436f756c64206e6f74206372656174652061206d616368696e65206163636f756e7420666f7220746865206e6f646522290a20202020202020207d0a202020207d0a7d0af90125b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db8c57b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634227d5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", - "encodedTransactionEnvelopeHex": "f905e7f905e3b90478696d706f72742043727970746f0a696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f20437265617465732061206d616368696e65206163636f756e7420666f722061206e6f6465207468617420697320616c726561647920696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f20616e642061646473207075626c6963206b65797320746f20746865206e6577206163636f756e740a0a7472616e73616374696f6e286e6f646549443a20537472696e672c207075626c69634b6579733a205b43727970746f2e4b65794c697374456e7472795d29207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a0a20202020202020206966206c6574206d616368696e654163636f756e74203d2073656c662e7374616b696e67436f6c6c656374696f6e5265662e6372656174654d616368696e654163636f756e74466f724578697374696e674e6f6465286e6f646549443a206e6f646549442c2070617965723a206163636f756e7429207b0a2020202020202020202020206966207075626c69634b657973203d3d206e696c207c7c207075626c69634b657973212e6c656e677468203d3d2030207b0a2020202020202020202020202020202070616e6963282243616e6e6f742070726f76696465207a65726f206b65797320666f7220746865206d616368696e65206163636f756e7422290a2020202020202020202020207d0a202020202020202020202020666f72206b657920696e207075626c69634b657973207b0a202020202020202020202020202020206d616368696e654163636f756e742e6b6579732e616464287075626c69634b65793a206b65792e7075626c69634b65792c2068617368416c676f726974686d3a206b65792e68617368416c676f726974686d2c207765696768743a206b65792e776569676874290a2020202020202020202020207d0a20202020202020207d20656c7365207b0a20202020202020202020202070616e69632822436f756c64206e6f74206372656174652061206d616368696e65206163636f756e7420666f7220746865206e6f646522290a20202020202020207d0a202020207d0a7d0af90125b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db8c57b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634227d5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", - "metadata": "0286c69d731560f3bff549c5f180eb4219bfe650ae4efec8e0c5b5ad3ebed54a92dd3b327b09087ea7f8e92a22a6b04a3c6ca33b868b430c4f15f251658c38c1b7437265617465204d616368696e65204163636f756e740002014e6f64652049440000537472696e6700030300035075622e204b65790001537472696e670003", - "hash": "86c69d731560f3bff549c5f180eb4219bfe650ae4efec8e0c5b5ad3ebed54a92" + "encodedTransactionPayloadHex": "f9027ab90205696d706f7274204c6f636b6564546f6b656e732066726f6d203078386430653837623635313539616536330a696d706f7274205374616b696e6750726f78792066726f6d203078363234333063663238633236643039350a0a7472616e73616374696f6e28616d6f756e743a2055466978363429207b0a0a202020206c657420686f6c6465725265663a20264c6f636b6564546f6b656e732e546f6b656e486f6c6465720a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e686f6c646572526566203d206163636f756e742e626f72726f773c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f20546f6b656e486f6c64657222290a202020207d0a0a2020202065786563757465207b0a20202020202020206c6574207374616b657250726f7879203d2073656c662e686f6c6465725265662e626f72726f775374616b657228290a0a20202020202020207374616b657250726f78792e72657175657374556e7374616b696e6728616d6f756e743a20616d6f756e74290a202020207d0a7d0af1b07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", + "encodedTransactionEnvelopeHex": "f9027ef9027ab90205696d706f7274204c6f636b6564546f6b656e732066726f6d203078386430653837623635313539616536330a696d706f7274205374616b696e6750726f78792066726f6d203078363234333063663238633236643039350a0a7472616e73616374696f6e28616d6f756e743a2055466978363429207b0a0a202020206c657420686f6c6465725265663a20264c6f636b6564546f6b656e732e546f6b656e486f6c6465720a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e686f6c646572526566203d206163636f756e742e626f72726f773c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f20546f6b656e486f6c64657222290a202020207d0a0a2020202065786563757465207b0a20202020202020206c6574207374616b657250726f7879203d2073656c662e686f6c6465725265662e626f72726f775374616b657228290a0a20202020202020207374616b657250726f78792e72657175657374556e7374616b696e6728616d6f756e743a20616d6f756e74290a202020207d0a7d0af1b07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", + "metadata": "0233e3977c45e7c23c1472bcf334d00b03ebf91b06b67c57b63b562c7b1ff5c59f4e2a35541453f89c55e5dc6dbc963290380d779c81df0b3bf89c29b2a8d7a9fe5265717565737420556e7374616b65206f6620464c4f57000101416d6f756e7400005546697836340003", + "hash": "4e2a35541453f89c55e5dc6dbc963290380d779c81df0b3bf89c29b2a8d7a9fe" }, { - "title": "SCO.04 - Create Machine Account - 3", + "title": "TH.12 - Unstake All FLOW", "valid": true, - "chainID": "Testnet", + "chainID": "Mainnet", "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" - } - ] - } - ], + "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": "99a8ac2c71d4f6bd", + "address": "f19c161bc24cf4b4", "keyId": 4, "sequenceNum": 10 }, - "payer": "99a8ac2c71d4f6bd", + "payer": "f19c161bc24cf4b4", "authorizers": [ - "99a8ac2c71d4f6bd" + "f19c161bc24cf4b4" ] }, "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" - } - ] - } - ], + "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": "99a8ac2c71d4f6bd", + "address": "f19c161bc24cf4b4", "keyId": 4, "sequenceNum": 10 }, - "payer": "99a8ac2c71d4f6bd", + "payer": "f19c161bc24cf4b4", "authorizers": [ - "99a8ac2c71d4f6bd" + "f19c161bc24cf4b4" ], "payloadSigs": [] }, - "encodedTransactionPayloadHex": "f9073ab90478696d706f72742043727970746f0a696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f20437265617465732061206d616368696e65206163636f756e7420666f722061206e6f6465207468617420697320616c726561647920696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f20616e642061646473207075626c6963206b65797320746f20746865206e6577206163636f756e740a0a7472616e73616374696f6e286e6f646549443a20537472696e672c207075626c69634b6579733a205b43727970746f2e4b65794c697374456e7472795d29207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a0a20202020202020206966206c6574206d616368696e654163636f756e74203d2073656c662e7374616b696e67436f6c6c656374696f6e5265662e6372656174654d616368696e654163636f756e74466f724578697374696e674e6f6465286e6f646549443a206e6f646549442c2070617965723a206163636f756e7429207b0a2020202020202020202020206966207075626c69634b657973203d3d206e696c207c7c207075626c69634b657973212e6c656e677468203d3d2030207b0a2020202020202020202020202020202070616e6963282243616e6e6f742070726f76696465207a65726f206b65797320666f7220746865206d616368696e65206163636f756e7422290a2020202020202020202020207d0a202020202020202020202020666f72206b657920696e207075626c69634b657973207b0a202020202020202020202020202020206d616368696e654163636f756e742e6b6579732e616464287075626c69634b65793a206b65792e7075626c69634b65792c2068617368416c676f726974686d3a206b65792e68617368416c676f726974686d2c207765696768743a206b65792e776569676874290a2020202020202020202020207d0a20202020202020207d20656c7365207b0a20202020202020202020202070616e69632822436f756c64206e6f74206372656174652061206d616368696e65206163636f756e7420666f7220746865206e6f646522290a20202020202020207d0a202020207d0a7d0af9027cb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db9021b7b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634227d2c7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634227d2c7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634227d5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bd", - "encodedTransactionEnvelopeHex": "f9073ef9073ab90478696d706f72742043727970746f0a696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078393565303139613137643065323364370a0a2f2f2f20437265617465732061206d616368696e65206163636f756e7420666f722061206e6f6465207468617420697320616c726561647920696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f20616e642061646473207075626c6963206b65797320746f20746865206e6577206163636f756e740a0a7472616e73616374696f6e286e6f646549443a20537472696e672c207075626c69634b6579733a205b43727970746f2e4b65794c697374456e7472795d29207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a0a20202020202020206966206c6574206d616368696e654163636f756e74203d2073656c662e7374616b696e67436f6c6c656374696f6e5265662e6372656174654d616368696e654163636f756e74466f724578697374696e674e6f6465286e6f646549443a206e6f646549442c2070617965723a206163636f756e7429207b0a2020202020202020202020206966207075626c69634b657973203d3d206e696c207c7c207075626c69634b657973212e6c656e677468203d3d2030207b0a2020202020202020202020202020202070616e6963282243616e6e6f742070726f76696465207a65726f206b65797320666f7220746865206d616368696e65206163636f756e7422290a2020202020202020202020207d0a202020202020202020202020666f72206b657920696e207075626c69634b657973207b0a202020202020202020202020202020206d616368696e654163636f756e742e6b6579732e616464287075626c69634b65793a206b65792e7075626c69634b65792c2068617368416c676f726974686d3a206b65792e68617368416c676f726974686d2c207765696768743a206b65792e776569676874290a2020202020202020202020207d0a20202020202020207d20656c7365207b0a20202020202020202020202070616e69632822436f756c64206e6f74206372656174652061206d616368696e65206163636f756e7420666f7220746865206e6f646522290a20202020202020207d0a202020207d0a7d0af9027cb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db9021b7b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634227d2c7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634227d2c7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634227d5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a8899a8ac2c71d4f6bd040a8899a8ac2c71d4f6bdc98899a8ac2c71d4f6bdc0", - "metadata": "0286c69d731560f3bff549c5f180eb4219bfe650ae4efec8e0c5b5ad3ebed54a92dd3b327b09087ea7f8e92a22a6b04a3c6ca33b868b430c4f15f251658c38c1b7437265617465204d616368696e65204163636f756e740002014e6f64652049440000537472696e6700030300035075622e204b65790001537472696e670003", - "hash": "86c69d731560f3bff549c5f180eb4219bfe650ae4efec8e0c5b5ad3ebed54a92" + "encodedTransactionPayloadHex": "f90227b901e3696d706f7274204c6f636b6564546f6b656e732066726f6d203078386430653837623635313539616536330a696d706f7274205374616b696e6750726f78792066726f6d203078363234333063663238633236643039350a0a7472616e73616374696f6e2829207b0a0a202020206c657420686f6c6465725265663a20264c6f636b6564546f6b656e732e546f6b656e486f6c6465720a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e686f6c646572526566203d206163636f756e742e626f72726f773c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f20546f6b656e486f6c64657222290a202020207d0a0a2020202065786563757465207b0a20202020202020206c6574207374616b657250726f7879203d2073656c662e686f6c6465725265662e626f72726f775374616b657228290a0a20202020202020207374616b657250726f78792e756e7374616b65416c6c28290a202020207d0a7d0ac0a0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", + "encodedTransactionEnvelopeHex": "f9022bf90227b901e3696d706f7274204c6f636b6564546f6b656e732066726f6d203078386430653837623635313539616536330a696d706f7274205374616b696e6750726f78792066726f6d203078363234333063663238633236643039350a0a7472616e73616374696f6e2829207b0a0a202020206c657420686f6c6465725265663a20264c6f636b6564546f6b656e732e546f6b656e486f6c6465720a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e686f6c646572526566203d206163636f756e742e626f72726f773c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f20546f6b656e486f6c64657222290a202020207d0a0a2020202065786563757465207b0a20202020202020206c6574207374616b657250726f7879203d2073656c662e686f6c6465725265662e626f72726f775374616b657228290a0a20202020202020207374616b657250726f78792e756e7374616b65416c6c28290a202020207d0a7d0ac0a0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", + "metadata": "02f92c4cd663b2e335cd821a656bb2ebcf239b222036a7825af5e512fad4d820357099904b953b062e81e2575a2c2081b3d98bfccf5c743b4bdb224b937e292dad556e7374616b6520416c6c20464c4f570000", + "hash": "7099904b953b062e81e2575a2c2081b3d98bfccf5c743b4bdb224b937e292dad" }, { - "title": "TH.01 - Withdraw Unlocked FLOW", + "title": "TH.13 - Withdraw Unstaked 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", + "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", @@ -3972,7 +3510,7 @@ ] }, "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", + "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", @@ -3992,17 +3530,17 @@ ], "payloadSigs": [] }, - "encodedTransactionPayloadHex": "f90338b902c3696d706f72742046756e6769626c65546f6b656e2066726f6d203078663233336463656538386665306162650a696d706f727420466c6f77546f6b656e2066726f6d203078313635343635333339393034306136310a696d706f7274204c6f636b6564546f6b656e732066726f6d203078386430653837623635313539616536330a0a7472616e73616374696f6e28616d6f756e743a2055466978363429207b0a0a202020206c657420686f6c6465725265663a20264c6f636b6564546f6b656e732e546f6b656e486f6c6465720a202020206c6574207661756c745265663a2026466c6f77546f6b656e2e5661756c740a0a202020207072657061726528616363743a20417574684163636f756e7429207b0a202020202020202073656c662e686f6c646572526566203d20616363742e626f72726f773c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f20546f6b656e486f6c64657222290a0a202020202020202073656c662e7661756c74526566203d20616363742e626f72726f773c26466c6f77546f6b656e2e5661756c743e2866726f6d3a202f73746f726167652f666c6f77546f6b656e5661756c74290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f7720666c6f7720746f6b656e207661756c742072656622290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7661756c745265662e6465706f7369742866726f6d3a203c2d73656c662e686f6c6465725265662e776974686472617728616d6f756e743a20616d6f756e7429290a202020207d0a7d0af1b07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f9033cf90338b902c3696d706f72742046756e6769626c65546f6b656e2066726f6d203078663233336463656538386665306162650a696d706f727420466c6f77546f6b656e2066726f6d203078313635343635333339393034306136310a696d706f7274204c6f636b6564546f6b656e732066726f6d203078386430653837623635313539616536330a0a7472616e73616374696f6e28616d6f756e743a2055466978363429207b0a0a202020206c657420686f6c6465725265663a20264c6f636b6564546f6b656e732e546f6b656e486f6c6465720a202020206c6574207661756c745265663a2026466c6f77546f6b656e2e5661756c740a0a202020207072657061726528616363743a20417574684163636f756e7429207b0a202020202020202073656c662e686f6c646572526566203d20616363742e626f72726f773c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f20546f6b656e486f6c64657222290a0a202020202020202073656c662e7661756c74526566203d20616363742e626f72726f773c26466c6f77546f6b656e2e5661756c743e2866726f6d3a202f73746f726167652f666c6f77546f6b656e5661756c74290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f7720666c6f7720746f6b656e207661756c742072656622290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7661756c745265662e6465706f7369742866726f6d3a203c2d73656c662e686f6c6465725265662e776974686472617728616d6f756e743a20616d6f756e7429290a202020207d0a7d0af1b07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "026e73db6edd0190f5311f6adc5f2b1f27e9e60c68574b00ee90da867da52cdbb1a2146e3e6e7718779ce59376b88760c154d82b7d132fe2c377114ec7cf434e7b576974686472617720556e6c6f636b656420464c4f57000101416d6f756e7400005546697836340003", - "hash": "a2146e3e6e7718779ce59376b88760c154d82b7d132fe2c377114ec7cf434e7b" + "encodedTransactionPayloadHex": "f90280b9020b696d706f7274204c6f636b6564546f6b656e732066726f6d203078386430653837623635313539616536330a696d706f7274205374616b696e6750726f78792066726f6d203078363234333063663238633236643039350a0a7472616e73616374696f6e28616d6f756e743a2055466978363429207b0a0a202020206c657420686f6c6465725265663a20264c6f636b6564546f6b656e732e546f6b656e486f6c6465720a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e686f6c646572526566203d206163636f756e742e626f72726f773c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f20546f6b656e486f6c64657222290a202020207d0a0a2020202065786563757465207b0a20202020202020206c6574207374616b657250726f7879203d2073656c662e686f6c6465725265662e626f72726f775374616b657228290a0a20202020202020207374616b657250726f78792e7769746864726177556e7374616b6564546f6b656e7328616d6f756e743a20616d6f756e74290a202020207d0a7d0af1b07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", + "encodedTransactionEnvelopeHex": "f90284f90280b9020b696d706f7274204c6f636b6564546f6b656e732066726f6d203078386430653837623635313539616536330a696d706f7274205374616b696e6750726f78792066726f6d203078363234333063663238633236643039350a0a7472616e73616374696f6e28616d6f756e743a2055466978363429207b0a0a202020206c657420686f6c6465725265663a20264c6f636b6564546f6b656e732e546f6b656e486f6c6465720a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e686f6c646572526566203d206163636f756e742e626f72726f773c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f20546f6b656e486f6c64657222290a202020207d0a0a2020202065786563757465207b0a20202020202020206c6574207374616b657250726f7879203d2073656c662e686f6c6465725265662e626f72726f775374616b657228290a0a20202020202020207374616b657250726f78792e7769746864726177556e7374616b6564546f6b656e7328616d6f756e743a20616d6f756e74290a202020207d0a7d0af1b07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", + "metadata": "0290097e3aff9b67f65bbada3cdedbb73d45d093ff333aaaff38809bf9910a3e39dcae4faa6d689873f7caf7c5efef669f9fe1d4113e58b474b7aec1e07113a7ff576974686472617720556e7374616b656420464c4f57000101416d6f756e7400005546697836340003", + "hash": "dcae4faa6d689873f7caf7c5efef669f9fe1d4113e58b474b7aec1e07113a7ff" }, { - "title": "TH.02 - Deposit Unlocked FLOW", + "title": "TH.14 - Withdraw Rewarded 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", + "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", @@ -4022,7 +3560,7 @@ ] }, "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", + "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", @@ -4042,37 +3580,25 @@ ], "payloadSigs": [] }, - "encodedTransactionPayloadHex": "f90338b902c3696d706f72742046756e6769626c65546f6b656e2066726f6d203078663233336463656538386665306162650a696d706f727420466c6f77546f6b656e2066726f6d203078313635343635333339393034306136310a696d706f7274204c6f636b6564546f6b656e732066726f6d203078386430653837623635313539616536330a0a7472616e73616374696f6e28616d6f756e743a2055466978363429207b0a0a202020206c657420686f6c6465725265663a20264c6f636b6564546f6b656e732e546f6b656e486f6c6465720a202020206c6574207661756c745265663a2026466c6f77546f6b656e2e5661756c740a0a202020207072657061726528616363743a20417574684163636f756e7429207b0a202020202020202073656c662e686f6c646572526566203d20616363742e626f72726f773c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f20546f6b656e486f6c64657222290a0a202020202020202073656c662e7661756c74526566203d20616363742e626f72726f773c26466c6f77546f6b656e2e5661756c743e2866726f6d3a202f73746f726167652f666c6f77546f6b656e5661756c74290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f7720666c6f7720746f6b656e207661756c742072656622290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e686f6c6465725265662e6465706f7369742866726f6d3a203c2d73656c662e7661756c745265662e776974686472617728616d6f756e743a20616d6f756e7429290a202020207d0a7d0af1b07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f9033cf90338b902c3696d706f72742046756e6769626c65546f6b656e2066726f6d203078663233336463656538386665306162650a696d706f727420466c6f77546f6b656e2066726f6d203078313635343635333339393034306136310a696d706f7274204c6f636b6564546f6b656e732066726f6d203078386430653837623635313539616536330a0a7472616e73616374696f6e28616d6f756e743a2055466978363429207b0a0a202020206c657420686f6c6465725265663a20264c6f636b6564546f6b656e732e546f6b656e486f6c6465720a202020206c6574207661756c745265663a2026466c6f77546f6b656e2e5661756c740a0a202020207072657061726528616363743a20417574684163636f756e7429207b0a202020202020202073656c662e686f6c646572526566203d20616363742e626f72726f773c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f20546f6b656e486f6c64657222290a0a202020202020202073656c662e7661756c74526566203d20616363742e626f72726f773c26466c6f77546f6b656e2e5661756c743e2866726f6d3a202f73746f726167652f666c6f77546f6b656e5661756c74290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f7720666c6f7720746f6b656e207661756c742072656622290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e686f6c6465725265662e6465706f7369742866726f6d3a203c2d73656c662e7661756c745265662e776974686472617728616d6f756e743a20616d6f756e7429290a202020207d0a7d0af1b07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "020cb11c10b86d2afeae086ef511d28b14760eb854935a0b0dcfeecc85db847f4874355dc8df221bc0d170b2fe8deacd6f1f554d6beea58ad9fee7a07f740eaefe4465706f73697420556e6c6f636b656420464c4f57000101416d6f756e7400005546697836340003", - "hash": "74355dc8df221bc0d170b2fe8deacd6f1f554d6beea58ad9fee7a07f740eaefe" + "encodedTransactionPayloadHex": "f9038eb90319696d706f7274204c6f636b6564546f6b656e732066726f6d203078386430653837623635313539616536330a696d706f727420466c6f77546f6b656e2066726f6d203078313635343635333339393034306136310a0a7472616e73616374696f6e28616d6f756e743a2055466978363429207b0a0a202020206c657420686f6c6465725265663a20264c6f636b6564546f6b656e732e546f6b656e486f6c6465720a202020206c6574207661756c745265663a2026466c6f77546f6b656e2e5661756c740a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e686f6c646572526566203d206163636f756e742e626f72726f773c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f20546f6b656e486f6c64657222290a0a202020202020202073656c662e7661756c74526566203d206163636f756e742e626f72726f773c26466c6f77546f6b656e2e5661756c743e2866726f6d3a202f73746f726167652f666c6f77546f6b656e5661756c74290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f20466c6f77546f6b656e2076616c756522290a202020207d0a0a2020202065786563757465207b0a20202020202020206c6574207374616b657250726f7879203d2073656c662e686f6c6465725265662e626f72726f775374616b657228290a0a20202020202020207374616b657250726f78792e77697468647261775265776172646564546f6b656e7328616d6f756e743a20616d6f756e74290a202020202020202073656c662e7661756c745265662e6465706f7369742866726f6d3a203c2d73656c662e686f6c6465725265662e776974686472617728616d6f756e743a20616d6f756e7429290a202020207d0a7d0af1b07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", + "encodedTransactionEnvelopeHex": "f90392f9038eb90319696d706f7274204c6f636b6564546f6b656e732066726f6d203078386430653837623635313539616536330a696d706f727420466c6f77546f6b656e2066726f6d203078313635343635333339393034306136310a0a7472616e73616374696f6e28616d6f756e743a2055466978363429207b0a0a202020206c657420686f6c6465725265663a20264c6f636b6564546f6b656e732e546f6b656e486f6c6465720a202020206c6574207661756c745265663a2026466c6f77546f6b656e2e5661756c740a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e686f6c646572526566203d206163636f756e742e626f72726f773c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f20546f6b656e486f6c64657222290a0a202020202020202073656c662e7661756c74526566203d206163636f756e742e626f72726f773c26466c6f77546f6b656e2e5661756c743e2866726f6d3a202f73746f726167652f666c6f77546f6b656e5661756c74290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f20466c6f77546f6b656e2076616c756522290a202020207d0a0a2020202065786563757465207b0a20202020202020206c6574207374616b657250726f7879203d2073656c662e686f6c6465725265662e626f72726f775374616b657228290a0a20202020202020207374616b657250726f78792e77697468647261775265776172646564546f6b656e7328616d6f756e743a20616d6f756e74290a202020202020202073656c662e7661756c745265662e6465706f7369742866726f6d3a203c2d73656c662e686f6c6465725265662e776974686472617728616d6f756e743a20616d6f756e7429290a202020207d0a7d0af1b07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", + "metadata": "02f23406ff402f02418629432912ce732be0441b1a7e71f16c03d688a165ff7f499bb8f0562eea5e45c11f9289540f39c99a21c9a0fb060a7d3f832e98c2696f2d576974686472617720526577617264656420464c4f57000101416d6f756e7400005546697836340003", + "hash": "9bb8f0562eea5e45c11f9289540f39c99a21c9a0fb060a7d3f832e98c2696f2d" }, { - "title": "TH.06 - Register Node", + "title": "TH.16 - Register Operator 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", + "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": "String", - "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" - }, - { - "type": "UInt8", - "value": "1" - }, - { - "type": "String", - "value": "flow-node.test:3569" - }, - { - "type": "String", - "value": "1348307bc77c688e80049de9d081aa09755da33e6997605fa059db2144fc85e560cbe6f7da8d74b453f5916618cb8fd392c2db856f3e78221dc68db1b1d914e4" + "type": "Address", + "value": "0xe467b9dd11fa00df" }, { "type": "String", - "value": "9e9ae0d645fd5fd9050792e0b0daa82cc1686d9133afa0f81a784b375c42ae48567d1545e7a9e1965f2c1a32f73cf8575ebb7a967f6e4d104d2df78eb8be409135d12da0499b8a00771f642c1b9c49397f22b440439f036c3bdee82f5309dab3" + "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" }, { "type": "UFix64", @@ -4092,27 +3618,15 @@ ] }, "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", + "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": "String", - "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" - }, - { - "type": "UInt8", - "value": "1" - }, - { - "type": "String", - "value": "flow-node.test:3569" - }, - { - "type": "String", - "value": "1348307bc77c688e80049de9d081aa09755da33e6997605fa059db2144fc85e560cbe6f7da8d74b453f5916618cb8fd392c2db856f3e78221dc68db1b1d914e4" + "type": "Address", + "value": "0xe467b9dd11fa00df" }, { "type": "String", - "value": "9e9ae0d645fd5fd9050792e0b0daa82cc1686d9133afa0f81a784b375c42ae48567d1545e7a9e1965f2c1a32f73cf8575ebb7a967f6e4d104d2df78eb8be409135d12da0499b8a00771f642c1b9c49397f22b440439f036c3bdee82f5309dab3" + "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" }, { "type": "UFix64", @@ -4132,18 +3646,22 @@ ], "payloadSigs": [] }, - "encodedTransactionPayloadHex": "f90826b90588696d706f727420466c6f77546f6b656e2066726f6d203078313635343635333339393034306136310a696d706f7274204c6f636b6564546f6b656e732066726f6d203078386430653837623635313539616536330a696d706f7274205374616b696e6750726f78792066726f6d203078363234333063663238633236643039350a0a7472616e73616374696f6e2869643a20537472696e672c20726f6c653a2055496e74382c206e6574776f726b696e67416464726573733a20537472696e672c206e6574776f726b696e674b65793a20537472696e672c207374616b696e674b65793a20537472696e672c20616d6f756e743a2055466978363429207b0a0a202020206c657420686f6c6465725265663a20264c6f636b6564546f6b656e732e546f6b656e486f6c6465720a0a202020206c6574207661756c745265663a2026466c6f77546f6b656e2e5661756c740a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e686f6c646572526566203d206163636f756e742e626f72726f773c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f20546f6b656e486f6c64657222290a0a202020202020202073656c662e7661756c74526566203d206163636f756e742e626f72726f773c26466c6f77546f6b656e2e5661756c743e2866726f6d3a202f73746f726167652f666c6f77546f6b656e5661756c74290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f7720666c6f7720746f6b656e207661756c74207265666572656e636522290a202020207d0a0a2020202065786563757465207b0a20202020202020206c6574206e6f6465496e666f203d205374616b696e6750726f78792e4e6f6465496e666f2869643a2069642c20726f6c653a20726f6c652c206e6574776f726b696e67416464726573733a206e6574776f726b696e67416464726573732c206e6574776f726b696e674b65793a206e6574776f726b696e674b65792c207374616b696e674b65793a207374616b696e674b6579290a0a20202020202020206c6574206c6f636b656442616c616e6365203d2073656c662e686f6c6465725265662e6765744c6f636b65644163636f756e7442616c616e636528290a0a2020202020202020696620616d6f756e74203c3d206c6f636b656442616c616e6365207b0a0a20202020202020202020202073656c662e686f6c6465725265662e6372656174654e6f64655374616b6572286e6f6465496e666f3a206e6f6465496e666f2c20616d6f756e743a20616d6f756e74290a0a20202020202020207d20656c7365206966202828616d6f756e74202d206c6f636b656442616c616e636529203c3d2073656c662e7661756c745265662e62616c616e636529207b0a0a20202020202020202020202073656c662e686f6c6465725265662e6465706f7369742866726f6d3a203c2d73656c662e7661756c745265662e776974686472617728616d6f756e743a20616d6f756e74202d206c6f636b656442616c616e636529290a0a20202020202020202020202073656c662e686f6c6465725265662e6372656174654e6f64655374616b6572286e6f6465496e666f3a206e6f6465496e666f2c20616d6f756e743a20616d6f756e74290a0a20202020202020207d20656c7365207b0a20202020202020202020202070616e696328224e6f7420656e6f75676820746f6b656e7320746f207374616b652122290a20202020202020207d0a20202020202020200a202020207d0a7d0af90258b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227d9c7b2274797065223a2255496e7438222c2276616c7565223a2231227daf7b2274797065223a22537472696e67222c2276616c7565223a22666c6f772d6e6f64652e746573743a33353639227db89c7b2274797065223a22537472696e67222c2276616c7565223a223133343833303762633737633638386538303034396465396430383161613039373535646133336536393937363035666130353964623231343466633835653536306362653666376461386437346234353366353931363631386362386664333932633264623835366633653738323231646336386462316231643931346534227db8dc7b2274797065223a22537472696e67222c2276616c7565223a22396539616530643634356664356664393035303739326530623064616138326363313638366439313333616661306638316137383462333735633432616534383536376431353435653761396531393635663263316133326637336366383537356562623761393637663665346431303464326466373865623862653430393133356431326461303439396238613030373731663634326331623963343933393766323262343430343339663033366333626465653832663533303964616233227db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f9082af90826b90588696d706f727420466c6f77546f6b656e2066726f6d203078313635343635333339393034306136310a696d706f7274204c6f636b6564546f6b656e732066726f6d203078386430653837623635313539616536330a696d706f7274205374616b696e6750726f78792066726f6d203078363234333063663238633236643039350a0a7472616e73616374696f6e2869643a20537472696e672c20726f6c653a2055496e74382c206e6574776f726b696e67416464726573733a20537472696e672c206e6574776f726b696e674b65793a20537472696e672c207374616b696e674b65793a20537472696e672c20616d6f756e743a2055466978363429207b0a0a202020206c657420686f6c6465725265663a20264c6f636b6564546f6b656e732e546f6b656e486f6c6465720a0a202020206c6574207661756c745265663a2026466c6f77546f6b656e2e5661756c740a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e686f6c646572526566203d206163636f756e742e626f72726f773c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f20546f6b656e486f6c64657222290a0a202020202020202073656c662e7661756c74526566203d206163636f756e742e626f72726f773c26466c6f77546f6b656e2e5661756c743e2866726f6d3a202f73746f726167652f666c6f77546f6b656e5661756c74290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f7720666c6f7720746f6b656e207661756c74207265666572656e636522290a202020207d0a0a2020202065786563757465207b0a20202020202020206c6574206e6f6465496e666f203d205374616b696e6750726f78792e4e6f6465496e666f2869643a2069642c20726f6c653a20726f6c652c206e6574776f726b696e67416464726573733a206e6574776f726b696e67416464726573732c206e6574776f726b696e674b65793a206e6574776f726b696e674b65792c207374616b696e674b65793a207374616b696e674b6579290a0a20202020202020206c6574206c6f636b656442616c616e6365203d2073656c662e686f6c6465725265662e6765744c6f636b65644163636f756e7442616c616e636528290a0a2020202020202020696620616d6f756e74203c3d206c6f636b656442616c616e6365207b0a0a20202020202020202020202073656c662e686f6c6465725265662e6372656174654e6f64655374616b6572286e6f6465496e666f3a206e6f6465496e666f2c20616d6f756e743a20616d6f756e74290a0a20202020202020207d20656c7365206966202828616d6f756e74202d206c6f636b656442616c616e636529203c3d2073656c662e7661756c745265662e62616c616e636529207b0a0a20202020202020202020202073656c662e686f6c6465725265662e6465706f7369742866726f6d3a203c2d73656c662e7661756c745265662e776974686472617728616d6f756e743a20616d6f756e74202d206c6f636b656442616c616e636529290a0a20202020202020202020202073656c662e686f6c6465725265662e6372656174654e6f64655374616b6572286e6f6465496e666f3a206e6f6465496e666f2c20616d6f756e743a20616d6f756e74290a0a20202020202020207d20656c7365207b0a20202020202020202020202070616e696328224e6f7420656e6f75676820746f6b656e7320746f207374616b652122290a20202020202020207d0a20202020202020200a202020207d0a7d0af90258b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227d9c7b2274797065223a2255496e7438222c2276616c7565223a2231227daf7b2274797065223a22537472696e67222c2276616c7565223a22666c6f772d6e6f64652e746573743a33353639227db89c7b2274797065223a22537472696e67222c2276616c7565223a223133343833303762633737633638386538303034396465396430383161613039373535646133336536393937363035666130353964623231343466633835653536306362653666376461386437346234353366353931363631386362386664333932633264623835366633653738323231646336386462316231643931346534227db8dc7b2274797065223a22537472696e67222c2276616c7565223a22396539616530643634356664356664393035303739326530623064616138326363313638366439313333616661306638316137383462333735633432616534383536376431353435653761396531393635663263316133326637336366383537356562623761393637663665346431303464326466373865623862653430393133356431326461303439396238613030373731663634326331623963343933393766323262343430343339663033366333626465653832663533303964616233227db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "02b6a3502d2205eb05ec18772c13b91cc88a056b325c2617c57948d38cab8db600b64e0e3ed9eb28789198f2b0437f55f750bfa76da99450f63be6543bde66122a5265676973746572204e6f64650006014e6f64652049440000537472696e670003014e6f646520526f6c65000155496e74380003014e6574772e20416464726573730002537472696e670003014e6574772e204b65790003537472696e670003015374616b696e67204b65790004537472696e67000301416d6f756e7400055546697836340003", - "hash": "b64e0e3ed9eb28789198f2b0437f55f750bfa76da99450f63be6543bde66122a" + "encodedTransactionPayloadHex": "f90546b90442696d706f7274204c6f636b6564546f6b656e732066726f6d203078386430653837623635313539616536330a696d706f7274205374616b696e6750726f78792066726f6d203078363234333063663238633236643039350a0a7472616e73616374696f6e28616464726573733a20416464726573732c2069643a20537472696e672c20616d6f756e743a2055466978363429207b0a0a202020206c657420686f6c6465725265663a20264c6f636b6564546f6b656e732e546f6b656e486f6c6465720a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e686f6c646572526566203d206163636f756e742e626f72726f773c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f20546f6b656e486f6c64657222290a202020207d0a0a2020202065786563757465207b0a20202020202020206c6574206e6f64654f70657261746f72526566203d206765744163636f756e742861646472657373292e6765744361706162696c6974790a2020202020202020202020203c265374616b696e6750726f78792e4e6f64655374616b657250726f7879486f6c6465727b5374616b696e6750726f78792e4e6f64655374616b657250726f7879486f6c6465725075626c69637d3e0a202020202020202020202020285374616b696e6750726f78792e4e6f64654f70657261746f724361706162696c6974795075626c69635061746829212e626f72726f772829200a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77206e6f6465206f70657261746f72207075626c6963206361706162696c69747922290a0a20202020202020206c6574206e6f6465496e666f203d206e6f64654f70657261746f725265662e6765744e6f6465496e666f286e6f646549443a206964290a2020202020202020202020203f3f2070616e69632822436f756c646e27742067657420696e666f20666f72206e6f646549443d222e636f6e63617428696429290a0a202020202020202073656c662e686f6c6465725265662e6372656174654e6f64655374616b6572286e6f6465496e666f3a206e6f6465496e666f2c20616d6f756e743a20616d6f756e74290a0a20202020202020206c6574206e6f64655374616b657250726f7879203d2073656c662e686f6c6465725265662e626f72726f775374616b657228290a0a20202020202020206e6f64654f70657261746f725265662e6164645374616b696e6750726f7879286e6f646549443a206e6f6465496e666f2e69642c2070726f78793a206e6f64655374616b657250726f7879290a202020207d0a7d0af8bfaf7b2274797065223a2241646472657373222c2276616c7565223a22307865343637623964643131666130306466227db85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", + "encodedTransactionEnvelopeHex": "f9054af90546b90442696d706f7274204c6f636b6564546f6b656e732066726f6d203078386430653837623635313539616536330a696d706f7274205374616b696e6750726f78792066726f6d203078363234333063663238633236643039350a0a7472616e73616374696f6e28616464726573733a20416464726573732c2069643a20537472696e672c20616d6f756e743a2055466978363429207b0a0a202020206c657420686f6c6465725265663a20264c6f636b6564546f6b656e732e546f6b656e486f6c6465720a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e686f6c646572526566203d206163636f756e742e626f72726f773c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f20546f6b656e486f6c64657222290a202020207d0a0a2020202065786563757465207b0a20202020202020206c6574206e6f64654f70657261746f72526566203d206765744163636f756e742861646472657373292e6765744361706162696c6974790a2020202020202020202020203c265374616b696e6750726f78792e4e6f64655374616b657250726f7879486f6c6465727b5374616b696e6750726f78792e4e6f64655374616b657250726f7879486f6c6465725075626c69637d3e0a202020202020202020202020285374616b696e6750726f78792e4e6f64654f70657261746f724361706162696c6974795075626c69635061746829212e626f72726f772829200a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77206e6f6465206f70657261746f72207075626c6963206361706162696c69747922290a0a20202020202020206c6574206e6f6465496e666f203d206e6f64654f70657261746f725265662e6765744e6f6465496e666f286e6f646549443a206964290a2020202020202020202020203f3f2070616e69632822436f756c646e27742067657420696e666f20666f72206e6f646549443d222e636f6e63617428696429290a0a202020202020202073656c662e686f6c6465725265662e6372656174654e6f64655374616b6572286e6f6465496e666f3a206e6f6465496e666f2c20616d6f756e743a20616d6f756e74290a0a20202020202020206c6574206e6f64655374616b657250726f7879203d2073656c662e686f6c6465725265662e626f72726f775374616b657228290a0a20202020202020206e6f64654f70657261746f725265662e6164645374616b696e6750726f7879286e6f646549443a206e6f6465496e666f2e69642c2070726f78793a206e6f64655374616b657250726f7879290a202020207d0a7d0af8bfaf7b2274797065223a2241646472657373222c2276616c7565223a22307865343637623964643131666130306466227db85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", + "metadata": "02c29d4024aaeb71ab478182542499e0ba3d5d303ec027252e3b8333515ee3de4897b3436482c5aefc1baf8b850e92c829202e468c57241dec707b6c27bd89d15c5265676973746572204f70657261746f72204e6f64650003014f70657261746f7220416464726573730000416464726573730003014e6f64652049440001537472696e67000301416d6f756e7400025546697836340003", + "hash": "97b3436482c5aefc1baf8b850e92c829202e468c57241dec707b6c27bd89d15c" }, { - "title": "TH.08 - Stake New Locked FLOW", + "title": "TH.17 - Register Delegator", "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", + "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" @@ -4162,8 +3680,12 @@ ] }, "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", + "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" @@ -4182,17 +3704,17 @@ ], "payloadSigs": [] }, - "encodedTransactionPayloadHex": "f9053eb904c9696d706f727420466c6f77546f6b656e2066726f6d203078313635343635333339393034306136310a696d706f72742046756e6769626c65546f6b656e2066726f6d203078663233336463656538386665306162650a0a696d706f7274204c6f636b6564546f6b656e732066726f6d203078386430653837623635313539616536330a696d706f7274205374616b696e6750726f78792066726f6d203078363234333063663238633236643039350a0a7472616e73616374696f6e28616d6f756e743a2055466978363429207b0a0a202020206c657420686f6c6465725265663a20264c6f636b6564546f6b656e732e546f6b656e486f6c6465720a0a202020206c6574207661756c745265663a2026466c6f77546f6b656e2e5661756c740a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e686f6c646572526566203d206163636f756e742e626f72726f773c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f20546f6b656e486f6c64657222290a0a202020202020202073656c662e7661756c74526566203d206163636f756e742e626f72726f773c26466c6f77546f6b656e2e5661756c743e2866726f6d3a202f73746f726167652f666c6f77546f6b656e5661756c74290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f7720666c6f7720746f6b656e207661756c74207265666572656e636522290a202020207d0a0a2020202065786563757465207b0a20202020202020206c6574207374616b657250726f7879203d2073656c662e686f6c6465725265662e626f72726f775374616b657228290a0a20202020202020206c6574206c6f636b656442616c616e6365203d2073656c662e686f6c6465725265662e6765744c6f636b65644163636f756e7442616c616e636528290a0a2020202020202020696620616d6f756e74203c3d206c6f636b656442616c616e6365207b0a0a2020202020202020202020207374616b657250726f78792e7374616b654e6577546f6b656e7328616d6f756e743a20616d6f756e74290a0a20202020202020207d20656c7365206966202828616d6f756e74202d206c6f636b656442616c616e636529203c3d2073656c662e7661756c745265662e62616c616e636529207b0a0a20202020202020202020202073656c662e686f6c6465725265662e6465706f7369742866726f6d3a203c2d73656c662e7661756c745265662e776974686472617728616d6f756e743a20616d6f756e74202d206c6f636b656442616c616e636529290a0a2020202020202020202020207374616b657250726f78792e7374616b654e6577546f6b656e7328616d6f756e743a20616d6f756e74290a2020202020202020202020200a20202020202020207d20656c7365207b0a20202020202020202020202070616e696328224e6f7420656e6f75676820746f6b656e7320746f207374616b652122290a20202020202020207d0a202020207d0a7d0af1b07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f90542f9053eb904c9696d706f727420466c6f77546f6b656e2066726f6d203078313635343635333339393034306136310a696d706f72742046756e6769626c65546f6b656e2066726f6d203078663233336463656538386665306162650a0a696d706f7274204c6f636b6564546f6b656e732066726f6d203078386430653837623635313539616536330a696d706f7274205374616b696e6750726f78792066726f6d203078363234333063663238633236643039350a0a7472616e73616374696f6e28616d6f756e743a2055466978363429207b0a0a202020206c657420686f6c6465725265663a20264c6f636b6564546f6b656e732e546f6b656e486f6c6465720a0a202020206c6574207661756c745265663a2026466c6f77546f6b656e2e5661756c740a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e686f6c646572526566203d206163636f756e742e626f72726f773c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f20546f6b656e486f6c64657222290a0a202020202020202073656c662e7661756c74526566203d206163636f756e742e626f72726f773c26466c6f77546f6b656e2e5661756c743e2866726f6d3a202f73746f726167652f666c6f77546f6b656e5661756c74290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f7720666c6f7720746f6b656e207661756c74207265666572656e636522290a202020207d0a0a2020202065786563757465207b0a20202020202020206c6574207374616b657250726f7879203d2073656c662e686f6c6465725265662e626f72726f775374616b657228290a0a20202020202020206c6574206c6f636b656442616c616e6365203d2073656c662e686f6c6465725265662e6765744c6f636b65644163636f756e7442616c616e636528290a0a2020202020202020696620616d6f756e74203c3d206c6f636b656442616c616e6365207b0a0a2020202020202020202020207374616b657250726f78792e7374616b654e6577546f6b656e7328616d6f756e743a20616d6f756e74290a0a20202020202020207d20656c7365206966202828616d6f756e74202d206c6f636b656442616c616e636529203c3d2073656c662e7661756c745265662e62616c616e636529207b0a0a20202020202020202020202073656c662e686f6c6465725265662e6465706f7369742866726f6d3a203c2d73656c662e7661756c745265662e776974686472617728616d6f756e743a20616d6f756e74202d206c6f636b656442616c616e636529290a0a2020202020202020202020207374616b657250726f78792e7374616b654e6577546f6b656e7328616d6f756e743a20616d6f756e74290a2020202020202020202020200a20202020202020207d20656c7365207b0a20202020202020202020202070616e696328224e6f7420656e6f75676820746f6b656e7320746f207374616b652122290a20202020202020207d0a202020207d0a7d0af1b07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "02d5689b89f53214e7ce9ba7be2bb651961f7e3036b85f9250494290da9e9ba9891929e4f38894b8641848a3c0a3b9d35495b35083d42e8a3d4c928b9db4174ee85374616b65204e6577204c6f636b656420464c4f57000101416d6f756e7400005546697836340003", - "hash": "1929e4f38894b8641848a3c0a3b9d35495b35083d42e8a3d4c928b9db4174ee8" + "encodedTransactionPayloadHex": "f9058fb904bb696d706f727420466c6f77546f6b656e2066726f6d203078313635343635333339393034306136310a696d706f7274204c6f636b6564546f6b656e732066726f6d203078386430653837623635313539616536330a0a7472616e73616374696f6e2869643a20537472696e672c20616d6f756e743a2055466978363429207b0a0a202020206c657420686f6c6465725265663a20264c6f636b6564546f6b656e732e546f6b656e486f6c6465720a0a202020206c6574207661756c745265663a2026466c6f77546f6b656e2e5661756c740a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e686f6c646572526566203d206163636f756e742e626f72726f773c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f726167655061746829200a2020202020202020202020203f3f2070616e69632822546f6b656e486f6c646572206973206e6f7420736176656420617420737065636966696564207061746822290a0a202020202020202073656c662e7661756c74526566203d206163636f756e742e626f72726f773c26466c6f77546f6b656e2e5661756c743e2866726f6d3a202f73746f726167652f666c6f77546f6b656e5661756c74290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f7720666c6f7720746f6b656e207661756c74207265666572656e636522290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e686f6c6465725265662e6372656174654e6f646544656c656761746f72286e6f646549443a206964290a0a20202020202020206c65742064656c656761746f7250726f7879203d2073656c662e686f6c6465725265662e626f72726f7744656c656761746f7228290a0a20202020202020206c6574206c6f636b656442616c616e6365203d2073656c662e686f6c6465725265662e6765744c6f636b65644163636f756e7442616c616e636528290a0a2020202020202020696620616d6f756e74203c3d206c6f636b656442616c616e6365207b0a0a20202020202020202020202064656c656761746f7250726f78792e64656c65676174654e6577546f6b656e7328616d6f756e743a20616d6f756e74290a0a20202020202020207d20656c7365206966202828616d6f756e74202d206c6f636b656442616c616e636529203c3d2073656c662e7661756c745265662e62616c616e636529207b0a0a20202020202020202020202073656c662e686f6c6465725265662e6465706f7369742866726f6d3a203c2d73656c662e7661756c745265662e776974686472617728616d6f756e743a20616d6f756e74202d206c6f636b656442616c616e636529290a0a20202020202020202020202064656c656761746f7250726f78792e64656c65676174654e6577546f6b656e7328616d6f756e743a20616d6f756e74290a0a20202020202020207d20656c7365207b0a20202020202020202020202070616e696328224e6f7420656e6f75676820746f6b656e7320746f207374616b652122290a20202020202020207d0a202020207d0a7d0af88fb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", + "encodedTransactionEnvelopeHex": "f90593f9058fb904bb696d706f727420466c6f77546f6b656e2066726f6d203078313635343635333339393034306136310a696d706f7274204c6f636b6564546f6b656e732066726f6d203078386430653837623635313539616536330a0a7472616e73616374696f6e2869643a20537472696e672c20616d6f756e743a2055466978363429207b0a0a202020206c657420686f6c6465725265663a20264c6f636b6564546f6b656e732e546f6b656e486f6c6465720a0a202020206c6574207661756c745265663a2026466c6f77546f6b656e2e5661756c740a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e686f6c646572526566203d206163636f756e742e626f72726f773c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f726167655061746829200a2020202020202020202020203f3f2070616e69632822546f6b656e486f6c646572206973206e6f7420736176656420617420737065636966696564207061746822290a0a202020202020202073656c662e7661756c74526566203d206163636f756e742e626f72726f773c26466c6f77546f6b656e2e5661756c743e2866726f6d3a202f73746f726167652f666c6f77546f6b656e5661756c74290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f7720666c6f7720746f6b656e207661756c74207265666572656e636522290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e686f6c6465725265662e6372656174654e6f646544656c656761746f72286e6f646549443a206964290a0a20202020202020206c65742064656c656761746f7250726f7879203d2073656c662e686f6c6465725265662e626f72726f7744656c656761746f7228290a0a20202020202020206c6574206c6f636b656442616c616e6365203d2073656c662e686f6c6465725265662e6765744c6f636b65644163636f756e7442616c616e636528290a0a2020202020202020696620616d6f756e74203c3d206c6f636b656442616c616e6365207b0a0a20202020202020202020202064656c656761746f7250726f78792e64656c65676174654e6577546f6b656e7328616d6f756e743a20616d6f756e74290a0a20202020202020207d20656c7365206966202828616d6f756e74202d206c6f636b656442616c616e636529203c3d2073656c662e7661756c745265662e62616c616e636529207b0a0a20202020202020202020202073656c662e686f6c6465725265662e6465706f7369742866726f6d3a203c2d73656c662e7661756c745265662e776974686472617728616d6f756e743a20616d6f756e74202d206c6f636b656442616c616e636529290a0a20202020202020202020202064656c656761746f7250726f78792e64656c65676174654e6577546f6b656e7328616d6f756e743a20616d6f756e74290a0a20202020202020207d20656c7365207b0a20202020202020202020202070616e696328224e6f7420656e6f75676820746f6b656e7320746f207374616b652122290a20202020202020207d0a202020207d0a7d0af88fb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", + "metadata": "021378405c85e0c966344b196c0fce602f39e79f3938ec7b689e0c96a8703b018a3cb357a97a57d9abbe5c68f0df342ee96ba97ade2013753fd2ddf47695a8c08a52656769737465722044656c656761746f720002014e6f64652049440000537472696e67000301416d6f756e7400015546697836340003", + "hash": "3cb357a97a57d9abbe5c68f0df342ee96ba97ade2013753fd2ddf47695a8c08a" }, { - "title": "TH.09 - Re-stake Unstaked FLOW", + "title": "TH.19 - Delegate New Locked 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", + "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", @@ -4212,7 +3734,7 @@ ] }, "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", + "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", @@ -4232,17 +3754,17 @@ ], "payloadSigs": [] }, - "encodedTransactionPayloadHex": "f9027db90208696d706f7274204c6f636b6564546f6b656e732066726f6d203078386430653837623635313539616536330a696d706f7274205374616b696e6750726f78792066726f6d203078363234333063663238633236643039350a0a7472616e73616374696f6e28616d6f756e743a2055466978363429207b0a0a202020206c657420686f6c6465725265663a20264c6f636b6564546f6b656e732e546f6b656e486f6c6465720a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e686f6c646572526566203d206163636f756e742e626f72726f773c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f20546f6b656e486f6c64657222290a202020207d0a0a2020202065786563757465207b0a20202020202020206c6574207374616b657250726f7879203d2073656c662e686f6c6465725265662e626f72726f775374616b657228290a0a20202020202020207374616b657250726f78792e7374616b65556e7374616b6564546f6b656e7328616d6f756e743a20616d6f756e74290a202020207d0a7d0af1b07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f90281f9027db90208696d706f7274204c6f636b6564546f6b656e732066726f6d203078386430653837623635313539616536330a696d706f7274205374616b696e6750726f78792066726f6d203078363234333063663238633236643039350a0a7472616e73616374696f6e28616d6f756e743a2055466978363429207b0a0a202020206c657420686f6c6465725265663a20264c6f636b6564546f6b656e732e546f6b656e486f6c6465720a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e686f6c646572526566203d206163636f756e742e626f72726f773c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f20546f6b656e486f6c64657222290a202020207d0a0a2020202065786563757465207b0a20202020202020206c6574207374616b657250726f7879203d2073656c662e686f6c6465725265662e626f72726f775374616b657228290a0a20202020202020207374616b657250726f78792e7374616b65556e7374616b6564546f6b656e7328616d6f756e743a20616d6f756e74290a202020207d0a7d0af1b07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "0223e5bfd594bb3245090e3e0bafb9cb9246fc84d30e4a35a7fde1b51085624d86677cc0ac3962ec136ca26dbec0aa942d926640ecf8418433f0db4b7925f5d0fe52652d7374616b6520556e7374616b656420464c4f57000101416d6f756e7400005546697836340003", - "hash": "677cc0ac3962ec136ca26dbec0aa942d926640ecf8418433f0db4b7925f5d0fe" + "encodedTransactionPayloadHex": "f9050db90498696d706f727420466c6f77546f6b656e2066726f6d203078313635343635333339393034306136310a696d706f72742046756e6769626c65546f6b656e2066726f6d203078663233336463656538386665306162650a696d706f7274204c6f636b6564546f6b656e732066726f6d203078386430653837623635313539616536330a0a7472616e73616374696f6e28616d6f756e743a2055466978363429207b0a0a202020206c657420686f6c6465725265663a20264c6f636b6564546f6b656e732e546f6b656e486f6c6465720a0a202020206c6574207661756c745265663a2026466c6f77546f6b656e2e5661756c740a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e686f6c646572526566203d206163636f756e742e626f72726f773c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f20546f6b656e486f6c64657222290a0a202020202020202073656c662e7661756c74526566203d206163636f756e742e626f72726f773c26466c6f77546f6b656e2e5661756c743e2866726f6d3a202f73746f726167652f666c6f77546f6b656e5661756c74290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f7720666c6f7720746f6b656e207661756c74207265666572656e636522290a202020207d0a0a2020202065786563757465207b0a20202020202020206c6574207374616b657250726f7879203d2073656c662e686f6c6465725265662e626f72726f7744656c656761746f7228290a0a20202020202020206c6574206c6f636b656442616c616e6365203d2073656c662e686f6c6465725265662e6765744c6f636b65644163636f756e7442616c616e636528290a0a2020202020202020696620616d6f756e74203c3d206c6f636b656442616c616e6365207b0a0a2020202020202020202020207374616b657250726f78792e64656c65676174654e6577546f6b656e7328616d6f756e743a20616d6f756e74290a0a20202020202020207d20656c7365206966202828616d6f756e74202d206c6f636b656442616c616e636529203c3d2073656c662e7661756c745265662e62616c616e636529207b0a0a20202020202020202020202073656c662e686f6c6465725265662e6465706f7369742866726f6d3a203c2d73656c662e7661756c745265662e776974686472617728616d6f756e743a20616d6f756e74202d206c6f636b656442616c616e636529290a0a2020202020202020202020207374616b657250726f78792e64656c65676174654e6577546f6b656e7328616d6f756e743a20616d6f756e74290a20202020202020207d20656c7365207b0a20202020202020202020202070616e696328224e6f7420656e6f75676820746f6b656e7320746f207374616b652122290a20202020202020207d0a202020207d0a7d0af1b07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", + "encodedTransactionEnvelopeHex": "f90511f9050db90498696d706f727420466c6f77546f6b656e2066726f6d203078313635343635333339393034306136310a696d706f72742046756e6769626c65546f6b656e2066726f6d203078663233336463656538386665306162650a696d706f7274204c6f636b6564546f6b656e732066726f6d203078386430653837623635313539616536330a0a7472616e73616374696f6e28616d6f756e743a2055466978363429207b0a0a202020206c657420686f6c6465725265663a20264c6f636b6564546f6b656e732e546f6b656e486f6c6465720a0a202020206c6574207661756c745265663a2026466c6f77546f6b656e2e5661756c740a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e686f6c646572526566203d206163636f756e742e626f72726f773c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f20546f6b656e486f6c64657222290a0a202020202020202073656c662e7661756c74526566203d206163636f756e742e626f72726f773c26466c6f77546f6b656e2e5661756c743e2866726f6d3a202f73746f726167652f666c6f77546f6b656e5661756c74290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f7720666c6f7720746f6b656e207661756c74207265666572656e636522290a202020207d0a0a2020202065786563757465207b0a20202020202020206c6574207374616b657250726f7879203d2073656c662e686f6c6465725265662e626f72726f7744656c656761746f7228290a0a20202020202020206c6574206c6f636b656442616c616e6365203d2073656c662e686f6c6465725265662e6765744c6f636b65644163636f756e7442616c616e636528290a0a2020202020202020696620616d6f756e74203c3d206c6f636b656442616c616e6365207b0a0a2020202020202020202020207374616b657250726f78792e64656c65676174654e6577546f6b656e7328616d6f756e743a20616d6f756e74290a0a20202020202020207d20656c7365206966202828616d6f756e74202d206c6f636b656442616c616e636529203c3d2073656c662e7661756c745265662e62616c616e636529207b0a0a20202020202020202020202073656c662e686f6c6465725265662e6465706f7369742866726f6d3a203c2d73656c662e7661756c745265662e776974686472617728616d6f756e743a20616d6f756e74202d206c6f636b656442616c616e636529290a0a2020202020202020202020207374616b657250726f78792e64656c65676174654e6577546f6b656e7328616d6f756e743a20616d6f756e74290a20202020202020207d20656c7365207b0a20202020202020202020202070616e696328224e6f7420656e6f75676820746f6b656e7320746f207374616b652122290a20202020202020207d0a202020207d0a7d0af1b07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", + "metadata": "0218fad68368a4394b245db91217d7dc979e1316ab757388d416eaef831f565ab3802354d8b3e7908e584bcb5217637fb9f4ef045427c32d57d81ad4a390ed1a6044656c6567617465204e6577204c6f636b656420464c4f57000101416d6f756e7400005546697836340003", + "hash": "802354d8b3e7908e584bcb5217637fb9f4ef045427c32d57d81ad4a390ed1a60" }, { - "title": "TH.10 - Re-stake Rewarded FLOW", + "title": "TH.20 - Re-delegate 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.stakeRewardedTokens(amount: amount)\n }\n}\n", + "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", @@ -4262,7 +3784,7 @@ ] }, "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", + "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", @@ -4282,17 +3804,17 @@ ], "payloadSigs": [] }, - "encodedTransactionPayloadHex": "f9027db90208696d706f7274204c6f636b6564546f6b656e732066726f6d203078386430653837623635313539616536330a696d706f7274205374616b696e6750726f78792066726f6d203078363234333063663238633236643039350a0a7472616e73616374696f6e28616d6f756e743a2055466978363429207b0a0a202020206c657420686f6c6465725265663a20264c6f636b6564546f6b656e732e546f6b656e486f6c6465720a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e686f6c646572526566203d206163636f756e742e626f72726f773c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f20546f6b656e486f6c64657222290a202020207d0a0a2020202065786563757465207b0a20202020202020206c6574207374616b657250726f7879203d2073656c662e686f6c6465725265662e626f72726f775374616b657228290a0a20202020202020207374616b657250726f78792e7374616b655265776172646564546f6b656e7328616d6f756e743a20616d6f756e74290a202020207d0a7d0af1b07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f90281f9027db90208696d706f7274204c6f636b6564546f6b656e732066726f6d203078386430653837623635313539616536330a696d706f7274205374616b696e6750726f78792066726f6d203078363234333063663238633236643039350a0a7472616e73616374696f6e28616d6f756e743a2055466978363429207b0a0a202020206c657420686f6c6465725265663a20264c6f636b6564546f6b656e732e546f6b656e486f6c6465720a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e686f6c646572526566203d206163636f756e742e626f72726f773c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f20546f6b656e486f6c64657222290a202020207d0a0a2020202065786563757465207b0a20202020202020206c6574207374616b657250726f7879203d2073656c662e686f6c6465725265662e626f72726f775374616b657228290a0a20202020202020207374616b657250726f78792e7374616b655265776172646564546f6b656e7328616d6f756e743a20616d6f756e74290a202020207d0a7d0af1b07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "02239319825ad68178e76465b5ea18cb43f06c4ee11341f8fe9424809163a027a528d1719c5b21c88c62665db5ba04886809f3234c27057b057c36d5f265ee9de452652d7374616b6520526577617264656420464c4f57000101416d6f756e7400005546697836340003", - "hash": "28d1719c5b21c88c62665db5ba04886809f3234c27057b057c36d5f265ee9de4" + "encodedTransactionPayloadHex": "f9027bb90206696d706f7274204c6f636b6564546f6b656e732066726f6d203078386430653837623635313539616536330a0a7472616e73616374696f6e28616d6f756e743a2055466978363429207b0a202020206c6574206e6f646544656c656761746f7250726f78793a204c6f636b6564546f6b656e732e4c6f636b65644e6f646544656c656761746f7250726f78790a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a20202020202020206c657420686f6c646572526566203d206163636f756e742e626f72726f773c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f726167655061746829200a2020202020202020202020203f3f2070616e69632822546f6b656e486f6c646572206973206e6f7420736176656420617420737065636966696564207061746822290a0a202020202020202073656c662e6e6f646544656c656761746f7250726f7879203d20686f6c6465725265662e626f72726f7744656c656761746f7228290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e6e6f646544656c656761746f7250726f78792e64656c6567617465556e7374616b6564546f6b656e7328616d6f756e743a20616d6f756e74290a202020207d0a7d0af1b07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", + "encodedTransactionEnvelopeHex": "f9027ff9027bb90206696d706f7274204c6f636b6564546f6b656e732066726f6d203078386430653837623635313539616536330a0a7472616e73616374696f6e28616d6f756e743a2055466978363429207b0a202020206c6574206e6f646544656c656761746f7250726f78793a204c6f636b6564546f6b656e732e4c6f636b65644e6f646544656c656761746f7250726f78790a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a20202020202020206c657420686f6c646572526566203d206163636f756e742e626f72726f773c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f726167655061746829200a2020202020202020202020203f3f2070616e69632822546f6b656e486f6c646572206973206e6f7420736176656420617420737065636966696564207061746822290a0a202020202020202073656c662e6e6f646544656c656761746f7250726f7879203d20686f6c6465725265662e626f72726f7744656c656761746f7228290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e6e6f646544656c656761746f7250726f78792e64656c6567617465556e7374616b6564546f6b656e7328616d6f756e743a20616d6f756e74290a202020207d0a7d0af1b07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", + "metadata": "028776b1521b04395754734f8f40d4a0482863274f8d832973d9e011b3cbb48c852027331b72d8710a1a05feb6ecebadb5858d134bc8c95d6f261319cd9fa1bb9552652d64656c656761746520556e7374616b656420464c4f57000101416d6f756e7400005546697836340003", + "hash": "2027331b72d8710a1a05feb6ecebadb5858d134bc8c95d6f261319cd9fa1bb95" }, { - "title": "TH.11 - Request Unstake of FLOW", + "title": "TH.21 - Re-delegate 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.requestUnstaking(amount: amount)\n }\n}\n", + "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", @@ -4312,7 +3834,7 @@ ] }, "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", + "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", @@ -4332,18 +3854,23 @@ ], "payloadSigs": [] }, - "encodedTransactionPayloadHex": "f9027ab90205696d706f7274204c6f636b6564546f6b656e732066726f6d203078386430653837623635313539616536330a696d706f7274205374616b696e6750726f78792066726f6d203078363234333063663238633236643039350a0a7472616e73616374696f6e28616d6f756e743a2055466978363429207b0a0a202020206c657420686f6c6465725265663a20264c6f636b6564546f6b656e732e546f6b656e486f6c6465720a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e686f6c646572526566203d206163636f756e742e626f72726f773c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f20546f6b656e486f6c64657222290a202020207d0a0a2020202065786563757465207b0a20202020202020206c6574207374616b657250726f7879203d2073656c662e686f6c6465725265662e626f72726f775374616b657228290a0a20202020202020207374616b657250726f78792e72657175657374556e7374616b696e6728616d6f756e743a20616d6f756e74290a202020207d0a7d0af1b07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f9027ef9027ab90205696d706f7274204c6f636b6564546f6b656e732066726f6d203078386430653837623635313539616536330a696d706f7274205374616b696e6750726f78792066726f6d203078363234333063663238633236643039350a0a7472616e73616374696f6e28616d6f756e743a2055466978363429207b0a0a202020206c657420686f6c6465725265663a20264c6f636b6564546f6b656e732e546f6b656e486f6c6465720a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e686f6c646572526566203d206163636f756e742e626f72726f773c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f20546f6b656e486f6c64657222290a202020207d0a0a2020202065786563757465207b0a20202020202020206c6574207374616b657250726f7879203d2073656c662e686f6c6465725265662e626f72726f775374616b657228290a0a20202020202020207374616b657250726f78792e72657175657374556e7374616b696e6728616d6f756e743a20616d6f756e74290a202020207d0a7d0af1b07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "0233e3977c45e7c23c1472bcf334d00b03ebf91b06b67c57b63b562c7b1ff5c59f4e2a35541453f89c55e5dc6dbc963290380d779c81df0b3bf89c29b2a8d7a9fe5265717565737420556e7374616b65206f6620464c4f57000101416d6f756e7400005546697836340003", - "hash": "4e2a35541453f89c55e5dc6dbc963290380d779c81df0b3bf89c29b2a8d7a9fe" + "encodedTransactionPayloadHex": "f90283b9020e696d706f7274204c6f636b6564546f6b656e732066726f6d203078386430653837623635313539616536330a0a7472616e73616374696f6e28616d6f756e743a2055466978363429207b0a202020206c6574206e6f646544656c656761746f7250726f78793a204c6f636b6564546f6b656e732e4c6f636b65644e6f646544656c656761746f7250726f78790a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a20202020202020206c657420686f6c646572526566203d206163636f756e742e626f72726f773c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f726167655061746829200a2020202020202020202020203f3f2070616e69632822546f6b656e486f6c646572206973206e6f7420736176656420617420737065636966696564207061746822290a20202020202020200a202020202020202073656c662e6e6f646544656c656761746f7250726f7879203d20686f6c6465725265662e626f72726f7744656c656761746f7228290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e6e6f646544656c656761746f7250726f78792e64656c65676174655265776172646564546f6b656e7328616d6f756e743a20616d6f756e74290a202020207d0a7d0af1b07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", + "encodedTransactionEnvelopeHex": "f90287f90283b9020e696d706f7274204c6f636b6564546f6b656e732066726f6d203078386430653837623635313539616536330a0a7472616e73616374696f6e28616d6f756e743a2055466978363429207b0a202020206c6574206e6f646544656c656761746f7250726f78793a204c6f636b6564546f6b656e732e4c6f636b65644e6f646544656c656761746f7250726f78790a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a20202020202020206c657420686f6c646572526566203d206163636f756e742e626f72726f773c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f726167655061746829200a2020202020202020202020203f3f2070616e69632822546f6b656e486f6c646572206973206e6f7420736176656420617420737065636966696564207061746822290a20202020202020200a202020202020202073656c662e6e6f646544656c656761746f7250726f7879203d20686f6c6465725265662e626f72726f7744656c656761746f7228290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e6e6f646544656c656761746f7250726f78792e64656c65676174655265776172646564546f6b656e7328616d6f756e743a20616d6f756e74290a202020207d0a7d0af1b07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", + "metadata": "026b40ffc9169abd75107a45da5974c7e502d38773275abb231d747e4760b7ebee864edbff384335ef21c26b3bcf17d36b2b1d894afbe2b203f58099cc457971e452652d64656c656761746520526577617264656420464c4f57000101416d6f756e7400005546697836340003", + "hash": "864edbff384335ef21c26b3bcf17d36b2b1d894afbe2b203f58099cc457971e4" }, { - "title": "TH.12 - Unstake All FLOW", + "title": "TH.22 - Unstake Delegated 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": [], + "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": { @@ -4357,8 +3884,13 @@ ] }, "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": [], + "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": { @@ -4372,17 +3904,17 @@ ], "payloadSigs": [] }, - "encodedTransactionPayloadHex": "f90227b901e3696d706f7274204c6f636b6564546f6b656e732066726f6d203078386430653837623635313539616536330a696d706f7274205374616b696e6750726f78792066726f6d203078363234333063663238633236643039350a0a7472616e73616374696f6e2829207b0a0a202020206c657420686f6c6465725265663a20264c6f636b6564546f6b656e732e546f6b656e486f6c6465720a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e686f6c646572526566203d206163636f756e742e626f72726f773c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f20546f6b656e486f6c64657222290a202020207d0a0a2020202065786563757465207b0a20202020202020206c6574207374616b657250726f7879203d2073656c662e686f6c6465725265662e626f72726f775374616b657228290a0a20202020202020207374616b657250726f78792e756e7374616b65416c6c28290a202020207d0a7d0ac0a0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f9022bf90227b901e3696d706f7274204c6f636b6564546f6b656e732066726f6d203078386430653837623635313539616536330a696d706f7274205374616b696e6750726f78792066726f6d203078363234333063663238633236643039350a0a7472616e73616374696f6e2829207b0a0a202020206c657420686f6c6465725265663a20264c6f636b6564546f6b656e732e546f6b656e486f6c6465720a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e686f6c646572526566203d206163636f756e742e626f72726f773c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f20546f6b656e486f6c64657222290a202020207d0a0a2020202065786563757465207b0a20202020202020206c6574207374616b657250726f7879203d2073656c662e686f6c6465725265662e626f72726f775374616b657228290a0a20202020202020207374616b657250726f78792e756e7374616b65416c6c28290a202020207d0a7d0ac0a0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "02f92c4cd663b2e335cd821a656bb2ebcf239b222036a7825af5e512fad4d820357099904b953b062e81e2575a2c2081b3d98bfccf5c743b4bdb224b937e292dad556e7374616b6520416c6c20464c4f570000", - "hash": "7099904b953b062e81e2575a2c2081b3d98bfccf5c743b4bdb224b937e292dad" + "encodedTransactionPayloadHex": "f9027db90208696d706f7274204c6f636b6564546f6b656e732066726f6d203078386430653837623635313539616536330a0a7472616e73616374696f6e28616d6f756e743a2055466978363429207b0a202020206c6574206e6f646544656c656761746f7250726f78793a204c6f636b6564546f6b656e732e4c6f636b65644e6f646544656c656761746f7250726f78790a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a20202020202020206c657420686f6c646572526566203d206163636f756e742e626f72726f773c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f726167655061746829200a2020202020202020202020203f3f2070616e69632822546f6b656e486f6c646572206973206e6f7420736176656420617420737065636966696564207061746822290a20202020202020200a202020202020202073656c662e6e6f646544656c656761746f7250726f7879203d20686f6c6465725265662e626f72726f7744656c656761746f7228290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e6e6f646544656c656761746f7250726f78792e72657175657374556e7374616b696e6728616d6f756e743a20616d6f756e74290a202020207d0a7d0af1b07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", + "encodedTransactionEnvelopeHex": "f90281f9027db90208696d706f7274204c6f636b6564546f6b656e732066726f6d203078386430653837623635313539616536330a0a7472616e73616374696f6e28616d6f756e743a2055466978363429207b0a202020206c6574206e6f646544656c656761746f7250726f78793a204c6f636b6564546f6b656e732e4c6f636b65644e6f646544656c656761746f7250726f78790a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a20202020202020206c657420686f6c646572526566203d206163636f756e742e626f72726f773c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f726167655061746829200a2020202020202020202020203f3f2070616e69632822546f6b656e486f6c646572206973206e6f7420736176656420617420737065636966696564207061746822290a20202020202020200a202020202020202073656c662e6e6f646544656c656761746f7250726f7879203d20686f6c6465725265662e626f72726f7744656c656761746f7228290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e6e6f646544656c656761746f7250726f78792e72657175657374556e7374616b696e6728616d6f756e743a20616d6f756e74290a202020207d0a7d0af1b07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", + "metadata": "0261cbcd1c31bbfc9ceb4a5ac726e2f8b3d845a4fdf59b0ab23cbbfa8f16d7a024262aeddd3f49fd6222d706c02696bd7d359ba962b6c30232cc93d7cf4166a23e556e7374616b652044656c65676174656420464c4f57000101416d6f756e7400005546697836340003", + "hash": "262aeddd3f49fd6222d706c02696bd7d359ba962b6c30232cc93d7cf4166a23e" }, { - "title": "TH.13 - Withdraw Unstaked FLOW", + "title": "TH.23 - 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", + "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", @@ -4402,7 +3934,7 @@ ] }, "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", + "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", @@ -4422,17 +3954,17 @@ ], "payloadSigs": [] }, - "encodedTransactionPayloadHex": "f90280b9020b696d706f7274204c6f636b6564546f6b656e732066726f6d203078386430653837623635313539616536330a696d706f7274205374616b696e6750726f78792066726f6d203078363234333063663238633236643039350a0a7472616e73616374696f6e28616d6f756e743a2055466978363429207b0a0a202020206c657420686f6c6465725265663a20264c6f636b6564546f6b656e732e546f6b656e486f6c6465720a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e686f6c646572526566203d206163636f756e742e626f72726f773c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f20546f6b656e486f6c64657222290a202020207d0a0a2020202065786563757465207b0a20202020202020206c6574207374616b657250726f7879203d2073656c662e686f6c6465725265662e626f72726f775374616b657228290a0a20202020202020207374616b657250726f78792e7769746864726177556e7374616b6564546f6b656e7328616d6f756e743a20616d6f756e74290a202020207d0a7d0af1b07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f90284f90280b9020b696d706f7274204c6f636b6564546f6b656e732066726f6d203078386430653837623635313539616536330a696d706f7274205374616b696e6750726f78792066726f6d203078363234333063663238633236643039350a0a7472616e73616374696f6e28616d6f756e743a2055466978363429207b0a0a202020206c657420686f6c6465725265663a20264c6f636b6564546f6b656e732e546f6b656e486f6c6465720a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e686f6c646572526566203d206163636f756e742e626f72726f773c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f20546f6b656e486f6c64657222290a202020207d0a0a2020202065786563757465207b0a20202020202020206c6574207374616b657250726f7879203d2073656c662e686f6c6465725265662e626f72726f775374616b657228290a0a20202020202020207374616b657250726f78792e7769746864726177556e7374616b6564546f6b656e7328616d6f756e743a20616d6f756e74290a202020207d0a7d0af1b07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "0290097e3aff9b67f65bbada3cdedbb73d45d093ff333aaaff38809bf9910a3e39dcae4faa6d689873f7caf7c5efef669f9fe1d4113e58b474b7aec1e07113a7ff576974686472617720556e7374616b656420464c4f57000101416d6f756e7400005546697836340003", - "hash": "dcae4faa6d689873f7caf7c5efef669f9fe1d4113e58b474b7aec1e07113a7ff" + "encodedTransactionPayloadHex": "f90283b9020e696d706f7274204c6f636b6564546f6b656e732066726f6d203078386430653837623635313539616536330a0a7472616e73616374696f6e28616d6f756e743a2055466978363429207b0a202020206c6574206e6f646544656c656761746f7250726f78793a204c6f636b6564546f6b656e732e4c6f636b65644e6f646544656c656761746f7250726f78790a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a20202020202020206c657420686f6c646572526566203d206163636f756e742e626f72726f773c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f726167655061746829200a2020202020202020202020203f3f2070616e69632822546f6b656e486f6c646572206973206e6f7420736176656420617420737065636966696564207061746822290a20202020202020200a202020202020202073656c662e6e6f646544656c656761746f7250726f7879203d20686f6c6465725265662e626f72726f7744656c656761746f7228290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e6e6f646544656c656761746f7250726f78792e7769746864726177556e7374616b6564546f6b656e7328616d6f756e743a20616d6f756e74290a202020207d0a7d0af1b07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", + "encodedTransactionEnvelopeHex": "f90287f90283b9020e696d706f7274204c6f636b6564546f6b656e732066726f6d203078386430653837623635313539616536330a0a7472616e73616374696f6e28616d6f756e743a2055466978363429207b0a202020206c6574206e6f646544656c656761746f7250726f78793a204c6f636b6564546f6b656e732e4c6f636b65644e6f646544656c656761746f7250726f78790a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a20202020202020206c657420686f6c646572526566203d206163636f756e742e626f72726f773c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f726167655061746829200a2020202020202020202020203f3f2070616e69632822546f6b656e486f6c646572206973206e6f7420736176656420617420737065636966696564207061746822290a20202020202020200a202020202020202073656c662e6e6f646544656c656761746f7250726f7879203d20686f6c6465725265662e626f72726f7744656c656761746f7228290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e6e6f646544656c656761746f7250726f78792e7769746864726177556e7374616b6564546f6b656e7328616d6f756e743a20616d6f756e74290a202020207d0a7d0af1b07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", + "metadata": "022ae983f78e32b989fafa58ee7910b131fb51a2a74356f7916624695cb8bf596412675a013c064b6d0ef11dbf13f92210489bf2b3d299b2f14cd09be70b37577f576974686472617720556e7374616b656420464c4f57000101416d6f756e7400005546697836340003", + "hash": "12675a013c064b6d0ef11dbf13f92210489bf2b3d299b2f14cd09be70b37577f" }, { - "title": "TH.14 - Withdraw Rewarded FLOW", + "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 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 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", @@ -4452,7 +3984,7 @@ ] }, "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", + "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", @@ -4472,29 +4004,21 @@ ], "payloadSigs": [] }, - "encodedTransactionPayloadHex": "f9038eb90319696d706f7274204c6f636b6564546f6b656e732066726f6d203078386430653837623635313539616536330a696d706f727420466c6f77546f6b656e2066726f6d203078313635343635333339393034306136310a0a7472616e73616374696f6e28616d6f756e743a2055466978363429207b0a0a202020206c657420686f6c6465725265663a20264c6f636b6564546f6b656e732e546f6b656e486f6c6465720a202020206c6574207661756c745265663a2026466c6f77546f6b656e2e5661756c740a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e686f6c646572526566203d206163636f756e742e626f72726f773c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f20546f6b656e486f6c64657222290a0a202020202020202073656c662e7661756c74526566203d206163636f756e742e626f72726f773c26466c6f77546f6b656e2e5661756c743e2866726f6d3a202f73746f726167652f666c6f77546f6b656e5661756c74290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f20466c6f77546f6b656e2076616c756522290a202020207d0a0a2020202065786563757465207b0a20202020202020206c6574207374616b657250726f7879203d2073656c662e686f6c6465725265662e626f72726f775374616b657228290a0a20202020202020207374616b657250726f78792e77697468647261775265776172646564546f6b656e7328616d6f756e743a20616d6f756e74290a202020202020202073656c662e7661756c745265662e6465706f7369742866726f6d3a203c2d73656c662e686f6c6465725265662e776974686472617728616d6f756e743a20616d6f756e7429290a202020207d0a7d0af1b07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f90392f9038eb90319696d706f7274204c6f636b6564546f6b656e732066726f6d203078386430653837623635313539616536330a696d706f727420466c6f77546f6b656e2066726f6d203078313635343635333339393034306136310a0a7472616e73616374696f6e28616d6f756e743a2055466978363429207b0a0a202020206c657420686f6c6465725265663a20264c6f636b6564546f6b656e732e546f6b656e486f6c6465720a202020206c6574207661756c745265663a2026466c6f77546f6b656e2e5661756c740a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e686f6c646572526566203d206163636f756e742e626f72726f773c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f20546f6b656e486f6c64657222290a0a202020202020202073656c662e7661756c74526566203d206163636f756e742e626f72726f773c26466c6f77546f6b656e2e5661756c743e2866726f6d3a202f73746f726167652f666c6f77546f6b656e5661756c74290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f20466c6f77546f6b656e2076616c756522290a202020207d0a0a2020202065786563757465207b0a20202020202020206c6574207374616b657250726f7879203d2073656c662e686f6c6465725265662e626f72726f775374616b657228290a0a20202020202020207374616b657250726f78792e77697468647261775265776172646564546f6b656e7328616d6f756e743a20616d6f756e74290a202020202020202073656c662e7661756c745265662e6465706f7369742866726f6d3a203c2d73656c662e686f6c6465725265662e776974686472617728616d6f756e743a20616d6f756e7429290a202020207d0a7d0af1b07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "02f23406ff402f02418629432912ce732be0441b1a7e71f16c03d688a165ff7f499bb8f0562eea5e45c11f9289540f39c99a21c9a0fb060a7d3f832e98c2696f2d576974686472617720526577617264656420464c4f57000101416d6f756e7400005546697836340003", - "hash": "9bb8f0562eea5e45c11f9289540f39c99a21c9a0fb060a7d3f832e98c2696f2d" + "encodedTransactionPayloadHex": "f90398b90323696d706f7274204c6f636b6564546f6b656e732066726f6d203078386430653837623635313539616536330a696d706f727420466c6f77546f6b656e2066726f6d203078313635343635333339393034306136310a0a7472616e73616374696f6e28616d6f756e743a2055466978363429207b0a0a202020206c657420686f6c6465725265663a20264c6f636b6564546f6b656e732e546f6b656e486f6c6465720a202020206c6574207661756c745265663a2026466c6f77546f6b656e2e5661756c740a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e686f6c646572526566203d206163636f756e742e626f72726f773c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f726167655061746829200a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f20546f6b656e486f6c64657222290a0a202020202020202073656c662e7661756c74526566203d206163636f756e742e626f72726f773c26466c6f77546f6b656e2e5661756c743e2866726f6d3a202f73746f726167652f666c6f77546f6b656e5661756c74290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f20466c6f77546f6b656e2076616c756522290a202020207d0a0a2020202065786563757465207b0a20202020202020206c65742064656c656761746f7250726f7879203d2073656c662e686f6c6465725265662e626f72726f7744656c656761746f7228290a0a202020202020202064656c656761746f7250726f78792e77697468647261775265776172646564546f6b656e7328616d6f756e743a20616d6f756e74290a202020202020202073656c662e7661756c745265662e6465706f7369742866726f6d3a203c2d73656c662e686f6c6465725265662e776974686472617728616d6f756e743a20616d6f756e7429290a202020207d0a7d0af1b07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", + "encodedTransactionEnvelopeHex": "f9039cf90398b90323696d706f7274204c6f636b6564546f6b656e732066726f6d203078386430653837623635313539616536330a696d706f727420466c6f77546f6b656e2066726f6d203078313635343635333339393034306136310a0a7472616e73616374696f6e28616d6f756e743a2055466978363429207b0a0a202020206c657420686f6c6465725265663a20264c6f636b6564546f6b656e732e546f6b656e486f6c6465720a202020206c6574207661756c745265663a2026466c6f77546f6b656e2e5661756c740a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e686f6c646572526566203d206163636f756e742e626f72726f773c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f726167655061746829200a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f20546f6b656e486f6c64657222290a0a202020202020202073656c662e7661756c74526566203d206163636f756e742e626f72726f773c26466c6f77546f6b656e2e5661756c743e2866726f6d3a202f73746f726167652f666c6f77546f6b656e5661756c74290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f20466c6f77546f6b656e2076616c756522290a202020207d0a0a2020202065786563757465207b0a20202020202020206c65742064656c656761746f7250726f7879203d2073656c662e686f6c6465725265662e626f72726f7744656c656761746f7228290a0a202020202020202064656c656761746f7250726f78792e77697468647261775265776172646564546f6b656e7328616d6f756e743a20616d6f756e74290a202020202020202073656c662e7661756c745265662e6465706f7369742866726f6d3a203c2d73656c662e686f6c6465725265662e776974686472617728616d6f756e743a20616d6f756e7429290a202020207d0a7d0af1b07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", + "metadata": "02385042aa453566fcff0b2bd418b837d8f46fbc23b1b46e6651b25a395bc04be8239ffa449eae5560eec3e99633dcf9c63b1e9c99996d1c5636644dceef9ec44b576974686472617720526577617264656420464c4f57000101416d6f756e7400005546697836340003", + "hash": "239ffa449eae5560eec3e99633dcf9c63b1e9c99996d1c5636644dceef9ec44b" }, { - "title": "TH.16 - Register Operator Node", + "title": "TH.25 - Update Networking Address", "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", + "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": "Address", - "value": "0xe467b9dd11fa00df" - }, { "type": "String", - "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" - }, - { - "type": "UFix64", - "value": "92233720368.54775808" + "value": "flow-node.test:3569" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -4510,19 +4034,11 @@ ] }, "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", + "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": "Address", - "value": "0xe467b9dd11fa00df" - }, { "type": "String", - "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" - }, - { - "type": "UFix64", - "value": "92233720368.54775808" + "value": "flow-node.test:3569" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -4538,27 +4054,18 @@ ], "payloadSigs": [] }, - "encodedTransactionPayloadHex": "f90546b90442696d706f7274204c6f636b6564546f6b656e732066726f6d203078386430653837623635313539616536330a696d706f7274205374616b696e6750726f78792066726f6d203078363234333063663238633236643039350a0a7472616e73616374696f6e28616464726573733a20416464726573732c2069643a20537472696e672c20616d6f756e743a2055466978363429207b0a0a202020206c657420686f6c6465725265663a20264c6f636b6564546f6b656e732e546f6b656e486f6c6465720a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e686f6c646572526566203d206163636f756e742e626f72726f773c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f20546f6b656e486f6c64657222290a202020207d0a0a2020202065786563757465207b0a20202020202020206c6574206e6f64654f70657261746f72526566203d206765744163636f756e742861646472657373292e6765744361706162696c6974790a2020202020202020202020203c265374616b696e6750726f78792e4e6f64655374616b657250726f7879486f6c6465727b5374616b696e6750726f78792e4e6f64655374616b657250726f7879486f6c6465725075626c69637d3e0a202020202020202020202020285374616b696e6750726f78792e4e6f64654f70657261746f724361706162696c6974795075626c69635061746829212e626f72726f772829200a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77206e6f6465206f70657261746f72207075626c6963206361706162696c69747922290a0a20202020202020206c6574206e6f6465496e666f203d206e6f64654f70657261746f725265662e6765744e6f6465496e666f286e6f646549443a206964290a2020202020202020202020203f3f2070616e69632822436f756c646e27742067657420696e666f20666f72206e6f646549443d222e636f6e63617428696429290a0a202020202020202073656c662e686f6c6465725265662e6372656174654e6f64655374616b6572286e6f6465496e666f3a206e6f6465496e666f2c20616d6f756e743a20616d6f756e74290a0a20202020202020206c6574206e6f64655374616b657250726f7879203d2073656c662e686f6c6465725265662e626f72726f775374616b657228290a0a20202020202020206e6f64654f70657261746f725265662e6164645374616b696e6750726f7879286e6f646549443a206e6f6465496e666f2e69642c2070726f78793a206e6f64655374616b657250726f7879290a202020207d0a7d0af8bfaf7b2274797065223a2241646472657373222c2276616c7565223a22307865343637623964643131666130306466227db85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f9054af90546b90442696d706f7274204c6f636b6564546f6b656e732066726f6d203078386430653837623635313539616536330a696d706f7274205374616b696e6750726f78792066726f6d203078363234333063663238633236643039350a0a7472616e73616374696f6e28616464726573733a20416464726573732c2069643a20537472696e672c20616d6f756e743a2055466978363429207b0a0a202020206c657420686f6c6465725265663a20264c6f636b6564546f6b656e732e546f6b656e486f6c6465720a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e686f6c646572526566203d206163636f756e742e626f72726f773c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f20546f6b656e486f6c64657222290a202020207d0a0a2020202065786563757465207b0a20202020202020206c6574206e6f64654f70657261746f72526566203d206765744163636f756e742861646472657373292e6765744361706162696c6974790a2020202020202020202020203c265374616b696e6750726f78792e4e6f64655374616b657250726f7879486f6c6465727b5374616b696e6750726f78792e4e6f64655374616b657250726f7879486f6c6465725075626c69637d3e0a202020202020202020202020285374616b696e6750726f78792e4e6f64654f70657261746f724361706162696c6974795075626c69635061746829212e626f72726f772829200a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77206e6f6465206f70657261746f72207075626c6963206361706162696c69747922290a0a20202020202020206c6574206e6f6465496e666f203d206e6f64654f70657261746f725265662e6765744e6f6465496e666f286e6f646549443a206964290a2020202020202020202020203f3f2070616e69632822436f756c646e27742067657420696e666f20666f72206e6f646549443d222e636f6e63617428696429290a0a202020202020202073656c662e686f6c6465725265662e6372656174654e6f64655374616b6572286e6f6465496e666f3a206e6f6465496e666f2c20616d6f756e743a20616d6f756e74290a0a20202020202020206c6574206e6f64655374616b657250726f7879203d2073656c662e686f6c6465725265662e626f72726f775374616b657228290a0a20202020202020206e6f64654f70657261746f725265662e6164645374616b696e6750726f7879286e6f646549443a206e6f6465496e666f2e69642c2070726f78793a206e6f64655374616b657250726f7879290a202020207d0a7d0af8bfaf7b2274797065223a2241646472657373222c2276616c7565223a22307865343637623964643131666130306466227db85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "02c29d4024aaeb71ab478182542499e0ba3d5d303ec027252e3b8333515ee3de4897b3436482c5aefc1baf8b850e92c829202e468c57241dec707b6c27bd89d15c5265676973746572204f70657261746f72204e6f64650003014f70657261746f7220416464726573730000416464726573730003014e6f64652049440001537472696e67000301416d6f756e7400025546697836340003", - "hash": "97b3436482c5aefc1baf8b850e92c829202e468c57241dec707b6c27bd89d15c" + "encodedTransactionPayloadHex": "f9029ab90226696d706f727420466c6f7749445461626c655374616b696e672066726f6d203078383632346235326639646463643034610a0a7472616e73616374696f6e286e6577416464726573733a20537472696e6729207b0a0a202020202f2f204c6f63616c207661726961626c6520666f722061207265666572656e636520746f20746865206e6f6465206f626a6563740a202020206c6574207374616b65725265663a2026466c6f7749445461626c655374616b696e672e4e6f64655374616b65720a0a202020207072657061726528616363743a20417574684163636f756e7429207b0a20202020202020202f2f20626f72726f772061207265666572656e636520746f20746865206e6f6465206f626a6563740a202020202020202073656c662e7374616b6572526566203d20616363742e626f72726f773c26466c6f7749445461626c655374616b696e672e4e6f64655374616b65723e2866726f6d3a20466c6f7749445461626c655374616b696e672e4e6f64655374616b657253746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f207374616b696e672061646d696e22290a202020207d0a0a2020202065786563757465207b0a0a202020202020202073656c662e7374616b65725265662e7570646174654e6574776f726b696e6741646472657373286e657741646472657373290a0a202020207d0a7df0af7b2274797065223a22537472696e67222c2276616c7565223a22666c6f772d6e6f64652e746573743a33353639227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", + "encodedTransactionEnvelopeHex": "f9029ef9029ab90226696d706f727420466c6f7749445461626c655374616b696e672066726f6d203078383632346235326639646463643034610a0a7472616e73616374696f6e286e6577416464726573733a20537472696e6729207b0a0a202020202f2f204c6f63616c207661726961626c6520666f722061207265666572656e636520746f20746865206e6f6465206f626a6563740a202020206c6574207374616b65725265663a2026466c6f7749445461626c655374616b696e672e4e6f64655374616b65720a0a202020207072657061726528616363743a20417574684163636f756e7429207b0a20202020202020202f2f20626f72726f772061207265666572656e636520746f20746865206e6f6465206f626a6563740a202020202020202073656c662e7374616b6572526566203d20616363742e626f72726f773c26466c6f7749445461626c655374616b696e672e4e6f64655374616b65723e2866726f6d3a20466c6f7749445461626c655374616b696e672e4e6f64655374616b657253746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f207374616b696e672061646d696e22290a202020207d0a0a2020202065786563757465207b0a0a202020202020202073656c662e7374616b65725265662e7570646174654e6574776f726b696e6741646472657373286e657741646472657373290a0a202020207d0a7df0af7b2274797065223a22537472696e67222c2276616c7565223a22666c6f772d6e6f64652e746573743a33353639227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", + "metadata": "026cbe81c71d2b04dc403ea0db89377f0abc5db14d3d2bd014397b2776aa29bc3ee79cb076f2f7da7a3039b5061916e081a823087f1560bdf3caea773992892873557064617465204e6574776f726b696e672041646472657373000101416464726573730000537472696e670003", + "hash": "e79cb076f2f7da7a3039b5061916e081a823087f1560bdf3caea773992892873" }, { - "title": "TH.17 - Register Delegator", + "title": "SCO.01 - Setup Staking Collection", "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" - } - ], + "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": { @@ -4572,17 +4079,8 @@ ] }, "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" - } - ], + "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": { @@ -4596,21 +4094,25 @@ ], "payloadSigs": [] }, - "encodedTransactionPayloadHex": "f9058fb904bb696d706f727420466c6f77546f6b656e2066726f6d203078313635343635333339393034306136310a696d706f7274204c6f636b6564546f6b656e732066726f6d203078386430653837623635313539616536330a0a7472616e73616374696f6e2869643a20537472696e672c20616d6f756e743a2055466978363429207b0a0a202020206c657420686f6c6465725265663a20264c6f636b6564546f6b656e732e546f6b656e486f6c6465720a0a202020206c6574207661756c745265663a2026466c6f77546f6b656e2e5661756c740a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e686f6c646572526566203d206163636f756e742e626f72726f773c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f726167655061746829200a2020202020202020202020203f3f2070616e69632822546f6b656e486f6c646572206973206e6f7420736176656420617420737065636966696564207061746822290a0a202020202020202073656c662e7661756c74526566203d206163636f756e742e626f72726f773c26466c6f77546f6b656e2e5661756c743e2866726f6d3a202f73746f726167652f666c6f77546f6b656e5661756c74290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f7720666c6f7720746f6b656e207661756c74207265666572656e636522290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e686f6c6465725265662e6372656174654e6f646544656c656761746f72286e6f646549443a206964290a0a20202020202020206c65742064656c656761746f7250726f7879203d2073656c662e686f6c6465725265662e626f72726f7744656c656761746f7228290a0a20202020202020206c6574206c6f636b656442616c616e6365203d2073656c662e686f6c6465725265662e6765744c6f636b65644163636f756e7442616c616e636528290a0a2020202020202020696620616d6f756e74203c3d206c6f636b656442616c616e6365207b0a0a20202020202020202020202064656c656761746f7250726f78792e64656c65676174654e6577546f6b656e7328616d6f756e743a20616d6f756e74290a0a20202020202020207d20656c7365206966202828616d6f756e74202d206c6f636b656442616c616e636529203c3d2073656c662e7661756c745265662e62616c616e636529207b0a0a20202020202020202020202073656c662e686f6c6465725265662e6465706f7369742866726f6d3a203c2d73656c662e7661756c745265662e776974686472617728616d6f756e743a20616d6f756e74202d206c6f636b656442616c616e636529290a0a20202020202020202020202064656c656761746f7250726f78792e64656c65676174654e6577546f6b656e7328616d6f756e743a20616d6f756e74290a0a20202020202020207d20656c7365207b0a20202020202020202020202070616e696328224e6f7420656e6f75676820746f6b656e7320746f207374616b652122290a20202020202020207d0a202020207d0a7d0af88fb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f90593f9058fb904bb696d706f727420466c6f77546f6b656e2066726f6d203078313635343635333339393034306136310a696d706f7274204c6f636b6564546f6b656e732066726f6d203078386430653837623635313539616536330a0a7472616e73616374696f6e2869643a20537472696e672c20616d6f756e743a2055466978363429207b0a0a202020206c657420686f6c6465725265663a20264c6f636b6564546f6b656e732e546f6b656e486f6c6465720a0a202020206c6574207661756c745265663a2026466c6f77546f6b656e2e5661756c740a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e686f6c646572526566203d206163636f756e742e626f72726f773c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f726167655061746829200a2020202020202020202020203f3f2070616e69632822546f6b656e486f6c646572206973206e6f7420736176656420617420737065636966696564207061746822290a0a202020202020202073656c662e7661756c74526566203d206163636f756e742e626f72726f773c26466c6f77546f6b656e2e5661756c743e2866726f6d3a202f73746f726167652f666c6f77546f6b656e5661756c74290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f7720666c6f7720746f6b656e207661756c74207265666572656e636522290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e686f6c6465725265662e6372656174654e6f646544656c656761746f72286e6f646549443a206964290a0a20202020202020206c65742064656c656761746f7250726f7879203d2073656c662e686f6c6465725265662e626f72726f7744656c656761746f7228290a0a20202020202020206c6574206c6f636b656442616c616e6365203d2073656c662e686f6c6465725265662e6765744c6f636b65644163636f756e7442616c616e636528290a0a2020202020202020696620616d6f756e74203c3d206c6f636b656442616c616e6365207b0a0a20202020202020202020202064656c656761746f7250726f78792e64656c65676174654e6577546f6b656e7328616d6f756e743a20616d6f756e74290a0a20202020202020207d20656c7365206966202828616d6f756e74202d206c6f636b656442616c616e636529203c3d2073656c662e7661756c745265662e62616c616e636529207b0a0a20202020202020202020202073656c662e686f6c6465725265662e6465706f7369742866726f6d3a203c2d73656c662e7661756c745265662e776974686472617728616d6f756e743a20616d6f756e74202d206c6f636b656442616c616e636529290a0a20202020202020202020202064656c656761746f7250726f78792e64656c65676174654e6577546f6b656e7328616d6f756e743a20616d6f756e74290a0a20202020202020207d20656c7365207b0a20202020202020202020202070616e696328224e6f7420656e6f75676820746f6b656e7320746f207374616b652122290a20202020202020207d0a202020207d0a7d0af88fb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "021378405c85e0c966344b196c0fce602f39e79f3938ec7b689e0c96a8703b018a3cb357a97a57d9abbe5c68f0df342ee96ba97ade2013753fd2ddf47695a8c08a52656769737465722044656c656761746f720002014e6f64652049440000537472696e67000301416d6f756e7400015546697836340003", - "hash": "3cb357a97a57d9abbe5c68f0df342ee96ba97ade2013753fd2ddf47695a8c08a" + "encodedTransactionPayloadHex": "f90bf0b90bac696d706f72742046756e6769626c65546f6b656e2066726f6d203078663233336463656538386665306162650a696d706f727420466c6f77546f6b656e2066726f6d203078313635343635333339393034306136310a696d706f727420466c6f7749445461626c655374616b696e672066726f6d203078383632346235326639646463643034610a696d706f7274204c6f636b6564546f6b656e732066726f6d203078386430653837623635313539616536330a696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f2054686973207472616e73616374696f6e207365747320757020616e206163636f756e7420746f207573652061207374616b696e6720636f6c6c656374696f6e0a2f2f2f2049742077696c6c20776f726b207265676172646c657373206f66207768657468657220746865792068617665206120726567756c6172206163636f756e742c20612074776f2d6163636f756e74206c6f636b656420746f6b656e732073657475702c0a2f2f2f206f72207374616b696e67206f626a656374732073746f72656420696e2074686520756e6c6f636b6564206163636f756e740a0a7472616e73616374696f6e207b0a2020202070726570617265287369676e65723a20417574684163636f756e7429207b0a0a20202020202020202f2f2049662074686572652069736e277420616c72656164792061207374616b696e6720636f6c6c656374696f6e0a20202020202020206966207369676e65722e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f726167655061746829203d3d206e696c207b0a0a2020202020202020202020202f2f204372656174652070726976617465206361706162696c697469657320666f722074686520746f6b656e20686f6c64657220616e6420756e6c6f636b6564207661756c740a2020202020202020202020206c6574206c6f636b6564486f6c646572203d207369676e65722e6c696e6b3c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e282f707269766174652f666c6f77546f6b656e486f6c6465722c207461726765743a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f726167655061746829210a2020202020202020202020206c657420666c6f77546f6b656e203d207369676e65722e6c696e6b3c26466c6f77546f6b656e2e5661756c743e282f707269766174652f666c6f77546f6b656e5661756c742c207461726765743a202f73746f726167652f666c6f77546f6b656e5661756c7429210a2020202020202020202020200a2020202020202020202020202f2f204372656174652061206e6577205374616b696e6720436f6c6c656374696f6e20616e642070757420697420696e2073746f726167650a2020202020202020202020206966206c6f636b6564486f6c6465722e636865636b2829207b0a202020202020202020202020202020207369676e65722e73617665283c2d466c6f775374616b696e67436f6c6c656374696f6e2e6372656174655374616b696e67436f6c6c656374696f6e28756e6c6f636b65645661756c743a20666c6f77546f6b656e2c20746f6b656e486f6c6465723a206c6f636b6564486f6c646572292c20746f3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020207d20656c7365207b0a202020202020202020202020202020207369676e65722e73617665283c2d466c6f775374616b696e67436f6c6c656374696f6e2e6372656174655374616b696e67436f6c6c656374696f6e28756e6c6f636b65645661756c743a20666c6f77546f6b656e2c20746f6b656e486f6c6465723a206e696c292c20746f3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020207d0a0a2020202020202020202020202f2f204372656174652061207075626c6963206c696e6b20746f20746865207374616b696e6720636f6c6c656374696f6e0a2020202020202020202020207369676e65722e6c696e6b3c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e7b466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e5075626c69637d3e280a20202020202020202020202020202020466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e5075626c6963506174682c0a202020202020202020202020202020207461726765743a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f72616765506174680a202020202020202020202020290a20202020202020207d0a0a20202020202020202f2f20626f72726f772061207265666572656e636520746f20746865207374616b696e6720636f6c6c656374696f6e0a20202020202020206c657420636f6c6c656374696f6e526566203d207369676e65722e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207374616b696e6720636f6c6c656374696f6e207265666572656e636522290a0a20202020202020202f2f2049662074686572652069732061206e6f6465207374616b6572206f626a65637420696e20746865206163636f756e742c2070757420697420696e20746865207374616b696e6720636f6c6c656374696f6e0a20202020202020206966207369676e65722e626f72726f773c26466c6f7749445461626c655374616b696e672e4e6f64655374616b65723e2866726f6d3a20466c6f7749445461626c655374616b696e672e4e6f64655374616b657253746f72616765506174682920213d206e696c207b0a2020202020202020202020206c6574206e6f6465203c2d207369676e65722e6c6f61643c40466c6f7749445461626c655374616b696e672e4e6f64655374616b65723e2866726f6d3a20466c6f7749445461626c655374616b696e672e4e6f64655374616b657253746f726167655061746829210a202020202020202020202020636f6c6c656374696f6e5265662e6164644e6f64654f626a656374283c2d6e6f64652c206d616368696e654163636f756e74496e666f3a206e696c290a20202020202020207d0a0a20202020202020202f2f20496620746865726520697320612064656c656761746f72206f626a65637420696e20746865206163636f756e742c2070757420697420696e20746865207374616b696e6720636f6c6c656374696f6e0a20202020202020206966207369676e65722e626f72726f773c26466c6f7749445461626c655374616b696e672e4e6f646544656c656761746f723e2866726f6d3a20466c6f7749445461626c655374616b696e672e44656c656761746f7253746f72616765506174682920213d206e696c207b0a2020202020202020202020206c65742064656c656761746f72203c2d207369676e65722e6c6f61643c40466c6f7749445461626c655374616b696e672e4e6f646544656c656761746f723e2866726f6d3a20466c6f7749445461626c655374616b696e672e44656c656761746f7253746f726167655061746829210a202020202020202020202020636f6c6c656374696f6e5265662e61646444656c656761746f724f626a656374283c2d64656c656761746f72290a20202020202020207d0a202020207d0a7d0ac0a0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", + "encodedTransactionEnvelopeHex": "f90bf4f90bf0b90bac696d706f72742046756e6769626c65546f6b656e2066726f6d203078663233336463656538386665306162650a696d706f727420466c6f77546f6b656e2066726f6d203078313635343635333339393034306136310a696d706f727420466c6f7749445461626c655374616b696e672066726f6d203078383632346235326639646463643034610a696d706f7274204c6f636b6564546f6b656e732066726f6d203078386430653837623635313539616536330a696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f2054686973207472616e73616374696f6e207365747320757020616e206163636f756e7420746f207573652061207374616b696e6720636f6c6c656374696f6e0a2f2f2f2049742077696c6c20776f726b207265676172646c657373206f66207768657468657220746865792068617665206120726567756c6172206163636f756e742c20612074776f2d6163636f756e74206c6f636b656420746f6b656e732073657475702c0a2f2f2f206f72207374616b696e67206f626a656374732073746f72656420696e2074686520756e6c6f636b6564206163636f756e740a0a7472616e73616374696f6e207b0a2020202070726570617265287369676e65723a20417574684163636f756e7429207b0a0a20202020202020202f2f2049662074686572652069736e277420616c72656164792061207374616b696e6720636f6c6c656374696f6e0a20202020202020206966207369676e65722e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f726167655061746829203d3d206e696c207b0a0a2020202020202020202020202f2f204372656174652070726976617465206361706162696c697469657320666f722074686520746f6b656e20686f6c64657220616e6420756e6c6f636b6564207661756c740a2020202020202020202020206c6574206c6f636b6564486f6c646572203d207369676e65722e6c696e6b3c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e282f707269766174652f666c6f77546f6b656e486f6c6465722c207461726765743a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f726167655061746829210a2020202020202020202020206c657420666c6f77546f6b656e203d207369676e65722e6c696e6b3c26466c6f77546f6b656e2e5661756c743e282f707269766174652f666c6f77546f6b656e5661756c742c207461726765743a202f73746f726167652f666c6f77546f6b656e5661756c7429210a2020202020202020202020200a2020202020202020202020202f2f204372656174652061206e6577205374616b696e6720436f6c6c656374696f6e20616e642070757420697420696e2073746f726167650a2020202020202020202020206966206c6f636b6564486f6c6465722e636865636b2829207b0a202020202020202020202020202020207369676e65722e73617665283c2d466c6f775374616b696e67436f6c6c656374696f6e2e6372656174655374616b696e67436f6c6c656374696f6e28756e6c6f636b65645661756c743a20666c6f77546f6b656e2c20746f6b656e486f6c6465723a206c6f636b6564486f6c646572292c20746f3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020207d20656c7365207b0a202020202020202020202020202020207369676e65722e73617665283c2d466c6f775374616b696e67436f6c6c656374696f6e2e6372656174655374616b696e67436f6c6c656374696f6e28756e6c6f636b65645661756c743a20666c6f77546f6b656e2c20746f6b656e486f6c6465723a206e696c292c20746f3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020207d0a0a2020202020202020202020202f2f204372656174652061207075626c6963206c696e6b20746f20746865207374616b696e6720636f6c6c656374696f6e0a2020202020202020202020207369676e65722e6c696e6b3c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e7b466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e5075626c69637d3e280a20202020202020202020202020202020466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e5075626c6963506174682c0a202020202020202020202020202020207461726765743a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f72616765506174680a202020202020202020202020290a20202020202020207d0a0a20202020202020202f2f20626f72726f772061207265666572656e636520746f20746865207374616b696e6720636f6c6c656374696f6e0a20202020202020206c657420636f6c6c656374696f6e526566203d207369676e65722e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207374616b696e6720636f6c6c656374696f6e207265666572656e636522290a0a20202020202020202f2f2049662074686572652069732061206e6f6465207374616b6572206f626a65637420696e20746865206163636f756e742c2070757420697420696e20746865207374616b696e6720636f6c6c656374696f6e0a20202020202020206966207369676e65722e626f72726f773c26466c6f7749445461626c655374616b696e672e4e6f64655374616b65723e2866726f6d3a20466c6f7749445461626c655374616b696e672e4e6f64655374616b657253746f72616765506174682920213d206e696c207b0a2020202020202020202020206c6574206e6f6465203c2d207369676e65722e6c6f61643c40466c6f7749445461626c655374616b696e672e4e6f64655374616b65723e2866726f6d3a20466c6f7749445461626c655374616b696e672e4e6f64655374616b657253746f726167655061746829210a202020202020202020202020636f6c6c656374696f6e5265662e6164644e6f64654f626a656374283c2d6e6f64652c206d616368696e654163636f756e74496e666f3a206e696c290a20202020202020207d0a0a20202020202020202f2f20496620746865726520697320612064656c656761746f72206f626a65637420696e20746865206163636f756e742c2070757420697420696e20746865207374616b696e6720636f6c6c656374696f6e0a20202020202020206966207369676e65722e626f72726f773c26466c6f7749445461626c655374616b696e672e4e6f646544656c656761746f723e2866726f6d3a20466c6f7749445461626c655374616b696e672e44656c656761746f7253746f72616765506174682920213d206e696c207b0a2020202020202020202020206c65742064656c656761746f72203c2d207369676e65722e6c6f61643c40466c6f7749445461626c655374616b696e672e4e6f646544656c656761746f723e2866726f6d3a20466c6f7749445461626c655374616b696e672e44656c656761746f7253746f726167655061746829210a202020202020202020202020636f6c6c656374696f6e5265662e61646444656c656761746f724f626a656374283c2d64656c656761746f72290a20202020202020207d0a202020207d0a7d0ac0a0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", + "metadata": "02a524b4094fcaf1051dbf43ac33ff80bb2f553670c58eeeb719757972a25d6b500e5c2445c0b1016eed4f60c429f233aa0bb223a0d9ff2aedffce00a58037a2bf5365747570205374616b696e6720436f6c6c656374696f6e0000", + "hash": "0e5c2445c0b1016eed4f60c429f233aa0bb223a0d9ff2aedffce00a58037a2bf" }, { - "title": "TH.19 - Delegate New Locked FLOW", + "title": "SCO.02 - Register Delegator", "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", + "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": "UFix64", - "value": "92233720368.54775808" + "type": "String", + "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" + }, + { + "type": "UFix64", + "value": "92233720368.54775808" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -4626,8 +4128,12 @@ ] }, "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", + "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" @@ -4646,21 +4152,25 @@ ], "payloadSigs": [] }, - "encodedTransactionPayloadHex": "f9050db90498696d706f727420466c6f77546f6b656e2066726f6d203078313635343635333339393034306136310a696d706f72742046756e6769626c65546f6b656e2066726f6d203078663233336463656538386665306162650a696d706f7274204c6f636b6564546f6b656e732066726f6d203078386430653837623635313539616536330a0a7472616e73616374696f6e28616d6f756e743a2055466978363429207b0a0a202020206c657420686f6c6465725265663a20264c6f636b6564546f6b656e732e546f6b656e486f6c6465720a0a202020206c6574207661756c745265663a2026466c6f77546f6b656e2e5661756c740a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e686f6c646572526566203d206163636f756e742e626f72726f773c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f20546f6b656e486f6c64657222290a0a202020202020202073656c662e7661756c74526566203d206163636f756e742e626f72726f773c26466c6f77546f6b656e2e5661756c743e2866726f6d3a202f73746f726167652f666c6f77546f6b656e5661756c74290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f7720666c6f7720746f6b656e207661756c74207265666572656e636522290a202020207d0a0a2020202065786563757465207b0a20202020202020206c6574207374616b657250726f7879203d2073656c662e686f6c6465725265662e626f72726f7744656c656761746f7228290a0a20202020202020206c6574206c6f636b656442616c616e6365203d2073656c662e686f6c6465725265662e6765744c6f636b65644163636f756e7442616c616e636528290a0a2020202020202020696620616d6f756e74203c3d206c6f636b656442616c616e6365207b0a0a2020202020202020202020207374616b657250726f78792e64656c65676174654e6577546f6b656e7328616d6f756e743a20616d6f756e74290a0a20202020202020207d20656c7365206966202828616d6f756e74202d206c6f636b656442616c616e636529203c3d2073656c662e7661756c745265662e62616c616e636529207b0a0a20202020202020202020202073656c662e686f6c6465725265662e6465706f7369742866726f6d3a203c2d73656c662e7661756c745265662e776974686472617728616d6f756e743a20616d6f756e74202d206c6f636b656442616c616e636529290a0a2020202020202020202020207374616b657250726f78792e64656c65676174654e6577546f6b656e7328616d6f756e743a20616d6f756e74290a20202020202020207d20656c7365207b0a20202020202020202020202070616e696328224e6f7420656e6f75676820746f6b656e7320746f207374616b652122290a20202020202020207d0a202020207d0a7d0af1b07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f90511f9050db90498696d706f727420466c6f77546f6b656e2066726f6d203078313635343635333339393034306136310a696d706f72742046756e6769626c65546f6b656e2066726f6d203078663233336463656538386665306162650a696d706f7274204c6f636b6564546f6b656e732066726f6d203078386430653837623635313539616536330a0a7472616e73616374696f6e28616d6f756e743a2055466978363429207b0a0a202020206c657420686f6c6465725265663a20264c6f636b6564546f6b656e732e546f6b656e486f6c6465720a0a202020206c6574207661756c745265663a2026466c6f77546f6b656e2e5661756c740a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e686f6c646572526566203d206163636f756e742e626f72726f773c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f20546f6b656e486f6c64657222290a0a202020202020202073656c662e7661756c74526566203d206163636f756e742e626f72726f773c26466c6f77546f6b656e2e5661756c743e2866726f6d3a202f73746f726167652f666c6f77546f6b656e5661756c74290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f7720666c6f7720746f6b656e207661756c74207265666572656e636522290a202020207d0a0a2020202065786563757465207b0a20202020202020206c6574207374616b657250726f7879203d2073656c662e686f6c6465725265662e626f72726f7744656c656761746f7228290a0a20202020202020206c6574206c6f636b656442616c616e6365203d2073656c662e686f6c6465725265662e6765744c6f636b65644163636f756e7442616c616e636528290a0a2020202020202020696620616d6f756e74203c3d206c6f636b656442616c616e6365207b0a0a2020202020202020202020207374616b657250726f78792e64656c65676174654e6577546f6b656e7328616d6f756e743a20616d6f756e74290a0a20202020202020207d20656c7365206966202828616d6f756e74202d206c6f636b656442616c616e636529203c3d2073656c662e7661756c745265662e62616c616e636529207b0a0a20202020202020202020202073656c662e686f6c6465725265662e6465706f7369742866726f6d3a203c2d73656c662e7661756c745265662e776974686472617728616d6f756e743a20616d6f756e74202d206c6f636b656442616c616e636529290a0a2020202020202020202020207374616b657250726f78792e64656c65676174654e6577546f6b656e7328616d6f756e743a20616d6f756e74290a20202020202020207d20656c7365207b0a20202020202020202020202070616e696328224e6f7420656e6f75676820746f6b656e7320746f207374616b652122290a20202020202020207d0a202020207d0a7d0af1b07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "0218fad68368a4394b245db91217d7dc979e1316ab757388d416eaef831f565ab3802354d8b3e7908e584bcb5217637fb9f4ef045427c32d57d81ad4a390ed1a6044656c6567617465204e6577204c6f636b656420464c4f57000101416d6f756e7400005546697836340003", - "hash": "802354d8b3e7908e584bcb5217637fb9f4ef045427c32d57d81ad4a390ed1a60" + "encodedTransactionPayloadHex": "f9036fb9029b696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f2052656769737465727320612064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e207265736f757263650a2f2f2f20666f722074686520737065636966696564206e6f6465494420616e642074686520616d6f756e74206f6620746f6b656e7320746f20636f6d6d69740a0a7472616e73616374696f6e2869643a20537472696e672c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e726567697374657244656c656761746f72286e6f646549443a2069642c20616d6f756e743a20616d6f756e74292020202020200a202020207d0a7d0af88fb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", + "encodedTransactionEnvelopeHex": "f90373f9036fb9029b696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f2052656769737465727320612064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e207265736f757263650a2f2f2f20666f722074686520737065636966696564206e6f6465494420616e642074686520616d6f756e74206f6620746f6b656e7320746f20636f6d6d69740a0a7472616e73616374696f6e2869643a20537472696e672c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e726567697374657244656c656761746f72286e6f646549443a2069642c20616d6f756e743a20616d6f756e74292020202020200a202020207d0a7d0af88fb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", + "metadata": "02c26f69a33ead535e7d597cec4567c6c70170e86fd85ec708f5381e50d43871e2c5636d510872a16eb06996dacb43d6a28f8f72ff1b05b2eb03416cc711d9bb1f52656769737465722044656c656761746f720002014e6f64652049440000537472696e67000301416d6f756e7400015546697836340003", + "hash": "c5636d510872a16eb06996dacb43d6a28f8f72ff1b05b2eb03416cc711d9bb1f" }, { - "title": "TH.20 - Re-delegate Unstaked FLOW", + "title": "SCO.04 - Create Machine Account - 1", "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", + "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": "UFix64", - "value": "92233720368.54775808" + "type": "String", + "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" + }, + { + "type": "Array", + "value": [] } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -4676,11 +4186,15 @@ ] }, "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", + "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": "UFix64", - "value": "92233720368.54775808" + "type": "String", + "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" + }, + { + "type": "Array", + "value": [] } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -4696,21 +4210,30 @@ ], "payloadSigs": [] }, - "encodedTransactionPayloadHex": "f9027bb90206696d706f7274204c6f636b6564546f6b656e732066726f6d203078386430653837623635313539616536330a0a7472616e73616374696f6e28616d6f756e743a2055466978363429207b0a202020206c6574206e6f646544656c656761746f7250726f78793a204c6f636b6564546f6b656e732e4c6f636b65644e6f646544656c656761746f7250726f78790a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a20202020202020206c657420686f6c646572526566203d206163636f756e742e626f72726f773c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f726167655061746829200a2020202020202020202020203f3f2070616e69632822546f6b656e486f6c646572206973206e6f7420736176656420617420737065636966696564207061746822290a0a202020202020202073656c662e6e6f646544656c656761746f7250726f7879203d20686f6c6465725265662e626f72726f7744656c656761746f7228290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e6e6f646544656c656761746f7250726f78792e64656c6567617465556e7374616b6564546f6b656e7328616d6f756e743a20616d6f756e74290a202020207d0a7d0af1b07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f9027ff9027bb90206696d706f7274204c6f636b6564546f6b656e732066726f6d203078386430653837623635313539616536330a0a7472616e73616374696f6e28616d6f756e743a2055466978363429207b0a202020206c6574206e6f646544656c656761746f7250726f78793a204c6f636b6564546f6b656e732e4c6f636b65644e6f646544656c656761746f7250726f78790a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a20202020202020206c657420686f6c646572526566203d206163636f756e742e626f72726f773c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f726167655061746829200a2020202020202020202020203f3f2070616e69632822546f6b656e486f6c646572206973206e6f7420736176656420617420737065636966696564207061746822290a0a202020202020202073656c662e6e6f646544656c656761746f7250726f7879203d20686f6c6465725265662e626f72726f7744656c656761746f7228290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e6e6f646544656c656761746f7250726f78792e64656c6567617465556e7374616b6564546f6b656e7328616d6f756e743a20616d6f756e74290a202020207d0a7d0af1b07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "028776b1521b04395754734f8f40d4a0482863274f8d832973d9e011b3cbb48c852027331b72d8710a1a05feb6ecebadb5858d134bc8c95d6f261319cd9fa1bb9552652d64656c656761746520556e7374616b656420464c4f57000101416d6f756e7400005546697836340003", - "hash": "2027331b72d8710a1a05feb6ecebadb5858d134bc8c95d6f261319cd9fa1bb95" + "encodedTransactionPayloadHex": "f904e2b90423696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f20437265617465732061206d616368696e65206163636f756e7420666f722061206e6f6465207468617420697320616c726561647920696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f20616e642061646473207075626c6963206b65797320746f20746865206e6577206163636f756e740a0a7472616e73616374696f6e286e6f646549443a20537472696e672c207075626c69634b6579733a205b537472696e675d29207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a0a20202020202020206966206c6574206d616368696e654163636f756e74203d2073656c662e7374616b696e67436f6c6c656374696f6e5265662e6372656174654d616368696e654163636f756e74466f724578697374696e674e6f6465286e6f646549443a206e6f646549442c2070617965723a206163636f756e7429207b0a2020202020202020202020206966207075626c69634b657973203d3d206e696c207c7c207075626c69634b657973212e6c656e677468203d3d2030207b0a2020202020202020202020202020202070616e6963282243616e6e6f742070726f76696465207a65726f206b65797320666f7220746865206d616368696e65206163636f756e7422290a2020202020202020202020207d0a202020202020202020202020666f72206b657920696e207075626c69634b65797321207b0a202020202020202020202020202020206d616368696e654163636f756e742e6164645075626c69634b6579286b65792e6465636f64654865782829290a2020202020202020202020207d0a20202020202020207d20656c7365207b0a20202020202020202020202070616e69632822436f756c64206e6f74206372656174652061206d616368696e65206163636f756e7420666f7220746865206e6f646522290a20202020202020207d0a202020207d0a7d0af87ab85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227d9b7b2274797065223a224172726179222c2276616c7565223a5b5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", + "encodedTransactionEnvelopeHex": "f904e6f904e2b90423696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f20437265617465732061206d616368696e65206163636f756e7420666f722061206e6f6465207468617420697320616c726561647920696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f20616e642061646473207075626c6963206b65797320746f20746865206e6577206163636f756e740a0a7472616e73616374696f6e286e6f646549443a20537472696e672c207075626c69634b6579733a205b537472696e675d29207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a0a20202020202020206966206c6574206d616368696e654163636f756e74203d2073656c662e7374616b696e67436f6c6c656374696f6e5265662e6372656174654d616368696e654163636f756e74466f724578697374696e674e6f6465286e6f646549443a206e6f646549442c2070617965723a206163636f756e7429207b0a2020202020202020202020206966207075626c69634b657973203d3d206e696c207c7c207075626c69634b657973212e6c656e677468203d3d2030207b0a2020202020202020202020202020202070616e6963282243616e6e6f742070726f76696465207a65726f206b65797320666f7220746865206d616368696e65206163636f756e7422290a2020202020202020202020207d0a202020202020202020202020666f72206b657920696e207075626c69634b65797321207b0a202020202020202020202020202020206d616368696e654163636f756e742e6164645075626c69634b6579286b65792e6465636f64654865782829290a2020202020202020202020207d0a20202020202020207d20656c7365207b0a20202020202020202020202070616e69632822436f756c64206e6f74206372656174652061206d616368696e65206163636f756e7420666f7220746865206e6f646522290a20202020202020207d0a202020207d0a7d0af87ab85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227d9b7b2274797065223a224172726179222c2276616c7565223a5b5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", + "metadata": "02e79df145af42488e3da1d1b2e50a38a2084229896d670884f278a2119dc3bf9ec2442b498eea025099815ea613d6407407192dc12ad70e1a4f47936db804a841437265617465204d616368696e65204163636f756e740002014e6f64652049440000537472696e6700030300035075622e204b65790001537472696e670003", + "hash": "c2442b498eea025099815ea613d6407407192dc12ad70e1a4f47936db804a841" }, { - "title": "TH.21 - Re-delegate Rewarded FLOW", + "title": "SCO.04 - Create Machine Account - 2", "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", + "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": "UFix64", - "value": "92233720368.54775808" + "type": "String", + "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" + }, + { + "type": "Array", + "value": [ + { + "type": "String", + "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164" + } + ] } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -4726,11 +4249,20 @@ ] }, "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", + "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": "UFix64", - "value": "92233720368.54775808" + "type": "String", + "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" + }, + { + "type": "Array", + "value": [ + { + "type": "String", + "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164" + } + ] } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -4746,21 +4278,38 @@ ], "payloadSigs": [] }, - "encodedTransactionPayloadHex": "f90283b9020e696d706f7274204c6f636b6564546f6b656e732066726f6d203078386430653837623635313539616536330a0a7472616e73616374696f6e28616d6f756e743a2055466978363429207b0a202020206c6574206e6f646544656c656761746f7250726f78793a204c6f636b6564546f6b656e732e4c6f636b65644e6f646544656c656761746f7250726f78790a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a20202020202020206c657420686f6c646572526566203d206163636f756e742e626f72726f773c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f726167655061746829200a2020202020202020202020203f3f2070616e69632822546f6b656e486f6c646572206973206e6f7420736176656420617420737065636966696564207061746822290a20202020202020200a202020202020202073656c662e6e6f646544656c656761746f7250726f7879203d20686f6c6465725265662e626f72726f7744656c656761746f7228290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e6e6f646544656c656761746f7250726f78792e64656c65676174655265776172646564546f6b656e7328616d6f756e743a20616d6f756e74290a202020207d0a7d0af1b07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f90287f90283b9020e696d706f7274204c6f636b6564546f6b656e732066726f6d203078386430653837623635313539616536330a0a7472616e73616374696f6e28616d6f756e743a2055466978363429207b0a202020206c6574206e6f646544656c656761746f7250726f78793a204c6f636b6564546f6b656e732e4c6f636b65644e6f646544656c656761746f7250726f78790a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a20202020202020206c657420686f6c646572526566203d206163636f756e742e626f72726f773c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f726167655061746829200a2020202020202020202020203f3f2070616e69632822546f6b656e486f6c646572206973206e6f7420736176656420617420737065636966696564207061746822290a20202020202020200a202020202020202073656c662e6e6f646544656c656761746f7250726f7879203d20686f6c6465725265662e626f72726f7744656c656761746f7228290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e6e6f646544656c656761746f7250726f78792e64656c65676174655265776172646564546f6b656e7328616d6f756e743a20616d6f756e74290a202020207d0a7d0af1b07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "026b40ffc9169abd75107a45da5974c7e502d38773275abb231d747e4760b7ebee864edbff384335ef21c26b3bcf17d36b2b1d894afbe2b203f58099cc457971e452652d64656c656761746520526577617264656420464c4f57000101416d6f756e7400005546697836340003", - "hash": "864edbff384335ef21c26b3bcf17d36b2b1d894afbe2b203f58099cc457971e4" + "encodedTransactionPayloadHex": "f9058eb90423696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f20437265617465732061206d616368696e65206163636f756e7420666f722061206e6f6465207468617420697320616c726561647920696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f20616e642061646473207075626c6963206b65797320746f20746865206e6577206163636f756e740a0a7472616e73616374696f6e286e6f646549443a20537472696e672c207075626c69634b6579733a205b537472696e675d29207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a0a20202020202020206966206c6574206d616368696e654163636f756e74203d2073656c662e7374616b696e67436f6c6c656374696f6e5265662e6372656174654d616368696e654163636f756e74466f724578697374696e674e6f6465286e6f646549443a206e6f646549442c2070617965723a206163636f756e7429207b0a2020202020202020202020206966207075626c69634b657973203d3d206e696c207c7c207075626c69634b657973212e6c656e677468203d3d2030207b0a2020202020202020202020202020202070616e6963282243616e6e6f742070726f76696465207a65726f206b65797320666f7220746865206d616368696e65206163636f756e7422290a2020202020202020202020207d0a202020202020202020202020666f72206b657920696e207075626c69634b65797321207b0a202020202020202020202020202020206d616368696e654163636f756e742e6164645075626c69634b6579286b65792e6465636f64654865782829290a2020202020202020202020207d0a20202020202020207d20656c7365207b0a20202020202020202020202070616e69632822436f756c64206e6f74206372656174652061206d616368696e65206163636f756e7420666f7220746865206e6f646522290a20202020202020207d0a202020207d0a7d0af90125b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db8c57b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634227d5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", + "encodedTransactionEnvelopeHex": "f90592f9058eb90423696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f20437265617465732061206d616368696e65206163636f756e7420666f722061206e6f6465207468617420697320616c726561647920696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f20616e642061646473207075626c6963206b65797320746f20746865206e6577206163636f756e740a0a7472616e73616374696f6e286e6f646549443a20537472696e672c207075626c69634b6579733a205b537472696e675d29207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a0a20202020202020206966206c6574206d616368696e654163636f756e74203d2073656c662e7374616b696e67436f6c6c656374696f6e5265662e6372656174654d616368696e654163636f756e74466f724578697374696e674e6f6465286e6f646549443a206e6f646549442c2070617965723a206163636f756e7429207b0a2020202020202020202020206966207075626c69634b657973203d3d206e696c207c7c207075626c69634b657973212e6c656e677468203d3d2030207b0a2020202020202020202020202020202070616e6963282243616e6e6f742070726f76696465207a65726f206b65797320666f7220746865206d616368696e65206163636f756e7422290a2020202020202020202020207d0a202020202020202020202020666f72206b657920696e207075626c69634b65797321207b0a202020202020202020202020202020206d616368696e654163636f756e742e6164645075626c69634b6579286b65792e6465636f64654865782829290a2020202020202020202020207d0a20202020202020207d20656c7365207b0a20202020202020202020202070616e69632822436f756c64206e6f74206372656174652061206d616368696e65206163636f756e7420666f7220746865206e6f646522290a20202020202020207d0a202020207d0a7d0af90125b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db8c57b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634227d5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", + "metadata": "02e79df145af42488e3da1d1b2e50a38a2084229896d670884f278a2119dc3bf9ec2442b498eea025099815ea613d6407407192dc12ad70e1a4f47936db804a841437265617465204d616368696e65204163636f756e740002014e6f64652049440000537472696e6700030300035075622e204b65790001537472696e670003", + "hash": "c2442b498eea025099815ea613d6407407192dc12ad70e1a4f47936db804a841" }, { - "title": "TH.22 - Unstake Delegated FLOW", + "title": "SCO.04 - Create Machine Account - 3", "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", + "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": "UFix64", - "value": "92233720368.54775808" + "type": "String", + "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" + }, + { + "type": "Array", + "value": [ + { + "type": "String", + "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164" + }, + { + "type": "String", + "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164" + }, + { + "type": "String", + "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164" + } + ] } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -4776,11 +4325,28 @@ ] }, "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", + "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": "UFix64", - "value": "92233720368.54775808" + "type": "String", + "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" + }, + { + "type": "Array", + "value": [ + { + "type": "String", + "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164" + }, + { + "type": "String", + "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164" + }, + { + "type": "String", + "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164" + } + ] } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -4796,18 +4362,26 @@ ], "payloadSigs": [] }, - "encodedTransactionPayloadHex": "f9027db90208696d706f7274204c6f636b6564546f6b656e732066726f6d203078386430653837623635313539616536330a0a7472616e73616374696f6e28616d6f756e743a2055466978363429207b0a202020206c6574206e6f646544656c656761746f7250726f78793a204c6f636b6564546f6b656e732e4c6f636b65644e6f646544656c656761746f7250726f78790a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a20202020202020206c657420686f6c646572526566203d206163636f756e742e626f72726f773c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f726167655061746829200a2020202020202020202020203f3f2070616e69632822546f6b656e486f6c646572206973206e6f7420736176656420617420737065636966696564207061746822290a20202020202020200a202020202020202073656c662e6e6f646544656c656761746f7250726f7879203d20686f6c6465725265662e626f72726f7744656c656761746f7228290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e6e6f646544656c656761746f7250726f78792e72657175657374556e7374616b696e6728616d6f756e743a20616d6f756e74290a202020207d0a7d0af1b07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f90281f9027db90208696d706f7274204c6f636b6564546f6b656e732066726f6d203078386430653837623635313539616536330a0a7472616e73616374696f6e28616d6f756e743a2055466978363429207b0a202020206c6574206e6f646544656c656761746f7250726f78793a204c6f636b6564546f6b656e732e4c6f636b65644e6f646544656c656761746f7250726f78790a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a20202020202020206c657420686f6c646572526566203d206163636f756e742e626f72726f773c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f726167655061746829200a2020202020202020202020203f3f2070616e69632822546f6b656e486f6c646572206973206e6f7420736176656420617420737065636966696564207061746822290a20202020202020200a202020202020202073656c662e6e6f646544656c656761746f7250726f7879203d20686f6c6465725265662e626f72726f7744656c656761746f7228290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e6e6f646544656c656761746f7250726f78792e72657175657374556e7374616b696e6728616d6f756e743a20616d6f756e74290a202020207d0a7d0af1b07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "0261cbcd1c31bbfc9ceb4a5ac726e2f8b3d845a4fdf59b0ab23cbbfa8f16d7a024262aeddd3f49fd6222d706c02696bd7d359ba962b6c30232cc93d7cf4166a23e556e7374616b652044656c65676174656420464c4f57000101416d6f756e7400005546697836340003", - "hash": "262aeddd3f49fd6222d706c02696bd7d359ba962b6c30232cc93d7cf4166a23e" + "encodedTransactionPayloadHex": "f906e5b90423696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f20437265617465732061206d616368696e65206163636f756e7420666f722061206e6f6465207468617420697320616c726561647920696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f20616e642061646473207075626c6963206b65797320746f20746865206e6577206163636f756e740a0a7472616e73616374696f6e286e6f646549443a20537472696e672c207075626c69634b6579733a205b537472696e675d29207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a0a20202020202020206966206c6574206d616368696e654163636f756e74203d2073656c662e7374616b696e67436f6c6c656374696f6e5265662e6372656174654d616368696e654163636f756e74466f724578697374696e674e6f6465286e6f646549443a206e6f646549442c2070617965723a206163636f756e7429207b0a2020202020202020202020206966207075626c69634b657973203d3d206e696c207c7c207075626c69634b657973212e6c656e677468203d3d2030207b0a2020202020202020202020202020202070616e6963282243616e6e6f742070726f76696465207a65726f206b65797320666f7220746865206d616368696e65206163636f756e7422290a2020202020202020202020207d0a202020202020202020202020666f72206b657920696e207075626c69634b65797321207b0a202020202020202020202020202020206d616368696e654163636f756e742e6164645075626c69634b6579286b65792e6465636f64654865782829290a2020202020202020202020207d0a20202020202020207d20656c7365207b0a20202020202020202020202070616e69632822436f756c64206e6f74206372656174652061206d616368696e65206163636f756e7420666f7220746865206e6f646522290a20202020202020207d0a202020207d0a7d0af9027cb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db9021b7b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634227d2c7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634227d2c7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634227d5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", + "encodedTransactionEnvelopeHex": "f906e9f906e5b90423696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f20437265617465732061206d616368696e65206163636f756e7420666f722061206e6f6465207468617420697320616c726561647920696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f20616e642061646473207075626c6963206b65797320746f20746865206e6577206163636f756e740a0a7472616e73616374696f6e286e6f646549443a20537472696e672c207075626c69634b6579733a205b537472696e675d29207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a0a20202020202020206966206c6574206d616368696e654163636f756e74203d2073656c662e7374616b696e67436f6c6c656374696f6e5265662e6372656174654d616368696e654163636f756e74466f724578697374696e674e6f6465286e6f646549443a206e6f646549442c2070617965723a206163636f756e7429207b0a2020202020202020202020206966207075626c69634b657973203d3d206e696c207c7c207075626c69634b657973212e6c656e677468203d3d2030207b0a2020202020202020202020202020202070616e6963282243616e6e6f742070726f76696465207a65726f206b65797320666f7220746865206d616368696e65206163636f756e7422290a2020202020202020202020207d0a202020202020202020202020666f72206b657920696e207075626c69634b65797321207b0a202020202020202020202020202020206d616368696e654163636f756e742e6164645075626c69634b6579286b65792e6465636f64654865782829290a2020202020202020202020207d0a20202020202020207d20656c7365207b0a20202020202020202020202070616e69632822436f756c64206e6f74206372656174652061206d616368696e65206163636f756e7420666f7220746865206e6f646522290a20202020202020207d0a202020207d0a7d0af9027cb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db9021b7b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634227d2c7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634227d2c7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634227d5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", + "metadata": "02e79df145af42488e3da1d1b2e50a38a2084229896d670884f278a2119dc3bf9ec2442b498eea025099815ea613d6407407192dc12ad70e1a4f47936db804a841437265617465204d616368696e65204163636f756e740002014e6f64652049440000537472696e6700030300035075622e204b65790001537472696e670003", + "hash": "c2442b498eea025099815ea613d6407407192dc12ad70e1a4f47936db804a841" }, { - "title": "TH.23 - Withdraw Unstaked FLOW", + "title": "SCO.05 - Request Unstaking - 1", "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", + "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" @@ -4826,8 +4400,16 @@ ] }, "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", + "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" @@ -4846,18 +4428,29 @@ ], "payloadSigs": [] }, - "encodedTransactionPayloadHex": "f90283b9020e696d706f7274204c6f636b6564546f6b656e732066726f6d203078386430653837623635313539616536330a0a7472616e73616374696f6e28616d6f756e743a2055466978363429207b0a202020206c6574206e6f646544656c656761746f7250726f78793a204c6f636b6564546f6b656e732e4c6f636b65644e6f646544656c656761746f7250726f78790a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a20202020202020206c657420686f6c646572526566203d206163636f756e742e626f72726f773c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f726167655061746829200a2020202020202020202020203f3f2070616e69632822546f6b656e486f6c646572206973206e6f7420736176656420617420737065636966696564207061746822290a20202020202020200a202020202020202073656c662e6e6f646544656c656761746f7250726f7879203d20686f6c6465725265662e626f72726f7744656c656761746f7228290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e6e6f646544656c656761746f7250726f78792e7769746864726177556e7374616b6564546f6b656e7328616d6f756e743a20616d6f756e74290a202020207d0a7d0af1b07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f90287f90283b9020e696d706f7274204c6f636b6564546f6b656e732066726f6d203078386430653837623635313539616536330a0a7472616e73616374696f6e28616d6f756e743a2055466978363429207b0a202020206c6574206e6f646544656c656761746f7250726f78793a204c6f636b6564546f6b656e732e4c6f636b65644e6f646544656c656761746f7250726f78790a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a20202020202020206c657420686f6c646572526566203d206163636f756e742e626f72726f773c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f726167655061746829200a2020202020202020202020203f3f2070616e69632822546f6b656e486f6c646572206973206e6f7420736176656420617420737065636966696564207061746822290a20202020202020200a202020202020202073656c662e6e6f646544656c656761746f7250726f7879203d20686f6c6465725265662e626f72726f7744656c656761746f7228290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e6e6f646544656c656761746f7250726f78792e7769746864726177556e7374616b6564546f6b656e7328616d6f756e743a20616d6f756e74290a202020207d0a7d0af1b07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "022ae983f78e32b989fafa58ee7910b131fb51a2a74356f7916624695cb8bf596412675a013c064b6d0ef11dbf13f92210489bf2b3d299b2f14cd09be70b37577f576974686472617720556e7374616b656420464c4f57000101416d6f756e7400005546697836340003", - "hash": "12675a013c064b6d0ef11dbf13f92210489bf2b3d299b2f14cd09be70b37577f" + "encodedTransactionPayloadHex": "f90399b902a4696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f20526571756573747320756e7374616b696e6720666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e72657175657374556e7374616b696e67286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8b0b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227da07b2274797065223a224f7074696f6e616c222c2276616c7565223a6e756c6c7db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", + "encodedTransactionEnvelopeHex": "f9039df90399b902a4696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f20526571756573747320756e7374616b696e6720666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e72657175657374556e7374616b696e67286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8b0b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227da07b2274797065223a224f7074696f6e616c222c2276616c7565223a6e756c6c7db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", + "metadata": "02b00f6b3b9d8d7d4a9a8ad14fce11ee0edb23c39c56a8c1351e6b597f53f2fb71a552951c5e6300a118610fbf2d36b3073ee266e1d26787d04717c141976ef78c5265717565737420556e7374616b696e670003014e6f64652049440000537472696e6700030244656c656761746f72204944000155496e743332000301416d6f756e7400025546697836340003", + "hash": "a552951c5e6300a118610fbf2d36b3073ee266e1d26787d04717c141976ef78c" }, { - "title": "TH.24 - Withdraw Rewarded FLOW", + "title": "SCO.05 - Request Unstaking - 2", "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 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" + } + }, { "type": "UFix64", "value": "92233720368.54775808" @@ -4876,8 +4469,19 @@ ] }, "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 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" + } + }, { "type": "UFix64", "value": "92233720368.54775808" @@ -4896,21 +4500,29 @@ ], "payloadSigs": [] }, - "encodedTransactionPayloadHex": "f90398b90323696d706f7274204c6f636b6564546f6b656e732066726f6d203078386430653837623635313539616536330a696d706f727420466c6f77546f6b656e2066726f6d203078313635343635333339393034306136310a0a7472616e73616374696f6e28616d6f756e743a2055466978363429207b0a0a202020206c657420686f6c6465725265663a20264c6f636b6564546f6b656e732e546f6b656e486f6c6465720a202020206c6574207661756c745265663a2026466c6f77546f6b656e2e5661756c740a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e686f6c646572526566203d206163636f756e742e626f72726f773c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f726167655061746829200a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f20546f6b656e486f6c64657222290a0a202020202020202073656c662e7661756c74526566203d206163636f756e742e626f72726f773c26466c6f77546f6b656e2e5661756c743e2866726f6d3a202f73746f726167652f666c6f77546f6b656e5661756c74290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f20466c6f77546f6b656e2076616c756522290a202020207d0a0a2020202065786563757465207b0a20202020202020206c65742064656c656761746f7250726f7879203d2073656c662e686f6c6465725265662e626f72726f7744656c656761746f7228290a0a202020202020202064656c656761746f7250726f78792e77697468647261775265776172646564546f6b656e7328616d6f756e743a20616d6f756e74290a202020202020202073656c662e7661756c745265662e6465706f7369742866726f6d3a203c2d73656c662e686f6c6465725265662e776974686472617728616d6f756e743a20616d6f756e7429290a202020207d0a7d0af1b07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f9039cf90398b90323696d706f7274204c6f636b6564546f6b656e732066726f6d203078386430653837623635313539616536330a696d706f727420466c6f77546f6b656e2066726f6d203078313635343635333339393034306136310a0a7472616e73616374696f6e28616d6f756e743a2055466978363429207b0a0a202020206c657420686f6c6465725265663a20264c6f636b6564546f6b656e732e546f6b656e486f6c6465720a202020206c6574207661756c745265663a2026466c6f77546f6b656e2e5661756c740a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e686f6c646572526566203d206163636f756e742e626f72726f773c264c6f636b6564546f6b656e732e546f6b656e486f6c6465723e2866726f6d3a204c6f636b6564546f6b656e732e546f6b656e486f6c64657253746f726167655061746829200a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f20546f6b656e486f6c64657222290a0a202020202020202073656c662e7661756c74526566203d206163636f756e742e626f72726f773c26466c6f77546f6b656e2e5661756c743e2866726f6d3a202f73746f726167652f666c6f77546f6b656e5661756c74290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f20466c6f77546f6b656e2076616c756522290a202020207d0a0a2020202065786563757465207b0a20202020202020206c65742064656c656761746f7250726f7879203d2073656c662e686f6c6465725265662e626f72726f7744656c656761746f7228290a0a202020202020202064656c656761746f7250726f78792e77697468647261775265776172646564546f6b656e7328616d6f756e743a20616d6f756e74290a202020202020202073656c662e7661756c745265662e6465706f7369742866726f6d3a203c2d73656c662e686f6c6465725265662e776974686472617728616d6f756e743a20616d6f756e7429290a202020207d0a7d0af1b07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "02385042aa453566fcff0b2bd418b837d8f46fbc23b1b46e6651b25a395bc04be8239ffa449eae5560eec3e99633dcf9c63b1e9c99996d1c5636644dceef9ec44b576974686472617720526577617264656420464c4f57000101416d6f756e7400005546697836340003", - "hash": "239ffa449eae5560eec3e99633dcf9c63b1e9c99996d1c5636644dceef9ec44b" + "encodedTransactionPayloadHex": "f903b4b902a4696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f20526571756573747320756e7374616b696e6720666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e72657175657374556e7374616b696e67286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8cbb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db83a7b2274797065223a224f7074696f6e616c222c2276616c7565223a7b2274797065223a2255496e743332222c2276616c7565223a223432227d7db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", + "encodedTransactionEnvelopeHex": "f903b8f903b4b902a4696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f20526571756573747320756e7374616b696e6720666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e72657175657374556e7374616b696e67286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8cbb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db83a7b2274797065223a224f7074696f6e616c222c2276616c7565223a7b2274797065223a2255496e743332222c2276616c7565223a223432227d7db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", + "metadata": "02b00f6b3b9d8d7d4a9a8ad14fce11ee0edb23c39c56a8c1351e6b597f53f2fb71a552951c5e6300a118610fbf2d36b3073ee266e1d26787d04717c141976ef78c5265717565737420556e7374616b696e670003014e6f64652049440000537472696e6700030244656c656761746f72204944000155496e743332000301416d6f756e7400025546697836340003", + "hash": "a552951c5e6300a118610fbf2d36b3073ee266e1d26787d04717c141976ef78c" }, { - "title": "TH.25 - Update Networking Address", + "title": "SCO.06 - Stake New Tokens - 1", "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 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", "arguments": [ { "type": "String", - "value": "flow-node.test:3569" + "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" + }, + { + "type": "Optional", + "value": null + }, + { + "type": "UFix64", + "value": "92233720368.54775808" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -4926,11 +4538,19 @@ ] }, "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 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", "arguments": [ { "type": "String", - "value": "flow-node.test:3569" + "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" + }, + { + "type": "Optional", + "value": null + }, + { + "type": "UFix64", + "value": "92233720368.54775808" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -4946,62 +4566,29 @@ ], "payloadSigs": [] }, - "encodedTransactionPayloadHex": "f9029ab90226696d706f727420466c6f7749445461626c655374616b696e672066726f6d203078383632346235326639646463643034610a0a7472616e73616374696f6e286e6577416464726573733a20537472696e6729207b0a0a202020202f2f204c6f63616c207661726961626c6520666f722061207265666572656e636520746f20746865206e6f6465206f626a6563740a202020206c6574207374616b65725265663a2026466c6f7749445461626c655374616b696e672e4e6f64655374616b65720a0a202020207072657061726528616363743a20417574684163636f756e7429207b0a20202020202020202f2f20626f72726f772061207265666572656e636520746f20746865206e6f6465206f626a6563740a202020202020202073656c662e7374616b6572526566203d20616363742e626f72726f773c26466c6f7749445461626c655374616b696e672e4e6f64655374616b65723e2866726f6d3a20466c6f7749445461626c655374616b696e672e4e6f64655374616b657253746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f207374616b696e672061646d696e22290a202020207d0a0a2020202065786563757465207b0a0a202020202020202073656c662e7374616b65725265662e7570646174654e6574776f726b696e6741646472657373286e657741646472657373290a0a202020207d0a7df0af7b2274797065223a22537472696e67222c2276616c7565223a22666c6f772d6e6f64652e746573743a33353639227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f9029ef9029ab90226696d706f727420466c6f7749445461626c655374616b696e672066726f6d203078383632346235326639646463643034610a0a7472616e73616374696f6e286e6577416464726573733a20537472696e6729207b0a0a202020202f2f204c6f63616c207661726961626c6520666f722061207265666572656e636520746f20746865206e6f6465206f626a6563740a202020206c6574207374616b65725265663a2026466c6f7749445461626c655374616b696e672e4e6f64655374616b65720a0a202020207072657061726528616363743a20417574684163636f756e7429207b0a20202020202020202f2f20626f72726f772061207265666572656e636520746f20746865206e6f6465206f626a6563740a202020202020202073656c662e7374616b6572526566203d20616363742e626f72726f773c26466c6f7749445461626c655374616b696e672e4e6f64655374616b65723e2866726f6d3a20466c6f7749445461626c655374616b696e672e4e6f64655374616b657253746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f207374616b696e672061646d696e22290a202020207d0a0a2020202065786563757465207b0a0a202020202020202073656c662e7374616b65725265662e7570646174654e6574776f726b696e6741646472657373286e657741646472657373290a0a202020207d0a7df0af7b2274797065223a22537472696e67222c2276616c7565223a22666c6f772d6e6f64652e746573743a33353639227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "026cbe81c71d2b04dc403ea0db89377f0abc5db14d3d2bd014397b2776aa29bc3ee79cb076f2f7da7a3039b5061916e081a823087f1560bdf3caea773992892873557064617465204e6574776f726b696e672041646472657373000101416464726573730000537472696e670003", - "hash": "e79cb076f2f7da7a3039b5061916e081a823087f1560bdf3caea773992892873" + "encodedTransactionPayloadHex": "f90415b90320696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f20436f6d6d697473206e657720746f6b656e7320746f207374616b6520666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f2054686520746f6b656e732066726f6d20746865206c6f636b6564207661756c742061726520757365642066697273742c206966206974206578697374730a2f2f2f20666f6c6c6f7765642062792074686520746f6b656e732066726f6d2074686520756e6c6f636b6564207661756c740a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e7374616b654e6577546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8b0b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227da07b2274797065223a224f7074696f6e616c222c2276616c7565223a6e756c6c7db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", + "encodedTransactionEnvelopeHex": "f90419f90415b90320696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f20436f6d6d697473206e657720746f6b656e7320746f207374616b6520666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f2054686520746f6b656e732066726f6d20746865206c6f636b6564207661756c742061726520757365642066697273742c206966206974206578697374730a2f2f2f20666f6c6c6f7765642062792074686520746f6b656e732066726f6d2074686520756e6c6f636b6564207661756c740a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e7374616b654e6577546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8b0b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227da07b2274797065223a224f7074696f6e616c222c2276616c7565223a6e756c6c7db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", + "metadata": "021307928440cee4289235793d6ff860a24315f7b6a5d5907a145dcc5f83702a2c8e10ac56db8ec5d5e0051d3c9608fabc8edd6abed983f6d3a254e7668a54b32b5374616b65204e657720546f6b656e730003014e6f64652049440000537472696e6700030244656c656761746f72204944000155496e743332000301416d6f756e7400025546697836340003", + "hash": "8e10ac56db8ec5d5e0051d3c9608fabc8edd6abed983f6d3a254e7668a54b32b" }, { - "title": "SCO.01 - Setup Staking Collection", + "title": "SCO.06 - Stake New Tokens - 2", "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", + "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", "arguments": [ { "type": "String", "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" }, + { + "type": "Optional", + "value": { + "type": "UInt32", + "value": "42" + } + }, { "type": "UFix64", "value": "92233720368.54775808" @@ -5020,12 +4607,19 @@ ] }, "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": "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", "arguments": [ { "type": "String", "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" }, + { + "type": "Optional", + "value": { + "type": "UInt32", + "value": "42" + } + }, { "type": "UFix64", "value": "92233720368.54775808" @@ -5044,45 +4638,29 @@ ], "payloadSigs": [] }, - "encodedTransactionPayloadHex": "f9036fb9029b696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f2052656769737465727320612064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e207265736f757263650a2f2f2f20666f722074686520737065636966696564206e6f6465494420616e642074686520616d6f756e74206f6620746f6b656e7320746f20636f6d6d69740a0a7472616e73616374696f6e2869643a20537472696e672c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e726567697374657244656c656761746f72286e6f646549443a2069642c20616d6f756e743a20616d6f756e74292020202020200a202020207d0a7d0af88fb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f90373f9036fb9029b696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f2052656769737465727320612064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e207265736f757263650a2f2f2f20666f722074686520737065636966696564206e6f6465494420616e642074686520616d6f756e74206f6620746f6b656e7320746f20636f6d6d69740a0a7472616e73616374696f6e2869643a20537472696e672c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e726567697374657244656c656761746f72286e6f646549443a2069642c20616d6f756e743a20616d6f756e74292020202020200a202020207d0a7d0af88fb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "02c26f69a33ead535e7d597cec4567c6c70170e86fd85ec708f5381e50d43871e2c5636d510872a16eb06996dacb43d6a28f8f72ff1b05b2eb03416cc711d9bb1f52656769737465722044656c656761746f720002014e6f64652049440000537472696e67000301416d6f756e7400015546697836340003", - "hash": "c5636d510872a16eb06996dacb43d6a28f8f72ff1b05b2eb03416cc711d9bb1f" + "encodedTransactionPayloadHex": "f90430b90320696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f20436f6d6d697473206e657720746f6b656e7320746f207374616b6520666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f2054686520746f6b656e732066726f6d20746865206c6f636b6564207661756c742061726520757365642066697273742c206966206974206578697374730a2f2f2f20666f6c6c6f7765642062792074686520746f6b656e732066726f6d2074686520756e6c6f636b6564207661756c740a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e7374616b654e6577546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8cbb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db83a7b2274797065223a224f7074696f6e616c222c2276616c7565223a7b2274797065223a2255496e743332222c2276616c7565223a223432227d7db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", + "encodedTransactionEnvelopeHex": "f90434f90430b90320696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f20436f6d6d697473206e657720746f6b656e7320746f207374616b6520666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f2054686520746f6b656e732066726f6d20746865206c6f636b6564207661756c742061726520757365642066697273742c206966206974206578697374730a2f2f2f20666f6c6c6f7765642062792074686520746f6b656e732066726f6d2074686520756e6c6f636b6564207661756c740a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e7374616b654e6577546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8cbb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db83a7b2274797065223a224f7074696f6e616c222c2276616c7565223a7b2274797065223a2255496e743332222c2276616c7565223a223432227d7db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", + "metadata": "021307928440cee4289235793d6ff860a24315f7b6a5d5907a145dcc5f83702a2c8e10ac56db8ec5d5e0051d3c9608fabc8edd6abed983f6d3a254e7668a54b32b5374616b65204e657720546f6b656e730003014e6f64652049440000537472696e6700030244656c656761746f72204944000155496e743332000301416d6f756e7400025546697836340003", + "hash": "8e10ac56db8ec5d5e0051d3c9608fabc8edd6abed983f6d3a254e7668a54b32b" }, { - "title": "SCO.03 - Register Node - 1", + "title": "SCO.07 - Stake Rewarded Tokens - 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", + "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": "UInt8", - "value": "1" - }, - { - "type": "String", - "value": "flow-node.test:3569" - }, - { - "type": "String", - "value": "1348307bc77c688e80049de9d081aa09755da33e6997605fa059db2144fc85e560cbe6f7da8d74b453f5916618cb8fd392c2db856f3e78221dc68db1b1d914e4" - }, - { - "type": "String", - "value": "9e9ae0d645fd5fd9050792e0b0daa82cc1686d9133afa0f81a784b375c42ae48567d1545e7a9e1965f2c1a32f73cf8575ebb7a967f6e4d104d2df78eb8be409135d12da0499b8a00771f642c1b9c49397f22b440439f036c3bdee82f5309dab3" + "type": "Optional", + "value": null }, { "type": "UFix64", "value": "92233720368.54775808" - }, - { - "type": "Optional", - "value": null } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -5098,35 +4676,19 @@ ] }, "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", + "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": "UInt8", - "value": "1" - }, - { - "type": "String", - "value": "flow-node.test:3569" - }, - { - "type": "String", - "value": "1348307bc77c688e80049de9d081aa09755da33e6997605fa059db2144fc85e560cbe6f7da8d74b453f5916618cb8fd392c2db856f3e78221dc68db1b1d914e4" - }, - { - "type": "String", - "value": "9e9ae0d645fd5fd9050792e0b0daa82cc1686d9133afa0f81a784b375c42ae48567d1545e7a9e1965f2c1a32f73cf8575ebb7a967f6e4d104d2df78eb8be409135d12da0499b8a00771f642c1b9c49397f22b440439f036c3bdee82f5309dab3" + "type": "Optional", + "value": null }, { "type": "UFix64", "value": "92233720368.54775808" - }, - { - "type": "Optional", - "value": null } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -5142,48 +4704,32 @@ ], "payloadSigs": [] }, - "encodedTransactionPayloadHex": "f907f3b90534696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f2052656769737465727320612064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e207265736f757263650a2f2f2f20666f722074686520737065636966696564206e6f646520696e666f726d6174696f6e20616e642074686520616d6f756e74206f6620746f6b656e7320746f20636f6d6d69740a0a7472616e73616374696f6e2869643a20537472696e672c0a202020202020202020202020726f6c653a2055496e74382c0a2020202020202020202020206e6574776f726b696e67416464726573733a20537472696e672c0a2020202020202020202020206e6574776f726b696e674b65793a20537472696e672c0a2020202020202020202020207374616b696e674b65793a20537472696e672c0a202020202020202020202020616d6f756e743a205546697836342c0a2020202020202020202020207075626c69634b6579733a205b537472696e675d3f29207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a0a20202020202020206966206c6574206d616368696e654163636f756e74203d2073656c662e7374616b696e67436f6c6c656374696f6e5265662e72656769737465724e6f6465280a20202020202020202020202069643a2069642c0a202020202020202020202020726f6c653a20726f6c652c0a2020202020202020202020206e6574776f726b696e67416464726573733a206e6574776f726b696e67416464726573732c0a2020202020202020202020206e6574776f726b696e674b65793a206e6574776f726b696e674b65792c0a2020202020202020202020207374616b696e674b65793a207374616b696e674b65792c0a202020202020202020202020616d6f756e743a20616d6f756e742c0a20202020202020202020202070617965723a206163636f756e7429200a20202020202020207b0a2020202020202020202020206966207075626c69634b657973203d3d206e696c207c7c207075626c69634b657973212e6c656e677468203d3d2030207b0a2020202020202020202020202020202070616e6963282243616e6e6f742070726f76696465207a65726f206b65797320666f7220746865206d616368696e65206163636f756e7422290a2020202020202020202020207d0a202020202020202020202020666f72206b657920696e207075626c69634b65797321207b0a202020202020202020202020202020206d616368696e654163636f756e742e6164645075626c69634b6579286b65792e6465636f64654865782829290a2020202020202020202020207d0a20202020202020207d0a202020207d0a7d0af90279b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227d9c7b2274797065223a2255496e7438222c2276616c7565223a2231227daf7b2274797065223a22537472696e67222c2276616c7565223a22666c6f772d6e6f64652e746573743a33353639227db89c7b2274797065223a22537472696e67222c2276616c7565223a223133343833303762633737633638386538303034396465396430383161613039373535646133336536393937363035666130353964623231343466633835653536306362653666376461386437346234353366353931363631386362386664333932633264623835366633653738323231646336386462316231643931346534227db8dc7b2274797065223a22537472696e67222c2276616c7565223a22396539616530643634356664356664393035303739326530623064616138326363313638366439313333616661306638316137383462333735633432616534383536376431353435653761396531393635663263316133326637336366383537356562623761393637663665346431303464326466373865623862653430393133356431326461303439396238613030373731663634326331623963343933393766323262343430343339663033366333626465653832663533303964616233227db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da07b2274797065223a224f7074696f6e616c222c2276616c7565223a6e756c6c7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f907f7f907f3b90534696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f2052656769737465727320612064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e207265736f757263650a2f2f2f20666f722074686520737065636966696564206e6f646520696e666f726d6174696f6e20616e642074686520616d6f756e74206f6620746f6b656e7320746f20636f6d6d69740a0a7472616e73616374696f6e2869643a20537472696e672c0a202020202020202020202020726f6c653a2055496e74382c0a2020202020202020202020206e6574776f726b696e67416464726573733a20537472696e672c0a2020202020202020202020206e6574776f726b696e674b65793a20537472696e672c0a2020202020202020202020207374616b696e674b65793a20537472696e672c0a202020202020202020202020616d6f756e743a205546697836342c0a2020202020202020202020207075626c69634b6579733a205b537472696e675d3f29207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a0a20202020202020206966206c6574206d616368696e654163636f756e74203d2073656c662e7374616b696e67436f6c6c656374696f6e5265662e72656769737465724e6f6465280a20202020202020202020202069643a2069642c0a202020202020202020202020726f6c653a20726f6c652c0a2020202020202020202020206e6574776f726b696e67416464726573733a206e6574776f726b696e67416464726573732c0a2020202020202020202020206e6574776f726b696e674b65793a206e6574776f726b696e674b65792c0a2020202020202020202020207374616b696e674b65793a207374616b696e674b65792c0a202020202020202020202020616d6f756e743a20616d6f756e742c0a20202020202020202020202070617965723a206163636f756e7429200a20202020202020207b0a2020202020202020202020206966207075626c69634b657973203d3d206e696c207c7c207075626c69634b657973212e6c656e677468203d3d2030207b0a2020202020202020202020202020202070616e6963282243616e6e6f742070726f76696465207a65726f206b65797320666f7220746865206d616368696e65206163636f756e7422290a2020202020202020202020207d0a202020202020202020202020666f72206b657920696e207075626c69634b65797321207b0a202020202020202020202020202020206d616368696e654163636f756e742e6164645075626c69634b6579286b65792e6465636f64654865782829290a2020202020202020202020207d0a20202020202020207d0a202020207d0a7d0af90279b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227d9c7b2274797065223a2255496e7438222c2276616c7565223a2231227daf7b2274797065223a22537472696e67222c2276616c7565223a22666c6f772d6e6f64652e746573743a33353639227db89c7b2274797065223a22537472696e67222c2276616c7565223a223133343833303762633737633638386538303034396465396430383161613039373535646133336536393937363035666130353964623231343466633835653536306362653666376461386437346234353366353931363631386362386664333932633264623835366633653738323231646336386462316231643931346534227db8dc7b2274797065223a22537472696e67222c2276616c7565223a22396539616530643634356664356664393035303739326530623064616138326363313638366439313333616661306638316137383462333735633432616534383536376431353435653761396531393635663263316133326637336366383537356562623761393637663665346431303464326466373865623862653430393133356431326461303439396238613030373731663634326331623963343933393766323262343430343339663033366333626465653832663533303964616233227db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da07b2274797065223a224f7074696f6e616c222c2276616c7565223a6e756c6c7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "02f47efa834bc0559afae9a660b2efefddd0c6dc6e1bbcf9c3994e45ea9e5135ec99997236b6d76caa298331d5cef77cbdf83c1af64584ece537a780ba4ac468835265676973746572204e6f64650007014e6f64652049440000537472696e670003014e6f646520526f6c65000155496e74380003014e6574772e20416464726573730002537472696e670003014e6574772e204b65790003537472696e670003015374616b696e67204b65790004537472696e67000301416d6f756e74000555466978363400030400035075622e204b65790006537472696e670003", - "hash": "99997236b6d76caa298331d5cef77cbdf83c1af64584ece537a780ba4ac46883" + "encodedTransactionPayloadHex": "f903aab902b5696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f20436f6d6d69747320726577617264656420746f6b656e7320746f207374616b6520666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e7374616b655265776172646564546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8b0b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227da07b2274797065223a224f7074696f6e616c222c2276616c7565223a6e756c6c7db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", + "encodedTransactionEnvelopeHex": "f903aef903aab902b5696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f20436f6d6d69747320726577617264656420746f6b656e7320746f207374616b6520666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e7374616b655265776172646564546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8b0b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227da07b2274797065223a224f7074696f6e616c222c2276616c7565223a6e756c6c7db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", + "metadata": "02d7aca7113a7aa03e0afd20ee36f4873779708a02ac4c6985017740c2ecea3d62907c4cfd67a98a8003393c64dc74eb7a957b229352a266139a542bb105ac4c405374616b6520526577617264656420546f6b656e730003014e6f64652049440000537472696e6700030244656c656761746f72204944000155496e743332000301416d6f756e7400025546697836340003", + "hash": "907c4cfd67a98a8003393c64dc74eb7a957b229352a266139a542bb105ac4c40" }, { - "title": "SCO.03 - Register Node - 2", + "title": "SCO.07 - Stake Rewarded Tokens - 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", + "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": "UInt8", - "value": "1" - }, - { - "type": "String", - "value": "flow-node.test:3569" - }, - { - "type": "String", - "value": "1348307bc77c688e80049de9d081aa09755da33e6997605fa059db2144fc85e560cbe6f7da8d74b453f5916618cb8fd392c2db856f3e78221dc68db1b1d914e4" - }, - { - "type": "String", - "value": "9e9ae0d645fd5fd9050792e0b0daa82cc1686d9133afa0f81a784b375c42ae48567d1545e7a9e1965f2c1a32f73cf8575ebb7a967f6e4d104d2df78eb8be409135d12da0499b8a00771f642c1b9c49397f22b440439f036c3bdee82f5309dab3" + "type": "Optional", + "value": { + "type": "UInt32", + "value": "42" + } }, { "type": "UFix64", "value": "92233720368.54775808" - }, - { - "type": "Optional", - "value": { - "type": "Array", - "value": [] - } } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -5199,38 +4745,22 @@ ] }, "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", + "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": "UInt8", - "value": "1" - }, - { - "type": "String", - "value": "flow-node.test:3569" - }, - { - "type": "String", - "value": "1348307bc77c688e80049de9d081aa09755da33e6997605fa059db2144fc85e560cbe6f7da8d74b453f5916618cb8fd392c2db856f3e78221dc68db1b1d914e4" - }, - { - "type": "String", - "value": "9e9ae0d645fd5fd9050792e0b0daa82cc1686d9133afa0f81a784b375c42ae48567d1545e7a9e1965f2c1a32f73cf8575ebb7a967f6e4d104d2df78eb8be409135d12da0499b8a00771f642c1b9c49397f22b440439f036c3bdee82f5309dab3" + "type": "Optional", + "value": { + "type": "UInt32", + "value": "42" + } }, { "type": "UFix64", "value": "92233720368.54775808" - }, - { - "type": "Optional", - "value": { - "type": "Array", - "value": [] - } } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -5246,53 +4776,29 @@ ], "payloadSigs": [] }, - "encodedTransactionPayloadHex": "f9080ab90534696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f2052656769737465727320612064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e207265736f757263650a2f2f2f20666f722074686520737065636966696564206e6f646520696e666f726d6174696f6e20616e642074686520616d6f756e74206f6620746f6b656e7320746f20636f6d6d69740a0a7472616e73616374696f6e2869643a20537472696e672c0a202020202020202020202020726f6c653a2055496e74382c0a2020202020202020202020206e6574776f726b696e67416464726573733a20537472696e672c0a2020202020202020202020206e6574776f726b696e674b65793a20537472696e672c0a2020202020202020202020207374616b696e674b65793a20537472696e672c0a202020202020202020202020616d6f756e743a205546697836342c0a2020202020202020202020207075626c69634b6579733a205b537472696e675d3f29207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a0a20202020202020206966206c6574206d616368696e654163636f756e74203d2073656c662e7374616b696e67436f6c6c656374696f6e5265662e72656769737465724e6f6465280a20202020202020202020202069643a2069642c0a202020202020202020202020726f6c653a20726f6c652c0a2020202020202020202020206e6574776f726b696e67416464726573733a206e6574776f726b696e67416464726573732c0a2020202020202020202020206e6574776f726b696e674b65793a206e6574776f726b696e674b65792c0a2020202020202020202020207374616b696e674b65793a207374616b696e674b65792c0a202020202020202020202020616d6f756e743a20616d6f756e742c0a20202020202020202020202070617965723a206163636f756e7429200a20202020202020207b0a2020202020202020202020206966207075626c69634b657973203d3d206e696c207c7c207075626c69634b657973212e6c656e677468203d3d2030207b0a2020202020202020202020202020202070616e6963282243616e6e6f742070726f76696465207a65726f206b65797320666f7220746865206d616368696e65206163636f756e7422290a2020202020202020202020207d0a202020202020202020202020666f72206b657920696e207075626c69634b65797321207b0a202020202020202020202020202020206d616368696e654163636f756e742e6164645075626c69634b6579286b65792e6465636f64654865782829290a2020202020202020202020207d0a20202020202020207d0a202020207d0a7d0af90290b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227d9c7b2274797065223a2255496e7438222c2276616c7565223a2231227daf7b2274797065223a22537472696e67222c2276616c7565223a22666c6f772d6e6f64652e746573743a33353639227db89c7b2274797065223a22537472696e67222c2276616c7565223a223133343833303762633737633638386538303034396465396430383161613039373535646133336536393937363035666130353964623231343466633835653536306362653666376461386437346234353366353931363631386362386664333932633264623835366633653738323231646336386462316231643931346534227db8dc7b2274797065223a22537472696e67222c2276616c7565223a22396539616530643634356664356664393035303739326530623064616138326363313638366439313333616661306638316137383462333735633432616534383536376431353435653761396531393635663263316133326637336366383537356562623761393637663665346431303464326466373865623862653430393133356431326461303439396238613030373731663634326331623963343933393766323262343430343339663033366333626465653832663533303964616233227db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227db77b2274797065223a224f7074696f6e616c222c2276616c7565223a7b2274797065223a224172726179222c2276616c7565223a5b5d7d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f9080ef9080ab90534696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f2052656769737465727320612064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e207265736f757263650a2f2f2f20666f722074686520737065636966696564206e6f646520696e666f726d6174696f6e20616e642074686520616d6f756e74206f6620746f6b656e7320746f20636f6d6d69740a0a7472616e73616374696f6e2869643a20537472696e672c0a202020202020202020202020726f6c653a2055496e74382c0a2020202020202020202020206e6574776f726b696e67416464726573733a20537472696e672c0a2020202020202020202020206e6574776f726b696e674b65793a20537472696e672c0a2020202020202020202020207374616b696e674b65793a20537472696e672c0a202020202020202020202020616d6f756e743a205546697836342c0a2020202020202020202020207075626c69634b6579733a205b537472696e675d3f29207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a0a20202020202020206966206c6574206d616368696e654163636f756e74203d2073656c662e7374616b696e67436f6c6c656374696f6e5265662e72656769737465724e6f6465280a20202020202020202020202069643a2069642c0a202020202020202020202020726f6c653a20726f6c652c0a2020202020202020202020206e6574776f726b696e67416464726573733a206e6574776f726b696e67416464726573732c0a2020202020202020202020206e6574776f726b696e674b65793a206e6574776f726b696e674b65792c0a2020202020202020202020207374616b696e674b65793a207374616b696e674b65792c0a202020202020202020202020616d6f756e743a20616d6f756e742c0a20202020202020202020202070617965723a206163636f756e7429200a20202020202020207b0a2020202020202020202020206966207075626c69634b657973203d3d206e696c207c7c207075626c69634b657973212e6c656e677468203d3d2030207b0a2020202020202020202020202020202070616e6963282243616e6e6f742070726f76696465207a65726f206b65797320666f7220746865206d616368696e65206163636f756e7422290a2020202020202020202020207d0a202020202020202020202020666f72206b657920696e207075626c69634b65797321207b0a202020202020202020202020202020206d616368696e654163636f756e742e6164645075626c69634b6579286b65792e6465636f64654865782829290a2020202020202020202020207d0a20202020202020207d0a202020207d0a7d0af90290b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227d9c7b2274797065223a2255496e7438222c2276616c7565223a2231227daf7b2274797065223a22537472696e67222c2276616c7565223a22666c6f772d6e6f64652e746573743a33353639227db89c7b2274797065223a22537472696e67222c2276616c7565223a223133343833303762633737633638386538303034396465396430383161613039373535646133336536393937363035666130353964623231343466633835653536306362653666376461386437346234353366353931363631386362386664333932633264623835366633653738323231646336386462316231643931346534227db8dc7b2274797065223a22537472696e67222c2276616c7565223a22396539616530643634356664356664393035303739326530623064616138326363313638366439313333616661306638316137383462333735633432616534383536376431353435653761396531393635663263316133326637336366383537356562623761393637663665346431303464326466373865623862653430393133356431326461303439396238613030373731663634326331623963343933393766323262343430343339663033366333626465653832663533303964616233227db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227db77b2274797065223a224f7074696f6e616c222c2276616c7565223a7b2274797065223a224172726179222c2276616c7565223a5b5d7d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "02f47efa834bc0559afae9a660b2efefddd0c6dc6e1bbcf9c3994e45ea9e5135ec99997236b6d76caa298331d5cef77cbdf83c1af64584ece537a780ba4ac468835265676973746572204e6f64650007014e6f64652049440000537472696e670003014e6f646520526f6c65000155496e74380003014e6574772e20416464726573730002537472696e670003014e6574772e204b65790003537472696e670003015374616b696e67204b65790004537472696e67000301416d6f756e74000555466978363400030400035075622e204b65790006537472696e670003", - "hash": "99997236b6d76caa298331d5cef77cbdf83c1af64584ece537a780ba4ac46883" + "encodedTransactionPayloadHex": "f903c5b902b5696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f20436f6d6d69747320726577617264656420746f6b656e7320746f207374616b6520666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e7374616b655265776172646564546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8cbb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db83a7b2274797065223a224f7074696f6e616c222c2276616c7565223a7b2274797065223a2255496e743332222c2276616c7565223a223432227d7db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", + "encodedTransactionEnvelopeHex": "f903c9f903c5b902b5696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f20436f6d6d69747320726577617264656420746f6b656e7320746f207374616b6520666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e7374616b655265776172646564546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8cbb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db83a7b2274797065223a224f7074696f6e616c222c2276616c7565223a7b2274797065223a2255496e743332222c2276616c7565223a223432227d7db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", + "metadata": "02d7aca7113a7aa03e0afd20ee36f4873779708a02ac4c6985017740c2ecea3d62907c4cfd67a98a8003393c64dc74eb7a957b229352a266139a542bb105ac4c405374616b6520526577617264656420546f6b656e730003014e6f64652049440000537472696e6700030244656c656761746f72204944000155496e743332000301416d6f756e7400025546697836340003", + "hash": "907c4cfd67a98a8003393c64dc74eb7a957b229352a266139a542bb105ac4c40" }, { - "title": "SCO.03 - Register Node - 3", + "title": "SCO.08 - Stake Unstaked Tokens - 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", + "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", "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": "Optional", + "value": null }, { "type": "UFix64", "value": "92233720368.54775808" - }, - { - "type": "Optional", - "value": { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164" - } - ] - } } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -5308,43 +4814,19 @@ ] }, "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", + "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", "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": "Optional", + "value": null }, { "type": "UFix64", "value": "92233720368.54775808" - }, - { - "type": "Optional", - "value": { - "type": "Array", - "value": [ - { - "type": "String", - "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164" - } - ] - } } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -5360,61 +4842,32 @@ ], "payloadSigs": [] }, - "encodedTransactionPayloadHex": "f908b5b90534696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f2052656769737465727320612064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e207265736f757263650a2f2f2f20666f722074686520737065636966696564206e6f646520696e666f726d6174696f6e20616e642074686520616d6f756e74206f6620746f6b656e7320746f20636f6d6d69740a0a7472616e73616374696f6e2869643a20537472696e672c0a202020202020202020202020726f6c653a2055496e74382c0a2020202020202020202020206e6574776f726b696e67416464726573733a20537472696e672c0a2020202020202020202020206e6574776f726b696e674b65793a20537472696e672c0a2020202020202020202020207374616b696e674b65793a20537472696e672c0a202020202020202020202020616d6f756e743a205546697836342c0a2020202020202020202020207075626c69634b6579733a205b537472696e675d3f29207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a0a20202020202020206966206c6574206d616368696e654163636f756e74203d2073656c662e7374616b696e67436f6c6c656374696f6e5265662e72656769737465724e6f6465280a20202020202020202020202069643a2069642c0a202020202020202020202020726f6c653a20726f6c652c0a2020202020202020202020206e6574776f726b696e67416464726573733a206e6574776f726b696e67416464726573732c0a2020202020202020202020206e6574776f726b696e674b65793a206e6574776f726b696e674b65792c0a2020202020202020202020207374616b696e674b65793a207374616b696e674b65792c0a202020202020202020202020616d6f756e743a20616d6f756e742c0a20202020202020202020202070617965723a206163636f756e7429200a20202020202020207b0a2020202020202020202020206966207075626c69634b657973203d3d206e696c207c7c207075626c69634b657973212e6c656e677468203d3d2030207b0a2020202020202020202020202020202070616e6963282243616e6e6f742070726f76696465207a65726f206b65797320666f7220746865206d616368696e65206163636f756e7422290a2020202020202020202020207d0a202020202020202020202020666f72206b657920696e207075626c69634b65797321207b0a202020202020202020202020202020206d616368696e654163636f756e742e6164645075626c69634b6579286b65792e6465636f64654865782829290a2020202020202020202020207d0a20202020202020207d0a202020207d0a7d0af9033bb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227d9c7b2274797065223a2255496e7438222c2276616c7565223a2231227daf7b2274797065223a22537472696e67222c2276616c7565223a22666c6f772d6e6f64652e746573743a33353639227db89c7b2274797065223a22537472696e67222c2276616c7565223a223133343833303762633737633638386538303034396465396430383161613039373535646133336536393937363035666130353964623231343466633835653536306362653666376461386437346234353366353931363631386362386664333932633264623835366633653738323231646336386462316231643931346534227db8dc7b2274797065223a22537472696e67222c2276616c7565223a22396539616530643634356664356664393035303739326530623064616138326363313638366439313333616661306638316137383462333735633432616534383536376431353435653761396531393635663263316133326637336366383537356562623761393637663665346431303464326466373865623862653430393133356431326461303439396238613030373731663634326331623963343933393766323262343430343339663033366333626465653832663533303964616233227db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227db8e17b2274797065223a224f7074696f6e616c222c2276616c7565223a7b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634227d5d7d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f908b9f908b5b90534696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f2052656769737465727320612064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e207265736f757263650a2f2f2f20666f722074686520737065636966696564206e6f646520696e666f726d6174696f6e20616e642074686520616d6f756e74206f6620746f6b656e7320746f20636f6d6d69740a0a7472616e73616374696f6e2869643a20537472696e672c0a202020202020202020202020726f6c653a2055496e74382c0a2020202020202020202020206e6574776f726b696e67416464726573733a20537472696e672c0a2020202020202020202020206e6574776f726b696e674b65793a20537472696e672c0a2020202020202020202020207374616b696e674b65793a20537472696e672c0a202020202020202020202020616d6f756e743a205546697836342c0a2020202020202020202020207075626c69634b6579733a205b537472696e675d3f29207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a0a20202020202020206966206c6574206d616368696e654163636f756e74203d2073656c662e7374616b696e67436f6c6c656374696f6e5265662e72656769737465724e6f6465280a20202020202020202020202069643a2069642c0a202020202020202020202020726f6c653a20726f6c652c0a2020202020202020202020206e6574776f726b696e67416464726573733a206e6574776f726b696e67416464726573732c0a2020202020202020202020206e6574776f726b696e674b65793a206e6574776f726b696e674b65792c0a2020202020202020202020207374616b696e674b65793a207374616b696e674b65792c0a202020202020202020202020616d6f756e743a20616d6f756e742c0a20202020202020202020202070617965723a206163636f756e7429200a20202020202020207b0a2020202020202020202020206966207075626c69634b657973203d3d206e696c207c7c207075626c69634b657973212e6c656e677468203d3d2030207b0a2020202020202020202020202020202070616e6963282243616e6e6f742070726f76696465207a65726f206b65797320666f7220746865206d616368696e65206163636f756e7422290a2020202020202020202020207d0a202020202020202020202020666f72206b657920696e207075626c69634b65797321207b0a202020202020202020202020202020206d616368696e654163636f756e742e6164645075626c69634b6579286b65792e6465636f64654865782829290a2020202020202020202020207d0a20202020202020207d0a202020207d0a7d0af9033bb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227d9c7b2274797065223a2255496e7438222c2276616c7565223a2231227daf7b2274797065223a22537472696e67222c2276616c7565223a22666c6f772d6e6f64652e746573743a33353639227db89c7b2274797065223a22537472696e67222c2276616c7565223a223133343833303762633737633638386538303034396465396430383161613039373535646133336536393937363035666130353964623231343466633835653536306362653666376461386437346234353366353931363631386362386664333932633264623835366633653738323231646336386462316231643931346534227db8dc7b2274797065223a22537472696e67222c2276616c7565223a22396539616530643634356664356664393035303739326530623064616138326363313638366439313333616661306638316137383462333735633432616534383536376431353435653761396531393635663263316133326637336366383537356562623761393637663665346431303464326466373865623862653430393133356431326461303439396238613030373731663634326331623963343933393766323262343430343339663033366333626465653832663533303964616233227db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227db8e17b2274797065223a224f7074696f6e616c222c2276616c7565223a7b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634227d5d7d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "02f47efa834bc0559afae9a660b2efefddd0c6dc6e1bbcf9c3994e45ea9e5135ec99997236b6d76caa298331d5cef77cbdf83c1af64584ece537a780ba4ac468835265676973746572204e6f64650007014e6f64652049440000537472696e670003014e6f646520526f6c65000155496e74380003014e6574772e20416464726573730002537472696e670003014e6574772e204b65790003537472696e670003015374616b696e67204b65790004537472696e67000301416d6f756e74000555466978363400030400035075622e204b65790006537472696e670003", - "hash": "99997236b6d76caa298331d5cef77cbdf83c1af64584ece537a780ba4ac46883" + "encodedTransactionPayloadHex": "f903aab902b5696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f20436f6d6d69747320756e7374616b656420746f6b656e7320746f207374616b6520666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e7374616b65556e7374616b6564546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8b0b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227da07b2274797065223a224f7074696f6e616c222c2276616c7565223a6e756c6c7db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", + "encodedTransactionEnvelopeHex": "f903aef903aab902b5696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f20436f6d6d69747320756e7374616b656420746f6b656e7320746f207374616b6520666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e7374616b65556e7374616b6564546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8b0b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227da07b2274797065223a224f7074696f6e616c222c2276616c7565223a6e756c6c7db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", + "metadata": "023595fcd68cff445c65ad99f8d4d726b5e28807b061800769c41cbe3adb98aeec082e690b9647182cf6969db1a0fa8e0f1728da6db01fe0d462e9f0841c268cbb5374616b6520556e7374616b656420546f6b656e730003014e6f64652049440000537472696e6700030244656c656761746f72204944000155496e743332000301416d6f756e7400025546697836340003", + "hash": "082e690b9647182cf6969db1a0fa8e0f1728da6db01fe0d462e9f0841c268cbb" }, { - "title": "SCO.03 - Register Node - 4", + "title": "SCO.08 - Stake Unstaked Tokens - 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", + "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", "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": "Optional", + "value": { + "type": "UInt32", + "value": "42" + } }, { "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", @@ -5430,51 +4883,22 @@ ] }, "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", + "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", "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": "Optional", + "value": { + "type": "UInt32", + "value": "42" + } }, { "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", @@ -5490,25 +4914,21 @@ ], "payloadSigs": [] }, - "encodedTransactionPayloadHex": "f90a0cb90534696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f2052656769737465727320612064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e207265736f757263650a2f2f2f20666f722074686520737065636966696564206e6f646520696e666f726d6174696f6e20616e642074686520616d6f756e74206f6620746f6b656e7320746f20636f6d6d69740a0a7472616e73616374696f6e2869643a20537472696e672c0a202020202020202020202020726f6c653a2055496e74382c0a2020202020202020202020206e6574776f726b696e67416464726573733a20537472696e672c0a2020202020202020202020206e6574776f726b696e674b65793a20537472696e672c0a2020202020202020202020207374616b696e674b65793a20537472696e672c0a202020202020202020202020616d6f756e743a205546697836342c0a2020202020202020202020207075626c69634b6579733a205b537472696e675d3f29207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a0a20202020202020206966206c6574206d616368696e654163636f756e74203d2073656c662e7374616b696e67436f6c6c656374696f6e5265662e72656769737465724e6f6465280a20202020202020202020202069643a2069642c0a202020202020202020202020726f6c653a20726f6c652c0a2020202020202020202020206e6574776f726b696e67416464726573733a206e6574776f726b696e67416464726573732c0a2020202020202020202020206e6574776f726b696e674b65793a206e6574776f726b696e674b65792c0a2020202020202020202020207374616b696e674b65793a207374616b696e674b65792c0a202020202020202020202020616d6f756e743a20616d6f756e742c0a20202020202020202020202070617965723a206163636f756e7429200a20202020202020207b0a2020202020202020202020206966207075626c69634b657973203d3d206e696c207c7c207075626c69634b657973212e6c656e677468203d3d2030207b0a2020202020202020202020202020202070616e6963282243616e6e6f742070726f76696465207a65726f206b65797320666f7220746865206d616368696e65206163636f756e7422290a2020202020202020202020207d0a202020202020202020202020666f72206b657920696e207075626c69634b65797321207b0a202020202020202020202020202020206d616368696e654163636f756e742e6164645075626c69634b6579286b65792e6465636f64654865782829290a2020202020202020202020207d0a20202020202020207d0a202020207d0a7d0af90492b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227d9c7b2274797065223a2255496e7438222c2276616c7565223a2231227daf7b2274797065223a22537472696e67222c2276616c7565223a22666c6f772d6e6f64652e746573743a33353639227db89c7b2274797065223a22537472696e67222c2276616c7565223a223133343833303762633737633638386538303034396465396430383161613039373535646133336536393937363035666130353964623231343466633835653536306362653666376461386437346234353366353931363631386362386664333932633264623835366633653738323231646336386462316231643931346534227db8dc7b2274797065223a22537472696e67222c2276616c7565223a22396539616530643634356664356664393035303739326530623064616138326363313638366439313333616661306638316137383462333735633432616534383536376431353435653761396531393635663263316133326637336366383537356562623761393637663665346431303464326466373865623862653430393133356431326461303439396238613030373731663634326331623963343933393766323262343430343339663033366333626465653832663533303964616233227db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227db902377b2274797065223a224f7074696f6e616c222c2276616c7565223a7b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634227d2c7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634227d2c7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634227d5d7d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f90a10f90a0cb90534696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f2052656769737465727320612064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e207265736f757263650a2f2f2f20666f722074686520737065636966696564206e6f646520696e666f726d6174696f6e20616e642074686520616d6f756e74206f6620746f6b656e7320746f20636f6d6d69740a0a7472616e73616374696f6e2869643a20537472696e672c0a202020202020202020202020726f6c653a2055496e74382c0a2020202020202020202020206e6574776f726b696e67416464726573733a20537472696e672c0a2020202020202020202020206e6574776f726b696e674b65793a20537472696e672c0a2020202020202020202020207374616b696e674b65793a20537472696e672c0a202020202020202020202020616d6f756e743a205546697836342c0a2020202020202020202020207075626c69634b6579733a205b537472696e675d3f29207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a0a20202020202020206966206c6574206d616368696e654163636f756e74203d2073656c662e7374616b696e67436f6c6c656374696f6e5265662e72656769737465724e6f6465280a20202020202020202020202069643a2069642c0a202020202020202020202020726f6c653a20726f6c652c0a2020202020202020202020206e6574776f726b696e67416464726573733a206e6574776f726b696e67416464726573732c0a2020202020202020202020206e6574776f726b696e674b65793a206e6574776f726b696e674b65792c0a2020202020202020202020207374616b696e674b65793a207374616b696e674b65792c0a202020202020202020202020616d6f756e743a20616d6f756e742c0a20202020202020202020202070617965723a206163636f756e7429200a20202020202020207b0a2020202020202020202020206966207075626c69634b657973203d3d206e696c207c7c207075626c69634b657973212e6c656e677468203d3d2030207b0a2020202020202020202020202020202070616e6963282243616e6e6f742070726f76696465207a65726f206b65797320666f7220746865206d616368696e65206163636f756e7422290a2020202020202020202020207d0a202020202020202020202020666f72206b657920696e207075626c69634b65797321207b0a202020202020202020202020202020206d616368696e654163636f756e742e6164645075626c69634b6579286b65792e6465636f64654865782829290a2020202020202020202020207d0a20202020202020207d0a202020207d0a7d0af90492b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227d9c7b2274797065223a2255496e7438222c2276616c7565223a2231227daf7b2274797065223a22537472696e67222c2276616c7565223a22666c6f772d6e6f64652e746573743a33353639227db89c7b2274797065223a22537472696e67222c2276616c7565223a223133343833303762633737633638386538303034396465396430383161613039373535646133336536393937363035666130353964623231343466633835653536306362653666376461386437346234353366353931363631386362386664333932633264623835366633653738323231646336386462316231643931346534227db8dc7b2274797065223a22537472696e67222c2276616c7565223a22396539616530643634356664356664393035303739326530623064616138326363313638366439313333616661306638316137383462333735633432616534383536376431353435653761396531393635663263316133326637336366383537356562623761393637663665346431303464326466373865623862653430393133356431326461303439396238613030373731663634326331623963343933393766323262343430343339663033366333626465653832663533303964616233227db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227db902377b2274797065223a224f7074696f6e616c222c2276616c7565223a7b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634227d2c7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634227d2c7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634227d5d7d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "02f47efa834bc0559afae9a660b2efefddd0c6dc6e1bbcf9c3994e45ea9e5135ec99997236b6d76caa298331d5cef77cbdf83c1af64584ece537a780ba4ac468835265676973746572204e6f64650007014e6f64652049440000537472696e670003014e6f646520526f6c65000155496e74380003014e6574772e20416464726573730002537472696e670003014e6574772e204b65790003537472696e670003015374616b696e67204b65790004537472696e67000301416d6f756e74000555466978363400030400035075622e204b65790006537472696e670003", - "hash": "99997236b6d76caa298331d5cef77cbdf83c1af64584ece537a780ba4ac46883" + "encodedTransactionPayloadHex": "f903c5b902b5696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f20436f6d6d69747320756e7374616b656420746f6b656e7320746f207374616b6520666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e7374616b65556e7374616b6564546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8cbb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db83a7b2274797065223a224f7074696f6e616c222c2276616c7565223a7b2274797065223a2255496e743332222c2276616c7565223a223432227d7db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", + "encodedTransactionEnvelopeHex": "f903c9f903c5b902b5696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f20436f6d6d69747320756e7374616b656420746f6b656e7320746f207374616b6520666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e7374616b65556e7374616b6564546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8cbb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db83a7b2274797065223a224f7074696f6e616c222c2276616c7565223a7b2274797065223a2255496e743332222c2276616c7565223a223432227d7db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", + "metadata": "023595fcd68cff445c65ad99f8d4d726b5e28807b061800769c41cbe3adb98aeec082e690b9647182cf6969db1a0fa8e0f1728da6db01fe0d462e9f0841c268cbb5374616b6520556e7374616b656420546f6b656e730003014e6f64652049440000537472696e6700030244656c656761746f72204944000155496e743332000301416d6f756e7400025546697836340003", + "hash": "082e690b9647182cf6969db1a0fa8e0f1728da6db01fe0d462e9f0841c268cbb" }, { - "title": "SCO.04 - Create Machine Account - 1", + "title": "SCO.09 - Unstake All", "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 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", "arguments": [ { "type": "String", "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" - }, - { - "type": "Array", - "value": [] } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -5524,15 +4944,11 @@ ] }, "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 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", "arguments": [ { "type": "String", "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" - }, - { - "type": "Array", - "value": [] } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -5548,30 +4964,32 @@ ], "payloadSigs": [] }, - "encodedTransactionPayloadHex": "f904e2b90423696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f20437265617465732061206d616368696e65206163636f756e7420666f722061206e6f6465207468617420697320616c726561647920696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f20616e642061646473207075626c6963206b65797320746f20746865206e6577206163636f756e740a0a7472616e73616374696f6e286e6f646549443a20537472696e672c207075626c69634b6579733a205b537472696e675d29207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a0a20202020202020206966206c6574206d616368696e654163636f756e74203d2073656c662e7374616b696e67436f6c6c656374696f6e5265662e6372656174654d616368696e654163636f756e74466f724578697374696e674e6f6465286e6f646549443a206e6f646549442c2070617965723a206163636f756e7429207b0a2020202020202020202020206966207075626c69634b657973203d3d206e696c207c7c207075626c69634b657973212e6c656e677468203d3d2030207b0a2020202020202020202020202020202070616e6963282243616e6e6f742070726f76696465207a65726f206b65797320666f7220746865206d616368696e65206163636f756e7422290a2020202020202020202020207d0a202020202020202020202020666f72206b657920696e207075626c69634b65797321207b0a202020202020202020202020202020206d616368696e654163636f756e742e6164645075626c69634b6579286b65792e6465636f64654865782829290a2020202020202020202020207d0a20202020202020207d20656c7365207b0a20202020202020202020202070616e69632822436f756c64206e6f74206372656174652061206d616368696e65206163636f756e7420666f7220746865206e6f646522290a20202020202020207d0a202020207d0a7d0af87ab85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227d9b7b2274797065223a224172726179222c2276616c7565223a5b5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f904e6f904e2b90423696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f20437265617465732061206d616368696e65206163636f756e7420666f722061206e6f6465207468617420697320616c726561647920696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f20616e642061646473207075626c6963206b65797320746f20746865206e6577206163636f756e740a0a7472616e73616374696f6e286e6f646549443a20537472696e672c207075626c69634b6579733a205b537472696e675d29207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a0a20202020202020206966206c6574206d616368696e654163636f756e74203d2073656c662e7374616b696e67436f6c6c656374696f6e5265662e6372656174654d616368696e654163636f756e74466f724578697374696e674e6f6465286e6f646549443a206e6f646549442c2070617965723a206163636f756e7429207b0a2020202020202020202020206966207075626c69634b657973203d3d206e696c207c7c207075626c69634b657973212e6c656e677468203d3d2030207b0a2020202020202020202020202020202070616e6963282243616e6e6f742070726f76696465207a65726f206b65797320666f7220746865206d616368696e65206163636f756e7422290a2020202020202020202020207d0a202020202020202020202020666f72206b657920696e207075626c69634b65797321207b0a202020202020202020202020202020206d616368696e654163636f756e742e6164645075626c69634b6579286b65792e6465636f64654865782829290a2020202020202020202020207d0a20202020202020207d20656c7365207b0a20202020202020202020202070616e69632822436f756c64206e6f74206372656174652061206d616368696e65206163636f756e7420666f7220746865206e6f646522290a20202020202020207d0a202020207d0a7d0af87ab85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227d9b7b2274797065223a224172726179222c2276616c7565223a5b5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "02e79df145af42488e3da1d1b2e50a38a2084229896d670884f278a2119dc3bf9ec2442b498eea025099815ea613d6407407192dc12ad70e1a4f47936db804a841437265617465204d616368696e65204163636f756e740002014e6f64652049440000537472696e6700030300035075622e204b65790001537472696e670003", - "hash": "c2442b498eea025099815ea613d6407407192dc12ad70e1a4f47936db804a841" + "encodedTransactionPayloadHex": "f902fdb9025a696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f20526571756573747320746f20756e7374616b6520414c4c20746f6b656e7320666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a0a7472616e73616374696f6e286e6f646549443a20537472696e6729207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e756e7374616b65416c6c286e6f646549443a206e6f64654944290a202020207d0a7d0af85eb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", + "encodedTransactionEnvelopeHex": "f90301f902fdb9025a696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f20526571756573747320746f20756e7374616b6520414c4c20746f6b656e7320666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a0a7472616e73616374696f6e286e6f646549443a20537472696e6729207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e756e7374616b65416c6c286e6f646549443a206e6f64654944290a202020207d0a7d0af85eb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", + "metadata": "020bde358f3965ba2f4c18fb45b6536857c3f53d7d3b740fe66fe93a4ebf7524c1df9c6486baa6f8f685368ea216659239cb81fa8ebd9062a9723edb54ca0d7525556e7374616b6520416c6c0001014e6f64652049440000537472696e670003", + "hash": "df9c6486baa6f8f685368ea216659239cb81fa8ebd9062a9723edb54ca0d7525" }, { - "title": "SCO.04 - Create Machine Account - 2", + "title": "SCO.10 - Withdraw Rewarded Tokens - 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", + "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": "Array", - "value": [ - { - "type": "String", - "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164" - } - ] + "type": "Optional", + "value": { + "type": "UInt32", + "value": "42" + } + }, + { + "type": "UFix64", + "value": "92233720368.54775808" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -5587,20 +5005,22 @@ ] }, "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 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": "Array", - "value": [ - { - "type": "String", - "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164" - } - ] + "type": "Optional", + "value": { + "type": "UInt32", + "value": "42" + } + }, + { + "type": "UFix64", + "value": "92233720368.54775808" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -5616,38 +5036,29 @@ ], "payloadSigs": [] }, - "encodedTransactionPayloadHex": "f9058eb90423696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f20437265617465732061206d616368696e65206163636f756e7420666f722061206e6f6465207468617420697320616c726561647920696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f20616e642061646473207075626c6963206b65797320746f20746865206e6577206163636f756e740a0a7472616e73616374696f6e286e6f646549443a20537472696e672c207075626c69634b6579733a205b537472696e675d29207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a0a20202020202020206966206c6574206d616368696e654163636f756e74203d2073656c662e7374616b696e67436f6c6c656374696f6e5265662e6372656174654d616368696e654163636f756e74466f724578697374696e674e6f6465286e6f646549443a206e6f646549442c2070617965723a206163636f756e7429207b0a2020202020202020202020206966207075626c69634b657973203d3d206e696c207c7c207075626c69634b657973212e6c656e677468203d3d2030207b0a2020202020202020202020202020202070616e6963282243616e6e6f742070726f76696465207a65726f206b65797320666f7220746865206d616368696e65206163636f756e7422290a2020202020202020202020207d0a202020202020202020202020666f72206b657920696e207075626c69634b65797321207b0a202020202020202020202020202020206d616368696e654163636f756e742e6164645075626c69634b6579286b65792e6465636f64654865782829290a2020202020202020202020207d0a20202020202020207d20656c7365207b0a20202020202020202020202070616e69632822436f756c64206e6f74206372656174652061206d616368696e65206163636f756e7420666f7220746865206e6f646522290a20202020202020207d0a202020207d0a7d0af90125b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db8c57b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634227d5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f90592f9058eb90423696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f20437265617465732061206d616368696e65206163636f756e7420666f722061206e6f6465207468617420697320616c726561647920696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f20616e642061646473207075626c6963206b65797320746f20746865206e6577206163636f756e740a0a7472616e73616374696f6e286e6f646549443a20537472696e672c207075626c69634b6579733a205b537472696e675d29207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a0a20202020202020206966206c6574206d616368696e654163636f756e74203d2073656c662e7374616b696e67436f6c6c656374696f6e5265662e6372656174654d616368696e654163636f756e74466f724578697374696e674e6f6465286e6f646549443a206e6f646549442c2070617965723a206163636f756e7429207b0a2020202020202020202020206966207075626c69634b657973203d3d206e696c207c7c207075626c69634b657973212e6c656e677468203d3d2030207b0a2020202020202020202020202020202070616e6963282243616e6e6f742070726f76696465207a65726f206b65797320666f7220746865206d616368696e65206163636f756e7422290a2020202020202020202020207d0a202020202020202020202020666f72206b657920696e207075626c69634b65797321207b0a202020202020202020202020202020206d616368696e654163636f756e742e6164645075626c69634b6579286b65792e6465636f64654865782829290a2020202020202020202020207d0a20202020202020207d20656c7365207b0a20202020202020202020202070616e69632822436f756c64206e6f74206372656174652061206d616368696e65206163636f756e7420666f7220746865206e6f646522290a20202020202020207d0a202020207d0a7d0af90125b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db8c57b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634227d5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "02e79df145af42488e3da1d1b2e50a38a2084229896d670884f278a2119dc3bf9ec2442b498eea025099815ea613d6407407192dc12ad70e1a4f47936db804a841437265617465204d616368696e65204163636f756e740002014e6f64652049440000537472696e6700030300035075622e204b65790001537472696e670003", - "hash": "c2442b498eea025099815ea613d6407407192dc12ad70e1a4f47936db804a841" + "encodedTransactionPayloadHex": "f90466b90356696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f205265717565737420746f20776974686472617720726577617264656420746f6b656e7320666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f2054686520746f6b656e7320617265206175746f6d61746963616c6c79206465706f736974656420746f2074686520756e6c6f636b6564206163636f756e74207661756c742066697273742c0a2f2f2f20416e64207468656e20616e79206c6f636b656420746f6b656e7320617265206465706f736974656420696e746f20746865206c6f636b6564206163636f756e74207661756c740a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e77697468647261775265776172646564546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8cbb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db83a7b2274797065223a224f7074696f6e616c222c2276616c7565223a7b2274797065223a2255496e743332222c2276616c7565223a223432227d7db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", + "encodedTransactionEnvelopeHex": "f9046af90466b90356696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f205265717565737420746f20776974686472617720726577617264656420746f6b656e7320666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f2054686520746f6b656e7320617265206175746f6d61746963616c6c79206465706f736974656420746f2074686520756e6c6f636b6564206163636f756e74207661756c742066697273742c0a2f2f2f20416e64207468656e20616e79206c6f636b656420746f6b656e7320617265206465706f736974656420696e746f20746865206c6f636b6564206163636f756e74207661756c740a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e77697468647261775265776172646564546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8cbb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db83a7b2274797065223a224f7074696f6e616c222c2276616c7565223a7b2274797065223a2255496e743332222c2276616c7565223a223432227d7db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", + "metadata": "023af182f568b37a8067d3fb524afcfe96991c85a928bf7651e730be0e15fdb72d27a2b60d538b8bb883b602ea83d1697986a29dd69a44a9209dc75affb9e63299576974686472617720526577617264656420546f6b656e730003014e6f64652049440000537472696e6700030244656c656761746f72204944000155496e743332000301416d6f756e7400025546697836340003", + "hash": "27a2b60d538b8bb883b602ea83d1697986a29dd69a44a9209dc75affb9e63299" }, { - "title": "SCO.04 - Create Machine Account - 3", + "title": "SCO.10 - Withdraw Rewarded Tokens - 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", + "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": "Array", - "value": [ - { - "type": "String", - "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164" - }, - { - "type": "String", - "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164" - }, - { - "type": "String", - "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164" - } - ] + "type": "Optional", + "value": null + }, + { + "type": "UFix64", + "value": "92233720368.54775808" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -5663,28 +5074,19 @@ ] }, "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 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": "Array", - "value": [ - { - "type": "String", - "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164" - }, - { - "type": "String", - "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164" - }, - { - "type": "String", - "value": "f845b8406e4f43f79d3c1d8cacb3d5f3e7aeedb29feaeb4559fdb71a97e2fd0438565310e87670035d83bc10fe67fe314dba5363c81654595d64884b1ecad1512a64e65e020164" - } - ] + "type": "Optional", + "value": null + }, + { + "type": "UFix64", + "value": "92233720368.54775808" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -5700,17 +5102,17 @@ ], "payloadSigs": [] }, - "encodedTransactionPayloadHex": "f906e5b90423696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f20437265617465732061206d616368696e65206163636f756e7420666f722061206e6f6465207468617420697320616c726561647920696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f20616e642061646473207075626c6963206b65797320746f20746865206e6577206163636f756e740a0a7472616e73616374696f6e286e6f646549443a20537472696e672c207075626c69634b6579733a205b537472696e675d29207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a0a20202020202020206966206c6574206d616368696e654163636f756e74203d2073656c662e7374616b696e67436f6c6c656374696f6e5265662e6372656174654d616368696e654163636f756e74466f724578697374696e674e6f6465286e6f646549443a206e6f646549442c2070617965723a206163636f756e7429207b0a2020202020202020202020206966207075626c69634b657973203d3d206e696c207c7c207075626c69634b657973212e6c656e677468203d3d2030207b0a2020202020202020202020202020202070616e6963282243616e6e6f742070726f76696465207a65726f206b65797320666f7220746865206d616368696e65206163636f756e7422290a2020202020202020202020207d0a202020202020202020202020666f72206b657920696e207075626c69634b65797321207b0a202020202020202020202020202020206d616368696e654163636f756e742e6164645075626c69634b6579286b65792e6465636f64654865782829290a2020202020202020202020207d0a20202020202020207d20656c7365207b0a20202020202020202020202070616e69632822436f756c64206e6f74206372656174652061206d616368696e65206163636f756e7420666f7220746865206e6f646522290a20202020202020207d0a202020207d0a7d0af9027cb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db9021b7b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634227d2c7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634227d2c7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634227d5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f906e9f906e5b90423696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f20437265617465732061206d616368696e65206163636f756e7420666f722061206e6f6465207468617420697320616c726561647920696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f20616e642061646473207075626c6963206b65797320746f20746865206e6577206163636f756e740a0a7472616e73616374696f6e286e6f646549443a20537472696e672c207075626c69634b6579733a205b537472696e675d29207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a0a20202020202020206966206c6574206d616368696e654163636f756e74203d2073656c662e7374616b696e67436f6c6c656374696f6e5265662e6372656174654d616368696e654163636f756e74466f724578697374696e674e6f6465286e6f646549443a206e6f646549442c2070617965723a206163636f756e7429207b0a2020202020202020202020206966207075626c69634b657973203d3d206e696c207c7c207075626c69634b657973212e6c656e677468203d3d2030207b0a2020202020202020202020202020202070616e6963282243616e6e6f742070726f76696465207a65726f206b65797320666f7220746865206d616368696e65206163636f756e7422290a2020202020202020202020207d0a202020202020202020202020666f72206b657920696e207075626c69634b65797321207b0a202020202020202020202020202020206d616368696e654163636f756e742e6164645075626c69634b6579286b65792e6465636f64654865782829290a2020202020202020202020207d0a20202020202020207d20656c7365207b0a20202020202020202020202070616e69632822436f756c64206e6f74206372656174652061206d616368696e65206163636f756e7420666f7220746865206e6f646522290a20202020202020207d0a202020207d0a7d0af9027cb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db9021b7b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634227d2c7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634227d2c7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634227d5d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "02e79df145af42488e3da1d1b2e50a38a2084229896d670884f278a2119dc3bf9ec2442b498eea025099815ea613d6407407192dc12ad70e1a4f47936db804a841437265617465204d616368696e65204163636f756e740002014e6f64652049440000537472696e6700030300035075622e204b65790001537472696e670003", - "hash": "c2442b498eea025099815ea613d6407407192dc12ad70e1a4f47936db804a841" + "encodedTransactionPayloadHex": "f9044bb90356696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f205265717565737420746f20776974686472617720726577617264656420746f6b656e7320666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f2054686520746f6b656e7320617265206175746f6d61746963616c6c79206465706f736974656420746f2074686520756e6c6f636b6564206163636f756e74207661756c742066697273742c0a2f2f2f20416e64207468656e20616e79206c6f636b656420746f6b656e7320617265206465706f736974656420696e746f20746865206c6f636b6564206163636f756e74207661756c740a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e77697468647261775265776172646564546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8b0b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227da07b2274797065223a224f7074696f6e616c222c2276616c7565223a6e756c6c7db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", + "encodedTransactionEnvelopeHex": "f9044ff9044bb90356696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f205265717565737420746f20776974686472617720726577617264656420746f6b656e7320666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f2054686520746f6b656e7320617265206175746f6d61746963616c6c79206465706f736974656420746f2074686520756e6c6f636b6564206163636f756e74207661756c742066697273742c0a2f2f2f20416e64207468656e20616e79206c6f636b656420746f6b656e7320617265206465706f736974656420696e746f20746865206c6f636b6564206163636f756e74207661756c740a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e77697468647261775265776172646564546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8b0b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227da07b2274797065223a224f7074696f6e616c222c2276616c7565223a6e756c6c7db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", + "metadata": "023af182f568b37a8067d3fb524afcfe96991c85a928bf7651e730be0e15fdb72d27a2b60d538b8bb883b602ea83d1697986a29dd69a44a9209dc75affb9e63299576974686472617720526577617264656420546f6b656e730003014e6f64652049440000537472696e6700030244656c656761746f72204944000155496e743332000301416d6f756e7400025546697836340003", + "hash": "27a2b60d538b8bb883b602ea83d1697986a29dd69a44a9209dc75affb9e63299" }, { - "title": "SCO.05 - Request Unstaking - 1", + "title": "SCO.11 - Withdraw Unstaked Tokens - 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", + "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", "arguments": [ { "type": "String", @@ -5738,7 +5140,7 @@ ] }, "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 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", "arguments": [ { "type": "String", @@ -5766,17 +5168,17 @@ ], "payloadSigs": [] }, - "encodedTransactionPayloadHex": "f90399b902a4696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f20526571756573747320756e7374616b696e6720666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e72657175657374556e7374616b696e67286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8b0b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227da07b2274797065223a224f7074696f6e616c222c2276616c7565223a6e756c6c7db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f9039df90399b902a4696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f20526571756573747320756e7374616b696e6720666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e72657175657374556e7374616b696e67286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8b0b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227da07b2274797065223a224f7074696f6e616c222c2276616c7565223a6e756c6c7db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "02b00f6b3b9d8d7d4a9a8ad14fce11ee0edb23c39c56a8c1351e6b597f53f2fb71a552951c5e6300a118610fbf2d36b3073ee266e1d26787d04717c141976ef78c5265717565737420556e7374616b696e670003014e6f64652049440000537472696e6700030244656c656761746f72204944000155496e743332000301416d6f756e7400025546697836340003", - "hash": "a552951c5e6300a118610fbf2d36b3073ee266e1d26787d04717c141976ef78c" + "encodedTransactionPayloadHex": "f9045ab90365696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f205265717565737420746f20776974686472617720756e7374616b656420746f6b656e7320666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f2054686520746f6b656e7320617265206175746f6d61746963616c6c79206465706f736974656420746f2074686520756e6c6f636b6564206163636f756e74207661756c742066697273742c0a2f2f2f20416e64207468656e20616e79206c6f636b656420746f6b656e7320617265206465706f736974656420696e746f20746865206c6f636b6564206163636f756e74207661756c742069662069742069732074686572650a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e7769746864726177556e7374616b6564546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8b0b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227da07b2274797065223a224f7074696f6e616c222c2276616c7565223a6e756c6c7db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", + "encodedTransactionEnvelopeHex": "f9045ef9045ab90365696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f205265717565737420746f20776974686472617720756e7374616b656420746f6b656e7320666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f2054686520746f6b656e7320617265206175746f6d61746963616c6c79206465706f736974656420746f2074686520756e6c6f636b6564206163636f756e74207661756c742066697273742c0a2f2f2f20416e64207468656e20616e79206c6f636b656420746f6b656e7320617265206465706f736974656420696e746f20746865206c6f636b6564206163636f756e74207661756c742069662069742069732074686572650a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e7769746864726177556e7374616b6564546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8b0b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227da07b2274797065223a224f7074696f6e616c222c2276616c7565223a6e756c6c7db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", + "metadata": "0268879197d961bb104a56e1e7d35660436fe4c52ed78f79d97fa50aa9e96fabf06d50ab1ef3d74203081c38306da74f5ad8fdd489e49fba732f8ba194d0c781c8576974686472617720556e7374616b656420546f6b656e730003014e6f64652049440000537472696e6700030244656c656761746f72204944000155496e743332000301416d6f756e7400025546697836340003", + "hash": "6d50ab1ef3d74203081c38306da74f5ad8fdd489e49fba732f8ba194d0c781c8" }, { - "title": "SCO.05 - Request Unstaking - 2", + "title": "SCO.11 - Withdraw Unstaked Tokens - 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", + "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", "arguments": [ { "type": "String", @@ -5807,7 +5209,7 @@ ] }, "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 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", "arguments": [ { "type": "String", @@ -5838,17 +5240,17 @@ ], "payloadSigs": [] }, - "encodedTransactionPayloadHex": "f903b4b902a4696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f20526571756573747320756e7374616b696e6720666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e72657175657374556e7374616b696e67286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8cbb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db83a7b2274797065223a224f7074696f6e616c222c2276616c7565223a7b2274797065223a2255496e743332222c2276616c7565223a223432227d7db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f903b8f903b4b902a4696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f20526571756573747320756e7374616b696e6720666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e72657175657374556e7374616b696e67286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8cbb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db83a7b2274797065223a224f7074696f6e616c222c2276616c7565223a7b2274797065223a2255496e743332222c2276616c7565223a223432227d7db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "02b00f6b3b9d8d7d4a9a8ad14fce11ee0edb23c39c56a8c1351e6b597f53f2fb71a552951c5e6300a118610fbf2d36b3073ee266e1d26787d04717c141976ef78c5265717565737420556e7374616b696e670003014e6f64652049440000537472696e6700030244656c656761746f72204944000155496e743332000301416d6f756e7400025546697836340003", - "hash": "a552951c5e6300a118610fbf2d36b3073ee266e1d26787d04717c141976ef78c" + "encodedTransactionPayloadHex": "f90475b90365696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f205265717565737420746f20776974686472617720756e7374616b656420746f6b656e7320666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f2054686520746f6b656e7320617265206175746f6d61746963616c6c79206465706f736974656420746f2074686520756e6c6f636b6564206163636f756e74207661756c742066697273742c0a2f2f2f20416e64207468656e20616e79206c6f636b656420746f6b656e7320617265206465706f736974656420696e746f20746865206c6f636b6564206163636f756e74207661756c742069662069742069732074686572650a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e7769746864726177556e7374616b6564546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8cbb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db83a7b2274797065223a224f7074696f6e616c222c2276616c7565223a7b2274797065223a2255496e743332222c2276616c7565223a223432227d7db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", + "encodedTransactionEnvelopeHex": "f90479f90475b90365696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f205265717565737420746f20776974686472617720756e7374616b656420746f6b656e7320666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f2054686520746f6b656e7320617265206175746f6d61746963616c6c79206465706f736974656420746f2074686520756e6c6f636b6564206163636f756e74207661756c742066697273742c0a2f2f2f20416e64207468656e20616e79206c6f636b656420746f6b656e7320617265206465706f736974656420696e746f20746865206c6f636b6564206163636f756e74207661756c742069662069742069732074686572650a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e7769746864726177556e7374616b6564546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8cbb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db83a7b2274797065223a224f7074696f6e616c222c2276616c7565223a7b2274797065223a2255496e743332222c2276616c7565223a223432227d7db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", + "metadata": "0268879197d961bb104a56e1e7d35660436fe4c52ed78f79d97fa50aa9e96fabf06d50ab1ef3d74203081c38306da74f5ad8fdd489e49fba732f8ba194d0c781c8576974686472617720556e7374616b656420546f6b656e730003014e6f64652049440000537472696e6700030244656c656761746f72204944000155496e743332000301416d6f756e7400025546697836340003", + "hash": "6d50ab1ef3d74203081c38306da74f5ad8fdd489e49fba732f8ba194d0c781c8" }, { - "title": "SCO.06 - Stake New Tokens - 1", + "title": "SCO.12 - Close Stake - 1", "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 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", "arguments": [ { "type": "String", @@ -5856,11 +5258,10 @@ }, { "type": "Optional", - "value": null - }, - { - "type": "UFix64", - "value": "92233720368.54775808" + "value": { + "type": "UInt32", + "value": "42" + } } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -5876,7 +5277,7 @@ ] }, "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 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", "arguments": [ { "type": "String", @@ -5884,11 +5285,10 @@ }, { "type": "Optional", - "value": null - }, - { - "type": "UFix64", - "value": "92233720368.54775808" + "value": { + "type": "UInt32", + "value": "42" + } } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -5904,17 +5304,17 @@ ], "payloadSigs": [] }, - "encodedTransactionPayloadHex": "f90415b90320696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f20436f6d6d697473206e657720746f6b656e7320746f207374616b6520666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f2054686520746f6b656e732066726f6d20746865206c6f636b6564207661756c742061726520757365642066697273742c206966206974206578697374730a2f2f2f20666f6c6c6f7765642062792074686520746f6b656e732066726f6d2074686520756e6c6f636b6564207661756c740a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e7374616b654e6577546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8b0b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227da07b2274797065223a224f7074696f6e616c222c2276616c7565223a6e756c6c7db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f90419f90415b90320696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f20436f6d6d697473206e657720746f6b656e7320746f207374616b6520666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f2054686520746f6b656e732066726f6d20746865206c6f636b6564207661756c742061726520757365642066697273742c206966206974206578697374730a2f2f2f20666f6c6c6f7765642062792074686520746f6b656e732066726f6d2074686520756e6c6f636b6564207661756c740a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e7374616b654e6577546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8b0b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227da07b2274797065223a224f7074696f6e616c222c2276616c7565223a6e756c6c7db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "021307928440cee4289235793d6ff860a24315f7b6a5d5907a145dcc5f83702a2c8e10ac56db8ec5d5e0051d3c9608fabc8edd6abed983f6d3a254e7668a54b32b5374616b65204e657720546f6b656e730003014e6f64652049440000537472696e6700030244656c656761746f72204944000155496e743332000301416d6f756e7400025546697836340003", - "hash": "8e10ac56db8ec5d5e0051d3c9608fabc8edd6abed983f6d3a254e7668a54b32b" + "encodedTransactionPayloadHex": "f903cdb902ee696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f20436c6f736573206f75742061207374616b696e67206f626a65637420696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f205468697320646f6573206e6f742072656d6f766520746865207265636f72642066726f6d20746865206964656e74697479207461626c652c0a2f2f2062757420697420646f6573206d65616e207468617420746865206163636f756e74207468617420636c6f7365732069742063616e6e6f7420657665722061636365737320697420616761696e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f29207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e636c6f73655374616b65286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f724944290a202020207d0a7d0af89ab85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db83a7b2274797065223a224f7074696f6e616c222c2276616c7565223a7b2274797065223a2255496e743332222c2276616c7565223a223432227d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", + "encodedTransactionEnvelopeHex": "f903d1f903cdb902ee696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f20436c6f736573206f75742061207374616b696e67206f626a65637420696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f205468697320646f6573206e6f742072656d6f766520746865207265636f72642066726f6d20746865206964656e74697479207461626c652c0a2f2f2062757420697420646f6573206d65616e207468617420746865206163636f756e74207468617420636c6f7365732069742063616e6e6f7420657665722061636365737320697420616761696e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f29207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e636c6f73655374616b65286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f724944290a202020207d0a7d0af89ab85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db83a7b2274797065223a224f7074696f6e616c222c2276616c7565223a7b2274797065223a2255496e743332222c2276616c7565223a223432227d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", + "metadata": "02079aaa9cfb22138415056b43d5d91e8d73bd8bd5f37ebff4f4023d33ea6d2f25ecdffc1ae67479bc20c06eba6c776ff37b9523660ff1cd3129a3924d92484884436c6f7365205374616b650002014e6f64652049440000537472696e6700030244656c656761746f72204944000155496e7433320003", + "hash": "ecdffc1ae67479bc20c06eba6c776ff37b9523660ff1cd3129a3924d92484884" }, { - "title": "SCO.06 - Stake New Tokens - 2", + "title": "SCO.12 - Close Stake - 2", "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 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", "arguments": [ { "type": "String", @@ -5922,14 +5322,7 @@ }, { "type": "Optional", - "value": { - "type": "UInt32", - "value": "42" - } - }, - { - "type": "UFix64", - "value": "92233720368.54775808" + "value": null } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -5945,7 +5338,7 @@ ] }, "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 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", "arguments": [ { "type": "String", @@ -5953,14 +5346,7 @@ }, { "type": "Optional", - "value": { - "type": "UInt32", - "value": "42" - } - }, - { - "type": "UFix64", - "value": "92233720368.54775808" + "value": null } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -5976,29 +5362,25 @@ ], "payloadSigs": [] }, - "encodedTransactionPayloadHex": "f90430b90320696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f20436f6d6d697473206e657720746f6b656e7320746f207374616b6520666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f2054686520746f6b656e732066726f6d20746865206c6f636b6564207661756c742061726520757365642066697273742c206966206974206578697374730a2f2f2f20666f6c6c6f7765642062792074686520746f6b656e732066726f6d2074686520756e6c6f636b6564207661756c740a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e7374616b654e6577546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8cbb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db83a7b2274797065223a224f7074696f6e616c222c2276616c7565223a7b2274797065223a2255496e743332222c2276616c7565223a223432227d7db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f90434f90430b90320696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f20436f6d6d697473206e657720746f6b656e7320746f207374616b6520666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f2054686520746f6b656e732066726f6d20746865206c6f636b6564207661756c742061726520757365642066697273742c206966206974206578697374730a2f2f2f20666f6c6c6f7765642062792074686520746f6b656e732066726f6d2074686520756e6c6f636b6564207661756c740a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e7374616b654e6577546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8cbb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db83a7b2274797065223a224f7074696f6e616c222c2276616c7565223a7b2274797065223a2255496e743332222c2276616c7565223a223432227d7db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "021307928440cee4289235793d6ff860a24315f7b6a5d5907a145dcc5f83702a2c8e10ac56db8ec5d5e0051d3c9608fabc8edd6abed983f6d3a254e7668a54b32b5374616b65204e657720546f6b656e730003014e6f64652049440000537472696e6700030244656c656761746f72204944000155496e743332000301416d6f756e7400025546697836340003", - "hash": "8e10ac56db8ec5d5e0051d3c9608fabc8edd6abed983f6d3a254e7668a54b32b" + "encodedTransactionPayloadHex": "f903b2b902ee696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f20436c6f736573206f75742061207374616b696e67206f626a65637420696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f205468697320646f6573206e6f742072656d6f766520746865207265636f72642066726f6d20746865206964656e74697479207461626c652c0a2f2f2062757420697420646f6573206d65616e207468617420746865206163636f756e74207468617420636c6f7365732069742063616e6e6f7420657665722061636365737320697420616761696e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f29207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e636c6f73655374616b65286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f724944290a202020207d0a7d0af87fb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227da07b2274797065223a224f7074696f6e616c222c2276616c7565223a6e756c6c7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", + "encodedTransactionEnvelopeHex": "f903b6f903b2b902ee696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f20436c6f736573206f75742061207374616b696e67206f626a65637420696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f205468697320646f6573206e6f742072656d6f766520746865207265636f72642066726f6d20746865206964656e74697479207461626c652c0a2f2f2062757420697420646f6573206d65616e207468617420746865206163636f756e74207468617420636c6f7365732069742063616e6e6f7420657665722061636365737320697420616761696e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f29207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e636c6f73655374616b65286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f724944290a202020207d0a7d0af87fb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227da07b2274797065223a224f7074696f6e616c222c2276616c7565223a6e756c6c7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", + "metadata": "02079aaa9cfb22138415056b43d5d91e8d73bd8bd5f37ebff4f4023d33ea6d2f25ecdffc1ae67479bc20c06eba6c776ff37b9523660ff1cd3129a3924d92484884436c6f7365205374616b650002014e6f64652049440000537472696e6700030244656c656761746f72204944000155496e7433320003", + "hash": "ecdffc1ae67479bc20c06eba6c776ff37b9523660ff1cd3129a3924d92484884" }, { - "title": "SCO.07 - Stake Rewarded Tokens - 1", + "title": "SCO.13 - Transfer Node", "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 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}", "arguments": [ { "type": "String", "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" }, { - "type": "Optional", - "value": null - }, - { - "type": "UFix64", - "value": "92233720368.54775808" + "type": "Address", + "value": "0xe467b9dd11fa00df" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -6014,19 +5396,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": "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}", "arguments": [ { "type": "String", "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" }, { - "type": "Optional", - "value": null - }, - { - "type": "UFix64", - "value": "92233720368.54775808" + "type": "Address", + "value": "0xe467b9dd11fa00df" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -6042,32 +5420,29 @@ ], "payloadSigs": [] }, - "encodedTransactionPayloadHex": "f903aab902b5696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f20436f6d6d69747320726577617264656420746f6b656e7320746f207374616b6520666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e7374616b655265776172646564546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8b0b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227da07b2274797065223a224f7074696f6e616c222c2276616c7565223a6e756c6c7db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f903aef903aab902b5696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f20436f6d6d69747320726577617264656420746f6b656e7320746f207374616b6520666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e7374616b655265776172646564546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8b0b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227da07b2274797065223a224f7074696f6e616c222c2276616c7565223a6e756c6c7db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "02d7aca7113a7aa03e0afd20ee36f4873779708a02ac4c6985017740c2ecea3d62907c4cfd67a98a8003393c64dc74eb7a957b229352a266139a542bb105ac4c405374616b6520526577617264656420546f6b656e730003014e6f64652049440000537472696e6700030244656c656761746f72204944000155496e743332000301416d6f756e7400025546697836340003", - "hash": "907c4cfd67a98a8003393c64dc74eb7a957b229352a266139a542bb105ac4c40" + "encodedTransactionPayloadHex": "f90907b90834696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f205472616e73666572732061204e6f64655374616b6572206f626a6563742066726f6d20616e20617574686f72697a657273206163636f6f756e740a2f2f20616e64206164647320746865204e6f64655374616b657220746f20616e6f74686572206163636f756e7473205374616b696e6720436f6c6c656374696f6e0a2f2f206964656e7469666965642062792074686520746f20416464726573732e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c20746f3a204164647265737329207b0a202020206c65742066726f6d5374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a202020206c657420746f5374616b696e67436f6c6c656374696f6e4361703a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e7b466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e5075626c69637d0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a20202020202020202f2f20546865206163636f756e7420746f207472616e7366657220746865204e6f64655374616b6572206f626a65637420746f206d757374206861766520612076616c6964205374616b696e6720436f6c6c656374696f6e20696e206f7264657220746f207265636569766520746865204e6f64655374616b65722e0a20202020202020206966202821466c6f775374616b696e67436f6c6c656374696f6e2e646f65734163636f756e74486176655374616b696e67436f6c6c656374696f6e28616464726573733a20746f2929207b0a20202020202020202020202070616e6963282244657374696e6174696f6e206163636f756e74206d75737420686176652061205374616b696e6720436f6c6c656374696f6e207365742075702e22290a20202020202020207d0a0a20202020202020202f2f204765742061207265666572656e636520746f2074686520617574686f72697a657273205374616b696e67436f6c6c656374696f6e0a202020202020202073656c662e66726f6d5374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a0a20202020202020202f2f2047657420746865205075626c69634163636f756e74206f6620746865206163636f756e7420746f207472616e7366657220746865204e6f64655374616b657220746f2e200a20202020202020206c657420746f4163636f756e74203d206765744163636f756e7428746f290a0a20202020202020202f2f20426f72726f772061206361706162696c69747920746f20746865207075626c6963206d6574686f647320617661696c61626c65206f6e2074686520726563656976657273205374616b696e67436f6c6c656374696f6e2e0a202020202020202073656c662e746f5374616b696e67436f6c6c656374696f6e436170203d20746f4163636f756e742e6765744361706162696c6974793c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e7b466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e5075626c69637d3e28466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e5075626c696350617468292e626f72726f7728290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a0a20202020202020206c6574206d616368696e654163636f756e74496e666f203d2073656c662e66726f6d5374616b696e67436f6c6c656374696f6e5265662e6765744d616368696e654163636f756e747328295b6e6f646549445d0a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420676574206d616368696e65206163636f756e7420696e666f20666f722074686520737065636966696564206e6f646520494422290a0a20202020202020202f2f2052656d6f766520746865204e6f64655374616b65722066726f6d2074686520617574686f72697a657273205374616b696e67436f6c6c656374696f6e2e0a20202020202020206c6574206e6f64655374616b6572203c2d2073656c662e66726f6d5374616b696e67436f6c6c656374696f6e5265662e72656d6f76654e6f6465286e6f646549443a206e6f64654944290a0a20202020202020202f2f204465706f73697420746865204e6f64655374616b657220746f2074686520726563656976657273205374616b696e67436f6c6c656374696f6e2e0a202020202020202073656c662e746f5374616b696e67436f6c6c656374696f6e4361702e6164644e6f64654f626a656374283c2d206e6f64655374616b6572212c206d616368696e654163636f756e74496e666f3a206d616368696e654163636f756e74496e666f290a202020207d0a7df88eb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227daf7b2274797065223a2241646472657373222c2276616c7565223a22307865343637623964643131666130306466227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", + "encodedTransactionEnvelopeHex": "f9090bf90907b90834696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f205472616e73666572732061204e6f64655374616b6572206f626a6563742066726f6d20616e20617574686f72697a657273206163636f6f756e740a2f2f20616e64206164647320746865204e6f64655374616b657220746f20616e6f74686572206163636f756e7473205374616b696e6720436f6c6c656374696f6e0a2f2f206964656e7469666965642062792074686520746f20416464726573732e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c20746f3a204164647265737329207b0a202020206c65742066726f6d5374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a202020206c657420746f5374616b696e67436f6c6c656374696f6e4361703a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e7b466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e5075626c69637d0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a20202020202020202f2f20546865206163636f756e7420746f207472616e7366657220746865204e6f64655374616b6572206f626a65637420746f206d757374206861766520612076616c6964205374616b696e6720436f6c6c656374696f6e20696e206f7264657220746f207265636569766520746865204e6f64655374616b65722e0a20202020202020206966202821466c6f775374616b696e67436f6c6c656374696f6e2e646f65734163636f756e74486176655374616b696e67436f6c6c656374696f6e28616464726573733a20746f2929207b0a20202020202020202020202070616e6963282244657374696e6174696f6e206163636f756e74206d75737420686176652061205374616b696e6720436f6c6c656374696f6e207365742075702e22290a20202020202020207d0a0a20202020202020202f2f204765742061207265666572656e636520746f2074686520617574686f72697a657273205374616b696e67436f6c6c656374696f6e0a202020202020202073656c662e66726f6d5374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a0a20202020202020202f2f2047657420746865205075626c69634163636f756e74206f6620746865206163636f756e7420746f207472616e7366657220746865204e6f64655374616b657220746f2e200a20202020202020206c657420746f4163636f756e74203d206765744163636f756e7428746f290a0a20202020202020202f2f20426f72726f772061206361706162696c69747920746f20746865207075626c6963206d6574686f647320617661696c61626c65206f6e2074686520726563656976657273205374616b696e67436f6c6c656374696f6e2e0a202020202020202073656c662e746f5374616b696e67436f6c6c656374696f6e436170203d20746f4163636f756e742e6765744361706162696c6974793c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e7b466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e5075626c69637d3e28466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e5075626c696350617468292e626f72726f7728290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a0a20202020202020206c6574206d616368696e654163636f756e74496e666f203d2073656c662e66726f6d5374616b696e67436f6c6c656374696f6e5265662e6765744d616368696e654163636f756e747328295b6e6f646549445d0a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420676574206d616368696e65206163636f756e7420696e666f20666f722074686520737065636966696564206e6f646520494422290a0a20202020202020202f2f2052656d6f766520746865204e6f64655374616b65722066726f6d2074686520617574686f72697a657273205374616b696e67436f6c6c656374696f6e2e0a20202020202020206c6574206e6f64655374616b6572203c2d2073656c662e66726f6d5374616b696e67436f6c6c656374696f6e5265662e72656d6f76654e6f6465286e6f646549443a206e6f64654944290a0a20202020202020202f2f204465706f73697420746865204e6f64655374616b657220746f2074686520726563656976657273205374616b696e67436f6c6c656374696f6e2e0a202020202020202073656c662e746f5374616b696e67436f6c6c656374696f6e4361702e6164644e6f64654f626a656374283c2d206e6f64655374616b6572212c206d616368696e654163636f756e74496e666f3a206d616368696e654163636f756e74496e666f290a202020207d0a7df88eb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227daf7b2274797065223a2241646472657373222c2276616c7565223a22307865343637623964643131666130306466227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", + "metadata": "022386d7ae1a5b936e3914729ee34e01d53a8fbd2e403512ec1beccb4062c231ebcdc3a63d0c75ea95b414becb6fbb8f5a8004236d48661cd3c3d4f540ee4d422e5472616e73666572204e6f64650002014e6f64652049440000537472696e67000301416464726573730001416464726573730003", + "hash": "cdc3a63d0c75ea95b414becb6fbb8f5a8004236d48661cd3c3d4f540ee4d422e" }, { - "title": "SCO.07 - Stake Rewarded Tokens - 2", + "title": "SCO.14 - Transfer Delegator", "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 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}", "arguments": [ { "type": "String", "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" }, { - "type": "Optional", - "value": { - "type": "UInt32", - "value": "42" - } + "type": "UInt32", + "value": "42" }, { - "type": "UFix64", - "value": "92233720368.54775808" + "type": "Address", + "value": "0xe467b9dd11fa00df" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -6083,22 +5458,19 @@ ] }, "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 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}", "arguments": [ { "type": "String", "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" }, { - "type": "Optional", - "value": { - "type": "UInt32", - "value": "42" - } + "type": "UInt32", + "value": "42" }, { - "type": "UFix64", - "value": "92233720368.54775808" + "type": "Address", + "value": "0xe467b9dd11fa00df" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -6114,26 +5486,22 @@ ], "payloadSigs": [] }, - "encodedTransactionPayloadHex": "f903c5b902b5696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f20436f6d6d69747320726577617264656420746f6b656e7320746f207374616b6520666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e7374616b655265776172646564546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8cbb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db83a7b2274797065223a224f7074696f6e616c222c2276616c7565223a7b2274797065223a2255496e743332222c2276616c7565223a223432227d7db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f903c9f903c5b902b5696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f20436f6d6d69747320726577617264656420746f6b656e7320746f207374616b6520666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e7374616b655265776172646564546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8cbb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db83a7b2274797065223a224f7074696f6e616c222c2276616c7565223a7b2274797065223a2255496e743332222c2276616c7565223a223432227d7db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "02d7aca7113a7aa03e0afd20ee36f4873779708a02ac4c6985017740c2ecea3d62907c4cfd67a98a8003393c64dc74eb7a957b229352a266139a542bb105ac4c405374616b6520526577617264656420546f6b656e730003014e6f64652049440000537472696e6700030244656c656761746f72204944000155496e743332000301416d6f756e7400025546697836340003", - "hash": "907c4cfd67a98a8003393c64dc74eb7a957b229352a266139a542bb105ac4c40" + "encodedTransactionPayloadHex": "f908b4b907c2696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f205472616e73666572732061204e6f646544656c656761746f72206f626a6563742066726f6d20616e20617574686f72697a657273206163636f6f756e740a2f2f20616e64206164647320746865204e6f646544656c656761746f7220746f20616e6f74686572206163636f756e7473205374616b696e6720436f6c6c656374696f6e0a2f2f206964656e7469666965642062792074686520746f20416464726573732e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433322c20746f3a204164647265737329207b0a202020206c65742066726f6d5374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a202020206c657420746f5374616b696e67436f6c6c656374696f6e4361703a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e7b466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e5075626c69637d0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a20202020202020202f2f20546865206163636f756e7420746f207472616e7366657220746865204e6f646544656c656761746f72206f626a65637420746f206d757374206861766520612076616c6964205374616b696e6720436f6c6c656374696f6e20696e206f7264657220746f207265636569766520746865204e6f646544656c656761746f722e0a20202020202020206966202821466c6f775374616b696e67436f6c6c656374696f6e2e646f65734163636f756e74486176655374616b696e67436f6c6c656374696f6e28616464726573733a20746f2929207b0a20202020202020202020202070616e6963282244657374696e6174696f6e206163636f756e74206d75737420686176652061205374616b696e6720436f6c6c656374696f6e207365742075702e22290a20202020202020207d0a0a20202020202020202f2f204765742061207265666572656e636520746f2074686520617574686f72697a657273205374616b696e67436f6c6c656374696f6e0a202020202020202073656c662e66726f6d5374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a0a20202020202020202f2f2047657420746865205075626c69634163636f756e74206f6620746865206163636f756e7420746f207472616e7366657220746865204e6f646544656c656761746f7220746f2e200a20202020202020206c657420746f4163636f756e74203d206765744163636f756e7428746f290a0a20202020202020202f2f20426f72726f772061206361706162696c69747920746f20746865207075626c6963206d6574686f647320617661696c61626c65206f6e2074686520726563656976657273205374616b696e67436f6c6c656374696f6e2e0a202020202020202073656c662e746f5374616b696e67436f6c6c656374696f6e436170203d20746f4163636f756e742e6765744361706162696c6974793c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e7b466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e5075626c69637d3e28466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e5075626c696350617468292e626f72726f7728290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a20202020202020202f2f2052656d6f766520746865204e6f646544656c656761746f722066726f6d2074686520617574686f72697a657273205374616b696e67436f6c6c656374696f6e2e0a20202020202020206c6574206e6f646544656c656761746f72203c2d2073656c662e66726f6d5374616b696e67436f6c6c656374696f6e5265662e72656d6f766544656c656761746f72286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f724944290a0a20202020202020202f2f204465706f73697420746865204e6f646544656c656761746f7220746f2074686520726563656976657273205374616b696e67436f6c6c656374696f6e2e0a202020202020202073656c662e746f5374616b696e67436f6c6c656374696f6e4361702e61646444656c656761746f724f626a656374283c2d206e6f646544656c656761746f7221290a202020207d0a7df8adb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227d9e7b2274797065223a2255496e743332222c2276616c7565223a223432227daf7b2274797065223a2241646472657373222c2276616c7565223a22307865343637623964643131666130306466227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", + "encodedTransactionEnvelopeHex": "f908b8f908b4b907c2696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f205472616e73666572732061204e6f646544656c656761746f72206f626a6563742066726f6d20616e20617574686f72697a657273206163636f6f756e740a2f2f20616e64206164647320746865204e6f646544656c656761746f7220746f20616e6f74686572206163636f756e7473205374616b696e6720436f6c6c656374696f6e0a2f2f206964656e7469666965642062792074686520746f20416464726573732e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433322c20746f3a204164647265737329207b0a202020206c65742066726f6d5374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a202020206c657420746f5374616b696e67436f6c6c656374696f6e4361703a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e7b466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e5075626c69637d0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a20202020202020202f2f20546865206163636f756e7420746f207472616e7366657220746865204e6f646544656c656761746f72206f626a65637420746f206d757374206861766520612076616c6964205374616b696e6720436f6c6c656374696f6e20696e206f7264657220746f207265636569766520746865204e6f646544656c656761746f722e0a20202020202020206966202821466c6f775374616b696e67436f6c6c656374696f6e2e646f65734163636f756e74486176655374616b696e67436f6c6c656374696f6e28616464726573733a20746f2929207b0a20202020202020202020202070616e6963282244657374696e6174696f6e206163636f756e74206d75737420686176652061205374616b696e6720436f6c6c656374696f6e207365742075702e22290a20202020202020207d0a0a20202020202020202f2f204765742061207265666572656e636520746f2074686520617574686f72697a657273205374616b696e67436f6c6c656374696f6e0a202020202020202073656c662e66726f6d5374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a0a20202020202020202f2f2047657420746865205075626c69634163636f756e74206f6620746865206163636f756e7420746f207472616e7366657220746865204e6f646544656c656761746f7220746f2e200a20202020202020206c657420746f4163636f756e74203d206765744163636f756e7428746f290a0a20202020202020202f2f20426f72726f772061206361706162696c69747920746f20746865207075626c6963206d6574686f647320617661696c61626c65206f6e2074686520726563656976657273205374616b696e67436f6c6c656374696f6e2e0a202020202020202073656c662e746f5374616b696e67436f6c6c656374696f6e436170203d20746f4163636f756e742e6765744361706162696c6974793c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e7b466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e5075626c69637d3e28466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e5075626c696350617468292e626f72726f7728290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a20202020202020202f2f2052656d6f766520746865204e6f646544656c656761746f722066726f6d2074686520617574686f72697a657273205374616b696e67436f6c6c656374696f6e2e0a20202020202020206c6574206e6f646544656c656761746f72203c2d2073656c662e66726f6d5374616b696e67436f6c6c656374696f6e5265662e72656d6f766544656c656761746f72286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f724944290a0a20202020202020202f2f204465706f73697420746865204e6f646544656c656761746f7220746f2074686520726563656976657273205374616b696e67436f6c6c656374696f6e2e0a202020202020202073656c662e746f5374616b696e67436f6c6c656374696f6e4361702e61646444656c656761746f724f626a656374283c2d206e6f646544656c656761746f7221290a202020207d0a7df8adb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227d9e7b2274797065223a2255496e743332222c2276616c7565223a223432227daf7b2274797065223a2241646472657373222c2276616c7565223a22307865343637623964643131666130306466227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", + "metadata": "0253b096b4850a30894e7b272ec5c39e2b2f4a23f8c40e76a3c64cfc63dc2999b6b34d6fafcc5a4d0ed9cf92e168a08d0674c93341e2393ee72dde6664918ec2405472616e736665722044656c656761746f720003014e6f64652049440000537472696e6700030144656c656761746f72204944000155496e743332000301416464726573730002416464726573730003", + "hash": "b34d6fafcc5a4d0ed9cf92e168a08d0674c93341e2393ee72dde6664918ec240" }, { - "title": "SCO.08 - Stake Unstaked Tokens - 1", + "title": "SCO.15 - Withdraw From Machine Account", "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/// 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": "Optional", - "value": null - }, { "type": "UFix64", "value": "92233720368.54775808" @@ -6152,16 +5520,12 @@ ] }, "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/// 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": "Optional", - "value": null - }, { "type": "UFix64", "value": "92233720368.54775808" @@ -6180,32 +5544,25 @@ ], "payloadSigs": [] }, - "encodedTransactionPayloadHex": "f903aab902b5696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f20436f6d6d69747320756e7374616b656420746f6b656e7320746f207374616b6520666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e7374616b65556e7374616b6564546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8b0b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227da07b2274797065223a224f7074696f6e616c222c2276616c7565223a6e756c6c7db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f903aef903aab902b5696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f20436f6d6d69747320756e7374616b656420746f6b656e7320746f207374616b6520666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e7374616b65556e7374616b6564546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8b0b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227da07b2274797065223a224f7074696f6e616c222c2276616c7565223a6e756c6c7db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "023595fcd68cff445c65ad99f8d4d726b5e28807b061800769c41cbe3adb98aeec082e690b9647182cf6969db1a0fa8e0f1728da6db01fe0d462e9f0841c268cbb5374616b6520556e7374616b656420546f6b656e730003014e6f64652049440000537472696e6700030244656c656761746f72204944000155496e743332000301416d6f756e7400025546697836340003", - "hash": "082e690b9647182cf6969db1a0fa8e0f1728da6db01fe0d462e9f0841c268cbb" + "encodedTransactionPayloadHex": "f9037eb902aa696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f205265717565737420746f20776974686472617720746f6b656e732066726f6d20746865206d616368696e65206163636f756e740a2f2f2f2054686520746f6b656e7320617265206175746f6d61746963616c6c79206465706f736974656420746f2074686520756e6c6f636b6564206163636f756e74207661756c740a0a7472616e73616374696f6e286e6f646549443a20537472696e672c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e776974686472617746726f6d4d616368696e654163636f756e74286e6f646549443a206e6f646549442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af88fb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", + "encodedTransactionEnvelopeHex": "f90382f9037eb902aa696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f205265717565737420746f20776974686472617720746f6b656e732066726f6d20746865206d616368696e65206163636f756e740a2f2f2f2054686520746f6b656e7320617265206175746f6d61746963616c6c79206465706f736974656420746f2074686520756e6c6f636b6564206163636f756e74207661756c740a0a7472616e73616374696f6e286e6f646549443a20537472696e672c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e776974686472617746726f6d4d616368696e654163636f756e74286e6f646549443a206e6f646549442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af88fb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", + "metadata": "0239a126038522c6c964d53aaf78dde55bfe80929091510792fe49678bb22cbd96f9c48e18bda7f113e82711a4c95dfd151c6600ed9fbf46ceb22566d6c5728c6f57697468647261772046726f6d204d616368696e65204163636f756e740002014e6f64652049440000537472696e67000301416d6f756e7400015546697836340003", + "hash": "f9c48e18bda7f113e82711a4c95dfd151c6600ed9fbf46ceb22566d6c5728c6f" }, { - "title": "SCO.08 - Stake Unstaked Tokens - 2", + "title": "SCO.16 - Update Networking 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 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", "arguments": [ { "type": "String", "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" }, { - "type": "Optional", - "value": { - "type": "UInt32", - "value": "42" - } - }, - { - "type": "UFix64", - "value": "92233720368.54775808" + "type": "String", + "value": "flow-node.test:3569" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -6221,22 +5578,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/// 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": "Optional", - "value": { - "type": "UInt32", - "value": "42" - } - }, - { - "type": "UFix64", - "value": "92233720368.54775808" + "type": "String", + "value": "flow-node.test:3569" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -6252,23 +5602,18 @@ ], "payloadSigs": [] }, - "encodedTransactionPayloadHex": "f903c5b902b5696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f20436f6d6d69747320756e7374616b656420746f6b656e7320746f207374616b6520666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e7374616b65556e7374616b6564546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8cbb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db83a7b2274797065223a224f7074696f6e616c222c2276616c7565223a7b2274797065223a2255496e743332222c2276616c7565223a223432227d7db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f903c9f903c5b902b5696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f20436f6d6d69747320756e7374616b656420746f6b656e7320746f207374616b6520666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e7374616b65556e7374616b6564546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8cbb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db83a7b2274797065223a224f7074696f6e616c222c2276616c7565223a7b2274797065223a2255496e743332222c2276616c7565223a223432227d7db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "023595fcd68cff445c65ad99f8d4d726b5e28807b061800769c41cbe3adb98aeec082e690b9647182cf6969db1a0fa8e0f1728da6db01fe0d462e9f0841c268cbb5374616b6520556e7374616b656420546f6b656e730003014e6f64652049440000537472696e6700030244656c656761746f72204944000155496e743332000301416d6f756e7400025546697836340003", - "hash": "082e690b9647182cf6969db1a0fa8e0f1728da6db01fe0d462e9f0841c268cbb" + "encodedTransactionPayloadHex": "f9033fb9026c696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f204368616e67657320746865206e6574776f726b696e67206164647265737320666f722074686520737065636966696564206e6f64650a0a7472616e73616374696f6e286e6f646549443a20537472696e672c206e6577416464726573733a20537472696e6729207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e7570646174654e6574776f726b696e6741646472657373286e6f646549443a206e6f646549442c206e6577416464726573733a206e657741646472657373290a202020207d0a7d0af88eb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227daf7b2274797065223a22537472696e67222c2276616c7565223a22666c6f772d6e6f64652e746573743a33353639227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", + "encodedTransactionEnvelopeHex": "f90343f9033fb9026c696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f204368616e67657320746865206e6574776f726b696e67206164647265737320666f722074686520737065636966696564206e6f64650a0a7472616e73616374696f6e286e6f646549443a20537472696e672c206e6577416464726573733a20537472696e6729207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e7570646174654e6574776f726b696e6741646472657373286e6f646549443a206e6f646549442c206e6577416464726573733a206e657741646472657373290a202020207d0a7d0af88eb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227daf7b2274797065223a22537472696e67222c2276616c7565223a22666c6f772d6e6f64652e746573743a33353639227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", + "metadata": "0260f2cf219d56b19dc7fd223caed42dda9143c87b1b0d2c21a9652e12a3714133ff067b40ac67020ef864cd14842f62023254da34dd2ded56affa1364305bf1c5557064617465204e6574776f726b696e6720416464726573730002014e6f64652049440000537472696e67000301416464726573730001537472696e670003", + "hash": "ff067b40ac67020ef864cd14842f62023254da34dd2ded56affa1364305bf1c5" }, { - "title": "SCO.09 - Unstake All", + "title": "FUSD.01 - Setup FUSD Vault", "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", - "arguments": [ - { - "type": "String", - "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" - } - ], + "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": [], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", "gasLimit": 42, "proposalKey": { @@ -6282,13 +5627,8 @@ ] }, "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", - "arguments": [ - { - "type": "String", - "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" - } - ], + "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": [], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", "gasLimit": 42, "proposalKey": { @@ -6302,32 +5642,25 @@ ], "payloadSigs": [] }, - "encodedTransactionPayloadHex": "f902fdb9025a696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f20526571756573747320746f20756e7374616b6520414c4c20746f6b656e7320666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a0a7472616e73616374696f6e286e6f646549443a20537472696e6729207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e756e7374616b65416c6c286e6f646549443a206e6f64654944290a202020207d0a7d0af85eb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f90301f902fdb9025a696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f20526571756573747320746f20756e7374616b6520414c4c20746f6b656e7320666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a0a7472616e73616374696f6e286e6f646549443a20537472696e6729207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e756e7374616b65416c6c286e6f646549443a206e6f64654944290a202020207d0a7d0af85eb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "020bde358f3965ba2f4c18fb45b6536857c3f53d7d3b740fe66fe93a4ebf7524c1df9c6486baa6f8f685368ea216659239cb81fa8ebd9062a9723edb54ca0d7525556e7374616b6520416c6c0001014e6f64652049440000537472696e670003", - "hash": "df9c6486baa6f8f685368ea216659239cb81fa8ebd9062a9723edb54ca0d7525" + "encodedTransactionPayloadHex": "f9057ab905362f2f2054686973207472616e73616374696f6e20636f6e6669677572657320746865207369676e65722773206163636f756e74207769746820616e20656d7074792046555344207661756c742e0a2f2f0a2f2f20497420616c736f206c696e6b732074686520666f6c6c6f77696e67206361706162696c69746965733a0a2f2f0a2f2f202d2046756e6769626c65546f6b656e2e52656365697665723a2074686973206361706162696c69747920616c6c6f77732074686973206163636f756e7420746f206163636570742046555344206465706f736974732e0a2f2f202d2046756e6769626c65546f6b656e2e42616c616e63653a2074686973206361706162696c69747920616c6c6f777320616e79626f647920746f20696e73706563742074686520465553442062616c616e6365206f662074686973206163636f756e742e0a0a696d706f72742046756e6769626c65546f6b656e2066726f6d203078663233336463656538386665306162650a696d706f727420465553442066726f6d203078336335393539623536383839363339330a0a7472616e73616374696f6e207b0a0a2020202070726570617265287369676e65723a20417574684163636f756e7429207b0a0a20202020202020202f2f2049742773204f4b20696620746865206163636f756e7420616c7265616479206861732061205661756c742c2062757420776520646f6e27742077616e7420746f207265706c6163652069740a20202020202020206966287369676e65722e626f72726f773c26465553442e5661756c743e2866726f6d3a202f73746f726167652f667573645661756c742920213d206e696c29207b0a20202020202020202020202072657475726e0a20202020202020207d0a20202020202020200a20202020202020202f2f204372656174652061206e65772046555344205661756c7420616e642070757420697420696e2073746f726167650a20202020202020207369676e65722e73617665283c2d465553442e637265617465456d7074795661756c7428292c20746f3a202f73746f726167652f667573645661756c74290a0a20202020202020202f2f204372656174652061207075626c6963206361706162696c69747920746f20746865205661756c742074686174206f6e6c79206578706f7365730a20202020202020202f2f20746865206465706f7369742066756e6374696f6e207468726f7567682074686520526563656976657220696e746572666163650a20202020202020207369676e65722e6c696e6b3c26465553442e5661756c747b46756e6769626c65546f6b656e2e52656365697665727d3e280a2020202020202020202020202f7075626c69632f6675736452656365697665722c0a2020202020202020202020207461726765743a202f73746f726167652f667573645661756c740a2020202020202020290a0a20202020202020202f2f204372656174652061207075626c6963206361706162696c69747920746f20746865205661756c742074686174206f6e6c79206578706f7365730a20202020202020202f2f207468652062616c616e6365206669656c64207468726f756768207468652042616c616e636520696e746572666163650a20202020202020207369676e65722e6c696e6b3c26465553442e5661756c747b46756e6769626c65546f6b656e2e42616c616e63657d3e280a2020202020202020202020202f7075626c69632f6675736442616c616e63652c0a2020202020202020202020207461726765743a202f73746f726167652f667573645661756c740a2020202020202020290a202020207d0a7d0ac0a0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", + "encodedTransactionEnvelopeHex": "f9057ef9057ab905362f2f2054686973207472616e73616374696f6e20636f6e6669677572657320746865207369676e65722773206163636f756e74207769746820616e20656d7074792046555344207661756c742e0a2f2f0a2f2f20497420616c736f206c696e6b732074686520666f6c6c6f77696e67206361706162696c69746965733a0a2f2f0a2f2f202d2046756e6769626c65546f6b656e2e52656365697665723a2074686973206361706162696c69747920616c6c6f77732074686973206163636f756e7420746f206163636570742046555344206465706f736974732e0a2f2f202d2046756e6769626c65546f6b656e2e42616c616e63653a2074686973206361706162696c69747920616c6c6f777320616e79626f647920746f20696e73706563742074686520465553442062616c616e6365206f662074686973206163636f756e742e0a0a696d706f72742046756e6769626c65546f6b656e2066726f6d203078663233336463656538386665306162650a696d706f727420465553442066726f6d203078336335393539623536383839363339330a0a7472616e73616374696f6e207b0a0a2020202070726570617265287369676e65723a20417574684163636f756e7429207b0a0a20202020202020202f2f2049742773204f4b20696620746865206163636f756e7420616c7265616479206861732061205661756c742c2062757420776520646f6e27742077616e7420746f207265706c6163652069740a20202020202020206966287369676e65722e626f72726f773c26465553442e5661756c743e2866726f6d3a202f73746f726167652f667573645661756c742920213d206e696c29207b0a20202020202020202020202072657475726e0a20202020202020207d0a20202020202020200a20202020202020202f2f204372656174652061206e65772046555344205661756c7420616e642070757420697420696e2073746f726167650a20202020202020207369676e65722e73617665283c2d465553442e637265617465456d7074795661756c7428292c20746f3a202f73746f726167652f667573645661756c74290a0a20202020202020202f2f204372656174652061207075626c6963206361706162696c69747920746f20746865205661756c742074686174206f6e6c79206578706f7365730a20202020202020202f2f20746865206465706f7369742066756e6374696f6e207468726f7567682074686520526563656976657220696e746572666163650a20202020202020207369676e65722e6c696e6b3c26465553442e5661756c747b46756e6769626c65546f6b656e2e52656365697665727d3e280a2020202020202020202020202f7075626c69632f6675736452656365697665722c0a2020202020202020202020207461726765743a202f73746f726167652f667573645661756c740a2020202020202020290a0a20202020202020202f2f204372656174652061207075626c6963206361706162696c69747920746f20746865205661756c742074686174206f6e6c79206578706f7365730a20202020202020202f2f207468652062616c616e6365206669656c64207468726f756768207468652042616c616e636520696e746572666163650a20202020202020207369676e65722e6c696e6b3c26465553442e5661756c747b46756e6769626c65546f6b656e2e42616c616e63657d3e280a2020202020202020202020202f7075626c69632f6675736442616c616e63652c0a2020202020202020202020207461726765743a202f73746f726167652f667573645661756c740a2020202020202020290a202020207d0a7d0ac0a0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", + "metadata": "020ffaf77ab320ce4cc9602d39b89c85f094ebcea571ed324537e703bc07b0fdc4aa7fecdf159e71bd0b029e40b22643fb443161e67796f42bac68e9bab4630e2953657475702046555344205661756c740000", + "hash": "aa7fecdf159e71bd0b029e40b22643fb443161e67796f42bac68e9bab4630e29" }, { - "title": "SCO.10 - Withdraw Rewarded Tokens - 1", + "title": "FUSD.02 - Transfer FUSD", "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": "// 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", "arguments": [ - { - "type": "String", - "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" - }, - { - "type": "Optional", - "value": { - "type": "UInt32", - "value": "42" - } - }, { "type": "UFix64", "value": "92233720368.54775808" + }, + { + "type": "Address", + "value": "0xe467b9dd11fa00df" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -6343,22 +5676,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": "// 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", "arguments": [ - { - "type": "String", - "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" - }, - { - "type": "Optional", - "value": { - "type": "UInt32", - "value": "42" - } - }, { "type": "UFix64", "value": "92233720368.54775808" + }, + { + "type": "Address", + "value": "0xe467b9dd11fa00df" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -6374,31 +5700,18 @@ ], "payloadSigs": [] }, - "encodedTransactionPayloadHex": "f90466b90356696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f205265717565737420746f20776974686472617720726577617264656420746f6b656e7320666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f2054686520746f6b656e7320617265206175746f6d61746963616c6c79206465706f736974656420746f2074686520756e6c6f636b6564206163636f756e74207661756c742066697273742c0a2f2f2f20416e64207468656e20616e79206c6f636b656420746f6b656e7320617265206465706f736974656420696e746f20746865206c6f636b6564206163636f756e74207661756c740a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e77697468647261775265776172646564546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8cbb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db83a7b2274797065223a224f7074696f6e616c222c2276616c7565223a7b2274797065223a2255496e743332222c2276616c7565223a223432227d7db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f9046af90466b90356696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f205265717565737420746f20776974686472617720726577617264656420746f6b656e7320666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f2054686520746f6b656e7320617265206175746f6d61746963616c6c79206465706f736974656420746f2074686520756e6c6f636b6564206163636f756e74207661756c742066697273742c0a2f2f2f20416e64207468656e20616e79206c6f636b656420746f6b656e7320617265206465706f736974656420696e746f20746865206c6f636b6564206163636f756e74207661756c740a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e77697468647261775265776172646564546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8cbb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db83a7b2274797065223a224f7074696f6e616c222c2276616c7565223a7b2274797065223a2255496e743332222c2276616c7565223a223432227d7db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "023af182f568b37a8067d3fb524afcfe96991c85a928bf7651e730be0e15fdb72d27a2b60d538b8bb883b602ea83d1697986a29dd69a44a9209dc75affb9e63299576974686472617720526577617264656420546f6b656e730003014e6f64652049440000537472696e6700030244656c656761746f72204944000155496e743332000301416d6f756e7400025546697836340003", - "hash": "27a2b60d538b8bb883b602ea83d1697986a29dd69a44a9209dc75affb9e63299" + "encodedTransactionPayloadHex": "f90759b906b32f2f2054686973207472616e73616374696f6e2077697468647261777320465553442066726f6d20746865207369676e65722773206163636f756e7420616e64206465706f7369747320697420696e746f206120726563697069656e74206163636f756e742e200a2f2f2054686973207472616e73616374696f6e2077696c6c206661696c2069662074686520726563697069656e7420646f6573206e6f74206861766520616e20465553442072656365697665722e200a2f2f204e6f2066756e647320617265207472616e73666572726564206f72206c6f737420696620746865207472616e73616374696f6e206661696c732e0a2f2f0a2f2f20506172616d65746572733a0a2f2f202d20616d6f756e743a2054686520616d6f756e74206f66204655534420746f207472616e736665722028652e672e2031302e30290a2f2f202d20746f3a2054686520726563697069656e74206163636f756e7420616464726573732e0a2f2f0a2f2f2054686973207472616e73616374696f6e2077696c6c206661696c20696620656974686572207468652073656e646572206f7220726563697069656e7420646f6573206e6f7420686176650a2f2f20616e2046555344207661756c742073746f72656420696e207468656972206163636f756e742e20546f20636865636b20696620616e206163636f756e74206861732061207661756c740a2f2f206f7220696e697469616c697a652061206e6577207661756c742c2075736520636865636b5f667573645f7661756c745f73657475702e63646320616e642073657475705f667573645f7661756c742e6364630a2f2f20726573706563746976656c792e0a0a696d706f72742046756e6769626c65546f6b656e2066726f6d203078663233336463656538386665306162650a696d706f727420465553442066726f6d203078336335393539623536383839363339330a0a7472616e73616374696f6e28616d6f756e743a205546697836342c20746f3a204164647265737329207b0a0a202020202f2f20546865205661756c74207265736f75726365207468617420686f6c64732074686520746f6b656e73207468617420617265206265696e67207472616e736665727265640a202020206c65742073656e745661756c743a204046756e6769626c65546f6b656e2e5661756c740a0a2020202070726570617265287369676e65723a20417574684163636f756e7429207b0a20202020202020202f2f204765742061207265666572656e636520746f20746865207369676e657227732073746f726564207661756c740a20202020202020206c6574207661756c74526566203d207369676e65722e626f72726f773c26465553442e5661756c743e2866726f6d3a202f73746f726167652f667573645661756c74290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f20746865206f776e65722773205661756c742122290a0a20202020202020202f2f20576974686472617720746f6b656e732066726f6d20746865207369676e657227732073746f726564207661756c740a202020202020202073656c662e73656e745661756c74203c2d207661756c745265662e776974686472617728616d6f756e743a20616d6f756e74290a202020207d0a0a2020202065786563757465207b0a20202020202020202f2f204765742074686520726563697069656e742773207075626c6963206163636f756e74206f626a6563740a20202020202020206c657420726563697069656e74203d206765744163636f756e7428746f290a0a20202020202020202f2f204765742061207265666572656e636520746f2074686520726563697069656e7427732052656365697665720a20202020202020206c6574207265636569766572526566203d20726563697069656e742e6765744361706162696c697479282f7075626c69632f66757364526563656976657229212e626f72726f773c267b46756e6769626c65546f6b656e2e52656365697665727d3e28290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265636569766572207265666572656e636520746f2074686520726563697069656e742773205661756c7422290a0a20202020202020202f2f204465706f736974207468652077697468647261776e20746f6b656e7320696e2074686520726563697069656e7427732072656365697665720a202020202020202072656365697665725265662e6465706f7369742866726f6d3a203c2d73656c662e73656e745661756c74290a202020207d0a7d0af861b07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227daf7b2274797065223a2241646472657373222c2276616c7565223a22307865343637623964643131666130306466227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", + "encodedTransactionEnvelopeHex": "f9075df90759b906b32f2f2054686973207472616e73616374696f6e2077697468647261777320465553442066726f6d20746865207369676e65722773206163636f756e7420616e64206465706f7369747320697420696e746f206120726563697069656e74206163636f756e742e200a2f2f2054686973207472616e73616374696f6e2077696c6c206661696c2069662074686520726563697069656e7420646f6573206e6f74206861766520616e20465553442072656365697665722e200a2f2f204e6f2066756e647320617265207472616e73666572726564206f72206c6f737420696620746865207472616e73616374696f6e206661696c732e0a2f2f0a2f2f20506172616d65746572733a0a2f2f202d20616d6f756e743a2054686520616d6f756e74206f66204655534420746f207472616e736665722028652e672e2031302e30290a2f2f202d20746f3a2054686520726563697069656e74206163636f756e7420616464726573732e0a2f2f0a2f2f2054686973207472616e73616374696f6e2077696c6c206661696c20696620656974686572207468652073656e646572206f7220726563697069656e7420646f6573206e6f7420686176650a2f2f20616e2046555344207661756c742073746f72656420696e207468656972206163636f756e742e20546f20636865636b20696620616e206163636f756e74206861732061207661756c740a2f2f206f7220696e697469616c697a652061206e6577207661756c742c2075736520636865636b5f667573645f7661756c745f73657475702e63646320616e642073657475705f667573645f7661756c742e6364630a2f2f20726573706563746976656c792e0a0a696d706f72742046756e6769626c65546f6b656e2066726f6d203078663233336463656538386665306162650a696d706f727420465553442066726f6d203078336335393539623536383839363339330a0a7472616e73616374696f6e28616d6f756e743a205546697836342c20746f3a204164647265737329207b0a0a202020202f2f20546865205661756c74207265736f75726365207468617420686f6c64732074686520746f6b656e73207468617420617265206265696e67207472616e736665727265640a202020206c65742073656e745661756c743a204046756e6769626c65546f6b656e2e5661756c740a0a2020202070726570617265287369676e65723a20417574684163636f756e7429207b0a20202020202020202f2f204765742061207265666572656e636520746f20746865207369676e657227732073746f726564207661756c740a20202020202020206c6574207661756c74526566203d207369676e65722e626f72726f773c26465553442e5661756c743e2866726f6d3a202f73746f726167652f667573645661756c74290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f20746865206f776e65722773205661756c742122290a0a20202020202020202f2f20576974686472617720746f6b656e732066726f6d20746865207369676e657227732073746f726564207661756c740a202020202020202073656c662e73656e745661756c74203c2d207661756c745265662e776974686472617728616d6f756e743a20616d6f756e74290a202020207d0a0a2020202065786563757465207b0a20202020202020202f2f204765742074686520726563697069656e742773207075626c6963206163636f756e74206f626a6563740a20202020202020206c657420726563697069656e74203d206765744163636f756e7428746f290a0a20202020202020202f2f204765742061207265666572656e636520746f2074686520726563697069656e7427732052656365697665720a20202020202020206c6574207265636569766572526566203d20726563697069656e742e6765744361706162696c697479282f7075626c69632f66757364526563656976657229212e626f72726f773c267b46756e6769626c65546f6b656e2e52656365697665727d3e28290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265636569766572207265666572656e636520746f2074686520726563697069656e742773205661756c7422290a0a20202020202020202f2f204465706f736974207468652077697468647261776e20746f6b656e7320696e2074686520726563697069656e7427732072656365697665720a202020202020202072656365697665725265662e6465706f7369742866726f6d3a203c2d73656c662e73656e745661756c74290a202020207d0a7d0af861b07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227daf7b2274797065223a2241646472657373222c2276616c7565223a22307865343637623964643131666130306466227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", + "metadata": "02f22ca4b350a79c724f6471d5a6a7a0efa7ba9aeebb7fed2843a3ddd6e42c2e1c180cef7053a5f0ae66e19e3a96cc3b9eb7da29767fb5d6938239bf1f8e1dc2845472616e736665722046555344000201416d6f756e740000554669783634000301526563697069656e740001416464726573730003", + "hash": "180cef7053a5f0ae66e19e3a96cc3b9eb7da29767fb5d6938239bf1f8e1dc284" }, { - "title": "SCO.10 - Withdraw Rewarded Tokens - 2", + "title": "TS.01 - Set up Top Shot 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": null - }, - { - "type": "UFix64", - "value": "92233720368.54775808" - } - ], + "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": [], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", "gasLimit": 42, "proposalKey": { @@ -6412,21 +5725,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": null - }, - { - "type": "UFix64", - "value": "92233720368.54775808" - } - ], + "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": [], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", "gasLimit": 42, "proposalKey": { @@ -6440,29 +5740,25 @@ ], "payloadSigs": [] }, - "encodedTransactionPayloadHex": "f9044bb90356696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f205265717565737420746f20776974686472617720726577617264656420746f6b656e7320666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f2054686520746f6b656e7320617265206175746f6d61746963616c6c79206465706f736974656420746f2074686520756e6c6f636b6564206163636f756e74207661756c742066697273742c0a2f2f2f20416e64207468656e20616e79206c6f636b656420746f6b656e7320617265206465706f736974656420696e746f20746865206c6f636b6564206163636f756e74207661756c740a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e77697468647261775265776172646564546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8b0b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227da07b2274797065223a224f7074696f6e616c222c2276616c7565223a6e756c6c7db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f9044ff9044bb90356696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f205265717565737420746f20776974686472617720726577617264656420746f6b656e7320666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f2054686520746f6b656e7320617265206175746f6d61746963616c6c79206465706f736974656420746f2074686520756e6c6f636b6564206163636f756e74207661756c742066697273742c0a2f2f2f20416e64207468656e20616e79206c6f636b656420746f6b656e7320617265206465706f736974656420696e746f20746865206c6f636b6564206163636f756e74207661756c740a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e77697468647261775265776172646564546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8b0b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227da07b2274797065223a224f7074696f6e616c222c2276616c7565223a6e756c6c7db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "023af182f568b37a8067d3fb524afcfe96991c85a928bf7651e730be0e15fdb72d27a2b60d538b8bb883b602ea83d1697986a29dd69a44a9209dc75affb9e63299576974686472617720526577617264656420546f6b656e730003014e6f64652049440000537472696e6700030244656c656761746f72204944000155496e743332000301416d6f756e7400025546697836340003", - "hash": "27a2b60d538b8bb883b602ea83d1697986a29dd69a44a9209dc75affb9e63299" + "encodedTransactionPayloadHex": "f90384b90340696d706f727420546f7053686f742066726f6d203078306232613332393963633835376532390a0a2f2f2054686973207472616e73616374696f6e207365747320757020616e206163636f756e7420746f2075736520546f702053686f740a2f2f2062792073746f72696e6720616e20656d707479206d6f6d656e7420636f6c6c656374696f6e20616e64206372656174696e670a2f2f2061207075626c6963206361706162696c69747920666f722069740a0a7472616e73616374696f6e207b0a0a202020207072657061726528616363743a20417574684163636f756e7429207b0a0a20202020202020202f2f2046697273742c20636865636b20746f207365652069662061206d6f6d656e7420636f6c6c656374696f6e20616c7265616479206578697374730a2020202020202020696620616363742e626f72726f773c26546f7053686f742e436f6c6c656374696f6e3e2866726f6d3a202f73746f726167652f4d6f6d656e74436f6c6c656374696f6e29203d3d206e696c207b0a0a2020202020202020202020202f2f206372656174652061206e657720546f7053686f7420436f6c6c656374696f6e0a2020202020202020202020206c657420636f6c6c656374696f6e203c2d20546f7053686f742e637265617465456d707479436f6c6c656374696f6e2829206173212040546f7053686f742e436f6c6c656374696f6e0a0a2020202020202020202020202f2f2050757420746865206e657720436f6c6c656374696f6e20696e2073746f726167650a202020202020202020202020616363742e73617665283c2d636f6c6c656374696f6e2c20746f3a202f73746f726167652f4d6f6d656e74436f6c6c656374696f6e290a0a2020202020202020202020202f2f206372656174652061207075626c6963206361706162696c69747920666f722074686520636f6c6c656374696f6e0a202020202020202020202020616363742e6c696e6b3c267b546f7053686f742e4d6f6d656e74436f6c6c656374696f6e5075626c69637d3e282f7075626c69632f4d6f6d656e74436f6c6c656374696f6e2c207461726765743a202f73746f726167652f4d6f6d656e74436f6c6c656374696f6e290a20202020202020207d0a202020207d0a7dc0a0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", + "encodedTransactionEnvelopeHex": "f90388f90384b90340696d706f727420546f7053686f742066726f6d203078306232613332393963633835376532390a0a2f2f2054686973207472616e73616374696f6e207365747320757020616e206163636f756e7420746f2075736520546f702053686f740a2f2f2062792073746f72696e6720616e20656d707479206d6f6d656e7420636f6c6c656374696f6e20616e64206372656174696e670a2f2f2061207075626c6963206361706162696c69747920666f722069740a0a7472616e73616374696f6e207b0a0a202020207072657061726528616363743a20417574684163636f756e7429207b0a0a20202020202020202f2f2046697273742c20636865636b20746f207365652069662061206d6f6d656e7420636f6c6c656374696f6e20616c7265616479206578697374730a2020202020202020696620616363742e626f72726f773c26546f7053686f742e436f6c6c656374696f6e3e2866726f6d3a202f73746f726167652f4d6f6d656e74436f6c6c656374696f6e29203d3d206e696c207b0a0a2020202020202020202020202f2f206372656174652061206e657720546f7053686f7420436f6c6c656374696f6e0a2020202020202020202020206c657420636f6c6c656374696f6e203c2d20546f7053686f742e637265617465456d707479436f6c6c656374696f6e2829206173212040546f7053686f742e436f6c6c656374696f6e0a0a2020202020202020202020202f2f2050757420746865206e657720436f6c6c656374696f6e20696e2073746f726167650a202020202020202020202020616363742e73617665283c2d636f6c6c656374696f6e2c20746f3a202f73746f726167652f4d6f6d656e74436f6c6c656374696f6e290a0a2020202020202020202020202f2f206372656174652061207075626c6963206361706162696c69747920666f722074686520636f6c6c656374696f6e0a202020202020202020202020616363742e6c696e6b3c267b546f7053686f742e4d6f6d656e74436f6c6c656374696f6e5075626c69637d3e282f7075626c69632f4d6f6d656e74436f6c6c656374696f6e2c207461726765743a202f73746f726167652f4d6f6d656e74436f6c6c656374696f6e290a20202020202020207d0a202020207d0a7dc0a0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", + "metadata": "020f0baeef9353ceee607c5be3b7c0f86792dadf20b9e9c89e831adb0199e758827511848f1c27a173d966f4b868fd7efead7eeb1bbf04fc3f3e60dabc6c7f759353657420757020546f702053686f7420436f6c6c656374696f6e0000", + "hash": "7511848f1c27a173d966f4b868fd7efead7eeb1bbf04fc3f3e60dabc6c7f7593" }, { - "title": "SCO.11 - Withdraw Unstaked Tokens - 1", + "title": "TS.02 - Transfer Top Shot Moment", "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 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}", "arguments": [ { - "type": "String", - "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" - }, - { - "type": "Optional", - "value": null + "type": "Address", + "value": "0xe467b9dd11fa00df" }, { - "type": "UFix64", - "value": "92233720368.54775808" + "type": "UInt64", + "value": "42" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -6478,19 +5774,15 @@ ] }, "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 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}", "arguments": [ { - "type": "String", - "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" - }, - { - "type": "Optional", - "value": null + "type": "Address", + "value": "0xe467b9dd11fa00df" }, { - "type": "UFix64", - "value": "92233720368.54775808" + "type": "UInt64", + "value": "42" } ], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", @@ -6506,221 +5798,18 @@ ], "payloadSigs": [] }, - "encodedTransactionPayloadHex": "f9045ab90365696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f205265717565737420746f20776974686472617720756e7374616b656420746f6b656e7320666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f2054686520746f6b656e7320617265206175746f6d61746963616c6c79206465706f736974656420746f2074686520756e6c6f636b6564206163636f756e74207661756c742066697273742c0a2f2f2f20416e64207468656e20616e79206c6f636b656420746f6b656e7320617265206465706f736974656420696e746f20746865206c6f636b6564206163636f756e74207661756c742069662069742069732074686572650a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e7769746864726177556e7374616b6564546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8b0b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227da07b2274797065223a224f7074696f6e616c222c2276616c7565223a6e756c6c7db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f9045ef9045ab90365696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f205265717565737420746f20776974686472617720756e7374616b656420746f6b656e7320666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f2054686520746f6b656e7320617265206175746f6d61746963616c6c79206465706f736974656420746f2074686520756e6c6f636b6564206163636f756e74207661756c742066697273742c0a2f2f2f20416e64207468656e20616e79206c6f636b656420746f6b656e7320617265206465706f736974656420696e746f20746865206c6f636b6564206163636f756e74207661756c742069662069742069732074686572650a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e7769746864726177556e7374616b6564546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8b0b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227da07b2274797065223a224f7074696f6e616c222c2276616c7565223a6e756c6c7db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "0268879197d961bb104a56e1e7d35660436fe4c52ed78f79d97fa50aa9e96fabf06d50ab1ef3d74203081c38306da74f5ad8fdd489e49fba732f8ba194d0c781c8576974686472617720556e7374616b656420546f6b656e730003014e6f64652049440000537472696e6700030244656c656761746f72204944000155496e743332000301416d6f756e7400025546697836340003", - "hash": "6d50ab1ef3d74203081c38306da74f5ad8fdd489e49fba732f8ba194d0c781c8" + "encodedTransactionPayloadHex": "f90681b905ed696d706f7274204e6f6e46756e6769626c65546f6b656e2066726f6d203078316437653537616135353831373434380a696d706f727420546f7053686f742066726f6d203078306232613332393963633835376532390a0a2f2f2054686973207472616e73616374696f6e207472616e73666572732061206d6f6d656e7420746f206120726563697069656e740a0a2f2f2054686973207472616e73616374696f6e20697320686f77206120746f7073686f74207573657220776f756c64207472616e736665722061206d6f6d656e740a2f2f2066726f6d207468656972206163636f756e7420746f20616e6f74686572206163636f756e740a2f2f2054686520726563697069656e74206d7573742068617665206120546f7053686f7420436f6c6c656374696f6e206f626a6563742073746f7265640a2f2f20616e642061207075626c6963204d6f6d656e74436f6c6c656374696f6e5075626c6963206361706162696c6974792073746f7265642061740a2f2f20602f7075626c69632f4d6f6d656e74436f6c6c656374696f6e600a0a2f2f20506172616d65746572733a0a2f2f0a2f2f20726563697069656e743a2054686520466c6f772061646472657373206f6620746865206163636f756e7420746f207265636569766520746865206d6f6d656e742e0a2f2f20776974686472617749443a20546865206964206f6620746865206d6f6d656e7420746f206265207472616e736665727265640a0a7472616e73616374696f6e28726563697069656e743a20416464726573732c20776974686472617749443a2055496e74363429207b0a0a202020202f2f206c6f63616c207661726961626c6520666f722073746f72696e6720746865207472616e7366657272656420746f6b656e0a202020206c6574207472616e73666572546f6b656e3a20404e6f6e46756e6769626c65546f6b656e2e4e46540a202020200a202020207072657061726528616363743a20417574684163636f756e7429207b0a0a20202020202020202f2f20626f72726f772061207265666572656e636520746f20746865206f776e6572277320636f6c6c656374696f6e0a20202020202020206c657420636f6c6c656374696f6e526566203d20616363742e626f72726f773c26546f7053686f742e436f6c6c656374696f6e3e2866726f6d3a202f73746f726167652f4d6f6d656e74436f6c6c656374696f6e290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f207468652073746f726564204d6f6d656e7420636f6c6c656374696f6e22290a20202020202020200a20202020202020202f2f20776974686472617720746865204e46540a202020202020202073656c662e7472616e73666572546f6b656e203c2d20636f6c6c656374696f6e5265662e776974686472617728776974686472617749443a2077697468647261774944290a202020207d0a0a2020202065786563757465207b0a20202020202020200a20202020202020202f2f206765742074686520726563697069656e742773207075626c6963206163636f756e74206f626a6563740a20202020202020206c657420726563697069656e74203d206765744163636f756e7428726563697069656e74290a0a20202020202020202f2f206765742074686520436f6c6c656374696f6e207265666572656e636520666f72207468652072656365697665720a20202020202020206c6574207265636569766572526566203d20726563697069656e742e6765744361706162696c697479282f7075626c69632f4d6f6d656e74436f6c6c656374696f6e292e626f72726f773c267b546f7053686f742e4d6f6d656e74436f6c6c656374696f6e5075626c69637d3e2829210a0a20202020202020202f2f206465706f73697420746865204e465420696e207468652072656365697665727320636f6c6c656374696f6e0a202020202020202072656365697665725265662e6465706f73697428746f6b656e3a203c2d73656c662e7472616e73666572546f6b656e290a202020207d0a7df84faf7b2274797065223a2241646472657373222c2276616c7565223a22307865343637623964643131666130306466227d9e7b2274797065223a2255496e743634222c2276616c7565223a223432227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", + "encodedTransactionEnvelopeHex": "f90685f90681b905ed696d706f7274204e6f6e46756e6769626c65546f6b656e2066726f6d203078316437653537616135353831373434380a696d706f727420546f7053686f742066726f6d203078306232613332393963633835376532390a0a2f2f2054686973207472616e73616374696f6e207472616e73666572732061206d6f6d656e7420746f206120726563697069656e740a0a2f2f2054686973207472616e73616374696f6e20697320686f77206120746f7073686f74207573657220776f756c64207472616e736665722061206d6f6d656e740a2f2f2066726f6d207468656972206163636f756e7420746f20616e6f74686572206163636f756e740a2f2f2054686520726563697069656e74206d7573742068617665206120546f7053686f7420436f6c6c656374696f6e206f626a6563742073746f7265640a2f2f20616e642061207075626c6963204d6f6d656e74436f6c6c656374696f6e5075626c6963206361706162696c6974792073746f7265642061740a2f2f20602f7075626c69632f4d6f6d656e74436f6c6c656374696f6e600a0a2f2f20506172616d65746572733a0a2f2f0a2f2f20726563697069656e743a2054686520466c6f772061646472657373206f6620746865206163636f756e7420746f207265636569766520746865206d6f6d656e742e0a2f2f20776974686472617749443a20546865206964206f6620746865206d6f6d656e7420746f206265207472616e736665727265640a0a7472616e73616374696f6e28726563697069656e743a20416464726573732c20776974686472617749443a2055496e74363429207b0a0a202020202f2f206c6f63616c207661726961626c6520666f722073746f72696e6720746865207472616e7366657272656420746f6b656e0a202020206c6574207472616e73666572546f6b656e3a20404e6f6e46756e6769626c65546f6b656e2e4e46540a202020200a202020207072657061726528616363743a20417574684163636f756e7429207b0a0a20202020202020202f2f20626f72726f772061207265666572656e636520746f20746865206f776e6572277320636f6c6c656374696f6e0a20202020202020206c657420636f6c6c656374696f6e526566203d20616363742e626f72726f773c26546f7053686f742e436f6c6c656374696f6e3e2866726f6d3a202f73746f726167652f4d6f6d656e74436f6c6c656374696f6e290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f207468652073746f726564204d6f6d656e7420636f6c6c656374696f6e22290a20202020202020200a20202020202020202f2f20776974686472617720746865204e46540a202020202020202073656c662e7472616e73666572546f6b656e203c2d20636f6c6c656374696f6e5265662e776974686472617728776974686472617749443a2077697468647261774944290a202020207d0a0a2020202065786563757465207b0a20202020202020200a20202020202020202f2f206765742074686520726563697069656e742773207075626c6963206163636f756e74206f626a6563740a20202020202020206c657420726563697069656e74203d206765744163636f756e7428726563697069656e74290a0a20202020202020202f2f206765742074686520436f6c6c656374696f6e207265666572656e636520666f72207468652072656365697665720a20202020202020206c6574207265636569766572526566203d20726563697069656e742e6765744361706162696c697479282f7075626c69632f4d6f6d656e74436f6c6c656374696f6e292e626f72726f773c267b546f7053686f742e4d6f6d656e74436f6c6c656374696f6e5075626c69637d3e2829210a0a20202020202020202f2f206465706f73697420746865204e465420696e207468652072656365697665727320636f6c6c656374696f6e0a202020202020202072656365697665725265662e6465706f73697428746f6b656e3a203c2d73656c662e7472616e73666572546f6b656e290a202020207d0a7df84faf7b2274797065223a2241646472657373222c2276616c7565223a22307865343637623964643131666130306466227d9e7b2274797065223a2255496e743634222c2276616c7565223a223432227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", + "metadata": "021ec9aea0b51409610f882f5ae4278567da675542bb378eb999f05b7c4f12f7d809d5ad21bf70dfe4f8d800db9e61a77f2f64837ae0e818c3cd67e9cea837a1cf5472616e7366657220546f702053686f74204d6f6d656e74000201526563697069656e740000416464726573730003014d6f6d656e74204944000155496e7436340003", + "hash": "09d5ad21bf70dfe4f8d800db9e61a77f2f64837ae0e818c3cd67e9cea837a1cf" }, { - "title": "SCO.11 - Withdraw Unstaked Tokens - 2", + "title": "USDC.01 - Setup USDC Vault", "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", - "arguments": [ - { - "type": "String", - "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" - }, - { - "type": "Optional", - "value": { - "type": "UInt32", - "value": "42" - } - }, - { - "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/// 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": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f90475b90365696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f205265717565737420746f20776974686472617720756e7374616b656420746f6b656e7320666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f2054686520746f6b656e7320617265206175746f6d61746963616c6c79206465706f736974656420746f2074686520756e6c6f636b6564206163636f756e74207661756c742066697273742c0a2f2f2f20416e64207468656e20616e79206c6f636b656420746f6b656e7320617265206465706f736974656420696e746f20746865206c6f636b6564206163636f756e74207661756c742069662069742069732074686572650a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e7769746864726177556e7374616b6564546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8cbb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db83a7b2274797065223a224f7074696f6e616c222c2276616c7565223a7b2274797065223a2255496e743332222c2276616c7565223a223432227d7db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f90479f90475b90365696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f205265717565737420746f20776974686472617720756e7374616b656420746f6b656e7320666f722074686520737065636966696564206e6f6465206f722064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f2f2054686520746f6b656e7320617265206175746f6d61746963616c6c79206465706f736974656420746f2074686520756e6c6f636b6564206163636f756e74207661756c742066697273742c0a2f2f2f20416e64207468656e20616e79206c6f636b656420746f6b656e7320617265206465706f736974656420696e746f20746865206c6f636b6564206163636f756e74207661756c742069662069742069732074686572650a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f2c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e7769746864726177556e7374616b6564546f6b656e73286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f7249442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af8cbb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db83a7b2274797065223a224f7074696f6e616c222c2276616c7565223a7b2274797065223a2255496e743332222c2276616c7565223a223432227d7db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "0268879197d961bb104a56e1e7d35660436fe4c52ed78f79d97fa50aa9e96fabf06d50ab1ef3d74203081c38306da74f5ad8fdd489e49fba732f8ba194d0c781c8576974686472617720556e7374616b656420546f6b656e730003014e6f64652049440000537472696e6700030244656c656761746f72204944000155496e743332000301416d6f756e7400025546697836340003", - "hash": "6d50ab1ef3d74203081c38306da74f5ad8fdd489e49fba732f8ba194d0c781c8" - }, - { - "title": "SCO.12 - Close Stake - 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", - "arguments": [ - { - "type": "String", - "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" - }, - { - "type": "Optional", - "value": { - "type": "UInt32", - "value": "42" - } - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ] - }, - "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", - "arguments": [ - { - "type": "String", - "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" - }, - { - "type": "Optional", - "value": { - "type": "UInt32", - "value": "42" - } - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f903cdb902ee696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f20436c6f736573206f75742061207374616b696e67206f626a65637420696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f205468697320646f6573206e6f742072656d6f766520746865207265636f72642066726f6d20746865206964656e74697479207461626c652c0a2f2f2062757420697420646f6573206d65616e207468617420746865206163636f756e74207468617420636c6f7365732069742063616e6e6f7420657665722061636365737320697420616761696e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f29207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e636c6f73655374616b65286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f724944290a202020207d0a7d0af89ab85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db83a7b2274797065223a224f7074696f6e616c222c2276616c7565223a7b2274797065223a2255496e743332222c2276616c7565223a223432227d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f903d1f903cdb902ee696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f20436c6f736573206f75742061207374616b696e67206f626a65637420696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f205468697320646f6573206e6f742072656d6f766520746865207265636f72642066726f6d20746865206964656e74697479207461626c652c0a2f2f2062757420697420646f6573206d65616e207468617420746865206163636f756e74207468617420636c6f7365732069742063616e6e6f7420657665722061636365737320697420616761696e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f29207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e636c6f73655374616b65286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f724944290a202020207d0a7d0af89ab85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db83a7b2274797065223a224f7074696f6e616c222c2276616c7565223a7b2274797065223a2255496e743332222c2276616c7565223a223432227d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "02079aaa9cfb22138415056b43d5d91e8d73bd8bd5f37ebff4f4023d33ea6d2f25ecdffc1ae67479bc20c06eba6c776ff37b9523660ff1cd3129a3924d92484884436c6f7365205374616b650002014e6f64652049440000537472696e6700030244656c656761746f72204944000155496e7433320003", - "hash": "ecdffc1ae67479bc20c06eba6c776ff37b9523660ff1cd3129a3924d92484884" - }, - { - "title": "SCO.12 - Close Stake - 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", - "arguments": [ - { - "type": "String", - "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" - }, - { - "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// 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": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f903b2b902ee696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f20436c6f736573206f75742061207374616b696e67206f626a65637420696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f205468697320646f6573206e6f742072656d6f766520746865207265636f72642066726f6d20746865206964656e74697479207461626c652c0a2f2f2062757420697420646f6573206d65616e207468617420746865206163636f756e74207468617420636c6f7365732069742063616e6e6f7420657665722061636365737320697420616761696e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f29207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e636c6f73655374616b65286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f724944290a202020207d0a7d0af87fb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227da07b2274797065223a224f7074696f6e616c222c2276616c7565223a6e756c6c7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f903b6f903b2b902ee696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f20436c6f736573206f75742061207374616b696e67206f626a65637420696e20746865207374616b696e6720636f6c6c656374696f6e0a2f2f205468697320646f6573206e6f742072656d6f766520746865207265636f72642066726f6d20746865206964656e74697479207461626c652c0a2f2f2062757420697420646f6573206d65616e207468617420746865206163636f756e74207468617420636c6f7365732069742063616e6e6f7420657665722061636365737320697420616761696e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433323f29207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e636c6f73655374616b65286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f724944290a202020207d0a7d0af87fb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227da07b2274797065223a224f7074696f6e616c222c2276616c7565223a6e756c6c7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "02079aaa9cfb22138415056b43d5d91e8d73bd8bd5f37ebff4f4023d33ea6d2f25ecdffc1ae67479bc20c06eba6c776ff37b9523660ff1cd3129a3924d92484884436c6f7365205374616b650002014e6f64652049440000537472696e6700030244656c656761746f72204944000155496e7433320003", - "hash": "ecdffc1ae67479bc20c06eba6c776ff37b9523660ff1cd3129a3924d92484884" - }, - { - "title": "SCO.13 - Transfer Node", - "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}", - "arguments": [ - { - "type": "String", - "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" - }, - { - "type": "Address", - "value": "0xe467b9dd11fa00df" - } - ], + "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": [], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", "gasLimit": 42, "proposalKey": { @@ -6734,17 +5823,8 @@ ] }, "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}", - "arguments": [ - { - "type": "String", - "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" - }, - { - "type": "Address", - "value": "0xe467b9dd11fa00df" - } - ], + "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": [], "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", "gasLimit": 42, "proposalKey": { @@ -6758,24 +5838,20 @@ ], "payloadSigs": [] }, - "encodedTransactionPayloadHex": "f90907b90834696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f205472616e73666572732061204e6f64655374616b6572206f626a6563742066726f6d20616e20617574686f72697a657273206163636f6f756e740a2f2f20616e64206164647320746865204e6f64655374616b657220746f20616e6f74686572206163636f756e7473205374616b696e6720436f6c6c656374696f6e0a2f2f206964656e7469666965642062792074686520746f20416464726573732e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c20746f3a204164647265737329207b0a202020206c65742066726f6d5374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a202020206c657420746f5374616b696e67436f6c6c656374696f6e4361703a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e7b466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e5075626c69637d0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a20202020202020202f2f20546865206163636f756e7420746f207472616e7366657220746865204e6f64655374616b6572206f626a65637420746f206d757374206861766520612076616c6964205374616b696e6720436f6c6c656374696f6e20696e206f7264657220746f207265636569766520746865204e6f64655374616b65722e0a20202020202020206966202821466c6f775374616b696e67436f6c6c656374696f6e2e646f65734163636f756e74486176655374616b696e67436f6c6c656374696f6e28616464726573733a20746f2929207b0a20202020202020202020202070616e6963282244657374696e6174696f6e206163636f756e74206d75737420686176652061205374616b696e6720436f6c6c656374696f6e207365742075702e22290a20202020202020207d0a0a20202020202020202f2f204765742061207265666572656e636520746f2074686520617574686f72697a657273205374616b696e67436f6c6c656374696f6e0a202020202020202073656c662e66726f6d5374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a0a20202020202020202f2f2047657420746865205075626c69634163636f756e74206f6620746865206163636f756e7420746f207472616e7366657220746865204e6f64655374616b657220746f2e200a20202020202020206c657420746f4163636f756e74203d206765744163636f756e7428746f290a0a20202020202020202f2f20426f72726f772061206361706162696c69747920746f20746865207075626c6963206d6574686f647320617661696c61626c65206f6e2074686520726563656976657273205374616b696e67436f6c6c656374696f6e2e0a202020202020202073656c662e746f5374616b696e67436f6c6c656374696f6e436170203d20746f4163636f756e742e6765744361706162696c6974793c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e7b466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e5075626c69637d3e28466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e5075626c696350617468292e626f72726f7728290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a0a20202020202020206c6574206d616368696e654163636f756e74496e666f203d2073656c662e66726f6d5374616b696e67436f6c6c656374696f6e5265662e6765744d616368696e654163636f756e747328295b6e6f646549445d0a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420676574206d616368696e65206163636f756e7420696e666f20666f722074686520737065636966696564206e6f646520494422290a0a20202020202020202f2f2052656d6f766520746865204e6f64655374616b65722066726f6d2074686520617574686f72697a657273205374616b696e67436f6c6c656374696f6e2e0a20202020202020206c6574206e6f64655374616b6572203c2d2073656c662e66726f6d5374616b696e67436f6c6c656374696f6e5265662e72656d6f76654e6f6465286e6f646549443a206e6f64654944290a0a20202020202020202f2f204465706f73697420746865204e6f64655374616b657220746f2074686520726563656976657273205374616b696e67436f6c6c656374696f6e2e0a202020202020202073656c662e746f5374616b696e67436f6c6c656374696f6e4361702e6164644e6f64654f626a656374283c2d206e6f64655374616b6572212c206d616368696e654163636f756e74496e666f3a206d616368696e654163636f756e74496e666f290a202020207d0a7df88eb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227daf7b2274797065223a2241646472657373222c2276616c7565223a22307865343637623964643131666130306466227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f9090bf90907b90834696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f205472616e73666572732061204e6f64655374616b6572206f626a6563742066726f6d20616e20617574686f72697a657273206163636f6f756e740a2f2f20616e64206164647320746865204e6f64655374616b657220746f20616e6f74686572206163636f756e7473205374616b696e6720436f6c6c656374696f6e0a2f2f206964656e7469666965642062792074686520746f20416464726573732e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c20746f3a204164647265737329207b0a202020206c65742066726f6d5374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a202020206c657420746f5374616b696e67436f6c6c656374696f6e4361703a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e7b466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e5075626c69637d0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a20202020202020202f2f20546865206163636f756e7420746f207472616e7366657220746865204e6f64655374616b6572206f626a65637420746f206d757374206861766520612076616c6964205374616b696e6720436f6c6c656374696f6e20696e206f7264657220746f207265636569766520746865204e6f64655374616b65722e0a20202020202020206966202821466c6f775374616b696e67436f6c6c656374696f6e2e646f65734163636f756e74486176655374616b696e67436f6c6c656374696f6e28616464726573733a20746f2929207b0a20202020202020202020202070616e6963282244657374696e6174696f6e206163636f756e74206d75737420686176652061205374616b696e6720436f6c6c656374696f6e207365742075702e22290a20202020202020207d0a0a20202020202020202f2f204765742061207265666572656e636520746f2074686520617574686f72697a657273205374616b696e67436f6c6c656374696f6e0a202020202020202073656c662e66726f6d5374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a0a20202020202020202f2f2047657420746865205075626c69634163636f756e74206f6620746865206163636f756e7420746f207472616e7366657220746865204e6f64655374616b657220746f2e200a20202020202020206c657420746f4163636f756e74203d206765744163636f756e7428746f290a0a20202020202020202f2f20426f72726f772061206361706162696c69747920746f20746865207075626c6963206d6574686f647320617661696c61626c65206f6e2074686520726563656976657273205374616b696e67436f6c6c656374696f6e2e0a202020202020202073656c662e746f5374616b696e67436f6c6c656374696f6e436170203d20746f4163636f756e742e6765744361706162696c6974793c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e7b466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e5075626c69637d3e28466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e5075626c696350617468292e626f72726f7728290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a0a20202020202020206c6574206d616368696e654163636f756e74496e666f203d2073656c662e66726f6d5374616b696e67436f6c6c656374696f6e5265662e6765744d616368696e654163636f756e747328295b6e6f646549445d0a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420676574206d616368696e65206163636f756e7420696e666f20666f722074686520737065636966696564206e6f646520494422290a0a20202020202020202f2f2052656d6f766520746865204e6f64655374616b65722066726f6d2074686520617574686f72697a657273205374616b696e67436f6c6c656374696f6e2e0a20202020202020206c6574206e6f64655374616b6572203c2d2073656c662e66726f6d5374616b696e67436f6c6c656374696f6e5265662e72656d6f76654e6f6465286e6f646549443a206e6f64654944290a0a20202020202020202f2f204465706f73697420746865204e6f64655374616b657220746f2074686520726563656976657273205374616b696e67436f6c6c656374696f6e2e0a202020202020202073656c662e746f5374616b696e67436f6c6c656374696f6e4361702e6164644e6f64654f626a656374283c2d206e6f64655374616b6572212c206d616368696e654163636f756e74496e666f3a206d616368696e654163636f756e74496e666f290a202020207d0a7df88eb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227daf7b2274797065223a2241646472657373222c2276616c7565223a22307865343637623964643131666130306466227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "022386d7ae1a5b936e3914729ee34e01d53a8fbd2e403512ec1beccb4062c231ebcdc3a63d0c75ea95b414becb6fbb8f5a8004236d48661cd3c3d4f540ee4d422e5472616e73666572204e6f64650002014e6f64652049440000537472696e67000301416464726573730001416464726573730003", - "hash": "cdc3a63d0c75ea95b414becb6fbb8f5a8004236d48661cd3c3d4f540ee4d422e" + "encodedTransactionPayloadHex": "f905b9b90575696d706f72742046756e6769626c65546f6b656e2066726f6d203078663233336463656538386665306162650a696d706f72742046696174546f6b656e2066726f6d203078623139343336616165346439343632320a0a7472616e73616374696f6e207b0a0a2020202070726570617265287369676e65723a20417574684163636f756e7429207b0a0a20202020202020202f2f2052657475726e206561726c7920696620746865206163636f756e7420616c72656164792073746f72657320612046696174546f6b656e205661756c740a20202020202020206966207369676e65722e626f72726f773c2646696174546f6b656e2e5661756c743e2866726f6d3a2046696174546f6b656e2e5661756c7453746f72616765506174682920213d206e696c207b0a20202020202020202020202072657475726e0a20202020202020207d0a0a20202020202020202f2f204372656174652061206e6577204578616d706c65546f6b656e205661756c7420616e642070757420697420696e2073746f726167650a20202020202020207369676e65722e73617665280a2020202020202020202020203c2d46696174546f6b656e2e637265617465456d7074795661756c7428292c0a202020202020202020202020746f3a2046696174546f6b656e2e5661756c7453746f72616765506174680a2020202020202020290a0a20202020202020202f2f204372656174652061207075626c6963206361706162696c69747920746f20746865205661756c742074686174206f6e6c79206578706f7365730a20202020202020202f2f20746865206465706f7369742066756e6374696f6e207468726f7567682074686520526563656976657220696e746572666163650a20202020202020207369676e65722e6c696e6b3c2646696174546f6b656e2e5661756c747b46756e6769626c65546f6b656e2e52656365697665727d3e280a20202020202020202020202046696174546f6b656e2e5661756c745265636569766572507562506174682c0a2020202020202020202020207461726765743a2046696174546f6b656e2e5661756c7453746f72616765506174680a2020202020202020290a0a20202020202020202f2f204372656174652061207075626c6963206361706162696c69747920746f20746865205661756c742074686174206f6e6c79206578706f7365730a20202020202020202f2f20746865205555494428292066756e6374696f6e207468726f75676820746865205661756c745555494420696e746572666163650a20202020202020207369676e65722e6c696e6b3c2646696174546f6b656e2e5661756c747b46696174546f6b656e2e5265736f7572636549647d3e280a20202020202020202020202046696174546f6b656e2e5661756c7455554944507562506174682c0a2020202020202020202020207461726765743a2046696174546f6b656e2e5661756c7453746f72616765506174680a2020202020202020290a0a20202020202020202f2f204372656174652061207075626c6963206361706162696c69747920746f20746865205661756c742074686174206f6e6c79206578706f7365730a20202020202020202f2f207468652062616c616e6365206669656c64207468726f756768207468652042616c616e636520696e746572666163650a20202020202020207369676e65722e6c696e6b3c2646696174546f6b656e2e5661756c747b46756e6769626c65546f6b656e2e42616c616e63657d3e280a20202020202020202020202046696174546f6b656e2e5661756c7442616c616e6365507562506174682c0a2020202020202020202020207461726765743a2046696174546f6b656e2e5661756c7453746f72616765506174680a2020202020202020290a0a202020207d0a7d0ac0a0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", + "encodedTransactionEnvelopeHex": "f905bdf905b9b90575696d706f72742046756e6769626c65546f6b656e2066726f6d203078663233336463656538386665306162650a696d706f72742046696174546f6b656e2066726f6d203078623139343336616165346439343632320a0a7472616e73616374696f6e207b0a0a2020202070726570617265287369676e65723a20417574684163636f756e7429207b0a0a20202020202020202f2f2052657475726e206561726c7920696620746865206163636f756e7420616c72656164792073746f72657320612046696174546f6b656e205661756c740a20202020202020206966207369676e65722e626f72726f773c2646696174546f6b656e2e5661756c743e2866726f6d3a2046696174546f6b656e2e5661756c7453746f72616765506174682920213d206e696c207b0a20202020202020202020202072657475726e0a20202020202020207d0a0a20202020202020202f2f204372656174652061206e6577204578616d706c65546f6b656e205661756c7420616e642070757420697420696e2073746f726167650a20202020202020207369676e65722e73617665280a2020202020202020202020203c2d46696174546f6b656e2e637265617465456d7074795661756c7428292c0a202020202020202020202020746f3a2046696174546f6b656e2e5661756c7453746f72616765506174680a2020202020202020290a0a20202020202020202f2f204372656174652061207075626c6963206361706162696c69747920746f20746865205661756c742074686174206f6e6c79206578706f7365730a20202020202020202f2f20746865206465706f7369742066756e6374696f6e207468726f7567682074686520526563656976657220696e746572666163650a20202020202020207369676e65722e6c696e6b3c2646696174546f6b656e2e5661756c747b46756e6769626c65546f6b656e2e52656365697665727d3e280a20202020202020202020202046696174546f6b656e2e5661756c745265636569766572507562506174682c0a2020202020202020202020207461726765743a2046696174546f6b656e2e5661756c7453746f72616765506174680a2020202020202020290a0a20202020202020202f2f204372656174652061207075626c6963206361706162696c69747920746f20746865205661756c742074686174206f6e6c79206578706f7365730a20202020202020202f2f20746865205555494428292066756e6374696f6e207468726f75676820746865205661756c745555494420696e746572666163650a20202020202020207369676e65722e6c696e6b3c2646696174546f6b656e2e5661756c747b46696174546f6b656e2e5265736f7572636549647d3e280a20202020202020202020202046696174546f6b656e2e5661756c7455554944507562506174682c0a2020202020202020202020207461726765743a2046696174546f6b656e2e5661756c7453746f72616765506174680a2020202020202020290a0a20202020202020202f2f204372656174652061207075626c6963206361706162696c69747920746f20746865205661756c742074686174206f6e6c79206578706f7365730a20202020202020202f2f207468652062616c616e6365206669656c64207468726f756768207468652042616c616e636520696e746572666163650a20202020202020207369676e65722e6c696e6b3c2646696174546f6b656e2e5661756c747b46756e6769626c65546f6b656e2e42616c616e63657d3e280a20202020202020202020202046696174546f6b656e2e5661756c7442616c616e6365507562506174682c0a2020202020202020202020207461726765743a2046696174546f6b656e2e5661756c7453746f72616765506174680a2020202020202020290a0a202020207d0a7d0ac0a0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", + "metadata": "022defee818c0c003ca519f83517f4c7bcf9dd8664a562ec80959cb6146428f971887673892a2e2c12337394570dfa30c5669e93f537ae426690f402799514a9a153657475702055534443205661756c740000", + "hash": "887673892a2e2c12337394570dfa30c5669e93f537ae426690f402799514a9a1" }, { - "title": "SCO.14 - Transfer Delegator", + "title": "USDC.02 - Transfer USDC", "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 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", "arguments": [ { - "type": "String", - "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" - }, - { - "type": "UInt32", + "type": "UFix64", "value": "42" }, { @@ -6796,14 +5872,10 @@ ] }, "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 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", "arguments": [ { - "type": "String", - "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" - }, - { - "type": "UInt32", + "type": "UFix64", "value": "42" }, { @@ -6824,866 +5896,10 @@ ], "payloadSigs": [] }, - "encodedTransactionPayloadHex": "f908b4b907c2696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f205472616e73666572732061204e6f646544656c656761746f72206f626a6563742066726f6d20616e20617574686f72697a657273206163636f6f756e740a2f2f20616e64206164647320746865204e6f646544656c656761746f7220746f20616e6f74686572206163636f756e7473205374616b696e6720436f6c6c656374696f6e0a2f2f206964656e7469666965642062792074686520746f20416464726573732e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433322c20746f3a204164647265737329207b0a202020206c65742066726f6d5374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a202020206c657420746f5374616b696e67436f6c6c656374696f6e4361703a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e7b466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e5075626c69637d0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a20202020202020202f2f20546865206163636f756e7420746f207472616e7366657220746865204e6f646544656c656761746f72206f626a65637420746f206d757374206861766520612076616c6964205374616b696e6720436f6c6c656374696f6e20696e206f7264657220746f207265636569766520746865204e6f646544656c656761746f722e0a20202020202020206966202821466c6f775374616b696e67436f6c6c656374696f6e2e646f65734163636f756e74486176655374616b696e67436f6c6c656374696f6e28616464726573733a20746f2929207b0a20202020202020202020202070616e6963282244657374696e6174696f6e206163636f756e74206d75737420686176652061205374616b696e6720436f6c6c656374696f6e207365742075702e22290a20202020202020207d0a0a20202020202020202f2f204765742061207265666572656e636520746f2074686520617574686f72697a657273205374616b696e67436f6c6c656374696f6e0a202020202020202073656c662e66726f6d5374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a0a20202020202020202f2f2047657420746865205075626c69634163636f756e74206f6620746865206163636f756e7420746f207472616e7366657220746865204e6f646544656c656761746f7220746f2e200a20202020202020206c657420746f4163636f756e74203d206765744163636f756e7428746f290a0a20202020202020202f2f20426f72726f772061206361706162696c69747920746f20746865207075626c6963206d6574686f647320617661696c61626c65206f6e2074686520726563656976657273205374616b696e67436f6c6c656374696f6e2e0a202020202020202073656c662e746f5374616b696e67436f6c6c656374696f6e436170203d20746f4163636f756e742e6765744361706162696c6974793c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e7b466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e5075626c69637d3e28466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e5075626c696350617468292e626f72726f7728290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a20202020202020202f2f2052656d6f766520746865204e6f646544656c656761746f722066726f6d2074686520617574686f72697a657273205374616b696e67436f6c6c656374696f6e2e0a20202020202020206c6574206e6f646544656c656761746f72203c2d2073656c662e66726f6d5374616b696e67436f6c6c656374696f6e5265662e72656d6f766544656c656761746f72286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f724944290a0a20202020202020202f2f204465706f73697420746865204e6f646544656c656761746f7220746f2074686520726563656976657273205374616b696e67436f6c6c656374696f6e2e0a202020202020202073656c662e746f5374616b696e67436f6c6c656374696f6e4361702e61646444656c656761746f724f626a656374283c2d206e6f646544656c656761746f7221290a202020207d0a7df8adb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227d9e7b2274797065223a2255496e743332222c2276616c7565223a223432227daf7b2274797065223a2241646472657373222c2276616c7565223a22307865343637623964643131666130306466227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f908b8f908b4b907c2696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f205472616e73666572732061204e6f646544656c656761746f72206f626a6563742066726f6d20616e20617574686f72697a657273206163636f6f756e740a2f2f20616e64206164647320746865204e6f646544656c656761746f7220746f20616e6f74686572206163636f756e7473205374616b696e6720436f6c6c656374696f6e0a2f2f206964656e7469666965642062792074686520746f20416464726573732e0a0a7472616e73616374696f6e286e6f646549443a20537472696e672c2064656c656761746f7249443a2055496e7433322c20746f3a204164647265737329207b0a202020206c65742066726f6d5374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a202020206c657420746f5374616b696e67436f6c6c656374696f6e4361703a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e7b466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e5075626c69637d0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a20202020202020202f2f20546865206163636f756e7420746f207472616e7366657220746865204e6f646544656c656761746f72206f626a65637420746f206d757374206861766520612076616c6964205374616b696e6720436f6c6c656374696f6e20696e206f7264657220746f207265636569766520746865204e6f646544656c656761746f722e0a20202020202020206966202821466c6f775374616b696e67436f6c6c656374696f6e2e646f65734163636f756e74486176655374616b696e67436f6c6c656374696f6e28616464726573733a20746f2929207b0a20202020202020202020202070616e6963282244657374696e6174696f6e206163636f756e74206d75737420686176652061205374616b696e6720436f6c6c656374696f6e207365742075702e22290a20202020202020207d0a0a20202020202020202f2f204765742061207265666572656e636520746f2074686520617574686f72697a657273205374616b696e67436f6c6c656374696f6e0a202020202020202073656c662e66726f6d5374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a0a20202020202020202f2f2047657420746865205075626c69634163636f756e74206f6620746865206163636f756e7420746f207472616e7366657220746865204e6f646544656c656761746f7220746f2e200a20202020202020206c657420746f4163636f756e74203d206765744163636f756e7428746f290a0a20202020202020202f2f20426f72726f772061206361706162696c69747920746f20746865207075626c6963206d6574686f647320617661696c61626c65206f6e2074686520726563656976657273205374616b696e67436f6c6c656374696f6e2e0a202020202020202073656c662e746f5374616b696e67436f6c6c656374696f6e436170203d20746f4163636f756e742e6765744361706162696c6974793c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e7b466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e5075626c69637d3e28466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e5075626c696350617468292e626f72726f7728290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a20202020202020202f2f2052656d6f766520746865204e6f646544656c656761746f722066726f6d2074686520617574686f72697a657273205374616b696e67436f6c6c656374696f6e2e0a20202020202020206c6574206e6f646544656c656761746f72203c2d2073656c662e66726f6d5374616b696e67436f6c6c656374696f6e5265662e72656d6f766544656c656761746f72286e6f646549443a206e6f646549442c2064656c656761746f7249443a2064656c656761746f724944290a0a20202020202020202f2f204465706f73697420746865204e6f646544656c656761746f7220746f2074686520726563656976657273205374616b696e67436f6c6c656374696f6e2e0a202020202020202073656c662e746f5374616b696e67436f6c6c656374696f6e4361702e61646444656c656761746f724f626a656374283c2d206e6f646544656c656761746f7221290a202020207d0a7df8adb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227d9e7b2274797065223a2255496e743332222c2276616c7565223a223432227daf7b2274797065223a2241646472657373222c2276616c7565223a22307865343637623964643131666130306466227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "0253b096b4850a30894e7b272ec5c39e2b2f4a23f8c40e76a3c64cfc63dc2999b6b34d6fafcc5a4d0ed9cf92e168a08d0674c93341e2393ee72dde6664918ec2405472616e736665722044656c656761746f720003014e6f64652049440000537472696e6700030144656c656761746f72204944000155496e743332000301416464726573730002416464726573730003", - "hash": "b34d6fafcc5a4d0ed9cf92e168a08d0674c93341e2393ee72dde6664918ec240" - }, - { - "title": "SCO.15 - Withdraw From Machine Account", - "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", - "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/// 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": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f9037eb902aa696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f205265717565737420746f20776974686472617720746f6b656e732066726f6d20746865206d616368696e65206163636f756e740a2f2f2f2054686520746f6b656e7320617265206175746f6d61746963616c6c79206465706f736974656420746f2074686520756e6c6f636b6564206163636f756e74207661756c740a0a7472616e73616374696f6e286e6f646549443a20537472696e672c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e776974686472617746726f6d4d616368696e654163636f756e74286e6f646549443a206e6f646549442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af88fb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f90382f9037eb902aa696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f205265717565737420746f20776974686472617720746f6b656e732066726f6d20746865206d616368696e65206163636f756e740a2f2f2f2054686520746f6b656e7320617265206175746f6d61746963616c6c79206465706f736974656420746f2074686520756e6c6f636b6564206163636f756e74207661756c740a0a7472616e73616374696f6e286e6f646549443a20537472696e672c20616d6f756e743a2055466978363429207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e776974686472617746726f6d4d616368696e654163636f756e74286e6f646549443a206e6f646549442c20616d6f756e743a20616d6f756e74290a202020207d0a7d0af88fb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "0239a126038522c6c964d53aaf78dde55bfe80929091510792fe49678bb22cbd96f9c48e18bda7f113e82711a4c95dfd151c6600ed9fbf46ceb22566d6c5728c6f57697468647261772046726f6d204d616368696e65204163636f756e740002014e6f64652049440000537472696e67000301416d6f756e7400015546697836340003", - "hash": "f9c48e18bda7f113e82711a4c95dfd151c6600ed9fbf46ceb22566d6c5728c6f" - }, - { - "title": "SCO.16 - Update Networking Address", - "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", - "arguments": [ - { - "type": "String", - "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" - }, - { - "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 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", - "arguments": [ - { - "type": "String", - "value": "88549335e1db7b5b46c2ad58ddb70b7a45e770cc5fe779650ba26f10e6bae5e6" - }, - { - "type": "String", - "value": "flow-node.test:3569" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f9033fb9026c696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f204368616e67657320746865206e6574776f726b696e67206164647265737320666f722074686520737065636966696564206e6f64650a0a7472616e73616374696f6e286e6f646549443a20537472696e672c206e6577416464726573733a20537472696e6729207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e7570646174654e6574776f726b696e6741646472657373286e6f646549443a206e6f646549442c206e6577416464726573733a206e657741646472657373290a202020207d0a7d0af88eb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227daf7b2274797065223a22537472696e67222c2276616c7565223a22666c6f772d6e6f64652e746573743a33353639227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f90343f9033fb9026c696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f204368616e67657320746865206e6574776f726b696e67206164647265737320666f722074686520737065636966696564206e6f64650a0a7472616e73616374696f6e286e6f646549443a20537472696e672c206e6577416464726573733a20537472696e6729207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a202020207d0a0a2020202065786563757465207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e5265662e7570646174654e6574776f726b696e6741646472657373286e6f646549443a206e6f646549442c206e6577416464726573733a206e657741646472657373290a202020207d0a7d0af88eb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227daf7b2274797065223a22537472696e67222c2276616c7565223a22666c6f772d6e6f64652e746573743a33353639227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "0260f2cf219d56b19dc7fd223caed42dda9143c87b1b0d2c21a9652e12a3714133ff067b40ac67020ef864cd14842f62023254da34dd2ded56affa1364305bf1c5557064617465204e6574776f726b696e6720416464726573730002014e6f64652049440000537472696e67000301416464726573730001537472696e670003", - "hash": "ff067b40ac67020ef864cd14842f62023254da34dd2ded56affa1364305bf1c5" - }, - { - "title": "FUSD.01 - Setup FUSD Vault", - "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": [], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ] - }, - "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": [], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f9057ab905362f2f2054686973207472616e73616374696f6e20636f6e6669677572657320746865207369676e65722773206163636f756e74207769746820616e20656d7074792046555344207661756c742e0a2f2f0a2f2f20497420616c736f206c696e6b732074686520666f6c6c6f77696e67206361706162696c69746965733a0a2f2f0a2f2f202d2046756e6769626c65546f6b656e2e52656365697665723a2074686973206361706162696c69747920616c6c6f77732074686973206163636f756e7420746f206163636570742046555344206465706f736974732e0a2f2f202d2046756e6769626c65546f6b656e2e42616c616e63653a2074686973206361706162696c69747920616c6c6f777320616e79626f647920746f20696e73706563742074686520465553442062616c616e6365206f662074686973206163636f756e742e0a0a696d706f72742046756e6769626c65546f6b656e2066726f6d203078663233336463656538386665306162650a696d706f727420465553442066726f6d203078336335393539623536383839363339330a0a7472616e73616374696f6e207b0a0a2020202070726570617265287369676e65723a20417574684163636f756e7429207b0a0a20202020202020202f2f2049742773204f4b20696620746865206163636f756e7420616c7265616479206861732061205661756c742c2062757420776520646f6e27742077616e7420746f207265706c6163652069740a20202020202020206966287369676e65722e626f72726f773c26465553442e5661756c743e2866726f6d3a202f73746f726167652f667573645661756c742920213d206e696c29207b0a20202020202020202020202072657475726e0a20202020202020207d0a20202020202020200a20202020202020202f2f204372656174652061206e65772046555344205661756c7420616e642070757420697420696e2073746f726167650a20202020202020207369676e65722e73617665283c2d465553442e637265617465456d7074795661756c7428292c20746f3a202f73746f726167652f667573645661756c74290a0a20202020202020202f2f204372656174652061207075626c6963206361706162696c69747920746f20746865205661756c742074686174206f6e6c79206578706f7365730a20202020202020202f2f20746865206465706f7369742066756e6374696f6e207468726f7567682074686520526563656976657220696e746572666163650a20202020202020207369676e65722e6c696e6b3c26465553442e5661756c747b46756e6769626c65546f6b656e2e52656365697665727d3e280a2020202020202020202020202f7075626c69632f6675736452656365697665722c0a2020202020202020202020207461726765743a202f73746f726167652f667573645661756c740a2020202020202020290a0a20202020202020202f2f204372656174652061207075626c6963206361706162696c69747920746f20746865205661756c742074686174206f6e6c79206578706f7365730a20202020202020202f2f207468652062616c616e6365206669656c64207468726f756768207468652042616c616e636520696e746572666163650a20202020202020207369676e65722e6c696e6b3c26465553442e5661756c747b46756e6769626c65546f6b656e2e42616c616e63657d3e280a2020202020202020202020202f7075626c69632f6675736442616c616e63652c0a2020202020202020202020207461726765743a202f73746f726167652f667573645661756c740a2020202020202020290a202020207d0a7d0ac0a0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f9057ef9057ab905362f2f2054686973207472616e73616374696f6e20636f6e6669677572657320746865207369676e65722773206163636f756e74207769746820616e20656d7074792046555344207661756c742e0a2f2f0a2f2f20497420616c736f206c696e6b732074686520666f6c6c6f77696e67206361706162696c69746965733a0a2f2f0a2f2f202d2046756e6769626c65546f6b656e2e52656365697665723a2074686973206361706162696c69747920616c6c6f77732074686973206163636f756e7420746f206163636570742046555344206465706f736974732e0a2f2f202d2046756e6769626c65546f6b656e2e42616c616e63653a2074686973206361706162696c69747920616c6c6f777320616e79626f647920746f20696e73706563742074686520465553442062616c616e6365206f662074686973206163636f756e742e0a0a696d706f72742046756e6769626c65546f6b656e2066726f6d203078663233336463656538386665306162650a696d706f727420465553442066726f6d203078336335393539623536383839363339330a0a7472616e73616374696f6e207b0a0a2020202070726570617265287369676e65723a20417574684163636f756e7429207b0a0a20202020202020202f2f2049742773204f4b20696620746865206163636f756e7420616c7265616479206861732061205661756c742c2062757420776520646f6e27742077616e7420746f207265706c6163652069740a20202020202020206966287369676e65722e626f72726f773c26465553442e5661756c743e2866726f6d3a202f73746f726167652f667573645661756c742920213d206e696c29207b0a20202020202020202020202072657475726e0a20202020202020207d0a20202020202020200a20202020202020202f2f204372656174652061206e65772046555344205661756c7420616e642070757420697420696e2073746f726167650a20202020202020207369676e65722e73617665283c2d465553442e637265617465456d7074795661756c7428292c20746f3a202f73746f726167652f667573645661756c74290a0a20202020202020202f2f204372656174652061207075626c6963206361706162696c69747920746f20746865205661756c742074686174206f6e6c79206578706f7365730a20202020202020202f2f20746865206465706f7369742066756e6374696f6e207468726f7567682074686520526563656976657220696e746572666163650a20202020202020207369676e65722e6c696e6b3c26465553442e5661756c747b46756e6769626c65546f6b656e2e52656365697665727d3e280a2020202020202020202020202f7075626c69632f6675736452656365697665722c0a2020202020202020202020207461726765743a202f73746f726167652f667573645661756c740a2020202020202020290a0a20202020202020202f2f204372656174652061207075626c6963206361706162696c69747920746f20746865205661756c742074686174206f6e6c79206578706f7365730a20202020202020202f2f207468652062616c616e6365206669656c64207468726f756768207468652042616c616e636520696e746572666163650a20202020202020207369676e65722e6c696e6b3c26465553442e5661756c747b46756e6769626c65546f6b656e2e42616c616e63657d3e280a2020202020202020202020202f7075626c69632f6675736442616c616e63652c0a2020202020202020202020207461726765743a202f73746f726167652f667573645661756c740a2020202020202020290a202020207d0a7d0ac0a0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "020ffaf77ab320ce4cc9602d39b89c85f094ebcea571ed324537e703bc07b0fdc4aa7fecdf159e71bd0b029e40b22643fb443161e67796f42bac68e9bab4630e2953657475702046555344205661756c740000", - "hash": "aa7fecdf159e71bd0b029e40b22643fb443161e67796f42bac68e9bab4630e29" - }, - { - "title": "FUSD.02 - Transfer FUSD", - "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", - "arguments": [ - { - "type": "UFix64", - "value": "92233720368.54775808" - }, - { - "type": "Address", - "value": "0xe467b9dd11fa00df" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ] - }, - "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", - "arguments": [ - { - "type": "UFix64", - "value": "92233720368.54775808" - }, - { - "type": "Address", - "value": "0xe467b9dd11fa00df" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f90759b906b32f2f2054686973207472616e73616374696f6e2077697468647261777320465553442066726f6d20746865207369676e65722773206163636f756e7420616e64206465706f7369747320697420696e746f206120726563697069656e74206163636f756e742e200a2f2f2054686973207472616e73616374696f6e2077696c6c206661696c2069662074686520726563697069656e7420646f6573206e6f74206861766520616e20465553442072656365697665722e200a2f2f204e6f2066756e647320617265207472616e73666572726564206f72206c6f737420696620746865207472616e73616374696f6e206661696c732e0a2f2f0a2f2f20506172616d65746572733a0a2f2f202d20616d6f756e743a2054686520616d6f756e74206f66204655534420746f207472616e736665722028652e672e2031302e30290a2f2f202d20746f3a2054686520726563697069656e74206163636f756e7420616464726573732e0a2f2f0a2f2f2054686973207472616e73616374696f6e2077696c6c206661696c20696620656974686572207468652073656e646572206f7220726563697069656e7420646f6573206e6f7420686176650a2f2f20616e2046555344207661756c742073746f72656420696e207468656972206163636f756e742e20546f20636865636b20696620616e206163636f756e74206861732061207661756c740a2f2f206f7220696e697469616c697a652061206e6577207661756c742c2075736520636865636b5f667573645f7661756c745f73657475702e63646320616e642073657475705f667573645f7661756c742e6364630a2f2f20726573706563746976656c792e0a0a696d706f72742046756e6769626c65546f6b656e2066726f6d203078663233336463656538386665306162650a696d706f727420465553442066726f6d203078336335393539623536383839363339330a0a7472616e73616374696f6e28616d6f756e743a205546697836342c20746f3a204164647265737329207b0a0a202020202f2f20546865205661756c74207265736f75726365207468617420686f6c64732074686520746f6b656e73207468617420617265206265696e67207472616e736665727265640a202020206c65742073656e745661756c743a204046756e6769626c65546f6b656e2e5661756c740a0a2020202070726570617265287369676e65723a20417574684163636f756e7429207b0a20202020202020202f2f204765742061207265666572656e636520746f20746865207369676e657227732073746f726564207661756c740a20202020202020206c6574207661756c74526566203d207369676e65722e626f72726f773c26465553442e5661756c743e2866726f6d3a202f73746f726167652f667573645661756c74290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f20746865206f776e65722773205661756c742122290a0a20202020202020202f2f20576974686472617720746f6b656e732066726f6d20746865207369676e657227732073746f726564207661756c740a202020202020202073656c662e73656e745661756c74203c2d207661756c745265662e776974686472617728616d6f756e743a20616d6f756e74290a202020207d0a0a2020202065786563757465207b0a20202020202020202f2f204765742074686520726563697069656e742773207075626c6963206163636f756e74206f626a6563740a20202020202020206c657420726563697069656e74203d206765744163636f756e7428746f290a0a20202020202020202f2f204765742061207265666572656e636520746f2074686520726563697069656e7427732052656365697665720a20202020202020206c6574207265636569766572526566203d20726563697069656e742e6765744361706162696c697479282f7075626c69632f66757364526563656976657229212e626f72726f773c267b46756e6769626c65546f6b656e2e52656365697665727d3e28290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265636569766572207265666572656e636520746f2074686520726563697069656e742773205661756c7422290a0a20202020202020202f2f204465706f736974207468652077697468647261776e20746f6b656e7320696e2074686520726563697069656e7427732072656365697665720a202020202020202072656365697665725265662e6465706f7369742866726f6d3a203c2d73656c662e73656e745661756c74290a202020207d0a7d0af861b07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227daf7b2274797065223a2241646472657373222c2276616c7565223a22307865343637623964643131666130306466227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f9075df90759b906b32f2f2054686973207472616e73616374696f6e2077697468647261777320465553442066726f6d20746865207369676e65722773206163636f756e7420616e64206465706f7369747320697420696e746f206120726563697069656e74206163636f756e742e200a2f2f2054686973207472616e73616374696f6e2077696c6c206661696c2069662074686520726563697069656e7420646f6573206e6f74206861766520616e20465553442072656365697665722e200a2f2f204e6f2066756e647320617265207472616e73666572726564206f72206c6f737420696620746865207472616e73616374696f6e206661696c732e0a2f2f0a2f2f20506172616d65746572733a0a2f2f202d20616d6f756e743a2054686520616d6f756e74206f66204655534420746f207472616e736665722028652e672e2031302e30290a2f2f202d20746f3a2054686520726563697069656e74206163636f756e7420616464726573732e0a2f2f0a2f2f2054686973207472616e73616374696f6e2077696c6c206661696c20696620656974686572207468652073656e646572206f7220726563697069656e7420646f6573206e6f7420686176650a2f2f20616e2046555344207661756c742073746f72656420696e207468656972206163636f756e742e20546f20636865636b20696620616e206163636f756e74206861732061207661756c740a2f2f206f7220696e697469616c697a652061206e6577207661756c742c2075736520636865636b5f667573645f7661756c745f73657475702e63646320616e642073657475705f667573645f7661756c742e6364630a2f2f20726573706563746976656c792e0a0a696d706f72742046756e6769626c65546f6b656e2066726f6d203078663233336463656538386665306162650a696d706f727420465553442066726f6d203078336335393539623536383839363339330a0a7472616e73616374696f6e28616d6f756e743a205546697836342c20746f3a204164647265737329207b0a0a202020202f2f20546865205661756c74207265736f75726365207468617420686f6c64732074686520746f6b656e73207468617420617265206265696e67207472616e736665727265640a202020206c65742073656e745661756c743a204046756e6769626c65546f6b656e2e5661756c740a0a2020202070726570617265287369676e65723a20417574684163636f756e7429207b0a20202020202020202f2f204765742061207265666572656e636520746f20746865207369676e657227732073746f726564207661756c740a20202020202020206c6574207661756c74526566203d207369676e65722e626f72726f773c26465553442e5661756c743e2866726f6d3a202f73746f726167652f667573645661756c74290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f20746865206f776e65722773205661756c742122290a0a20202020202020202f2f20576974686472617720746f6b656e732066726f6d20746865207369676e657227732073746f726564207661756c740a202020202020202073656c662e73656e745661756c74203c2d207661756c745265662e776974686472617728616d6f756e743a20616d6f756e74290a202020207d0a0a2020202065786563757465207b0a20202020202020202f2f204765742074686520726563697069656e742773207075626c6963206163636f756e74206f626a6563740a20202020202020206c657420726563697069656e74203d206765744163636f756e7428746f290a0a20202020202020202f2f204765742061207265666572656e636520746f2074686520726563697069656e7427732052656365697665720a20202020202020206c6574207265636569766572526566203d20726563697069656e742e6765744361706162696c697479282f7075626c69632f66757364526563656976657229212e626f72726f773c267b46756e6769626c65546f6b656e2e52656365697665727d3e28290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265636569766572207265666572656e636520746f2074686520726563697069656e742773205661756c7422290a0a20202020202020202f2f204465706f736974207468652077697468647261776e20746f6b656e7320696e2074686520726563697069656e7427732072656365697665720a202020202020202072656365697665725265662e6465706f7369742866726f6d3a203c2d73656c662e73656e745661756c74290a202020207d0a7d0af861b07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227daf7b2274797065223a2241646472657373222c2276616c7565223a22307865343637623964643131666130306466227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "02f22ca4b350a79c724f6471d5a6a7a0efa7ba9aeebb7fed2843a3ddd6e42c2e1c180cef7053a5f0ae66e19e3a96cc3b9eb7da29767fb5d6938239bf1f8e1dc2845472616e736665722046555344000201416d6f756e740000554669783634000301526563697069656e740001416464726573730003", - "hash": "180cef7053a5f0ae66e19e3a96cc3b9eb7da29767fb5d6938239bf1f8e1dc284" - }, - { - "title": "TS.01 - Set up Top Shot Collection", - "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": [], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ] - }, - "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": [], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f90384b90340696d706f727420546f7053686f742066726f6d203078306232613332393963633835376532390a0a2f2f2054686973207472616e73616374696f6e207365747320757020616e206163636f756e7420746f2075736520546f702053686f740a2f2f2062792073746f72696e6720616e20656d707479206d6f6d656e7420636f6c6c656374696f6e20616e64206372656174696e670a2f2f2061207075626c6963206361706162696c69747920666f722069740a0a7472616e73616374696f6e207b0a0a202020207072657061726528616363743a20417574684163636f756e7429207b0a0a20202020202020202f2f2046697273742c20636865636b20746f207365652069662061206d6f6d656e7420636f6c6c656374696f6e20616c7265616479206578697374730a2020202020202020696620616363742e626f72726f773c26546f7053686f742e436f6c6c656374696f6e3e2866726f6d3a202f73746f726167652f4d6f6d656e74436f6c6c656374696f6e29203d3d206e696c207b0a0a2020202020202020202020202f2f206372656174652061206e657720546f7053686f7420436f6c6c656374696f6e0a2020202020202020202020206c657420636f6c6c656374696f6e203c2d20546f7053686f742e637265617465456d707479436f6c6c656374696f6e2829206173212040546f7053686f742e436f6c6c656374696f6e0a0a2020202020202020202020202f2f2050757420746865206e657720436f6c6c656374696f6e20696e2073746f726167650a202020202020202020202020616363742e73617665283c2d636f6c6c656374696f6e2c20746f3a202f73746f726167652f4d6f6d656e74436f6c6c656374696f6e290a0a2020202020202020202020202f2f206372656174652061207075626c6963206361706162696c69747920666f722074686520636f6c6c656374696f6e0a202020202020202020202020616363742e6c696e6b3c267b546f7053686f742e4d6f6d656e74436f6c6c656374696f6e5075626c69637d3e282f7075626c69632f4d6f6d656e74436f6c6c656374696f6e2c207461726765743a202f73746f726167652f4d6f6d656e74436f6c6c656374696f6e290a20202020202020207d0a202020207d0a7dc0a0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f90388f90384b90340696d706f727420546f7053686f742066726f6d203078306232613332393963633835376532390a0a2f2f2054686973207472616e73616374696f6e207365747320757020616e206163636f756e7420746f2075736520546f702053686f740a2f2f2062792073746f72696e6720616e20656d707479206d6f6d656e7420636f6c6c656374696f6e20616e64206372656174696e670a2f2f2061207075626c6963206361706162696c69747920666f722069740a0a7472616e73616374696f6e207b0a0a202020207072657061726528616363743a20417574684163636f756e7429207b0a0a20202020202020202f2f2046697273742c20636865636b20746f207365652069662061206d6f6d656e7420636f6c6c656374696f6e20616c7265616479206578697374730a2020202020202020696620616363742e626f72726f773c26546f7053686f742e436f6c6c656374696f6e3e2866726f6d3a202f73746f726167652f4d6f6d656e74436f6c6c656374696f6e29203d3d206e696c207b0a0a2020202020202020202020202f2f206372656174652061206e657720546f7053686f7420436f6c6c656374696f6e0a2020202020202020202020206c657420636f6c6c656374696f6e203c2d20546f7053686f742e637265617465456d707479436f6c6c656374696f6e2829206173212040546f7053686f742e436f6c6c656374696f6e0a0a2020202020202020202020202f2f2050757420746865206e657720436f6c6c656374696f6e20696e2073746f726167650a202020202020202020202020616363742e73617665283c2d636f6c6c656374696f6e2c20746f3a202f73746f726167652f4d6f6d656e74436f6c6c656374696f6e290a0a2020202020202020202020202f2f206372656174652061207075626c6963206361706162696c69747920666f722074686520636f6c6c656374696f6e0a202020202020202020202020616363742e6c696e6b3c267b546f7053686f742e4d6f6d656e74436f6c6c656374696f6e5075626c69637d3e282f7075626c69632f4d6f6d656e74436f6c6c656374696f6e2c207461726765743a202f73746f726167652f4d6f6d656e74436f6c6c656374696f6e290a20202020202020207d0a202020207d0a7dc0a0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "020f0baeef9353ceee607c5be3b7c0f86792dadf20b9e9c89e831adb0199e758827511848f1c27a173d966f4b868fd7efead7eeb1bbf04fc3f3e60dabc6c7f759353657420757020546f702053686f7420436f6c6c656374696f6e0000", - "hash": "7511848f1c27a173d966f4b868fd7efead7eeb1bbf04fc3f3e60dabc6c7f7593" - }, - { - "title": "TS.02 - Transfer Top Shot Moment", - "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}", - "arguments": [ - { - "type": "Address", - "value": "0xe467b9dd11fa00df" - }, - { - "type": "UInt64", - "value": "42" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ] - }, - "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}", - "arguments": [ - { - "type": "Address", - "value": "0xe467b9dd11fa00df" - }, - { - "type": "UInt64", - "value": "42" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f90681b905ed696d706f7274204e6f6e46756e6769626c65546f6b656e2066726f6d203078316437653537616135353831373434380a696d706f727420546f7053686f742066726f6d203078306232613332393963633835376532390a0a2f2f2054686973207472616e73616374696f6e207472616e73666572732061206d6f6d656e7420746f206120726563697069656e740a0a2f2f2054686973207472616e73616374696f6e20697320686f77206120746f7073686f74207573657220776f756c64207472616e736665722061206d6f6d656e740a2f2f2066726f6d207468656972206163636f756e7420746f20616e6f74686572206163636f756e740a2f2f2054686520726563697069656e74206d7573742068617665206120546f7053686f7420436f6c6c656374696f6e206f626a6563742073746f7265640a2f2f20616e642061207075626c6963204d6f6d656e74436f6c6c656374696f6e5075626c6963206361706162696c6974792073746f7265642061740a2f2f20602f7075626c69632f4d6f6d656e74436f6c6c656374696f6e600a0a2f2f20506172616d65746572733a0a2f2f0a2f2f20726563697069656e743a2054686520466c6f772061646472657373206f6620746865206163636f756e7420746f207265636569766520746865206d6f6d656e742e0a2f2f20776974686472617749443a20546865206964206f6620746865206d6f6d656e7420746f206265207472616e736665727265640a0a7472616e73616374696f6e28726563697069656e743a20416464726573732c20776974686472617749443a2055496e74363429207b0a0a202020202f2f206c6f63616c207661726961626c6520666f722073746f72696e6720746865207472616e7366657272656420746f6b656e0a202020206c6574207472616e73666572546f6b656e3a20404e6f6e46756e6769626c65546f6b656e2e4e46540a202020200a202020207072657061726528616363743a20417574684163636f756e7429207b0a0a20202020202020202f2f20626f72726f772061207265666572656e636520746f20746865206f776e6572277320636f6c6c656374696f6e0a20202020202020206c657420636f6c6c656374696f6e526566203d20616363742e626f72726f773c26546f7053686f742e436f6c6c656374696f6e3e2866726f6d3a202f73746f726167652f4d6f6d656e74436f6c6c656374696f6e290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f207468652073746f726564204d6f6d656e7420636f6c6c656374696f6e22290a20202020202020200a20202020202020202f2f20776974686472617720746865204e46540a202020202020202073656c662e7472616e73666572546f6b656e203c2d20636f6c6c656374696f6e5265662e776974686472617728776974686472617749443a2077697468647261774944290a202020207d0a0a2020202065786563757465207b0a20202020202020200a20202020202020202f2f206765742074686520726563697069656e742773207075626c6963206163636f756e74206f626a6563740a20202020202020206c657420726563697069656e74203d206765744163636f756e7428726563697069656e74290a0a20202020202020202f2f206765742074686520436f6c6c656374696f6e207265666572656e636520666f72207468652072656365697665720a20202020202020206c6574207265636569766572526566203d20726563697069656e742e6765744361706162696c697479282f7075626c69632f4d6f6d656e74436f6c6c656374696f6e292e626f72726f773c267b546f7053686f742e4d6f6d656e74436f6c6c656374696f6e5075626c69637d3e2829210a0a20202020202020202f2f206465706f73697420746865204e465420696e207468652072656365697665727320636f6c6c656374696f6e0a202020202020202072656365697665725265662e6465706f73697428746f6b656e3a203c2d73656c662e7472616e73666572546f6b656e290a202020207d0a7df84faf7b2274797065223a2241646472657373222c2276616c7565223a22307865343637623964643131666130306466227d9e7b2274797065223a2255496e743634222c2276616c7565223a223432227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f90685f90681b905ed696d706f7274204e6f6e46756e6769626c65546f6b656e2066726f6d203078316437653537616135353831373434380a696d706f727420546f7053686f742066726f6d203078306232613332393963633835376532390a0a2f2f2054686973207472616e73616374696f6e207472616e73666572732061206d6f6d656e7420746f206120726563697069656e740a0a2f2f2054686973207472616e73616374696f6e20697320686f77206120746f7073686f74207573657220776f756c64207472616e736665722061206d6f6d656e740a2f2f2066726f6d207468656972206163636f756e7420746f20616e6f74686572206163636f756e740a2f2f2054686520726563697069656e74206d7573742068617665206120546f7053686f7420436f6c6c656374696f6e206f626a6563742073746f7265640a2f2f20616e642061207075626c6963204d6f6d656e74436f6c6c656374696f6e5075626c6963206361706162696c6974792073746f7265642061740a2f2f20602f7075626c69632f4d6f6d656e74436f6c6c656374696f6e600a0a2f2f20506172616d65746572733a0a2f2f0a2f2f20726563697069656e743a2054686520466c6f772061646472657373206f6620746865206163636f756e7420746f207265636569766520746865206d6f6d656e742e0a2f2f20776974686472617749443a20546865206964206f6620746865206d6f6d656e7420746f206265207472616e736665727265640a0a7472616e73616374696f6e28726563697069656e743a20416464726573732c20776974686472617749443a2055496e74363429207b0a0a202020202f2f206c6f63616c207661726961626c6520666f722073746f72696e6720746865207472616e7366657272656420746f6b656e0a202020206c6574207472616e73666572546f6b656e3a20404e6f6e46756e6769626c65546f6b656e2e4e46540a202020200a202020207072657061726528616363743a20417574684163636f756e7429207b0a0a20202020202020202f2f20626f72726f772061207265666572656e636520746f20746865206f776e6572277320636f6c6c656374696f6e0a20202020202020206c657420636f6c6c656374696f6e526566203d20616363742e626f72726f773c26546f7053686f742e436f6c6c656374696f6e3e2866726f6d3a202f73746f726167652f4d6f6d656e74436f6c6c656374696f6e290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772061207265666572656e636520746f207468652073746f726564204d6f6d656e7420636f6c6c656374696f6e22290a20202020202020200a20202020202020202f2f20776974686472617720746865204e46540a202020202020202073656c662e7472616e73666572546f6b656e203c2d20636f6c6c656374696f6e5265662e776974686472617728776974686472617749443a2077697468647261774944290a202020207d0a0a2020202065786563757465207b0a20202020202020200a20202020202020202f2f206765742074686520726563697069656e742773207075626c6963206163636f756e74206f626a6563740a20202020202020206c657420726563697069656e74203d206765744163636f756e7428726563697069656e74290a0a20202020202020202f2f206765742074686520436f6c6c656374696f6e207265666572656e636520666f72207468652072656365697665720a20202020202020206c6574207265636569766572526566203d20726563697069656e742e6765744361706162696c697479282f7075626c69632f4d6f6d656e74436f6c6c656374696f6e292e626f72726f773c267b546f7053686f742e4d6f6d656e74436f6c6c656374696f6e5075626c69637d3e2829210a0a20202020202020202f2f206465706f73697420746865204e465420696e207468652072656365697665727320636f6c6c656374696f6e0a202020202020202072656365697665725265662e6465706f73697428746f6b656e3a203c2d73656c662e7472616e73666572546f6b656e290a202020207d0a7df84faf7b2274797065223a2241646472657373222c2276616c7565223a22307865343637623964643131666130306466227d9e7b2274797065223a2255496e743634222c2276616c7565223a223432227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "021ec9aea0b51409610f882f5ae4278567da675542bb378eb999f05b7c4f12f7d809d5ad21bf70dfe4f8d800db9e61a77f2f64837ae0e818c3cd67e9cea837a1cf5472616e7366657220546f702053686f74204d6f6d656e74000201526563697069656e740000416464726573730003014d6f6d656e74204944000155496e7436340003", - "hash": "09d5ad21bf70dfe4f8d800db9e61a77f2f64837ae0e818c3cd67e9cea837a1cf" - }, - { - "title": "USDC.01 - Setup USDC Vault", - "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": [], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ] - }, - "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": [], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f905b9b90575696d706f72742046756e6769626c65546f6b656e2066726f6d203078663233336463656538386665306162650a696d706f72742046696174546f6b656e2066726f6d203078623139343336616165346439343632320a0a7472616e73616374696f6e207b0a0a2020202070726570617265287369676e65723a20417574684163636f756e7429207b0a0a20202020202020202f2f2052657475726e206561726c7920696620746865206163636f756e7420616c72656164792073746f72657320612046696174546f6b656e205661756c740a20202020202020206966207369676e65722e626f72726f773c2646696174546f6b656e2e5661756c743e2866726f6d3a2046696174546f6b656e2e5661756c7453746f72616765506174682920213d206e696c207b0a20202020202020202020202072657475726e0a20202020202020207d0a0a20202020202020202f2f204372656174652061206e6577204578616d706c65546f6b656e205661756c7420616e642070757420697420696e2073746f726167650a20202020202020207369676e65722e73617665280a2020202020202020202020203c2d46696174546f6b656e2e637265617465456d7074795661756c7428292c0a202020202020202020202020746f3a2046696174546f6b656e2e5661756c7453746f72616765506174680a2020202020202020290a0a20202020202020202f2f204372656174652061207075626c6963206361706162696c69747920746f20746865205661756c742074686174206f6e6c79206578706f7365730a20202020202020202f2f20746865206465706f7369742066756e6374696f6e207468726f7567682074686520526563656976657220696e746572666163650a20202020202020207369676e65722e6c696e6b3c2646696174546f6b656e2e5661756c747b46756e6769626c65546f6b656e2e52656365697665727d3e280a20202020202020202020202046696174546f6b656e2e5661756c745265636569766572507562506174682c0a2020202020202020202020207461726765743a2046696174546f6b656e2e5661756c7453746f72616765506174680a2020202020202020290a0a20202020202020202f2f204372656174652061207075626c6963206361706162696c69747920746f20746865205661756c742074686174206f6e6c79206578706f7365730a20202020202020202f2f20746865205555494428292066756e6374696f6e207468726f75676820746865205661756c745555494420696e746572666163650a20202020202020207369676e65722e6c696e6b3c2646696174546f6b656e2e5661756c747b46696174546f6b656e2e5265736f7572636549647d3e280a20202020202020202020202046696174546f6b656e2e5661756c7455554944507562506174682c0a2020202020202020202020207461726765743a2046696174546f6b656e2e5661756c7453746f72616765506174680a2020202020202020290a0a20202020202020202f2f204372656174652061207075626c6963206361706162696c69747920746f20746865205661756c742074686174206f6e6c79206578706f7365730a20202020202020202f2f207468652062616c616e6365206669656c64207468726f756768207468652042616c616e636520696e746572666163650a20202020202020207369676e65722e6c696e6b3c2646696174546f6b656e2e5661756c747b46756e6769626c65546f6b656e2e42616c616e63657d3e280a20202020202020202020202046696174546f6b656e2e5661756c7442616c616e6365507562506174682c0a2020202020202020202020207461726765743a2046696174546f6b656e2e5661756c7453746f72616765506174680a2020202020202020290a0a202020207d0a7d0ac0a0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f905bdf905b9b90575696d706f72742046756e6769626c65546f6b656e2066726f6d203078663233336463656538386665306162650a696d706f72742046696174546f6b656e2066726f6d203078623139343336616165346439343632320a0a7472616e73616374696f6e207b0a0a2020202070726570617265287369676e65723a20417574684163636f756e7429207b0a0a20202020202020202f2f2052657475726e206561726c7920696620746865206163636f756e7420616c72656164792073746f72657320612046696174546f6b656e205661756c740a20202020202020206966207369676e65722e626f72726f773c2646696174546f6b656e2e5661756c743e2866726f6d3a2046696174546f6b656e2e5661756c7453746f72616765506174682920213d206e696c207b0a20202020202020202020202072657475726e0a20202020202020207d0a0a20202020202020202f2f204372656174652061206e6577204578616d706c65546f6b656e205661756c7420616e642070757420697420696e2073746f726167650a20202020202020207369676e65722e73617665280a2020202020202020202020203c2d46696174546f6b656e2e637265617465456d7074795661756c7428292c0a202020202020202020202020746f3a2046696174546f6b656e2e5661756c7453746f72616765506174680a2020202020202020290a0a20202020202020202f2f204372656174652061207075626c6963206361706162696c69747920746f20746865205661756c742074686174206f6e6c79206578706f7365730a20202020202020202f2f20746865206465706f7369742066756e6374696f6e207468726f7567682074686520526563656976657220696e746572666163650a20202020202020207369676e65722e6c696e6b3c2646696174546f6b656e2e5661756c747b46756e6769626c65546f6b656e2e52656365697665727d3e280a20202020202020202020202046696174546f6b656e2e5661756c745265636569766572507562506174682c0a2020202020202020202020207461726765743a2046696174546f6b656e2e5661756c7453746f72616765506174680a2020202020202020290a0a20202020202020202f2f204372656174652061207075626c6963206361706162696c69747920746f20746865205661756c742074686174206f6e6c79206578706f7365730a20202020202020202f2f20746865205555494428292066756e6374696f6e207468726f75676820746865205661756c745555494420696e746572666163650a20202020202020207369676e65722e6c696e6b3c2646696174546f6b656e2e5661756c747b46696174546f6b656e2e5265736f7572636549647d3e280a20202020202020202020202046696174546f6b656e2e5661756c7455554944507562506174682c0a2020202020202020202020207461726765743a2046696174546f6b656e2e5661756c7453746f72616765506174680a2020202020202020290a0a20202020202020202f2f204372656174652061207075626c6963206361706162696c69747920746f20746865205661756c742074686174206f6e6c79206578706f7365730a20202020202020202f2f207468652062616c616e6365206669656c64207468726f756768207468652042616c616e636520696e746572666163650a20202020202020207369676e65722e6c696e6b3c2646696174546f6b656e2e5661756c747b46756e6769626c65546f6b656e2e42616c616e63657d3e280a20202020202020202020202046696174546f6b656e2e5661756c7442616c616e6365507562506174682c0a2020202020202020202020207461726765743a2046696174546f6b656e2e5661756c7453746f72616765506174680a2020202020202020290a0a202020207d0a7d0ac0a0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "022defee818c0c003ca519f83517f4c7bcf9dd8664a562ec80959cb6146428f971887673892a2e2c12337394570dfa30c5669e93f537ae426690f402799514a9a153657475702055534443205661756c740000", - "hash": "887673892a2e2c12337394570dfa30c5669e93f537ae426690f402799514a9a1" - }, - { - "title": "USDC.02 - Transfer USDC", - "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", - "arguments": [ - { - "type": "UFix64", - "value": "42" - }, - { - "type": "Address", - "value": "0xe467b9dd11fa00df" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ] - }, - "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", - "arguments": [ - { - "type": "UFix64", - "value": "42" - }, - { - "type": "Address", - "value": "0xe467b9dd11fa00df" - } - ], - "refBlock": "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b", - "gasLimit": 42, - "proposalKey": { - "address": "f19c161bc24cf4b4", - "keyId": 4, - "sequenceNum": 10 - }, - "payer": "f19c161bc24cf4b4", - "authorizers": [ - "f19c161bc24cf4b4" - ], - "payloadSigs": [] - }, - "encodedTransactionPayloadHex": "f90503b9046f696d706f72742046756e6769626c65546f6b656e2066726f6d203078663233336463656538386665306162650a696d706f72742046696174546f6b656e2066726f6d203078623139343336616165346439343632320a0a7472616e73616374696f6e28616d6f756e743a205546697836342c20746f3a204164647265737329207b0a0a202020202f2f20546865205661756c74207265736f75726365207468617420686f6c64732074686520746f6b656e73207468617420617265206265696e67207472616e736665727265640a202020206c65742073656e745661756c743a204046756e6769626c65546f6b656e2e5661756c740a0a2020202070726570617265287369676e65723a20417574684163636f756e7429207b0a0a20202020202020202f2f204765742061207265666572656e636520746f20746865207369676e657227732073746f726564207661756c740a20202020202020206c6574207661756c74526566203d207369676e65722e626f72726f773c2646696174546f6b656e2e5661756c743e2866726f6d3a2046696174546f6b656e2e5661756c7453746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f20746865206f776e65722773205661756c742122290a0a20202020202020202f2f20576974686472617720746f6b656e732066726f6d20746865207369676e657227732073746f726564207661756c740a202020202020202073656c662e73656e745661756c74203c2d207661756c745265662e776974686472617728616d6f756e743a20616d6f756e74290a202020207d0a0a2020202065786563757465207b0a0a20202020202020202f2f204765742074686520726563697069656e742773207075626c6963206163636f756e74206f626a6563740a20202020202020206c657420726563697069656e74203d206765744163636f756e7428746f290a0a20202020202020202f2f204765742061207265666572656e636520746f2074686520726563697069656e7427732052656365697665720a20202020202020206c6574207265636569766572526566203d20726563697069656e742e6765744361706162696c6974792846696174546f6b656e2e5661756c74526563656976657250756250617468290a2020202020202020202020202e626f72726f773c267b46756e6769626c65546f6b656e2e52656365697665727d3e28290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265636569766572207265666572656e636520746f2074686520726563697069656e742773205661756c7422290a0a20202020202020202f2f204465706f736974207468652077697468647261776e20746f6b656e7320696e2074686520726563697069656e7427732072656365697665720a202020202020202072656365697665725265662e6465706f7369742866726f6d3a203c2d73656c662e73656e745661756c74290a202020207d0a7d0af84f9e7b2274797065223a22554669783634222c2276616c7565223a223432227daf7b2274797065223a2241646472657373222c2276616c7565223a22307865343637623964643131666130306466227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f90507f90503b9046f696d706f72742046756e6769626c65546f6b656e2066726f6d203078663233336463656538386665306162650a696d706f72742046696174546f6b656e2066726f6d203078623139343336616165346439343632320a0a7472616e73616374696f6e28616d6f756e743a205546697836342c20746f3a204164647265737329207b0a0a202020202f2f20546865205661756c74207265736f75726365207468617420686f6c64732074686520746f6b656e73207468617420617265206265696e67207472616e736665727265640a202020206c65742073656e745661756c743a204046756e6769626c65546f6b656e2e5661756c740a0a2020202070726570617265287369676e65723a20417574684163636f756e7429207b0a0a20202020202020202f2f204765742061207265666572656e636520746f20746865207369676e657227732073746f726564207661756c740a20202020202020206c6574207661756c74526566203d207369676e65722e626f72726f773c2646696174546f6b656e2e5661756c743e2866726f6d3a2046696174546f6b656e2e5661756c7453746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f20746865206f776e65722773205661756c742122290a0a20202020202020202f2f20576974686472617720746f6b656e732066726f6d20746865207369676e657227732073746f726564207661756c740a202020202020202073656c662e73656e745661756c74203c2d207661756c745265662e776974686472617728616d6f756e743a20616d6f756e74290a202020207d0a0a2020202065786563757465207b0a0a20202020202020202f2f204765742074686520726563697069656e742773207075626c6963206163636f756e74206f626a6563740a20202020202020206c657420726563697069656e74203d206765744163636f756e7428746f290a0a20202020202020202f2f204765742061207265666572656e636520746f2074686520726563697069656e7427732052656365697665720a20202020202020206c6574207265636569766572526566203d20726563697069656e742e6765744361706162696c6974792846696174546f6b656e2e5661756c74526563656976657250756250617468290a2020202020202020202020202e626f72726f773c267b46756e6769626c65546f6b656e2e52656365697665727d3e28290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265636569766572207265666572656e636520746f2074686520726563697069656e742773205661756c7422290a0a20202020202020202f2f204465706f736974207468652077697468647261776e20746f6b656e7320696e2074686520726563697069656e7427732072656365697665720a202020202020202072656365697665725265662e6465706f7369742866726f6d3a203c2d73656c662e73656e745661756c74290a202020207d0a7d0af84f9e7b2274797065223a22554669783634222c2276616c7565223a223432227daf7b2274797065223a2241646472657373222c2276616c7565223a22307865343637623964643131666130306466227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "02512485ec3f8e007853b0ea2a22fb2b9f7e2fa55fd9819171c5d013282efee60a7ff4d9f53ba5eebda556d0ead0ca13911bc8996e2c91c5147f8787d10a3244835472616e736665722055534443000201416d6f756e740000554669783634000301526563697069656e740001416464726573730003", - "hash": "7ff4d9f53ba5eebda556d0ead0ca13911bc8996e2c91c5147f8787d10a324483" - }, - { - "title": "SCO.03 - Register Node - 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", - "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 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", - "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": "f90849b9058a696d706f72742043727970746f0a696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f2052656769737465727320612064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e207265736f757263650a2f2f2f20666f722074686520737065636966696564206e6f646520696e666f726d6174696f6e20616e642074686520616d6f756e74206f6620746f6b656e7320746f20636f6d6d69740a0a7472616e73616374696f6e2869643a20537472696e672c0a202020202020202020202020726f6c653a2055496e74382c0a2020202020202020202020206e6574776f726b696e67416464726573733a20537472696e672c0a2020202020202020202020206e6574776f726b696e674b65793a20537472696e672c0a2020202020202020202020207374616b696e674b65793a20537472696e672c0a202020202020202020202020616d6f756e743a205546697836342c0a2020202020202020202020207075626c69634b6579733a205b43727970746f2e4b65794c697374456e7472795d3f29207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a0a20202020202020206966206c6574206d616368696e654163636f756e74203d2073656c662e7374616b696e67436f6c6c656374696f6e5265662e72656769737465724e6f6465280a20202020202020202020202069643a2069642c0a202020202020202020202020726f6c653a20726f6c652c0a2020202020202020202020206e6574776f726b696e67416464726573733a206e6574776f726b696e67416464726573732c0a2020202020202020202020206e6574776f726b696e674b65793a206e6574776f726b696e674b65792c0a2020202020202020202020207374616b696e674b65793a207374616b696e674b65792c0a202020202020202020202020616d6f756e743a20616d6f756e742c0a20202020202020202020202070617965723a206163636f756e7429200a20202020202020207b0a2020202020202020202020206966207075626c69634b657973203d3d206e696c207c7c207075626c69634b657973212e6c656e677468203d3d2030207b0a2020202020202020202020202020202070616e6963282243616e6e6f742070726f76696465207a65726f206b65797320666f7220746865206d616368696e65206163636f756e7422290a2020202020202020202020207d0a202020202020202020202020666f72206b657920696e207075626c69634b65797321207b0a202020202020202020202020202020206d616368696e654163636f756e742e6b6579732e616464287075626c69634b65793a206b65792e7075626c69634b65792c2068617368416c676f726974686d3a206b65792e68617368416c676f726974686d2c207765696768743a206b65792e776569676874290a2020202020202020202020207d0a20202020202020207d0a202020207d0a7d0af90279b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227d9c7b2274797065223a2255496e7438222c2276616c7565223a2231227daf7b2274797065223a22537472696e67222c2276616c7565223a22666c6f772d6e6f64652e746573743a33353639227db89c7b2274797065223a22537472696e67222c2276616c7565223a223133343833303762633737633638386538303034396465396430383161613039373535646133336536393937363035666130353964623231343466633835653536306362653666376461386437346234353366353931363631386362386664333932633264623835366633653738323231646336386462316231643931346534227db8dc7b2274797065223a22537472696e67222c2276616c7565223a22396539616530643634356664356664393035303739326530623064616138326363313638366439313333616661306638316137383462333735633432616534383536376431353435653761396531393635663263316133326637336366383537356562623761393637663665346431303464326466373865623862653430393133356431326461303439396238613030373731663634326331623963343933393766323262343430343339663033366333626465653832663533303964616233227db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da07b2274797065223a224f7074696f6e616c222c2276616c7565223a6e756c6c7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f9084df90849b9058a696d706f72742043727970746f0a696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f2052656769737465727320612064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e207265736f757263650a2f2f2f20666f722074686520737065636966696564206e6f646520696e666f726d6174696f6e20616e642074686520616d6f756e74206f6620746f6b656e7320746f20636f6d6d69740a0a7472616e73616374696f6e2869643a20537472696e672c0a202020202020202020202020726f6c653a2055496e74382c0a2020202020202020202020206e6574776f726b696e67416464726573733a20537472696e672c0a2020202020202020202020206e6574776f726b696e674b65793a20537472696e672c0a2020202020202020202020207374616b696e674b65793a20537472696e672c0a202020202020202020202020616d6f756e743a205546697836342c0a2020202020202020202020207075626c69634b6579733a205b43727970746f2e4b65794c697374456e7472795d3f29207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a0a20202020202020206966206c6574206d616368696e654163636f756e74203d2073656c662e7374616b696e67436f6c6c656374696f6e5265662e72656769737465724e6f6465280a20202020202020202020202069643a2069642c0a202020202020202020202020726f6c653a20726f6c652c0a2020202020202020202020206e6574776f726b696e67416464726573733a206e6574776f726b696e67416464726573732c0a2020202020202020202020206e6574776f726b696e674b65793a206e6574776f726b696e674b65792c0a2020202020202020202020207374616b696e674b65793a207374616b696e674b65792c0a202020202020202020202020616d6f756e743a20616d6f756e742c0a20202020202020202020202070617965723a206163636f756e7429200a20202020202020207b0a2020202020202020202020206966207075626c69634b657973203d3d206e696c207c7c207075626c69634b657973212e6c656e677468203d3d2030207b0a2020202020202020202020202020202070616e6963282243616e6e6f742070726f76696465207a65726f206b65797320666f7220746865206d616368696e65206163636f756e7422290a2020202020202020202020207d0a202020202020202020202020666f72206b657920696e207075626c69634b65797321207b0a202020202020202020202020202020206d616368696e654163636f756e742e6b6579732e616464287075626c69634b65793a206b65792e7075626c69634b65792c2068617368416c676f726974686d3a206b65792e68617368416c676f726974686d2c207765696768743a206b65792e776569676874290a2020202020202020202020207d0a20202020202020207d0a202020207d0a7d0af90279b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227d9c7b2274797065223a2255496e7438222c2276616c7565223a2231227daf7b2274797065223a22537472696e67222c2276616c7565223a22666c6f772d6e6f64652e746573743a33353639227db89c7b2274797065223a22537472696e67222c2276616c7565223a223133343833303762633737633638386538303034396465396430383161613039373535646133336536393937363035666130353964623231343466633835653536306362653666376461386437346234353366353931363631386362386664333932633264623835366633653738323231646336386462316231643931346534227db8dc7b2274797065223a22537472696e67222c2276616c7565223a22396539616530643634356664356664393035303739326530623064616138326363313638366439313333616661306638316137383462333735633432616534383536376431353435653761396531393635663263316133326637336366383537356562623761393637663665346431303464326466373865623862653430393133356431326461303439396238613030373731663634326331623963343933393766323262343430343339663033366333626465653832663533303964616233227db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227da07b2274797065223a224f7074696f6e616c222c2276616c7565223a6e756c6c7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "029246ec9b7a5c81151156e7c2f6d356f68b1b884f88728daca46b968d9a46cd5a79de7119aea61bdafb39cc3d1f4fa17ca802c2732726a86d2c636dbc19808b685265676973746572204e6f64650007014e6f64652049440000537472696e670003014e6f646520526f6c65000155496e74380003014e6574772e20416464726573730002537472696e670003014e6574772e204b65790003537472696e670003015374616b696e67204b65790004537472696e67000301416d6f756e74000555466978363400030400035075622e204b65790006537472696e670003", - "hash": "79de7119aea61bdafb39cc3d1f4fa17ca802c2732726a86d2c636dbc19808b68" - }, - { - "title": "SCO.03 - Register Node - 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", - "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 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", - "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": "f90860b9058a696d706f72742043727970746f0a696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f2052656769737465727320612064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e207265736f757263650a2f2f2f20666f722074686520737065636966696564206e6f646520696e666f726d6174696f6e20616e642074686520616d6f756e74206f6620746f6b656e7320746f20636f6d6d69740a0a7472616e73616374696f6e2869643a20537472696e672c0a202020202020202020202020726f6c653a2055496e74382c0a2020202020202020202020206e6574776f726b696e67416464726573733a20537472696e672c0a2020202020202020202020206e6574776f726b696e674b65793a20537472696e672c0a2020202020202020202020207374616b696e674b65793a20537472696e672c0a202020202020202020202020616d6f756e743a205546697836342c0a2020202020202020202020207075626c69634b6579733a205b43727970746f2e4b65794c697374456e7472795d3f29207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a0a20202020202020206966206c6574206d616368696e654163636f756e74203d2073656c662e7374616b696e67436f6c6c656374696f6e5265662e72656769737465724e6f6465280a20202020202020202020202069643a2069642c0a202020202020202020202020726f6c653a20726f6c652c0a2020202020202020202020206e6574776f726b696e67416464726573733a206e6574776f726b696e67416464726573732c0a2020202020202020202020206e6574776f726b696e674b65793a206e6574776f726b696e674b65792c0a2020202020202020202020207374616b696e674b65793a207374616b696e674b65792c0a202020202020202020202020616d6f756e743a20616d6f756e742c0a20202020202020202020202070617965723a206163636f756e7429200a20202020202020207b0a2020202020202020202020206966207075626c69634b657973203d3d206e696c207c7c207075626c69634b657973212e6c656e677468203d3d2030207b0a2020202020202020202020202020202070616e6963282243616e6e6f742070726f76696465207a65726f206b65797320666f7220746865206d616368696e65206163636f756e7422290a2020202020202020202020207d0a202020202020202020202020666f72206b657920696e207075626c69634b65797321207b0a202020202020202020202020202020206d616368696e654163636f756e742e6b6579732e616464287075626c69634b65793a206b65792e7075626c69634b65792c2068617368416c676f726974686d3a206b65792e68617368416c676f726974686d2c207765696768743a206b65792e776569676874290a2020202020202020202020207d0a20202020202020207d0a202020207d0a7d0af90290b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227d9c7b2274797065223a2255496e7438222c2276616c7565223a2231227daf7b2274797065223a22537472696e67222c2276616c7565223a22666c6f772d6e6f64652e746573743a33353639227db89c7b2274797065223a22537472696e67222c2276616c7565223a223133343833303762633737633638386538303034396465396430383161613039373535646133336536393937363035666130353964623231343466633835653536306362653666376461386437346234353366353931363631386362386664333932633264623835366633653738323231646336386462316231643931346534227db8dc7b2274797065223a22537472696e67222c2276616c7565223a22396539616530643634356664356664393035303739326530623064616138326363313638366439313333616661306638316137383462333735633432616534383536376431353435653761396531393635663263316133326637336366383537356562623761393637663665346431303464326466373865623862653430393133356431326461303439396238613030373731663634326331623963343933393766323262343430343339663033366333626465653832663533303964616233227db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227db77b2274797065223a224f7074696f6e616c222c2276616c7565223a7b2274797065223a224172726179222c2276616c7565223a5b5d7d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f90864f90860b9058a696d706f72742043727970746f0a696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f2052656769737465727320612064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e207265736f757263650a2f2f2f20666f722074686520737065636966696564206e6f646520696e666f726d6174696f6e20616e642074686520616d6f756e74206f6620746f6b656e7320746f20636f6d6d69740a0a7472616e73616374696f6e2869643a20537472696e672c0a202020202020202020202020726f6c653a2055496e74382c0a2020202020202020202020206e6574776f726b696e67416464726573733a20537472696e672c0a2020202020202020202020206e6574776f726b696e674b65793a20537472696e672c0a2020202020202020202020207374616b696e674b65793a20537472696e672c0a202020202020202020202020616d6f756e743a205546697836342c0a2020202020202020202020207075626c69634b6579733a205b43727970746f2e4b65794c697374456e7472795d3f29207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a0a20202020202020206966206c6574206d616368696e654163636f756e74203d2073656c662e7374616b696e67436f6c6c656374696f6e5265662e72656769737465724e6f6465280a20202020202020202020202069643a2069642c0a202020202020202020202020726f6c653a20726f6c652c0a2020202020202020202020206e6574776f726b696e67416464726573733a206e6574776f726b696e67416464726573732c0a2020202020202020202020206e6574776f726b696e674b65793a206e6574776f726b696e674b65792c0a2020202020202020202020207374616b696e674b65793a207374616b696e674b65792c0a202020202020202020202020616d6f756e743a20616d6f756e742c0a20202020202020202020202070617965723a206163636f756e7429200a20202020202020207b0a2020202020202020202020206966207075626c69634b657973203d3d206e696c207c7c207075626c69634b657973212e6c656e677468203d3d2030207b0a2020202020202020202020202020202070616e6963282243616e6e6f742070726f76696465207a65726f206b65797320666f7220746865206d616368696e65206163636f756e7422290a2020202020202020202020207d0a202020202020202020202020666f72206b657920696e207075626c69634b65797321207b0a202020202020202020202020202020206d616368696e654163636f756e742e6b6579732e616464287075626c69634b65793a206b65792e7075626c69634b65792c2068617368416c676f726974686d3a206b65792e68617368416c676f726974686d2c207765696768743a206b65792e776569676874290a2020202020202020202020207d0a20202020202020207d0a202020207d0a7d0af90290b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227d9c7b2274797065223a2255496e7438222c2276616c7565223a2231227daf7b2274797065223a22537472696e67222c2276616c7565223a22666c6f772d6e6f64652e746573743a33353639227db89c7b2274797065223a22537472696e67222c2276616c7565223a223133343833303762633737633638386538303034396465396430383161613039373535646133336536393937363035666130353964623231343466633835653536306362653666376461386437346234353366353931363631386362386664333932633264623835366633653738323231646336386462316231643931346534227db8dc7b2274797065223a22537472696e67222c2276616c7565223a22396539616530643634356664356664393035303739326530623064616138326363313638366439313333616661306638316137383462333735633432616534383536376431353435653761396531393635663263316133326637336366383537356562623761393637663665346431303464326466373865623862653430393133356431326461303439396238613030373731663634326331623963343933393766323262343430343339663033366333626465653832663533303964616233227db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227db77b2274797065223a224f7074696f6e616c222c2276616c7565223a7b2274797065223a224172726179222c2276616c7565223a5b5d7d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "029246ec9b7a5c81151156e7c2f6d356f68b1b884f88728daca46b968d9a46cd5a79de7119aea61bdafb39cc3d1f4fa17ca802c2732726a86d2c636dbc19808b685265676973746572204e6f64650007014e6f64652049440000537472696e670003014e6f646520526f6c65000155496e74380003014e6574772e20416464726573730002537472696e670003014e6574772e204b65790003537472696e670003015374616b696e67204b65790004537472696e67000301416d6f756e74000555466978363400030400035075622e204b65790006537472696e670003", - "hash": "79de7119aea61bdafb39cc3d1f4fa17ca802c2732726a86d2c636dbc19808b68" - }, - { - "title": "SCO.03 - Register Node - 3", - "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", - "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 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", - "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": "f9090bb9058a696d706f72742043727970746f0a696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f2052656769737465727320612064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e207265736f757263650a2f2f2f20666f722074686520737065636966696564206e6f646520696e666f726d6174696f6e20616e642074686520616d6f756e74206f6620746f6b656e7320746f20636f6d6d69740a0a7472616e73616374696f6e2869643a20537472696e672c0a202020202020202020202020726f6c653a2055496e74382c0a2020202020202020202020206e6574776f726b696e67416464726573733a20537472696e672c0a2020202020202020202020206e6574776f726b696e674b65793a20537472696e672c0a2020202020202020202020207374616b696e674b65793a20537472696e672c0a202020202020202020202020616d6f756e743a205546697836342c0a2020202020202020202020207075626c69634b6579733a205b43727970746f2e4b65794c697374456e7472795d3f29207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a0a20202020202020206966206c6574206d616368696e654163636f756e74203d2073656c662e7374616b696e67436f6c6c656374696f6e5265662e72656769737465724e6f6465280a20202020202020202020202069643a2069642c0a202020202020202020202020726f6c653a20726f6c652c0a2020202020202020202020206e6574776f726b696e67416464726573733a206e6574776f726b696e67416464726573732c0a2020202020202020202020206e6574776f726b696e674b65793a206e6574776f726b696e674b65792c0a2020202020202020202020207374616b696e674b65793a207374616b696e674b65792c0a202020202020202020202020616d6f756e743a20616d6f756e742c0a20202020202020202020202070617965723a206163636f756e7429200a20202020202020207b0a2020202020202020202020206966207075626c69634b657973203d3d206e696c207c7c207075626c69634b657973212e6c656e677468203d3d2030207b0a2020202020202020202020202020202070616e6963282243616e6e6f742070726f76696465207a65726f206b65797320666f7220746865206d616368696e65206163636f756e7422290a2020202020202020202020207d0a202020202020202020202020666f72206b657920696e207075626c69634b65797321207b0a202020202020202020202020202020206d616368696e654163636f756e742e6b6579732e616464287075626c69634b65793a206b65792e7075626c69634b65792c2068617368416c676f726974686d3a206b65792e68617368416c676f726974686d2c207765696768743a206b65792e776569676874290a2020202020202020202020207d0a20202020202020207d0a202020207d0a7d0af9033bb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227d9c7b2274797065223a2255496e7438222c2276616c7565223a2231227daf7b2274797065223a22537472696e67222c2276616c7565223a22666c6f772d6e6f64652e746573743a33353639227db89c7b2274797065223a22537472696e67222c2276616c7565223a223133343833303762633737633638386538303034396465396430383161613039373535646133336536393937363035666130353964623231343466633835653536306362653666376461386437346234353366353931363631386362386664333932633264623835366633653738323231646336386462316231643931346534227db8dc7b2274797065223a22537472696e67222c2276616c7565223a22396539616530643634356664356664393035303739326530623064616138326363313638366439313333616661306638316137383462333735633432616534383536376431353435653761396531393635663263316133326637336366383537356562623761393637663665346431303464326466373865623862653430393133356431326461303439396238613030373731663634326331623963343933393766323262343430343339663033366333626465653832663533303964616233227db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227db8e17b2274797065223a224f7074696f6e616c222c2276616c7565223a7b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634227d5d7d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f9090ff9090bb9058a696d706f72742043727970746f0a696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f2052656769737465727320612064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e207265736f757263650a2f2f2f20666f722074686520737065636966696564206e6f646520696e666f726d6174696f6e20616e642074686520616d6f756e74206f6620746f6b656e7320746f20636f6d6d69740a0a7472616e73616374696f6e2869643a20537472696e672c0a202020202020202020202020726f6c653a2055496e74382c0a2020202020202020202020206e6574776f726b696e67416464726573733a20537472696e672c0a2020202020202020202020206e6574776f726b696e674b65793a20537472696e672c0a2020202020202020202020207374616b696e674b65793a20537472696e672c0a202020202020202020202020616d6f756e743a205546697836342c0a2020202020202020202020207075626c69634b6579733a205b43727970746f2e4b65794c697374456e7472795d3f29207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a0a20202020202020206966206c6574206d616368696e654163636f756e74203d2073656c662e7374616b696e67436f6c6c656374696f6e5265662e72656769737465724e6f6465280a20202020202020202020202069643a2069642c0a202020202020202020202020726f6c653a20726f6c652c0a2020202020202020202020206e6574776f726b696e67416464726573733a206e6574776f726b696e67416464726573732c0a2020202020202020202020206e6574776f726b696e674b65793a206e6574776f726b696e674b65792c0a2020202020202020202020207374616b696e674b65793a207374616b696e674b65792c0a202020202020202020202020616d6f756e743a20616d6f756e742c0a20202020202020202020202070617965723a206163636f756e7429200a20202020202020207b0a2020202020202020202020206966207075626c69634b657973203d3d206e696c207c7c207075626c69634b657973212e6c656e677468203d3d2030207b0a2020202020202020202020202020202070616e6963282243616e6e6f742070726f76696465207a65726f206b65797320666f7220746865206d616368696e65206163636f756e7422290a2020202020202020202020207d0a202020202020202020202020666f72206b657920696e207075626c69634b65797321207b0a202020202020202020202020202020206d616368696e654163636f756e742e6b6579732e616464287075626c69634b65793a206b65792e7075626c69634b65792c2068617368416c676f726974686d3a206b65792e68617368416c676f726974686d2c207765696768743a206b65792e776569676874290a2020202020202020202020207d0a20202020202020207d0a202020207d0a7d0af9033bb85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227d9c7b2274797065223a2255496e7438222c2276616c7565223a2231227daf7b2274797065223a22537472696e67222c2276616c7565223a22666c6f772d6e6f64652e746573743a33353639227db89c7b2274797065223a22537472696e67222c2276616c7565223a223133343833303762633737633638386538303034396465396430383161613039373535646133336536393937363035666130353964623231343466633835653536306362653666376461386437346234353366353931363631386362386664333932633264623835366633653738323231646336386462316231643931346534227db8dc7b2274797065223a22537472696e67222c2276616c7565223a22396539616530643634356664356664393035303739326530623064616138326363313638366439313333616661306638316137383462333735633432616534383536376431353435653761396531393635663263316133326637336366383537356562623761393637663665346431303464326466373865623862653430393133356431326461303439396238613030373731663634326331623963343933393766323262343430343339663033366333626465653832663533303964616233227db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227db8e17b2274797065223a224f7074696f6e616c222c2276616c7565223a7b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634227d5d7d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "029246ec9b7a5c81151156e7c2f6d356f68b1b884f88728daca46b968d9a46cd5a79de7119aea61bdafb39cc3d1f4fa17ca802c2732726a86d2c636dbc19808b685265676973746572204e6f64650007014e6f64652049440000537472696e670003014e6f646520526f6c65000155496e74380003014e6574772e20416464726573730002537472696e670003014e6574772e204b65790003537472696e670003015374616b696e67204b65790004537472696e67000301416d6f756e74000555466978363400030400035075622e204b65790006537472696e670003", - "hash": "79de7119aea61bdafb39cc3d1f4fa17ca802c2732726a86d2c636dbc19808b68" - }, - { - "title": "SCO.03 - Register Node - 4", - "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", - "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 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", - "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": "f90a62b9058a696d706f72742043727970746f0a696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f2052656769737465727320612064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e207265736f757263650a2f2f2f20666f722074686520737065636966696564206e6f646520696e666f726d6174696f6e20616e642074686520616d6f756e74206f6620746f6b656e7320746f20636f6d6d69740a0a7472616e73616374696f6e2869643a20537472696e672c0a202020202020202020202020726f6c653a2055496e74382c0a2020202020202020202020206e6574776f726b696e67416464726573733a20537472696e672c0a2020202020202020202020206e6574776f726b696e674b65793a20537472696e672c0a2020202020202020202020207374616b696e674b65793a20537472696e672c0a202020202020202020202020616d6f756e743a205546697836342c0a2020202020202020202020207075626c69634b6579733a205b43727970746f2e4b65794c697374456e7472795d3f29207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a0a20202020202020206966206c6574206d616368696e654163636f756e74203d2073656c662e7374616b696e67436f6c6c656374696f6e5265662e72656769737465724e6f6465280a20202020202020202020202069643a2069642c0a202020202020202020202020726f6c653a20726f6c652c0a2020202020202020202020206e6574776f726b696e67416464726573733a206e6574776f726b696e67416464726573732c0a2020202020202020202020206e6574776f726b696e674b65793a206e6574776f726b696e674b65792c0a2020202020202020202020207374616b696e674b65793a207374616b696e674b65792c0a202020202020202020202020616d6f756e743a20616d6f756e742c0a20202020202020202020202070617965723a206163636f756e7429200a20202020202020207b0a2020202020202020202020206966207075626c69634b657973203d3d206e696c207c7c207075626c69634b657973212e6c656e677468203d3d2030207b0a2020202020202020202020202020202070616e6963282243616e6e6f742070726f76696465207a65726f206b65797320666f7220746865206d616368696e65206163636f756e7422290a2020202020202020202020207d0a202020202020202020202020666f72206b657920696e207075626c69634b65797321207b0a202020202020202020202020202020206d616368696e654163636f756e742e6b6579732e616464287075626c69634b65793a206b65792e7075626c69634b65792c2068617368416c676f726974686d3a206b65792e68617368416c676f726974686d2c207765696768743a206b65792e776569676874290a2020202020202020202020207d0a20202020202020207d0a202020207d0a7d0af90492b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227d9c7b2274797065223a2255496e7438222c2276616c7565223a2231227daf7b2274797065223a22537472696e67222c2276616c7565223a22666c6f772d6e6f64652e746573743a33353639227db89c7b2274797065223a22537472696e67222c2276616c7565223a223133343833303762633737633638386538303034396465396430383161613039373535646133336536393937363035666130353964623231343466633835653536306362653666376461386437346234353366353931363631386362386664333932633264623835366633653738323231646336386462316231643931346534227db8dc7b2274797065223a22537472696e67222c2276616c7565223a22396539616530643634356664356664393035303739326530623064616138326363313638366439313333616661306638316137383462333735633432616534383536376431353435653761396531393635663263316133326637336366383537356562623761393637663665346431303464326466373865623862653430393133356431326461303439396238613030373731663634326331623963343933393766323262343430343339663033366333626465653832663533303964616233227db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227db902377b2274797065223a224f7074696f6e616c222c2276616c7565223a7b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634227d2c7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634227d2c7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634227d5d7d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", - "encodedTransactionEnvelopeHex": "f90a66f90a62b9058a696d706f72742043727970746f0a696d706f727420466c6f775374616b696e67436f6c6c656374696f6e2066726f6d203078386430653837623635313539616536330a0a2f2f2f2052656769737465727320612064656c656761746f7220696e20746865207374616b696e6720636f6c6c656374696f6e207265736f757263650a2f2f2f20666f722074686520737065636966696564206e6f646520696e666f726d6174696f6e20616e642074686520616d6f756e74206f6620746f6b656e7320746f20636f6d6d69740a0a7472616e73616374696f6e2869643a20537472696e672c0a202020202020202020202020726f6c653a2055496e74382c0a2020202020202020202020206e6574776f726b696e67416464726573733a20537472696e672c0a2020202020202020202020206e6574776f726b696e674b65793a20537472696e672c0a2020202020202020202020207374616b696e674b65793a20537472696e672c0a202020202020202020202020616d6f756e743a205546697836342c0a2020202020202020202020207075626c69634b6579733a205b43727970746f2e4b65794c697374456e7472795d3f29207b0a202020200a202020206c6574207374616b696e67436f6c6c656374696f6e5265663a2026466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e0a0a2020202070726570617265286163636f756e743a20417574684163636f756e7429207b0a202020202020202073656c662e7374616b696e67436f6c6c656374696f6e526566203d206163636f756e742e626f72726f773c26466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e3e2866726f6d3a20466c6f775374616b696e67436f6c6c656374696f6e2e5374616b696e67436f6c6c656374696f6e53746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f772072656620746f205374616b696e67436f6c6c656374696f6e22290a0a20202020202020206966206c6574206d616368696e654163636f756e74203d2073656c662e7374616b696e67436f6c6c656374696f6e5265662e72656769737465724e6f6465280a20202020202020202020202069643a2069642c0a202020202020202020202020726f6c653a20726f6c652c0a2020202020202020202020206e6574776f726b696e67416464726573733a206e6574776f726b696e67416464726573732c0a2020202020202020202020206e6574776f726b696e674b65793a206e6574776f726b696e674b65792c0a2020202020202020202020207374616b696e674b65793a207374616b696e674b65792c0a202020202020202020202020616d6f756e743a20616d6f756e742c0a20202020202020202020202070617965723a206163636f756e7429200a20202020202020207b0a2020202020202020202020206966207075626c69634b657973203d3d206e696c207c7c207075626c69634b657973212e6c656e677468203d3d2030207b0a2020202020202020202020202020202070616e6963282243616e6e6f742070726f76696465207a65726f206b65797320666f7220746865206d616368696e65206163636f756e7422290a2020202020202020202020207d0a202020202020202020202020666f72206b657920696e207075626c69634b65797321207b0a202020202020202020202020202020206d616368696e654163636f756e742e6b6579732e616464287075626c69634b65793a206b65792e7075626c69634b65792c2068617368416c676f726974686d3a206b65792e68617368416c676f726974686d2c207765696768743a206b65792e776569676874290a2020202020202020202020207d0a20202020202020207d0a202020207d0a7d0af90492b85c7b2274797065223a22537472696e67222c2276616c7565223a2238383534393333356531646237623562343663326164353864646237306237613435653737306363356665373739363530626132366631306536626165356536227d9c7b2274797065223a2255496e7438222c2276616c7565223a2231227daf7b2274797065223a22537472696e67222c2276616c7565223a22666c6f772d6e6f64652e746573743a33353639227db89c7b2274797065223a22537472696e67222c2276616c7565223a223133343833303762633737633638386538303034396465396430383161613039373535646133336536393937363035666130353964623231343466633835653536306362653666376461386437346234353366353931363631386362386664333932633264623835366633653738323231646336386462316231643931346534227db8dc7b2274797065223a22537472696e67222c2276616c7565223a22396539616530643634356664356664393035303739326530623064616138326363313638366439313333616661306638316137383462333735633432616534383536376431353435653761396531393635663263316133326637336366383537356562623761393637663665346431303464326466373865623862653430393133356431326461303439396238613030373731663634326331623963343933393766323262343430343339663033366333626465653832663533303964616233227db07b2274797065223a22554669783634222c2276616c7565223a2239323233333732303336382e3534373735383038227db902377b2274797065223a224f7074696f6e616c222c2276616c7565223a7b2274797065223a224172726179222c2276616c7565223a5b7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634227d2c7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634227d2c7b2274797065223a22537472696e67222c2276616c7565223a2266383435623834303665346634336637396433633164386361636233643566336537616565646232396665616562343535396664623731613937653266643034333835363533313065383736373030333564383362633130666536376665333134646261353336336338313635343539356436343838346231656361643135313261363465363565303230313634227d5d7d7da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", - "metadata": "029246ec9b7a5c81151156e7c2f6d356f68b1b884f88728daca46b968d9a46cd5a79de7119aea61bdafb39cc3d1f4fa17ca802c2732726a86d2c636dbc19808b685265676973746572204e6f64650007014e6f64652049440000537472696e670003014e6f646520526f6c65000155496e74380003014e6574772e20416464726573730002537472696e670003014e6574772e204b65790003537472696e670003015374616b696e67204b65790004537472696e67000301416d6f756e74000555466978363400030400035075622e204b65790006537472696e670003", - "hash": "79de7119aea61bdafb39cc3d1f4fa17ca802c2732726a86d2c636dbc19808b68" + "encodedTransactionPayloadHex": "f90503b9046f696d706f72742046756e6769626c65546f6b656e2066726f6d203078663233336463656538386665306162650a696d706f72742046696174546f6b656e2066726f6d203078623139343336616165346439343632320a0a7472616e73616374696f6e28616d6f756e743a205546697836342c20746f3a204164647265737329207b0a0a202020202f2f20546865205661756c74207265736f75726365207468617420686f6c64732074686520746f6b656e73207468617420617265206265696e67207472616e736665727265640a202020206c65742073656e745661756c743a204046756e6769626c65546f6b656e2e5661756c740a0a2020202070726570617265287369676e65723a20417574684163636f756e7429207b0a0a20202020202020202f2f204765742061207265666572656e636520746f20746865207369676e657227732073746f726564207661756c740a20202020202020206c6574207661756c74526566203d207369676e65722e626f72726f773c2646696174546f6b656e2e5661756c743e2866726f6d3a2046696174546f6b656e2e5661756c7453746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f20746865206f776e65722773205661756c742122290a0a20202020202020202f2f20576974686472617720746f6b656e732066726f6d20746865207369676e657227732073746f726564207661756c740a202020202020202073656c662e73656e745661756c74203c2d207661756c745265662e776974686472617728616d6f756e743a20616d6f756e74290a202020207d0a0a2020202065786563757465207b0a0a20202020202020202f2f204765742074686520726563697069656e742773207075626c6963206163636f756e74206f626a6563740a20202020202020206c657420726563697069656e74203d206765744163636f756e7428746f290a0a20202020202020202f2f204765742061207265666572656e636520746f2074686520726563697069656e7427732052656365697665720a20202020202020206c6574207265636569766572526566203d20726563697069656e742e6765744361706162696c6974792846696174546f6b656e2e5661756c74526563656976657250756250617468290a2020202020202020202020202e626f72726f773c267b46756e6769626c65546f6b656e2e52656365697665727d3e28290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265636569766572207265666572656e636520746f2074686520726563697069656e742773205661756c7422290a0a20202020202020202f2f204465706f736974207468652077697468647261776e20746f6b656e7320696e2074686520726563697069656e7427732072656365697665720a202020202020202072656365697665725265662e6465706f7369742866726f6d3a203c2d73656c662e73656e745661756c74290a202020207d0a7d0af84f9e7b2274797065223a22554669783634222c2276616c7565223a223432227daf7b2274797065223a2241646472657373222c2276616c7565223a22307865343637623964643131666130306466227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4", + "encodedTransactionEnvelopeHex": "f90507f90503b9046f696d706f72742046756e6769626c65546f6b656e2066726f6d203078663233336463656538386665306162650a696d706f72742046696174546f6b656e2066726f6d203078623139343336616165346439343632320a0a7472616e73616374696f6e28616d6f756e743a205546697836342c20746f3a204164647265737329207b0a0a202020202f2f20546865205661756c74207265736f75726365207468617420686f6c64732074686520746f6b656e73207468617420617265206265696e67207472616e736665727265640a202020206c65742073656e745661756c743a204046756e6769626c65546f6b656e2e5661756c740a0a2020202070726570617265287369676e65723a20417574684163636f756e7429207b0a0a20202020202020202f2f204765742061207265666572656e636520746f20746865207369676e657227732073746f726564207661756c740a20202020202020206c6574207661756c74526566203d207369676e65722e626f72726f773c2646696174546f6b656e2e5661756c743e2866726f6d3a2046696174546f6b656e2e5661756c7453746f7261676550617468290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265666572656e636520746f20746865206f776e65722773205661756c742122290a0a20202020202020202f2f20576974686472617720746f6b656e732066726f6d20746865207369676e657227732073746f726564207661756c740a202020202020202073656c662e73656e745661756c74203c2d207661756c745265662e776974686472617728616d6f756e743a20616d6f756e74290a202020207d0a0a2020202065786563757465207b0a0a20202020202020202f2f204765742074686520726563697069656e742773207075626c6963206163636f756e74206f626a6563740a20202020202020206c657420726563697069656e74203d206765744163636f756e7428746f290a0a20202020202020202f2f204765742061207265666572656e636520746f2074686520726563697069656e7427732052656365697665720a20202020202020206c6574207265636569766572526566203d20726563697069656e742e6765744361706162696c6974792846696174546f6b656e2e5661756c74526563656976657250756250617468290a2020202020202020202020202e626f72726f773c267b46756e6769626c65546f6b656e2e52656365697665727d3e28290a2020202020202020202020203f3f2070616e69632822436f756c64206e6f7420626f72726f77207265636569766572207265666572656e636520746f2074686520726563697069656e742773205661756c7422290a0a20202020202020202f2f204465706f736974207468652077697468647261776e20746f6b656e7320696e2074686520726563697069656e7427732072656365697665720a202020202020202072656365697665725265662e6465706f7369742866726f6d3a203c2d73656c662e73656e745661756c74290a202020207d0a7d0af84f9e7b2274797065223a22554669783634222c2276616c7565223a223432227daf7b2274797065223a2241646472657373222c2276616c7565223a22307865343637623964643131666130306466227da0f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b2a88f19c161bc24cf4b4040a88f19c161bc24cf4b4c988f19c161bc24cf4b4c0", + "metadata": "02512485ec3f8e007853b0ea2a22fb2b9f7e2fa55fd9819171c5d013282efee60a7ff4d9f53ba5eebda556d0ead0ca13911bc8996e2c91c5147f8787d10a3244835472616e736665722055534443000201416d6f756e740000554669783634000301526563697069656e740001416464726573730003", + "hash": "7ff4d9f53ba5eebda556d0ead0ca13911bc8996e2c91c5147f8787d10a324483" }, { "title": "SCO.04 - Create Machine Account - 1", @@ -7895,4 +6111,4 @@ "metadata": "0286c69d731560f3bff549c5f180eb4219bfe650ae4efec8e0c5b5ad3ebed54a92dd3b327b09087ea7f8e92a22a6b04a3c6ca33b868b430c4f15f251658c38c1b7437265617465204d616368696e65204163636f756e740002014e6f64652049440000537472696e6700030300035075622e204b65790001537472696e670003", "hash": "dd3b327b09087ea7f8e92a22a6b04a3c6ca33b868b430c4f15f251658c38c1b7" } -] \ No newline at end of file +] diff --git a/tests/snapshots/nanos/test_transaction_manifest/SCO.03-1-Mainnet/00000.png b/tests/snapshots/nanos/test_transaction_manifest/SCO.03-1-Mainnet/00000.png deleted file mode 100644 index cf0d6cbc3ea8f981f444a7c8483a5a3be314cde3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 369 zcmV-%0gnEOP)MR{(?%&26>GZ0KlA3ha-t$MGen9TVB&nnB(jJ4&^4# zWONKb_gzr3Gs(+sexnw)^d*Pfuy|Q?$jC@;UbZxVusk67bIW0Fa<_CL_g{mSUx0j; zF&?OSC-*~r1ab{6X&C@&kx8JAwcflqcHI_)#xH7r4hT=AR0F1ym*!P8jH7Q7E|v$V zEJw9G0(LhyCMJC8f)_jw6IB!*gHps`+~D_zvwp&F8~^|S00000001!`p54y(O(ZlD P00000NkvXXu0mjf*6*8> diff --git a/tests/snapshots/nanos/test_transaction_manifest/SCO.03-1-Mainnet/00001.png b/tests/snapshots/nanos/test_transaction_manifest/SCO.03-1-Mainnet/00001.png deleted file mode 100644 index 2ab1484075defe1e2767c45b891fe0ae0287540c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 329 zcmV-P0k-~$P)0S{~z23```{@t_Mu4+u_VUSWH4fEc^?mpgDce^f z*)}3l1}=*wDtz?|Gd0fvHZRvHpQ9g;k?1-cpQ1n7^2YfL*^W{JG7pZxWon%qC zcJ<4i0UJ{1Zhb(W`Jl$7p=Io{LaaXnazNa(#-!t9@@3}k(U_%fd8UwPMpEw zlknIfBX<2IMONcQMnw6Bo?Hj}N?6&?kcsn-gJ1WJ2a#R8)7w{nTs|SzC_zy+8KN_J z3uvCX2W6LHWI8uJH6KfkMW*$c(@c0_S->P)8}rVo;-@YM%sqtDv_S(n=trAq9|+^y}`=ypW9DcBC$c!{H)l2G7o1hbse4r24M+p!tjkIV}#gV)rSUFmU}*+Hv5SH6|T{$(NbCdtc-?a4w?t06wH_ zF63bwHGqpRS&mHy&|$$HMpN-MS`WQ03f(-%88}SEhM{rfehMAz?|`UF0(bN{(gGjD zkT86}-c8rA0LLc&t9yv>SIkN#g~8FE%Dfp#Rsa~vfIN`LDkKcD&w$>E_F2}!z5!&3 zn9Qa4!f-FHDI}xuS6^fy6UGcs5(AtT$vSLDpQQ*1Lm)qdcRQ9L#b8QtURYRI2*ofJ z(LgSaLUT{5$n_n!a=xpVvWNQL*3S%myI(iDU0u$IEG$E#nD&C5PDf*2!OGB?4yiz{ zSxx0&$_C&Yr-PTrZ4P;5Y~+>yX2Df6*DNMZ5PRJC&w_qR#022T04z|?sA*Iy^Xt79}*L^%bP%H=ye z{iDe1@#t1|Nz|7~Gp5xXF}D04wk_!9OxCAA*RJ+V`L?b`tgj&b!k0yL24`b7b)?D0 z=wzSyTlvOIVoSgp{l3lr1WR`AbiXh`&O;=~HqZ2GNb%#uxz80ipEh4GUG%RkOJ(^T zw(Vc*8S7>)dR_A2UG&<(mernnUPv-C>|ggxpZ$x_-V2F6)6En9*|6GPY&e*4Ai*TT fKnmzL5O`q!ru~c#lM-bQ3)z4*}Q$iB}QcHTs diff --git a/tests/snapshots/nanos/test_transaction_manifest/SCO.03-1-Mainnet/00005.png b/tests/snapshots/nanos/test_transaction_manifest/SCO.03-1-Mainnet/00005.png deleted file mode 100644 index 33c200427ac3d0d3f3ab4ea790c51fc62c8bfda3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 502 zcmVx(( zBxtnco-1As2%(S6GX%mfY#_yc-Zr}8CNeP|Th(<95)XJnP%dJaGya&-0IZ6UC$4b_ zX7j_z>5&Dcn~RCX!u8YY;Q?ug0MDsSylSv(Kr^~88IHslg{|s$ z2oH!cj^j9Lj;7IR_#Tr)<;)nMI(K@3m*W^#@Db6dE;3J+ugp_1C~WO7vu_w zJDt2C>y=V0umGBim>#7ZzVGB9Fyr5a4jw?(8_WfYRR{9?56^mw z#Rhx`Gim4|8_01Sr;xT%#4PG++Kvs(C2L|iq?S=>sFPuVi&zE!DF54Y0YG9NwhTTu sdoBRLq9!v7KLaMSa~kR;0ms>%FSeF&S#}xF6aWAK07*qoM6N<$g8R4K{{R30 diff --git a/tests/snapshots/nanos/test_transaction_manifest/SCO.03-1-Mainnet/00006.png b/tests/snapshots/nanos/test_transaction_manifest/SCO.03-1-Mainnet/00006.png deleted file mode 100644 index 9c1f1495de7ee705df0ed7857666aab1c043fc7d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 643 zcmV-}0(||6P)d)Ju3w%#_QKxVjPL^?0$01 zZD4|$i@NdyI3WKVkl)S%GM00N`*E{Leh>BDgn2i91{WW>h@Bb^-DnaimEj%H)I}yu zce%t0;1b$_c|gvRTo1Y=voL2WA{Pw!?O%D7}5Zs}BGxT}#YDnK9T|4Nq4=WNNMiEhV4U4}kbuXoI_3&>nJbD!U9# zZ{K4QG}j_GPs_}9fXK^d2<>xY&H?-=Z=H6WcYsXm72QWhje5U4| z@InhbC~|G2I)E(vyPag)L%J9>m|752!vP<6Q!X~(gG2ryLv9IAZ(Qokc|cf~N#=B9 zo&!ch2;LxZSTiBXV3c|A-O?t_HT-!F*h7dAI0rC&`3QJ&pj8wVi6moqq%m4y#wS4R d4#ABL8-Ir)bZY{n%RT@A002ovPDHLkV1ij|91H*e diff --git a/tests/snapshots/nanos/test_transaction_manifest/SCO.03-1-Mainnet/00007.png b/tests/snapshots/nanos/test_transaction_manifest/SCO.03-1-Mainnet/00007.png deleted file mode 100644 index 09f6db4d924aa4d374d4b8ee72216d4c12256d4e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 670 zcmV;P0%84$P))uDD$rMQi;!Q>#gM{sY1+} znG>BUnpG=Q{LF*W>dv4tf$IY>yQkg^;spzDBdssP0Ul3p50e& z7zP$NYf+b2hFy&tYx@>qH_X!G3f?5xQbbb`!rw{O}C+1Nx<0(U-yeE@tZ}5h$ z7`O-E#lXiBkI?(xE5~i0fV5k1wZN04tuBCfgDrpECM!?teGs;71F!SZny!|(^AXNw z*F7B374!lO-T+q>M`-JO0PU$0AfIO6ekHgCD0Mmh5YE1OE2#9e<5Tb+*QNEJB$-+B z>ItYbp8{?H3QdS?H+Tf9jlnbtZ07^WFe89xV`Ia`5AZZ&8xm)m)&Kwi07*qoM6N<$ Ef@zWdwpgC@oZxlfS>-f8yHH zB33*KuRZlYS~}^V@f(=y0&KSS_=vBL+@H_t_RI^d*q-hkwsBXiP~xLoTdU=hqC(8_ zOoid1S-C>oKXV~irU!)zoF9N9a|K7YCud5wD5bnlfETton9@e_=2H3F^B{0~yqjpW zJU(_T)xF{rw=!2)t`GDSElAG9DyR)fCJ&G{F!@0n08}%g^!mIK;BojgF^<}EEv{Qr zutpqo^&FV;83@)1`R9cE_E$j0@?7Elc*I+-2j=i$?v2Y}%TsY$ZzDy=8qT&LLMxG% zA7*y3S%@{?F5#Vy95M>b`~<8sQwow8_5@*BMQ-MsvaqIVK)(ZUnbDTaVQ70RT|}@` zcWR#T=H^g-IU&GJt>R)o4s*hQ#ewGa5SZwFWa!@J-5OG18$4GmIROyqzqzlo1=8I@$j-W7sGXpSWN=lk$G{olEPxCdUa^yN-Qn@qcc>WX}?==&*w`l8F zC&RI{+EpLFUb32p(Q()R#&+g_H}cRVd5HC+SEn(CmmCQ<$)IQ$&Qy-D=th3(RmNZhkyzB@Dl^DbPND)C(jwcZnbW%^3bcHWd-PD2Q~xXfzFuBnZV4mI_-ueV$p@3S^hi9Q1cGJ zaY@;I8;r+VSNTp{V)Rp3844;tois{KKr3K6SxFD1DW-JRRYOU_I506WF)@)6tfqmQ zcm>qRhE*pAVqg_SRw+$t`F|*xyB&shEC!wf@WsIXmcKt>_|s=%O2=beFO8jpvkzjR z?%dIIW(IAwP$aZ7YR9uD;0TU{>hM%k!p}|svnIrKbROg8DUaDsqVcm6zyM#{`81<( r_5?5&=%pWHRU0yd^Uh#m;!L~%T^l%67qS2u00000NkvXXu0mjfIi?Z< diff --git a/tests/snapshots/nanos/test_transaction_manifest/SCO.03-1-Mainnet/00010.png b/tests/snapshots/nanos/test_transaction_manifest/SCO.03-1-Mainnet/00010.png deleted file mode 100644 index a131269eac0fcac07544a572823b6de38ed32260..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 676 zcmV;V0$crwP)sm5pUrQ3G8lL}3*Hy=Ru~7+s%kSwKPgUY{p@LdCAM{zDUsMQS^> z@jFW~pq>RQ9kl}(+N5kq>XV3rMF*N0WqQy&YB*ys67Y!5Kl!{@F>cFZ`ox1ec+K!M z)sG4{)A&(YPDs|rG%faVh)&7{8@fK_tXEx$JCHhbn$k)?1m}f3j)}YvTyUxD?k1L2 zW(OX-Fq943X*y;f$oK=#Yym!JWqGwTGCQvGPbVbyyv=Or&I@$>gdNG05yDSxpIE$=w=|Q73A>)^g%tivCz*fUNbgUR)f-Y<6)m zMW2P-9ngJj;MM|&5#EI*7`vM#qOvPL#^p!C0p{Tq(55q7t$d#2JHZye|5!g z-mbb$CdhP&Z(gc=C!l-DoAO6-4e3}+OiWDN0)H#wm#?DmD z0B{8{Q=@8q(f};qC5n_Ip2ZwK<{9ehPcTQPHIl4Lz{4*T_)Z7#Ti{(4Q{{Hkk(e@D z7ht5DKtOXM3XcQE7VCO3*MV%J>_Kp2iFZK?daIvO_wg3Za(&s-$~@Td*B982KFM%= zOWWWUJ44S<{OeCEw=hptJ<@Fgng$3;@)G8s)LIU6KTS+bNc;c@!9CsukEPTA0000< KMNUMnLSTa2sWm|h{qEs3I}G{rCz!;m^Q$;9$QZd)6%|Fi`5pYxBb@0Re=MUv6E z^%O@5Q<*m$xfdkGRB0hVb)orY^s8GlrT9Ecw^x`82=xEk>rHQxI7G(_S$TR$=~J3N znsfu>-3y;I2WhDql5!;CU>SQzy=4`uLk-Uu3F?iMRROPP< zL)CmGq(-)hSq{^(#N(tc@`4w-z2>`7xgK|xgk_>m2;w7P z3aeclsL47O_+g=vU#KFRNZmTEhVN}dt;5bV70!e&5prqcx%9)YvhYa+M}SPnLnR}a z4JEk^jm|>up#pj8uyV15g@r#3?kECGh`as$(b%>b+a5Ak0*YiShOLPwRgF!e*nE6n zq*;`1juJJ=!aNK!AR*5x5^Q9G2H4`p3VA^9TPqK&XXonBalc1nVwPu1<6>I%JU}Xe zYaB}W^a3cVY*u|7?5b7O*slE~i+K+kh!Mc#2O%piw0k*+jN;TfE6u|p+{E+h95#IEmlA5`- ziZa3o^MpNfPNi5?*bq=Pk$f`FwJRC2xF4h2)2#~_$iKJe$zEfk7_I-1!p$NjPf5Of zk_pta6IU98q%`W1G7_<~)F-4)S%Ye*;f%p(zzSvl8P9vwhkHuunRrk;uj-zv`B`qL zk`M2TjL2HE4AU4YwU0yfpkA<{+q0eZn#+D?nULDD#m}Z13+IJAj*0OzaKUA+yPH^B zp8a_CPfFHoKae{S0mLAg0UoHJNSd?g;NF7#Gyivk%~_ z8ozUK&2q*LfUo$aB-t>qDq)u%@RfQ2bjg(4KGySCSXfy24mev868JUUh*?E{pvvzy zMVJxQ3iCE2wcQHvJm+hAQj%#c@HDyvx|P8IoUfq3v6D4DwiVOhvcg0#CU9#^GzBeo z9LBA1^G=Nw$w4x~GB}d(phe6YG%yeW1?oTWyk(231kh;YnOZm24&f0}NUuuvjC|<|d4#%;G+}qC*?R@TV2_n@x$V?;j+Lkz6Bs;syXo1r zJ!G|!;`!M8ZTRJ4t#SUHycJU8g)X1=Y1G!9aheIqwp)zGn4haOI*N@U=G%HcsH}r1 zLbhBro9&2@%@aB*(h$t+<#EEQvEvU}t(?JLXZzgvf~dblx&I)sH1JG*4+C<%CwS_F z<49It<$t4+(YM}KC!WEAD#}c0wpyc%l2sLwaoS19<(gOSz^>eOPqT|myb7eKF_hgQ zT@rWW25UN;(2&^VngTH8+s=TdCt<5m?-uCB56>@<(Dso3IXJ;_C+wn}lzh~NfK3RO z790x_hIkCGumHm=Kuf^T#v+Hj@FG#K!Zy)o)PV&+>rHBgadg`_JlE>)B1D+8Sn%^@ zb-?g`K%y7@EU*B`qcTyH%OQB%0PNr4UTK7lKe--dy<;&kF){I87^PtGis{~_U5Ttt zw30h*f7fG zls`ZKHqk7kYb2T*oBRs9A?en`18;27jV9!q=xgH4Mhd3(oZt$ub-?<&vN?j)09`Yq zV)xeRgj*3qkZwN|Uu6Q|(ky)Y{eo7+Gyjf|z$4B80q8aiz~+RZM&81bgvh{ic=bZZ~y=R07*qoM6N<$f~@UYLI3~& diff --git a/tests/snapshots/nanos/test_transaction_manifest/SCO.03-1-Mainnet/00014.png b/tests/snapshots/nanos/test_transaction_manifest/SCO.03-1-Mainnet/00014.png deleted file mode 100644 index 8829fa90bb11df808c78717b9c1e23a1b79fa679..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 693 zcmV;m0!safP)pwa^9LN?ZNWt+NvP(U zA;+KM;IP7;J}0S76&7Sr&D%m-L_qF!%6_(PPdAq#p#I*T7kQ0{Ln!^g2RBA?J-PD7 zl&S#j9cXC`T&1i_8fR8)q&p;bX^rAhGtM8#(6BX}JpSb49+|k8BJPO?)Okhs6vdBn zLs9wIy6`jCF!N&?1EGDK)Ja}rLAPhy>lIi1P7}e|s>JVx8Vy%N9%n~>4_t7G>#nBF zR(ro5{flt)_e*z7KO^D~JhK({IjiQ;&2U-N%;ND!3$r-B?g4Hf*L#2`PdH?HdjkF^ zVt##RxL%ltEi#FxHlZ-BF#kr@e; zt%Iuw!DX3n-T~DYG6j&X<8+4wAf{>H`9tib);TrzY(PF+rX>7TrxkxcEaWUIA@XU9YRh3Z@^DgbZ>xW z?`Yf8A;@ri{^l#!h_5{j4~X}~j7Oe}wy`B#`B+$3Son1q`5yjaGbX;3|3VPQ@J5Y9 zY;oxc>aUFy?TR2=MWA{h6J5myaItVzjd}yFzpG;LhlkyLQiE&Vs5|3TaJ4G>* z(-YS}VJYwoMV`Q!R0w?kH8qTY!J;AaRv)t~ng@iV8=uI(|BI2&$cHl!zt?04Z9sRW z@VW&^-d)Pr>T7x$bqJ6F#+^FHp#3{7=fER;JVm-0)CrMVI zoNc(%7_dsUE-Az;IapeVoZ<$_P!rdPl=lFidWKENVFdgpVt)O} zbUpDL7B>a<7cfHpNs=VS@9?ZzKfMLkt|ZqXsw9sah&1J2`T=+;5oQ_H=+`9@R>V;D7uDN6zg5Lmv z>W|M$?GHG^#5BbDgyb(b+n802l7Da-fP0}F3ivoI2h^!gUiBrvfPSwO&TFXUg6O^B z;blS<<)~zdYWh|ai?OhOq;5}4OicWD9Q+p!EKMn9HS)D>ILJM{*8s-ZPWYbZXt})# zzdB41ke|1VFKFQNknW$xjR4De+0V4ao54dE(g5}ck5>P4?uYpl(HTQV04}85w@!q5 fFw649#24TVoKM;8%3M%P00000NkvXXu0mjfSYs29 diff --git a/tests/snapshots/nanos/test_transaction_manifest/SCO.03-1-Mainnet/00016.png b/tests/snapshots/nanos/test_transaction_manifest/SCO.03-1-Mainnet/00016.png deleted file mode 100644 index c4c85af7fe3839d76049890821018b1c9ec25f03..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 430 zcmV;f0a5;mP)6HUUZM?A;jN#*b01SUzonXd&6e=7!|wpKZ(hhi{i3OC7I;12;Y8&0RaAr zQ2a(BoyPN#-9nTept!^aCO$8~Y* zcl!<8u_cQ=BwU@B{9Ap`B$&-(g22ukZO#pApX*z1DmZvc({SxQHC3l$ze66czr~yJ zvF`L2=}kJHZ(8XJJxV@Ow$va@Bc;judi25H+L^z%7!)5lXD2Rhv*+cp2TgmX>rdhp z@wAVKY&-F;^NFT~PpwzR1(t`+p?!;2{WRx%e^9z<2WRc%te(}AKHn5P;Tx}{knjPt*_R&0RsmPc5Pt((z%tj#AucrNX*mK&t;ucLK6VVOp{gs diff --git a/tests/snapshots/nanos/test_transaction_manifest/SCO.03-1-Mainnet/00018.png b/tests/snapshots/nanos/test_transaction_manifest/SCO.03-1-Mainnet/00018.png deleted file mode 100644 index 05f27c3a1261e43d42b7e462d3f1e8f54f927ee8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 649 zcmV;40(Sk0P)Qi3buy{@WDSA}D(rPjB|h)8y;2aL_u0nU4oM+X4$og* z69d9oc~+}VV0-D3wXhdxA!6kb8;nltlRDfrH`3_Q7Q*#daydM{mF#D4JoZV$Ilj~Y zbm_V51j!G8v+J)(+a^IPH5lq~FO6}48iP!v@W-noTy9VY z1~8=#ASvQI^OwUAc0hfl^29*=ho?*HfVXhHoXj%2Fd_>J3kwrLQxTx(s5>vY1dBGn zrN4D|W0?p+o$R$(J>{n%F9DzdKyhzLmOVJdW|ViN5ZV|ERRhGxG?eEORF)et7bwH@dRdAfg@EU& jYKxfbl1eNr{3HAV_0#cv`)$N600000NkvXXu0mjfy1gh5 diff --git a/tests/snapshots/nanos/test_transaction_manifest/SCO.03-1-Mainnet/00019.png b/tests/snapshots/nanos/test_transaction_manifest/SCO.03-1-Mainnet/00019.png deleted file mode 100644 index 5ebc566538c13f46cb76bcb35bd4c7f3819742a1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 648 zcmV;30(bq1P) zRs{x(Bl-5Ye9qm)Q_Hv(C=ro)Pah1Y^+Iw%XG4f(A*)(i#ugh68xvX# zR!aynV7C)Ly}0I&7*PQm_gDfO^4us&7g!wu>ID%1_YMGyF0b~$d{mX^#Uc`ir>Y&r zRWA(YDq5_8w&W^aRwFI>-Gc*8TbQo%ufi+-6;sGCK^4??<-z-mL@p&2hfEcqgk;U| zywN%V;&3e9DlKE-$Xf;@?ao8P<;>xyvwZ@pRA0;38dH*1V32q)7~V%vt^U(<-3O4M5PGDA|A7x3L2Ujv*Cu-p;(p*Q~(f+W6pq z{RaMb3ugxjtlGht`u)g^2rb>U+t_+JZ-!l-k(=s%^zEW2k9u=8ZoU=z%b8Y@c2PcP z_m(nM_ZLc)TfJS>zqh(fb}^nH#rg71&d-$TGo?S)KH;)F>%_^`9<Zn@c>HH%tb|K|aE84l`Ca9{Y>YqLk?M<7Vd)78&qol`;+ E0A^=~jQ{`u diff --git a/tests/snapshots/nanos/test_transaction_manifest/SCO.03-1-Mainnet/00021.png b/tests/snapshots/nanos/test_transaction_manifest/SCO.03-1-Mainnet/00021.png deleted file mode 100644 index 41b0ce2b951314b34dcb1c5718b6dca8e065af5e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 472 zcmV;}0Vn>6P)Nkla)G~QywM^fN;3q|GwUxTS_&2HWWQZ%2Hya&d^U(>U=3@ze~Y&NS$K`S)I8> z2K-N^Q!+QwzD~)Qy=Wu4#-uNN26S9ls!sn&!(v9fZxKPaTw9Q`F4`Ehp-G)Z4Xy2W z)(~jk?t!bx7|S(=(mulN783L$KN6i-tYc4BmFdX(@wNcoY-bt65f^7^uH>}|RS ztiQl!n*acwM3J8i1kKPeRVCxrv$5p!AElCHEmOmc-A{HL6@IzozlQuaevxF&iHuag zhN|4xZkt4H@GpPV_$v~5qd?WBI&eAz9(C$Ok1~^yswFcblj3;)I`w1)_+H&TigE^i zJ+h)F$scR%~2boL?tm1)*x;j8YSetjuZ zOlA**%bnJ+-A22_E?0a%9$wr(+uP&tajX7&)2*N0Yuf42+%s8SpW3UsUGgX8FbdA@w|{p8t;rRnH3X@qE6br60-V}tMSx!&-*6%5%ki@!l&X_$kBS%?&Q7JN z_t(By2~Dfzt5fJPHSQ%~K3YFt8{JKZ{3VVhUp$OZhxBSzT+2?ksTh0vEL67B_>waqJuzMQVV4v`VAsS4G;)2St#_}TU* zn$tg4I z1)#5~t~Zbh$m%sMD@}-DyTYx>0RR910000000000kof}qe>LcCF21+`0000EpLbPNSZ?Rk z{xAwJP%X(2P#5~@c{`szUR5CtDJ|%J%|CvB)#P${@*#i1T{Tp1s`Ki4XbMl}B$~`D z^*UF;=r^*AYNe{JAr zT#I< zS9X7B0cxPwlQCM;moqa)t=$k%o6&(4)bl=bm5>aFR#_ zV_T4j{(qL+1q~oiC}$!Mf9RT_p0){DOG#FhYjgtiRFhG00000000000001h9A8SATkiagEVBRr002ovPDHLkV1it}%}f9Q diff --git a/tests/snapshots/nanos/test_transaction_manifest/SCO.03-1-Mainnet/00026.png b/tests/snapshots/nanos/test_transaction_manifest/SCO.03-1-Mainnet/00026.png deleted file mode 100644 index 52b06db91d6825dc858bbdf6384330dc370de38e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 512 zcmV+b0{{JqP)9$&a>M-t;_CUjSRLmnRm1-JJSnjBBfqT5;Az=j8exhE~(DGeQFQ8IoM};WSmX* zXTS#F^dV?)U#3o=)n0#_vK<|VWpDgtq{GJXYddRSKOHVU$Tr`Az1ZBNmmss-PTl_@ z3gKfMhTlE{uJAZAU&aWzYkkOMG9mQX&a99afuhb`I}IV|DN7>|UPMv<9d)liqUaIMiVeZ|YUd+CY-IF8>~K zzhRaAS`H?-=QM1i=Tu6{1-oD!M<5AJP1 diff --git a/tests/snapshots/nanos/test_transaction_manifest/SCO.03-1-Mainnet/00028.png b/tests/snapshots/nanos/test_transaction_manifest/SCO.03-1-Mainnet/00028.png deleted file mode 100644 index 7f6ab5e6010052a6c826d8a33994eba6cf7bbeed..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 380 zcmV-?0fYXDP)uRr;yTsQ43OPlRlX!mA#zXLNU2R?VwJ6)EF1I*s6nq^p&4PTTOSmPEMbE{jtppwY z^J4|+t@vhuNa?L)$#$MM!@0Ht2hgw^YzuAo0F>?KHP7%21er<@_~X;u1W_f`a9 z&)8tifC~e#OpaQ*=)Jj^nQ=S=L>0_r)pnQRorNTQ`GlD2lQ9F#qKh$G{-E9;9g9Bp zfE@Dtsj?-U1BU#LN1Ji&^64|f)*teIloz|6`X;Q;MR{(?%&26>GZ0KlA3ha-t$MGen9TVB&nnB(jJ4&^4# zWONKb_gzr3Gs(+sexnw)^d*Pfuy|Q?$jC@;UbZxVusk67bIW0Fa<_CL_g{mSUx0j; zF&?OSC-*~r1ab{6X&C@&kx8JAwcflqcHI_)#xH7r4hT=AR0F1ym*!P8jH7Q7E|v$V zEJw9G0(LhyCMJC8f)_jw6IB!*gHps`+~D_zvwp&F8~^|S00000001!`p54y(O(ZlD P00000NkvXXu0mjf*6*8> diff --git a/tests/snapshots/nanos/test_transaction_manifest/SCO.03-1-Testnet/00001.png b/tests/snapshots/nanos/test_transaction_manifest/SCO.03-1-Testnet/00001.png deleted file mode 100644 index f2422205b6e1b91dbe0b798b0b95a8c4d2bf7e92..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 337 zcmeAS@N?(olHy`uVBq!ia0vp^4M42G!2~2j9iA64FfdAZx;TbZ%y~QGv{17Gk89(> z|Nj%j%N)B6A1=INcyMR>9SMUal?=VbQ*ukYa$f(7*|glYH*2!DjZbzg_r2+dqD{oN z-t2I^v$QU7LtBuE!tB}ZFZn$VWFXIURu0Aky+I2)#4eC-(I}c)&DWt)+)TG zGf`*B>G=Zr?dvs;CW!qp^4;apw^QyL<5vlvDU63Z=BmlHiC)%fjhEZ$+UC5p&g*>i z4u%HvM_YLnHq4d1y_7GU|3)M8%}b@HgIHCb#5g&i6|V3p%9DK|-FcelF{r5}E+5U5S_g diff --git a/tests/snapshots/nanos/test_transaction_manifest/SCO.03-1-Testnet/00002.png b/tests/snapshots/nanos/test_transaction_manifest/SCO.03-1-Testnet/00002.png deleted file mode 100644 index d9d217d6f0eeeea8903da9455f3b7d57f19e5ada..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 643 zcmV-}0(||6P)0S{~z23```{@t_Mu4+u_VUSWH4fEc^?mpgDce^f z*)}3l1}=*wDtz?|Gd0fvHZRvHpQ9g;k?1-cpQ1n7^2YfL*^W{JG7pZxWon%qC zcJ<4i0UJ{1Zhb(W`Jl$7p=Io{LaaXnazNa(#-!t9@@3}k(U_%fd8UwPMpEw zlknIfBX<2IMONcQMnw6Bo?Hj}N?6&?kcsn-gJ1WJ2a#R8)7w{nTs|SzC_zy+8KN_J z3uvCX2W6LHWI8uJH6KfkMW*$c(@c0_S->P)8}rVo;-@YM%sqtDv_S(n=trAq9|+^y}`=ypW9DcBC$c!{H)l2G7o1hbse4r24M+p!tjkIV}#gV)rSUFmU}*+Hv5SH6|T{$(NbCdtc-?a4w?t06wH_ zF63bwHGqpRS&mHy&|$$HMpN-MS`WQ03f(-%88}SEhM{rfehMAz?|`UF0(bN{(gGjD zkT86}-c8rA0LLc&t9yv>SIkN#g~8FE%Dfp#Rsa~vfIN`LDkKcD&w$>E_F2}!z5!&3 zn9Qa4!f-FHDI}xuS6^fy6UGcs5(AtT$vSLDpQQ*1Lm)qdcRQ9L#b8QtURYRI2*ofJ z(LgSaLUT{5$n_n!a=xpVvWNQL*3S%myI(iDU0u$IEG$E#nD&C5PDf*2!OGB?4yiz{ zSxx0&$_C&Yr-PTrZ4P;5Y~+>yX2Df6*DNMZ5PRJC&w_qR#022T04z|?sA*Iy^Xt79}*L^%bP%H=ye z{iDe1@#t1|Nz|7~Gp5xXF}D04wk_!9OxCAA*RJ+V`L?b`tgj&b!k0yL24`b7b)?D0 z=wzSyTlvOIVoSgp{l3lr1WR`AbiXh`&O;=~HqZ2GNb%#uxz80ipEh4GUG%RkOJ(^T zw(Vc*8S7>)dR_A2UG&<(mernnUPv-C>|ggxpZ$x_-V2F6)6En9*|6GPY&e*4Ai*TT fKnmzL5O`q!ru~c#lM-bQ3)z4*}Q$iB}QcHTs diff --git a/tests/snapshots/nanos/test_transaction_manifest/SCO.03-1-Testnet/00005.png b/tests/snapshots/nanos/test_transaction_manifest/SCO.03-1-Testnet/00005.png deleted file mode 100644 index 33c200427ac3d0d3f3ab4ea790c51fc62c8bfda3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 502 zcmVx(( zBxtnco-1As2%(S6GX%mfY#_yc-Zr}8CNeP|Th(<95)XJnP%dJaGya&-0IZ6UC$4b_ zX7j_z>5&Dcn~RCX!u8YY;Q?ug0MDsSylSv(Kr^~88IHslg{|s$ z2oH!cj^j9Lj;7IR_#Tr)<;)nMI(K@3m*W^#@Db6dE;3J+ugp_1C~WO7vu_w zJDt2C>y=V0umGBim>#7ZzVGB9Fyr5a4jw?(8_WfYRR{9?56^mw z#Rhx`Gim4|8_01Sr;xT%#4PG++Kvs(C2L|iq?S=>sFPuVi&zE!DF54Y0YG9NwhTTu sdoBRLq9!v7KLaMSa~kR;0ms>%FSeF&S#}xF6aWAK07*qoM6N<$g8R4K{{R30 diff --git a/tests/snapshots/nanos/test_transaction_manifest/SCO.03-1-Testnet/00006.png b/tests/snapshots/nanos/test_transaction_manifest/SCO.03-1-Testnet/00006.png deleted file mode 100644 index 9c1f1495de7ee705df0ed7857666aab1c043fc7d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 643 zcmV-}0(||6P)d)Ju3w%#_QKxVjPL^?0$01 zZD4|$i@NdyI3WKVkl)S%GM00N`*E{Leh>BDgn2i91{WW>h@Bb^-DnaimEj%H)I}yu zce%t0;1b$_c|gvRTo1Y=voL2WA{Pw!?O%D7}5Zs}BGxT}#YDnK9T|4Nq4=WNNMiEhV4U4}kbuXoI_3&>nJbD!U9# zZ{K4QG}j_GPs_}9fXK^d2<>xY&H?-=Z=H6WcYsXm72QWhje5U4| z@InhbC~|G2I)E(vyPag)L%J9>m|752!vP<6Q!X~(gG2ryLv9IAZ(Qokc|cf~N#=B9 zo&!ch2;LxZSTiBXV3c|A-O?t_HT-!F*h7dAI0rC&`3QJ&pj8wVi6moqq%m4y#wS4R d4#ABL8-Ir)bZY{n%RT@A002ovPDHLkV1ij|91H*e diff --git a/tests/snapshots/nanos/test_transaction_manifest/SCO.03-1-Testnet/00007.png b/tests/snapshots/nanos/test_transaction_manifest/SCO.03-1-Testnet/00007.png deleted file mode 100644 index 09f6db4d924aa4d374d4b8ee72216d4c12256d4e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 670 zcmV;P0%84$P))uDD$rMQi;!Q>#gM{sY1+} znG>BUnpG=Q{LF*W>dv4tf$IY>yQkg^;spzDBdssP0Ul3p50e& z7zP$NYf+b2hFy&tYx@>qH_X!G3f?5xQbbb`!rw{O}C+1Nx<0(U-yeE@tZ}5h$ z7`O-E#lXiBkI?(xE5~i0fV5k1wZN04tuBCfgDrpECM!?teGs;71F!SZny!|(^AXNw z*F7B374!lO-T+q>M`-JO0PU$0AfIO6ekHgCD0Mmh5YE1OE2#9e<5Tb+*QNEJB$-+B z>ItYbp8{?H3QdS?H+Tf9jlnbtZ07^WFe89xV`Ia`5AZZ&8xm)m)&Kwi07*qoM6N<$ Ef@zWdwpgC@oZxlfS>-f8yHH zB33*KuRZlYS~}^V@f(=y0&KSS_=vBL+@H_t_RI^d*q-hkwsBXiP~xLoTdU=hqC(8_ zOoid1S-C>oKXV~irU!)zoF9N9a|K7YCud5wD5bnlfETton9@e_=2H3F^B{0~yqjpW zJU(_T)xF{rw=!2)t`GDSElAG9DyR)fCJ&G{F!@0n08}%g^!mIK;BojgF^<}EEv{Qr zutpqo^&FV;83@)1`R9cE_E$j0@?7Elc*I+-2j=i$?v2Y}%TsY$ZzDy=8qT&LLMxG% zA7*y3S%@{?F5#Vy95M>b`~<8sQwow8_5@*BMQ-MsvaqIVK)(ZUnbDTaVQ70RT|}@` zcWR#T=H^g-IU&GJt>R)o4s*hQ#ewGa5SZwFWa!@J-5OG18$4GmIROyqzqzlo1=8I@$j-W7sGXpSWN=lk$G{olEPxCdUa^yN-Qn@qcc>WX}?==&*w`l8F zC&RI{+EpLFUb32p(Q()R#&+g_H}cRVd5HC+SEn(CmmCQ<$)IQ$&Qy-D=th3(RmNZhkyzB@Dl^DbPND)C(jwcZnbW%^3bcHWd-PD2Q~xXfzFuBnZV4mI_-ueV$p@3S^hi9Q1cGJ zaY@;I8;r+VSNTp{V)Rp3844;tois{KKr3K6SxFD1DW-JRRYOU_I506WF)@)6tfqmQ zcm>qRhE*pAVqg_SRw+$t`F|*xyB&shEC!wf@WsIXmcKt>_|s=%O2=beFO8jpvkzjR z?%dIIW(IAwP$aZ7YR9uD;0TU{>hM%k!p}|svnIrKbROg8DUaDsqVcm6zyM#{`81<( r_5?5&=%pWHRU0yd^Uh#m;!L~%T^l%67qS2u00000NkvXXu0mjfIi?Z< diff --git a/tests/snapshots/nanos/test_transaction_manifest/SCO.03-1-Testnet/00010.png b/tests/snapshots/nanos/test_transaction_manifest/SCO.03-1-Testnet/00010.png deleted file mode 100644 index a131269eac0fcac07544a572823b6de38ed32260..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 676 zcmV;V0$crwP)sm5pUrQ3G8lL}3*Hy=Ru~7+s%kSwKPgUY{p@LdCAM{zDUsMQS^> z@jFW~pq>RQ9kl}(+N5kq>XV3rMF*N0WqQy&YB*ys67Y!5Kl!{@F>cFZ`ox1ec+K!M z)sG4{)A&(YPDs|rG%faVh)&7{8@fK_tXEx$JCHhbn$k)?1m}f3j)}YvTyUxD?k1L2 zW(OX-Fq943X*y;f$oK=#Yym!JWqGwTGCQvGPbVbyyv=Or&I@$>gdNG05yDSxpIE$=w=|Q73A>)^g%tivCz*fUNbgUR)f-Y<6)m zMW2P-9ngJj;MM|&5#EI*7`vM#qOvPL#^p!C0p{Tq(55q7t$d#2JHZye|5!g z-mbb$CdhP&Z(gc=C!l-DoAO6-4e3}+OiWDN0)H#wm#?DmD z0B{8{Q=@8q(f};qC5n_Ip2ZwK<{9ehPcTQPHIl4Lz{4*T_)Z7#Ti{(4Q{{Hkk(e@D z7ht5DKtOXM3XcQE7VCO3*MV%J>_Kp2iFZK?daIvO_wg3Za(&s-$~@Td*B982KFM%= zOWWWUJ44S<{OeCEw=hptJ<@Fgng$3;@)G8s)LIU6KTS+bNc;c@!9CsukEPTA0000< KMNUMnLSTa2sWm|h{qEs3I}G{rCz!;m^Q$;9$QZd)6%|Fi`5pYxBb@0Re=MUv6E z^%O@5Q<*m$xfdkGRB0hVb)orY^s8GlrT9Ecw^x`82=xEk>rHQxI7G(_S$TR$=~J3N znsfu>-3y;I2WhDql5!;CU>SQzy=4`uLk-Uu3F?iMRROPP< zL)CmGq(-)hSq{^(#N(tc@`4w-z2>`7xgK|xgk_>m2;w7P z3aeclsL47O_+g=vU#KFRNZmTEhVN}dt;5bV70!e&5prqcx%9)YvhYa+M}SPnLnR}a z4JEk^jm|>up#pj8uyV15g@r#3?kECGh`as$(b%>b+a5Ak0*YiShOLPwRgF!e*nE6n zq*;`1juJJ=!aNK!AR*5x5^Q9G2H4`p3VA^9TPqK&XXonBalc1nVwPu1<6>I%JU}Xe zYaB}W^a3cVY*u|7?5b7O*slE~i+K+kh!Mc#2O%piw0k*+jN;TfE6u|p+{E+h95#IEmlA5`- ziZa3o^MpNfPNi5?*bq=Pk$f`FwJRC2xF4h2)2#~_$iKJe$zEfk7_I-1!p$NjPf5Of zk_pta6IU98q%`W1G7_<~)F-4)S%Ye*;f%p(zzSvl8P9vwhkHuunRrk;uj-zv`B`qL zk`M2TjL2HE4AU4YwU0yfpkA<{+q0eZn#+D?nULDD#m}Z13+IJAj*0OzaKUA+yPH^B zp8a_CPfFHoKae{S0mLAg0UoHJNSd?g;NF7#Gyivk%~_ z8ozUK&2q*LfUo$aB-t>qDq)u%@RfQ2bjg(4KGySCSXfy24mev868JUUh*?E{pvvzy zMVJxQ3iCE2wcQHvJm+hAQj%#c@HDyvx|P8IoUfq3v6D4DwiVOhvcg0#CU9#^GzBeo z9LBA1^G=Nw$w4x~GB}d(phe6YG%yeW1?oTWyk(231kh;YnOZm24&f0}NUuuvjC|<|d4#%;G+}qC*?R@TV2_n@x$V?;j+Lkz6Bs;syXo1r zJ!G|!;`!M8ZTRJ4t#SUHycJU8g)X1=Y1G!9aheIqwp)zGn4haOI*N@U=G%HcsH}r1 zLbhBro9&2@%@aB*(h$t+<#EEQvEvU}t(?JLXZzgvf~dblx&I)sH1JG*4+C<%CwS_F z<49It<$t4+(YM}KC!WEAD#}c0wpyc%l2sLwaoS19<(gOSz^>eOPqT|myb7eKF_hgQ zT@rWW25UN;(2&^VngTH8+s=TdCt<5m?-uCB56>@<(Dso3IXJ;_C+wn}lzh~NfK3RO z790x_hIkCGumHm=Kuf^T#v+Hj@FG#K!Zy)o)PV&+>rHBgadg`_JlE>)B1D+8Sn%^@ zb-?g`K%y7@EU*B`qcTyH%OQB%0PNr4UTK7lKe--dy<;&kF){I87^PtGis{~_U5Ttt zw30h*f7fG zls`ZKHqk7kYb2T*oBRs9A?en`18;27jV9!q=xgH4Mhd3(oZt$ub-?<&vN?j)09`Yq zV)xeRgj*3qkZwN|Uu6Q|(ky)Y{eo7+Gyjf|z$4B80q8aiz~+RZM&81bgvh{ic=bZZ~y=R07*qoM6N<$f~@UYLI3~& diff --git a/tests/snapshots/nanos/test_transaction_manifest/SCO.03-1-Testnet/00014.png b/tests/snapshots/nanos/test_transaction_manifest/SCO.03-1-Testnet/00014.png deleted file mode 100644 index 8829fa90bb11df808c78717b9c1e23a1b79fa679..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 693 zcmV;m0!safP)pwa^9LN?ZNWt+NvP(U zA;+KM;IP7;J}0S76&7Sr&D%m-L_qF!%6_(PPdAq#p#I*T7kQ0{Ln!^g2RBA?J-PD7 zl&S#j9cXC`T&1i_8fR8)q&p;bX^rAhGtM8#(6BX}JpSb49+|k8BJPO?)Okhs6vdBn zLs9wIy6`jCF!N&?1EGDK)Ja}rLAPhy>lIi1P7}e|s>JVx8Vy%N9%n~>4_t7G>#nBF zR(ro5{flt)_e*z7KO^D~JhK({IjiQ;&2U-N%;ND!3$r-B?g4Hf*L#2`PdH?HdjkF^ zVt##RxL%ltEi#FxHlZ-BF#kr@e; zt%Iuw!DX3n-T~DYG6j&X<8+4wAf{>H`9tib);TrzY(PF+rX>7TrxkxcEaWUIA@XU9YRh3Z@^DgbZ>xW z?`Yf8A;@ri{^l#!h_5{j4~X}~j7Oe}wy`B#`B+$3Son1q`5yjaGbX;3|3VPQ@J5Y9 zY;oxc>aUFy?TR2=MWA{h6J5myaItVzjd}yFzpG;LhlkyLQiE&Vs5|3TaJ4G>* z(-YS}VJYwoMV`Q!R0w?kH8qTY!J;AaRv)t~ng@iV8=uI(|BI2&$cHl!zt?04Z9sRW z@VW&^-d)Pr>T7x$bqJ6F#+^FHp#3{7=fER;JVm-0)CrMVI zoNc(%7_dsUE-Az;IapeVoZ<$_P!rdPl=lFidWKENVFdgpVt)O} zbUpDL7B>a<7cfHpNs=VS@9?ZzKfMLkt|ZqXsw9sah&1J2`T=+;5oQ_H=+`9@R>V;D7uDN6zg5Lmv z>W|M$?GHG^#5BbDgyb(b+n802l7Da-fP0}F3ivoI2h^!gUiBrvfPSwO&TFXUg6O^B z;blS<<)~zdYWh|ai?OhOq;5}4OicWD9Q+p!EKMn9HS)D>ILJM{*8s-ZPWYbZXt})# zzdB41ke|1VFKFQNknW$xjR4De+0V4ao54dE(g5}ck5>P4?uYpl(HTQV04}85w@!q5 fFw649#24TVoKM;8%3M%P00000NkvXXu0mjfSYs29 diff --git a/tests/snapshots/nanos/test_transaction_manifest/SCO.03-1-Testnet/00016.png b/tests/snapshots/nanos/test_transaction_manifest/SCO.03-1-Testnet/00016.png deleted file mode 100644 index c4c85af7fe3839d76049890821018b1c9ec25f03..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 430 zcmV;f0a5;mP)6HUUZM?A;jN#*b01SUzonXd&6e=7!|wpKZ(hhi{i3OC7I;12;Y8&0RaAr zQ2a(BoyPN#-9nTept!^aCO$8~Y* zcl!<8u_cQ=BwU@B{9Ap`B$&-(g22ukZO#pApX*z1DmZvc({SxQHC3l$ze66czr~yJ zvF`L2=}kJHZ(8XJJxV@Ow$va@Bc;judi25H+L^z%7!)5lXD2Rhv*+cp2TgmX>rdhp z@wAVKY&-F;^NFT~PpwzR1(t`+p?!;2{WRx%e^9z<2WRc%te(}AKHn5P;Tx}{knjPt*_R&0RsmPc5Pt((z%tj#AucrNX*mK&t;ucLK6VVOp{gs diff --git a/tests/snapshots/nanos/test_transaction_manifest/SCO.03-1-Testnet/00018.png b/tests/snapshots/nanos/test_transaction_manifest/SCO.03-1-Testnet/00018.png deleted file mode 100644 index 05f27c3a1261e43d42b7e462d3f1e8f54f927ee8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 649 zcmV;40(Sk0P)Qi3buy{@WDSA}D(rPjB|h)8y;2aL_u0nU4oM+X4$og* z69d9oc~+}VV0-D3wXhdxA!6kb8;nltlRDfrH`3_Q7Q*#daydM{mF#D4JoZV$Ilj~Y zbm_V51j!G8v+J)(+a^IPH5lq~FO6}48iP!v@W-noTy9VY z1~8=#ASvQI^OwUAc0hfl^29*=ho?*HfVXhHoXj%2Fd_>J3kwrLQxTx(s5>vY1dBGn zrN4D|W0?p+o$R$(J>{n%F9DzdKyhzLmOVJdW|ViN5ZV|ERRhGxG?eEORF)et7bwH@dRdAfg@EU& jYKxfbl1eNr{3HAV_0#cv`)$N600000NkvXXu0mjfy1gh5 diff --git a/tests/snapshots/nanos/test_transaction_manifest/SCO.03-1-Testnet/00019.png b/tests/snapshots/nanos/test_transaction_manifest/SCO.03-1-Testnet/00019.png deleted file mode 100644 index 5ebc566538c13f46cb76bcb35bd4c7f3819742a1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 648 zcmV;30(bq1P) zRs{x(Bl-5Ye9qm)Q_Hv(C=ro)Pah1Y^+Iw%XG4f(A*)(i#ugh68xvX# zR!aynV7C)Ly}0I&7*PQm_gDfO^4us&7g!wu>ID%1_YMGyF0b~$d{mX^#Uc`ir>Y&r zRWA(YDq5_8w&W^aRwFI>-Gc*8TbQo%ufi+-6;sGCK^4??<-z-mL@p&2hfEcqgk;U| zywN%V;&3e9DlKE-$Xf;@?ao8P<;>xyvwZ@pRA0;38dH*1V32q)7~V%vt^U(<-3O4M5PGDA|A7x3L2Ujv*Cu-p;(p*Q~(f+W6pq z{RaMb3ugxjtlGht`u)g^2rb>U+t_+JZ-!l-k(=s%^zEW2k9u=8ZoU=z%b8Y@c2PcP z_m(nM_ZLc)TfJS>zqh(fb}^nH#rg71&d-$TGo?S)KH;)F>%_^`9<Zn@c>HH%tb|K|aE84l`Ca9{Y>YqLk?M<7Vd)78&qol`;+ E0A^=~jQ{`u diff --git a/tests/snapshots/nanos/test_transaction_manifest/SCO.03-1-Testnet/00021.png b/tests/snapshots/nanos/test_transaction_manifest/SCO.03-1-Testnet/00021.png deleted file mode 100644 index 7a7c2869b2dd625819cffe6211e5ab5dc7e04cf3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 471 zcmV;|0Vw{7P);ww!SGvj$f6k&N!K}ubmW732sb%q97 z8~3cC(7YWNmcJJuw$9hp*2{Fe{~oIl!uF5LmnkcQSS_1~l3WKZKN49t(t|2*EDLk* zGknAP4Q##%A>%~LsGklC%~94scR%~2boL?tm1)*x;j8YSetjuZ zOlA**%bnJ+-A22_E?0a%9$wr(+uP&tajX7&)2*N0Yuf42+%s8SpW3UsUGgX8FbdA@w|{p8t;rRnH3X@qE6br60-V}tMSx!&-*6%5%ki@!l&X_$kBS%?&Q7JN z_t(By2~Dfzt5fJPHSQ%~K3YFt8{JKZ{3VVhUp$OZhxBS@X#CG5GfHdlc5Ws|xvpj%*4yF)UutWtGO;QX&jEN8GnQI(Mha;XNkG40_ zqMp9_?#i{Jm}zgWd2l;c**-J4rqUS?f8WIiOg@vmdE`ycXSieHZcMrfA>>G19HFR}^G#%Tdu`YQP!G3iZ&YF?>Lwi&1p~W{dV0YI zVkd}4eqPFh2hJ*@fUlkcy1#(lEe>jOU<37~xQ#OaEJ2nh80g9XH8(|rR2M4>Wa_&H zo}HVdcF`UHuw2xu3YMbz+UjSxZzA%qY@2qA=!f8z!AfH&5QbvV7)o3Uit4j#z%4STr(ii|JnE!L6__1ZrVGQxY^n!14tcb>%M8z+@)Xx zvk>%$+!yIv5Wj$_N1Uz<@JtTP9JnHqF)_>z-<9$&a>M-t;_CUjSRLmnRm1-JJSnjBBfqT5;Az=j8exhE~(DGeQFQ8IoM};WSmX* zXTS#F^dV?)U#3o=)n0#_vK<|VWpDgtq{GJXYddRSKOHVU$Tr`Az1ZBNmmss-PTl_@ z3gKfMhTlE{uJAZAU&aWzYkkOMG9mQX&a99afuhb`I}IV|DN7>|UPMv<9d)liqUaIMiVeZ|YUd+CY-IF8>~K zzhRaAS`H?-=QM1i=Tu6{1-oD!M<5AJP1 diff --git a/tests/snapshots/nanos/test_transaction_manifest/SCO.03-1-Testnet/00028.png b/tests/snapshots/nanos/test_transaction_manifest/SCO.03-1-Testnet/00028.png deleted file mode 100644 index 7f6ab5e6010052a6c826d8a33994eba6cf7bbeed..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 380 zcmV-?0fYXDP)uRr;yTsQ43OPlRlX!mA#zXLNU2R?VwJ6)EF1I*s6nq^p&4PTTOSmPEMbE{jtppwY z^J4|+t@vhuNa?L)$#$MM!@0Ht2hgw^YzuAo0F>?KHP7%21er<@_~X;u1W_f`a9 z&)8tifC~e#OpaQ*=)Jj^nQ=S=L>0_r)pnQRorNTQ`GlD2lQ9F#qKh$G{-E9;9g9Bp zfE@Dtsj?-U1BU#LN1Ji&^64|f)*teIloz|6`X;Q;MR{(?%&26>GZ0KlA3ha-t$MGen9TVB&nnB(jJ4&^4# zWONKb_gzr3Gs(+sexnw)^d*Pfuy|Q?$jC@;UbZxVusk67bIW0Fa<_CL_g{mSUx0j; zF&?OSC-*~r1ab{6X&C@&kx8JAwcflqcHI_)#xH7r4hT=AR0F1ym*!P8jH7Q7E|v$V zEJw9G0(LhyCMJC8f)_jw6IB!*gHps`+~D_zvwp&F8~^|S00000001!`p54y(O(ZlD P00000NkvXXu0mjf*6*8> diff --git a/tests/snapshots/nanos/test_transaction_manifest/SCO.03-2-Mainnet/00001.png b/tests/snapshots/nanos/test_transaction_manifest/SCO.03-2-Mainnet/00001.png deleted file mode 100644 index 2ab1484075defe1e2767c45b891fe0ae0287540c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 329 zcmV-P0k-~$P)0S{~z23```{@t_Mu4+u_VUSWH4fEc^?mpgDce^f z*)}3l1}=*wDtz?|Gd0fvHZRvHpQ9g;k?1-cpQ1n7^2YfL*^W{JG7pZxWon%qC zcJ<4i0UJ{1Zhb(W`Jl$7p=Io{LaaXnazNa(#-!t9@@3}k(U_%fd8UwPMpEw zlknIfBX<2IMONcQMnw6Bo?Hj}N?6&?kcsn-gJ1WJ2a#R8)7w{nTs|SzC_zy+8KN_J z3uvCX2W6LHWI8uJH6KfkMW*$c(@c0_S->P)8}rVo;-@YM%sqtDv_S(n=trAq9|+^y}`=ypW9DcBC$c!{H)l2G7o1hbse4r24M+p!tjkIV}#gV)rSUFmU}*+Hv5SH6|T{$(NbCdtc-?a4w?t06wH_ zF63bwHGqpRS&mHy&|$$HMpN-MS`WQ03f(-%88}SEhM{rfehMAz?|`UF0(bN{(gGjD zkT86}-c8rA0LLc&t9yv>SIkN#g~8FE%Dfp#Rsa~vfIN`LDkKcD&w$>E_F2}!z5!&3 zn9Qa4!f-FHDI}xuS6^fy6UGcs5(AtT$vSLDpQQ*1Lm)qdcRQ9L#b8QtURYRI2*ofJ z(LgSaLUT{5$n_n!a=xpVvWNQL*3S%myI(iDU0u$IEG$E#nD&C5PDf*2!OGB?4yiz{ zSxx0&$_C&Yr-PTrZ4P;5Y~+>yX2Df6*DNMZ5PRJC&w_qR#022T04z|?sA*Iy^Xt79}*L^%bP%H=ye z{iDe1@#t1|Nz|7~Gp5xXF}D04wk_!9OxCAA*RJ+V`L?b`tgj&b!k0yL24`b7b)?D0 z=wzSyTlvOIVoSgp{l3lr1WR`AbiXh`&O;=~HqZ2GNb%#uxz80ipEh4GUG%RkOJ(^T zw(Vc*8S7>)dR_A2UG&<(mernnUPv-C>|ggxpZ$x_-V2F6)6En9*|6GPY&e*4Ai*TT fKnmzL5O`q!ru~c#lM-bQ3)z4*}Q$iB}QcHTs diff --git a/tests/snapshots/nanos/test_transaction_manifest/SCO.03-2-Mainnet/00005.png b/tests/snapshots/nanos/test_transaction_manifest/SCO.03-2-Mainnet/00005.png deleted file mode 100644 index 33c200427ac3d0d3f3ab4ea790c51fc62c8bfda3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 502 zcmVx(( zBxtnco-1As2%(S6GX%mfY#_yc-Zr}8CNeP|Th(<95)XJnP%dJaGya&-0IZ6UC$4b_ zX7j_z>5&Dcn~RCX!u8YY;Q?ug0MDsSylSv(Kr^~88IHslg{|s$ z2oH!cj^j9Lj;7IR_#Tr)<;)nMI(K@3m*W^#@Db6dE;3J+ugp_1C~WO7vu_w zJDt2C>y=V0umGBim>#7ZzVGB9Fyr5a4jw?(8_WfYRR{9?56^mw z#Rhx`Gim4|8_01Sr;xT%#4PG++Kvs(C2L|iq?S=>sFPuVi&zE!DF54Y0YG9NwhTTu sdoBRLq9!v7KLaMSa~kR;0ms>%FSeF&S#}xF6aWAK07*qoM6N<$g8R4K{{R30 diff --git a/tests/snapshots/nanos/test_transaction_manifest/SCO.03-2-Mainnet/00006.png b/tests/snapshots/nanos/test_transaction_manifest/SCO.03-2-Mainnet/00006.png deleted file mode 100644 index 9c1f1495de7ee705df0ed7857666aab1c043fc7d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 643 zcmV-}0(||6P)d)Ju3w%#_QKxVjPL^?0$01 zZD4|$i@NdyI3WKVkl)S%GM00N`*E{Leh>BDgn2i91{WW>h@Bb^-DnaimEj%H)I}yu zce%t0;1b$_c|gvRTo1Y=voL2WA{Pw!?O%D7}5Zs}BGxT}#YDnK9T|4Nq4=WNNMiEhV4U4}kbuXoI_3&>nJbD!U9# zZ{K4QG}j_GPs_}9fXK^d2<>xY&H?-=Z=H6WcYsXm72QWhje5U4| z@InhbC~|G2I)E(vyPag)L%J9>m|752!vP<6Q!X~(gG2ryLv9IAZ(Qokc|cf~N#=B9 zo&!ch2;LxZSTiBXV3c|A-O?t_HT-!F*h7dAI0rC&`3QJ&pj8wVi6moqq%m4y#wS4R d4#ABL8-Ir)bZY{n%RT@A002ovPDHLkV1ij|91H*e diff --git a/tests/snapshots/nanos/test_transaction_manifest/SCO.03-2-Mainnet/00007.png b/tests/snapshots/nanos/test_transaction_manifest/SCO.03-2-Mainnet/00007.png deleted file mode 100644 index 09f6db4d924aa4d374d4b8ee72216d4c12256d4e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 670 zcmV;P0%84$P))uDD$rMQi;!Q>#gM{sY1+} znG>BUnpG=Q{LF*W>dv4tf$IY>yQkg^;spzDBdssP0Ul3p50e& z7zP$NYf+b2hFy&tYx@>qH_X!G3f?5xQbbb`!rw{O}C+1Nx<0(U-yeE@tZ}5h$ z7`O-E#lXiBkI?(xE5~i0fV5k1wZN04tuBCfgDrpECM!?teGs;71F!SZny!|(^AXNw z*F7B374!lO-T+q>M`-JO0PU$0AfIO6ekHgCD0Mmh5YE1OE2#9e<5Tb+*QNEJB$-+B z>ItYbp8{?H3QdS?H+Tf9jlnbtZ07^WFe89xV`Ia`5AZZ&8xm)m)&Kwi07*qoM6N<$ Ef@zWdwpgC@oZxlfS>-f8yHH zB33*KuRZlYS~}^V@f(=y0&KSS_=vBL+@H_t_RI^d*q-hkwsBXiP~xLoTdU=hqC(8_ zOoid1S-C>oKXV~irU!)zoF9N9a|K7YCud5wD5bnlfETton9@e_=2H3F^B{0~yqjpW zJU(_T)xF{rw=!2)t`GDSElAG9DyR)fCJ&G{F!@0n08}%g^!mIK;BojgF^<}EEv{Qr zutpqo^&FV;83@)1`R9cE_E$j0@?7Elc*I+-2j=i$?v2Y}%TsY$ZzDy=8qT&LLMxG% zA7*y3S%@{?F5#Vy95M>b`~<8sQwow8_5@*BMQ-MsvaqIVK)(ZUnbDTaVQ70RT|}@` zcWR#T=H^g-IU&GJt>R)o4s*hQ#ewGa5SZwFWa!@J-5OG18$4GmIROyqzqzlo1=8I@$j-W7sGXpSWN=lk$G{olEPxCdUa^yN-Qn@qcc>WX}?==&*w`l8F zC&RI{+EpLFUb32p(Q()R#&+g_H}cRVd5HC+SEn(CmmCQ<$)IQ$&Qy-D=th3(RmNZhkyzB@Dl^DbPND)C(jwcZnbW%^3bcHWd-PD2Q~xXfzFuBnZV4mI_-ueV$p@3S^hi9Q1cGJ zaY@;I8;r+VSNTp{V)Rp3844;tois{KKr3K6SxFD1DW-JRRYOU_I506WF)@)6tfqmQ zcm>qRhE*pAVqg_SRw+$t`F|*xyB&shEC!wf@WsIXmcKt>_|s=%O2=beFO8jpvkzjR z?%dIIW(IAwP$aZ7YR9uD;0TU{>hM%k!p}|svnIrKbROg8DUaDsqVcm6zyM#{`81<( r_5?5&=%pWHRU0yd^Uh#m;!L~%T^l%67qS2u00000NkvXXu0mjfIi?Z< diff --git a/tests/snapshots/nanos/test_transaction_manifest/SCO.03-2-Mainnet/00010.png b/tests/snapshots/nanos/test_transaction_manifest/SCO.03-2-Mainnet/00010.png deleted file mode 100644 index a131269eac0fcac07544a572823b6de38ed32260..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 676 zcmV;V0$crwP)sm5pUrQ3G8lL}3*Hy=Ru~7+s%kSwKPgUY{p@LdCAM{zDUsMQS^> z@jFW~pq>RQ9kl}(+N5kq>XV3rMF*N0WqQy&YB*ys67Y!5Kl!{@F>cFZ`ox1ec+K!M z)sG4{)A&(YPDs|rG%faVh)&7{8@fK_tXEx$JCHhbn$k)?1m}f3j)}YvTyUxD?k1L2 zW(OX-Fq943X*y;f$oK=#Yym!JWqGwTGCQvGPbVbyyv=Or&I@$>gdNG05yDSxpIE$=w=|Q73A>)^g%tivCz*fUNbgUR)f-Y<6)m zMW2P-9ngJj;MM|&5#EI*7`vM#qOvPL#^p!C0p{Tq(55q7t$d#2JHZye|5!g z-mbb$CdhP&Z(gc=C!l-DoAO6-4e3}+OiWDN0)H#wm#?DmD z0B{8{Q=@8q(f};qC5n_Ip2ZwK<{9ehPcTQPHIl4Lz{4*T_)Z7#Ti{(4Q{{Hkk(e@D z7ht5DKtOXM3XcQE7VCO3*MV%J>_Kp2iFZK?daIvO_wg3Za(&s-$~@Td*B982KFM%= zOWWWUJ44S<{OeCEw=hptJ<@Fgng$3;@)G8s)LIU6KTS+bNc;c@!9CsukEPTA0000< KMNUMnLSTa2sWm|h{qEs3I}G{rCz!;m^Q$;9$QZd)6%|Fi`5pYxBb@0Re=MUv6E z^%O@5Q<*m$xfdkGRB0hVb)orY^s8GlrT9Ecw^x`82=xEk>rHQxI7G(_S$TR$=~J3N znsfu>-3y;I2WhDql5!;CU>SQzy=4`uLk-Uu3F?iMRROPP< zL)CmGq(-)hSq{^(#N(tc@`4w-z2>`7xgK|xgk_>m2;w7P z3aeclsL47O_+g=vU#KFRNZmTEhVN}dt;5bV70!e&5prqcx%9)YvhYa+M}SPnLnR}a z4JEk^jm|>up#pj8uyV15g@r#3?kECGh`as$(b%>b+a5Ak0*YiShOLPwRgF!e*nE6n zq*;`1juJJ=!aNK!AR*5x5^Q9G2H4`p3VA^9TPqK&XXonBalc1nVwPu1<6>I%JU}Xe zYaB}W^a3cVY*u|7?5b7O*slE~i+K+kh!Mc#2O%piw0k*+jN;TfE6u|p+{E+h95#IEmlA5`- ziZa3o^MpNfPNi5?*bq=Pk$f`FwJRC2xF4h2)2#~_$iKJe$zEfk7_I-1!p$NjPf5Of zk_pta6IU98q%`W1G7_<~)F-4)S%Ye*;f%p(zzSvl8P9vwhkHuunRrk;uj-zv`B`qL zk`M2TjL2HE4AU4YwU0yfpkA<{+q0eZn#+D?nULDD#m}Z13+IJAj*0OzaKUA+yPH^B zp8a_CPfFHoKae{S0mLAg0UoHJNSd?g;NF7#Gyivk%~_ z8ozUK&2q*LfUo$aB-t>qDq)u%@RfQ2bjg(4KGySCSXfy24mev868JUUh*?E{pvvzy zMVJxQ3iCE2wcQHvJm+hAQj%#c@HDyvx|P8IoUfq3v6D4DwiVOhvcg0#CU9#^GzBeo z9LBA1^G=Nw$w4x~GB}d(phe6YG%yeW1?oTWyk(231kh;YnOZm24&f0}NUuuvjC|<|d4#%;G+}qC*?R@TV2_n@x$V?;j+Lkz6Bs;syXo1r zJ!G|!;`!M8ZTRJ4t#SUHycJU8g)X1=Y1G!9aheIqwp)zGn4haOI*N@U=G%HcsH}r1 zLbhBro9&2@%@aB*(h$t+<#EEQvEvU}t(?JLXZzgvf~dblx&I)sH1JG*4+C<%CwS_F z<49It<$t4+(YM}KC!WEAD#}c0wpyc%l2sLwaoS19<(gOSz^>eOPqT|myb7eKF_hgQ zT@rWW25UN;(2&^VngTH8+s=TdCt<5m?-uCB56>@<(Dso3IXJ;_C+wn}lzh~NfK3RO z790x_hIkCGumHm=Kuf^T#v+Hj@FG#K!Zy)o)PV&+>rHBgadg`_JlE>)B1D+8Sn%^@ zb-?g`K%y7@EU*B`qcTyH%OQB%0PNr4UTK7lKe--dy<;&kF){I87^PtGis{~_U5Ttt zw30h*f7fG zls`ZKHqk7kYb2T*oBRs9A?en`18;27jV9!q=xgH4Mhd3(oZt$ub-?<&vN?j)09`Yq zV)xeRgj*3qkZwN|Uu6Q|(ky)Y{eo7+Gyjf|z$4B80q8aiz~+RZM&81bgvh{ic=bZZ~y=R07*qoM6N<$f~@UYLI3~& diff --git a/tests/snapshots/nanos/test_transaction_manifest/SCO.03-2-Mainnet/00014.png b/tests/snapshots/nanos/test_transaction_manifest/SCO.03-2-Mainnet/00014.png deleted file mode 100644 index 8829fa90bb11df808c78717b9c1e23a1b79fa679..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 693 zcmV;m0!safP)pwa^9LN?ZNWt+NvP(U zA;+KM;IP7;J}0S76&7Sr&D%m-L_qF!%6_(PPdAq#p#I*T7kQ0{Ln!^g2RBA?J-PD7 zl&S#j9cXC`T&1i_8fR8)q&p;bX^rAhGtM8#(6BX}JpSb49+|k8BJPO?)Okhs6vdBn zLs9wIy6`jCF!N&?1EGDK)Ja}rLAPhy>lIi1P7}e|s>JVx8Vy%N9%n~>4_t7G>#nBF zR(ro5{flt)_e*z7KO^D~JhK({IjiQ;&2U-N%;ND!3$r-B?g4Hf*L#2`PdH?HdjkF^ zVt##RxL%ltEi#FxHlZ-BF#kr@e; zt%Iuw!DX3n-T~DYG6j&X<8+4wAf{>H`9tib);TrzY(PF+rX>7TrxkxcEaWUIA@XU9YRh3Z@^DgbZ>xW z?`Yf8A;@ri{^l#!h_5{j4~X}~j7Oe}wy`B#`B+$3Son1q`5yjaGbX;3|3VPQ@J5Y9 zY;oxc>aUFy?TR2=MWA{h6J5myaItVzjd}yFzpG;LhlkyLQiE&Vs5|3TaJ4G>* z(-YS}VJYwoMV`Q!R0w?kH8qTY!J;AaRv)t~ng@iV8=uI(|BI2&$cHl!zt?04Z9sRW z@VW&^-d)Pr>T7x$bqJ6F#+^FHp#3{7=fER;JVm-0)CrMVI zoNc(%7_dsUE-Az;IapeVoZ<$_P!rdPl=lFidWKENVFdgpVt)O} zbUpDL7B>a<7cfHpNs=VS@9?ZzKfMLkt|ZqXsw9sah&1J2`T=+;5oQ_H=+`9@R>V;D7uDN6zg5Lmv z>W|M$?GHG^#5BbDgyb(b+n802l7Da-fP0}F3ivoI2h^!gUiBrvfPSwO&TFXUg6O^B z;blS<<)~zdYWh|ai?OhOq;5}4OicWD9Q+p!EKMn9HS)D>ILJM{*8s-ZPWYbZXt})# zzdB41ke|1VFKFQNknW$xjR4De+0V4ao54dE(g5}ck5>P4?uYpl(HTQV04}85w@!q5 fFw649#24TVoKM;8%3M%P00000NkvXXu0mjfSYs29 diff --git a/tests/snapshots/nanos/test_transaction_manifest/SCO.03-2-Mainnet/00016.png b/tests/snapshots/nanos/test_transaction_manifest/SCO.03-2-Mainnet/00016.png deleted file mode 100644 index c4c85af7fe3839d76049890821018b1c9ec25f03..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 430 zcmV;f0a5;mP)6HUUZM?A;jN#*b01SUzonXd&6e=7!|wpKZ(hhi{i3OC7I;12;Y8&0RaAr zQ2a(BoyPN#-9nTept!^Qi3buy{@WDSA}D(rPjB|h)8y;2aL_u0nU4oM+X4$og* z69d9oc~+}VV0-D3wXhdxA!6kb8;nltlRDfrH`3_Q7Q*#daydM{mF#D4JoZV$Ilj~Y zbm_V51j!G8v+J)(+a^IPH5lq~FO6}48iP!v@W-noTy9VY z1~8=#ASvQI^OwUAc0hfl^29*=ho?*HfVXhHoXj%2Fd_>J3kwrLQxTx(s5>vY1dBGn zrN4D|W0?p+o$R$(J>{n%F9DzdKyhzLmOVJdW|ViN5ZV|ERRhGxG?eEORF)et7bwH@dRdAfg@EU& jYKxfbl1eNr{3HAV_0#cv`)$N600000NkvXXu0mjfy1gh5 diff --git a/tests/snapshots/nanos/test_transaction_manifest/SCO.03-2-Mainnet/00018.png b/tests/snapshots/nanos/test_transaction_manifest/SCO.03-2-Mainnet/00018.png deleted file mode 100644 index 5ebc566538c13f46cb76bcb35bd4c7f3819742a1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 648 zcmV;30(bq1P) zRs{x(Bl-5Ye9qm)Q_Hv(C=ro)Pah1Y^+Iw%XG4f(A*)(i#ugh68xvX# zR!aynV7C)Ly}0I&7*PQm_gDfO^4us&7g!wu>ID%1_YMGyF0b~$d{mX^#Uc`ir>Y&r zRWA(YDq5_8w&W^aRwFI>-Gc*8TbQo%ufi+-6;sGCK^4??<-z-mL@p&2hfEcqgk;U| zywN%V;&3e9DlKE-$Xf;@?ao8P<;>xyvwZ@pRA0;38dH*1V32q)7~V%vt^U(<-3O4M5PGDA|A7x3L2Ujv*Cu-p;(p*Q~(f+W6pq z{RaMb3ugxjtlGht`u)g^2rb>U+t_+JZ-!l-k(=s%^zEW2k9u=8ZoU=z%b8Y@c2PcP z_m(nM_ZLc)TfJS>zqh(fb}^nH#rg71&d-$TGo?S)KH;)F>%_^`9<Zn@c>HH%tb|K|aE84l`Ca9{Y>YqLk?M<7Vd)78&qol`;+ E0A^=~jQ{`u diff --git a/tests/snapshots/nanos/test_transaction_manifest/SCO.03-2-Mainnet/00020.png b/tests/snapshots/nanos/test_transaction_manifest/SCO.03-2-Mainnet/00020.png deleted file mode 100644 index 41b0ce2b951314b34dcb1c5718b6dca8e065af5e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 472 zcmV;}0Vn>6P)Nkla)G~QywM^fN;3q|GwUxTS_&2HWWQZ%2Hya&d^U(>U=3@ze~Y&NS$K`S)I8> z2K-N^Q!+QwzD~)Qy=Wu4#-uNN26S9ls!sn&!(v9fZxKPaTw9Q`F4`Ehp-G)Z4Xy2W z)(~jk?t!bx7|S(=(mulN783L$KN6i-tYc4BmFdX(@wNcoY-bt65f^7^uH>}|RS ztiQl!n*acwM3J8i1kKPeRVCxrv$5p!AElCHEmOmc-A{HL6@IzozlQuaevxF&iHuag zhN|4xZkt4H@GpPV_$v~5qd?WBI&eAz9(C$Ok1~^yswFcblj3;)I`w1)_+H&TigE^i zJ+h)F$scR%~2boL?tm1)*x;j8YSetjuZ zOlA**%bnJ+-A22_E?0a%9$wr(+uP&tajX7&)2*N0Yuf42+%s8SpW3UsUGgX8FbdA@w|{p8t;rRnH3X@qE6br60-V}tMSx!&-*6%5%ki@!l&X_$kBS%?&Q7JN z_t(By2~Dfzt5fJPHSQ%~K3YFt8{JKZ{3VVhUp$OZhxBSzT+2?ksTh0vEL67B_>waqJuzMQVV4v`VAsS4G;)2St#_}TU* zn$tg4I z1)#5~t~Zbh$m%sMD@}-DyTYx>0RR910000000000kof}qe>LcCF21+`0000EpLbPNSZ?Rk z{xAwJP%X(2P#5~@c{`szUR5CtDJ|%J%|CvB)#P${@*#i1T{Tp1s`Ki4XbMl}B$~`D z^*UF;=r^*AYNe{JAr zT#I< zS9X7B0cxPwlQCM;moqa)t=$k%o6&(4)bl=bm5>aFR#_ zV_T4j{(qL+1q~oiC}$!Mf9RT_p0){DOG#FhYjgtiRFhG00000000000001h9A8SATkiagEVBRr002ovPDHLkV1it}%}f9Q diff --git a/tests/snapshots/nanos/test_transaction_manifest/SCO.03-2-Mainnet/00025.png b/tests/snapshots/nanos/test_transaction_manifest/SCO.03-2-Mainnet/00025.png deleted file mode 100644 index 52b06db91d6825dc858bbdf6384330dc370de38e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 512 zcmV+b0{{JqP)9$&a>M-t;_CUjSRLmnRm1-JJSnjBBfqT5;Az=j8exhE~(DGeQFQ8IoM};WSmX* zXTS#F^dV?)U#3o=)n0#_vK<|VWpDgtq{GJXYddRSKOHVU$Tr`Az1ZBNmmss-PTl_@ z3gKfMhTlE{uJAZAU&aWzYkkOMG9mQX&a99afuhb`I}IV|DN7>|UPMv<9d)liqUaIMiVeZ|YUd+CY-IF8>~K zzhRaAS`H?-=QM1i=Tu6{1-oD!M<5AJP1 diff --git a/tests/snapshots/nanos/test_transaction_manifest/SCO.03-2-Mainnet/00027.png b/tests/snapshots/nanos/test_transaction_manifest/SCO.03-2-Mainnet/00027.png deleted file mode 100644 index 7f6ab5e6010052a6c826d8a33994eba6cf7bbeed..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 380 zcmV-?0fYXDP)uRr;yTsQ43OPlRlX!mA#zXLNU2R?VwJ6)EF1I*s6nq^p&4PTTOSmPEMbE{jtppwY z^J4|+t@vhuNa?L)$#$MM!@0Ht2hgw^YzuAo0F>?KHP7%21er<@_~X;u1W_f`a9 z&)8tifC~e#OpaQ*=)Jj^nQ=S=L>0_r)pnQRorNTQ`GlD2lQ9F#qKh$G{-E9;9g9Bp zfE@Dtsj?-U1BU#LN1Ji&^64|f)*teIloz|6`X;Q;MR{(?%&26>GZ0KlA3ha-t$MGen9TVB&nnB(jJ4&^4# zWONKb_gzr3Gs(+sexnw)^d*Pfuy|Q?$jC@;UbZxVusk67bIW0Fa<_CL_g{mSUx0j; zF&?OSC-*~r1ab{6X&C@&kx8JAwcflqcHI_)#xH7r4hT=AR0F1ym*!P8jH7Q7E|v$V zEJw9G0(LhyCMJC8f)_jw6IB!*gHps`+~D_zvwp&F8~^|S00000001!`p54y(O(ZlD P00000NkvXXu0mjf*6*8> diff --git a/tests/snapshots/nanos/test_transaction_manifest/SCO.03-2-Testnet/00001.png b/tests/snapshots/nanos/test_transaction_manifest/SCO.03-2-Testnet/00001.png deleted file mode 100644 index f2422205b6e1b91dbe0b798b0b95a8c4d2bf7e92..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 337 zcmeAS@N?(olHy`uVBq!ia0vp^4M42G!2~2j9iA64FfdAZx;TbZ%y~QGv{17Gk89(> z|Nj%j%N)B6A1=INcyMR>9SMUal?=VbQ*ukYa$f(7*|glYH*2!DjZbzg_r2+dqD{oN z-t2I^v$QU7LtBuE!tB}ZFZn$VWFXIURu0Aky+I2)#4eC-(I}c)&DWt)+)TG zGf`*B>G=Zr?dvs;CW!qp^4;apw^QyL<5vlvDU63Z=BmlHiC)%fjhEZ$+UC5p&g*>i z4u%HvM_YLnHq4d1y_7GU|3)M8%}b@HgIHCb#5g&i6|V3p%9DK|-FcelF{r5}E+5U5S_g diff --git a/tests/snapshots/nanos/test_transaction_manifest/SCO.03-2-Testnet/00002.png b/tests/snapshots/nanos/test_transaction_manifest/SCO.03-2-Testnet/00002.png deleted file mode 100644 index d9d217d6f0eeeea8903da9455f3b7d57f19e5ada..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 643 zcmV-}0(||6P)0S{~z23```{@t_Mu4+u_VUSWH4fEc^?mpgDce^f z*)}3l1}=*wDtz?|Gd0fvHZRvHpQ9g;k?1-cpQ1n7^2YfL*^W{JG7pZxWon%qC zcJ<4i0UJ{1Zhb(W`Jl$7p=Io{LaaXnazNa(#-!t9@@3}k(U_%fd8UwPMpEw zlknIfBX<2IMONcQMnw6Bo?Hj}N?6&?kcsn-gJ1WJ2a#R8)7w{nTs|SzC_zy+8KN_J z3uvCX2W6LHWI8uJH6KfkMW*$c(@c0_S->P)8}rVo;-@YM%sqtDv_S(n=trAq9|+^y}`=ypW9DcBC$c!{H)l2G7o1hbse4r24M+p!tjkIV}#gV)rSUFmU}*+Hv5SH6|T{$(NbCdtc-?a4w?t06wH_ zF63bwHGqpRS&mHy&|$$HMpN-MS`WQ03f(-%88}SEhM{rfehMAz?|`UF0(bN{(gGjD zkT86}-c8rA0LLc&t9yv>SIkN#g~8FE%Dfp#Rsa~vfIN`LDkKcD&w$>E_F2}!z5!&3 zn9Qa4!f-FHDI}xuS6^fy6UGcs5(AtT$vSLDpQQ*1Lm)qdcRQ9L#b8QtURYRI2*ofJ z(LgSaLUT{5$n_n!a=xpVvWNQL*3S%myI(iDU0u$IEG$E#nD&C5PDf*2!OGB?4yiz{ zSxx0&$_C&Yr-PTrZ4P;5Y~+>yX2Df6*DNMZ5PRJC&w_qR#022T04z|?sA*Iy^Xt79}*L^%bP%H=ye z{iDe1@#t1|Nz|7~Gp5xXF}D04wk_!9OxCAA*RJ+V`L?b`tgj&b!k0yL24`b7b)?D0 z=wzSyTlvOIVoSgp{l3lr1WR`AbiXh`&O;=~HqZ2GNb%#uxz80ipEh4GUG%RkOJ(^T zw(Vc*8S7>)dR_A2UG&<(mernnUPv-C>|ggxpZ$x_-V2F6)6En9*|6GPY&e*4Ai*TT fKnmzL5O`q!ru~c#lM-bQ3)z4*}Q$iB}QcHTs diff --git a/tests/snapshots/nanos/test_transaction_manifest/SCO.03-2-Testnet/00005.png b/tests/snapshots/nanos/test_transaction_manifest/SCO.03-2-Testnet/00005.png deleted file mode 100644 index 33c200427ac3d0d3f3ab4ea790c51fc62c8bfda3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 502 zcmVx(( zBxtnco-1As2%(S6GX%mfY#_yc-Zr}8CNeP|Th(<95)XJnP%dJaGya&-0IZ6UC$4b_ zX7j_z>5&Dcn~RCX!u8YY;Q?ug0MDsSylSv(Kr^~88IHslg{|s$ z2oH!cj^j9Lj;7IR_#Tr)<;)nMI(K@3m*W^#@Db6dE;3J+ugp_1C~WO7vu_w zJDt2C>y=V0umGBim>#7ZzVGB9Fyr5a4jw?(8_WfYRR{9?56^mw z#Rhx`Gim4|8_01Sr;xT%#4PG++Kvs(C2L|iq?S=>sFPuVi&zE!DF54Y0YG9NwhTTu sdoBRLq9!v7KLaMSa~kR;0ms>%FSeF&S#}xF6aWAK07*qoM6N<$g8R4K{{R30 diff --git a/tests/snapshots/nanos/test_transaction_manifest/SCO.03-2-Testnet/00006.png b/tests/snapshots/nanos/test_transaction_manifest/SCO.03-2-Testnet/00006.png deleted file mode 100644 index 9c1f1495de7ee705df0ed7857666aab1c043fc7d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 643 zcmV-}0(||6P)d)Ju3w%#_QKxVjPL^?0$01 zZD4|$i@NdyI3WKVkl)S%GM00N`*E{Leh>BDgn2i91{WW>h@Bb^-DnaimEj%H)I}yu zce%t0;1b$_c|gvRTo1Y=voL2WA{Pw!?O%D7}5Zs}BGxT}#YDnK9T|4Nq4=WNNMiEhV4U4}kbuXoI_3&>nJbD!U9# zZ{K4QG}j_GPs_}9fXK^d2<>xY&H?-=Z=H6WcYsXm72QWhje5U4| z@InhbC~|G2I)E(vyPag)L%J9>m|752!vP<6Q!X~(gG2ryLv9IAZ(Qokc|cf~N#=B9 zo&!ch2;LxZSTiBXV3c|A-O?t_HT-!F*h7dAI0rC&`3QJ&pj8wVi6moqq%m4y#wS4R d4#ABL8-Ir)bZY{n%RT@A002ovPDHLkV1ij|91H*e diff --git a/tests/snapshots/nanos/test_transaction_manifest/SCO.03-2-Testnet/00007.png b/tests/snapshots/nanos/test_transaction_manifest/SCO.03-2-Testnet/00007.png deleted file mode 100644 index 09f6db4d924aa4d374d4b8ee72216d4c12256d4e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 670 zcmV;P0%84$P))uDD$rMQi;!Q>#gM{sY1+} znG>BUnpG=Q{LF*W>dv4tf$IY>yQkg^;spzDBdssP0Ul3p50e& z7zP$NYf+b2hFy&tYx@>qH_X!G3f?5xQbbb`!rw{O}C+1Nx<0(U-yeE@tZ}5h$ z7`O-E#lXiBkI?(xE5~i0fV5k1wZN04tuBCfgDrpECM!?teGs;71F!SZny!|(^AXNw z*F7B374!lO-T+q>M`-JO0PU$0AfIO6ekHgCD0Mmh5YE1OE2#9e<5Tb+*QNEJB$-+B z>ItYbp8{?H3QdS?H+Tf9jlnbtZ07^WFe89xV`Ia`5AZZ&8xm)m)&Kwi07*qoM6N<$ Ef@zWdwpgC@oZxlfS>-f8yHH zB33*KuRZlYS~}^V@f(=y0&KSS_=vBL+@H_t_RI^d*q-hkwsBXiP~xLoTdU=hqC(8_ zOoid1S-C>oKXV~irU!)zoF9N9a|K7YCud5wD5bnlfETton9@e_=2H3F^B{0~yqjpW zJU(_T)xF{rw=!2)t`GDSElAG9DyR)fCJ&G{F!@0n08}%g^!mIK;BojgF^<}EEv{Qr zutpqo^&FV;83@)1`R9cE_E$j0@?7Elc*I+-2j=i$?v2Y}%TsY$ZzDy=8qT&LLMxG% zA7*y3S%@{?F5#Vy95M>b`~<8sQwow8_5@*BMQ-MsvaqIVK)(ZUnbDTaVQ70RT|}@` zcWR#T=H^g-IU&GJt>R)o4s*hQ#ewGa5SZwFWa!@J-5OG18$4GmIROyqzqzlo1=8I@$j-W7sGXpSWN=lk$G{olEPxCdUa^yN-Qn@qcc>WX}?==&*w`l8F zC&RI{+EpLFUb32p(Q()R#&+g_H}cRVd5HC+SEn(CmmCQ<$)IQ$&Qy-D=th3(RmNZhkyzB@Dl^DbPND)C(jwcZnbW%^3bcHWd-PD2Q~xXfzFuBnZV4mI_-ueV$p@3S^hi9Q1cGJ zaY@;I8;r+VSNTp{V)Rp3844;tois{KKr3K6SxFD1DW-JRRYOU_I506WF)@)6tfqmQ zcm>qRhE*pAVqg_SRw+$t`F|*xyB&shEC!wf@WsIXmcKt>_|s=%O2=beFO8jpvkzjR z?%dIIW(IAwP$aZ7YR9uD;0TU{>hM%k!p}|svnIrKbROg8DUaDsqVcm6zyM#{`81<( r_5?5&=%pWHRU0yd^Uh#m;!L~%T^l%67qS2u00000NkvXXu0mjfIi?Z< diff --git a/tests/snapshots/nanos/test_transaction_manifest/SCO.03-2-Testnet/00010.png b/tests/snapshots/nanos/test_transaction_manifest/SCO.03-2-Testnet/00010.png deleted file mode 100644 index a131269eac0fcac07544a572823b6de38ed32260..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 676 zcmV;V0$crwP)sm5pUrQ3G8lL}3*Hy=Ru~7+s%kSwKPgUY{p@LdCAM{zDUsMQS^> z@jFW~pq>RQ9kl}(+N5kq>XV3rMF*N0WqQy&YB*ys67Y!5Kl!{@F>cFZ`ox1ec+K!M z)sG4{)A&(YPDs|rG%faVh)&7{8@fK_tXEx$JCHhbn$k)?1m}f3j)}YvTyUxD?k1L2 zW(OX-Fq943X*y;f$oK=#Yym!JWqGwTGCQvGPbVbyyv=Or&I@$>gdNG05yDSxpIE$=w=|Q73A>)^g%tivCz*fUNbgUR)f-Y<6)m zMW2P-9ngJj;MM|&5#EI*7`vM#qOvPL#^p!C0p{Tq(55q7t$d#2JHZye|5!g z-mbb$CdhP&Z(gc=C!l-DoAO6-4e3}+OiWDN0)H#wm#?DmD z0B{8{Q=@8q(f};qC5n_Ip2ZwK<{9ehPcTQPHIl4Lz{4*T_)Z7#Ti{(4Q{{Hkk(e@D z7ht5DKtOXM3XcQE7VCO3*MV%J>_Kp2iFZK?daIvO_wg3Za(&s-$~@Td*B982KFM%= zOWWWUJ44S<{OeCEw=hptJ<@Fgng$3;@)G8s)LIU6KTS+bNc;c@!9CsukEPTA0000< KMNUMnLSTa2sWm|h{qEs3I}G{rCz!;m^Q$;9$QZd)6%|Fi`5pYxBb@0Re=MUv6E z^%O@5Q<*m$xfdkGRB0hVb)orY^s8GlrT9Ecw^x`82=xEk>rHQxI7G(_S$TR$=~J3N znsfu>-3y;I2WhDql5!;CU>SQzy=4`uLk-Uu3F?iMRROPP< zL)CmGq(-)hSq{^(#N(tc@`4w-z2>`7xgK|xgk_>m2;w7P z3aeclsL47O_+g=vU#KFRNZmTEhVN}dt;5bV70!e&5prqcx%9)YvhYa+M}SPnLnR}a z4JEk^jm|>up#pj8uyV15g@r#3?kECGh`as$(b%>b+a5Ak0*YiShOLPwRgF!e*nE6n zq*;`1juJJ=!aNK!AR*5x5^Q9G2H4`p3VA^9TPqK&XXonBalc1nVwPu1<6>I%JU}Xe zYaB}W^a3cVY*u|7?5b7O*slE~i+K+kh!Mc#2O%piw0k*+jN;TfE6u|p+{E+h95#IEmlA5`- ziZa3o^MpNfPNi5?*bq=Pk$f`FwJRC2xF4h2)2#~_$iKJe$zEfk7_I-1!p$NjPf5Of zk_pta6IU98q%`W1G7_<~)F-4)S%Ye*;f%p(zzSvl8P9vwhkHuunRrk;uj-zv`B`qL zk`M2TjL2HE4AU4YwU0yfpkA<{+q0eZn#+D?nULDD#m}Z13+IJAj*0OzaKUA+yPH^B zp8a_CPfFHoKae{S0mLAg0UoHJNSd?g;NF7#Gyivk%~_ z8ozUK&2q*LfUo$aB-t>qDq)u%@RfQ2bjg(4KGySCSXfy24mev868JUUh*?E{pvvzy zMVJxQ3iCE2wcQHvJm+hAQj%#c@HDyvx|P8IoUfq3v6D4DwiVOhvcg0#CU9#^GzBeo z9LBA1^G=Nw$w4x~GB}d(phe6YG%yeW1?oTWyk(231kh;YnOZm24&f0}NUuuvjC|<|d4#%;G+}qC*?R@TV2_n@x$V?;j+Lkz6Bs;syXo1r zJ!G|!;`!M8ZTRJ4t#SUHycJU8g)X1=Y1G!9aheIqwp)zGn4haOI*N@U=G%HcsH}r1 zLbhBro9&2@%@aB*(h$t+<#EEQvEvU}t(?JLXZzgvf~dblx&I)sH1JG*4+C<%CwS_F z<49It<$t4+(YM}KC!WEAD#}c0wpyc%l2sLwaoS19<(gOSz^>eOPqT|myb7eKF_hgQ zT@rWW25UN;(2&^VngTH8+s=TdCt<5m?-uCB56>@<(Dso3IXJ;_C+wn}lzh~NfK3RO z790x_hIkCGumHm=Kuf^T#v+Hj@FG#K!Zy)o)PV&+>rHBgadg`_JlE>)B1D+8Sn%^@ zb-?g`K%y7@EU*B`qcTyH%OQB%0PNr4UTK7lKe--dy<;&kF){I87^PtGis{~_U5Ttt zw30h*f7fG zls`ZKHqk7kYb2T*oBRs9A?en`18;27jV9!q=xgH4Mhd3(oZt$ub-?<&vN?j)09`Yq zV)xeRgj*3qkZwN|Uu6Q|(ky)Y{eo7+Gyjf|z$4B80q8aiz~+RZM&81bgvh{ic=bZZ~y=R07*qoM6N<$f~@UYLI3~& diff --git a/tests/snapshots/nanos/test_transaction_manifest/SCO.03-2-Testnet/00014.png b/tests/snapshots/nanos/test_transaction_manifest/SCO.03-2-Testnet/00014.png deleted file mode 100644 index 8829fa90bb11df808c78717b9c1e23a1b79fa679..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 693 zcmV;m0!safP)pwa^9LN?ZNWt+NvP(U zA;+KM;IP7;J}0S76&7Sr&D%m-L_qF!%6_(PPdAq#p#I*T7kQ0{Ln!^g2RBA?J-PD7 zl&S#j9cXC`T&1i_8fR8)q&p;bX^rAhGtM8#(6BX}JpSb49+|k8BJPO?)Okhs6vdBn zLs9wIy6`jCF!N&?1EGDK)Ja}rLAPhy>lIi1P7}e|s>JVx8Vy%N9%n~>4_t7G>#nBF zR(ro5{flt)_e*z7KO^D~JhK({IjiQ;&2U-N%;ND!3$r-B?g4Hf*L#2`PdH?HdjkF^ zVt##RxL%ltEi#FxHlZ-BF#kr@e; zt%Iuw!DX3n-T~DYG6j&X<8+4wAf{>H`9tib);TrzY(PF+rX>7TrxkxcEaWUIA@XU9YRh3Z@^DgbZ>xW z?`Yf8A;@ri{^l#!h_5{j4~X}~j7Oe}wy`B#`B+$3Son1q`5yjaGbX;3|3VPQ@J5Y9 zY;oxc>aUFy?TR2=MWA{h6J5myaItVzjd}yFzpG;LhlkyLQiE&Vs5|3TaJ4G>* z(-YS}VJYwoMV`Q!R0w?kH8qTY!J;AaRv)t~ng@iV8=uI(|BI2&$cHl!zt?04Z9sRW z@VW&^-d)Pr>T7x$bqJ6F#+^FHp#3{7=fER;JVm-0)CrMVI zoNc(%7_dsUE-Az;IapeVoZ<$_P!rdPl=lFidWKENVFdgpVt)O} zbUpDL7B>a<7cfHpNs=VS@9?ZzKfMLkt|ZqXsw9sah&1J2`T=+;5oQ_H=+`9@R>V;D7uDN6zg5Lmv z>W|M$?GHG^#5BbDgyb(b+n802l7Da-fP0}F3ivoI2h^!gUiBrvfPSwO&TFXUg6O^B z;blS<<)~zdYWh|ai?OhOq;5}4OicWD9Q+p!EKMn9HS)D>ILJM{*8s-ZPWYbZXt})# zzdB41ke|1VFKFQNknW$xjR4De+0V4ao54dE(g5}ck5>P4?uYpl(HTQV04}85w@!q5 fFw649#24TVoKM;8%3M%P00000NkvXXu0mjfSYs29 diff --git a/tests/snapshots/nanos/test_transaction_manifest/SCO.03-2-Testnet/00016.png b/tests/snapshots/nanos/test_transaction_manifest/SCO.03-2-Testnet/00016.png deleted file mode 100644 index c4c85af7fe3839d76049890821018b1c9ec25f03..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 430 zcmV;f0a5;mP)6HUUZM?A;jN#*b01SUzonXd&6e=7!|wpKZ(hhi{i3OC7I;12;Y8&0RaAr zQ2a(BoyPN#-9nTept!^Qi3buy{@WDSA}D(rPjB|h)8y;2aL_u0nU4oM+X4$og* z69d9oc~+}VV0-D3wXhdxA!6kb8;nltlRDfrH`3_Q7Q*#daydM{mF#D4JoZV$Ilj~Y zbm_V51j!G8v+J)(+a^IPH5lq~FO6}48iP!v@W-noTy9VY z1~8=#ASvQI^OwUAc0hfl^29*=ho?*HfVXhHoXj%2Fd_>J3kwrLQxTx(s5>vY1dBGn zrN4D|W0?p+o$R$(J>{n%F9DzdKyhzLmOVJdW|ViN5ZV|ERRhGxG?eEORF)et7bwH@dRdAfg@EU& jYKxfbl1eNr{3HAV_0#cv`)$N600000NkvXXu0mjfy1gh5 diff --git a/tests/snapshots/nanos/test_transaction_manifest/SCO.03-2-Testnet/00018.png b/tests/snapshots/nanos/test_transaction_manifest/SCO.03-2-Testnet/00018.png deleted file mode 100644 index 5ebc566538c13f46cb76bcb35bd4c7f3819742a1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 648 zcmV;30(bq1P) zRs{x(Bl-5Ye9qm)Q_Hv(C=ro)Pah1Y^+Iw%XG4f(A*)(i#ugh68xvX# zR!aynV7C)Ly}0I&7*PQm_gDfO^4us&7g!wu>ID%1_YMGyF0b~$d{mX^#Uc`ir>Y&r zRWA(YDq5_8w&W^aRwFI>-Gc*8TbQo%ufi+-6;sGCK^4??<-z-mL@p&2hfEcqgk;U| zywN%V;&3e9DlKE-$Xf;@?ao8P<;>xyvwZ@pRA0;38dH*1V32q)7~V%vt^U(<-3O4M5PGDA|A7x3L2Ujv*Cu-p;(p*Q~(f+W6pq z{RaMb3ugxjtlGht`u)g^2rb>U+t_+JZ-!l-k(=s%^zEW2k9u=8ZoU=z%b8Y@c2PcP z_m(nM_ZLc)TfJS>zqh(fb}^nH#rg71&d-$TGo?S)KH;)F>%_^`9<Zn@c>HH%tb|K|aE84l`Ca9{Y>YqLk?M<7Vd)78&qol`;+ E0A^=~jQ{`u diff --git a/tests/snapshots/nanos/test_transaction_manifest/SCO.03-2-Testnet/00020.png b/tests/snapshots/nanos/test_transaction_manifest/SCO.03-2-Testnet/00020.png deleted file mode 100644 index 7a7c2869b2dd625819cffe6211e5ab5dc7e04cf3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 471 zcmV;|0Vw{7P);ww!SGvj$f6k&N!K}ubmW732sb%q97 z8~3cC(7YWNmcJJuw$9hp*2{Fe{~oIl!uF5LmnkcQSS_1~l3WKZKN49t(t|2*EDLk* zGknAP4Q##%A>%~LsGklC%~94scR%~2boL?tm1)*x;j8YSetjuZ zOlA**%bnJ+-A22_E?0a%9$wr(+uP&tajX7&)2*N0Yuf42+%s8SpW3UsUGgX8FbdA@w|{p8t;rRnH3X@qE6br60-V}tMSx!&-*6%5%ki@!l&X_$kBS%?&Q7JN z_t(By2~Dfzt5fJPHSQ%~K3YFt8{JKZ{3VVhUp$OZhxBS@X#CG5GfHdlc5Ws|xvpj%*4yF)UutWtGO;QX&jEN8GnQI(Mha;XNkG40_ zqMp9_?#i{Jm}zgWd2l;c**-J4rqUS?f8WIiOg@vmdE`ycXSieHZcMrfA>>G19HFR}^G#%Tdu`YQP!G3iZ&YF?>Lwi&1p~W{dV0YI zVkd}4eqPFh2hJ*@fUlkcy1#(lEe>jOU<37~xQ#OaEJ2nh80g9XH8(|rR2M4>Wa_&H zo}HVdcF`UHuw2xu3YMbz+UjSxZzA%qY@2qA=!f8z!AfH&5QbvV7)o3Uit4j#z%4STr(ii|JnE!L6__1ZrVGQxY^n!14tcb>%M8z+@)Xx zvk>%$+!yIv5Wj$_N1Uz<@JtTP9JnHqF)_>z-<9$&a>M-t;_CUjSRLmnRm1-JJSnjBBfqT5;Az=j8exhE~(DGeQFQ8IoM};WSmX* zXTS#F^dV?)U#3o=)n0#_vK<|VWpDgtq{GJXYddRSKOHVU$Tr`Az1ZBNmmss-PTl_@ z3gKfMhTlE{uJAZAU&aWzYkkOMG9mQX&a99afuhb`I}IV|DN7>|UPMv<9d)liqUaIMiVeZ|YUd+CY-IF8>~K zzhRaAS`H?-=QM1i=Tu6{1-oD!M<5AJP1 diff --git a/tests/snapshots/nanos/test_transaction_manifest/SCO.03-2-Testnet/00027.png b/tests/snapshots/nanos/test_transaction_manifest/SCO.03-2-Testnet/00027.png deleted file mode 100644 index 7f6ab5e6010052a6c826d8a33994eba6cf7bbeed..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 380 zcmV-?0fYXDP)uRr;yTsQ43OPlRlX!mA#zXLNU2R?VwJ6)EF1I*s6nq^p&4PTTOSmPEMbE{jtppwY z^J4|+t@vhuNa?L)$#$MM!@0Ht2hgw^YzuAo0F>?KHP7%21er<@_~X;u1W_f`a9 z&)8tifC~e#OpaQ*=)Jj^nQ=S=L>0_r)pnQRorNTQ`GlD2lQ9F#qKh$G{-E9;9g9Bp zfE@Dtsj?-U1BU#LN1Ji&^64|f)*teIloz|6`X;Q;MR{(?%&26>GZ0KlA3ha-t$MGen9TVB&nnB(jJ4&^4# zWONKb_gzr3Gs(+sexnw)^d*Pfuy|Q?$jC@;UbZxVusk67bIW0Fa<_CL_g{mSUx0j; zF&?OSC-*~r1ab{6X&C@&kx8JAwcflqcHI_)#xH7r4hT=AR0F1ym*!P8jH7Q7E|v$V zEJw9G0(LhyCMJC8f)_jw6IB!*gHps`+~D_zvwp&F8~^|S00000001!`p54y(O(ZlD P00000NkvXXu0mjf*6*8> diff --git a/tests/snapshots/nanos/test_transaction_manifest/SCO.03-3-Mainnet/00001.png b/tests/snapshots/nanos/test_transaction_manifest/SCO.03-3-Mainnet/00001.png deleted file mode 100644 index 2ab1484075defe1e2767c45b891fe0ae0287540c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 329 zcmV-P0k-~$P)0S{~z23```{@t_Mu4+u_VUSWH4fEc^?mpgDce^f z*)}3l1}=*wDtz?|Gd0fvHZRvHpQ9g;k?1-cpQ1n7^2YfL*^W{JG7pZxWon%qC zcJ<4i0UJ{1Zhb(W`Jl$7p=Io{LaaXnazNa(#-!t9@@3}k(U_%fd8UwPMpEw zlknIfBX<2IMONcQMnw6Bo?Hj}N?6&?kcsn-gJ1WJ2a#R8)7w{nTs|SzC_zy+8KN_J z3uvCX2W6LHWI8uJH6KfkMW*$c(@c0_S->P)8}rVo;-@YM%sqtDv_S(n=trAq9|+^y}`=ypW9DcBC$c!{H)l2G7o1hbse4r24M+p!tjkIV}#gV)rSUFmU}*+Hv5SH6|T{$(NbCdtc-?a4w?t06wH_ zF63bwHGqpRS&mHy&|$$HMpN-MS`WQ03f(-%88}SEhM{rfehMAz?|`UF0(bN{(gGjD zkT86}-c8rA0LLc&t9yv>SIkN#g~8FE%Dfp#Rsa~vfIN`LDkKcD&w$>E_F2}!z5!&3 zn9Qa4!f-FHDI}xuS6^fy6UGcs5(AtT$vSLDpQQ*1Lm)qdcRQ9L#b8QtURYRI2*ofJ z(LgSaLUT{5$n_n!a=xpVvWNQL*3S%myI(iDU0u$IEG$E#nD&C5PDf*2!OGB?4yiz{ zSxx0&$_C&Yr-PTrZ4P;5Y~+>yX2Df6*DNMZ5PRJC&w_qR#022T04z|?sA*Iy^Xt79}*L^%bP%H=ye z{iDe1@#t1|Nz|7~Gp5xXF}D04wk_!9OxCAA*RJ+V`L?b`tgj&b!k0yL24`b7b)?D0 z=wzSyTlvOIVoSgp{l3lr1WR`AbiXh`&O;=~HqZ2GNb%#uxz80ipEh4GUG%RkOJ(^T zw(Vc*8S7>)dR_A2UG&<(mernnUPv-C>|ggxpZ$x_-V2F6)6En9*|6GPY&e*4Ai*TT fKnmzL5O`q!ru~c#lM-bQ3)z4*}Q$iB}QcHTs diff --git a/tests/snapshots/nanos/test_transaction_manifest/SCO.03-3-Mainnet/00005.png b/tests/snapshots/nanos/test_transaction_manifest/SCO.03-3-Mainnet/00005.png deleted file mode 100644 index 33c200427ac3d0d3f3ab4ea790c51fc62c8bfda3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 502 zcmVx(( zBxtnco-1As2%(S6GX%mfY#_yc-Zr}8CNeP|Th(<95)XJnP%dJaGya&-0IZ6UC$4b_ zX7j_z>5&Dcn~RCX!u8YY;Q?ug0MDsSylSv(Kr^~88IHslg{|s$ z2oH!cj^j9Lj;7IR_#Tr)<;)nMI(K@3m*W^#@Db6dE;3J+ugp_1C~WO7vu_w zJDt2C>y=V0umGBim>#7ZzVGB9Fyr5a4jw?(8_WfYRR{9?56^mw z#Rhx`Gim4|8_01Sr;xT%#4PG++Kvs(C2L|iq?S=>sFPuVi&zE!DF54Y0YG9NwhTTu sdoBRLq9!v7KLaMSa~kR;0ms>%FSeF&S#}xF6aWAK07*qoM6N<$g8R4K{{R30 diff --git a/tests/snapshots/nanos/test_transaction_manifest/SCO.03-3-Mainnet/00006.png b/tests/snapshots/nanos/test_transaction_manifest/SCO.03-3-Mainnet/00006.png deleted file mode 100644 index 9c1f1495de7ee705df0ed7857666aab1c043fc7d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 643 zcmV-}0(||6P)d)Ju3w%#_QKxVjPL^?0$01 zZD4|$i@NdyI3WKVkl)S%GM00N`*E{Leh>BDgn2i91{WW>h@Bb^-DnaimEj%H)I}yu zce%t0;1b$_c|gvRTo1Y=voL2WA{Pw!?O%D7}5Zs}BGxT}#YDnK9T|4Nq4=WNNMiEhV4U4}kbuXoI_3&>nJbD!U9# zZ{K4QG}j_GPs_}9fXK^d2<>xY&H?-=Z=H6WcYsXm72QWhje5U4| z@InhbC~|G2I)E(vyPag)L%J9>m|752!vP<6Q!X~(gG2ryLv9IAZ(Qokc|cf~N#=B9 zo&!ch2;LxZSTiBXV3c|A-O?t_HT-!F*h7dAI0rC&`3QJ&pj8wVi6moqq%m4y#wS4R d4#ABL8-Ir)bZY{n%RT@A002ovPDHLkV1ij|91H*e diff --git a/tests/snapshots/nanos/test_transaction_manifest/SCO.03-3-Mainnet/00007.png b/tests/snapshots/nanos/test_transaction_manifest/SCO.03-3-Mainnet/00007.png deleted file mode 100644 index 09f6db4d924aa4d374d4b8ee72216d4c12256d4e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 670 zcmV;P0%84$P))uDD$rMQi;!Q>#gM{sY1+} znG>BUnpG=Q{LF*W>dv4tf$IY>yQkg^;spzDBdssP0Ul3p50e& z7zP$NYf+b2hFy&tYx@>qH_X!G3f?5xQbbb`!rw{O}C+1Nx<0(U-yeE@tZ}5h$ z7`O-E#lXiBkI?(xE5~i0fV5k1wZN04tuBCfgDrpECM!?teGs;71F!SZny!|(^AXNw z*F7B374!lO-T+q>M`-JO0PU$0AfIO6ekHgCD0Mmh5YE1OE2#9e<5Tb+*QNEJB$-+B z>ItYbp8{?H3QdS?H+Tf9jlnbtZ07^WFe89xV`Ia`5AZZ&8xm)m)&Kwi07*qoM6N<$ Ef@zWdwpgC@oZxlfS>-f8yHH zB33*KuRZlYS~}^V@f(=y0&KSS_=vBL+@H_t_RI^d*q-hkwsBXiP~xLoTdU=hqC(8_ zOoid1S-C>oKXV~irU!)zoF9N9a|K7YCud5wD5bnlfETton9@e_=2H3F^B{0~yqjpW zJU(_T)xF{rw=!2)t`GDSElAG9DyR)fCJ&G{F!@0n08}%g^!mIK;BojgF^<}EEv{Qr zutpqo^&FV;83@)1`R9cE_E$j0@?7Elc*I+-2j=i$?v2Y}%TsY$ZzDy=8qT&LLMxG% zA7*y3S%@{?F5#Vy95M>b`~<8sQwow8_5@*BMQ-MsvaqIVK)(ZUnbDTaVQ70RT|}@` zcWR#T=H^g-IU&GJt>R)o4s*hQ#ewGa5SZwFWa!@J-5OG18$4GmIROyqzqzlo1=8I@$j-W7sGXpSWN=lk$G{olEPxCdUa^yN-Qn@qcc>WX}?==&*w`l8F zC&RI{+EpLFUb32p(Q()R#&+g_H}cRVd5HC+SEn(CmmCQ<$)IQ$&Qy-D=th3(RmNZhkyzB@Dl^DbPND)C(jwcZnbW%^3bcHWd-PD2Q~xXfzFuBnZV4mI_-ueV$p@3S^hi9Q1cGJ zaY@;I8;r+VSNTp{V)Rp3844;tois{KKr3K6SxFD1DW-JRRYOU_I506WF)@)6tfqmQ zcm>qRhE*pAVqg_SRw+$t`F|*xyB&shEC!wf@WsIXmcKt>_|s=%O2=beFO8jpvkzjR z?%dIIW(IAwP$aZ7YR9uD;0TU{>hM%k!p}|svnIrKbROg8DUaDsqVcm6zyM#{`81<( r_5?5&=%pWHRU0yd^Uh#m;!L~%T^l%67qS2u00000NkvXXu0mjfIi?Z< diff --git a/tests/snapshots/nanos/test_transaction_manifest/SCO.03-3-Mainnet/00010.png b/tests/snapshots/nanos/test_transaction_manifest/SCO.03-3-Mainnet/00010.png deleted file mode 100644 index a131269eac0fcac07544a572823b6de38ed32260..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 676 zcmV;V0$crwP)sm5pUrQ3G8lL}3*Hy=Ru~7+s%kSwKPgUY{p@LdCAM{zDUsMQS^> z@jFW~pq>RQ9kl}(+N5kq>XV3rMF*N0WqQy&YB*ys67Y!5Kl!{@F>cFZ`ox1ec+K!M z)sG4{)A&(YPDs|rG%faVh)&7{8@fK_tXEx$JCHhbn$k)?1m}f3j)}YvTyUxD?k1L2 zW(OX-Fq943X*y;f$oK=#Yym!JWqGwTGCQvGPbVbyyv=Or&I@$>gdNG05yDSxpIE$=w=|Q73A>)^g%tivCz*fUNbgUR)f-Y<6)m zMW2P-9ngJj;MM|&5#EI*7`vM#qOvPL#^p!C0p{Tq(55q7t$d#2JHZye|5!g z-mbb$CdhP&Z(gc=C!l-DoAO6-4e3}+OiWDN0)H#wm#?DmD z0B{8{Q=@8q(f};qC5n_Ip2ZwK<{9ehPcTQPHIl4Lz{4*T_)Z7#Ti{(4Q{{Hkk(e@D z7ht5DKtOXM3XcQE7VCO3*MV%J>_Kp2iFZK?daIvO_wg3Za(&s-$~@Td*B982KFM%= zOWWWUJ44S<{OeCEw=hptJ<@Fgng$3;@)G8s)LIU6KTS+bNc;c@!9CsukEPTA0000< KMNUMnLSTa2sWm|h{qEs3I}G{rCz!;m^Q$;9$QZd)6%|Fi`5pYxBb@0Re=MUv6E z^%O@5Q<*m$xfdkGRB0hVb)orY^s8GlrT9Ecw^x`82=xEk>rHQxI7G(_S$TR$=~J3N znsfu>-3y;I2WhDql5!;CU>SQzy=4`uLk-Uu3F?iMRROPP< zL)CmGq(-)hSq{^(#N(tc@`4w-z2>`7xgK|xgk_>m2;w7P z3aeclsL47O_+g=vU#KFRNZmTEhVN}dt;5bV70!e&5prqcx%9)YvhYa+M}SPnLnR}a z4JEk^jm|>up#pj8uyV15g@r#3?kECGh`as$(b%>b+a5Ak0*YiShOLPwRgF!e*nE6n zq*;`1juJJ=!aNK!AR*5x5^Q9G2H4`p3VA^9TPqK&XXonBalc1nVwPu1<6>I%JU}Xe zYaB}W^a3cVY*u|7?5b7O*slE~i+K+kh!Mc#2O%piw0k*+jN;TfE6u|p+{E+h95#IEmlA5`- ziZa3o^MpNfPNi5?*bq=Pk$f`FwJRC2xF4h2)2#~_$iKJe$zEfk7_I-1!p$NjPf5Of zk_pta6IU98q%`W1G7_<~)F-4)S%Ye*;f%p(zzSvl8P9vwhkHuunRrk;uj-zv`B`qL zk`M2TjL2HE4AU4YwU0yfpkA<{+q0eZn#+D?nULDD#m}Z13+IJAj*0OzaKUA+yPH^B zp8a_CPfFHoKae{S0mLAg0UoHJNSd?g;NF7#Gyivk%~_ z8ozUK&2q*LfUo$aB-t>qDq)u%@RfQ2bjg(4KGySCSXfy24mev868JUUh*?E{pvvzy zMVJxQ3iCE2wcQHvJm+hAQj%#c@HDyvx|P8IoUfq3v6D4DwiVOhvcg0#CU9#^GzBeo z9LBA1^G=Nw$w4x~GB}d(phe6YG%yeW1?oTWyk(231kh;YnOZm24&f0}NUuuvjC|<|d4#%;G+}qC*?R@TV2_n@x$V?;j+Lkz6Bs;syXo1r zJ!G|!;`!M8ZTRJ4t#SUHycJU8g)X1=Y1G!9aheIqwp)zGn4haOI*N@U=G%HcsH}r1 zLbhBro9&2@%@aB*(h$t+<#EEQvEvU}t(?JLXZzgvf~dblx&I)sH1JG*4+C<%CwS_F z<49It<$t4+(YM}KC!WEAD#}c0wpyc%l2sLwaoS19<(gOSz^>eOPqT|myb7eKF_hgQ zT@rWW25UN;(2&^VngTH8+s=TdCt<5m?-uCB56>@<(Dso3IXJ;_C+wn}lzh~NfK3RO z790x_hIkCGumHm=Kuf^T#v+Hj@FG#K!Zy)o)PV&+>rHBgadg`_JlE>)B1D+8Sn%^@ zb-?g`K%y7@EU*B`qcTyH%OQB%0PNr4UTK7lKe--dy<;&kF){I87^PtGis{~_U5Ttt zw30h*f7fG zls`ZKHqk7kYb2T*oBRs9A?en`18;27jV9!q=xgH4Mhd3(oZt$ub-?<&vN?j)09`Yq zV)xeRgj*3qkZwN|Uu6Q|(ky)Y{eo7+Gyjf|z$4B80q8aiz~+RZM&81bgvh{ic=bZZ~y=R07*qoM6N<$f~@UYLI3~& diff --git a/tests/snapshots/nanos/test_transaction_manifest/SCO.03-3-Mainnet/00014.png b/tests/snapshots/nanos/test_transaction_manifest/SCO.03-3-Mainnet/00014.png deleted file mode 100644 index 8829fa90bb11df808c78717b9c1e23a1b79fa679..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 693 zcmV;m0!safP)pwa^9LN?ZNWt+NvP(U zA;+KM;IP7;J}0S76&7Sr&D%m-L_qF!%6_(PPdAq#p#I*T7kQ0{Ln!^g2RBA?J-PD7 zl&S#j9cXC`T&1i_8fR8)q&p;bX^rAhGtM8#(6BX}JpSb49+|k8BJPO?)Okhs6vdBn zLs9wIy6`jCF!N&?1EGDK)Ja}rLAPhy>lIi1P7}e|s>JVx8Vy%N9%n~>4_t7G>#nBF zR(ro5{flt)_e*z7KO^D~JhK({IjiQ;&2U-N%;ND!3$r-B?g4Hf*L#2`PdH?HdjkF^ zVt##RxL%ltEi#FxHlZ-BF#kr@e; zt%Iuw!DX3n-T~DYG6j&X<8+4wAf{>H`9tib);TrzY(PF+rX>7TrxkxcEaWUIA@XU9YRh3Z@^DgbZ>xW z?`Yf8A;@ri{^l#!h_5{j4~X}~j7Oe}wy`B#`B+$3Son1q`5yjaGbX;3|3VPQ@J5Y9 zY;oxc>aUFy?TR2=MWA{h6J5myaItVzjd}yFzpG;LhlkyLQiE&Vs5|3TaJ4G>* z(-YS}VJYwoMV`Q!R0w?kH8qTY!J;AaRv)t~ng@iV8=uI(|BI2&$cHl!zt?04Z9sRW z@VW&^-d)Pr>T7x$bqJ6F#+^FHp#3{7=fER;JVm-0)CrMVI zoNc(%7_dsUE-Az;IapeVoZ<$_P!rdPl=lFidWKENVFdgpVt)O} zbUpDL7B>a<7cfHpNs=VS@9?ZzKfMLkt|ZqXsw9sah&1J2`T=+;5oQ_H=+`9@R>V;D7uDN6zg5Lmv z>W|M$?GHG^#5BbDgyb(b+n802l7Da-fP0}F3ivoI2h^!gUiBrvfPSwO&TFXUg6O^B z;blS<<)~zdYWh|ai?OhOq;5}4OicWD9Q+p!EKMn9HS)D>ILJM{*8s-ZPWYbZXt})# zzdB41ke|1VFKFQNknW$xjR4De+0V4ao54dE(g5}ck5>P4?uYpl(HTQV04}85w@!q5 fFw649#24TVoKM;8%3M%P00000NkvXXu0mjfSYs29 diff --git a/tests/snapshots/nanos/test_transaction_manifest/SCO.03-3-Mainnet/00016.png b/tests/snapshots/nanos/test_transaction_manifest/SCO.03-3-Mainnet/00016.png deleted file mode 100644 index c4c85af7fe3839d76049890821018b1c9ec25f03..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 430 zcmV;f0a5;mP)6HUUZM?A;jN#*b01SUzonXd&6e=7!|wpKZ(hhi{i3OC7I;12;Y8&0RaAr zQ2a(BoyPN#-9nTept!^A4CNI zY-!>GV>I-H`Z}p?s@@xrj8?k=wwdicnW+TZ)%y5~lOoQV?_eHrVNE`2?n*%;ni06| zj_BM$7?v-)!{A(?}9Dt?7e>#je+UhU%F>Mhj}BN;D+})59rO9x8hUg zvF`pwmUJU9aR=_XbJ%^8PsMo=dsFgnuF?x(JRqwkS&ZDF3n)#Nvr${m73Jm=>pcVsMiN*$wHsXZb z(r7^l5d_%A3RqZJSeOQ^6v09Fjz3KLdIwe-lE-)P$!W{uQ52<|fQRXtjR9C@C~SMD zjfzzl5CKN7T?Gkv!EJugxeEfRX}%bn?k*l9NlQ_W>OV diff --git a/tests/snapshots/nanos/test_transaction_manifest/SCO.03-3-Mainnet/00018.png b/tests/snapshots/nanos/test_transaction_manifest/SCO.03-3-Mainnet/00018.png deleted file mode 100644 index 798f9d1732694b519ca83145b036da2cb703b3ae..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 657 zcmV;C0&e|@P)qJ0KNk64y;yKvS(9SZESc(wDa-9kG7X@<~3d-~Ac~A+sEtxruG8 zq;F=sd`{PrK=E8wW1f%cc+BJrO@<;9E9cB{Mg$z;X#_F*E( z!py!!gyQRnCyL`ds$MA#>wQdO`&7q@IxS@5F~Yc~;LC-?f%bd<9%mn%A0<>`9Xp~3 zt1dZ5{ z22x*96_*h_`-7AgWV5&?p~koFVoe2DTs-MD0K9q9qDJFuD(l@H-|@&bxCEL8z)QA2@4e|4c&Wr-?DCNkg|i8e7Y zG4U|8OA(}^kl;yO4J%!WI94u31CRoP8dlXIKz#D(*AqTPp;dm6w}O1^+>~Dh2iUL^|yx0KRxZRoHa!jm3t*dGk5O*BJ+=7AS zIBo-8takE(6s~OycmYh0SVyg*xQaM}u_Lxk}dDZ+tXJ$0WBk=Pf|q$n`3ChO`S rBZ_9&QKg-Y4jn@JGHoU%CQSSQsWD4t4_xbk00000NkvXXu0mjfWeO;8 diff --git a/tests/snapshots/nanos/test_transaction_manifest/SCO.03-3-Mainnet/00019.png b/tests/snapshots/nanos/test_transaction_manifest/SCO.03-3-Mainnet/00019.png deleted file mode 100644 index f57787e65b42409037137ffb02715cb3732d582d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 650 zcmV;50(Jd~P)4{~z2%yKqJ$uN)w;-rk()LL(e74??g@squc5-+Qq_-ZHl6Lv(dJm>8rEu<7f@feb5-W-hK!J zpP0KYVIa37-YAdrs#;4K*88>-8*I~J?{6)8Y^ht4@l#Vzh8>Q|?Umf8Fw#-MN=J|( ztc})lr57sx^)QnkgAvP!J9f{&g5&%;kK+N^@$UoMvF+*gQ8WhT=X!cPdLQPE;AXI| zgM1>`bcT4+*W90&C2j;3ZpWNEhqW#8tFSX4TWjKHu%Lpx(jW#$KCO_6Mr6dQ29MO5 zjA32edpJ+6u917Uu`GF4Rf=5b z|3(_>{TPsuxji0jk%^J;r=dn3wzngRDW|f7dsxQy*+`~sC%qZ%#KgqJ{Q&O)B9PR$ zc~*$k7z~D{ik3cs2{E_JoxfraKnf4dv^`d$09CY45gMV_BI0}t&T~LL!bqN8*i7`! zkr;`wR`~ZdZJY?z_mdpk(E_XhQQ$58MMb1F$i;aLD&hi&^TrC3aQR7?I~S-i7$oE7 zre?HAi=%%ns294_Ap*Tjc7@nb^{Piz_&1*Av*Z=ps2JJ>%7PpQGE6gy*n(eeYkLR?`>ois77}lVJuHaJ z3M`8q!s5lT==VtQdakK8G#j$bF z3JlZ4y|1A-PmoC0^pF#N*?TA8VxFMis9zRH0IzhsXjCKtat0u3HGqeQ;iTaP?r=X7 zH8C+U@ljw@L}}f}6CX-0Y9V%t;M_w~)+RhMVKDoN>|lVpFdVZ@h+QCofoQ|vxrU1O z3S<~%F^fuh5`g>xi#`s;!FJp;34MS#USvvZZo6!1Zi8-rcXRE4oCp+i+5Ia}%$+&MpjIQ_y z;qgY_Aco3`NnQ|Np^#=y_lULjss4P|>s3^Z~gfTMXB3f%18W?GvAVwCQO!q@HZ1m8O)Aay7HC)Uew8RBhk8r?1Mk`;lvoeWf#&PCtzW zCXBXa7TDvAH}X@Csu;qw-tUV@^j%kbKjq}Ph35F@&#DFIv?C$1BYSo+Q)tD@C}=d~ zM9!3@eu({exbc638N)~lTXSO3Q@+lA6tES49s0sj>F;Mz8$xF+if6CGGE=!2aFEfD#s!)%jOOZYw9$0{kw^^#ycJ z|FVcBlouh&Qi3buy{@WDSA}D(rPjB|h)8y;2aL_u0nU4oM+X4$og* z69d9oc~+}VV0-D3wXhdxA!6kb8;nltlRDfrH`3_Q7Q*#daydM{mF#D4JoZV$Ilj~Y zbm_V51j!G8v+J)(+a^IPH5lq~FO6}48iP!v@W-noTy9VY z1~8=#ASvQI^OwUAc0hfl^29*=ho?*HfVXhHoXj%2Fd_>J3kwrLQxTx(s5>vY1dBGn zrN4D|W0?p+o$R$(J>{n%F9DzdKyhzLmOVJdW|ViN5ZV|ERRhGxG?eEORF)et7bwH@dRdAfg@EU& jYKxfbl1eNr{3HAV_0#cv`)$N600000NkvXXu0mjfy1gh5 diff --git a/tests/snapshots/nanos/test_transaction_manifest/SCO.03-3-Mainnet/00023.png b/tests/snapshots/nanos/test_transaction_manifest/SCO.03-3-Mainnet/00023.png deleted file mode 100644 index 5ebc566538c13f46cb76bcb35bd4c7f3819742a1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 648 zcmV;30(bq1P) zRs{x(Bl-5Ye9qm)Q_Hv(C=ro)Pah1Y^+Iw%XG4f(A*)(i#ugh68xvX# zR!aynV7C)Ly}0I&7*PQm_gDfO^4us&7g!wu>ID%1_YMGyF0b~$d{mX^#Uc`ir>Y&r zRWA(YDq5_8w&W^aRwFI>-Gc*8TbQo%ufi+-6;sGCK^4??<-z-mL@p&2hfEcqgk;U| zywN%V;&3e9DlKE-$Xf;@?ao8P<;>xyvwZ@pRA0;38dH*1V32q)7~V%vt^U(<-3O4M5PGDA|A7x3L2Ujv*Cu-p;(p*Q~(f+W6pq z{RaMb3ugxjtlGht`u)g^2rb>U+t_+JZ-!l-k(=s%^zEW2k9u=8ZoU=z%b8Y@c2PcP z_m(nM_ZLc)TfJS>zqh(fb}^nH#rg71&d-$TGo?S)KH;)F>%_^`9<Zn@c>HH%tb|K|aE84l`Ca9{Y>YqLk?M<7Vd)78&qol`;+ E0A^=~jQ{`u diff --git a/tests/snapshots/nanos/test_transaction_manifest/SCO.03-3-Mainnet/00025.png b/tests/snapshots/nanos/test_transaction_manifest/SCO.03-3-Mainnet/00025.png deleted file mode 100644 index 41b0ce2b951314b34dcb1c5718b6dca8e065af5e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 472 zcmV;}0Vn>6P)Nkla)G~QywM^fN;3q|GwUxTS_&2HWWQZ%2Hya&d^U(>U=3@ze~Y&NS$K`S)I8> z2K-N^Q!+QwzD~)Qy=Wu4#-uNN26S9ls!sn&!(v9fZxKPaTw9Q`F4`Ehp-G)Z4Xy2W z)(~jk?t!bx7|S(=(mulN783L$KN6i-tYc4BmFdX(@wNcoY-bt65f^7^uH>}|RS ztiQl!n*acwM3J8i1kKPeRVCxrv$5p!AElCHEmOmc-A{HL6@IzozlQuaevxF&iHuag zhN|4xZkt4H@GpPV_$v~5qd?WBI&eAz9(C$Ok1~^yswFcblj3;)I`w1)_+H&TigE^i zJ+h)F$scR%~2boL?tm1)*x;j8YSetjuZ zOlA**%bnJ+-A22_E?0a%9$wr(+uP&tajX7&)2*N0Yuf42+%s8SpW3UsUGgX8FbdA@w|{p8t;rRnH3X@qE6br60-V}tMSx!&-*6%5%ki@!l&X_$kBS%?&Q7JN z_t(By2~Dfzt5fJPHSQ%~K3YFt8{JKZ{3VVhUp$OZhxBSzT+2?ksTh0vEL67B_>waqJuzMQVV4v`VAsS4G;)2St#_}TU* zn$tg4I z1)#5~t~Zbh$m%sMD@}-DyTYx>0RR910000000000kof}qe>LcCF21+`0000EpLbPNSZ?Rk z{xAwJP%X(2P#5~@c{`szUR5CtDJ|%J%|CvB)#P${@*#i1T{Tp1s`Ki4XbMl}B$~`D z^*UF;=r^*AYNe{JAr zT#I< zS9X7B0cxPwlQCM;moqa)t=$k%o6&(4)bl=bm5>aFR#_ zV_T4j{(qL+1q~oiC}$!Mf9RT_p0){DOG#FhYjgtiRFhG00000000000001h9A8SATkiagEVBRr002ovPDHLkV1it}%}f9Q diff --git a/tests/snapshots/nanos/test_transaction_manifest/SCO.03-3-Mainnet/00030.png b/tests/snapshots/nanos/test_transaction_manifest/SCO.03-3-Mainnet/00030.png deleted file mode 100644 index 52b06db91d6825dc858bbdf6384330dc370de38e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 512 zcmV+b0{{JqP)9$&a>M-t;_CUjSRLmnRm1-JJSnjBBfqT5;Az=j8exhE~(DGeQFQ8IoM};WSmX* zXTS#F^dV?)U#3o=)n0#_vK<|VWpDgtq{GJXYddRSKOHVU$Tr`Az1ZBNmmss-PTl_@ z3gKfMhTlE{uJAZAU&aWzYkkOMG9mQX&a99afuhb`I}IV|DN7>|UPMv<9d)liqUaIMiVeZ|YUd+CY-IF8>~K zzhRaAS`H?-=QM1i=Tu6{1-oD!M<5AJP1 diff --git a/tests/snapshots/nanos/test_transaction_manifest/SCO.03-3-Mainnet/00032.png b/tests/snapshots/nanos/test_transaction_manifest/SCO.03-3-Mainnet/00032.png deleted file mode 100644 index 7f6ab5e6010052a6c826d8a33994eba6cf7bbeed..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 380 zcmV-?0fYXDP)uRr;yTsQ43OPlRlX!mA#zXLNU2R?VwJ6)EF1I*s6nq^p&4PTTOSmPEMbE{jtppwY z^J4|+t@vhuNa?L)$#$MM!@0Ht2hgw^YzuAo0F>?KHP7%21er<@_~X;u1W_f`a9 z&)8tifC~e#OpaQ*=)Jj^nQ=S=L>0_r)pnQRorNTQ`GlD2lQ9F#qKh$G{-E9;9g9Bp zfE@Dtsj?-U1BU#LN1Ji&^64|f)*teIloz|6`X;Q;MR{(?%&26>GZ0KlA3ha-t$MGen9TVB&nnB(jJ4&^4# zWONKb_gzr3Gs(+sexnw)^d*Pfuy|Q?$jC@;UbZxVusk67bIW0Fa<_CL_g{mSUx0j; zF&?OSC-*~r1ab{6X&C@&kx8JAwcflqcHI_)#xH7r4hT=AR0F1ym*!P8jH7Q7E|v$V zEJw9G0(LhyCMJC8f)_jw6IB!*gHps`+~D_zvwp&F8~^|S00000001!`p54y(O(ZlD P00000NkvXXu0mjf*6*8> diff --git a/tests/snapshots/nanos/test_transaction_manifest/SCO.03-3-Testnet/00001.png b/tests/snapshots/nanos/test_transaction_manifest/SCO.03-3-Testnet/00001.png deleted file mode 100644 index f2422205b6e1b91dbe0b798b0b95a8c4d2bf7e92..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 337 zcmeAS@N?(olHy`uVBq!ia0vp^4M42G!2~2j9iA64FfdAZx;TbZ%y~QGv{17Gk89(> z|Nj%j%N)B6A1=INcyMR>9SMUal?=VbQ*ukYa$f(7*|glYH*2!DjZbzg_r2+dqD{oN z-t2I^v$QU7LtBuE!tB}ZFZn$VWFXIURu0Aky+I2)#4eC-(I}c)&DWt)+)TG zGf`*B>G=Zr?dvs;CW!qp^4;apw^QyL<5vlvDU63Z=BmlHiC)%fjhEZ$+UC5p&g*>i z4u%HvM_YLnHq4d1y_7GU|3)M8%}b@HgIHCb#5g&i6|V3p%9DK|-FcelF{r5}E+5U5S_g diff --git a/tests/snapshots/nanos/test_transaction_manifest/SCO.03-3-Testnet/00002.png b/tests/snapshots/nanos/test_transaction_manifest/SCO.03-3-Testnet/00002.png deleted file mode 100644 index d9d217d6f0eeeea8903da9455f3b7d57f19e5ada..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 643 zcmV-}0(||6P)0S{~z23```{@t_Mu4+u_VUSWH4fEc^?mpgDce^f z*)}3l1}=*wDtz?|Gd0fvHZRvHpQ9g;k?1-cpQ1n7^2YfL*^W{JG7pZxWon%qC zcJ<4i0UJ{1Zhb(W`Jl$7p=Io{LaaXnazNa(#-!t9@@3}k(U_%fd8UwPMpEw zlknIfBX<2IMONcQMnw6Bo?Hj}N?6&?kcsn-gJ1WJ2a#R8)7w{nTs|SzC_zy+8KN_J z3uvCX2W6LHWI8uJH6KfkMW*$c(@c0_S->P)8}rVo;-@YM%sqtDv_S(n=trAq9|+^y}`=ypW9DcBC$c!{H)l2G7o1hbse4r24M+p!tjkIV}#gV)rSUFmU}*+Hv5SH6|T{$(NbCdtc-?a4w?t06wH_ zF63bwHGqpRS&mHy&|$$HMpN-MS`WQ03f(-%88}SEhM{rfehMAz?|`UF0(bN{(gGjD zkT86}-c8rA0LLc&t9yv>SIkN#g~8FE%Dfp#Rsa~vfIN`LDkKcD&w$>E_F2}!z5!&3 zn9Qa4!f-FHDI}xuS6^fy6UGcs5(AtT$vSLDpQQ*1Lm)qdcRQ9L#b8QtURYRI2*ofJ z(LgSaLUT{5$n_n!a=xpVvWNQL*3S%myI(iDU0u$IEG$E#nD&C5PDf*2!OGB?4yiz{ zSxx0&$_C&Yr-PTrZ4P;5Y~+>yX2Df6*DNMZ5PRJC&w_qR#022T04z|?sA*Iy^Xt79}*L^%bP%H=ye z{iDe1@#t1|Nz|7~Gp5xXF}D04wk_!9OxCAA*RJ+V`L?b`tgj&b!k0yL24`b7b)?D0 z=wzSyTlvOIVoSgp{l3lr1WR`AbiXh`&O;=~HqZ2GNb%#uxz80ipEh4GUG%RkOJ(^T zw(Vc*8S7>)dR_A2UG&<(mernnUPv-C>|ggxpZ$x_-V2F6)6En9*|6GPY&e*4Ai*TT fKnmzL5O`q!ru~c#lM-bQ3)z4*}Q$iB}QcHTs diff --git a/tests/snapshots/nanos/test_transaction_manifest/SCO.03-3-Testnet/00005.png b/tests/snapshots/nanos/test_transaction_manifest/SCO.03-3-Testnet/00005.png deleted file mode 100644 index 33c200427ac3d0d3f3ab4ea790c51fc62c8bfda3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 502 zcmVx(( zBxtnco-1As2%(S6GX%mfY#_yc-Zr}8CNeP|Th(<95)XJnP%dJaGya&-0IZ6UC$4b_ zX7j_z>5&Dcn~RCX!u8YY;Q?ug0MDsSylSv(Kr^~88IHslg{|s$ z2oH!cj^j9Lj;7IR_#Tr)<;)nMI(K@3m*W^#@Db6dE;3J+ugp_1C~WO7vu_w zJDt2C>y=V0umGBim>#7ZzVGB9Fyr5a4jw?(8_WfYRR{9?56^mw z#Rhx`Gim4|8_01Sr;xT%#4PG++Kvs(C2L|iq?S=>sFPuVi&zE!DF54Y0YG9NwhTTu sdoBRLq9!v7KLaMSa~kR;0ms>%FSeF&S#}xF6aWAK07*qoM6N<$g8R4K{{R30 diff --git a/tests/snapshots/nanos/test_transaction_manifest/SCO.03-3-Testnet/00006.png b/tests/snapshots/nanos/test_transaction_manifest/SCO.03-3-Testnet/00006.png deleted file mode 100644 index 9c1f1495de7ee705df0ed7857666aab1c043fc7d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 643 zcmV-}0(||6P)d)Ju3w%#_QKxVjPL^?0$01 zZD4|$i@NdyI3WKVkl)S%GM00N`*E{Leh>BDgn2i91{WW>h@Bb^-DnaimEj%H)I}yu zce%t0;1b$_c|gvRTo1Y=voL2WA{Pw!?O%D7}5Zs}BGxT}#YDnK9T|4Nq4=WNNMiEhV4U4}kbuXoI_3&>nJbD!U9# zZ{K4QG}j_GPs_}9fXK^d2<>xY&H?-=Z=H6WcYsXm72QWhje5U4| z@InhbC~|G2I)E(vyPag)L%J9>m|752!vP<6Q!X~(gG2ryLv9IAZ(Qokc|cf~N#=B9 zo&!ch2;LxZSTiBXV3c|A-O?t_HT-!F*h7dAI0rC&`3QJ&pj8wVi6moqq%m4y#wS4R d4#ABL8-Ir)bZY{n%RT@A002ovPDHLkV1ij|91H*e diff --git a/tests/snapshots/nanos/test_transaction_manifest/SCO.03-3-Testnet/00007.png b/tests/snapshots/nanos/test_transaction_manifest/SCO.03-3-Testnet/00007.png deleted file mode 100644 index 09f6db4d924aa4d374d4b8ee72216d4c12256d4e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 670 zcmV;P0%84$P))uDD$rMQi;!Q>#gM{sY1+} znG>BUnpG=Q{LF*W>dv4tf$IY>yQkg^;spzDBdssP0Ul3p50e& z7zP$NYf+b2hFy&tYx@>qH_X!G3f?5xQbbb`!rw{O}C+1Nx<0(U-yeE@tZ}5h$ z7`O-E#lXiBkI?(xE5~i0fV5k1wZN04tuBCfgDrpECM!?teGs;71F!SZny!|(^AXNw z*F7B374!lO-T+q>M`-JO0PU$0AfIO6ekHgCD0Mmh5YE1OE2#9e<5Tb+*QNEJB$-+B z>ItYbp8{?H3QdS?H+Tf9jlnbtZ07^WFe89xV`Ia`5AZZ&8xm)m)&Kwi07*qoM6N<$ Ef@zWdwpgC@oZxlfS>-f8yHH zB33*KuRZlYS~}^V@f(=y0&KSS_=vBL+@H_t_RI^d*q-hkwsBXiP~xLoTdU=hqC(8_ zOoid1S-C>oKXV~irU!)zoF9N9a|K7YCud5wD5bnlfETton9@e_=2H3F^B{0~yqjpW zJU(_T)xF{rw=!2)t`GDSElAG9DyR)fCJ&G{F!@0n08}%g^!mIK;BojgF^<}EEv{Qr zutpqo^&FV;83@)1`R9cE_E$j0@?7Elc*I+-2j=i$?v2Y}%TsY$ZzDy=8qT&LLMxG% zA7*y3S%@{?F5#Vy95M>b`~<8sQwow8_5@*BMQ-MsvaqIVK)(ZUnbDTaVQ70RT|}@` zcWR#T=H^g-IU&GJt>R)o4s*hQ#ewGa5SZwFWa!@J-5OG18$4GmIROyqzqzlo1=8I@$j-W7sGXpSWN=lk$G{olEPxCdUa^yN-Qn@qcc>WX}?==&*w`l8F zC&RI{+EpLFUb32p(Q()R#&+g_H}cRVd5HC+SEn(CmmCQ<$)IQ$&Qy-D=th3(RmNZhkyzB@Dl^DbPND)C(jwcZnbW%^3bcHWd-PD2Q~xXfzFuBnZV4mI_-ueV$p@3S^hi9Q1cGJ zaY@;I8;r+VSNTp{V)Rp3844;tois{KKr3K6SxFD1DW-JRRYOU_I506WF)@)6tfqmQ zcm>qRhE*pAVqg_SRw+$t`F|*xyB&shEC!wf@WsIXmcKt>_|s=%O2=beFO8jpvkzjR z?%dIIW(IAwP$aZ7YR9uD;0TU{>hM%k!p}|svnIrKbROg8DUaDsqVcm6zyM#{`81<( r_5?5&=%pWHRU0yd^Uh#m;!L~%T^l%67qS2u00000NkvXXu0mjfIi?Z< diff --git a/tests/snapshots/nanos/test_transaction_manifest/SCO.03-3-Testnet/00010.png b/tests/snapshots/nanos/test_transaction_manifest/SCO.03-3-Testnet/00010.png deleted file mode 100644 index a131269eac0fcac07544a572823b6de38ed32260..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 676 zcmV;V0$crwP)sm5pUrQ3G8lL}3*Hy=Ru~7+s%kSwKPgUY{p@LdCAM{zDUsMQS^> z@jFW~pq>RQ9kl}(+N5kq>XV3rMF*N0WqQy&YB*ys67Y!5Kl!{@F>cFZ`ox1ec+K!M z)sG4{)A&(YPDs|rG%faVh)&7{8@fK_tXEx$JCHhbn$k)?1m}f3j)}YvTyUxD?k1L2 zW(OX-Fq943X*y;f$oK=#Yym!JWqGwTGCQvGPbVbyyv=Or&I@$>gdNG05yDSxpIE$=w=|Q73A>)^g%tivCz*fUNbgUR)f-Y<6)m zMW2P-9ngJj;MM|&5#EI*7`vM#qOvPL#^p!C0p{Tq(55q7t$d#2JHZye|5!g z-mbb$CdhP&Z(gc=C!l-DoAO6-4e3}+OiWDN0)H#wm#?DmD z0B{8{Q=@8q(f};qC5n_Ip2ZwK<{9ehPcTQPHIl4Lz{4*T_)Z7#Ti{(4Q{{Hkk(e@D z7ht5DKtOXM3XcQE7VCO3*MV%J>_Kp2iFZK?daIvO_wg3Za(&s-$~@Td*B982KFM%= zOWWWUJ44S<{OeCEw=hptJ<@Fgng$3;@)G8s)LIU6KTS+bNc;c@!9CsukEPTA0000< KMNUMnLSTa2sWm|h{qEs3I}G{rCz!;m^Q$;9$QZd)6%|Fi`5pYxBb@0Re=MUv6E z^%O@5Q<*m$xfdkGRB0hVb)orY^s8GlrT9Ecw^x`82=xEk>rHQxI7G(_S$TR$=~J3N znsfu>-3y;I2WhDql5!;CU>SQzy=4`uLk-Uu3F?iMRROPP< zL)CmGq(-)hSq{^(#N(tc@`4w-z2>`7xgK|xgk_>m2;w7P z3aeclsL47O_+g=vU#KFRNZmTEhVN}dt;5bV70!e&5prqcx%9)YvhYa+M}SPnLnR}a z4JEk^jm|>up#pj8uyV15g@r#3?kECGh`as$(b%>b+a5Ak0*YiShOLPwRgF!e*nE6n zq*;`1juJJ=!aNK!AR*5x5^Q9G2H4`p3VA^9TPqK&XXonBalc1nVwPu1<6>I%JU}Xe zYaB}W^a3cVY*u|7?5b7O*slE~i+K+kh!Mc#2O%piw0k*+jN;TfE6u|p+{E+h95#IEmlA5`- ziZa3o^MpNfPNi5?*bq=Pk$f`FwJRC2xF4h2)2#~_$iKJe$zEfk7_I-1!p$NjPf5Of zk_pta6IU98q%`W1G7_<~)F-4)S%Ye*;f%p(zzSvl8P9vwhkHuunRrk;uj-zv`B`qL zk`M2TjL2HE4AU4YwU0yfpkA<{+q0eZn#+D?nULDD#m}Z13+IJAj*0OzaKUA+yPH^B zp8a_CPfFHoKae{S0mLAg0UoHJNSd?g;NF7#Gyivk%~_ z8ozUK&2q*LfUo$aB-t>qDq)u%@RfQ2bjg(4KGySCSXfy24mev868JUUh*?E{pvvzy zMVJxQ3iCE2wcQHvJm+hAQj%#c@HDyvx|P8IoUfq3v6D4DwiVOhvcg0#CU9#^GzBeo z9LBA1^G=Nw$w4x~GB}d(phe6YG%yeW1?oTWyk(231kh;YnOZm24&f0}NUuuvjC|<|d4#%;G+}qC*?R@TV2_n@x$V?;j+Lkz6Bs;syXo1r zJ!G|!;`!M8ZTRJ4t#SUHycJU8g)X1=Y1G!9aheIqwp)zGn4haOI*N@U=G%HcsH}r1 zLbhBro9&2@%@aB*(h$t+<#EEQvEvU}t(?JLXZzgvf~dblx&I)sH1JG*4+C<%CwS_F z<49It<$t4+(YM}KC!WEAD#}c0wpyc%l2sLwaoS19<(gOSz^>eOPqT|myb7eKF_hgQ zT@rWW25UN;(2&^VngTH8+s=TdCt<5m?-uCB56>@<(Dso3IXJ;_C+wn}lzh~NfK3RO z790x_hIkCGumHm=Kuf^T#v+Hj@FG#K!Zy)o)PV&+>rHBgadg`_JlE>)B1D+8Sn%^@ zb-?g`K%y7@EU*B`qcTyH%OQB%0PNr4UTK7lKe--dy<;&kF){I87^PtGis{~_U5Ttt zw30h*f7fG zls`ZKHqk7kYb2T*oBRs9A?en`18;27jV9!q=xgH4Mhd3(oZt$ub-?<&vN?j)09`Yq zV)xeRgj*3qkZwN|Uu6Q|(ky)Y{eo7+Gyjf|z$4B80q8aiz~+RZM&81bgvh{ic=bZZ~y=R07*qoM6N<$f~@UYLI3~& diff --git a/tests/snapshots/nanos/test_transaction_manifest/SCO.03-3-Testnet/00014.png b/tests/snapshots/nanos/test_transaction_manifest/SCO.03-3-Testnet/00014.png deleted file mode 100644 index 8829fa90bb11df808c78717b9c1e23a1b79fa679..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 693 zcmV;m0!safP)pwa^9LN?ZNWt+NvP(U zA;+KM;IP7;J}0S76&7Sr&D%m-L_qF!%6_(PPdAq#p#I*T7kQ0{Ln!^g2RBA?J-PD7 zl&S#j9cXC`T&1i_8fR8)q&p;bX^rAhGtM8#(6BX}JpSb49+|k8BJPO?)Okhs6vdBn zLs9wIy6`jCF!N&?1EGDK)Ja}rLAPhy>lIi1P7}e|s>JVx8Vy%N9%n~>4_t7G>#nBF zR(ro5{flt)_e*z7KO^D~JhK({IjiQ;&2U-N%;ND!3$r-B?g4Hf*L#2`PdH?HdjkF^ zVt##RxL%ltEi#FxHlZ-BF#kr@e; zt%Iuw!DX3n-T~DYG6j&X<8+4wAf{>H`9tib);TrzY(PF+rX>7TrxkxcEaWUIA@XU9YRh3Z@^DgbZ>xW z?`Yf8A;@ri{^l#!h_5{j4~X}~j7Oe}wy`B#`B+$3Son1q`5yjaGbX;3|3VPQ@J5Y9 zY;oxc>aUFy?TR2=MWA{h6J5myaItVzjd}yFzpG;LhlkyLQiE&Vs5|3TaJ4G>* z(-YS}VJYwoMV`Q!R0w?kH8qTY!J;AaRv)t~ng@iV8=uI(|BI2&$cHl!zt?04Z9sRW z@VW&^-d)Pr>T7x$bqJ6F#+^FHp#3{7=fER;JVm-0)CrMVI zoNc(%7_dsUE-Az;IapeVoZ<$_P!rdPl=lFidWKENVFdgpVt)O} zbUpDL7B>a<7cfHpNs=VS@9?ZzKfMLkt|ZqXsw9sah&1J2`T=+;5oQ_H=+`9@R>V;D7uDN6zg5Lmv z>W|M$?GHG^#5BbDgyb(b+n802l7Da-fP0}F3ivoI2h^!gUiBrvfPSwO&TFXUg6O^B z;blS<<)~zdYWh|ai?OhOq;5}4OicWD9Q+p!EKMn9HS)D>ILJM{*8s-ZPWYbZXt})# zzdB41ke|1VFKFQNknW$xjR4De+0V4ao54dE(g5}ck5>P4?uYpl(HTQV04}85w@!q5 fFw649#24TVoKM;8%3M%P00000NkvXXu0mjfSYs29 diff --git a/tests/snapshots/nanos/test_transaction_manifest/SCO.03-3-Testnet/00016.png b/tests/snapshots/nanos/test_transaction_manifest/SCO.03-3-Testnet/00016.png deleted file mode 100644 index c4c85af7fe3839d76049890821018b1c9ec25f03..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 430 zcmV;f0a5;mP)6HUUZM?A;jN#*b01SUzonXd&6e=7!|wpKZ(hhi{i3OC7I;12;Y8&0RaAr zQ2a(BoyPN#-9nTept!^A4CNI zY-!>GV>I-H`Z}p?s@@xrj8?k=wwdicnW+TZ)%y5~lOoQV?_eHrVNE`2?n*%;ni06| zj_BM$7?v-)!{A(?}9Dt?7e>#je+UhU%F>Mhj}BN;D+})59rO9x8hUg zvF`pwmUJU9aR=_XbJ%^8PsMo=dsFgnuF?x(JRqwkS&ZDF3n)#Nvr${m73Jm=>pcVsMiN*$wHsXZb z(r7^l5d_%A3RqZJSeOQ^6v09Fjz3KLdIwe-lE-)P$!W{uQ52<|fQRXtjR9C@C~SMD zjfzzl5CKN7T?Gkv!EJugxeEfRX}%bn?k*l9NlQ_W>OV diff --git a/tests/snapshots/nanos/test_transaction_manifest/SCO.03-3-Testnet/00018.png b/tests/snapshots/nanos/test_transaction_manifest/SCO.03-3-Testnet/00018.png deleted file mode 100644 index 798f9d1732694b519ca83145b036da2cb703b3ae..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 657 zcmV;C0&e|@P)qJ0KNk64y;yKvS(9SZESc(wDa-9kG7X@<~3d-~Ac~A+sEtxruG8 zq;F=sd`{PrK=E8wW1f%cc+BJrO@<;9E9cB{Mg$z;X#_F*E( z!py!!gyQRnCyL`ds$MA#>wQdO`&7q@IxS@5F~Yc~;LC-?f%bd<9%mn%A0<>`9Xp~3 zt1dZ5{ z22x*96_*h_`-7AgWV5&?p~koFVoe2DTs-MD0K9q9qDJFuD(l@H-|@&bxCEL8z)QA2@4e|4c&Wr-?DCNkg|i8e7Y zG4U|8OA(}^kl;yO4J%!WI94u31CRoP8dlXIKz#D(*AqTPp;dm6w}O1^+>~Dh2iUL^|yx0KRxZRoHa!jm3t*dGk5O*BJ+=7AS zIBo-8takE(6s~OycmYh0SVyg*xQaM}u_Lxk}dDZ+tXJ$0WBk=Pf|q$n`3ChO`S rBZ_9&QKg-Y4jn@JGHoU%CQSSQsWD4t4_xbk00000NkvXXu0mjfWeO;8 diff --git a/tests/snapshots/nanos/test_transaction_manifest/SCO.03-3-Testnet/00019.png b/tests/snapshots/nanos/test_transaction_manifest/SCO.03-3-Testnet/00019.png deleted file mode 100644 index f57787e65b42409037137ffb02715cb3732d582d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 650 zcmV;50(Jd~P)4{~z2%yKqJ$uN)w;-rk()LL(e74??g@squc5-+Qq_-ZHl6Lv(dJm>8rEu<7f@feb5-W-hK!J zpP0KYVIa37-YAdrs#;4K*88>-8*I~J?{6)8Y^ht4@l#Vzh8>Q|?Umf8Fw#-MN=J|( ztc})lr57sx^)QnkgAvP!J9f{&g5&%;kK+N^@$UoMvF+*gQ8WhT=X!cPdLQPE;AXI| zgM1>`bcT4+*W90&C2j;3ZpWNEhqW#8tFSX4TWjKHu%Lpx(jW#$KCO_6Mr6dQ29MO5 zjA32edpJ+6u917Uu`GF4Rf=5b z|3(_>{TPsuxji0jk%^J;r=dn3wzngRDW|f7dsxQy*+`~sC%qZ%#KgqJ{Q&O)B9PR$ zc~*$k7z~D{ik3cs2{E_JoxfraKnf4dv^`d$09CY45gMV_BI0}t&T~LL!bqN8*i7`! zkr;`wR`~ZdZJY?z_mdpk(E_XhQQ$58MMb1F$i;aLD&hi&^TrC3aQR7?I~S-i7$oE7 zre?HAi=%%ns294_Ap*Tjc7@nb^{Piz_&1*Av*Z=ps2JJ>%7PpQGE6gy*n(eeYkLR?`>ois77}lVJuHaJ z3M`8q!s5lT==VtQdakK8G#j$bF z3JlZ4y|1A-PmoC0^pF#N*?TA8VxFMis9zRH0IzhsXjCKtat0u3HGqeQ;iTaP?r=X7 zH8C+U@ljw@L}}f}6CX-0Y9V%t;M_w~)+RhMVKDoN>|lVpFdVZ@h+QCofoQ|vxrU1O z3S<~%F^fuh5`g>xi#`s;!FJp;34MS#USvvZZo6!1Zi8-rcXRE4oCp+i+5Ia}%$+&MpjIQ_y z;qgY_Aco3`NnQ|Np^#=y_lULjss4P|>s3^Z~gfTMXB3f%18W?GvAVwCQO!q@HZ1m8O)Aay7HC)Uew8RBhk8r?1Mk`;lvoeWf#&PCtzW zCXBXa7TDvAH}X@Csu;qw-tUV@^j%kbKjq}Ph35F@&#DFIv?C$1BYSo+Q)tD@C}=d~ zM9!3@eu({exbc638N)~lTXSO3Q@+lA6tES49s0sj>F;Mz8$xF+if6CGGE=!2aFEfD#s!)%jOOZYw9$0{kw^^#ycJ z|FVcBlouh&Qi3buy{@WDSA}D(rPjB|h)8y;2aL_u0nU4oM+X4$og* z69d9oc~+}VV0-D3wXhdxA!6kb8;nltlRDfrH`3_Q7Q*#daydM{mF#D4JoZV$Ilj~Y zbm_V51j!G8v+J)(+a^IPH5lq~FO6}48iP!v@W-noTy9VY z1~8=#ASvQI^OwUAc0hfl^29*=ho?*HfVXhHoXj%2Fd_>J3kwrLQxTx(s5>vY1dBGn zrN4D|W0?p+o$R$(J>{n%F9DzdKyhzLmOVJdW|ViN5ZV|ERRhGxG?eEORF)et7bwH@dRdAfg@EU& jYKxfbl1eNr{3HAV_0#cv`)$N600000NkvXXu0mjfy1gh5 diff --git a/tests/snapshots/nanos/test_transaction_manifest/SCO.03-3-Testnet/00023.png b/tests/snapshots/nanos/test_transaction_manifest/SCO.03-3-Testnet/00023.png deleted file mode 100644 index 5ebc566538c13f46cb76bcb35bd4c7f3819742a1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 648 zcmV;30(bq1P) zRs{x(Bl-5Ye9qm)Q_Hv(C=ro)Pah1Y^+Iw%XG4f(A*)(i#ugh68xvX# zR!aynV7C)Ly}0I&7*PQm_gDfO^4us&7g!wu>ID%1_YMGyF0b~$d{mX^#Uc`ir>Y&r zRWA(YDq5_8w&W^aRwFI>-Gc*8TbQo%ufi+-6;sGCK^4??<-z-mL@p&2hfEcqgk;U| zywN%V;&3e9DlKE-$Xf;@?ao8P<;>xyvwZ@pRA0;38dH*1V32q)7~V%vt^U(<-3O4M5PGDA|A7x3L2Ujv*Cu-p;(p*Q~(f+W6pq z{RaMb3ugxjtlGht`u)g^2rb>U+t_+JZ-!l-k(=s%^zEW2k9u=8ZoU=z%b8Y@c2PcP z_m(nM_ZLc)TfJS>zqh(fb}^nH#rg71&d-$TGo?S)KH;)F>%_^`9<Zn@c>HH%tb|K|aE84l`Ca9{Y>YqLk?M<7Vd)78&qol`;+ E0A^=~jQ{`u diff --git a/tests/snapshots/nanos/test_transaction_manifest/SCO.03-3-Testnet/00025.png b/tests/snapshots/nanos/test_transaction_manifest/SCO.03-3-Testnet/00025.png deleted file mode 100644 index 7a7c2869b2dd625819cffe6211e5ab5dc7e04cf3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 471 zcmV;|0Vw{7P);ww!SGvj$f6k&N!K}ubmW732sb%q97 z8~3cC(7YWNmcJJuw$9hp*2{Fe{~oIl!uF5LmnkcQSS_1~l3WKZKN49t(t|2*EDLk* zGknAP4Q##%A>%~LsGklC%~94scR%~2boL?tm1)*x;j8YSetjuZ zOlA**%bnJ+-A22_E?0a%9$wr(+uP&tajX7&)2*N0Yuf42+%s8SpW3UsUGgX8FbdA@w|{p8t;rRnH3X@qE6br60-V}tMSx!&-*6%5%ki@!l&X_$kBS%?&Q7JN z_t(By2~Dfzt5fJPHSQ%~K3YFt8{JKZ{3VVhUp$OZhxBS@X#CG5GfHdlc5Ws|xvpj%*4yF)UutWtGO;QX&jEN8GnQI(Mha;XNkG40_ zqMp9_?#i{Jm}zgWd2l;c**-J4rqUS?f8WIiOg@vmdE`ycXSieHZcMrfA>>G19HFR}^G#%Tdu`YQP!G3iZ&YF?>Lwi&1p~W{dV0YI zVkd}4eqPFh2hJ*@fUlkcy1#(lEe>jOU<37~xQ#OaEJ2nh80g9XH8(|rR2M4>Wa_&H zo}HVdcF`UHuw2xu3YMbz+UjSxZzA%qY@2qA=!f8z!AfH&5QbvV7)o3Uit4j#z%4STr(ii|JnE!L6__1ZrVGQxY^n!14tcb>%M8z+@)Xx zvk>%$+!yIv5Wj$_N1Uz<@JtTP9JnHqF)_>z-<9$&a>M-t;_CUjSRLmnRm1-JJSnjBBfqT5;Az=j8exhE~(DGeQFQ8IoM};WSmX* zXTS#F^dV?)U#3o=)n0#_vK<|VWpDgtq{GJXYddRSKOHVU$Tr`Az1ZBNmmss-PTl_@ z3gKfMhTlE{uJAZAU&aWzYkkOMG9mQX&a99afuhb`I}IV|DN7>|UPMv<9d)liqUaIMiVeZ|YUd+CY-IF8>~K zzhRaAS`H?-=QM1i=Tu6{1-oD!M<5AJP1 diff --git a/tests/snapshots/nanos/test_transaction_manifest/SCO.03-3-Testnet/00032.png b/tests/snapshots/nanos/test_transaction_manifest/SCO.03-3-Testnet/00032.png deleted file mode 100644 index 7f6ab5e6010052a6c826d8a33994eba6cf7bbeed..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 380 zcmV-?0fYXDP)uRr;yTsQ43OPlRlX!mA#zXLNU2R?VwJ6)EF1I*s6nq^p&4PTTOSmPEMbE{jtppwY z^J4|+t@vhuNa?L)$#$MM!@0Ht2hgw^YzuAo0F>?KHP7%21er<@_~X;u1W_f`a9 z&)8tifC~e#OpaQ*=)Jj^nQ=S=L>0_r)pnQRorNTQ`GlD2lQ9F#qKh$G{-E9;9g9Bp zfE@Dtsj?-U1BU#LN1Ji&^64|f)*teIloz|6`X;Q;MR{(?%&26>GZ0KlA3ha-t$MGen9TVB&nnB(jJ4&^4# zWONKb_gzr3Gs(+sexnw)^d*Pfuy|Q?$jC@;UbZxVusk67bIW0Fa<_CL_g{mSUx0j; zF&?OSC-*~r1ab{6X&C@&kx8JAwcflqcHI_)#xH7r4hT=AR0F1ym*!P8jH7Q7E|v$V zEJw9G0(LhyCMJC8f)_jw6IB!*gHps`+~D_zvwp&F8~^|S00000001!`p54y(O(ZlD P00000NkvXXu0mjf*6*8> diff --git a/tests/snapshots/nanos/test_transaction_manifest/SCO.03-4-Mainnet/00001.png b/tests/snapshots/nanos/test_transaction_manifest/SCO.03-4-Mainnet/00001.png deleted file mode 100644 index 2ab1484075defe1e2767c45b891fe0ae0287540c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 329 zcmV-P0k-~$P)0S{~z23```{@t_Mu4+u_VUSWH4fEc^?mpgDce^f z*)}3l1}=*wDtz?|Gd0fvHZRvHpQ9g;k?1-cpQ1n7^2YfL*^W{JG7pZxWon%qC zcJ<4i0UJ{1Zhb(W`Jl$7p=Io{LaaXnazNa(#-!t9@@3}k(U_%fd8UwPMpEw zlknIfBX<2IMONcQMnw6Bo?Hj}N?6&?kcsn-gJ1WJ2a#R8)7w{nTs|SzC_zy+8KN_J z3uvCX2W6LHWI8uJH6KfkMW*$c(@c0_S->P)8}rVo;-@YM%sqtDv_S(n=trAq9|+^y}`=ypW9DcBC$c!{H)l2G7o1hbse4r24M+p!tjkIV}#gV)rSUFmU}*+Hv5SH6|T{$(NbCdtc-?a4w?t06wH_ zF63bwHGqpRS&mHy&|$$HMpN-MS`WQ03f(-%88}SEhM{rfehMAz?|`UF0(bN{(gGjD zkT86}-c8rA0LLc&t9yv>SIkN#g~8FE%Dfp#Rsa~vfIN`LDkKcD&w$>E_F2}!z5!&3 zn9Qa4!f-FHDI}xuS6^fy6UGcs5(AtT$vSLDpQQ*1Lm)qdcRQ9L#b8QtURYRI2*ofJ z(LgSaLUT{5$n_n!a=xpVvWNQL*3S%myI(iDU0u$IEG$E#nD&C5PDf*2!OGB?4yiz{ zSxx0&$_C&Yr-PTrZ4P;5Y~+>yX2Df6*DNMZ5PRJC&w_qR#022T04z|?sA*Iy^Xt79}*L^%bP%H=ye z{iDe1@#t1|Nz|7~Gp5xXF}D04wk_!9OxCAA*RJ+V`L?b`tgj&b!k0yL24`b7b)?D0 z=wzSyTlvOIVoSgp{l3lr1WR`AbiXh`&O;=~HqZ2GNb%#uxz80ipEh4GUG%RkOJ(^T zw(Vc*8S7>)dR_A2UG&<(mernnUPv-C>|ggxpZ$x_-V2F6)6En9*|6GPY&e*4Ai*TT fKnmzL5O`q!ru~c#lM-bQ3)z4*}Q$iB}QcHTs diff --git a/tests/snapshots/nanos/test_transaction_manifest/SCO.03-4-Mainnet/00005.png b/tests/snapshots/nanos/test_transaction_manifest/SCO.03-4-Mainnet/00005.png deleted file mode 100644 index 33c200427ac3d0d3f3ab4ea790c51fc62c8bfda3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 502 zcmVx(( zBxtnco-1As2%(S6GX%mfY#_yc-Zr}8CNeP|Th(<95)XJnP%dJaGya&-0IZ6UC$4b_ zX7j_z>5&Dcn~RCX!u8YY;Q?ug0MDsSylSv(Kr^~88IHslg{|s$ z2oH!cj^j9Lj;7IR_#Tr)<;)nMI(K@3m*W^#@Db6dE;3J+ugp_1C~WO7vu_w zJDt2C>y=V0umGBim>#7ZzVGB9Fyr5a4jw?(8_WfYRR{9?56^mw z#Rhx`Gim4|8_01Sr;xT%#4PG++Kvs(C2L|iq?S=>sFPuVi&zE!DF54Y0YG9NwhTTu sdoBRLq9!v7KLaMSa~kR;0ms>%FSeF&S#}xF6aWAK07*qoM6N<$g8R4K{{R30 diff --git a/tests/snapshots/nanos/test_transaction_manifest/SCO.03-4-Mainnet/00006.png b/tests/snapshots/nanos/test_transaction_manifest/SCO.03-4-Mainnet/00006.png deleted file mode 100644 index 9c1f1495de7ee705df0ed7857666aab1c043fc7d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 643 zcmV-}0(||6P)d)Ju3w%#_QKxVjPL^?0$01 zZD4|$i@NdyI3WKVkl)S%GM00N`*E{Leh>BDgn2i91{WW>h@Bb^-DnaimEj%H)I}yu zce%t0;1b$_c|gvRTo1Y=voL2WA{Pw!?O%D7}5Zs}BGxT}#YDnK9T|4Nq4=WNNMiEhV4U4}kbuXoI_3&>nJbD!U9# zZ{K4QG}j_GPs_}9fXK^d2<>xY&H?-=Z=H6WcYsXm72QWhje5U4| z@InhbC~|G2I)E(vyPag)L%J9>m|752!vP<6Q!X~(gG2ryLv9IAZ(Qokc|cf~N#=B9 zo&!ch2;LxZSTiBXV3c|A-O?t_HT-!F*h7dAI0rC&`3QJ&pj8wVi6moqq%m4y#wS4R d4#ABL8-Ir)bZY{n%RT@A002ovPDHLkV1ij|91H*e diff --git a/tests/snapshots/nanos/test_transaction_manifest/SCO.03-4-Mainnet/00007.png b/tests/snapshots/nanos/test_transaction_manifest/SCO.03-4-Mainnet/00007.png deleted file mode 100644 index 09f6db4d924aa4d374d4b8ee72216d4c12256d4e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 670 zcmV;P0%84$P))uDD$rMQi;!Q>#gM{sY1+} znG>BUnpG=Q{LF*W>dv4tf$IY>yQkg^;spzDBdssP0Ul3p50e& z7zP$NYf+b2hFy&tYx@>qH_X!G3f?5xQbbb`!rw{O}C+1Nx<0(U-yeE@tZ}5h$ z7`O-E#lXiBkI?(xE5~i0fV5k1wZN04tuBCfgDrpECM!?teGs;71F!SZny!|(^AXNw z*F7B374!lO-T+q>M`-JO0PU$0AfIO6ekHgCD0Mmh5YE1OE2#9e<5Tb+*QNEJB$-+B z>ItYbp8{?H3QdS?H+Tf9jlnbtZ07^WFe89xV`Ia`5AZZ&8xm)m)&Kwi07*qoM6N<$ Ef@zWdwpgC@oZxlfS>-f8yHH zB33*KuRZlYS~}^V@f(=y0&KSS_=vBL+@H_t_RI^d*q-hkwsBXiP~xLoTdU=hqC(8_ zOoid1S-C>oKXV~irU!)zoF9N9a|K7YCud5wD5bnlfETton9@e_=2H3F^B{0~yqjpW zJU(_T)xF{rw=!2)t`GDSElAG9DyR)fCJ&G{F!@0n08}%g^!mIK;BojgF^<}EEv{Qr zutpqo^&FV;83@)1`R9cE_E$j0@?7Elc*I+-2j=i$?v2Y}%TsY$ZzDy=8qT&LLMxG% zA7*y3S%@{?F5#Vy95M>b`~<8sQwow8_5@*BMQ-MsvaqIVK)(ZUnbDTaVQ70RT|}@` zcWR#T=H^g-IU&GJt>R)o4s*hQ#ewGa5SZwFWa!@J-5OG18$4GmIROyqzqzlo1=8I@$j-W7sGXpSWN=lk$G{olEPxCdUa^yN-Qn@qcc>WX}?==&*w`l8F zC&RI{+EpLFUb32p(Q()R#&+g_H}cRVd5HC+SEn(CmmCQ<$)IQ$&Qy-D=th3(RmNZhkyzB@Dl^DbPND)C(jwcZnbW%^3bcHWd-PD2Q~xXfzFuBnZV4mI_-ueV$p@3S^hi9Q1cGJ zaY@;I8;r+VSNTp{V)Rp3844;tois{KKr3K6SxFD1DW-JRRYOU_I506WF)@)6tfqmQ zcm>qRhE*pAVqg_SRw+$t`F|*xyB&shEC!wf@WsIXmcKt>_|s=%O2=beFO8jpvkzjR z?%dIIW(IAwP$aZ7YR9uD;0TU{>hM%k!p}|svnIrKbROg8DUaDsqVcm6zyM#{`81<( r_5?5&=%pWHRU0yd^Uh#m;!L~%T^l%67qS2u00000NkvXXu0mjfIi?Z< diff --git a/tests/snapshots/nanos/test_transaction_manifest/SCO.03-4-Mainnet/00010.png b/tests/snapshots/nanos/test_transaction_manifest/SCO.03-4-Mainnet/00010.png deleted file mode 100644 index a131269eac0fcac07544a572823b6de38ed32260..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 676 zcmV;V0$crwP)sm5pUrQ3G8lL}3*Hy=Ru~7+s%kSwKPgUY{p@LdCAM{zDUsMQS^> z@jFW~pq>RQ9kl}(+N5kq>XV3rMF*N0WqQy&YB*ys67Y!5Kl!{@F>cFZ`ox1ec+K!M z)sG4{)A&(YPDs|rG%faVh)&7{8@fK_tXEx$JCHhbn$k)?1m}f3j)}YvTyUxD?k1L2 zW(OX-Fq943X*y;f$oK=#Yym!JWqGwTGCQvGPbVbyyv=Or&I@$>gdNG05yDSxpIE$=w=|Q73A>)^g%tivCz*fUNbgUR)f-Y<6)m zMW2P-9ngJj;MM|&5#EI*7`vM#qOvPL#^p!C0p{Tq(55q7t$d#2JHZye|5!g z-mbb$CdhP&Z(gc=C!l-DoAO6-4e3}+OiWDN0)H#wm#?DmD z0B{8{Q=@8q(f};qC5n_Ip2ZwK<{9ehPcTQPHIl4Lz{4*T_)Z7#Ti{(4Q{{Hkk(e@D z7ht5DKtOXM3XcQE7VCO3*MV%J>_Kp2iFZK?daIvO_wg3Za(&s-$~@Td*B982KFM%= zOWWWUJ44S<{OeCEw=hptJ<@Fgng$3;@)G8s)LIU6KTS+bNc;c@!9CsukEPTA0000< KMNUMnLSTa2sWm|h{qEs3I}G{rCz!;m^Q$;9$QZd)6%|Fi`5pYxBb@0Re=MUv6E z^%O@5Q<*m$xfdkGRB0hVb)orY^s8GlrT9Ecw^x`82=xEk>rHQxI7G(_S$TR$=~J3N znsfu>-3y;I2WhDql5!;CU>SQzy=4`uLk-Uu3F?iMRROPP< zL)CmGq(-)hSq{^(#N(tc@`4w-z2>`7xgK|xgk_>m2;w7P z3aeclsL47O_+g=vU#KFRNZmTEhVN}dt;5bV70!e&5prqcx%9)YvhYa+M}SPnLnR}a z4JEk^jm|>up#pj8uyV15g@r#3?kECGh`as$(b%>b+a5Ak0*YiShOLPwRgF!e*nE6n zq*;`1juJJ=!aNK!AR*5x5^Q9G2H4`p3VA^9TPqK&XXonBalc1nVwPu1<6>I%JU}Xe zYaB}W^a3cVY*u|7?5b7O*slE~i+K+kh!Mc#2O%piw0k*+jN;TfE6u|p+{E+h95#IEmlA5`- ziZa3o^MpNfPNi5?*bq=Pk$f`FwJRC2xF4h2)2#~_$iKJe$zEfk7_I-1!p$NjPf5Of zk_pta6IU98q%`W1G7_<~)F-4)S%Ye*;f%p(zzSvl8P9vwhkHuunRrk;uj-zv`B`qL zk`M2TjL2HE4AU4YwU0yfpkA<{+q0eZn#+D?nULDD#m}Z13+IJAj*0OzaKUA+yPH^B zp8a_CPfFHoKae{S0mLAg0UoHJNSd?g;NF7#Gyivk%~_ z8ozUK&2q*LfUo$aB-t>qDq)u%@RfQ2bjg(4KGySCSXfy24mev868JUUh*?E{pvvzy zMVJxQ3iCE2wcQHvJm+hAQj%#c@HDyvx|P8IoUfq3v6D4DwiVOhvcg0#CU9#^GzBeo z9LBA1^G=Nw$w4x~GB}d(phe6YG%yeW1?oTWyk(231kh;YnOZm24&f0}NUuuvjC|<|d4#%;G+}qC*?R@TV2_n@x$V?;j+Lkz6Bs;syXo1r zJ!G|!;`!M8ZTRJ4t#SUHycJU8g)X1=Y1G!9aheIqwp)zGn4haOI*N@U=G%HcsH}r1 zLbhBro9&2@%@aB*(h$t+<#EEQvEvU}t(?JLXZzgvf~dblx&I)sH1JG*4+C<%CwS_F z<49It<$t4+(YM}KC!WEAD#}c0wpyc%l2sLwaoS19<(gOSz^>eOPqT|myb7eKF_hgQ zT@rWW25UN;(2&^VngTH8+s=TdCt<5m?-uCB56>@<(Dso3IXJ;_C+wn}lzh~NfK3RO z790x_hIkCGumHm=Kuf^T#v+Hj@FG#K!Zy)o)PV&+>rHBgadg`_JlE>)B1D+8Sn%^@ zb-?g`K%y7@EU*B`qcTyH%OQB%0PNr4UTK7lKe--dy<;&kF){I87^PtGis{~_U5Ttt zw30h*f7fG zls`ZKHqk7kYb2T*oBRs9A?en`18;27jV9!q=xgH4Mhd3(oZt$ub-?<&vN?j)09`Yq zV)xeRgj*3qkZwN|Uu6Q|(ky)Y{eo7+Gyjf|z$4B80q8aiz~+RZM&81bgvh{ic=bZZ~y=R07*qoM6N<$f~@UYLI3~& diff --git a/tests/snapshots/nanos/test_transaction_manifest/SCO.03-4-Mainnet/00014.png b/tests/snapshots/nanos/test_transaction_manifest/SCO.03-4-Mainnet/00014.png deleted file mode 100644 index 8829fa90bb11df808c78717b9c1e23a1b79fa679..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 693 zcmV;m0!safP)pwa^9LN?ZNWt+NvP(U zA;+KM;IP7;J}0S76&7Sr&D%m-L_qF!%6_(PPdAq#p#I*T7kQ0{Ln!^g2RBA?J-PD7 zl&S#j9cXC`T&1i_8fR8)q&p;bX^rAhGtM8#(6BX}JpSb49+|k8BJPO?)Okhs6vdBn zLs9wIy6`jCF!N&?1EGDK)Ja}rLAPhy>lIi1P7}e|s>JVx8Vy%N9%n~>4_t7G>#nBF zR(ro5{flt)_e*z7KO^D~JhK({IjiQ;&2U-N%;ND!3$r-B?g4Hf*L#2`PdH?HdjkF^ zVt##RxL%ltEi#FxHlZ-BF#kr@e; zt%Iuw!DX3n-T~DYG6j&X<8+4wAf{>H`9tib);TrzY(PF+rX>7TrxkxcEaWUIA@XU9YRh3Z@^DgbZ>xW z?`Yf8A;@ri{^l#!h_5{j4~X}~j7Oe}wy`B#`B+$3Son1q`5yjaGbX;3|3VPQ@J5Y9 zY;oxc>aUFy?TR2=MWA{h6J5myaItVzjd}yFzpG;LhlkyLQiE&Vs5|3TaJ4G>* z(-YS}VJYwoMV`Q!R0w?kH8qTY!J;AaRv)t~ng@iV8=uI(|BI2&$cHl!zt?04Z9sRW z@VW&^-d)Pr>T7x$bqJ6F#+^FHp#3{7=fER;JVm-0)CrMVI zoNc(%7_dsUE-Az;IapeVoZ<$_P!rdPl=lFidWKENVFdgpVt)O} zbUpDL7B>a<7cfHpNs=VS@9?ZzKfMLkt|ZqXsw9sah&1J2`T=+;5oQ_H=+`9@R>V;D7uDN6zg5Lmv z>W|M$?GHG^#5BbDgyb(b+n802l7Da-fP0}F3ivoI2h^!gUiBrvfPSwO&TFXUg6O^B z;blS<<)~zdYWh|ai?OhOq;5}4OicWD9Q+p!EKMn9HS)D>ILJM{*8s-ZPWYbZXt})# zzdB41ke|1VFKFQNknW$xjR4De+0V4ao54dE(g5}ck5>P4?uYpl(HTQV04}85w@!q5 fFw649#24TVoKM;8%3M%P00000NkvXXu0mjfSYs29 diff --git a/tests/snapshots/nanos/test_transaction_manifest/SCO.03-4-Mainnet/00016.png b/tests/snapshots/nanos/test_transaction_manifest/SCO.03-4-Mainnet/00016.png deleted file mode 100644 index c4c85af7fe3839d76049890821018b1c9ec25f03..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 430 zcmV;f0a5;mP)6HUUZM?A;jN#*b01SUzonXd&6e=7!|wpKZ(hhi{i3OC7I;12;Y8&0RaAr zQ2a(BoyPN#-9nTept!^A4CNI zY-!>GV>I-H`Z}p?s@@xrj8?k=wwdicnW+TZ)%y5~lOoQV?_eHrVNE`2?n*%;ni06| zj_BM$7?v-)!{A(?}9Dt?7e>#je+UhU%F>Mhj}BN;D+})59rO9x8hUg zvF`pwmUJU9aR=_XbJ%^8PsMo=dsFgnuF?x(JRqwkS&ZDF3n)#Nvr${m73Jm=>pcVsMiN*$wHsXZb z(r7^l5d_%A3RqZJSeOQ^6v09Fjz3KLdIwe-lE-)P$!W{uQ52<|fQRXtjR9C@C~SMD zjfzzl5CKN7T?Gkv!EJugxeEfRX}%bn?k*l9NlQ_W>OV diff --git a/tests/snapshots/nanos/test_transaction_manifest/SCO.03-4-Mainnet/00018.png b/tests/snapshots/nanos/test_transaction_manifest/SCO.03-4-Mainnet/00018.png deleted file mode 100644 index 798f9d1732694b519ca83145b036da2cb703b3ae..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 657 zcmV;C0&e|@P)qJ0KNk64y;yKvS(9SZESc(wDa-9kG7X@<~3d-~Ac~A+sEtxruG8 zq;F=sd`{PrK=E8wW1f%cc+BJrO@<;9E9cB{Mg$z;X#_F*E( z!py!!gyQRnCyL`ds$MA#>wQdO`&7q@IxS@5F~Yc~;LC-?f%bd<9%mn%A0<>`9Xp~3 zt1dZ5{ z22x*96_*h_`-7AgWV5&?p~koFVoe2DTs-MD0K9q9qDJFuD(l@H-|@&bxCEL8z)QA2@4e|4c&Wr-?DCNkg|i8e7Y zG4U|8OA(}^kl;yO4J%!WI94u31CRoP8dlXIKz#D(*AqTPp;dm6w}O1^+>~Dh2iUL^|yx0KRxZRoHa!jm3t*dGk5O*BJ+=7AS zIBo-8takE(6s~OycmYh0SVyg*xQaM}u_Lxk}dDZ+tXJ$0WBk=Pf|q$n`3ChO`S rBZ_9&QKg-Y4jn@JGHoU%CQSSQsWD4t4_xbk00000NkvXXu0mjfWeO;8 diff --git a/tests/snapshots/nanos/test_transaction_manifest/SCO.03-4-Mainnet/00019.png b/tests/snapshots/nanos/test_transaction_manifest/SCO.03-4-Mainnet/00019.png deleted file mode 100644 index f57787e65b42409037137ffb02715cb3732d582d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 650 zcmV;50(Jd~P)4{~z2%yKqJ$uN)w;-rk()LL(e74??g@squc5-+Qq_-ZHl6Lv(dJm>8rEu<7f@feb5-W-hK!J zpP0KYVIa37-YAdrs#;4K*88>-8*I~J?{6)8Y^ht4@l#Vzh8>Q|?Umf8Fw#-MN=J|( ztc})lr57sx^)QnkgAvP!J9f{&g5&%;kK+N^@$UoMvF+*gQ8WhT=X!cPdLQPE;AXI| zgM1>`bcT4+*W90&C2j;3ZpWNEhqW#8tFSX4TWjKHu%Lpx(jW#$KCO_6Mr6dQ29MO5 zjA32edpJ+6u917Uu`GF4Rf=5b z|3(_>{TPsuxji0jk%^J;r=dn3wzngRDW|f7dsxQy*+`~sC%qZ%#KgqJ{Q&O)B9PR$ zc~*$k7z~D{ik3cs2{E_JoxfraKnf4dv^`d$09CY45gMV_BI0}t&T~LL!bqN8*i7`! zkr;`wR`~ZdZJY?z_mdpk(E_XhQQ$58MMb1F$i;aLD&hi&^TrC3aQR7?I~S-i7$oE7 zre?HAi=%%ns294_Ap*Tjc7@nb^{Piz_&1*Av*Z=ps2JJ>%7PpQGE6gy*n(eeYkLR?`>ois77}lVJuHaJ z3M`8q!s5lT==VtQdakK8G#j$bF z3JlZ4y|1A-PmoC0^pF#N*?TA8VxFMis9zRH0IzhsXjCKtat0u3HGqeQ;iTaP?r=X7 zH8C+U@ljw@L}}f}6CX-0Y9V%t;M_w~)+RhMVKDoN>|lVpFdVZ@h+QCofoQ|vxrU1O z3S<~%F^fuh5`g>xi#`s;!FJp;34MS#USvvZZo6!1Zi8-rcXRE4oCp+i+5Ia}%$+&MpjIQ_y z;qgY_Aco3`NnQ|Np^#=y_lULjss4P|>s3^Z~gfTMXB3f%18W?GvAVwCQO!q@HZ1m8O)Aay7HC)Uew8RBhk8r?1Mk`;lvoeWf#&PCtzW zCXBXa7TDvAH}X@Csu;qw-tUV@^j%kbKjq}Ph35F@&#DFIv?C$1BYSo+Q)tD@C}=d~ zM9!3@eu({exbc638N)~lTXSO3Q@+lA6tES49s0sj>F;Mz8$xF+if6CGGE=!2aFEfD#s!)%jOOZYw9$0{kw^^#ycJ z|FVcBlouh&A@|iXd5I*(v*2Q*hY*7EH*ipLh-nl%dN!lxVLMY1oT49V#2B< zUbibcZ#%QoY1b};6O^P@q@H5bAQkASnk9va3|wtzV|&j?`d#;EPs6bfI_s{_AHu)` zv)0vmZ3rtGZo4Bok5ZQPzAfVXxno6~7V1OFu&xz&xPTzCukAjsJ~=;fh{8rYBG5Ei zg|0)hK=`lCP5vFM2tY1u$jkEww~ODBj#l7K2(N-I>?{>K`t5tav=MM(^*YQSf*Z{` z4n{YEfmyLrGIw5mw}6;~z`&ij=g#5kn|vz7!xva<<704vth!(^VyDX=G(We#)Zo_$ zMa$78!Di!TB0sGt=3rvOOBF5NisySfAz?4bIAJVH;mQ-u5Sm5cSinO(PH1>R z=9Vx5@?Z@!wxM-Y*4yOblOz;#M=o2&=|f4DEExeD-Q1dA`sWgYY|~qTVf+QuWPmHt z*uc?;I3c$*o*;w>0&H^yY;0_7ECZH`;GlcQZzg@d12YZD?rm(A6>wjPF@sD_n!=IggEv|A;R>VpB@S&F+r?0000bpQpl2Wr^naLNL3`Hi&Zb4#d1U07m30=<^nfGCJ_kA*1^}PR>2(n}5 zvQ>n5Q(b`bsCuU~t@bgA{ns5U>a>uJWrTTO!FLxD1?|uAcbt82ew0v&St}yAipT5g~#a@ZlF8Rz^dclp?b*b{)+FCIG7>W58Tii4l z2dS^9ipvb1<3UOb(rut7!DPpp3b43%(rW-{dD5arsmTf2)=D@>z%vqUVPRq6 zVX#XPq@s}ENnH&qi&Sx1xfl&V3JhvkRfhoa$)n#$_!I@J{2*TiDKW>Tt#R>dI&&E} zqk|4&_$~#6vfeL(Qdp~Cf7xBnl$wR$9ECW&0~Jyq@Q^P6AqK#bS;f zE>Yd~mLyhNCg@?#FCD&3@j)62&QDtna4RAUi+Z2?z;XV40K^0 zx*bD)sxH81RPCiqd;7W*6}oBm?bng|4E14-k!1dq)RSq4qH%lg{!d}1ql^{YE7PBD z3R{(St&Bp$zn^CEb1)-}sADcG*9W(WPnRC&jc&)k4|K=sUG_!a{_U4D0xD+j!*meb z430SP7J`UyC)0T{Hm}}oL5x8la0k}hIqbH`uR^bUbghM-!G;RbP6L}9>9Rr=S|`JH zHE5=mWEAV{-a~m>b&1@&jb)*PUUzE85A>!?OkKHfF^{DZFmw+9=YRNlZ8*Y--v4Nx z36SD9b~2*M+*=EtiX%=i3&@rkhAL=RKx`k=amTKaQR7?Iv40MC?xaN zrew5m!7;uUGzvrd5P`Sc?FzA}8r6?#@NYgzCVQyU;F$pP7YR~hSz$0$5Ry#sNB86k jvqizmTv~=MEc^i83fK;T1o=;n00000NkvXXu0mjf{J1Fv diff --git a/tests/snapshots/nanos/test_transaction_manifest/SCO.03-4-Mainnet/00025.png b/tests/snapshots/nanos/test_transaction_manifest/SCO.03-4-Mainnet/00025.png deleted file mode 100644 index 077d53118631015eca2a2b979b159b0b888e5356..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 678 zcmV;X0$KfuP)Bm^ieMdJM`F}z>Lr%Oo+9JC79V@+8j zm3O44mQ|rSk6bLr8-Nk3ED0bgybUACD)2Z)muFBSqpA8%W{|e3%0x?Dz|?g2Ei6xI z>f>tln+4mayI1t;Z;ZPfnWSMC7~YYxqaiF`kG}_Fup5^Z%cfP{B?$W^8TT()0T9C1 zL&snY&e%iRDwh^AwM)s_Ng=D&V2Rd-O?2;J4yPE+pO# zN4g*`Ei^B82sbZ|#lA;^>p3G9NCv!J8mowrO0`o>H=U8=0$|l>usWEaDVBfn<8_Ql z>yl}wNH-zweGTRN1c~jMk>-S-_uc`xxKA*y)Xz%6a|SSCEs%!?FcO%- z8_e@gOiWDN5?m{y^zP${4<%P?A$E%Jy@xI@Zg^y(dA-vOhAb_7>jD^tRWzr_1_mRI zgXbFByjL(}as(u@g!jiR3w(xdxnEhrU(BLho&YdEV9Cc}lUOgh)gfpKuY|a426CDn zXtvbX9|Ji@Q?C_a2J!h40EtOiUnr0JUv8fkK2kr~m)} M07*qoM6N<$g1wqBpa1{> diff --git a/tests/snapshots/nanos/test_transaction_manifest/SCO.03-4-Mainnet/00026.png b/tests/snapshots/nanos/test_transaction_manifest/SCO.03-4-Mainnet/00026.png deleted file mode 100644 index aeb524744eca86d7ea30753437e7ed5f07c759d8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 413 zcmV;O0b>4%P)6QBUyvwt0#OS4N)+a1W zl6~u{E#>5t)hafPk~TZmp88B1O&J~KW=>&E3%hD{?;c6(zH=$H^kTwWM^~=<6Z~-F0*Hsf2z5{g_#3tb zc9FGyD*H=uA@{lv<^a~8}o9AL5zegwy|%G;_=>YZ!L$%`}N-^0liSOTwpyU z*_KtEm(1*R%KGJSf+3j=sizz@NCi6TW|M)b3^H0~<9nY8>ACIwDoy7;=#2e8e+Yw2 z%-+_zYeQJkao-(@^Js0^-S>ky;k#DvKASXXi8a+s_HJ_8ksx6o?0O0-1690$3~fBa zs6EY@|8w96cGkXr7R^D#c|29GUWa8NxESO#%^&`c#)8!kkcn9X?R{YF@|2}1eDa^W|$`lVJOLnm}+V0;(kYcCYwAs#1mydZN+ z8j0}W7%H}*eN^_#67efdsA@+c+l22||bU3RGGJ1K1l>D+GP!RSEdzPzpZP2!{QALa63Pj9H$$@;fHFf9 z+dHdOPF+9(aB6)OB;f_O`NH5X2&AU@;%vHyc$_3{BYBE=r%8jP{EK!wppbx{)Dt|- zPTK@6B58y?P8a~{4q}ssmr#&MPfbX8$k|o$RA?T*>W!FOFuxc6iv$dj9KEp^BO^fl zJj9U}nz1^mJcy{kS~&*J`z){*p+ULkv9a+V@d5rXPhRMhDFOfh002ovPDHLkV1j&j BFLVF^ diff --git a/tests/snapshots/nanos/test_transaction_manifest/SCO.03-4-Mainnet/00028.png b/tests/snapshots/nanos/test_transaction_manifest/SCO.03-4-Mainnet/00028.png deleted file mode 100644 index e2128ac9fb27e5aeb6e5a420d74ed9f17a753bf5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 653 zcmV;80&@L{P)~+RaC- zP?BxyN0wVo+Vl&=Bq^B<>rB4TWGFIGaSIYtBd9UeE_6L(WPUEIyY|Us&FB2bM39A9 z+BOm5Lv;f_XVsC?vbT>(WZ=~5+s~HVhuoQBv6h-(?}E#YL`C~({tsa#Q6&o*A#oLE zZ8^1Z7OMEil_ow0E2fbowrHumZ4LO$^>aOFcKqi66U$G7=eIAt{dCQMjMe+FG?JS^ znFm7$L7!*CWbV3p^Im%s920lqnLCD~@A6;aJ0LxCmELgUbzdsxz@Cz_{$h)p2IC<0 z6;*Lr!E-)HX+gS8)FhbfSW^KO7f*T*03%OY)M$K-)Y^lU&P}q|<7aV|=S(mas@4KF z4#mfI2PNRp$X2SQ%g2Um1^{EceAF{I$%-V&gPhrc6eGt_FwKF5hb1}SYp`m;B-PaE zvxNDM#KfY<+ym~^10Z#RlNxZq5XkbK(?gU017s_{K%dEf`o0*B!u{ z-A;ZWg=-rN27q}Z)>W%1t|kuNTHT1~5MewQJkmNV=y ziT7<^X<}6=8JEEcnxuAYHRY&5Dp1iO)@hi?AaaUBa3%YUd7Q23wGS#I&-D*s;0yEU zOBnj6>IPiBYATTPB#eaP4$Qgxu=^t43NS$udo6qoHdK&T8pPnpmld+mh>Td( z;E`IBF|><&59evSYvj>wtQUsskyAT4Pf5#qx6dv5PJy)UtyJ%Mt8evo;V!VgoIiQ_k@IJ&% z9%hgjzQXU#v2|c;r5d-H!e|QFi7UD zO-*T$oMU_~XcUIjArfDi>AK#NJ k+!BQ-b88y9u`C7;+3Ys$O`VmNU;(;&e81|)QDJWeg`Xvd(~8;W-j1rdiWZ) zCv|nd+I;n(!nP~!ejTX+)JTpIuIdo8frNi-S;|Hc&-dokW|wIk)Fs)OdH{9Ma{G? zi;|80fHqqU3`$!Yhw;T}Q~VLn->x7-a7=+~K@I~E(~KgvV6y1Z7Xe`t3?sFWcsm?n zL0negwb&snUL1>lj|8vhnp#7%v9>FtH8IdA4@wNvnK>*0T8}n%2cZG96Qx_B_CCh6 zb;Wp4V3;QEeGSEVf<(Gzgq-lNy>|jG<_X4)`qu&p;GK>)jfNyZ&HzNM2JrAOoHX3P z9Uf<*78Vv3z6y+rD82i5;zP+rEyPX{oO|f5wF!?*h}Sz#Fl1T5sSCp~+k`j;5*Ua! z44!MKc&|Xj=!j9s6i788GI)j7+HX9;FJ{qIo&+HOfJGmNqA=fdjUf<~H%eSS8+ycu zcr4mlIwG#pG2tQR{fa^0Z{2Q2@eR^GO`AUP#5f@V$cv_=o*Wdsmb>N*{vdX)=96)M z1u?qfD}=`{#tvbQjs3?3KEi2BS2qY#+>JS$dnhaxoRwKvSg`N|fdMv^weA$O00000 LNkvXXu0mjfH7YI* diff --git a/tests/snapshots/nanos/test_transaction_manifest/SCO.03-4-Mainnet/00031.png b/tests/snapshots/nanos/test_transaction_manifest/SCO.03-4-Mainnet/00031.png deleted file mode 100644 index 68df9e185415ed3d95b879dbdc8422f40f452b00..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 417 zcmV;S0bc%zP)}^rj(9+vrb`I3stqU_Z~@U-#wHz$G*}Td3Jvq3q)Al zmsseZstZV0l{IGC+m}T+WY^iZ?@HVl++ci3Db-X*CnuK9w8M#HTk^Y$nL;yOlom{F zn&W8j55ADs_7mB+!A<`h%veTT*u{%=IO%ZqP(gP5b&!R*+Uv7u8%(E7s%P)RyimCr z_;qmVAgF9fnh_;q^Xem_vN-y1UNZJyx(S~>=HAB>RzSnMb6*TkVEG9ccu7^d zL%o%?Q_!fq!T-&&3@c55zh)2)l-V{KI{*Lx0000000000fIsI4J~rK>(gfbQ00000 LNkvXXu0mjf7F@k- diff --git a/tests/snapshots/nanos/test_transaction_manifest/SCO.03-4-Mainnet/00032.png b/tests/snapshots/nanos/test_transaction_manifest/SCO.03-4-Mainnet/00032.png deleted file mode 100644 index 05f27c3a1261e43d42b7e462d3f1e8f54f927ee8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 649 zcmV;40(Sk0P)Qi3buy{@WDSA}D(rPjB|h)8y;2aL_u0nU4oM+X4$og* z69d9oc~+}VV0-D3wXhdxA!6kb8;nltlRDfrH`3_Q7Q*#daydM{mF#D4JoZV$Ilj~Y zbm_V51j!G8v+J)(+a^IPH5lq~FO6}48iP!v@W-noTy9VY z1~8=#ASvQI^OwUAc0hfl^29*=ho?*HfVXhHoXj%2Fd_>J3kwrLQxTx(s5>vY1dBGn zrN4D|W0?p+o$R$(J>{n%F9DzdKyhzLmOVJdW|ViN5ZV|ERRhGxG?eEORF)et7bwH@dRdAfg@EU& jYKxfbl1eNr{3HAV_0#cv`)$N600000NkvXXu0mjfy1gh5 diff --git a/tests/snapshots/nanos/test_transaction_manifest/SCO.03-4-Mainnet/00033.png b/tests/snapshots/nanos/test_transaction_manifest/SCO.03-4-Mainnet/00033.png deleted file mode 100644 index 5ebc566538c13f46cb76bcb35bd4c7f3819742a1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 648 zcmV;30(bq1P) zRs{x(Bl-5Ye9qm)Q_Hv(C=ro)Pah1Y^+Iw%XG4f(A*)(i#ugh68xvX# zR!aynV7C)Ly}0I&7*PQm_gDfO^4us&7g!wu>ID%1_YMGyF0b~$d{mX^#Uc`ir>Y&r zRWA(YDq5_8w&W^aRwFI>-Gc*8TbQo%ufi+-6;sGCK^4??<-z-mL@p&2hfEcqgk;U| zywN%V;&3e9DlKE-$Xf;@?ao8P<;>xyvwZ@pRA0;38dH*1V32q)7~V%vt^U(<-3O4M5PGDA|A7x3L2Ujv*Cu-p;(p*Q~(f+W6pq z{RaMb3ugxjtlGht`u)g^2rb>U+t_+JZ-!l-k(=s%^zEW2k9u=8ZoU=z%b8Y@c2PcP z_m(nM_ZLc)TfJS>zqh(fb}^nH#rg71&d-$TGo?S)KH;)F>%_^`9<Zn@c>HH%tb|K|aE84l`Ca9{Y>YqLk?M<7Vd)78&qol`;+ E0A^=~jQ{`u diff --git a/tests/snapshots/nanos/test_transaction_manifest/SCO.03-4-Mainnet/00035.png b/tests/snapshots/nanos/test_transaction_manifest/SCO.03-4-Mainnet/00035.png deleted file mode 100644 index 41b0ce2b951314b34dcb1c5718b6dca8e065af5e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 472 zcmV;}0Vn>6P)Nkla)G~QywM^fN;3q|GwUxTS_&2HWWQZ%2Hya&d^U(>U=3@ze~Y&NS$K`S)I8> z2K-N^Q!+QwzD~)Qy=Wu4#-uNN26S9ls!sn&!(v9fZxKPaTw9Q`F4`Ehp-G)Z4Xy2W z)(~jk?t!bx7|S(=(mulN783L$KN6i-tYc4BmFdX(@wNcoY-bt65f^7^uH>}|RS ztiQl!n*acwM3J8i1kKPeRVCxrv$5p!AElCHEmOmc-A{HL6@IzozlQuaevxF&iHuag zhN|4xZkt4H@GpPV_$v~5qd?WBI&eAz9(C$Ok1~^yswFcblj3;)I`w1)_+H&TigE^i zJ+h)F$scR%~2boL?tm1)*x;j8YSetjuZ zOlA**%bnJ+-A22_E?0a%9$wr(+uP&tajX7&)2*N0Yuf42+%s8SpW3UsUGgX8FbdA@w|{p8t;rRnH3X@qE6br60-V}tMSx!&-*6%5%ki@!l&X_$kBS%?&Q7JN z_t(By2~Dfzt5fJPHSQ%~K3YFt8{JKZ{3VVhUp$OZhxBSzT+2?ksTh0vEL67B_>waqJuzMQVV4v`VAsS4G;)2St#_}TU* zn$tg4I z1)#5~t~Zbh$m%sMD@}-DyTYx>0RR910000000000kof}qe>LcCF21+`0000EpLbPNSZ?Rk z{xAwJP%X(2P#5~@c{`szUR5CtDJ|%J%|CvB)#P${@*#i1T{Tp1s`Ki4XbMl}B$~`D z^*UF;=r^*AYNe{JAr zT#I< zS9X7B0cxPwlQCM;moqa)t=$k%o6&(4)bl=bm5>aFR#_ zV_T4j{(qL+1q~oiC}$!Mf9RT_p0){DOG#FhYjgtiRFhG00000000000001h9A8SATkiagEVBRr002ovPDHLkV1it}%}f9Q diff --git a/tests/snapshots/nanos/test_transaction_manifest/SCO.03-4-Mainnet/00040.png b/tests/snapshots/nanos/test_transaction_manifest/SCO.03-4-Mainnet/00040.png deleted file mode 100644 index 52b06db91d6825dc858bbdf6384330dc370de38e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 512 zcmV+b0{{JqP)9$&a>M-t;_CUjSRLmnRm1-JJSnjBBfqT5;Az=j8exhE~(DGeQFQ8IoM};WSmX* zXTS#F^dV?)U#3o=)n0#_vK<|VWpDgtq{GJXYddRSKOHVU$Tr`Az1ZBNmmss-PTl_@ z3gKfMhTlE{uJAZAU&aWzYkkOMG9mQX&a99afuhb`I}IV|DN7>|UPMv<9d)liqUaIMiVeZ|YUd+CY-IF8>~K zzhRaAS`H?-=QM1i=Tu6{1-oD!M<5AJP1 diff --git a/tests/snapshots/nanos/test_transaction_manifest/SCO.03-4-Mainnet/00042.png b/tests/snapshots/nanos/test_transaction_manifest/SCO.03-4-Mainnet/00042.png deleted file mode 100644 index 7f6ab5e6010052a6c826d8a33994eba6cf7bbeed..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 380 zcmV-?0fYXDP)uRr;yTsQ43OPlRlX!mA#zXLNU2R?VwJ6)EF1I*s6nq^p&4PTTOSmPEMbE{jtppwY z^J4|+t@vhuNa?L)$#$MM!@0Ht2hgw^YzuAo0F>?KHP7%21er<@_~X;u1W_f`a9 z&)8tifC~e#OpaQ*=)Jj^nQ=S=L>0_r)pnQRorNTQ`GlD2lQ9F#qKh$G{-E9;9g9Bp zfE@Dtsj?-U1BU#LN1Ji&^64|f)*teIloz|6`X;Q;MR{(?%&26>GZ0KlA3ha-t$MGen9TVB&nnB(jJ4&^4# zWONKb_gzr3Gs(+sexnw)^d*Pfuy|Q?$jC@;UbZxVusk67bIW0Fa<_CL_g{mSUx0j; zF&?OSC-*~r1ab{6X&C@&kx8JAwcflqcHI_)#xH7r4hT=AR0F1ym*!P8jH7Q7E|v$V zEJw9G0(LhyCMJC8f)_jw6IB!*gHps`+~D_zvwp&F8~^|S00000001!`p54y(O(ZlD P00000NkvXXu0mjf*6*8> diff --git a/tests/snapshots/nanos/test_transaction_manifest/SCO.03-4-Testnet/00001.png b/tests/snapshots/nanos/test_transaction_manifest/SCO.03-4-Testnet/00001.png deleted file mode 100644 index f2422205b6e1b91dbe0b798b0b95a8c4d2bf7e92..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 337 zcmeAS@N?(olHy`uVBq!ia0vp^4M42G!2~2j9iA64FfdAZx;TbZ%y~QGv{17Gk89(> z|Nj%j%N)B6A1=INcyMR>9SMUal?=VbQ*ukYa$f(7*|glYH*2!DjZbzg_r2+dqD{oN z-t2I^v$QU7LtBuE!tB}ZFZn$VWFXIURu0Aky+I2)#4eC-(I}c)&DWt)+)TG zGf`*B>G=Zr?dvs;CW!qp^4;apw^QyL<5vlvDU63Z=BmlHiC)%fjhEZ$+UC5p&g*>i z4u%HvM_YLnHq4d1y_7GU|3)M8%}b@HgIHCb#5g&i6|V3p%9DK|-FcelF{r5}E+5U5S_g diff --git a/tests/snapshots/nanos/test_transaction_manifest/SCO.03-4-Testnet/00002.png b/tests/snapshots/nanos/test_transaction_manifest/SCO.03-4-Testnet/00002.png deleted file mode 100644 index d9d217d6f0eeeea8903da9455f3b7d57f19e5ada..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 643 zcmV-}0(||6P)0S{~z23```{@t_Mu4+u_VUSWH4fEc^?mpgDce^f z*)}3l1}=*wDtz?|Gd0fvHZRvHpQ9g;k?1-cpQ1n7^2YfL*^W{JG7pZxWon%qC zcJ<4i0UJ{1Zhb(W`Jl$7p=Io{LaaXnazNa(#-!t9@@3}k(U_%fd8UwPMpEw zlknIfBX<2IMONcQMnw6Bo?Hj}N?6&?kcsn-gJ1WJ2a#R8)7w{nTs|SzC_zy+8KN_J z3uvCX2W6LHWI8uJH6KfkMW*$c(@c0_S->P)8}rVo;-@YM%sqtDv_S(n=trAq9|+^y}`=ypW9DcBC$c!{H)l2G7o1hbse4r24M+p!tjkIV}#gV)rSUFmU}*+Hv5SH6|T{$(NbCdtc-?a4w?t06wH_ zF63bwHGqpRS&mHy&|$$HMpN-MS`WQ03f(-%88}SEhM{rfehMAz?|`UF0(bN{(gGjD zkT86}-c8rA0LLc&t9yv>SIkN#g~8FE%Dfp#Rsa~vfIN`LDkKcD&w$>E_F2}!z5!&3 zn9Qa4!f-FHDI}xuS6^fy6UGcs5(AtT$vSLDpQQ*1Lm)qdcRQ9L#b8QtURYRI2*ofJ z(LgSaLUT{5$n_n!a=xpVvWNQL*3S%myI(iDU0u$IEG$E#nD&C5PDf*2!OGB?4yiz{ zSxx0&$_C&Yr-PTrZ4P;5Y~+>yX2Df6*DNMZ5PRJC&w_qR#022T04z|?sA*Iy^Xt79}*L^%bP%H=ye z{iDe1@#t1|Nz|7~Gp5xXF}D04wk_!9OxCAA*RJ+V`L?b`tgj&b!k0yL24`b7b)?D0 z=wzSyTlvOIVoSgp{l3lr1WR`AbiXh`&O;=~HqZ2GNb%#uxz80ipEh4GUG%RkOJ(^T zw(Vc*8S7>)dR_A2UG&<(mernnUPv-C>|ggxpZ$x_-V2F6)6En9*|6GPY&e*4Ai*TT fKnmzL5O`q!ru~c#lM-bQ3)z4*}Q$iB}QcHTs diff --git a/tests/snapshots/nanos/test_transaction_manifest/SCO.03-4-Testnet/00005.png b/tests/snapshots/nanos/test_transaction_manifest/SCO.03-4-Testnet/00005.png deleted file mode 100644 index 33c200427ac3d0d3f3ab4ea790c51fc62c8bfda3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 502 zcmVx(( zBxtnco-1As2%(S6GX%mfY#_yc-Zr}8CNeP|Th(<95)XJnP%dJaGya&-0IZ6UC$4b_ zX7j_z>5&Dcn~RCX!u8YY;Q?ug0MDsSylSv(Kr^~88IHslg{|s$ z2oH!cj^j9Lj;7IR_#Tr)<;)nMI(K@3m*W^#@Db6dE;3J+ugp_1C~WO7vu_w zJDt2C>y=V0umGBim>#7ZzVGB9Fyr5a4jw?(8_WfYRR{9?56^mw z#Rhx`Gim4|8_01Sr;xT%#4PG++Kvs(C2L|iq?S=>sFPuVi&zE!DF54Y0YG9NwhTTu sdoBRLq9!v7KLaMSa~kR;0ms>%FSeF&S#}xF6aWAK07*qoM6N<$g8R4K{{R30 diff --git a/tests/snapshots/nanos/test_transaction_manifest/SCO.03-4-Testnet/00006.png b/tests/snapshots/nanos/test_transaction_manifest/SCO.03-4-Testnet/00006.png deleted file mode 100644 index 9c1f1495de7ee705df0ed7857666aab1c043fc7d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 643 zcmV-}0(||6P)d)Ju3w%#_QKxVjPL^?0$01 zZD4|$i@NdyI3WKVkl)S%GM00N`*E{Leh>BDgn2i91{WW>h@Bb^-DnaimEj%H)I}yu zce%t0;1b$_c|gvRTo1Y=voL2WA{Pw!?O%D7}5Zs}BGxT}#YDnK9T|4Nq4=WNNMiEhV4U4}kbuXoI_3&>nJbD!U9# zZ{K4QG}j_GPs_}9fXK^d2<>xY&H?-=Z=H6WcYsXm72QWhje5U4| z@InhbC~|G2I)E(vyPag)L%J9>m|752!vP<6Q!X~(gG2ryLv9IAZ(Qokc|cf~N#=B9 zo&!ch2;LxZSTiBXV3c|A-O?t_HT-!F*h7dAI0rC&`3QJ&pj8wVi6moqq%m4y#wS4R d4#ABL8-Ir)bZY{n%RT@A002ovPDHLkV1ij|91H*e diff --git a/tests/snapshots/nanos/test_transaction_manifest/SCO.03-4-Testnet/00007.png b/tests/snapshots/nanos/test_transaction_manifest/SCO.03-4-Testnet/00007.png deleted file mode 100644 index 09f6db4d924aa4d374d4b8ee72216d4c12256d4e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 670 zcmV;P0%84$P))uDD$rMQi;!Q>#gM{sY1+} znG>BUnpG=Q{LF*W>dv4tf$IY>yQkg^;spzDBdssP0Ul3p50e& z7zP$NYf+b2hFy&tYx@>qH_X!G3f?5xQbbb`!rw{O}C+1Nx<0(U-yeE@tZ}5h$ z7`O-E#lXiBkI?(xE5~i0fV5k1wZN04tuBCfgDrpECM!?teGs;71F!SZny!|(^AXNw z*F7B374!lO-T+q>M`-JO0PU$0AfIO6ekHgCD0Mmh5YE1OE2#9e<5Tb+*QNEJB$-+B z>ItYbp8{?H3QdS?H+Tf9jlnbtZ07^WFe89xV`Ia`5AZZ&8xm)m)&Kwi07*qoM6N<$ Ef@zWdwpgC@oZxlfS>-f8yHH zB33*KuRZlYS~}^V@f(=y0&KSS_=vBL+@H_t_RI^d*q-hkwsBXiP~xLoTdU=hqC(8_ zOoid1S-C>oKXV~irU!)zoF9N9a|K7YCud5wD5bnlfETton9@e_=2H3F^B{0~yqjpW zJU(_T)xF{rw=!2)t`GDSElAG9DyR)fCJ&G{F!@0n08}%g^!mIK;BojgF^<}EEv{Qr zutpqo^&FV;83@)1`R9cE_E$j0@?7Elc*I+-2j=i$?v2Y}%TsY$ZzDy=8qT&LLMxG% zA7*y3S%@{?F5#Vy95M>b`~<8sQwow8_5@*BMQ-MsvaqIVK)(ZUnbDTaVQ70RT|}@` zcWR#T=H^g-IU&GJt>R)o4s*hQ#ewGa5SZwFWa!@J-5OG18$4GmIROyqzqzlo1=8I@$j-W7sGXpSWN=lk$G{olEPxCdUa^yN-Qn@qcc>WX}?==&*w`l8F zC&RI{+EpLFUb32p(Q()R#&+g_H}cRVd5HC+SEn(CmmCQ<$)IQ$&Qy-D=th3(RmNZhkyzB@Dl^DbPND)C(jwcZnbW%^3bcHWd-PD2Q~xXfzFuBnZV4mI_-ueV$p@3S^hi9Q1cGJ zaY@;I8;r+VSNTp{V)Rp3844;tois{KKr3K6SxFD1DW-JRRYOU_I506WF)@)6tfqmQ zcm>qRhE*pAVqg_SRw+$t`F|*xyB&shEC!wf@WsIXmcKt>_|s=%O2=beFO8jpvkzjR z?%dIIW(IAwP$aZ7YR9uD;0TU{>hM%k!p}|svnIrKbROg8DUaDsqVcm6zyM#{`81<( r_5?5&=%pWHRU0yd^Uh#m;!L~%T^l%67qS2u00000NkvXXu0mjfIi?Z< diff --git a/tests/snapshots/nanos/test_transaction_manifest/SCO.03-4-Testnet/00010.png b/tests/snapshots/nanos/test_transaction_manifest/SCO.03-4-Testnet/00010.png deleted file mode 100644 index a131269eac0fcac07544a572823b6de38ed32260..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 676 zcmV;V0$crwP)sm5pUrQ3G8lL}3*Hy=Ru~7+s%kSwKPgUY{p@LdCAM{zDUsMQS^> z@jFW~pq>RQ9kl}(+N5kq>XV3rMF*N0WqQy&YB*ys67Y!5Kl!{@F>cFZ`ox1ec+K!M z)sG4{)A&(YPDs|rG%faVh)&7{8@fK_tXEx$JCHhbn$k)?1m}f3j)}YvTyUxD?k1L2 zW(OX-Fq943X*y;f$oK=#Yym!JWqGwTGCQvGPbVbyyv=Or&I@$>gdNG05yDSxpIE$=w=|Q73A>)^g%tivCz*fUNbgUR)f-Y<6)m zMW2P-9ngJj;MM|&5#EI*7`vM#qOvPL#^p!C0p{Tq(55q7t$d#2JHZye|5!g z-mbb$CdhP&Z(gc=C!l-DoAO6-4e3}+OiWDN0)H#wm#?DmD z0B{8{Q=@8q(f};qC5n_Ip2ZwK<{9ehPcTQPHIl4Lz{4*T_)Z7#Ti{(4Q{{Hkk(e@D z7ht5DKtOXM3XcQE7VCO3*MV%J>_Kp2iFZK?daIvO_wg3Za(&s-$~@Td*B982KFM%= zOWWWUJ44S<{OeCEw=hptJ<@Fgng$3;@)G8s)LIU6KTS+bNc;c@!9CsukEPTA0000< KMNUMnLSTa2sWm|h{qEs3I}G{rCz!;m^Q$;9$QZd)6%|Fi`5pYxBb@0Re=MUv6E z^%O@5Q<*m$xfdkGRB0hVb)orY^s8GlrT9Ecw^x`82=xEk>rHQxI7G(_S$TR$=~J3N znsfu>-3y;I2WhDql5!;CU>SQzy=4`uLk-Uu3F?iMRROPP< zL)CmGq(-)hSq{^(#N(tc@`4w-z2>`7xgK|xgk_>m2;w7P z3aeclsL47O_+g=vU#KFRNZmTEhVN}dt;5bV70!e&5prqcx%9)YvhYa+M}SPnLnR}a z4JEk^jm|>up#pj8uyV15g@r#3?kECGh`as$(b%>b+a5Ak0*YiShOLPwRgF!e*nE6n zq*;`1juJJ=!aNK!AR*5x5^Q9G2H4`p3VA^9TPqK&XXonBalc1nVwPu1<6>I%JU}Xe zYaB}W^a3cVY*u|7?5b7O*slE~i+K+kh!Mc#2O%piw0k*+jN;TfE6u|p+{E+h95#IEmlA5`- ziZa3o^MpNfPNi5?*bq=Pk$f`FwJRC2xF4h2)2#~_$iKJe$zEfk7_I-1!p$NjPf5Of zk_pta6IU98q%`W1G7_<~)F-4)S%Ye*;f%p(zzSvl8P9vwhkHuunRrk;uj-zv`B`qL zk`M2TjL2HE4AU4YwU0yfpkA<{+q0eZn#+D?nULDD#m}Z13+IJAj*0OzaKUA+yPH^B zp8a_CPfFHoKae{S0mLAg0UoHJNSd?g;NF7#Gyivk%~_ z8ozUK&2q*LfUo$aB-t>qDq)u%@RfQ2bjg(4KGySCSXfy24mev868JUUh*?E{pvvzy zMVJxQ3iCE2wcQHvJm+hAQj%#c@HDyvx|P8IoUfq3v6D4DwiVOhvcg0#CU9#^GzBeo z9LBA1^G=Nw$w4x~GB}d(phe6YG%yeW1?oTWyk(231kh;YnOZm24&f0}NUuuvjC|<|d4#%;G+}qC*?R@TV2_n@x$V?;j+Lkz6Bs;syXo1r zJ!G|!;`!M8ZTRJ4t#SUHycJU8g)X1=Y1G!9aheIqwp)zGn4haOI*N@U=G%HcsH}r1 zLbhBro9&2@%@aB*(h$t+<#EEQvEvU}t(?JLXZzgvf~dblx&I)sH1JG*4+C<%CwS_F z<49It<$t4+(YM}KC!WEAD#}c0wpyc%l2sLwaoS19<(gOSz^>eOPqT|myb7eKF_hgQ zT@rWW25UN;(2&^VngTH8+s=TdCt<5m?-uCB56>@<(Dso3IXJ;_C+wn}lzh~NfK3RO z790x_hIkCGumHm=Kuf^T#v+Hj@FG#K!Zy)o)PV&+>rHBgadg`_JlE>)B1D+8Sn%^@ zb-?g`K%y7@EU*B`qcTyH%OQB%0PNr4UTK7lKe--dy<;&kF){I87^PtGis{~_U5Ttt zw30h*f7fG zls`ZKHqk7kYb2T*oBRs9A?en`18;27jV9!q=xgH4Mhd3(oZt$ub-?<&vN?j)09`Yq zV)xeRgj*3qkZwN|Uu6Q|(ky)Y{eo7+Gyjf|z$4B80q8aiz~+RZM&81bgvh{ic=bZZ~y=R07*qoM6N<$f~@UYLI3~& diff --git a/tests/snapshots/nanos/test_transaction_manifest/SCO.03-4-Testnet/00014.png b/tests/snapshots/nanos/test_transaction_manifest/SCO.03-4-Testnet/00014.png deleted file mode 100644 index 8829fa90bb11df808c78717b9c1e23a1b79fa679..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 693 zcmV;m0!safP)pwa^9LN?ZNWt+NvP(U zA;+KM;IP7;J}0S76&7Sr&D%m-L_qF!%6_(PPdAq#p#I*T7kQ0{Ln!^g2RBA?J-PD7 zl&S#j9cXC`T&1i_8fR8)q&p;bX^rAhGtM8#(6BX}JpSb49+|k8BJPO?)Okhs6vdBn zLs9wIy6`jCF!N&?1EGDK)Ja}rLAPhy>lIi1P7}e|s>JVx8Vy%N9%n~>4_t7G>#nBF zR(ro5{flt)_e*z7KO^D~JhK({IjiQ;&2U-N%;ND!3$r-B?g4Hf*L#2`PdH?HdjkF^ zVt##RxL%ltEi#FxHlZ-BF#kr@e; zt%Iuw!DX3n-T~DYG6j&X<8+4wAf{>H`9tib);TrzY(PF+rX>7TrxkxcEaWUIA@XU9YRh3Z@^DgbZ>xW z?`Yf8A;@ri{^l#!h_5{j4~X}~j7Oe}wy`B#`B+$3Son1q`5yjaGbX;3|3VPQ@J5Y9 zY;oxc>aUFy?TR2=MWA{h6J5myaItVzjd}yFzpG;LhlkyLQiE&Vs5|3TaJ4G>* z(-YS}VJYwoMV`Q!R0w?kH8qTY!J;AaRv)t~ng@iV8=uI(|BI2&$cHl!zt?04Z9sRW z@VW&^-d)Pr>T7x$bqJ6F#+^FHp#3{7=fER;JVm-0)CrMVI zoNc(%7_dsUE-Az;IapeVoZ<$_P!rdPl=lFidWKENVFdgpVt)O} zbUpDL7B>a<7cfHpNs=VS@9?ZzKfMLkt|ZqXsw9sah&1J2`T=+;5oQ_H=+`9@R>V;D7uDN6zg5Lmv z>W|M$?GHG^#5BbDgyb(b+n802l7Da-fP0}F3ivoI2h^!gUiBrvfPSwO&TFXUg6O^B z;blS<<)~zdYWh|ai?OhOq;5}4OicWD9Q+p!EKMn9HS)D>ILJM{*8s-ZPWYbZXt})# zzdB41ke|1VFKFQNknW$xjR4De+0V4ao54dE(g5}ck5>P4?uYpl(HTQV04}85w@!q5 fFw649#24TVoKM;8%3M%P00000NkvXXu0mjfSYs29 diff --git a/tests/snapshots/nanos/test_transaction_manifest/SCO.03-4-Testnet/00016.png b/tests/snapshots/nanos/test_transaction_manifest/SCO.03-4-Testnet/00016.png deleted file mode 100644 index c4c85af7fe3839d76049890821018b1c9ec25f03..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 430 zcmV;f0a5;mP)6HUUZM?A;jN#*b01SUzonXd&6e=7!|wpKZ(hhi{i3OC7I;12;Y8&0RaAr zQ2a(BoyPN#-9nTept!^A4CNI zY-!>GV>I-H`Z}p?s@@xrj8?k=wwdicnW+TZ)%y5~lOoQV?_eHrVNE`2?n*%;ni06| zj_BM$7?v-)!{A(?}9Dt?7e>#je+UhU%F>Mhj}BN;D+})59rO9x8hUg zvF`pwmUJU9aR=_XbJ%^8PsMo=dsFgnuF?x(JRqwkS&ZDF3n)#Nvr${m73Jm=>pcVsMiN*$wHsXZb z(r7^l5d_%A3RqZJSeOQ^6v09Fjz3KLdIwe-lE-)P$!W{uQ52<|fQRXtjR9C@C~SMD zjfzzl5CKN7T?Gkv!EJugxeEfRX}%bn?k*l9NlQ_W>OV diff --git a/tests/snapshots/nanos/test_transaction_manifest/SCO.03-4-Testnet/00018.png b/tests/snapshots/nanos/test_transaction_manifest/SCO.03-4-Testnet/00018.png deleted file mode 100644 index 798f9d1732694b519ca83145b036da2cb703b3ae..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 657 zcmV;C0&e|@P)qJ0KNk64y;yKvS(9SZESc(wDa-9kG7X@<~3d-~Ac~A+sEtxruG8 zq;F=sd`{PrK=E8wW1f%cc+BJrO@<;9E9cB{Mg$z;X#_F*E( z!py!!gyQRnCyL`ds$MA#>wQdO`&7q@IxS@5F~Yc~;LC-?f%bd<9%mn%A0<>`9Xp~3 zt1dZ5{ z22x*96_*h_`-7AgWV5&?p~koFVoe2DTs-MD0K9q9qDJFuD(l@H-|@&bxCEL8z)QA2@4e|4c&Wr-?DCNkg|i8e7Y zG4U|8OA(}^kl;yO4J%!WI94u31CRoP8dlXIKz#D(*AqTPp;dm6w}O1^+>~Dh2iUL^|yx0KRxZRoHa!jm3t*dGk5O*BJ+=7AS zIBo-8takE(6s~OycmYh0SVyg*xQaM}u_Lxk}dDZ+tXJ$0WBk=Pf|q$n`3ChO`S rBZ_9&QKg-Y4jn@JGHoU%CQSSQsWD4t4_xbk00000NkvXXu0mjfWeO;8 diff --git a/tests/snapshots/nanos/test_transaction_manifest/SCO.03-4-Testnet/00019.png b/tests/snapshots/nanos/test_transaction_manifest/SCO.03-4-Testnet/00019.png deleted file mode 100644 index f57787e65b42409037137ffb02715cb3732d582d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 650 zcmV;50(Jd~P)4{~z2%yKqJ$uN)w;-rk()LL(e74??g@squc5-+Qq_-ZHl6Lv(dJm>8rEu<7f@feb5-W-hK!J zpP0KYVIa37-YAdrs#;4K*88>-8*I~J?{6)8Y^ht4@l#Vzh8>Q|?Umf8Fw#-MN=J|( ztc})lr57sx^)QnkgAvP!J9f{&g5&%;kK+N^@$UoMvF+*gQ8WhT=X!cPdLQPE;AXI| zgM1>`bcT4+*W90&C2j;3ZpWNEhqW#8tFSX4TWjKHu%Lpx(jW#$KCO_6Mr6dQ29MO5 zjA32edpJ+6u917Uu`GF4Rf=5b z|3(_>{TPsuxji0jk%^J;r=dn3wzngRDW|f7dsxQy*+`~sC%qZ%#KgqJ{Q&O)B9PR$ zc~*$k7z~D{ik3cs2{E_JoxfraKnf4dv^`d$09CY45gMV_BI0}t&T~LL!bqN8*i7`! zkr;`wR`~ZdZJY?z_mdpk(E_XhQQ$58MMb1F$i;aLD&hi&^TrC3aQR7?I~S-i7$oE7 zre?HAi=%%ns294_Ap*Tjc7@nb^{Piz_&1*Av*Z=ps2JJ>%7PpQGE6gy*n(eeYkLR?`>ois77}lVJuHaJ z3M`8q!s5lT==VtQdakK8G#j$bF z3JlZ4y|1A-PmoC0^pF#N*?TA8VxFMis9zRH0IzhsXjCKtat0u3HGqeQ;iTaP?r=X7 zH8C+U@ljw@L}}f}6CX-0Y9V%t;M_w~)+RhMVKDoN>|lVpFdVZ@h+QCofoQ|vxrU1O z3S<~%F^fuh5`g>xi#`s;!FJp;34MS#USvvZZo6!1Zi8-rcXRE4oCp+i+5Ia}%$+&MpjIQ_y z;qgY_Aco3`NnQ|Np^#=y_lULjss4P|>s3^Z~gfTMXB3f%18W?GvAVwCQO!q@HZ1m8O)Aay7HC)Uew8RBhk8r?1Mk`;lvoeWf#&PCtzW zCXBXa7TDvAH}X@Csu;qw-tUV@^j%kbKjq}Ph35F@&#DFIv?C$1BYSo+Q)tD@C}=d~ zM9!3@eu({exbc638N)~lTXSO3Q@+lA6tES49s0sj>F;Mz8$xF+if6CGGE=!2aFEfD#s!)%jOOZYw9$0{kw^^#ycJ z|FVcBlouh&A@|iXd5I*(v*2Q*hY*7EH*ipLh-nl%dN!lxVLMY1oT49V#2B< zUbibcZ#%QoY1b};6O^P@q@H5bAQkASnk9va3|wtzV|&j?`d#;EPs6bfI_s{_AHu)` zv)0vmZ3rtGZo4Bok5ZQPzAfVXxno6~7V1OFu&xz&xPTzCukAjsJ~=;fh{8rYBG5Ei zg|0)hK=`lCP5vFM2tY1u$jkEww~ODBj#l7K2(N-I>?{>K`t5tav=MM(^*YQSf*Z{` z4n{YEfmyLrGIw5mw}6;~z`&ij=g#5kn|vz7!xva<<704vth!(^VyDX=G(We#)Zo_$ zMa$78!Di!TB0sGt=3rvOOBF5NisySfAz?4bIAJVH;mQ-u5Sm5cSinO(PH1>R z=9Vx5@?Z@!wxM-Y*4yOblOz;#M=o2&=|f4DEExeD-Q1dA`sWgYY|~qTVf+QuWPmHt z*uc?;I3c$*o*;w>0&H^yY;0_7ECZH`;GlcQZzg@d12YZD?rm(A6>wjPF@sD_n!=IggEv|A;R>VpB@S&F+r?0000bpQpl2Wr^naLNL3`Hi&Zb4#d1U07m30=<^nfGCJ_kA*1^}PR>2(n}5 zvQ>n5Q(b`bsCuU~t@bgA{ns5U>a>uJWrTTO!FLxD1?|uAcbt82ew0v&St}yAipT5g~#a@ZlF8Rz^dclp?b*b{)+FCIG7>W58Tii4l z2dS^9ipvb1<3UOb(rut7!DPpp3b43%(rW-{dD5arsmTf2)=D@>z%vqUVPRq6 zVX#XPq@s}ENnH&qi&Sx1xfl&V3JhvkRfhoa$)n#$_!I@J{2*TiDKW>Tt#R>dI&&E} zqk|4&_$~#6vfeL(Qdp~Cf7xBnl$wR$9ECW&0~Jyq@Q^P6AqK#bS;f zE>Yd~mLyhNCg@?#FCD&3@j)62&QDtna4RAUi+Z2?z;XV40K^0 zx*bD)sxH81RPCiqd;7W*6}oBm?bng|4E14-k!1dq)RSq4qH%lg{!d}1ql^{YE7PBD z3R{(St&Bp$zn^CEb1)-}sADcG*9W(WPnRC&jc&)k4|K=sUG_!a{_U4D0xD+j!*meb z430SP7J`UyC)0T{Hm}}oL5x8la0k}hIqbH`uR^bUbghM-!G;RbP6L}9>9Rr=S|`JH zHE5=mWEAV{-a~m>b&1@&jb)*PUUzE85A>!?OkKHfF^{DZFmw+9=YRNlZ8*Y--v4Nx z36SD9b~2*M+*=EtiX%=i3&@rkhAL=RKx`k=amTKaQR7?Iv40MC?xaN zrew5m!7;uUGzvrd5P`Sc?FzA}8r6?#@NYgzCVQyU;F$pP7YR~hSz$0$5Ry#sNB86k jvqizmTv~=MEc^i83fK;T1o=;n00000NkvXXu0mjf{J1Fv diff --git a/tests/snapshots/nanos/test_transaction_manifest/SCO.03-4-Testnet/00025.png b/tests/snapshots/nanos/test_transaction_manifest/SCO.03-4-Testnet/00025.png deleted file mode 100644 index 077d53118631015eca2a2b979b159b0b888e5356..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 678 zcmV;X0$KfuP)Bm^ieMdJM`F}z>Lr%Oo+9JC79V@+8j zm3O44mQ|rSk6bLr8-Nk3ED0bgybUACD)2Z)muFBSqpA8%W{|e3%0x?Dz|?g2Ei6xI z>f>tln+4mayI1t;Z;ZPfnWSMC7~YYxqaiF`kG}_Fup5^Z%cfP{B?$W^8TT()0T9C1 zL&snY&e%iRDwh^AwM)s_Ng=D&V2Rd-O?2;J4yPE+pO# zN4g*`Ei^B82sbZ|#lA;^>p3G9NCv!J8mowrO0`o>H=U8=0$|l>usWEaDVBfn<8_Ql z>yl}wNH-zweGTRN1c~jMk>-S-_uc`xxKA*y)Xz%6a|SSCEs%!?FcO%- z8_e@gOiWDN5?m{y^zP${4<%P?A$E%Jy@xI@Zg^y(dA-vOhAb_7>jD^tRWzr_1_mRI zgXbFByjL(}as(u@g!jiR3w(xdxnEhrU(BLho&YdEV9Cc}lUOgh)gfpKuY|a426CDn zXtvbX9|Ji@Q?C_a2J!h40EtOiUnr0JUv8fkK2kr~m)} M07*qoM6N<$g1wqBpa1{> diff --git a/tests/snapshots/nanos/test_transaction_manifest/SCO.03-4-Testnet/00026.png b/tests/snapshots/nanos/test_transaction_manifest/SCO.03-4-Testnet/00026.png deleted file mode 100644 index aeb524744eca86d7ea30753437e7ed5f07c759d8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 413 zcmV;O0b>4%P)6QBUyvwt0#OS4N)+a1W zl6~u{E#>5t)hafPk~TZmp88B1O&J~KW=>&E3%hD{?;c6(zH=$H^kTwWM^~=<6Z~-F0*Hsf2z5{g_#3tb zc9FGyD*H=uA@{lv<^a~8}o9AL5zegwy|%G;_=>YZ!L$%`}N-^0liSOTwpyU z*_KtEm(1*R%KGJSf+3j=sizz@NCi6TW|M)b3^H0~<9nY8>ACIwDoy7;=#2e8e+Yw2 z%-+_zYeQJkao-(@^Js0^-S>ky;k#DvKASXXi8a+s_HJ_8ksx6o?0O0-1690$3~fBa zs6EY@|8w96cGkXr7R^D#c|29GUWa8NxESO#%^&`c#)8!kkcn9X?R{YF@|2}1eDa^W|$`lVJOLnm}+V0;(kYcCYwAs#1mydZN+ z8j0}W7%H}*eN^_#67efdsA@+c+l22||bU3RGGJ1K1l>D+GP!RSEdzPzpZP2!{QALa63Pj9H$$@;fHFf9 z+dHdOPF+9(aB6)OB;f_O`NH5X2&AU@;%vHyc$_3{BYBE=r%8jP{EK!wppbx{)Dt|- zPTK@6B58y?P8a~{4q}ssmr#&MPfbX8$k|o$RA?T*>W!FOFuxc6iv$dj9KEp^BO^fl zJj9U}nz1^mJcy{kS~&*J`z){*p+ULkv9a+V@d5rXPhRMhDFOfh002ovPDHLkV1j&j BFLVF^ diff --git a/tests/snapshots/nanos/test_transaction_manifest/SCO.03-4-Testnet/00028.png b/tests/snapshots/nanos/test_transaction_manifest/SCO.03-4-Testnet/00028.png deleted file mode 100644 index e2128ac9fb27e5aeb6e5a420d74ed9f17a753bf5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 653 zcmV;80&@L{P)~+RaC- zP?BxyN0wVo+Vl&=Bq^B<>rB4TWGFIGaSIYtBd9UeE_6L(WPUEIyY|Us&FB2bM39A9 z+BOm5Lv;f_XVsC?vbT>(WZ=~5+s~HVhuoQBv6h-(?}E#YL`C~({tsa#Q6&o*A#oLE zZ8^1Z7OMEil_ow0E2fbowrHumZ4LO$^>aOFcKqi66U$G7=eIAt{dCQMjMe+FG?JS^ znFm7$L7!*CWbV3p^Im%s920lqnLCD~@A6;aJ0LxCmELgUbzdsxz@Cz_{$h)p2IC<0 z6;*Lr!E-)HX+gS8)FhbfSW^KO7f*T*03%OY)M$K-)Y^lU&P}q|<7aV|=S(mas@4KF z4#mfI2PNRp$X2SQ%g2Um1^{EceAF{I$%-V&gPhrc6eGt_FwKF5hb1}SYp`m;B-PaE zvxNDM#KfY<+ym~^10Z#RlNxZq5XkbK(?gU017s_{K%dEf`o0*B!u{ z-A;ZWg=-rN27q}Z)>W%1t|kuNTHT1~5MewQJkmNV=y ziT7<^X<}6=8JEEcnxuAYHRY&5Dp1iO)@hi?AaaUBa3%YUd7Q23wGS#I&-D*s;0yEU zOBnj6>IPiBYATTPB#eaP4$Qgxu=^t43NS$udo6qoHdK&T8pPnpmld+mh>Td( z;E`IBF|><&59evSYvj>wtQUsskyAT4Pf5#qx6dv5PJy)UtyJ%Mt8evo;V!VgoIiQ_k@IJ&% z9%hgjzQXU#v2|c;r5d-H!e|QFi7UD zO-*T$oMU_~XcUIjArfDi>AK#NJ k+!BQ-b88y9u`C7;+3Ys$O`VmNU;(;&e81|)QDJWeg`Xvd(~8;W-j1rdiWZ) zCv|nd+I;n(!nP~!ejTX+)JTpIuIdo8frNi-S;|Hc&-dokW|wIk)Fs)OdH{9Ma{G? zi;|80fHqqU3`$!Yhw;T}Q~VLn->x7-a7=+~K@I~E(~KgvV6y1Z7Xe`t3?sFWcsm?n zL0negwb&snUL1>lj|8vhnp#7%v9>FtH8IdA4@wNvnK>*0T8}n%2cZG96Qx_B_CCh6 zb;Wp4V3;QEeGSEVf<(Gzgq-lNy>|jG<_X4)`qu&p;GK>)jfNyZ&HzNM2JrAOoHX3P z9Uf<*78Vv3z6y+rD82i5;zP+rEyPX{oO|f5wF!?*h}Sz#Fl1T5sSCp~+k`j;5*Ua! z44!MKc&|Xj=!j9s6i788GI)j7+HX9;FJ{qIo&+HOfJGmNqA=fdjUf<~H%eSS8+ycu zcr4mlIwG#pG2tQR{fa^0Z{2Q2@eR^GO`AUP#5f@V$cv_=o*Wdsmb>N*{vdX)=96)M z1u?qfD}=`{#tvbQjs3?3KEi2BS2qY#+>JS$dnhaxoRwKvSg`N|fdMv^weA$O00000 LNkvXXu0mjfH7YI* diff --git a/tests/snapshots/nanos/test_transaction_manifest/SCO.03-4-Testnet/00031.png b/tests/snapshots/nanos/test_transaction_manifest/SCO.03-4-Testnet/00031.png deleted file mode 100644 index 68df9e185415ed3d95b879dbdc8422f40f452b00..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 417 zcmV;S0bc%zP)}^rj(9+vrb`I3stqU_Z~@U-#wHz$G*}Td3Jvq3q)Al zmsseZstZV0l{IGC+m}T+WY^iZ?@HVl++ci3Db-X*CnuK9w8M#HTk^Y$nL;yOlom{F zn&W8j55ADs_7mB+!A<`h%veTT*u{%=IO%ZqP(gP5b&!R*+Uv7u8%(E7s%P)RyimCr z_;qmVAgF9fnh_;q^Xem_vN-y1UNZJyx(S~>=HAB>RzSnMb6*TkVEG9ccu7^d zL%o%?Q_!fq!T-&&3@c55zh)2)l-V{KI{*Lx0000000000fIsI4J~rK>(gfbQ00000 LNkvXXu0mjf7F@k- diff --git a/tests/snapshots/nanos/test_transaction_manifest/SCO.03-4-Testnet/00032.png b/tests/snapshots/nanos/test_transaction_manifest/SCO.03-4-Testnet/00032.png deleted file mode 100644 index 05f27c3a1261e43d42b7e462d3f1e8f54f927ee8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 649 zcmV;40(Sk0P)Qi3buy{@WDSA}D(rPjB|h)8y;2aL_u0nU4oM+X4$og* z69d9oc~+}VV0-D3wXhdxA!6kb8;nltlRDfrH`3_Q7Q*#daydM{mF#D4JoZV$Ilj~Y zbm_V51j!G8v+J)(+a^IPH5lq~FO6}48iP!v@W-noTy9VY z1~8=#ASvQI^OwUAc0hfl^29*=ho?*HfVXhHoXj%2Fd_>J3kwrLQxTx(s5>vY1dBGn zrN4D|W0?p+o$R$(J>{n%F9DzdKyhzLmOVJdW|ViN5ZV|ERRhGxG?eEORF)et7bwH@dRdAfg@EU& jYKxfbl1eNr{3HAV_0#cv`)$N600000NkvXXu0mjfy1gh5 diff --git a/tests/snapshots/nanos/test_transaction_manifest/SCO.03-4-Testnet/00033.png b/tests/snapshots/nanos/test_transaction_manifest/SCO.03-4-Testnet/00033.png deleted file mode 100644 index 5ebc566538c13f46cb76bcb35bd4c7f3819742a1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 648 zcmV;30(bq1P) zRs{x(Bl-5Ye9qm)Q_Hv(C=ro)Pah1Y^+Iw%XG4f(A*)(i#ugh68xvX# zR!aynV7C)Ly}0I&7*PQm_gDfO^4us&7g!wu>ID%1_YMGyF0b~$d{mX^#Uc`ir>Y&r zRWA(YDq5_8w&W^aRwFI>-Gc*8TbQo%ufi+-6;sGCK^4??<-z-mL@p&2hfEcqgk;U| zywN%V;&3e9DlKE-$Xf;@?ao8P<;>xyvwZ@pRA0;38dH*1V32q)7~V%vt^U(<-3O4M5PGDA|A7x3L2Ujv*Cu-p;(p*Q~(f+W6pq z{RaMb3ugxjtlGht`u)g^2rb>U+t_+JZ-!l-k(=s%^zEW2k9u=8ZoU=z%b8Y@c2PcP z_m(nM_ZLc)TfJS>zqh(fb}^nH#rg71&d-$TGo?S)KH;)F>%_^`9<Zn@c>HH%tb|K|aE84l`Ca9{Y>YqLk?M<7Vd)78&qol`;+ E0A^=~jQ{`u diff --git a/tests/snapshots/nanos/test_transaction_manifest/SCO.03-4-Testnet/00035.png b/tests/snapshots/nanos/test_transaction_manifest/SCO.03-4-Testnet/00035.png deleted file mode 100644 index 7a7c2869b2dd625819cffe6211e5ab5dc7e04cf3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 471 zcmV;|0Vw{7P);ww!SGvj$f6k&N!K}ubmW732sb%q97 z8~3cC(7YWNmcJJuw$9hp*2{Fe{~oIl!uF5LmnkcQSS_1~l3WKZKN49t(t|2*EDLk* zGknAP4Q##%A>%~LsGklC%~94scR%~2boL?tm1)*x;j8YSetjuZ zOlA**%bnJ+-A22_E?0a%9$wr(+uP&tajX7&)2*N0Yuf42+%s8SpW3UsUGgX8FbdA@w|{p8t;rRnH3X@qE6br60-V}tMSx!&-*6%5%ki@!l&X_$kBS%?&Q7JN z_t(By2~Dfzt5fJPHSQ%~K3YFt8{JKZ{3VVhUp$OZhxBS@X#CG5GfHdlc5Ws|xvpj%*4yF)UutWtGO;QX&jEN8GnQI(Mha;XNkG40_ zqMp9_?#i{Jm}zgWd2l;c**-J4rqUS?f8WIiOg@vmdE`ycXSieHZcMrfA>>G19HFR}^G#%Tdu`YQP!G3iZ&YF?>Lwi&1p~W{dV0YI zVkd}4eqPFh2hJ*@fUlkcy1#(lEe>jOU<37~xQ#OaEJ2nh80g9XH8(|rR2M4>Wa_&H zo}HVdcF`UHuw2xu3YMbz+UjSxZzA%qY@2qA=!f8z!AfH&5QbvV7)o3Uit4j#z%4STr(ii|JnE!L6__1ZrVGQxY^n!14tcb>%M8z+@)Xx zvk>%$+!yIv5Wj$_N1Uz<@JtTP9JnHqF)_>z-<9$&a>M-t;_CUjSRLmnRm1-JJSnjBBfqT5;Az=j8exhE~(DGeQFQ8IoM};WSmX* zXTS#F^dV?)U#3o=)n0#_vK<|VWpDgtq{GJXYddRSKOHVU$Tr`Az1ZBNmmss-PTl_@ z3gKfMhTlE{uJAZAU&aWzYkkOMG9mQX&a99afuhb`I}IV|DN7>|UPMv<9d)liqUaIMiVeZ|YUd+CY-IF8>~K zzhRaAS`H?-=QM1i=Tu6{1-oD!M<5AJP1 diff --git a/tests/snapshots/nanos/test_transaction_manifest/SCO.03-4-Testnet/00042.png b/tests/snapshots/nanos/test_transaction_manifest/SCO.03-4-Testnet/00042.png deleted file mode 100644 index 7f6ab5e6010052a6c826d8a33994eba6cf7bbeed..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 380 zcmV-?0fYXDP)uRr;yTsQ43OPlRlX!mA#zXLNU2R?VwJ6)EF1I*s6nq^p&4PTTOSmPEMbE{jtppwY z^J4|+t@vhuNa?L)$#$MM!@0Ht2hgw^YzuAo0F>?KHP7%21er<@_~X;u1W_f`a9 z&)8tifC~e#OpaQ*=)Jj^nQ=S=L>0_r)pnQRorNTQ`GlD2lQ9F#qKh$G{-E9;9g9Bp zfE@Dtsj?-U1BU#LN1Ji&^64|f)*teIloz|6`X;Q; -#include -#include -#include -#include -#include -#include - -#include - -#include "script_parser.h" - -bool PARSE_TEST(const char *script, size_t scriptSize, const char *template, size_t templateSize, bool expectedResult, - const char **expectedValues, size_t expectedValuesSize) { - script_parsed_elements_t parsed; - bool result = parseScript(&parsed, (const uint8_t *) script, scriptSize, - (const uint8_t *) template, templateSize); - if (result != expectedResult) { - printf("Return value error: Result: %d, expected: %d\n", result, expectedResult); - return false; - } - if (result) { - if (parsed.elements_count != expectedValuesSize) { - printf("Value size error: Result: %ld, expected: %ld\n", parsed.elements_count, expectedValuesSize); - return false; - } - - for(size_t i=0; i(\n" - " /public/zzzzzzZ,\n" - " target: /storage/c\n" - " )\n" - " }\n" - "}\n"; - - const char* expected1[11] = {"0x631e88ae7f1d7c20", "0x631e88ae7f1d7c20", "aaa", "bbb", "c", "aaa", "c", "x", "_", "zzzzzzZ", "c"}; - assert_true(PARSE_NFT_TEST(parseNFT1, script1, sizeof(script1)-1, true, expected1, sizeof(expected1)/sizeof(*expected1), - SCRIPT_TYPE_NFT_SETUP_COLLECTION)); - - const char script2[] = - "import NonFungibleToken from 0x631e88ae7f1d7c20\n" - "import MetadataViews from 0x631e88ae7f1d7c20\n" - "import aaa from bbb\n" - "transaction {\n" - " prepare(acct: AuthAccount) {\n" - " let collectionType = acct.type(at: /storage/c)\n" - " // if there already is a collection stored, return\n" - " if (collectionType != nil) {\n" - " return\n" - " }\n" - " // create empty collection\n" - " let collection <- aaa.createEmptyCollection()\n" - " // put the new Collection in storage\n" - " acct.save(<-collection, to: /storage/cc)\n" - " // create a public capability for the collection\n" - " acct.link<&{NonFungibleToken.CollectionPublic, NonFungibleToken.Receiver, x._, MetadataViews.ResolverCollection}>(\n" - " /public/zzzzzzZ,\n" - " target: /storage/c\n" - " )\n" - " }\n" - "}\n"; - - assert_true(PARSE_NFT_TEST(parseNFT1, script2, sizeof(script2)-1, false, NULL, 0, SCRIPT_TYPE_UNKNOWN)); //storages do not match - - const char script3[] = - "import NonFungibleToken from 0x631e88ae7f1d7c20\n" - "import MetadataViews from 0x631e88ae7f1d7c20\n" - "import aaaa from bbb\n" - "transaction {\n" - " prepare(acct: AuthAccount) {\n" - " let collectionType = acct.type(at: /storage/c)\n" - " // if there already is a collection stored, return\n" - " if (collectionType != nil) {\n" - " return\n" - " }\n" - " // create empty collection\n" - " let collection <- aaa.createEmptyCollection()\n" - " // put the new Collection in storage\n" - " acct.save(<-collection, to: /storage/c)\n" - " // create a public capability for the collection\n" - " acct.link<&{NonFungibleToken.CollectionPublic, NonFungibleToken.Receiver, x._, MetadataViews.ResolverCollection}>(\n" - " /public/zzzzzzZ,\n" - " target: /storage/c\n" - " )\n" - " }\n" - "}\n"; - - assert_true(PARSE_NFT_TEST(parseNFT1, script3, sizeof(script3)-1, false, NULL, 0, SCRIPT_TYPE_UNKNOWN)); //contract names do not match -} - -static void test_parseTestNFT2(void **state) { - assert_true(PARSE_NFT_TEST(parseNFT2, "", 0, false, NULL, 0, SCRIPT_TYPE_UNKNOWN)); - - const char script1[] = - "import NonFungibleToken from 0x1d7e57aa55817448\n" - "import aaaa from bbb\n" - "transaction(recipient: Address, withdrawID: UInt64) {\n" - " // local variable for storing the transferred nft\n" - " let transferToken: @NonFungibleToken.NFT\n" - " prepare(owner: AuthAccount) {\n" - " // check if collection exists\n" - " if (owner.type(at: /storage/ststst) != Type<@aaaa.Collection>()) {\n" - " panic(\"Could not borrow a reference to the stored collection\")\n" - " }\n" - " // borrow a reference to the collection\n" - " let collectionRef = owner\n" - " .borrow<&aaaa.Collection>(from: /storage/ststst)!\n" - " // withdraw the NFT\n" - " self.transferToken <- collectionRef.withdraw(withdrawID: withdrawID)\n" - " }\n" - " execute {\n" - " // get the recipient's public account object\n" - " let recipient = getAccount(recipient)\n" - " // get receivers capability\n" - " let nonFungibleTokenCapability = recipient\n" - " .getCapability<&{NonFungibleToken.CollectionPublic}>(/public/publicPath)\n" - " // check the recipient has a NonFungibleToken public capability\n" - " if (!nonFungibleTokenCapability.check()) {\n" - " panic(\"Could not borrow a reference to the receiver's collection\")\n" - " }\n" - " // deposit nft to recipients collection\n" - " nonFungibleTokenCapability\n" - " .borrow()!\n" - " .deposit(token: <-self.transferToken)\n" - " }\n" - "}\n"; - - const char* expected1[8] = {"0x1d7e57aa55817448", "aaaa", "bbb", "ststst", "aaaa", "aaaa", "ststst", "publicPath"}; - assert_true(PARSE_NFT_TEST(parseNFT2, script1, sizeof(script1)-1, true, expected1, sizeof(expected1)/sizeof(*expected1), - SCRIPT_TYPE_NFT_TRANSFER)); - - const char script2[] = - "import NonFungibleToken from 0x1d7e57aa55817448\n" - "import aaaa from bbb\n" - "transaction(recipient: Address, withdrawID: UInt64) {\n" - " // local variable for storing the transferred nft\n" - " let transferToken: @NonFungibleToken.NFT\n" - " prepare(owner: AuthAccount) {\n" - " // check if collection exists\n" - " if (owner.type(at: /storage/ststst) != Type<@aaaa.Collection>()) {\n" - " panic(\"Could not borrow a reference to the stored collection\")\n" - " }\n" - " // borrow a reference to the collection\n" - " let collectionRef = owner\n" - " .borrow<&aaaaa.Collection>(from: /storage/ststst)!\n" - " // withdraw the NFT\n" - " self.transferToken <- collectionRef.withdraw(withdrawID: withdrawID)\n" - " }\n" - " execute {\n" - " // get the recipient's public account object\n" - " let recipient = getAccount(recipient)\n" - " // get receivers capability\n" - " let nonFungibleTokenCapability = recipient\n" - " .getCapability<&{NonFungibleToken.CollectionPublic}>(/public/publicPath)\n" - " // check the recipient has a NonFungibleToken public capability\n" - " if (!nonFungibleTokenCapability.check()) {\n" - " panic(\"Could not borrow a reference to the receiver's collection\")\n" - " }\n" - " // deposit nft to recipients collection\n" - " nonFungibleTokenCapability\n" - " .borrow()!\n" - " .deposit(token: <-self.transferToken)\n" - " }\n" - "}\n"; - - assert_true(PARSE_NFT_TEST(parseNFT2, script2, sizeof(script2)-1, false, NULL, 0, SCRIPT_TYPE_UNKNOWN)); //contractName mismatch - - const char script3[] = - "import NonFungibleToken from 0x1d7e57aa55817448\n" - "import aaaa from bbb\n" - "transaction(recipient: Address, withdrawID: UInt64) {\n" - " // local variable for storing the transferred nft\n" - " let transferToken: @NonFungibleToken.NFT\n" - " prepare(owner: AuthAccount) {\n" - " // check if collection exists\n" - " if (owner.type(at: /storage/stst) != Type<@aaaa.Collection>()) {\n" - " panic(\"Could not borrow a reference to the stored collection\")\n" - " }\n" - " // borrow a reference to the collection\n" - " let collectionRef = owner\n" - " .borrow<&aaaa.Collection>(from: /storage/ststst)!\n" - " // withdraw the NFT\n" - " self.transferToken <- collectionRef.withdraw(withdrawID: withdrawID)\n" - " }\n" - " execute {\n" - " // get the recipient's public account object\n" - " let recipient = getAccount(recipient)\n" - " // get receivers capability\n" - " let nonFungibleTokenCapability = recipient\n" - " .getCapability<&{NonFungibleToken.CollectionPublic}>(/public/publicPath)\n" - " // check the recipient has a NonFungibleToken public capability\n" - " if (!nonFungibleTokenCapability.check()) {\n" - " panic(\"Could not borrow a reference to the receiver's collection\")\n" - " }\n" - " // deposit nft to recipients collection\n" - " nonFungibleTokenCapability\n" - " .borrow()!\n" - " .deposit(token: <-self.transferToken)\n" - " }\n" - "}\n"; - - assert_true(PARSE_NFT_TEST(parseNFT2, script3, sizeof(script3)-1, false, NULL, 0, SCRIPT_TYPE_UNKNOWN)); // storage mismatch -} - -int main() { - const struct CMUnitTest tests[] = {cmocka_unit_test(test_parseTest), cmocka_unit_test(test_parseTestNFT1), cmocka_unit_test(test_parseTestNFT2)}; - - return cmocka_run_group_tests(tests, NULL, NULL); -}