@bitgo-beta/sdk-coin-vet 1.0.1-beta.35 → 1.0.1-beta.350

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (143) hide show
  1. package/dist/src/index.d.ts +2 -0
  2. package/dist/src/index.d.ts.map +1 -1
  3. package/dist/src/index.js +3 -1
  4. package/dist/src/lib/constants.d.ts +13 -1
  5. package/dist/src/lib/constants.d.ts.map +1 -1
  6. package/dist/src/lib/constants.js +15 -3
  7. package/dist/src/lib/iface.d.ts +30 -1
  8. package/dist/src/lib/iface.d.ts.map +1 -1
  9. package/dist/src/lib/iface.js +1 -1
  10. package/dist/src/lib/index.d.ts +18 -3
  11. package/dist/src/lib/index.d.ts.map +1 -1
  12. package/dist/src/lib/index.js +35 -5
  13. package/dist/src/lib/transaction/addressInitializationTransaction.d.ts +31 -0
  14. package/dist/src/lib/transaction/addressInitializationTransaction.d.ts.map +1 -0
  15. package/dist/src/lib/transaction/addressInitializationTransaction.js +170 -0
  16. package/dist/src/lib/transaction/burnNftTransaction.d.ts +26 -0
  17. package/dist/src/lib/transaction/burnNftTransaction.d.ts.map +1 -0
  18. package/dist/src/lib/transaction/burnNftTransaction.js +124 -0
  19. package/dist/src/lib/transaction/claimRewards.d.ts +41 -0
  20. package/dist/src/lib/transaction/claimRewards.d.ts.map +1 -0
  21. package/dist/src/lib/transaction/claimRewards.js +210 -0
  22. package/dist/src/lib/transaction/exitDelegation.d.ts +26 -0
  23. package/dist/src/lib/transaction/exitDelegation.d.ts.map +1 -0
  24. package/dist/src/lib/transaction/exitDelegation.js +124 -0
  25. package/dist/src/lib/transaction/flushTokenTransaction.d.ts +20 -0
  26. package/dist/src/lib/transaction/flushTokenTransaction.d.ts.map +1 -0
  27. package/dist/src/lib/transaction/flushTokenTransaction.js +98 -0
  28. package/dist/src/lib/transaction/nftTransaction.d.ts +17 -0
  29. package/dist/src/lib/transaction/nftTransaction.d.ts.map +1 -0
  30. package/dist/src/lib/transaction/nftTransaction.js +108 -0
  31. package/dist/src/lib/transaction/stakingTransaction.d.ts +31 -0
  32. package/dist/src/lib/transaction/stakingTransaction.d.ts.map +1 -0
  33. package/dist/src/lib/transaction/stakingTransaction.js +169 -0
  34. package/dist/src/lib/transaction/tokenTransaction.d.ts +14 -0
  35. package/dist/src/lib/transaction/tokenTransaction.d.ts.map +1 -0
  36. package/dist/src/lib/transaction/tokenTransaction.js +95 -0
  37. package/dist/src/lib/transaction/transaction.d.ts +106 -0
  38. package/dist/src/lib/transaction/transaction.d.ts.map +1 -0
  39. package/dist/src/lib/transaction/transaction.js +472 -0
  40. package/dist/src/lib/transactionBuilder/addressInitializationBuilder.d.ts +78 -0
  41. package/dist/src/lib/transactionBuilder/addressInitializationBuilder.d.ts.map +1 -0
  42. package/dist/src/lib/transactionBuilder/addressInitializationBuilder.js +158 -0
  43. package/dist/src/lib/transactionBuilder/burnNftBuilder.d.ts +59 -0
  44. package/dist/src/lib/transactionBuilder/burnNftBuilder.d.ts.map +1 -0
  45. package/dist/src/lib/transactionBuilder/burnNftBuilder.js +118 -0
  46. package/dist/src/lib/transactionBuilder/claimRewardsBuilder.d.ts +57 -0
  47. package/dist/src/lib/transactionBuilder/claimRewardsBuilder.d.ts.map +1 -0
  48. package/dist/src/lib/transactionBuilder/claimRewardsBuilder.js +142 -0
  49. package/dist/src/lib/transactionBuilder/exitDelegationBuilder.d.ts +58 -0
  50. package/dist/src/lib/transactionBuilder/exitDelegationBuilder.d.ts.map +1 -0
  51. package/dist/src/lib/transactionBuilder/exitDelegationBuilder.js +115 -0
  52. package/dist/src/lib/transactionBuilder/flushTokenTransactionBuilder.d.ts +66 -0
  53. package/dist/src/lib/transactionBuilder/flushTokenTransactionBuilder.d.ts.map +1 -0
  54. package/dist/src/lib/transactionBuilder/flushTokenTransactionBuilder.js +129 -0
  55. package/dist/src/lib/transactionBuilder/nftTransactionBuilder.d.ts +23 -0
  56. package/dist/src/lib/transactionBuilder/nftTransactionBuilder.d.ts.map +1 -0
  57. package/dist/src/lib/transactionBuilder/nftTransactionBuilder.js +93 -0
  58. package/dist/src/lib/transactionBuilder/stakingBuilder.d.ts +73 -0
  59. package/dist/src/lib/transactionBuilder/stakingBuilder.d.ts.map +1 -0
  60. package/dist/src/lib/transactionBuilder/stakingBuilder.js +147 -0
  61. package/dist/src/lib/transactionBuilder/tokenTransactionBuilder.d.ts +21 -0
  62. package/dist/src/lib/transactionBuilder/tokenTransactionBuilder.d.ts.map +1 -0
  63. package/dist/src/lib/transactionBuilder/tokenTransactionBuilder.js +70 -0
  64. package/dist/src/lib/{transactionBuilder.d.ts → transactionBuilder/transactionBuilder.d.ts} +29 -18
  65. package/dist/src/lib/transactionBuilder/transactionBuilder.d.ts.map +1 -0
  66. package/dist/src/lib/transactionBuilder/transactionBuilder.js +155 -0
  67. package/dist/src/lib/{transferBuilder.d.ts → transactionBuilder/transferBuilder.d.ts} +4 -2
  68. package/dist/src/lib/transactionBuilder/transferBuilder.d.ts.map +1 -0
  69. package/dist/src/lib/transactionBuilder/transferBuilder.js +45 -0
  70. package/dist/src/lib/transactionBuilderFactory.d.ts +64 -5
  71. package/dist/src/lib/transactionBuilderFactory.d.ts.map +1 -1
  72. package/dist/src/lib/transactionBuilderFactory.js +140 -5
  73. package/dist/src/lib/types.d.ts +15 -0
  74. package/dist/src/lib/types.d.ts.map +1 -0
  75. package/dist/src/lib/types.js +3 -0
  76. package/dist/src/lib/utils.d.ts +82 -1
  77. package/dist/src/lib/utils.d.ts.map +1 -1
  78. package/dist/src/lib/utils.js +235 -3
  79. package/dist/src/register.d.ts.map +1 -1
  80. package/dist/src/register.js +9 -1
  81. package/dist/src/vet.d.ts +15 -4
  82. package/dist/src/vet.d.ts.map +1 -1
  83. package/dist/src/vet.js +154 -7
  84. package/dist/src/vetNFTCollection.d.ts +18 -0
  85. package/dist/src/vetNFTCollection.d.ts.map +1 -0
  86. package/dist/src/vetNFTCollection.js +52 -0
  87. package/dist/src/vetToken.d.ts +19 -0
  88. package/dist/src/vetToken.d.ts.map +1 -0
  89. package/dist/src/vetToken.js +52 -0
  90. package/dist/test/resources/vet.d.ts +68 -0
  91. package/dist/test/resources/vet.d.ts.map +1 -0
  92. package/dist/test/resources/vet.js +123 -0
  93. package/dist/test/transactionBuilder/addressInitializationBuilder.d.ts +2 -0
  94. package/dist/test/transactionBuilder/addressInitializationBuilder.d.ts.map +1 -0
  95. package/dist/test/transactionBuilder/addressInitializationBuilder.js +141 -0
  96. package/dist/test/transactionBuilder/burnNftBuilder.d.ts +2 -0
  97. package/dist/test/transactionBuilder/burnNftBuilder.d.ts.map +1 -0
  98. package/dist/test/transactionBuilder/burnNftBuilder.js +141 -0
  99. package/dist/test/transactionBuilder/claimRewardsBuilder.d.ts +2 -0
  100. package/dist/test/transactionBuilder/claimRewardsBuilder.d.ts.map +1 -0
  101. package/dist/test/transactionBuilder/claimRewardsBuilder.js +246 -0
  102. package/dist/test/transactionBuilder/exitDelegationBuilder.d.ts +2 -0
  103. package/dist/test/transactionBuilder/exitDelegationBuilder.d.ts.map +1 -0
  104. package/dist/test/transactionBuilder/exitDelegationBuilder.js +146 -0
  105. package/dist/test/transactionBuilder/flushTokenTransactionBuilder.d.ts +2 -0
  106. package/dist/test/transactionBuilder/flushTokenTransactionBuilder.d.ts.map +1 -0
  107. package/dist/test/transactionBuilder/flushTokenTransactionBuilder.js +132 -0
  108. package/dist/test/transactionBuilder/nftTransactionBuilder.d.ts +2 -0
  109. package/dist/test/transactionBuilder/nftTransactionBuilder.d.ts.map +1 -0
  110. package/dist/test/transactionBuilder/nftTransactionBuilder.js +242 -0
  111. package/dist/test/transactionBuilder/stakingTransaction.d.ts +2 -0
  112. package/dist/test/transactionBuilder/stakingTransaction.d.ts.map +1 -0
  113. package/dist/test/transactionBuilder/stakingTransaction.js +250 -0
  114. package/dist/test/transactionBuilder/tokenTransactionBuilder.d.ts +2 -0
  115. package/dist/test/transactionBuilder/tokenTransactionBuilder.d.ts.map +1 -0
  116. package/dist/test/transactionBuilder/tokenTransactionBuilder.js +249 -0
  117. package/dist/test/transactionBuilder/transferBuilder.d.ts +2 -0
  118. package/dist/test/transactionBuilder/transferBuilder.d.ts.map +1 -0
  119. package/dist/test/transactionBuilder/transferBuilder.js +214 -0
  120. package/dist/test/unit/keyPair.d.ts +2 -0
  121. package/dist/test/unit/keyPair.d.ts.map +1 -0
  122. package/dist/test/unit/keyPair.js +181 -0
  123. package/dist/test/unit/stakingFlowE2E.d.ts +2 -0
  124. package/dist/test/unit/stakingFlowE2E.d.ts.map +1 -0
  125. package/dist/test/unit/stakingFlowE2E.js +229 -0
  126. package/dist/test/unit/utils.d.ts +2 -0
  127. package/dist/test/unit/utils.d.ts.map +1 -0
  128. package/dist/test/unit/utils.js +106 -0
  129. package/dist/test/unit/vet.d.ts +2 -0
  130. package/dist/test/unit/vet.d.ts.map +1 -0
  131. package/dist/test/unit/vet.js +251 -0
  132. package/dist/tsconfig.tsbuildinfo +1 -0
  133. package/package.json +17 -9
  134. package/.eslintignore +0 -5
  135. package/.mocharc.yml +0 -8
  136. package/CHANGELOG.md +0 -20
  137. package/dist/src/lib/transaction.d.ts +0 -8
  138. package/dist/src/lib/transaction.d.ts.map +0 -1
  139. package/dist/src/lib/transaction.js +0 -17
  140. package/dist/src/lib/transactionBuilder.d.ts.map +0 -1
  141. package/dist/src/lib/transactionBuilder.js +0 -78
  142. package/dist/src/lib/transferBuilder.d.ts.map +0 -1
  143. package/dist/src/lib/transferBuilder.js +0 -15
@@ -0,0 +1,123 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.NFT_CONTRACT_ADDRESS = exports.TOKEN_ADDRESS = exports.FEE_ADDRESS = exports.BASE_ADDRESS = exports.CREATE_FORWARDER_METHOD = exports.FORWARDER_IMPLEMENTATION_ADDRESS = exports.FORWARDER_FACTORY_ADDRESS = exports.feePayer = exports.nftRecipients2 = exports.nftRecipients = exports.recipients = exports.invalidRecipients = exports.blockIds = exports.completeSignedSerializedHex3 = exports.senderSignedSerializedHex3 = exports.completeSignedSerializedHex2 = exports.completeSignedSerializedHex = exports.senderSignedSerializedTxHex2 = exports.senderSignedSerializedTxHex = exports.feePayerSig3 = exports.senderSig3 = exports.feePayerSig2 = exports.senderSig2 = exports.feePayerSig = exports.senderSig = exports.addresses = exports.TRANSFER_CLAUSE = exports.INVALID_TRANSACTION = exports.FLUSH_TOKEN_SIGNABLE_PAYLOAD = exports.FLUSH_TOKEN_DATA = exports.FLUSH_TOKEN_TRANSACTION = exports.FORWARDER_ADDRESS_NEW = exports.FORWARDER_ADDRESS = exports.ADDRESS_INITIALIZATION_SIGNABLE_PAYLOAD = exports.ADDRESS_INITIALIZATION_DATA = exports.ADDRESS_INITIALIZATION_TRANSACTION = exports.UNSIGNED_TRANSACTION_4 = exports.UNSIGNED_TRANSACTION_3 = exports.UNSIGNED_TRANSACTION_2 = exports.UNSIGNED_TRANSACTION = exports.VALID_NFT_SIGNABLE_PAYLOAD = exports.VALID_TOKEN_SIGNABLE_PAYLOAD = exports.STAKING_CONTRACT_ADDRESS = exports.STAKING_AUTORENEW = exports.STAKING_LEVEL_ID = exports.STAKING_TRANSACTION = exports.SPONSORED_NFT_TRANSACTION = exports.SPONSORED_TOKEN_TRANSACTION = exports.SPONSORED_TRANSACTION = exports.AMOUNT = void 0;
4
+ exports.VALID_NFT_CONTRACT_DATA = exports.SERIALIZED_SIGNED_FLUSH_TOKEN_TX = exports.SERIALIZED_SIGNED_ADDRESS_INIT_TX = exports.SALT = void 0;
5
+ exports.AMOUNT = 100000000000000000; // 0.1 VET in base units
6
+ exports.SPONSORED_TRANSACTION = '0xf8bc2788014e9cad44bade0940e0df94e59f1cea4e0fef511e3d0f4eec44adf19c4cbeec88016345785d8a0000808180825208808302d6b5c101b882ee76129c1259eb0c8a2b3b3e5f2b089cd11068da1c0db32a9e22228db83dd4be5c721858bc813514141fbd5cf641d0972ce47ceb9be61133fa2ebf0ea37c1f290011fdce201f56d639d827035a5ed8bcef42a42f6eb562bc76a6d95c7736cf8cf340122d1e2fb034668dc491d47b7d3bb10724ba2338a6e79df87bce9617fdce9c00';
7
+ exports.SPONSORED_TOKEN_TRANSACTION = '0xf8fb278801543ac0a0b3aaf940f85ef85c940000000000000000000000000000456e6572677980b844a9059cbb000000000000000000000000e59f1cea4e0fef511e3d0f4eec44adf19c4cbeec000000000000000000000000000000000000000000000000016345785d8a0000818082c93e808307e669c101b8825dc39997717119cec9e65bfc927d1ad6ef31956e4747f95cea49f76f9e66164a737a155a6694f86287bcec043a83c7f9a3169fd3bb57ce617ab3fd4c59da437701277f6455fc041e672082bff003e75520c3167ad61edd98fba7e0ed87eb5323fc47feb3f51bfe2faa31c2174a2f7bb548e9727d7628f15137b4007a26651413fd00';
8
+ exports.SPONSORED_NFT_TRANSACTION = '0xf9011a2788014ead140e77bbc140f87ef87c941ec1d168574603ec35b9d229843b7c2b44bcb77080b86423b872dd000000000000000000000000c0716f386a0a78361962d1f64ce2256a2c871bb50000000000000000000000007ca00e3bc8a836026c2917c6c7c6d049e52099dd000000000000000000000000000000000000000000000000000000000001872381808252088082faf8c101b882212d212effea03773f4228cd049efe42c3efe54f18378def52f0ad349637248d67d0eec6fd9bc7ddc5ab4d98f22c4fc8de485e2403f90a68b2613e214245c0a401758c9d00ada40ebc36890bbf8cf1c84070e0950dcbb6cad94a4c9a4c0ffe16c7486c5b674207c4d916f7ed7cb501c73daaafc49cfe7685cf1e0f8054a7fa460300';
9
+ exports.STAKING_TRANSACTION = '0xf901032788015d55fcf2457e7c40f866f864941856c533ac2d94340aaa8544d35a5c1d4a21dee7880de0b6b3a7640000b844d8da3bbf0000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000181808265848083094c53c101b882efcb9ea88e908d1a142db96c1b44dd056ea194f1ad45670c100a8c52348cc7b20387741260ebe7fe9b7594f96693c88662fa60edba5992332728222b0bdd8a30008535368bd901319eb4513d16bebc428dc8454d32a19eeb76372849a6134ebbba79f1eeceea1f6546574b945c05489222cb451f5b0e2901b0c687b750e833aeb800';
10
+ exports.STAKING_LEVEL_ID = 8;
11
+ exports.STAKING_AUTORENEW = true;
12
+ exports.STAKING_CONTRACT_ADDRESS = '0x1ec1d168574603ec35b9d229843b7c2b44bcb770';
13
+ exports.VALID_TOKEN_SIGNABLE_PAYLOAD = 'f8762788014ead140e77bbc140f85ef85c940000000000000000000000000000456e6572677980b844a9059cbb000000000000000000000000e59f1cea4e0fef511e3d0f4eec44adf19c4cbeec000000000000000000000000000000000000000000000000016345785d8a000081808252088082faf8c101';
14
+ exports.VALID_NFT_SIGNABLE_PAYLOAD = 'f8962788014ead140e77bbc140f87ef87c941ec1d168574603ec35b9d229843b7c2b44bcb77080b86423b872dd000000000000000000000000c0716f386a0a78361962d1f64ce2256a2c871bb50000000000000000000000007ca00e3bc8a836026c2917c6c7c6d049e52099dd000000000000000000000000000000000000000000000000000000000001872381808252088082faf8c101';
15
+ exports.UNSIGNED_TRANSACTION = '0xf4278801536ce9e9fb063840dddc94c52584d1c56e7bddcb6f65d50ff00f71e0ef897a85e8d4a510008081808252088083061c70c0';
16
+ exports.UNSIGNED_TRANSACTION_2 = '0xf72788014ead140e77bbc140e0df94e59f1cea4e0fef511e3d0f4eec44adf19c4cbeec88016345785d8a00008081808252088082faf8c101';
17
+ exports.UNSIGNED_TRANSACTION_3 = '0xf8762788014ead140e77bbc140f85ef85c940000000000000000000000000000456e6572677980b844a9059cbb000000000000000000000000e59f1cea4e0fef511e3d0f4eec44adf19c4cbeec000000000000000000000000000000000000000000000000016345785d8a000081808252088082faf8c101';
18
+ //unsigned nft transaction
19
+ exports.UNSIGNED_TRANSACTION_4 = '0xf8962788014ead140e77bbc140f87ef87c941ec1d168574603ec35b9d229843b7c2b44bcb77080b86423b872dd0000000000000000000000007ca00e3bc8a836026c2917c6c7c6d049e52099dd000000000000000000000000e59f1cea4e0fef511e3d0f4eec44adf19c4cbeec000000000000000000000000000000000000000000000000000000000001872381808252088082faf8c101';
20
+ exports.ADDRESS_INITIALIZATION_TRANSACTION = '0xf8952788014ead140e77bbc140f87ef87c9465343e18c376d2fc8c3cf10cd146d63e2e0dc9ef80b86413b2f75c00000000000000000000000055b00b5c807d5696197b48d4affa40bb876df2400000000000000000000000007c87b9ffc6fd6c167c0e4fa9418720f3d659358e000000000000000000000000000000000000000000000000000000000000000181808252088082faf8c0';
21
+ exports.ADDRESS_INITIALIZATION_DATA = '0x13b2f75c00000000000000000000000055b00b5c807d5696197b48d4affa40bb876df2400000000000000000000000007c87b9ffc6fd6c167c0e4fa9418720f3d659358e0000000000000000000000000000000000000000000000000000000000000001';
22
+ exports.ADDRESS_INITIALIZATION_SIGNABLE_PAYLOAD = 'f8952788014ead140e77bbc140f87ef87c9465343e18c376d2fc8c3cf10cd146d63e2e0dc9ef80b86413b2f75c00000000000000000000000055b00b5c807d5696197b48d4affa40bb876df2400000000000000000000000007c87b9ffc6fd6c167c0e4fa9418720f3d659358e000000000000000000000000000000000000000000000000000000000000000181808252088082faf8c0';
23
+ exports.FORWARDER_ADDRESS = '0x043fde2fa0ece77c2461a9571f3b1b1c6faca120';
24
+ exports.FORWARDER_ADDRESS_NEW = '0x604a42898388080d56bc85f815965d1f64beb1a6';
25
+ exports.FLUSH_TOKEN_TRANSACTION = '0xf8542788014ead140e77bbc140f83df83b94043fde2fa0ece77c2461a9571f3b1b1c6faca12080a43ef133670000000000000000000000000000000000000000000000000000456e6572677981808252088082faf8c0';
26
+ exports.FLUSH_TOKEN_DATA = '0x3ef133670000000000000000000000000000000000000000000000000000456e65726779';
27
+ exports.FLUSH_TOKEN_SIGNABLE_PAYLOAD = 'f8542788014ead140e77bbc140f83df83b94043fde2fa0ece77c2461a9571f3b1b1c6faca12080a43ef133670000000000000000000000000000000000000000000000000000456e6572677981808252088082faf8c0';
28
+ exports.INVALID_TRANSACTION = '0xf8bc2788014ea060b5b5997e40e0df94e5f4eec44adf19c4cbeec88016345785d8a000080818082520880830bf84fc101b882418e212a40b29da685a7312829e8d1d3708b654f4ddb4388a7a80f5af3e5423b455451901d9b837fe18501e6ea5ec7d3d2711f00073d553aabe40e0260ec8a6f00da557d0a1af66b82b457324bc6fc86c7f0362e76c15b64432e66b6fa62fca38c7d208a604d1a7ec5356c95fec7bc6f332d16718a91a53e0e99e3a81ae3205ab400';
29
+ exports.TRANSFER_CLAUSE = [
30
+ {
31
+ to: '0xe59f1cea4e0fef511e3d0f4eec44adf19c4cbeec',
32
+ value: 1000000000000,
33
+ data: '0x',
34
+ },
35
+ ];
36
+ exports.addresses = {
37
+ validAddresses: [
38
+ '0x7ca00e3bc8a836026c2917c6c7c6d049e52099dd',
39
+ '0xe59F1cea4e0FEf511e3d0f4EEc44ADf19C4cbeEC',
40
+ '0x7c87b9ffc6fd6c167c0e4fa9418720f3d659358e',
41
+ '0xc0716f386a0a78361962d1f64ce2256a2c871bb5',
42
+ ],
43
+ invalidAddresses: [
44
+ 'randomString',
45
+ '0xc4173a804406a365e69dfb297ddfgsdcvf',
46
+ '5ne7phA48Jrvpn39AtupB8ZkCCAy8gLTfpGihZPuDqen',
47
+ ],
48
+ };
49
+ exports.senderSig = '062080cc77db9d5ce5db84f1cfb57c9906c9bfdce78e4d53757bbd3d536c731e1e5e406a4e783a4f63446aa28d21dc27796aae90fac79151c3d0b3ba68cde36801';
50
+ exports.feePayerSig = '47ae79e23effd233206180ece3ab3d6d496310c03c55bd0566a54bb7d42095c97a90ca9ff4cfb94ec579a7ec7f79de4814dfc816d0a130189c07b746945482fb00';
51
+ exports.senderSig2 = '9d05e90a00c538afd68652f63a4e21481d1d082fdbd4a300b04b561dc76185ad292bb48d70846bd0fb8b526782b9d2f940dbcee3bc554bfb7b53e362bbcb39d701';
52
+ exports.feePayerSig2 = '45d8aec4d2ed5f74b788695ceb76d18dd3597503bc0466d667493b2aff2c2b095d352788a345b2e3b49e9ad19bc28b0bdee45d0cce986962e61b0febe60a259301';
53
+ exports.senderSig3 = '212d212effea03773f4228cd049efe42c3efe54f18378def52f0ad349637248d67d0eec6fd9bc7ddc5ab4d98f22c4fc8de485e2403f90a68b2613e214245c0a401';
54
+ exports.feePayerSig3 = '758c9d00ada40ebc36890bbf8cf1c84070e0950dcbb6cad94a4c9a4c0ffe16c7486c5b674207c4d916f7ed7cb501c73daaafc49cfe7685cf1e0f8054a7fa460300';
55
+ exports.senderSignedSerializedTxHex = '0xf72788014ead140e77bbc140e0df94e59f1cea4e0fef511e3d0f4eec44adf19c4cbeec88016345785d8a00008081808252088082faf8c101';
56
+ exports.senderSignedSerializedTxHex2 = '0xf8762788014ead140e77bbc140f85ef85c940000000000000000000000000000456e6572677980b844a9059cbb000000000000000000000000e59f1cea4e0fef511e3d0f4eec44adf19c4cbeec000000000000000000000000000000000000000000000000016345785d8a000081808252088082faf8c101';
57
+ exports.completeSignedSerializedHex = '0xf8bb2788014ead140e77bbc140e0df94e59f1cea4e0fef511e3d0f4eec44adf19c4cbeec88016345785d8a00008081808252088082faf8c101b882062080cc77db9d5ce5db84f1cfb57c9906c9bfdce78e4d53757bbd3d536c731e1e5e406a4e783a4f63446aa28d21dc27796aae90fac79151c3d0b3ba68cde3680147ae79e23effd233206180ece3ab3d6d496310c03c55bd0566a54bb7d42095c97a90ca9ff4cfb94ec579a7ec7f79de4814dfc816d0a130189c07b746945482fb00';
58
+ exports.completeSignedSerializedHex2 = '0xf8fa2788014ead140e77bbc140f85ef85c940000000000000000000000000000456e6572677980b844a9059cbb000000000000000000000000e59f1cea4e0fef511e3d0f4eec44adf19c4cbeec000000000000000000000000000000000000000000000000016345785d8a000081808252088082faf8c101b8829d05e90a00c538afd68652f63a4e21481d1d082fdbd4a300b04b561dc76185ad292bb48d70846bd0fb8b526782b9d2f940dbcee3bc554bfb7b53e362bbcb39d70145d8aec4d2ed5f74b788695ceb76d18dd3597503bc0466d667493b2aff2c2b095d352788a345b2e3b49e9ad19bc28b0bdee45d0cce986962e61b0febe60a259301';
59
+ exports.senderSignedSerializedHex3 = '0xf8962788014ead140e77bbc140f87ef87c941ec1d168574603ec35b9d229843b7c2b44bcb77080b86423b872dd000000000000000000000000c0716f386a0a78361962d1f64ce2256a2c871bb50000000000000000000000007ca00e3bc8a836026c2917c6c7c6d049e52099dd000000000000000000000000000000000000000000000000000000000001872381808252088082faf8c101';
60
+ exports.completeSignedSerializedHex3 = '0xf9011a2788014ead140e77bbc140f87ef87c941ec1d168574603ec35b9d229843b7c2b44bcb77080b86423b872dd000000000000000000000000c0716f386a0a78361962d1f64ce2256a2c871bb50000000000000000000000007ca00e3bc8a836026c2917c6c7c6d049e52099dd000000000000000000000000000000000000000000000000000000000001872381808252088082faf8c101b882212d212effea03773f4228cd049efe42c3efe54f18378def52f0ad349637248d67d0eec6fd9bc7ddc5ab4d98f22c4fc8de485e2403f90a68b2613e214245c0a401758c9d00ada40ebc36890bbf8cf1c84070e0950dcbb6cad94a4c9a4c0ffe16c7486c5b674207c4d916f7ed7cb501c73daaafc49cfe7685cf1e0f8054a7fa460300';
61
+ exports.blockIds = {
62
+ validBlockIds: [
63
+ '0x014f12ed94c4b4770f7f9a73e2aa41a9dfbac02a49f36ec05acfdba8c7244ff0',
64
+ '0x014f130d00a2fe06d471a35e7f2cd18d25bdefe5370c07a2ad68c0ae3852ad86',
65
+ ],
66
+ invalidBlockIds: [
67
+ 'randomString',
68
+ '0xc4173a804406a365e69dfb297ddfgsdcvf',
69
+ '5ne7phA48Jrvpn39AtupB8ZkCCAy8gLTfpGihZPuDqen',
70
+ ],
71
+ };
72
+ exports.invalidRecipients = [
73
+ {
74
+ address: exports.addresses.invalidAddresses[0],
75
+ amount: exports.AMOUNT.toString(),
76
+ },
77
+ {
78
+ address: exports.addresses.validAddresses[0],
79
+ amount: '-919191',
80
+ },
81
+ {
82
+ address: exports.addresses.validAddresses[0],
83
+ amount: 'invalidAmount',
84
+ },
85
+ {
86
+ address: exports.addresses.validAddresses[0],
87
+ amount: exports.AMOUNT.toString(),
88
+ },
89
+ ];
90
+ exports.recipients = [
91
+ {
92
+ address: exports.addresses.validAddresses[1].toLowerCase(),
93
+ amount: exports.AMOUNT.toString(),
94
+ },
95
+ ];
96
+ exports.nftRecipients = [
97
+ {
98
+ address: exports.addresses.validAddresses[1].toLowerCase(),
99
+ amount: '1',
100
+ },
101
+ ];
102
+ exports.nftRecipients2 = [
103
+ {
104
+ address: exports.addresses.validAddresses[0].toLowerCase(),
105
+ amount: '1',
106
+ },
107
+ ];
108
+ exports.feePayer = {
109
+ address: '0xdc9fef0b84a0ccf3f1bd4b84e41743e3e051a083',
110
+ };
111
+ // Use the hardcoded values from the VetTestnet class in networks.ts
112
+ exports.FORWARDER_FACTORY_ADDRESS = '0x65343e18c376d2fc8c3cf10cd146d63e2e0dc9ef';
113
+ exports.FORWARDER_IMPLEMENTATION_ADDRESS = '0x62de34c87f847d385af07f6c25dbd97b1fffefc0';
114
+ exports.CREATE_FORWARDER_METHOD = '0x13b2f75c';
115
+ exports.BASE_ADDRESS = '0x55b00b5c807d5696197b48d4affa40bb876df240';
116
+ exports.FEE_ADDRESS = '0x7c87b9ffc6fd6c167c0e4fa9418720f3d659358e';
117
+ exports.TOKEN_ADDRESS = '0x0000000000000000000000000000456e65726779';
118
+ exports.NFT_CONTRACT_ADDRESS = '0x1ec1d168574603ec35b9d229843b7c2b44bcb770';
119
+ exports.SALT = '0x1';
120
+ exports.SERIALIZED_SIGNED_ADDRESS_INIT_TX = '0xf8d927880152c906531784bd40f87ef87c9465343e18c376d2fc8c3cf10cd146d63e2e0dc9ef80b86413b2f75c00000000000000000000000055b00b5c807d5696197b48d4affa40bb876df2400000000000000000000000007c87b9ffc6fd6c167c0e4fa9418720f3d659358e00000000000000000000000000000000000000000000000000000000000000048180830249f08082faf8c0b84196577046ecbba640d8f5914a7b4cb99f9ab479359bcda5368cc9afdfb55994a0469af071cdeb4cac92caaf0be7fedf492d2215f83baa00d4abac31cf48eeddd900';
121
+ exports.SERIALIZED_SIGNED_FLUSH_TOKEN_TX = '0xf89827880152cf455536ebc740f83df83b94604a42898388080d56bc85f815965d1f64beb1a680a43ef133670000000000000000000000000000000000000000000000000000456e657267798180830249f08082faf9c0b841b5225a0d5c63fd4ceee2fefe94759d20e37c29ebcd15fc03eb699d4af5bb210c258583f9e8e26e872751e255c2f0fe9d44d52ce65b6b76040476e285074a4b5901';
122
+ exports.VALID_NFT_CONTRACT_DATA = '0x23b872dd0000000000000000000000007ca00e3bc8a836026c2917c6c7c6d049e52099dd000000000000000000000000e59f1cea4e0fef511e3d0f4eec44adf19c4cbeec00000000000000000000000000000000000000000000000000000000000004d2';
123
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmV0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vdGVzdC9yZXNvdXJjZXMvdmV0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFFYSxRQUFBLE1BQU0sR0FBRyxrQkFBa0IsQ0FBQyxDQUFDLHdCQUF3QjtBQUVyRCxRQUFBLHFCQUFxQixHQUNoQyxnWUFBZ1ksQ0FBQztBQUV0WCxRQUFBLDJCQUEyQixHQUN0Qyw4ZkFBOGYsQ0FBQztBQUVwZixRQUFBLHlCQUF5QixHQUNwQyw4akJBQThqQixDQUFDO0FBRXBqQixRQUFBLG1CQUFtQixHQUM5QixnaEJBQWdoQixDQUFDO0FBRXRnQixRQUFBLGdCQUFnQixHQUFHLENBQUMsQ0FBQztBQUNyQixRQUFBLGlCQUFpQixHQUFHLElBQUksQ0FBQztBQUN6QixRQUFBLHdCQUF3QixHQUFHLDRDQUE0QyxDQUFDO0FBRXhFLFFBQUEsNEJBQTRCLEdBQ3ZDLGtQQUFrUCxDQUFDO0FBRXhPLFFBQUEsMEJBQTBCLEdBQ3JDLGtUQUFrVCxDQUFDO0FBRXhTLFFBQUEsb0JBQW9CLEdBQy9CLDhHQUE4RyxDQUFDO0FBRXBHLFFBQUEsc0JBQXNCLEdBQ2pDLG9IQUFvSCxDQUFDO0FBRTFHLFFBQUEsc0JBQXNCLEdBQ2pDLG9QQUFvUCxDQUFDO0FBRXZQLDBCQUEwQjtBQUNiLFFBQUEsc0JBQXNCLEdBQ2pDLG9UQUFvVCxDQUFDO0FBRTFTLFFBQUEsa0NBQWtDLEdBQzdDLGtUQUFrVCxDQUFDO0FBRXhTLFFBQUEsMkJBQTJCLEdBQ3RDLDRNQUE0TSxDQUFDO0FBRWxNLFFBQUEsdUNBQXVDLEdBQ2xELGdUQUFnVCxDQUFDO0FBRXRTLFFBQUEsaUJBQWlCLEdBQUcsNENBQTRDLENBQUM7QUFFakUsUUFBQSxxQkFBcUIsR0FBRyw0Q0FBNEMsQ0FBQztBQUVyRSxRQUFBLHVCQUF1QixHQUNsQyxnTEFBZ0wsQ0FBQztBQUV0SyxRQUFBLGdCQUFnQixHQUFHLDRFQUE0RSxDQUFDO0FBRWhHLFFBQUEs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QkFBdUIsR0FBRyxZQUFZLENBQUM7QUFFdkMsUUFBQSxZQUFZLEdBQUcsNENBQTRDLENBQUM7QUFFNUQsUUFBQSxXQUFXLEdBQUcsNENBQTRDLENBQUM7QUFFM0QsUUFBQSxhQUFhLEdBQUcsNENBQTRDLENBQUM7QUFFN0QsUUFBQSxvQkFBb0IsR0FBRyw0Q0FBNEMsQ0FBQztBQUVwRSxRQUFBLElBQUksR0FBRyxLQUFLLENBQUM7QUFFYixRQUFBLGlDQUFpQyxHQUM1QywwYkFBMGIsQ0FBQztBQUVoYixRQUFBLGdDQUFnQyxHQUMzQyx3VEFBd1QsQ0FBQztBQUU5UyxRQUFBLHVCQUF1QixHQUNsQyw0TUFBNE0sQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFJlY2lwaWVudCB9IGZyb20gJ0BiaXRnby1iZXRhL3Nkay1jb3JlJztcblxuZXhwb3J0IGNvbnN0IEFNT1VOVCA9IDEwMDAwMDAwMDAwMDAwMDAwMDsgLy8gMC4xIFZFVCBpbiBiYXNlIHVuaXRzXG5cbmV4cG9ydCBjb25zdCBTUE9OU09SRURfVFJBTlNBQ1RJT04gPVxuICAnMHhmOGJjMjc4ODAxNGU5Y2FkNDRiYWRlMDk0MGUwZGY5NGU1OWYxY2VhNGUwZmVmNTExZTNkMGY0ZWVjNDRhZGYxOWM0Y2JlZWM4ODAxNjM0NTc4NWQ4YTAwMDA4MDgxODA4MjUyMDg4MDgzMDJkNmI1YzEwMWI4ODJlZTc2MTI5YzEyNTllYjBjOGEyYjNiM2U1ZjJiMDg5Y2QxMTA2OGRhMWMwZGIzMmE5ZTIyMjI4ZGI4M2RkNGJlNWM3MjE4NThiYzgxMzUxNDE0MWZiZDVjZjY0MWQwOTcyY2U0N2NlYjliZTYxMTMzZmEyZWJmMGVhMzdjMWYyOTAwMTFmZGNlMjAxZjU2ZDYzOWQ4MjcwMzVhNWVkOGJjZWY0MmE0MmY2ZWI1NjJiYzc2YTZkOTVjNzczNmNmOGNmMzQwMTIyZDFlMmZiMDM0NjY4ZGM0OTFkNDdiN2QzYmIxMDcyNGJhMjMzOGE2ZTc5ZGY4N2JjZTk2MTdmZGNlOWMwMCc7XG5cbmV4cG9ydCBjb25zdCBTUE9OU09SRURfVE9LRU5fVFJBTlNBQ1RJT04gPVxuICAnMHhmOGZiMjc4ODAxNTQzYWMwYTBiM2FhZjk0MGY4NWVmODVjOTQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNDU2ZTY1NzI2Nzc5ODBiODQ0YTkwNTljYmIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBlNTlmMWNlYTRlMGZlZjUxMWUzZDBmNGVlYzQ0YWRmMTljNGNiZWVjMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDE2MzQ1Nzg1ZDhhMDAwMDgxODA4MmM5M2U4MDgzMDdlNjY5YzEwMWI4ODI1ZGMzOTk5NzcxNzExOWNlYzllNjViZmM5MjdkMWFkNmVmMzE5NTZlNDc0N2Y5NWNlYTQ5Zjc2ZjllNjYxNjRhNzM3YTE1NWE2Njk0Zjg2Mjg3YmNlYzA0M2E4M2M3ZjlhMzE2OWZkM2JiNTdjZTYxN2FiM2ZkNGM1OWRhNDM3NzAxMjc3ZjY0NTVmYzA0MWU2NzIwODJiZmYwMDNlNzU1MjBjMzE2N2FkNjFlZGQ5OGZiYTdlMGVkODdlYjUzMjNmYzQ3ZmViM2Y1MWJmZTJmYWEzMWMyMTc0YTJmN2JiNTQ4ZTk3MjdkNzYyOGYxNTEzN2I0MDA3YTI2NjUxNDEzZmQwMCc7XG5cbmV4cG9ydCBjb25zdCBTUE9OU09SRURfTkZUX1RSQU5TQUNUSU9OID1cbiAgJzB4ZjkwMTFhMjc4ODAxNGVhZDE0MGU3N2JiYzE0MGY4N2VmODdjOTQxZWMxZDE2ODU3NDYwM2VjMzViOWQyMjk4NDNiN2MyYjQ0YmNiNzcwODBiODY0MjNiODcyZGQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBjMDcxNmYzODZhMGE3ODM2MTk2MmQxZjY0Y2UyMjU2YTJjODcxYmI1MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwN2NhMDBlM2JjOGE4MzYwMjZjMjkxN2M2YzdjNmQwNDllNTIwOTlkZDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTg3MjM4MTgwODI1MjA4ODA4MmZhZjhjMTAxYjg4MjIxMmQyMTJlZmZlYTAzNzczZjQyMjhjZDA0OWVmZTQyYzNlZmU1NGYxODM3OGRlZjUyZjBhZDM0OTYzNzI0OGQ2N2QwZWVjNmZkOWJjN2RkYzVhYjRkOThmMjJjNGZjOGRlNDg1ZTI0MDNmOTBhNjhiMjYxM2UyMTQyNDVjMGE0MDE3NThjOWQwMGFkYTQwZWJjMzY4OTBiYmY4Y2YxYzg0MDcwZTA5NTBkY2JiNmNhZDk0YTRjOWE0YzBmZmUxNmM3NDg2YzViNjc0MjA3YzRkOTE2ZjdlZDdjYjUwMWM3M2RhYWFmYzQ5Y2ZlNzY4NWNmMWUwZjgwNTRhN2ZhNDYwMzAwJztcblxuZXhwb3J0IGNvbnN0IFNUQUtJTkdfVFJBTlNBQ1RJT04gPVxuICAnMHhmOTAxMDMyNzg4MDE1ZDU1ZmNmMjQ1N2U3YzQwZjg2NmY4NjQ5NDE4NTZjNTMzYWMyZDk0MzQwYWFhODU0NGQzNWE1YzFkNGEyMWRlZTc4ODBkZTBiNmIzYTc2NDAwMDBiODQ0ZDhkYTNiYmYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTgxODA4MjY1ODQ4MDgzMDk0YzUzYzEwMWI4ODJlZmNiOWVhODhlOTA4ZDFhMTQyZGI5NmMxYjQ0ZGQwNTZlYTE5NGYxYWQ0NTY3MGMxMDBhOGM1MjM0OGNjN2IyMDM4Nzc0MTI2MGViZTdmZTliNzU5NGY5NjY5M2M4ODY2MmZhNjBlZGJhNTk5MjMzMjcyODIyMmIwYmRkOGEzMDAwODUzNTM2OGJkOTAxMzE5ZWI0NTEzZDE2YmViYzQyOGRjODQ1NGQzMmExOWVlYjc2MzcyODQ5YTYxMzRlYmJiYTc5ZjFlZWNlZWExZjY1NDY1NzRiOTQ1YzA1NDg5MjIyY2I0NTFmNWIwZTI5MDFiMGM2ODdiNzUwZTgzM2FlYjgwMCc7XG5cbmV4cG9ydCBjb25zdCBTVEFLSU5HX0xFVkVMX0lEID0gODtcbmV4cG9ydCBjb25zdCBTVEFLSU5HX0FVVE9SRU5FVyA9IHRydWU7XG5leHBvcnQgY29uc3QgU1RBS0lOR19DT05UUkFDVF9BRERSRVNTID0gJzB4MWVjMWQxNjg1NzQ2MDNlYzM1YjlkMjI5ODQzYjdjMmI0NGJjYjc3MCc7XG5cbmV4cG9ydCBjb25zdCBWQUxJRF9UT0tFTl9TSUdOQUJMRV9QQVlMT0FEID1cbiAgJ2Y4NzYyNzg4MDE0ZWFkMTQwZTc3YmJjMTQwZjg1ZWY4NWM5NDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0NTZlNjU3MjY3Nzk4MGI4NDRhOTA1OWNiYjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMGU1OWYxY2VhNGUwZmVmNTExZTNkMGY0ZWVjNDRhZGYxOWM0Y2JlZWMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTYzNDU3ODVkOGEwMDAwODE4MDgyNTIwODgwODJmYWY4YzEwMSc7XG5cbmV4cG9ydCBjb25zdCBWQUxJRF9ORlRfU0lHTkFCTEVfUEFZTE9BRCA9XG4gICdmODk2Mjc4ODAxNGVhZDE0MGU3N2JiYzE0MGY4N2VmODdjOTQxZWMxZDE2ODU3NDYwM2VjMzViOWQyMjk4NDNiN2MyYjQ0YmNiNzcwODBiODY0MjNiODcyZGQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBjMDcxNmYzODZhMGE3ODM2MTk2MmQxZjY0Y2UyMjU2YTJjODcxYmI1MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwN2NhMDBlM2JjOGE4MzYwMjZjMjkxN2M2YzdjNmQwNDllNTIwOTlkZDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTg3MjM4MTgwODI1MjA4ODA4MmZhZjhjMTAxJztcblxuZXhwb3J0IGNvbnN0IFVOU0lHTkVEX1RSQU5TQUNUSU9OID1cbiAgJzB4ZjQyNzg4MDE1MzZjZTllOWZiMDYzODQwZGRkYzk0YzUyNTg0ZDFjNTZlN2JkZGNiNmY2NWQ1MGZmMDBmNzFlMGVmODk3YTg1ZThkNGE1MTAwMDgwODE4MDgyNTIwODgwODMwNjFjNzBjMCc7XG5cbmV4cG9ydCBjb25zdCBVTlNJR05FRF9UUkFOU0FDVElPTl8yID1cbiAgJzB4ZjcyNzg4MDE0ZWFkMTQwZTc3YmJjMTQwZTBkZjk0ZTU5ZjFjZWE0ZTBmZWY1MTFlM2QwZjRlZWM0NGFkZjE5YzRjYmVlYzg4MDE2MzQ1Nzg1ZDhhMDAwMDgwODE4MDgyNTIwODgwODJmYWY4YzEwMSc7XG5cbmV4cG9ydCBjb25zdCBVTlNJR05FRF9UUkFOU0FDVElPTl8zID1cbiAgJzB4Zjg3NjI3ODgwMTRlYWQxNDBlNzdiYmMxNDBmODVlZjg1Yzk0MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDQ1NmU2NTcyNjc3OTgwYjg0NGE5MDU5Y2JiMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwZTU5ZjFjZWE0ZTBmZWY1MTFlM2QwZjRlZWM0NGFkZjE5YzRjYmVlYzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxNjM0NTc4NWQ4YTAwMDA4MTgwODI1MjA4ODA4MmZhZjhjMTAxJztcblxuLy91bnNpZ25lZCBuZnQgdHJhbnNhY3Rpb25cbmV4cG9ydCBjb25zdCBVTlNJR05FRF9UUkFOU0FDVElPTl80ID1cbiAgJzB4Zjg5NjI3ODgwMTRlYWQxNDBlNzdiYmMxNDBmODdlZjg3Yzk0MWVjMWQxNjg1NzQ2MDNlYzM1YjlkMjI5ODQzYjdjMmI0NGJjYjc3MDgwYjg2NDIzYjg3MmRkMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwN2NhMDBlM2JjOGE4MzYwMjZjMjkxN2M2YzdjNmQwNDllNTIwOTlkZDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMGU1OWYxY2VhNGUwZmVmNTExZTNkMGY0ZWVjNDRhZGYxOWM0Y2JlZWMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDE4NzIzODE4MDgyNTIwODgwODJmYWY4YzEwMSc7XG5cbmV4cG9ydCBjb25zdCBBRERSRVNTX0lOSVRJQUxJWkFUSU9OX1RSQU5TQUNUSU9OID1cbiAgJzB4Zjg5NTI3ODgwMTRlYWQxNDBlNzdiYmMxNDBmODdlZjg3Yzk0NjUzNDNlMThjMzc2ZDJmYzhjM2NmMTBjZDE0NmQ2M2UyZTBkYzllZjgwYjg2NDEzYjJmNzVjMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNTViMDBiNWM4MDdkNTY5NjE5N2I0OGQ0YWZmYTQwYmI4NzZkZjI0MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDdjODdiOWZmYzZmZDZjMTY3YzBlNGZhOTQxODcyMGYzZDY1OTM1OGUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxODE4MDgyNTIwODgwODJmYWY4YzAnO1xuXG5leHBvcnQgY29uc3QgQUREUkVTU19JTklUSUFMSVpBVElPTl9EQVRBID1cbiAgJzB4MTNiMmY3NWMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA1NWIwMGI1YzgwN2Q1Njk2MTk3YjQ4ZDRhZmZhNDBiYjg3NmRmMjQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwN2M4N2I5ZmZjNmZkNmMxNjdjMGU0ZmE5NDE4NzIwZjNkNjU5MzU4ZTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEnO1xuXG5leHBvcnQgY29uc3QgQUREUkVTU19JTklUSUFMSVpBVElPTl9TSUdOQUJMRV9QQVlMT0FEID1cbiAgJ2Y4OTUyNzg4MDE0ZWFkMTQwZTc3YmJjMTQwZjg3ZWY4N2M5NDY1MzQzZTE4YzM3NmQyZmM4YzNjZjEwY2QxNDZkNjNlMmUwZGM5ZWY4MGI4NjQxM2IyZjc1YzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDU1YjAwYjVjODA3ZDU2OTYxOTdiNDhkNGFmZmE0MGJiODc2ZGYyNDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA3Yzg3YjlmZmM2ZmQ2YzE2N2MwZTRmYTk0MTg3MjBmM2Q2NTkzNThlMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTgxODA4MjUyMDg4MDgyZmFmOGMwJztcblxuZXhwb3J0IGNvbnN0IEZPUldBUkRFUl9BRERSRVNTID0gJzB4MDQzZmRlMmZhMGVjZTc3YzI0NjFhOTU3MWYzYjFiMWM2ZmFjYTEyMCc7XG5cbmV4cG9ydCBjb25zdCBGT1JXQVJERVJfQUREUkVTU19ORVcgPSAnMHg2MDRhNDI4OTgzODgwODBkNTZiYzg1ZjgxNTk2NWQxZjY0YmViMWE2JztcblxuZXhwb3J0IGNvbnN0IEZMVVNIX1RPS0VOX1RSQU5TQUNUSU9OID1cbiAgJzB4Zjg1NDI3ODgwMTRlYWQxNDBlNzdiYmMxNDBmODNkZjgzYjk0MDQzZmRlMmZhMGVjZTc3YzI0NjFhOTU3MWYzYjFiMWM2ZmFjYTEyMDgwYTQzZWYxMzM2NzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0NTZlNjU3MjY3Nzk4MTgwODI1MjA4ODA4MmZhZjhjMCc7XG5cbmV4cG9ydCBjb25zdCBGTFVTSF9UT0tFTl9EQVRBID0gJzB4M2VmMTMzNjcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNDU2ZTY1NzI2Nzc5JztcblxuZXhwb3J0IGNvbnN0IEZMVVNIX1RPS0VOX1NJR05BQkxFX1BBWUxPQUQgPVxuICAnZjg1NDI3ODgwMTRlYWQxNDBlNzdiYmMxNDBmODNkZjgzYjk0MDQzZmRlMmZhMGVjZTc3YzI0NjFhOTU3MWYzYjFiMWM2ZmFjYTEyMDgwYTQzZWYxMzM2NzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0NTZlNjU3MjY3Nzk4MTgwODI1MjA4ODA4MmZhZjhjMCc7XG5cbmV4cG9ydCBjb25zdCBJTlZBTElEX1RSQU5TQUNUSU9OID1cbiAgJzB4ZjhiYzI3ODgwMTRlYTA2MGI1YjU5OTdlNDBlMGRmOTRlNWY0ZWVjNDRhZGYxOWM0Y2JlZWM4ODAxNjM0NTc4NWQ4YTAwMDA4MDgxODA4MjUyMDg4MDgzMGJmODRmYzEwMWI4ODI0MThlMjEyYTQwYjI5ZGE2ODVhNzMxMjgyOWU4ZDFkMzcwOGI2NTRmNGRkYjQzODhhN2E4MGY1YWYzZTU0MjNiNDU1NDUxOTAxZDliODM3ZmUxODUwMWU2ZWE1ZWM3ZDNkMjcxMWYwMDA3M2Q1NTNhYWJlNDBlMDI2MGVjOGE2ZjAwZGE1NTdkMGExYWY2NmI4MmI0NTczMjRiYzZmYzg2YzdmMDM2MmU3NmMxNWI2NDQzMmU2NmI2ZmE2MmZjYTM4YzdkMjA4YTYwNGQxYTdlYzUzNTZjOTVmZWM3YmM2ZjMzMmQxNjcxOGE5MWE1M2UwZTk5ZTNhODFhZTMyMDVhYjQwMCc7XG5cbmV4cG9ydCBjb25zdCBUUkFOU0ZFUl9DTEFVU0UgPSBbXG4gIHtcbiAgICB0bzogJzB4ZTU5ZjFjZWE0ZTBmZWY1MTFlM2QwZjRlZWM0NGFkZjE5YzRjYmVlYycsXG4gICAgdmFsdWU6IDEwMDAwMDAwMDAwMDAsXG4gICAgZGF0YTogJzB4JyxcbiAgfSxcbl07XG5cbmV4cG9ydCBjb25zdCBhZGRyZXNzZXMgPSB7XG4gIHZhbGlkQWRkcmVzc2VzOiBbXG4gICAgJzB4N2NhMDBlM2JjOGE4MzYwMjZjMjkxN2M2YzdjNmQwNDllNTIwOTlkZCcsXG4gICAgJzB4ZTU5RjFjZWE0ZTBGRWY1MTFlM2QwZjRFRWM0NEFEZjE5QzRjYmVFQycsXG4gICAgJzB4N2M4N2I5ZmZjNmZkNmMxNjdjMGU0ZmE5NDE4NzIwZjNkNjU5MzU4ZScsXG4gICAgJzB4YzA3MTZmMzg2YTBhNzgzNjE5NjJkMWY2NGNlMjI1NmEyYzg3MWJiNScsXG4gIF0sXG4gIGludmFsaWRBZGRyZXNzZXM6IFtcbiAgICAncmFuZG9tU3RyaW5nJyxcbiAgICAnMHhjNDE3M2E4MDQ0MDZhMzY1ZTY5ZGZiMjk3ZGRmZ3NkY3ZmJyxcbiAgICAnNW5lN3BoQTQ4SnJ2cG4zOUF0dXBCOFprQ0NBeThnTFRmcEdpaFpQdURxZW4nLFxuICBdLFxufTtcblxuZXhwb3J0IGNvbnN0IHNlbmRlclNpZyA9XG4gICcwNjIwODBjYzc3ZGI5ZDVjZTVkYjg0ZjFjZmI1N2M5OTA2YzliZmRjZTc4ZTRkNTM3NTdiYmQzZDUzNmM3MzFlMWU1ZTQwNmE0ZTc4M2E0ZjYzNDQ2YWEyOGQyMWRjMjc3OTZhYWU5MGZhYzc5MTUxYzNkMGIzYmE2OGNkZTM2ODAxJztcblxuZXhwb3J0IGNvbnN0IGZlZVBheWVyU2lnID1cbiAgJzQ3YWU3OWUyM2VmZmQyMzMyMDYxODBlY2UzYWIzZDZkNDk2MzEwYzAzYzU1YmQwNTY2YTU0YmI3ZDQyMDk1Yzk3YTkwY2E5ZmY0Y2ZiOTRlYzU3OWE3ZWM3Zjc5ZGU0ODE0ZGZjODE2ZDBhMTMwMTg5YzA3Yjc0Njk0NTQ4MmZiMDAnO1xuXG5leHBvcnQgY29uc3Qgc2VuZGVyU2lnMiA9XG4gICc5ZDA1ZTkwYTAwYzUzOGFmZDY4NjUyZjYzYTRlMjE0ODFkMWQwODJmZGJkNGEzMDBiMDRiNTYxZGM3NjE4NWFkMjkyYmI0OGQ3MDg0NmJkMGZiOGI1MjY3ODJiOWQyZjk0MGRiY2VlM2JjNTU0YmZiN2I1M2UzNjJiYmNiMzlkNzAxJztcblxuZXhwb3J0IGNvbnN0IGZlZVBheWVyU2lnMiA9XG4gICc0NWQ4YWVjNGQyZWQ1Zjc0Yjc4ODY5NWNlYjc2ZDE4ZGQzNTk3NTAzYmMwNDY2ZDY2NzQ5M2IyYWZmMmMyYjA5NWQzNTI3ODhhMzQ1YjJlM2I0OWU5YWQxOWJjMjhiMGJkZWU0NWQwY2NlOTg2OTYyZTYxYjBmZWJlNjBhMjU5MzAxJztcblxuZXhwb3J0IGNvbnN0IHNlbmRlclNpZzMgPVxuICAnMjEyZDIxMmVmZmVhMDM3NzNmNDIyOGNkMDQ5ZWZlNDJjM2VmZTU0ZjE4Mzc4ZGVmNTJmMGFkMzQ5NjM3MjQ4ZDY3ZDBlZWM2ZmQ5YmM3ZGRjNWFiNGQ5OGYyMmM0ZmM4ZGU0ODVlMjQwM2Y5MGE2OGIyNjEzZTIxNDI0NWMwYTQwMSc7XG5cbmV4cG9ydCBjb25zdCBmZWVQYXllclNpZzMgPVxuICAnNzU4YzlkMDBhZGE0MGViYzM2ODkwYmJmOGNmMWM4NDA3MGUwOTUwZGNiYjZjYWQ5NGE0YzlhNGMwZmZlMTZjNzQ4NmM1YjY3NDIwN2M0ZDkxNmY3ZWQ3Y2I1MDFjNzNkYWFhZmM0OWNmZTc2ODVjZjFlMGY4MDU0YTdmYTQ2MDMwMCc7XG5cbmV4cG9ydCBjb25zdCBzZW5kZXJTaWduZWRTZXJpYWxpemVkVHhIZXggPVxuICAnMHhmNzI3ODgwMTRlYWQxNDBlNzdiYmMxNDBlMGRmOTRlNTlmMWNlYTRlMGZlZjUxMWUzZDBmNGVlYzQ0YWRmMTljNGNiZWVjODgwMTYzNDU3ODVkOGEwMDAwODA4MTgwODI1MjA4ODA4MmZhZjhjMTAxJztcblxuZXhwb3J0IGNvbnN0IHNlbmRlclNpZ25lZFNlcmlhbGl6ZWRUeEhleDIgPVxuICAnMHhmODc2Mjc4ODAxNGVhZDE0MGU3N2JiYzE0MGY4NWVmODVjOTQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNDU2ZTY1NzI2Nzc5ODBiODQ0YTkwNTljYmIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBlNTlmMWNlYTRlMGZlZjUxMWUzZDBmNGVlYzQ0YWRmMTljNGNiZWVjMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDE2MzQ1Nzg1ZDhhMDAwMDgxODA4MjUyMDg4MDgyZmFmOGMxMDEnO1xuXG5leHBvcnQgY29uc3QgY29tcGxldGVTaWduZWRTZXJpYWxpemVkSGV4ID1cbiAgJzB4ZjhiYjI3ODgwMTRlYWQxNDBlNzdiYmMxNDBlMGRmOTRlNTlmMWNlYTRlMGZlZjUxMWUzZDBmNGVlYzQ0YWRmMTljNGNiZWVjODgwMTYzNDU3ODVkOGEwMDAwODA4MTgwODI1MjA4ODA4MmZhZjhjMTAxYjg4MjA2MjA4MGNjNzdkYjlkNWNlNWRiODRmMWNmYjU3Yzk5MDZjOWJmZGNlNzhlNGQ1Mzc1N2JiZDNkNTM2YzczMWUxZTVlNDA2YTRlNzgzYTRmNjM0NDZhYTI4ZDIxZGMyNzc5NmFhZTkwZmFjNzkxNTFjM2QwYjNiYTY4Y2RlMzY4MDE0N2FlNzllMjNlZmZkMjMzMjA2MTgwZWNlM2FiM2Q2ZDQ5NjMxMGMwM2M1NWJkMDU2NmE1NGJiN2Q0MjA5NWM5N2E5MGNhOWZmNGNmYjk0ZWM1NzlhN2VjN2Y3OWRlNDgxNGRmYzgxNmQwYTEzMDE4OWMwN2I3NDY5NDU0ODJmYjAwJztcblxuZXhwb3J0IGNvbnN0IGNvbXBsZXRlU2lnbmVkU2VyaWFsaXplZEhleDIgPVxuICAnMHhmOGZhMjc4ODAxNGVhZDE0MGU3N2JiYzE0MGY4NWVmODVjOTQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNDU2ZTY1NzI2Nzc5ODBiODQ0YTkwNTljYmIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBlNTlmMWNlYTRlMGZlZjUxMWUzZDBmNGVlYzQ0YWRmMTljNGNiZWVjMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDE2MzQ1Nzg1ZDhhMDAwMDgxODA4MjUyMDg4MDgyZmFmOGMxMDFiODgyOWQwNWU5MGEwMGM1MzhhZmQ2ODY1MmY2M2E0ZTIxNDgxZDFkMDgyZmRiZDRhMzAwYjA0YjU2MWRjNzYxODVhZDI5MmJiNDhkNzA4NDZiZDBmYjhiNTI2NzgyYjlkMmY5NDBkYmNlZTNiYzU1NGJmYjdiNTNlMzYyYmJjYjM5ZDcwMTQ1ZDhhZWM0ZDJlZDVmNzRiNzg4Njk1Y2ViNzZkMThkZDM1OTc1MDNiYzA0NjZkNjY3NDkzYjJhZmYyYzJiMDk1ZDM1Mjc4OGEzNDViMmUzYjQ5ZTlhZDE5YmMyOGIwYmRlZTQ1ZDBjY2U5ODY5NjJlNjFiMGZlYmU2MGEyNTkzMDEnO1xuXG5leHBvcnQgY29uc3Qgc2VuZGVyU2lnbmVkU2VyaWFsaXplZEhleDMgPVxuICAnMHhmODk2Mjc4ODAxNGVhZDE0MGU3N2JiYzE0MGY4N2VmODdjOTQxZWMxZDE2ODU3NDYwM2VjMzViOWQyMjk4NDNiN2MyYjQ0YmNiNzcwODBiODY0MjNiODcyZGQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBjMDcxNmYzODZhMGE3ODM2MTk2MmQxZjY0Y2UyMjU2YTJjODcxYmI1MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwN2NhMDBlM2JjOGE4MzYwMjZjMjkxN2M2YzdjNmQwNDllNTIwOTlkZDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTg3MjM4MTgwODI1MjA4ODA4MmZhZjhjMTAxJztcblxuZXhwb3J0IGNvbnN0IGNvbXBsZXRlU2lnbmVkU2VyaWFsaXplZEhleDMgPVxuICAnMHhmOTAxMWEyNzg4MDE0ZWFkMTQwZTc3YmJjMTQwZjg3ZWY4N2M5NDFlYzFkMTY4NTc0NjAzZWMzNWI5ZDIyOTg0M2I3YzJiNDRiY2I3NzA4MGI4NjQyM2I4NzJkZDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMGMwNzE2ZjM4NmEwYTc4MzYxOTYyZDFmNjRjZTIyNTZhMmM4NzFiYjUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA3Y2EwMGUzYmM4YTgzNjAyNmMyOTE3YzZjN2M2ZDA0OWU1MjA5OWRkMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxODcyMzgxODA4MjUyMDg4MDgyZmFmOGMxMDFiODgyMjEyZDIxMmVmZmVhMDM3NzNmNDIyOGNkMDQ5ZWZlNDJjM2VmZTU0ZjE4Mzc4ZGVmNTJmMGFkMzQ5NjM3MjQ4ZDY3ZDBlZWM2ZmQ5YmM3ZGRjNWFiNGQ5OGYyMmM0ZmM4ZGU0ODVlMjQwM2Y5MGE2OGIyNjEzZTIxNDI0NWMwYTQwMTc1OGM5ZDAwYWRhNDBlYmMzNjg5MGJiZjhjZjFjODQwNzBlMDk1MGRjYmI2Y2FkOTRhNGM5YTRjMGZmZTE2Yzc0ODZjNWI2NzQyMDdjNGQ5MTZmN2VkN2NiNTAxYzczZGFhYWZjNDljZmU3Njg1Y2YxZTBmODA1NGE3ZmE0NjAzMDAnO1xuXG5leHBvcnQgY29uc3QgYmxvY2tJZHM6IHsgdmFsaWRCbG9ja0lkczogc3RyaW5nW107IGludmFsaWRCbG9ja0lkczogc3RyaW5nW10gfSA9IHtcbiAgdmFsaWRCbG9ja0lkczogW1xuICAgICcweDAxNGYxMmVkOTRjNGI0NzcwZjdmOWE3M2UyYWE0MWE5ZGZiYWMwMmE0OWYzNmVjMDVhY2ZkYmE4YzcyNDRmZjAnLFxuICAgICcweDAxNGYxMzBkMDBhMmZlMDZkNDcxYTM1ZTdmMmNkMThkMjViZGVmZTUzNzBjMDdhMmFkNjhjMGFlMzg1MmFkODYnLFxuICBdLFxuICBpbnZhbGlkQmxvY2tJZHM6IFtcbiAgICAncmFuZG9tU3RyaW5nJyxcbiAgICAnMHhjNDE3M2E4MDQ0MDZhMzY1ZTY5ZGZiMjk3ZGRmZ3NkY3ZmJyxcbiAgICAnNW5lN3BoQTQ4SnJ2cG4zOUF0dXBCOFprQ0NBeThnTFRmcEdpaFpQdURxZW4nLFxuICBdLFxufTtcblxuZXhwb3J0IGNvbnN0IGludmFsaWRSZWNpcGllbnRzOiBSZWNpcGllbnRbXSA9IFtcbiAge1xuICAgIGFkZHJlc3M6IGFkZHJlc3Nlcy5pbnZhbGlkQWRkcmVzc2VzWzBdLFxuICAgIGFtb3VudDogQU1PVU5ULnRvU3RyaW5nKCksXG4gIH0sXG4gIHtcbiAgICBhZGRyZXNzOiBhZGRyZXNzZXMudmFsaWRBZGRyZXNzZXNbMF0sXG4gICAgYW1vdW50OiAnLTkxOTE5MScsXG4gIH0sXG4gIHtcbiAgICBhZGRyZXNzOiBhZGRyZXNzZXMudmFsaWRBZGRyZXNzZXNbMF0sXG4gICAgYW1vdW50OiAnaW52YWxpZEFtb3VudCcsXG4gIH0sXG4gIHtcbiAgICBhZGRyZXNzOiBhZGRyZXNzZXMudmFsaWRBZGRyZXNzZXNbMF0sXG4gICAgYW1vdW50OiBBTU9VTlQudG9TdHJpbmcoKSxcbiAgfSxcbl07XG5cbmV4cG9ydCBjb25zdCByZWNpcGllbnRzOiBSZWNpcGllbnRbXSA9IFtcbiAge1xuICAgIGFkZHJlc3M6IGFkZHJlc3Nlcy52YWxpZEFkZHJlc3Nlc1sxXS50b0xvd2VyQ2FzZSgpLFxuICAgIGFtb3VudDogQU1PVU5ULnRvU3RyaW5nKCksXG4gIH0sXG5dO1xuXG5leHBvcnQgY29uc3QgbmZ0UmVjaXBpZW50czogUmVjaXBpZW50W10gPSBbXG4gIHtcbiAgICBhZGRyZXNzOiBhZGRyZXNzZXMudmFsaWRBZGRyZXNzZXNbMV0udG9Mb3dlckNhc2UoKSxcbiAgICBhbW91bnQ6ICcxJyxcbiAgfSxcbl07XG5cbmV4cG9ydCBjb25zdCBuZnRSZWNpcGllbnRzMjogUmVjaXBpZW50W10gPSBbXG4gIHtcbiAgICBhZGRyZXNzOiBhZGRyZXNzZXMudmFsaWRBZGRyZXNzZXNbMF0udG9Mb3dlckNhc2UoKSxcbiAgICBhbW91bnQ6ICcxJyxcbiAgfSxcbl07XG5cbmV4cG9ydCBjb25zdCBmZWVQYXllciA9IHtcbiAgYWRkcmVzczogJzB4ZGM5ZmVmMGI4NGEwY2NmM2YxYmQ0Yjg0ZTQxNzQzZTNlMDUxYTA4MycsXG59O1xuXG4vLyBVc2UgdGhlIGhhcmRjb2RlZCB2YWx1ZXMgZnJvbSB0aGUgVmV0VGVzdG5ldCBjbGFzcyBpbiBuZXR3b3Jrcy50c1xuZXhwb3J0IGNvbnN0IEZPUldBUkRFUl9GQUNUT1JZX0FERFJFU1MgPSAnMHg2NTM0M2UxOGMzNzZkMmZjOGMzY2YxMGNkMTQ2ZDYzZTJlMGRjOWVmJztcblxuZXhwb3J0IGNvbnN0IEZPUldBUkRFUl9JTVBMRU1FTlRBVElPTl9BRERSRVNTID0gJzB4NjJkZTM0Yzg3Zjg0N2QzODVhZjA3ZjZjMjVkYmQ5N2IxZmZmZWZjMCc7XG5cbmV4cG9ydCBjb25zdCBDUkVBVEVfRk9SV0FSREVSX01FVEhPRCA9ICcweDEzYjJmNzVjJztcblxuZXhwb3J0IGNvbnN0IEJBU0VfQUREUkVTUyA9ICcweDU1YjAwYjVjODA3ZDU2OTYxOTdiNDhkNGFmZmE0MGJiODc2ZGYyNDAnO1xuXG5leHBvcnQgY29uc3QgRkVFX0FERFJFU1MgPSAnMHg3Yzg3YjlmZmM2ZmQ2YzE2N2MwZTRmYTk0MTg3MjBmM2Q2NTkzNThlJztcblxuZXhwb3J0IGNvbnN0IFRPS0VOX0FERFJFU1MgPSAnMHgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNDU2ZTY1NzI2Nzc5JztcblxuZXhwb3J0IGNvbnN0IE5GVF9DT05UUkFDVF9BRERSRVNTID0gJzB4MWVjMWQxNjg1NzQ2MDNlYzM1YjlkMjI5ODQzYjdjMmI0NGJjYjc3MCc7XG5cbmV4cG9ydCBjb25zdCBTQUxUID0gJzB4MSc7XG5cbmV4cG9ydCBjb25zdCBTRVJJQUxJWkVEX1NJR05FRF9BRERSRVNTX0lOSVRfVFggPVxuICAnMHhmOGQ5Mjc4ODAxNTJjOTA2NTMxNzg0YmQ0MGY4N2VmODdjOTQ2NTM0M2UxOGMzNzZkMmZjOGMzY2YxMGNkMTQ2ZDYzZTJlMGRjOWVmODBiODY0MTNiMmY3NWMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA1NWIwMGI1YzgwN2Q1Njk2MTk3YjQ4ZDRhZmZhNDBiYjg3NmRmMjQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwN2M4N2I5ZmZjNmZkNmMxNjdjMGU0ZmE5NDE4NzIwZjNkNjU5MzU4ZTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDQ4MTgwODMwMjQ5ZjA4MDgyZmFmOGMwYjg0MTk2NTc3MDQ2ZWNiYmE2NDBkOGY1OTE0YTdiNGNiOTlmOWFiNDc5MzU5YmNkYTUzNjhjYzlhZmRmYjU1OTk0YTA0NjlhZjA3MWNkZWI0Y2FjOTJjYWFmMGJlN2ZlZGY0OTJkMjIxNWY4M2JhYTAwZDRhYmFjMzFjZjQ4ZWVkZGQ5MDAnO1xuXG5leHBvcnQgY29uc3QgU0VSSUFMSVpFRF9TSUdORURfRkxVU0hfVE9LRU5fVFggPVxuICAnMHhmODk4Mjc4ODAxNTJjZjQ1NTUzNmViYzc0MGY4M2RmODNiOTQ2MDRhNDI4OTgzODgwODBkNTZiYzg1ZjgxNTk2NWQxZjY0YmViMWE2ODBhNDNlZjEzMzY3MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDQ1NmU2NTcyNjc3OTgxODA4MzAyNDlmMDgwODJmYWY5YzBiODQxYjUyMjVhMGQ1YzYzZmQ0Y2VlZTJmZWZlOTQ3NTlkMjBlMzdjMjllYmNkMTVmYzAzZWI2OTlkNGFmNWJiMjEwYzI1ODU4M2Y5ZThlMjZlODcyNzUxZTI1NWMyZjBmZTlkNDRkNTJjZTY1YjZiNzYwNDA0NzZlMjg1MDc0YTRiNTkwMSc7XG5cbmV4cG9ydCBjb25zdCBWQUxJRF9ORlRfQ09OVFJBQ1RfREFUQSA9XG4gICcweDIzYjg3MmRkMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwN2NhMDBlM2JjOGE4MzYwMjZjMjkxN2M2YzdjNmQwNDllNTIwOTlkZDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMGU1OWYxY2VhNGUwZmVmNTExZTNkMGY0ZWVjNDRhZGYxOWM0Y2JlZWMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNGQyJztcbiJdfQ==
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=addressInitializationBuilder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"addressInitializationBuilder.d.ts","sourceRoot":"","sources":["../../../test/transactionBuilder/addressInitializationBuilder.ts"],"names":[],"mappings":""}
@@ -0,0 +1,141 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ var __importDefault = (this && this.__importDefault) || function (mod) {
36
+ return (mod && mod.__esModule) ? mod : { "default": mod };
37
+ };
38
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ const should_1 = __importDefault(require("should"));
40
+ const sdk_core_1 = require("@bitgo-beta/sdk-core");
41
+ const statics_1 = require("@bitgo-beta/statics");
42
+ const testData = __importStar(require("../resources/vet"));
43
+ const src_1 = require("../../src");
44
+ describe('Address Initialisation Transaction', () => {
45
+ const factory = new src_1.TransactionBuilderFactory(statics_1.coins.get('tvet'));
46
+ describe('Succeed', () => {
47
+ it('should build an address initialisation transaction', async function () {
48
+ const transaction = new src_1.AddressInitializationTransaction(statics_1.coins.get('tvet'));
49
+ const txBuilder = factory.getAddressInitializationBuilder(transaction);
50
+ txBuilder.gas(21000);
51
+ txBuilder.nonce('64248');
52
+ txBuilder.blockRef('0x014ead140e77bbc1');
53
+ txBuilder.expiration(64);
54
+ txBuilder.gasPriceCoef(128);
55
+ txBuilder.contract(testData.FORWARDER_FACTORY_ADDRESS);
56
+ txBuilder.baseAddress(testData.BASE_ADDRESS);
57
+ txBuilder.feeAddress(testData.FEE_ADDRESS);
58
+ txBuilder.initCode(testData.FORWARDER_IMPLEMENTATION_ADDRESS);
59
+ txBuilder.salt(testData.SALT);
60
+ const tx = (await txBuilder.build());
61
+ should_1.default.equal(tx.gas, 21000);
62
+ should_1.default.equal(tx.nonce, '64248');
63
+ should_1.default.equal(tx.expiration, 64);
64
+ should_1.default.equal(tx.type, sdk_core_1.TransactionType.AddressInitialization);
65
+ should_1.default.equal(tx.blockRef, '0x014ead140e77bbc1');
66
+ should_1.default.equal(tx.clauses.length, 1);
67
+ should_1.default.equal(tx.clauses[0].to, testData.FORWARDER_FACTORY_ADDRESS);
68
+ should_1.default.equal(tx.clauses[0].data, testData.ADDRESS_INITIALIZATION_DATA);
69
+ should_1.default.equal(tx.clauses[0].value, '0x0');
70
+ should_1.default.equal(tx.deployedAddress, testData.FORWARDER_ADDRESS);
71
+ const rawTx = tx.toBroadcastFormat();
72
+ should_1.default.equal(txBuilder.isValidRawTransaction(rawTx), true);
73
+ rawTx.should.equal(testData.ADDRESS_INITIALIZATION_TRANSACTION);
74
+ });
75
+ it('should succeed to validate a valid signablePayload', async function () {
76
+ const transaction = new src_1.AddressInitializationTransaction(statics_1.coins.get('tvet'));
77
+ const txBuilder = factory.getAddressInitializationBuilder(transaction);
78
+ txBuilder.gas(21000);
79
+ txBuilder.nonce('64248');
80
+ txBuilder.blockRef('0x014ead140e77bbc1');
81
+ txBuilder.addFeePayerAddress(testData.feePayer.address);
82
+ txBuilder.expiration(64);
83
+ txBuilder.gasPriceCoef(128);
84
+ txBuilder.contract(testData.FORWARDER_FACTORY_ADDRESS);
85
+ txBuilder.baseAddress(testData.BASE_ADDRESS);
86
+ txBuilder.feeAddress(testData.FEE_ADDRESS);
87
+ txBuilder.initCode(testData.FORWARDER_IMPLEMENTATION_ADDRESS);
88
+ txBuilder.salt(testData.SALT);
89
+ const tx = (await txBuilder.build());
90
+ const signablePayload = tx.signablePayload;
91
+ should_1.default.equal(signablePayload.toString('hex'), testData.ADDRESS_INITIALIZATION_SIGNABLE_PAYLOAD);
92
+ });
93
+ it('should build a unsigned tx and validate its toJson', async function () {
94
+ const transaction = new src_1.AddressInitializationTransaction(statics_1.coins.get('tvet'));
95
+ const txBuilder = factory.getAddressInitializationBuilder(transaction);
96
+ txBuilder.gas(21000);
97
+ txBuilder.nonce('64248');
98
+ txBuilder.blockRef('0x014ead140e77bbc1');
99
+ txBuilder.addFeePayerAddress(testData.feePayer.address);
100
+ txBuilder.expiration(64);
101
+ txBuilder.gasPriceCoef(128);
102
+ txBuilder.contract(testData.FORWARDER_FACTORY_ADDRESS);
103
+ txBuilder.baseAddress(testData.BASE_ADDRESS);
104
+ txBuilder.feeAddress(testData.FEE_ADDRESS);
105
+ txBuilder.initCode(testData.FORWARDER_IMPLEMENTATION_ADDRESS);
106
+ txBuilder.salt(testData.SALT);
107
+ const tx = (await txBuilder.build());
108
+ const toJson = tx.toJson();
109
+ should_1.default.equal(toJson.nonce, '64248');
110
+ should_1.default.equal(toJson.gas, 21000);
111
+ should_1.default.equal(toJson.gasPriceCoef, 128);
112
+ should_1.default.equal(toJson.expiration, 64);
113
+ should_1.default.equal(toJson.data, testData.ADDRESS_INITIALIZATION_DATA);
114
+ should_1.default.equal(toJson.to, testData.FORWARDER_FACTORY_ADDRESS);
115
+ should_1.default.equal(toJson.deployedAddress, testData.FORWARDER_ADDRESS);
116
+ should_1.default.equal(toJson.value, '0');
117
+ });
118
+ it('should build properly from serialized', async () => {
119
+ const txBuilder = factory.from(testData.SERIALIZED_SIGNED_ADDRESS_INIT_TX);
120
+ const signedTx = await txBuilder.build();
121
+ const signedtxJson = signedTx.toJson();
122
+ should_1.default.equal(signedtxJson.gas, 150000);
123
+ txBuilder.gas(180000);
124
+ const tx = await txBuilder.build();
125
+ const txJson = tx.toJson();
126
+ should_1.default.equal(txJson.to, testData.FORWARDER_FACTORY_ADDRESS);
127
+ should_1.default.equal(txJson.gas, 180000);
128
+ console.log('txJson:', txJson);
129
+ });
130
+ });
131
+ describe('Fail', () => {
132
+ it('should fail if invalid params are used to build a tx', async function () {
133
+ const transaction = new src_1.AddressInitializationTransaction(statics_1.coins.get('tvet'));
134
+ const txBuilder = factory.getAddressInitializationBuilder(transaction);
135
+ (0, should_1.default)(() => txBuilder.baseAddress('randomString')).throwError('Invalid address randomString');
136
+ (0, should_1.default)(() => txBuilder.contract('randomString')).throwError('Invalid address randomString');
137
+ (0, should_1.default)(() => txBuilder.feeAddress('randomString')).throwError('Invalid address randomString');
138
+ });
139
+ });
140
+ });
141
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkcmVzc0luaXRpYWxpemF0aW9uQnVpbGRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Rlc3QvdHJhbnNhY3Rpb25CdWlsZGVyL2FkZHJlc3NJbml0aWFsaXphdGlvbkJ1aWxkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxvREFBNEI7QUFDNUIsbURBQXVEO0FBQ3ZELGlEQUE0QztBQUM1QywyREFBNkM7QUFDN0MsbUNBQXFHO0FBRXJHLFFBQVEsQ0FBQyxvQ0FBb0MsRUFBRSxHQUFHLEVBQUU7SUFDbEQsTUFBTSxPQUFPLEdBQUcsSUFBSSwrQkFBeUIsQ0FBQyxlQUFLLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7SUFDakUsUUFBUSxDQUFDLFNBQVMsRUFBRSxHQUFHLEVBQUU7UUFDdkIsRUFBRSxDQUFDLG9EQUFvRCxFQUFFLEtBQUs7WUFDNUQsTUFBTSxXQUFXLEdBQUcsSUFBSSxzQ0FBZ0MsQ0FBQyxlQUFLLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7WUFDNUUsTUFBTSxTQUFTLEdBQUcsT0FBTyxDQUFDLCtCQUErQixDQUFDLFdBQVcsQ0FBQyxDQUFDO1lBQ3ZFLFNBQVMsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDckIsU0FBUyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUN6QixTQUFTLENBQUMsUUFBUSxDQUFDLG9CQUFvQixDQUFDLENBQUM7WUFDekMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUN6QixTQUFTLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQzVCLFNBQVMsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLHlCQUF5QixDQUFDLENBQUM7WUFDdkQsU0FBUyxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFD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Q0FBQztZQUM1RixJQUFBLGdCQUFNLEVBQUMsR0FBRyxFQUFFLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyw4QkFBOEIsQ0FBQyxDQUFDO1FBQ2hHLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBzaG91bGQgZnJvbSAnc2hvdWxkJztcbmltcG9ydCB7IFRyYW5zYWN0aW9uVHlwZSB9IGZyb20gJ0BiaXRnby1iZXRhL3Nkay1jb3JlJztcbmltcG9ydCB7IGNvaW5zIH0gZnJvbSAnQGJpdGdvLWJldGEvc3RhdGljcyc7XG5pbXBvcnQgKiBhcyB0ZXN0RGF0YSBmcm9tICcuLi9yZXNvdXJjZXMvdmV0JztcbmltcG9ydCB7IFRyYW5zYWN0aW9uQnVpbGRlckZhY3RvcnksIFRyYW5zYWN0aW9uLCBBZGRyZXNzSW5pdGlhbGl6YXRpb25UcmFuc2FjdGlvbiB9IGZyb20gJy4uLy4uL3NyYyc7XG5cbmRlc2NyaWJlKCdBZGRyZXNzIEluaXRpYWxpc2F0aW9uIFRyYW5zYWN0aW9uJywgKCkgPT4ge1xuICBjb25zdCBmYWN0b3J5ID0gbmV3IFRyYW5zYWN0aW9uQnVpbGRlckZhY3RvcnkoY29pbnMuZ2V0KCd0dmV0JykpO1xuICBkZXNjcmliZSgnU3VjY2VlZCcsICgpID0+IHtcbiAgICBpdCgnc2hvdWxkIGJ1aWxkIGFuIGFkZHJlc3MgaW5pdGlhbGlzYXRpb24gdHJhbnNhY3Rpb24nLCBhc3luYyBmdW5jdGlvbiAoKSB7XG4gICAgICBjb25zdCB0cmFuc2FjdGlvbiA9IG5ldyBBZGRyZXNzSW5pdGlhbGl6YXRpb25UcmFuc2FjdGlvbihjb2lucy5nZXQoJ3R2ZXQnKSk7XG4gICAgICBjb25zdCB0eEJ1aWxkZXIgPSBmYWN0b3J5LmdldEFkZHJlc3NJbml0aWFsaXphdGlvbkJ1aWxkZXIodHJhbnNhY3Rpb24pO1xuICAgICAgdHhCdWlsZGVyLmdhcygyMTAwMCk7XG4gICAgICB0eEJ1aWxkZXIubm9uY2UoJzY0MjQ4Jyk7XG4gICAgICB0eEJ1aWxkZXIuYmxvY2tSZWYoJzB4MDE0ZWFkMTQwZTc3YmJjMScpO1xuICAgICAgdHhCdWlsZGVyLmV4cGlyYXRpb24oNjQpO1xuICAgICAgdHhCdWlsZGVyLmdhc1ByaWNlQ29lZigxMjgpO1xuICAgICAgdHhCdWlsZGVyLmNvbnRyYWN0KHRlc3REYXRhLkZPUldBUkRFUl9GQUNUT1JZX0FERFJFU1MpO1xuICAgICAgdHhCdWlsZGVyLmJhc2VBZGRyZXNzKHRlc3REYXRhLkJBU0VfQUREUkVTUyk7XG4gICAgICB0eEJ1aWxkZXIuZmVlQWRkcmVzcyh0ZXN0RGF0YS5GRUVfQUREUkVTUyk7XG4gICAgICB0eEJ1aWxkZXIuaW5pdENvZGUodGVzdERhdGEuRk9SV0FSREVSX0lNUExFTUVOVEFUSU9OX0FERFJFU1MpO1xuICAgICAgdHhCdWlsZGVyLnNhbHQodGVzdERhdGEuU0FMVCk7XG4gICAgICBjb25zdCB0eCA9IChhd2FpdCB0eEJ1aWxkZXIuYnVpbGQoKSkgYXMgQWRkcmVzc0luaXRpYWxpemF0aW9uVHJhbnNhY3Rpb247XG4gICAgICBzaG91bGQuZXF1YWwodHguZ2FzLCAyMTAwMCk7XG4gICAgICBzaG91bGQuZXF1YWwodHgubm9uY2UsICc2NDI0OCcpO1xuICAgICAgc2hvdWxkLmVxdWFsKHR4LmV4cGlyYXRpb24sIDY0KTtcbiAgICAgIHNob3VsZC5lcXVhbCh0eC50eXBlLCBUcmFuc2FjdGlvblR5cGUuQWRkcmVzc0luaXRpYWxpemF0aW9uKTtcbiAgICAgIHNob3VsZC5lcXVhbCh0eC5ibG9ja1JlZiwgJzB4MDE0ZWFkMTQwZTc3YmJjMScpO1xuICAgICAgc2hvdWxkLmVxdWFsKHR4LmNsYXVzZXMubGVuZ3RoLCAxKTtcbiAgICAgIHNob3VsZC5lcXVhbCh0eC5jbGF1c2VzWzBdLnRvLCB0ZXN0RGF0YS5GT1JXQVJERVJfRkFDVE9SWV9BRERSRVNTKTtcbiAgICAgIHNob3VsZC5lcXVhbCh0eC5jbGF1c2VzWzBdLmRhdGEsIHRlc3REYXRhLkFERFJFU1NfSU5JVElBTElaQVRJT05fREFUQSk7XG4gICAgICBzaG91bGQuZXF1YWwodHguY2xhdXNlc1swXS52YWx1ZSwgJzB4MCcpO1xuICAgICAgc2hvdWxkLmVxdWFsKHR4LmRlcGxveWVkQWRkcmVzcywgdGVzdERhdGEuRk9SV0FSREVSX0FERFJFU1MpO1xuICAgICAgY29uc3QgcmF3VHggPSB0eC50b0Jyb2FkY2FzdEZvcm1hdCgpO1xuICAgICAgc2hvdWxkLmVxdWFsKHR4QnVpbGRlci5pc1ZhbGlkUmF3VHJhbnNhY3Rpb24ocmF3VHgpLCB0cnVlKTtcbiAgICAgIHJhd1R4LnNob3VsZC5lcXVhbCh0ZXN0RGF0YS5BRERSRVNTX0lOSVRJQUxJWkFUSU9OX1RSQU5TQUNUSU9OKTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgc3VjY2VlZCB0byB2YWxpZGF0ZSBhIHZhbGlkIHNpZ25hYmxlUGF5bG9hZCcsIGFzeW5jIGZ1bmN0aW9uICgpIHtcbiAgICAgIGNvbnN0IHRyYW5zYWN0aW9uID0gbmV3IEFkZHJlc3NJbml0aWFsaXphdGlvblRyYW5zYWN0aW9uKGNvaW5zLmdldCgndHZldCcpKTtcbiAgICAgIGNvbnN0IHR4QnVpbGRlciA9IGZhY3RvcnkuZ2V0QWRkcmVzc0luaXRpYWxpemF0aW9uQnVpbGRlcih0cmFuc2FjdGlvbik7XG4gICAgICB0eEJ1aWxkZXIuZ2FzKDIxMDAwKTtcbiAgICAgIHR4QnVpbGRlci5ub25jZSgnNjQyNDgnKTtcbiAgICAgIHR4QnVpbGRlci5ibG9ja1JlZignMHgwMTRlYWQxNDBlNzdiYmMxJyk7XG4gICAgICB0eEJ1aWxkZXIuYWRkRmVlUGF5ZXJBZGRyZXNzKHRlc3REYXRhLmZlZVBheWVyLmFkZHJlc3MpO1xuICAgICAgdHhCdWlsZGVyLmV4cGlyYXRpb24oNjQpO1xuICAgICAgdHhCdWlsZGVyLmdhc1ByaWNlQ29lZigxMjgpO1xuICAgICAgdHhCdWlsZGVyLmNvbnRyYWN0KHRlc3REYXRhLkZPUldBUkRFUl9GQUNUT1JZX0FERFJFU1MpO1xuICAgICAgdHhCdWlsZGVyLmJhc2VBZGRyZXNzKHRlc3REYXRhLkJBU0VfQUREUkVTUyk7XG4gICAgICB0eEJ1aWxkZXIuZmVlQWRkcmVzcyh0ZXN0RGF0YS5GRUVfQUREUkVTUyk7XG4gICAgICB0eEJ1aWxkZXIuaW5pdENvZGUodGVzdERhdGEuRk9SV0FSREVSX0lNUExFTUVOVEFUSU9OX0FERFJFU1MpO1xuICAgICAgdHhCdWlsZGVyLnNhbHQodGVzdERhdGEuU0FMVCk7XG4gICAgICBjb25zdCB0eCA9IChhd2FpdCB0eEJ1aWxkZXIuYnVpbGQoKSkgYXMgVHJhbnNhY3Rpb247XG4gICAgICBjb25zdCBzaWduYWJsZVBheWxvYWQgPSB0eC5zaWduYWJsZVBheWxvYWQ7XG4gICAgICBzaG91bGQuZXF1YWwoc2lnbmFibGVQYXlsb2FkLnRvU3RyaW5nKCdoZXgnKSwgdGVzdERhdGEuQUREUkVTU19JTklUSUFMSVpBVElPTl9TSUdOQUJMRV9QQVlMT0FEKTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgYnVpbGQgYSB1bnNpZ25lZCB0eCBhbmQgdmFsaWRhdGUgaXRzIHRvSnNvbicsIGFzeW5jIGZ1bmN0aW9uICgpIHtcbiAgICAgIGNvbnN0IHRyYW5zYWN0aW9uID0gbmV3IEFkZHJlc3NJbml0aWFsaXphdGlvblRyYW5zYWN0aW9uKGNvaW5zLmdldCgndHZldCcpKTtcbiAgICAgIGNvbnN0IHR4QnVpbGRlciA9IGZhY3RvcnkuZ2V0QWRkcmVzc0luaXRpYWxpemF0aW9uQnVpbGRlcih0cmFuc2FjdGlvbik7XG4gICAgICB0eEJ1aWxkZXIuZ2FzKDIxMDAwKTtcbiAgICAgIHR4QnVpbGRlci5ub25jZSgnNjQyNDgnKTtcbiAgICAgIHR4QnVpbGRlci5ibG9ja1JlZignMHgwMTRlYWQxNDBlNzdiYmMxJyk7XG4gICAgICB0eEJ1aWxkZXIuYWRkRmVlUGF5ZXJBZGRyZXNzKHRlc3REYXRhLmZlZVBheWVyLmFkZHJlc3MpO1xuICAgICAgdHhCdWlsZGVyLmV4cGlyYXRpb24oNjQpO1xuICAgICAgdHhCdWlsZGVyLmdhc1ByaWNlQ29lZigxMjgpO1xuICAgICAgdHhCdWlsZGVyLmNvbnRyYWN0KHRlc3REYXRhLkZPUldBUkRFUl9GQUNUT1JZX0FERFJFU1MpO1xuICAgICAgdHhCdWlsZGVyLmJhc2VBZGRyZXNzKHRlc3REYXRhLkJBU0VfQUREUkVTUyk7XG4gICAgICB0eEJ1aWxkZXIuZmVlQWRkcmVzcyh0ZXN0RGF0YS5GRUVfQUREUkVTUyk7XG4gICAgICB0eEJ1aWxkZXIuaW5pdENvZGUodGVzdERhdGEuRk9SV0FSREVSX0lNUExFTUVOVEFUSU9OX0FERFJFU1MpO1xuICAgICAgdHhCdWlsZGVyLnNhbHQodGVzdERhdGEuU0FMVCk7XG5cbiAgICAgIGNvbnN0IHR4ID0gKGF3YWl0IHR4QnVpbGRlci5idWlsZCgpKSBhcyBUcmFuc2FjdGlvbjtcbiAgICAgIGNvbnN0IHRvSnNvbiA9IHR4LnRvSnNvbigpO1xuICAgICAgc2hvdWxkLmVxdWFsKHRvSnNvbi5ub25jZSwgJzY0MjQ4Jyk7XG4gICAgICBzaG91bGQuZXF1YWwodG9Kc29uLmdhcywgMjEwMDApO1xuICAgICAgc2hvdWxkLmVxdWFsKHRvSnNvbi5nYXNQcmljZUNvZWYsIDEyOCk7XG4gICAgICBzaG91bGQuZXF1YWwodG9Kc29uLmV4cGlyYXRpb24sIDY0KTtcbiAgICAgIHNob3VsZC5lcXVhbCh0b0pzb24uZGF0YSwgdGVzdERhdGEuQUREUkVTU19JTklUSUFMSVpBVElPTl9EQVRBKTtcbiAgICAgIHNob3VsZC5lcXVhbCh0b0pzb24udG8sIHRlc3REYXRhLkZPUldBUkRFUl9GQUNUT1JZX0FERFJFU1MpO1xuICAgICAgc2hvdWxkLmVxdWFsKHRvSnNvbi5kZXBsb3llZEFkZHJlc3MsIHRlc3REYXRhLkZPUldBUkRFUl9BRERSRVNTKTtcbiAgICAgIHNob3VsZC5lcXVhbCh0b0pzb24udmFsdWUsICcwJyk7XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIGJ1aWxkIHByb3Blcmx5IGZyb20gc2VyaWFsaXplZCcsIGFzeW5jICgpID0+IHtcbiAgICAgIGNvbnN0IHR4QnVpbGRlciA9IGZhY3RvcnkuZnJvbSh0ZXN0RGF0YS5TRVJJQUxJWkVEX1NJR05FRF9BRERSRVNTX0lOSVRfVFgpO1xuICAgICAgY29uc3Qgc2lnbmVkVHggPSBhd2FpdCB0eEJ1aWxkZXIuYnVpbGQoKTtcbiAgICAgIGNvbnN0IHNpZ25lZHR4SnNvbiA9IHNpZ25lZFR4LnRvSnNvbigpO1xuICAgICAgc2hvdWxkLmVxdWFsKHNpZ25lZHR4SnNvbi5nYXMsIDE1MDAwMCk7XG5cbiAgICAgIHR4QnVpbGRlci5nYXMoMTgwMDAwKTtcbiAgICAgIGNvbnN0IHR4ID0gYXdhaXQgdHhCdWlsZGVyLmJ1aWxkKCk7XG4gICAgICBjb25zdCB0eEpzb24gPSB0eC50b0pzb24oKTtcbiAgICAgIHNob3VsZC5lcXVhbCh0eEpzb24udG8sIHRlc3REYXRhLkZPUldBUkRFUl9GQUNUT1JZX0FERFJFU1MpO1xuICAgICAgc2hvdWxkLmVxdWFsKHR4SnNvbi5nYXMsIDE4MDAwMCk7XG4gICAgICBjb25zb2xlLmxvZygndHhKc29uOicsIHR4SnNvbik7XG4gICAgfSk7XG4gIH0pO1xuXG4gIGRlc2NyaWJlKCdGYWlsJywgKCkgPT4ge1xuICAgIGl0KCdzaG91bGQgZmFpbCBpZiBpbnZhbGlkIHBhcmFtcyBhcmUgdXNlZCB0byBidWlsZCBhIHR4JywgYXN5bmMgZnVuY3Rpb24gKCkge1xuICAgICAgY29uc3QgdHJhbnNhY3Rpb24gPSBuZXcgQWRkcmVzc0luaXRpYWxpemF0aW9uVHJhbnNhY3Rpb24oY29pbnMuZ2V0KCd0dmV0JykpO1xuICAgICAgY29uc3QgdHhCdWlsZGVyID0gZmFjdG9yeS5nZXRBZGRyZXNzSW5pdGlhbGl6YXRpb25CdWlsZGVyKHRyYW5zYWN0aW9uKTtcblxuICAgICAgc2hvdWxkKCgpID0+IHR4QnVpbGRlci5iYXNlQWRkcmVzcygncmFuZG9tU3RyaW5nJykpLnRocm93RXJyb3IoJ0ludmFsaWQgYWRkcmVzcyByYW5kb21TdHJpbmcnKTtcbiAgICAgIHNob3VsZCgoKSA9PiB0eEJ1aWxkZXIuY29udHJhY3QoJ3JhbmRvbVN0cmluZycpKS50aHJvd0Vycm9yKCdJbnZhbGlkIGFkZHJlc3MgcmFuZG9tU3RyaW5nJyk7XG4gICAgICBzaG91bGQoKCkgPT4gdHhCdWlsZGVyLmZlZUFkZHJlc3MoJ3JhbmRvbVN0cmluZycpKS50aHJvd0Vycm9yKCdJbnZhbGlkIGFkZHJlc3MgcmFuZG9tU3RyaW5nJyk7XG4gICAgfSk7XG4gIH0pO1xufSk7XG4iXX0=
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=burnNftBuilder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"burnNftBuilder.d.ts","sourceRoot":"","sources":["../../../test/transactionBuilder/burnNftBuilder.ts"],"names":[],"mappings":""}
@@ -0,0 +1,141 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ var __importDefault = (this && this.__importDefault) || function (mod) {
36
+ return (mod && mod.__esModule) ? mod : { "default": mod };
37
+ };
38
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ const should_1 = __importDefault(require("should"));
40
+ const sdk_core_1 = require("@bitgo-beta/sdk-core");
41
+ const statics_1 = require("@bitgo-beta/statics");
42
+ const src_1 = require("../../src");
43
+ const testData = __importStar(require("../resources/vet"));
44
+ const constants_1 = require("../../src/lib/constants");
45
+ describe('Vet Burn NFT Transaction', () => {
46
+ const factory = new src_1.TransactionBuilderFactory(statics_1.coins.get('tvet'));
47
+ describe('Build and Sign', () => {
48
+ it('should build a burn NFT transaction', async function () {
49
+ const tokenId = '123456';
50
+ const txBuilder = factory.getBurnNftBuilder();
51
+ txBuilder.sender(testData.addresses.validAddresses[0]);
52
+ txBuilder.tokenId(tokenId);
53
+ txBuilder.nftContract(constants_1.STARGATE_NFT_ADDRESS_TESTNET);
54
+ txBuilder.gas(21000);
55
+ txBuilder.nonce('64248');
56
+ txBuilder.blockRef('0x014ead140e77bbc1');
57
+ txBuilder.expiration(64);
58
+ txBuilder.gasPriceCoef(128);
59
+ const tx = (await txBuilder.build());
60
+ should_1.default.equal(tx.sender, testData.addresses.validAddresses[0]);
61
+ should_1.default.equal(tx.tokenId, tokenId);
62
+ should_1.default.equal(tx.contract, constants_1.STARGATE_NFT_ADDRESS_TESTNET);
63
+ should_1.default.equal(tx.gas, 21000);
64
+ should_1.default.equal(tx.nonce, '64248');
65
+ should_1.default.equal(tx.expiration, 64);
66
+ should_1.default.equal(tx.type, sdk_core_1.TransactionType.StakingWithdraw);
67
+ // Verify the transaction data contains the correct method ID
68
+ tx.clauses[0].data.should.startWith(constants_1.BURN_NFT_METHOD_ID);
69
+ // Verify the transaction has the correct structure
70
+ tx.clauses.length.should.equal(1);
71
+ should_1.default.equal(tx.clauses[0].to, constants_1.STARGATE_NFT_ADDRESS_TESTNET);
72
+ should_1.default.equal(tx.clauses[0].value, '0x0');
73
+ });
74
+ it('should build a burn NFT transaction with custom contract address', async function () {
75
+ const tokenId = '123456';
76
+ const customContractAddress = constants_1.STARGATE_NFT_ADDRESS_TESTNET; // Use the valid testnet NFT address
77
+ const txBuilder = factory.getBurnNftBuilder();
78
+ txBuilder.sender(testData.addresses.validAddresses[0]);
79
+ txBuilder.tokenId(tokenId);
80
+ txBuilder.nftContract(customContractAddress);
81
+ txBuilder.gas(21000);
82
+ txBuilder.nonce('64248');
83
+ txBuilder.blockRef('0x014ead140e77bbc1');
84
+ txBuilder.expiration(64);
85
+ txBuilder.gasPriceCoef(128);
86
+ const tx = (await txBuilder.build());
87
+ should_1.default.equal(tx.contract, customContractAddress);
88
+ should_1.default.equal(tx.clauses[0].to, customContractAddress);
89
+ });
90
+ it('should deserialize and reserialize a signed burn NFT transaction', async function () {
91
+ // Create a mock serialized transaction for burn NFT
92
+ const tokenId = '123456';
93
+ const txBuilder = factory.getBurnNftBuilder();
94
+ txBuilder.sender(testData.addresses.validAddresses[0]);
95
+ txBuilder.tokenId(tokenId);
96
+ txBuilder.nftContract(constants_1.STARGATE_NFT_ADDRESS_TESTNET);
97
+ txBuilder.gas(21000);
98
+ txBuilder.nonce('64248');
99
+ txBuilder.blockRef('0x014ead140e77bbc1');
100
+ txBuilder.expiration(64);
101
+ txBuilder.gasPriceCoef(128);
102
+ const tx = (await txBuilder.build());
103
+ const serializedTx = tx.toBroadcastFormat();
104
+ // Now deserialize and check
105
+ const deserializedBuilder = factory.from(serializedTx);
106
+ const deserializedTx = (await deserializedBuilder.build());
107
+ should_1.default.equal(deserializedTx.type, sdk_core_1.TransactionType.StakingWithdraw);
108
+ should_1.default.equal(deserializedTx.tokenId, tokenId);
109
+ should_1.default.equal(deserializedTx.contract, constants_1.STARGATE_NFT_ADDRESS_TESTNET);
110
+ });
111
+ it('should validate the transaction data structure', async function () {
112
+ const txBuilder = factory.getBurnNftBuilder();
113
+ // Should throw error when building without required fields
114
+ await (0, should_1.default)(txBuilder.build()).be.rejectedWith('NFT contract address is required');
115
+ txBuilder.sender(testData.addresses.validAddresses[0]);
116
+ txBuilder.nftContract(constants_1.STARGATE_NFT_ADDRESS_TESTNET);
117
+ await (0, should_1.default)(txBuilder.build()).be.rejectedWith('Token ID is required');
118
+ // Now add the token ID and it should build successfully
119
+ txBuilder.tokenId('123456');
120
+ txBuilder.gas(21000);
121
+ txBuilder.nonce('64248');
122
+ txBuilder.blockRef('0x014ead140e77bbc1');
123
+ const tx = await txBuilder.build();
124
+ should_1.default.exist(tx);
125
+ });
126
+ });
127
+ describe('Validation', () => {
128
+ it('should fail with invalid contract address', function () {
129
+ const txBuilder = factory.getBurnNftBuilder();
130
+ (0, should_1.default)(() => txBuilder.nftContract('invalid-address')).throwError('Invalid address invalid-address');
131
+ });
132
+ it('should fail with invalid token ID', async function () {
133
+ const txBuilder = factory.getBurnNftBuilder();
134
+ txBuilder.sender(testData.addresses.validAddresses[0]);
135
+ txBuilder.nftContract(constants_1.STARGATE_NFT_ADDRESS_TESTNET);
136
+ txBuilder.tokenId('');
137
+ await (0, should_1.default)(txBuilder.build()).be.rejectedWith('Token ID is required');
138
+ });
139
+ });
140
+ });
141
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVybk5mdEJ1aWxkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi90ZXN0L3RyYW5zYWN0aW9uQnVpbGRlci9idXJuTmZ0QnVpbGRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLG9EQUE0QjtBQUM1QixtREFBdUQ7QUFDdkQsaURBQTRDO0FBQzVDLG1DQUFzRDtBQUV0RCwyREFBNkM7QUFDN0MsdURBQTJGO0FBRTNGLFFBQVEsQ0FBQywwQkFBMEIsRUFBRSxHQUFHLEVBQUU7SUFDeEMsTUFBTSxPQUFPLEdBQUcsSUFBSSwrQkFBeUIsQ0FBQyxlQUFLLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7SUFFakUsUUFBUSxDQUFDLGdCQUFnQixFQUFFLEdBQUcsRUFBRTtRQUM5QixFQUFFLENBQUMscUNBQXFDLEVBQUUsS0FBSztZQUM3QyxNQUFNLE9BQU8sR0FBRyxRQUFRLENBQUM7WUFDekIsTUFBTSxTQUFTLEdBQUcsT0FBTyxDQUFDLGlCQUFpQixFQUFFLENBQUM7WUFFOUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ3ZELFNBQVMsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDM0IsU0FBUyxDQUFDLFdBQVcsQ0FBQyx3Q0FBNEIsQ0FBQyxDQUFDO1lBQ3BELFNBQVMsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDckIsU0FBUyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUN6QixTQUFTLENBQUMsUUFBUSxDQUFDLG9CQUFvQixDQUFDLENBQUM7WUFDekMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUN6QixTQUFTLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBRTVCLE1B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LG1DQUFtQyxFQUFFLEtBQUs7WUFDM0MsTUFBTSxTQUFTLEdBQUcsT0FBTyxDQUFDLGlCQUFpQixFQUFFLENBQUM7WUFDOUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ3ZELFNBQVMsQ0FBQyxXQUFXLENBQUMsd0NBQTRCLENBQUMsQ0FBQztZQUNwRCxTQUFTLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBRXRCLE1BQU0sSUFBQSxnQkFBTSxFQUFDLFNBQVMsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxZQUFZLENBQUMsc0JBQXNCLENBQUMsQ0FBQztRQUMxRSxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgc2hvdWxkIGZyb20gJ3Nob3VsZCc7XG5pbXBvcnQgeyBUcmFuc2FjdGlvblR5cGUgfSBmcm9tICdAYml0Z28tYmV0YS9zZGstY29yZSc7XG5pbXBvcnQgeyBjb2lucyB9IGZyb20gJ0BiaXRnby1iZXRhL3N0YXRpY3MnO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeSB9IGZyb20gJy4uLy4uL3NyYyc7XG5pbXBvcnQgeyBCdXJuTmZ0VHJhbnNhY3Rpb24gfSBmcm9tICcuLi8uLi9zcmMvbGliL3RyYW5zYWN0aW9uL2J1cm5OZnRUcmFuc2FjdGlvbic7XG5pbXBvcnQgKiBhcyB0ZXN0RGF0YSBmcm9tICcuLi9yZXNvdXJjZXMvdmV0JztcbmltcG9ydCB7IEJVUk5fTkZUX01FVEhPRF9JRCwgU1RBUkdBVEVfTkZUX0FERFJFU1NfVEVTVE5FVCB9IGZyb20gJy4uLy4uL3NyYy9saWIvY29uc3RhbnRzJztcblxuZGVzY3JpYmUoJ1ZldCBCdXJuIE5GVCBUcmFuc2FjdGlvbicsICgpID0+IHtcbiAgY29uc3QgZmFjdG9yeSA9IG5ldyBUcmFuc2FjdGlvbkJ1aWxkZXJGYWN0b3J5KGNvaW5zLmdldCgndHZldCcpKTtcblxuICBkZXNjcmliZSgnQnVpbGQgYW5kIFNpZ24nLCAoKSA9PiB7XG4gICAgaXQoJ3Nob3VsZCBidWlsZCBhIGJ1cm4gTkZUIHRyYW5zYWN0aW9uJywgYXN5bmMgZnVuY3Rpb24gKCkge1xuICAgICAgY29uc3QgdG9rZW5JZCA9ICcxMjM0NTYnO1xuICAgICAgY29uc3QgdHhCdWlsZGVyID0gZmFjdG9yeS5nZXRCdXJuTmZ0QnVpbGRlcigpO1xuXG4gICAgICB0eEJ1aWxkZXIuc2VuZGVyKHRlc3REYXRhLmFkZHJlc3Nlcy52YWxpZEFkZHJlc3Nlc1swXSk7XG4gICAgICB0eEJ1aWxkZXIudG9rZW5JZCh0b2tlbklkKTtcbiAgICAgIHR4QnVpbGRlci5uZnRDb250cmFjdChTVEFSR0FURV9ORlRfQUREUkVTU19URVNUTkVUKTtcbiAgICAgIHR4QnVpbGRlci5nYXMoMjEwMDApO1xuICAgICAgdHhCdWlsZGVyLm5vbmNlKCc2NDI0OCcpO1xuICAgICAgdHhCdWlsZGVyLmJsb2NrUmVmKCcweDAxNGVhZDE0MGU3N2JiYzEnKTtcbiAgICAgIHR4QnVpbGRlci5leHBpcmF0aW9uKDY0KTtcbiAgICAgIHR4QnVpbGRlci5nYXNQcmljZUNvZWYoMTI4KTtcblxuICAgICAgY29uc3QgdHggPSAoYXdhaXQgdHhCdWlsZGVyLmJ1aWxkKCkpIGFzIEJ1cm5OZnRUcmFuc2FjdGlvbjtcblxuICAgICAgc2hvdWxkLmVxdWFsKHR4LnNlbmRlciwgdGVzdERhdGEuYWRkcmVzc2VzLnZhbGlkQWRkcmVzc2VzWzBdKTtcbiAgICAgIHNob3VsZC5lcXVhbCh0eC50b2tlbklkLCB0b2tlbklkKTtcbiAgICAgIHNob3VsZC5lcXVhbCh0eC5jb250cmFjdCwgU1RBUkdBVEVfTkZUX0FERFJFU1NfVEVTVE5FVCk7XG4gICAgICBzaG91bGQuZXF1YWwodHguZ2FzLCAyMTAwMCk7XG4gICAgICBzaG91bGQuZXF1YWwodHgubm9uY2UsICc2NDI0OCcpO1xuICAgICAgc2hvdWxkLmVxdWFsKHR4LmV4cGlyYXRpb24sIDY0KTtcbiAgICAgIHNob3VsZC5lcXVhbCh0eC50eXBlLCBUcmFuc2FjdGlvblR5cGUuU3Rha2luZ1dpdGhkcmF3KTtcblxuICAgICAgLy8gVmVyaWZ5IHRoZSB0cmFuc2FjdGlvbiBkYXRhIGNvbnRhaW5zIHRoZSBjb3JyZWN0IG1ldGhvZCBJRFxuICAgICAgdHguY2xhdXNlc1swXS5kYXRhLnNob3VsZC5zdGFydFdpdGgoQlVSTl9ORlRfTUVUSE9EX0lEKTtcblxuICAgICAgLy8gVmVyaWZ5IHRoZSB0cmFuc2FjdGlvbiBoYXMgdGhlIGNvcnJlY3Qgc3RydWN0dXJlXG4gICAgICB0eC5jbGF1c2VzLmxlbmd0aC5zaG91bGQuZXF1YWwoMSk7XG4gICAgICBzaG91bGQuZXF1YWwodHguY2xhdXNlc1swXS50bywgU1RBUkdBVEVfTkZUX0FERFJFU1NfVEVTVE5FVCk7XG4gICAgICBzaG91bGQuZXF1YWwodHguY2xhdXNlc1swXS52YWx1ZSwgJzB4MCcpO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCBidWlsZCBhIGJ1cm4gTkZUIHRyYW5zYWN0aW9uIHdpdGggY3VzdG9tIGNvbnRyYWN0IGFkZHJlc3MnLCBhc3luYyBmdW5jdGlvbiAoKSB7XG4gICAgICBjb25zdCB0b2tlbklkID0gJzEyMzQ1Nic7XG4gICAgICBjb25zdCBjdXN0b21Db250cmFjdEFkZHJlc3MgPSBTVEFSR0FURV9ORlRfQUREUkVTU19URVNUTkVUOyAvLyBVc2UgdGhlIHZhbGlkIHRlc3RuZXQgTkZUIGFkZHJlc3NcbiAgICAgIGNvbnN0IHR4QnVpbGRlciA9IGZhY3RvcnkuZ2V0QnVybk5mdEJ1aWxkZXIoKTtcblxuICAgICAgdHhCdWlsZGVyLnNlbmRlcih0ZXN0RGF0YS5hZGRyZXNzZXMudmFsaWRBZGRyZXNzZXNbMF0pO1xuICAgICAgdHhCdWlsZGVyLnRva2VuSWQodG9rZW5JZCk7XG4gICAgICB0eEJ1aWxkZXIubmZ0Q29udHJhY3QoY3VzdG9tQ29udHJhY3RBZGRyZXNzKTtcbiAgICAgIHR4QnVpbGRlci5nYXMoMjEwMDApO1xuICAgICAgdHhCdWlsZGVyLm5vbmNlKCc2NDI0OCcpO1xuICAgICAgdHhCdWlsZGVyLmJsb2NrUmVmKCcweDAxNGVhZDE0MGU3N2JiYzEnKTtcbiAgICAgIHR4QnVpbGRlci5leHBpcmF0aW9uKDY0KTtcbiAgICAgIHR4QnVpbGRlci5nYXNQcmljZUNvZWYoMTI4KTtcblxuICAgICAgY29uc3QgdHggPSAoYXdhaXQgdHhCdWlsZGVyLmJ1aWxkKCkpIGFzIEJ1cm5OZnRUcmFuc2FjdGlvbjtcblxuICAgICAgc2hvdWxkLmVxdWFsKHR4LmNvbnRyYWN0LCBjdXN0b21Db250cmFjdEFkZHJlc3MpO1xuICAgICAgc2hvdWxkLmVxdWFsKHR4LmNsYXVzZXNbMF0udG8sIGN1c3RvbUNvbnRyYWN0QWRkcmVzcyk7XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIGRlc2VyaWFsaXplIGFuZCByZXNlcmlhbGl6ZSBhIHNpZ25lZCBidXJuIE5GVCB0cmFuc2FjdGlvbicsIGFzeW5jIGZ1bmN0aW9uICgpIHtcbiAgICAgIC8vIENyZWF0ZSBhIG1vY2sgc2VyaWFsaXplZCB0cmFuc2FjdGlvbiBmb3IgYnVybiBORlRcbiAgICAgIGNvbnN0IHRva2VuSWQgPSAnMTIzNDU2JztcbiAgICAgIGNvbnN0IHR4QnVpbGRlciA9IGZhY3RvcnkuZ2V0QnVybk5mdEJ1aWxkZXIoKTtcblxuICAgICAgdHhCdWlsZGVyLnNlbmRlcih0ZXN0RGF0YS5hZGRyZXNzZXMudmFsaWRBZGRyZXNzZXNbMF0pO1xuICAgICAgdHhCdWlsZGVyLnRva2VuSWQodG9rZW5JZCk7XG4gICAgICB0eEJ1aWxkZXIubmZ0Q29udHJhY3QoU1RBUkdBVEVfTkZUX0FERFJFU1NfVEVTVE5FVCk7XG4gICAgICB0eEJ1aWxkZXIuZ2FzKDIxMDAwKTtcbiAgICAgIHR4QnVpbGRlci5ub25jZSgnNjQyNDgnKTtcbiAgICAgIHR4QnVpbGRlci5ibG9ja1JlZignMHgwMTRlYWQxNDBlNzdiYmMxJyk7XG4gICAgICB0eEJ1aWxkZXIuZXhwaXJhdGlvbig2NCk7XG4gICAgICB0eEJ1aWxkZXIuZ2FzUHJpY2VDb2VmKDEyOCk7XG5cbiAgICAgIGNvbnN0IHR4ID0gKGF3YWl0IHR4QnVpbGRlci5idWlsZCgpKSBhcyBCdXJuTmZ0VHJhbnNhY3Rpb247XG4gICAgICBjb25zdCBzZXJpYWxpemVkVHggPSB0eC50b0Jyb2FkY2FzdEZvcm1hdCgpO1xuXG4gICAgICAvLyBOb3cgZGVzZXJpYWxpemUgYW5kIGNoZWNrXG4gICAgICBjb25zdCBkZXNlcmlhbGl6ZWRCdWlsZGVyID0gZmFjdG9yeS5mcm9tKHNlcmlhbGl6ZWRUeCk7XG4gICAgICBjb25zdCBkZXNlcmlhbGl6ZWRUeCA9IChhd2FpdCBkZXNlcmlhbGl6ZWRCdWlsZGVyLmJ1aWxkKCkpIGFzIEJ1cm5OZnRUcmFuc2FjdGlvbjtcblxuICAgICAgc2hvdWxkLmVxdWFsKGRlc2VyaWFsaXplZFR4LnR5cGUsIFRyYW5zYWN0aW9uVHlwZS5TdGFraW5nV2l0aGRyYXcpO1xuICAgICAgc2hvdWxkLmVxdWFsKGRlc2VyaWFsaXplZFR4LnRva2VuSWQsIHRva2VuSWQpO1xuICAgICAgc2hvdWxkLmVxdWFsKGRlc2VyaWFsaXplZFR4LmNvbnRyYWN0LCBTVEFSR0FURV9ORlRfQUREUkVTU19URVNUTkVUKTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgdmFsaWRhdGUgdGhlIHRyYW5zYWN0aW9uIGRhdGEgc3RydWN0dXJlJywgYXN5bmMgZnVuY3Rpb24gKCkge1xuICAgICAgY29uc3QgdHhCdWlsZGVyID0gZmFjdG9yeS5nZXRCdXJuTmZ0QnVpbGRlcigpO1xuXG4gICAgICAvLyBTaG91bGQgdGhyb3cgZXJyb3Igd2hlbiBidWlsZGluZyB3aXRob3V0IHJlcXVpcmVkIGZpZWxkc1xuICAgICAgYXdhaXQgc2hvdWxkKHR4QnVpbGRlci5idWlsZCgpKS5iZS5yZWplY3RlZFdpdGgoJ05GVCBjb250cmFjdCBhZGRyZXNzIGlzIHJlcXVpcmVkJyk7XG5cbiAgICAgIHR4QnVpbGRlci5zZW5kZXIodGVzdERhdGEuYWRkcmVzc2VzLnZhbGlkQWRkcmVzc2VzWzBdKTtcbiAgICAgIHR4QnVpbGRlci5uZnRDb250cmFjdChTVEFSR0FURV9ORlRfQUREUkVTU19URVNUTkVUKTtcbiAgICAgIGF3YWl0IHNob3VsZCh0eEJ1aWxkZXIuYnVpbGQoKSkuYmUucmVqZWN0ZWRXaXRoKCdUb2tlbiBJRCBpcyByZXF1aXJlZCcpO1xuXG4gICAgICAvLyBOb3cgYWRkIHRoZSB0b2tlbiBJRCBhbmQgaXQgc2hvdWxkIGJ1aWxkIHN1Y2Nlc3NmdWxseVxuICAgICAgdHhCdWlsZGVyLnRva2VuSWQoJzEyMzQ1NicpO1xuICAgICAgdHhCdWlsZGVyLmdhcygyMTAwMCk7XG4gICAgICB0eEJ1aWxkZXIubm9uY2UoJzY0MjQ4Jyk7XG4gICAgICB0eEJ1aWxkZXIuYmxvY2tSZWYoJzB4MDE0ZWFkMTQwZTc3YmJjMScpO1xuXG4gICAgICBjb25zdCB0eCA9IGF3YWl0IHR4QnVpbGRlci5idWlsZCgpO1xuICAgICAgc2hvdWxkLmV4aXN0KHR4KTtcbiAgICB9KTtcbiAgfSk7XG5cbiAgZGVzY3JpYmUoJ1ZhbGlkYXRpb24nLCAoKSA9PiB7XG4gICAgaXQoJ3Nob3VsZCBmYWlsIHdpdGggaW52YWxpZCBjb250cmFjdCBhZGRyZXNzJywgZnVuY3Rpb24gKCkge1xuICAgICAgY29uc3QgdHhCdWlsZGVyID0gZmFjdG9yeS5nZXRCdXJuTmZ0QnVpbGRlcigpO1xuICAgICAgc2hvdWxkKCgpID0+IHR4QnVpbGRlci5uZnRDb250cmFjdCgnaW52YWxpZC1hZGRyZXNzJykpLnRocm93RXJyb3IoJ0ludmFsaWQgYWRkcmVzcyBpbnZhbGlkLWFkZHJlc3MnKTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgZmFpbCB3aXRoIGludmFsaWQgdG9rZW4gSUQnLCBhc3luYyBmdW5jdGlvbiAoKSB7XG4gICAgICBjb25zdCB0eEJ1aWxkZXIgPSBmYWN0b3J5LmdldEJ1cm5OZnRCdWlsZGVyKCk7XG4gICAgICB0eEJ1aWxkZXIuc2VuZGVyKHRlc3REYXRhLmFkZHJlc3Nlcy52YWxpZEFkZHJlc3Nlc1swXSk7XG4gICAgICB0eEJ1aWxkZXIubmZ0Q29udHJhY3QoU1RBUkdBVEVfTkZUX0FERFJFU1NfVEVTVE5FVCk7XG4gICAgICB0eEJ1aWxkZXIudG9rZW5JZCgnJyk7XG5cbiAgICAgIGF3YWl0IHNob3VsZCh0eEJ1aWxkZXIuYnVpbGQoKSkuYmUucmVqZWN0ZWRXaXRoKCdUb2tlbiBJRCBpcyByZXF1aXJlZCcpO1xuICAgIH0pO1xuICB9KTtcbn0pO1xuIl19
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=claimRewardsBuilder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"claimRewardsBuilder.d.ts","sourceRoot":"","sources":["../../../test/transactionBuilder/claimRewardsBuilder.ts"],"names":[],"mappings":""}