@bitgo-beta/abstract-eth 1.0.2-beta.210 → 1.0.2-beta.2101

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 (178) hide show
  1. package/dist/src/abstractEthLikeCoin.d.ts +20 -9
  2. package/dist/src/abstractEthLikeCoin.d.ts.map +1 -1
  3. package/dist/src/abstractEthLikeCoin.js +46 -15
  4. package/dist/src/abstractEthLikeNewCoins.d.ts +876 -0
  5. package/dist/src/abstractEthLikeNewCoins.d.ts.map +1 -0
  6. package/dist/src/abstractEthLikeNewCoins.js +2664 -0
  7. package/dist/src/ethLikeToken.d.ts +38 -6
  8. package/dist/src/ethLikeToken.d.ts.map +1 -1
  9. package/dist/src/ethLikeToken.js +289 -10
  10. package/dist/src/index.d.ts +2 -0
  11. package/dist/src/index.d.ts.map +1 -1
  12. package/dist/src/index.js +8 -2
  13. package/dist/src/lib/constants.d.ts +4 -0
  14. package/dist/src/lib/constants.d.ts.map +1 -0
  15. package/dist/src/lib/constants.js +11 -0
  16. package/dist/src/lib/contractCall.d.ts +8 -0
  17. package/dist/src/lib/contractCall.d.ts.map +1 -0
  18. package/dist/src/lib/contractCall.js +17 -0
  19. package/dist/src/lib/decryptionDelegationBuilder.d.ts +90 -0
  20. package/dist/src/lib/decryptionDelegationBuilder.d.ts.map +1 -0
  21. package/dist/src/lib/decryptionDelegationBuilder.js +59 -0
  22. package/dist/src/lib/iface.d.ts +143 -0
  23. package/dist/src/lib/iface.d.ts.map +1 -0
  24. package/dist/src/lib/iface.js +8 -0
  25. package/dist/src/lib/index.d.ts +19 -0
  26. package/dist/src/lib/index.d.ts.map +1 -0
  27. package/dist/src/lib/index.js +60 -0
  28. package/dist/src/lib/keyPair.d.ts +26 -0
  29. package/dist/src/lib/keyPair.d.ts.map +1 -0
  30. package/dist/src/lib/keyPair.js +65 -0
  31. package/dist/src/lib/messages/eip191/eip191Message.d.ts +12 -0
  32. package/dist/src/lib/messages/eip191/eip191Message.d.ts.map +1 -0
  33. package/dist/src/lib/messages/eip191/eip191Message.js +25 -0
  34. package/dist/src/lib/messages/eip191/eip191MessageBuilder.d.ts +19 -0
  35. package/dist/src/lib/messages/eip191/eip191MessageBuilder.d.ts.map +1 -0
  36. package/dist/src/lib/messages/eip191/eip191MessageBuilder.js +27 -0
  37. package/dist/src/lib/messages/eip191/index.d.ts +3 -0
  38. package/dist/src/lib/messages/eip191/index.d.ts.map +1 -0
  39. package/dist/src/lib/messages/eip191/index.js +19 -0
  40. package/dist/src/lib/messages/eip712/eip712Message.d.ts +6 -0
  41. package/dist/src/lib/messages/eip712/eip712Message.d.ts.map +1 -0
  42. package/dist/src/lib/messages/eip712/eip712Message.js +27 -0
  43. package/dist/src/lib/messages/eip712/eip712MessageBuilder.d.ts +7 -0
  44. package/dist/src/lib/messages/eip712/eip712MessageBuilder.d.ts.map +1 -0
  45. package/dist/src/lib/messages/eip712/eip712MessageBuilder.js +15 -0
  46. package/dist/src/lib/messages/eip712/index.d.ts +3 -0
  47. package/dist/src/lib/messages/eip712/index.d.ts.map +1 -0
  48. package/dist/src/lib/messages/eip712/index.js +19 -0
  49. package/dist/src/lib/messages/index.d.ts +4 -0
  50. package/dist/src/lib/messages/index.d.ts.map +1 -0
  51. package/dist/src/lib/messages/index.js +20 -0
  52. package/dist/src/lib/messages/messageBuilderFactory.d.ts +7 -0
  53. package/dist/src/lib/messages/messageBuilderFactory.d.ts.map +1 -0
  54. package/dist/src/lib/messages/messageBuilderFactory.js +23 -0
  55. package/dist/src/lib/transaction.d.ts +69 -0
  56. package/dist/src/lib/transaction.d.ts.map +1 -0
  57. package/dist/src/lib/transaction.js +149 -0
  58. package/dist/src/lib/transactionBuilder.d.ts +313 -0
  59. package/dist/src/lib/transactionBuilder.d.ts.map +1 -0
  60. package/dist/src/lib/transactionBuilder.js +926 -0
  61. package/dist/src/lib/transferBuilder.d.ts +76 -0
  62. package/dist/src/lib/transferBuilder.d.ts.map +1 -0
  63. package/dist/src/lib/transferBuilder.js +307 -0
  64. package/dist/src/lib/transferBuilders/baseNFTTransferBuilder.d.ts +54 -0
  65. package/dist/src/lib/transferBuilders/baseNFTTransferBuilder.d.ts.map +1 -0
  66. package/dist/src/lib/transferBuilders/baseNFTTransferBuilder.js +120 -0
  67. package/dist/src/lib/transferBuilders/index.d.ts +5 -0
  68. package/dist/src/lib/transferBuilders/index.d.ts.map +1 -0
  69. package/dist/src/lib/transferBuilders/index.js +21 -0
  70. package/dist/src/lib/transferBuilders/transferBuilderERC1155.d.ts +17 -0
  71. package/dist/src/lib/transferBuilders/transferBuilderERC1155.d.ts.map +1 -0
  72. package/dist/src/lib/transferBuilders/transferBuilderERC1155.js +96 -0
  73. package/dist/src/lib/transferBuilders/transferBuilderERC721.d.ts +21 -0
  74. package/dist/src/lib/transferBuilders/transferBuilderERC721.d.ts.map +1 -0
  75. package/dist/src/lib/transferBuilders/transferBuilderERC721.js +91 -0
  76. package/dist/src/lib/transferBuilders/transferBuilderERC7984.d.ts +35 -0
  77. package/dist/src/lib/transferBuilders/transferBuilderERC7984.d.ts.map +1 -0
  78. package/dist/src/lib/transferBuilders/transferBuilderERC7984.js +113 -0
  79. package/dist/src/lib/types.d.ts +40 -0
  80. package/dist/src/lib/types.d.ts.map +1 -0
  81. package/dist/src/lib/types.js +140 -0
  82. package/dist/src/lib/utils.d.ts +350 -0
  83. package/dist/src/lib/utils.d.ts.map +1 -0
  84. package/dist/src/lib/utils.js +946 -0
  85. package/dist/src/lib/walletUtil.d.ts +46 -0
  86. package/dist/src/lib/walletUtil.d.ts.map +1 -0
  87. package/dist/src/lib/walletUtil.js +53 -0
  88. package/dist/src/lib/zamaUtils.d.ts +107 -0
  89. package/dist/src/lib/zamaUtils.d.ts.map +1 -0
  90. package/dist/src/lib/zamaUtils.js +220 -0
  91. package/dist/src/types.d.ts +9 -0
  92. package/dist/src/types.d.ts.map +1 -0
  93. package/dist/src/types.js +3 -0
  94. package/dist/test/index.d.ts +2 -0
  95. package/dist/test/index.d.ts.map +1 -0
  96. package/dist/test/index.js +18 -0
  97. package/dist/test/unit/coin.d.ts +8 -0
  98. package/dist/test/unit/coin.d.ts.map +1 -0
  99. package/dist/test/unit/coin.js +577 -0
  100. package/dist/test/unit/decryptionDelegationBuilder.d.ts +2 -0
  101. package/dist/test/unit/decryptionDelegationBuilder.d.ts.map +1 -0
  102. package/dist/test/unit/decryptionDelegationBuilder.js +265 -0
  103. package/dist/test/unit/index.d.ts +8 -0
  104. package/dist/test/unit/index.d.ts.map +1 -0
  105. package/dist/test/unit/index.js +24 -0
  106. package/dist/test/unit/messages/abstractEthMessageBuilderTests.d.ts +3 -0
  107. package/dist/test/unit/messages/abstractEthMessageBuilderTests.d.ts.map +1 -0
  108. package/dist/test/unit/messages/abstractEthMessageBuilderTests.js +110 -0
  109. package/dist/test/unit/messages/abstractEthMessageTestTypes.d.ts +43 -0
  110. package/dist/test/unit/messages/abstractEthMessageTestTypes.d.ts.map +1 -0
  111. package/dist/test/unit/messages/abstractEthMessageTestTypes.js +3 -0
  112. package/dist/test/unit/messages/abstractEthMessagesTests.d.ts +3 -0
  113. package/dist/test/unit/messages/abstractEthMessagesTests.d.ts.map +1 -0
  114. package/dist/test/unit/messages/abstractEthMessagesTests.js +129 -0
  115. package/dist/test/unit/messages/eip191/eip191Message.d.ts +2 -0
  116. package/dist/test/unit/messages/eip191/eip191Message.d.ts.map +1 -0
  117. package/dist/test/unit/messages/eip191/eip191Message.js +15 -0
  118. package/dist/test/unit/messages/eip191/eip191MessageBuilder.d.ts +2 -0
  119. package/dist/test/unit/messages/eip191/eip191MessageBuilder.d.ts.map +1 -0
  120. package/dist/test/unit/messages/eip191/eip191MessageBuilder.js +16 -0
  121. package/dist/test/unit/messages/eip191/fixtures.d.ts +109 -0
  122. package/dist/test/unit/messages/eip191/fixtures.d.ts.map +1 -0
  123. package/dist/test/unit/messages/eip191/fixtures.js +63 -0
  124. package/dist/test/unit/messages/eip712/eip712Message.d.ts +2 -0
  125. package/dist/test/unit/messages/eip712/eip712Message.d.ts.map +1 -0
  126. package/dist/test/unit/messages/eip712/eip712Message.js +15 -0
  127. package/dist/test/unit/messages/eip712/eip712MessageBuilder.d.ts +2 -0
  128. package/dist/test/unit/messages/eip712/eip712MessageBuilder.d.ts.map +1 -0
  129. package/dist/test/unit/messages/eip712/eip712MessageBuilder.js +16 -0
  130. package/dist/test/unit/messages/eip712/fixtures.d.ts +76 -0
  131. package/dist/test/unit/messages/eip712/fixtures.d.ts.map +1 -0
  132. package/dist/test/unit/messages/eip712/fixtures.js +120 -0
  133. package/dist/test/unit/messages/index.d.ts +4 -0
  134. package/dist/test/unit/messages/index.d.ts.map +1 -0
  135. package/dist/test/unit/messages/index.js +20 -0
  136. package/dist/test/unit/messages/messageBuilderFactory.d.ts +2 -0
  137. package/dist/test/unit/messages/messageBuilderFactory.d.ts.map +1 -0
  138. package/dist/test/unit/messages/messageBuilderFactory.js +52 -0
  139. package/dist/test/unit/token.d.ts +2 -0
  140. package/dist/test/unit/token.d.ts.map +1 -0
  141. package/dist/test/unit/token.js +37 -0
  142. package/dist/test/unit/transaction.d.ts +3 -0
  143. package/dist/test/unit/transaction.d.ts.map +1 -0
  144. package/dist/test/unit/transaction.js +73 -0
  145. package/dist/test/unit/transactionBuilder/addressInitialization.d.ts +8 -0
  146. package/dist/test/unit/transactionBuilder/addressInitialization.d.ts.map +1 -0
  147. package/dist/test/unit/transactionBuilder/addressInitialization.js +95 -0
  148. package/dist/test/unit/transactionBuilder/decryptionDelegation.d.ts +3 -0
  149. package/dist/test/unit/transactionBuilder/decryptionDelegation.d.ts.map +1 -0
  150. package/dist/test/unit/transactionBuilder/decryptionDelegation.js +161 -0
  151. package/dist/test/unit/transactionBuilder/flushERC7984.d.ts +3 -0
  152. package/dist/test/unit/transactionBuilder/flushERC7984.d.ts.map +1 -0
  153. package/dist/test/unit/transactionBuilder/flushERC7984.js +292 -0
  154. package/dist/test/unit/transactionBuilder/flushNft.d.ts +2 -0
  155. package/dist/test/unit/transactionBuilder/flushNft.d.ts.map +1 -0
  156. package/dist/test/unit/transactionBuilder/flushNft.js +381 -0
  157. package/dist/test/unit/transactionBuilder/index.d.ts +7 -0
  158. package/dist/test/unit/transactionBuilder/index.d.ts.map +1 -0
  159. package/dist/test/unit/transactionBuilder/index.js +23 -0
  160. package/dist/test/unit/transactionBuilder/send.d.ts +3 -0
  161. package/dist/test/unit/transactionBuilder/send.d.ts.map +1 -0
  162. package/dist/test/unit/transactionBuilder/send.js +197 -0
  163. package/dist/test/unit/transactionBuilder/walletInitialization.d.ts +11 -0
  164. package/dist/test/unit/transactionBuilder/walletInitialization.d.ts.map +1 -0
  165. package/dist/test/unit/transactionBuilder/walletInitialization.js +137 -0
  166. package/dist/test/unit/transferBuilder.d.ts +2 -0
  167. package/dist/test/unit/transferBuilder.d.ts.map +1 -0
  168. package/dist/test/unit/transferBuilder.js +76 -0
  169. package/dist/test/unit/utils.d.ts +2 -0
  170. package/dist/test/unit/utils.d.ts.map +1 -0
  171. package/dist/test/unit/utils.js +214 -0
  172. package/dist/test/unit/zamaUtils.d.ts +2 -0
  173. package/dist/test/unit/zamaUtils.d.ts.map +1 -0
  174. package/dist/test/unit/zamaUtils.js +352 -0
  175. package/dist/tsconfig.tsbuildinfo +1 -8286
  176. package/package.json +34 -10
  177. package/.eslintignore +0 -5
  178. package/CHANGELOG.md +0 -166
@@ -0,0 +1,120 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.fixtures = void 0;
4
+ const simple = {
5
+ input: {
6
+ payload: JSON.stringify({
7
+ types: {
8
+ EIP712Domain: [
9
+ { name: 'name', type: 'string' },
10
+ { name: 'version', type: 'string' },
11
+ { name: 'chainId', type: 'uint256' },
12
+ { name: 'verifyingContract', type: 'address' },
13
+ ],
14
+ Person: [
15
+ { name: 'name', type: 'string' },
16
+ { name: 'wallet', type: 'address' },
17
+ ],
18
+ Mail: [
19
+ { name: 'from', type: 'Person' },
20
+ { name: 'to', type: 'Person' },
21
+ { name: 'contents', type: 'string' },
22
+ ],
23
+ },
24
+ primaryType: 'Mail',
25
+ domain: {
26
+ name: 'Ether Mail',
27
+ version: '1',
28
+ chainId: 1,
29
+ verifyingContract: '0xCcCCccccCCCCcCCCCCCcCcCccCcCCCcCcccccccC',
30
+ },
31
+ message: {
32
+ from: {
33
+ name: 'Cow',
34
+ wallet: '0xCD2a3d9F938E13CD947Ec05AbC7FE734Df8DD826',
35
+ },
36
+ to: {
37
+ name: 'Bob',
38
+ wallet: '0xbBbBBBBbbBBBbbbBbbBbbbbBBbBbbbbBbBbbBBbB',
39
+ },
40
+ contents: 'Hello, Bob!',
41
+ },
42
+ }),
43
+ metadata: {
44
+ encoding: 'utf8',
45
+ customData: 'test data',
46
+ },
47
+ signature: {
48
+ publicKey: { pub: '0x7E5F4552091A69125d5DfCb7b8C2659029395Bdf' },
49
+ signature: Buffer.from('5d99b6f7f6d1f73d1a26497f2b1c89b24c0993913f86e9a2d02cd69887d9c94f3c880358579d811b21dd1b7fd9bb01c1d81d10e69f0384e675c32b39643be8921b', 'hex'),
50
+ },
51
+ signer: '0x7E5F4552091A69125d5DfCb7b8C2659029395Bdf',
52
+ },
53
+ expected: {
54
+ expectedSignableHex: '1901f2cee375fa42b42143804025fc449deafd50cc031ca257e0b194a650a912090fc52c0ee5d84264471806290a3f2c4cecfc5490626bf912d01f240d7a274b371e',
55
+ expectedSignableBase64: 'GQHyzuN1+kK0IUOAQCX8RJ3q/VDMAxyiV+CxlKZQqRIJD8UsDuXYQmRHGAYpCj8sTOz8VJBia/kS0B8kDXonSzce',
56
+ },
57
+ broadcastHex: '7b2274797065223a22454950373132222c227061796c6f6164223a227b5c2274797065735c223a7b5c22454950373132446f6d61696e5c223a5b7b5c226e616d655c223a5c226e616d655c222c5c22747970655c223a5c22737472696e675c227d2c7b5c226e616d655c223a5c2276657273696f6e5c222c5c22747970655c223a5c22737472696e675c227d2c7b5c226e616d655c223a5c22636861696e49645c222c5c22747970655c223a5c2275696e743235365c227d2c7b5c226e616d655c223a5c22766572696679696e67436f6e74726163745c222c5c22747970655c223a5c22616464726573735c227d5d2c5c22506572736f6e5c223a5b7b5c226e616d655c223a5c226e616d655c222c5c22747970655c223a5c22737472696e675c227d2c7b5c226e616d655c223a5c2277616c6c65745c222c5c22747970655c223a5c22616464726573735c227d5d2c5c224d61696c5c223a5b7b5c226e616d655c223a5c2266726f6d5c222c5c22747970655c223a5c22506572736f6e5c227d2c7b5c226e616d655c223a5c22746f5c222c5c22747970655c223a5c22506572736f6e5c227d2c7b5c226e616d655c223a5c22636f6e74656e74735c222c5c22747970655c223a5c22737472696e675c227d5d7d2c5c227072696d617279547970655c223a5c224d61696c5c222c5c22646f6d61696e5c223a7b5c226e616d655c223a5c224574686572204d61696c5c222c5c2276657273696f6e5c223a5c22315c222c5c22636861696e49645c223a312c5c22766572696679696e67436f6e74726163745c223a5c223078436343436363636343434343634343434343436343634363634363434343634363636363636363435c227d2c5c226d6573736167655c223a7b5c2266726f6d5c223a7b5c226e616d655c223a5c22436f775c222c5c2277616c6c65745c223a5c223078434432613364394639333845313343443934374563303541624337464537333444663844443832365c227d2c5c22746f5c223a7b5c226e616d655c223a5c22426f625c222c5c2277616c6c65745c223a5c223078624262424242426262424242626262426262426262626242426242626262624262426262424262425c227d2c5c22636f6e74656e74735c223a5c2248656c6c6f2c20426f62215c227d7d222c2273657269616c697a65645369676e617475726573223a5b7b227075626c69634b6579223a22307837453546343535323039314136393132356435446643623762384332363539303239333935426466222c227369676e6174757265223a22585a6d32392f6252397a30614a6b6c2f4b78794a736b774a6b35452f68756d6930437a576d49665a7955383869414e59563532424779486447332f5a757748423242305135703844684f5a31777973355a44766f6b68733d227d5d2c227369676e657273223a5b22307837453546343535323039314136393132356435446643623762384332363539303239333935426466225d2c226d65746164617461223a7b22656e636f64696e67223a2275746638222c22637573746f6d44617461223a22746573742064617461227d7d',
58
+ };
59
+ const recursive = {
60
+ input: {
61
+ payload: JSON.stringify({
62
+ types: {
63
+ EIP712Domain: [
64
+ { name: 'name', type: 'string' },
65
+ { name: 'version', type: 'string' },
66
+ { name: 'chainId', type: 'uint256' },
67
+ { name: 'verifyingContract', type: 'address' },
68
+ ],
69
+ Person: [
70
+ { name: 'name', type: 'string' },
71
+ { name: 'wallet', type: 'address' },
72
+ ],
73
+ Mail: [
74
+ { name: 'from', type: 'Person' },
75
+ { name: 'to', type: 'Person' },
76
+ { name: 'contents', type: 'string' },
77
+ { name: 'replyTo', type: 'Mail' },
78
+ ],
79
+ },
80
+ primaryType: 'Mail',
81
+ domain: {
82
+ name: 'Ether Mail',
83
+ version: '1',
84
+ chainId: 1,
85
+ verifyingContract: '0xCcCCccccCCCCcCCCCCCcCcCccCcCCCcCcccccccC',
86
+ },
87
+ message: {
88
+ from: {
89
+ name: 'Cow',
90
+ wallet: '0xCD2a3d9F938E13CD947Ec05AbC7FE734Df8DD826',
91
+ },
92
+ to: {
93
+ name: 'Bob',
94
+ wallet: '0xbBbBBBBbbBBBbbbBbbBbbbbBBbBbbbbBbBbbBBbB',
95
+ },
96
+ contents: 'Hello, Bob!',
97
+ replyTo: {
98
+ to: {
99
+ name: 'Cow',
100
+ wallet: '0xCD2a3d9F938E13CD947Ec05AbC7FE734Df8DD826',
101
+ },
102
+ from: {
103
+ name: 'Bob',
104
+ wallet: '0xbBbBBBBbbBBBbbbBbbBbbbbBBbBbbbbBbBbbBBbB',
105
+ },
106
+ contents: 'Hello!',
107
+ },
108
+ },
109
+ }),
110
+ },
111
+ expected: {
112
+ expectedSignableHex: '1901f2cee375fa42b42143804025fc449deafd50cc031ca257e0b194a650a912090f098a3fdba6dae9a89a220b7adbe1f38cf5d2aeabd94657aea65bb8aeef44f02e',
113
+ },
114
+ };
115
+ exports.fixtures = {
116
+ tests: { simple, recursive },
117
+ signedTest: simple,
118
+ messageBuilderTest: simple,
119
+ };
120
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZml4dHVyZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi90ZXN0L3VuaXQvbWVzc2FnZXMvZWlwNzEyL2ZpeHR1cmVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLE1BQU0sTUFBTSxHQUFHO0lBQ2IsS0FBSyxFQUFFO1FBQ0wsT0FBTyxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUM7WUFDdEIsS0FBSyxFQUFFO2dCQUNMLFlBQVksRUFBRTtvQkFDWixFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRTtvQkFDaEMsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUU7b0JBQ25DLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFO29CQUNwQyxFQUFFLElBQUksRUFBRSxtQkFBbUIsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFO2lCQUMvQztnQkFDRCxNQUFNLEVBQUU7b0JBQ04sRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUU7b0JBQ2hDLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFO2lCQUNwQztnQkFDRCxJQUFJLEVBQUU7b0JBQ0osRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUU7b0JBQ2hDLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFO29CQUM5QixFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRTtpQkFDckM7YUFDRjtZQUNELFdBQVcsRUFBRSxNQUFNO1lBQ25CLE1BQU0sRUFBRTtnQkFDTixJQUFJLEVBQUUsWUFBWTtnQkFDbEIsT0FBTyxFQUFFLEdBQUc7Z0JBQ1osT0FBTyxFQUFFLENBQUM7Z0JBQ1YsaUJBQWlCLEVBQUUsNENBQTRDO2FBQ2hF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QUU7SUFDNUIsVUFBVSxFQUFFLE1BQU07SUFDbEIsa0JBQWtCLEVBQUUsTUFBTTtDQUMzQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiY29uc3Qgc2ltcGxlID0ge1xuICBpbnB1dDoge1xuICAgIHBheWxvYWQ6IEpTT04uc3RyaW5naWZ5KHtcbiAgICAgIHR5cGVzOiB7XG4gICAgICAgIEVJUDcxMkRvbWFpbjogW1xuICAgICAgICAgIHsgbmFtZTogJ25hbWUnLCB0eXBlOiAnc3RyaW5nJyB9LFxuICAgICAgICAgIHsgbmFtZTogJ3ZlcnNpb24nLCB0eXBlOiAnc3RyaW5nJyB9LFxuICAgICAgICAgIHsgbmFtZTogJ2NoYWluSWQnLCB0eXBlOiAndWludDI1NicgfSxcbiAgICAgICAgICB7IG5hbWU6ICd2ZXJpZnlpbmdDb250cmFjdCcsIHR5cGU6ICdhZGRyZXNzJyB9LFxuICAgICAgICBdLFxuICAgICAgICBQZXJzb246IFtcbiAgICAgICAgICB7IG5hbWU6ICduYW1lJywgdHlwZTogJ3N0cmluZycgfSxcbiAgICAgICAgICB7IG5hbWU6ICd3YWxsZXQnLCB0eXBlOiAnYWRkcmVzcycgfSxcbiAgICAgICAgXSxcbiAgICAgICAgTWFpbDogW1xuICAgICAgICAgIHsgbmFtZTogJ2Zyb20nLCB0eXBlOiAnUGVyc29uJyB9LFxuICAgICAgICAgIHsgbmFtZTogJ3RvJywgdHlwZTogJ1BlcnNvbicgfSxcbiAgICAgICAgICB7IG5hbWU6ICdjb250ZW50cycsIHR5cGU6ICdzdHJpbmcnIH0sXG4gICAgICAgIF0sXG4gICAgICB9LFxuICAgICAgcHJpbWFyeVR5cGU6ICdNYWlsJyxcbiAgICAgIGRvbWFpbjoge1xuICAgICAgICBuYW1lOiAnRXRoZXIgTWFpbCcsXG4gICAgICAgIHZlcnNpb246ICcxJyxcbiAgICAgICAgY2hhaW5JZDogMSxcbiAgICAgICAgdmVyaWZ5aW5nQ29udHJhY3Q6ICcweENjQ0NjY2NjQ0NDQ2NDQ0NDQ0NjQ2NDY2NDY0NDQ2NDY2NjY2NjY0MnLFxuICAgICAgfSxcbiAgICAgIG1lc3NhZ2U6IHtcbiAgICAgICAgZnJvbToge1xuICAgICAgICAgIG5hbWU6ICdDb3cnLFxuICAgICAgICAgIHdhbGxldDogJzB4Q0QyYTNkOUY5MzhFMTNDRDk0N0VjMDVBYkM3RkU3MzREZjhERDgyNicsXG4gICAgICAgIH0sXG4gICAgICAgIHRvOiB7XG4gICAgICAgICAgbmFtZTogJ0JvYicsXG4gICAgICAgICAgd2FsbGV0OiAnMHhiQmJCQkJCYmJCQkJiYmJCYmJCYmJiYkJCYkJiYmJiQmJCYmJCQmJCJyxcbiAgICAgICAgfSxcbiAgICAgICAgY29udGVudHM6ICdIZWxsbywgQm9iIScsXG4gICAgICB9LFxuICAgIH0pLFxuICAgIG1ldGFkYXRhOiB7XG4gICAgICBlbmNvZGluZzogJ3V0ZjgnLFxuICAgICAgY3VzdG9tRGF0YTogJ3Rlc3QgZGF0YScsXG4gICAgfSxcbiAgICBzaWduYXR1cmU6IHtcbiAgICAgIHB1YmxpY0tleTogeyBwdWI6ICcweDdFNUY0NTUyMDkxQTY5MTI1ZDVEZkNiN2I4QzI2NTkwMjkzOTVCZGYnIH0sXG4gICAgICBzaWduYXR1cmU6IEJ1ZmZlci5mcm9tKFxuICAgICAgICAnNWQ5OWI2ZjdmNmQxZjczZDFhMjY0OTdmMmIxYzg5YjI0YzA5OTM5MTNmODZlOWEyZDAyY2Q2OTg4N2Q5Yzk0ZjNjODgwMzU4NTc5ZDgxMWIyMWRkMWI3ZmQ5YmIwMWMxZDgxZDEwZTY5ZjAzODRlNjc1YzMyYjM5NjQzYmU4OTIxYicsXG4gICAgICAgICdoZXgnXG4gICAgICApLFxuICAgIH0sXG4gICAgc2lnbmVyOiAnMHg3RTVGNDU1MjA5MUE2OTEyNWQ1RGZDYjdiOEMyNjU5MDI5Mzk1QmRmJyxcbiAgfSxcbiAgZXhwZWN0ZWQ6IHtcbiAgICBleHBlY3RlZFNpZ25hYmxlSGV4OlxuICAgICAgJzE5MDFmMmNlZTM3NWZhNDJiNDIxNDM4MDQwMjVmYzQ0OWRlYWZkNTBjYzAzMWNhMjU3ZTBiMTk0YTY1MGE5MTIwOTBmYzUyYzBlZTVkODQyNjQ0NzE4MDYyOTBhM2YyYzRjZWNmYzU0OTA2MjZiZjkxMmQwMWYyNDBkN2EyNzRiMzcxZScsXG4gICAgZXhwZWN0ZWRTaWduYWJsZUJhc2U2NDogJ0dRSHl6dU4xK2tLMElVT0FRQ1g4UkozcS9WRE1BeHlpVitDeGxLWlFxUklKRDhVc0R1WFlRbVJIR0FZcENqOHNUT3o4VkpCaWEva1MwQjhrRFhvblN6Y2UnLFxuICB9LFxuICBicm9hZGNhc3RIZXg6XG4gICAgJzdiMjI3NDc5NzA2NTIyM2EyMjQ1NDk1MDM3MzEzMjIyMmMyMjcwNjE3OTZjNmY2MTY0MjIzYTIyN2I1YzIyNzQ3OTcwNjU3MzVjMjIzYTdiNWMyMjQ1NDk1MDM3MzEzMjQ0NmY2ZDYxNjk2ZTVjMjIzYTViN2I1YzIyNmU2MTZkNjU1YzIyM2E1YzIyNmU2MTZkNjU1YzIyMmM1YzIyNzQ3OTcwNjU1YzIyM2E1YzIyNzM3NDcyNjk2ZTY3NWMyMjdkMmM3YjVjMjI2ZTYxNmQ2NTVjMjIzYTVjMjI3NjY1NzI3MzY5NmY2ZTVjMjIyYzVjMjI3NDc5NzA2NTVjMjIzYTVjMjI3Mzc0NzI2OTZlNjc1YzIyN2QyYzdiNWMyMjZlNjE2ZDY1NWMyMjNhNWMyMjYzNjg2MTY5NmU0OTY0NWMyMjJjNWMyMjc0Nzk3MDY1NWMyMjNhNWMyMjc1Njk2ZTc0MzIzNTM2NWMyMjdkMmM3YjVjMjI2ZTYxNmQ2NTVjMjIzYTVjMjI3NjY1NzI2OTY2Nzk2OTZlNjc0MzZmNmU3NDcyNjE2Mzc0NWMyMjJjNWMyMjc0Nzk3MDY1NWMyMjNhNWMyMjYxNjQ2NDcyNjU3MzczNWMyMjdkNWQyYzVjMjI1MDY1NzI3MzZmNmU1YzIyM2E1YjdiNWMyMjZlNjE2ZDY1NWMyMjNhNWMyMjZlNjE2ZDY1NWMyMjJjNWMyMjc0Nzk3MDY1NWMyMjNhNWMyMjczNzQ3MjY5NmU2NzVjMjI3ZDJjN2I1YzIyNmU2MTZkNjU1YzIyM2E1YzIyNzc2MTZjNmM2NTc0NWMyMjJjNWMyMjc0Nzk3MDY1NWMyMjNhNWMyMjYxNjQ2NDcyNjU3MzczNWMyMjdkNWQyYzVjMjI0ZDYxNjk2YzVjMjIzYTViN2I1YzIyNmU2MTZkNjU1YzIyM2E1YzIyNjY3MjZmNmQ1YzIyMmM1YzIyNzQ3OTcwNjU1YzIyM2E1YzIyNTA2NTcyNzM2ZjZlNWMyMjdkMmM3YjVjMjI2ZTYxNmQ2NTVjMjIzYTVjMjI3NDZmNWMyMjJjNWMyMjc0Nzk3MDY1NWMyMjNhNWMyMjUwNjU3MjczNmY2ZTVjMjI3ZDJjN2I1YzIyNmU2MTZkNjU1YzIyM2E1YzIyNjM2ZjZlNzQ2NTZlNzQ3MzVjMjIyYzVjMjI3NDc5NzA2NTVjMjIzYTVjMjI3Mzc0NzI2OTZlNjc1YzIyN2Q1ZDdkMmM1YzIyNzA3MjY5NmQ2MTcyNzk1NDc5NzA2NTVjMjIzYTVjMjI0ZDYxNjk2YzVjMjIyYzVjMjI2NDZmNmQ2MTY5NmU1YzIyM2E3YjVjMjI2ZTYxNmQ2NTVjMjIzYTVjMjI0NTc0Njg2NTcyMjA0ZDYxNjk2YzVjMjIyYzVjMjI3NjY1NzI3MzY5NmY2ZTVjMjIzYTVjMjIzMTVjMjIyYzVjMjI2MzY4NjE2OTZlNDk2NDVjMjIzYTMxMmM1YzIyNzY2NTcyNjk2Njc5Njk2ZTY3NDM2ZjZlNzQ3MjYxNjM3NDVjMjIzYTVjMjIzMDc4NDM2MzQzNDM2MzYzNjM2MzQzNDM0MzQzNjM0MzQzNDM0MzQzNDM2MzQzNjM0MzYzNjM0MzYzNDM0MzQzNjM0MzYzNjM2MzYzNjM2MzYzNDM1YzIyN2QyYzVjMjI2ZDY1NzM3MzYxNjc2NTVjMjIzYTdiNWMyMjY2NzI2ZjZkNWMyMjNhN2I1YzIyNmU2MTZkNjU1YzIyM2E1YzIyNDM2Zjc3NWMyMjJjNWMyMjc3NjE2YzZjNjU3NDVjMjIzYTVjMjIzMDc4NDM0NDMyNjEzMzY0Mzk0NjM5MzMzODQ1MzEzMzQzNDQzOTM0Mzc0NTYzMzAzNTQxNjI0MzM3NDY0NTM3MzMzNDQ0NjYzODQ0NDQzODMyMzY1YzIyN2QyYzVjMjI3NDZmNWMyMjNhN2I1YzIyNmU2MTZkNjU1YzIyM2E1YzIyNDI2ZjYyNWMyMjJjNWMyMjc3NjE2YzZjNjU3NDVjMjIzYTVjMjIzMDc4NjI0MjYyNDI0MjQyNDI2MjYyNDI0MjQyNjI2MjYyNDI2MjYyNDI2MjYyNjI2MjQyNDI2MjQyNjI2MjYyNjI0MjYyNDI2MjYyNDI0MjYyNDI1YzIyN2QyYzVjMjI2MzZmNmU3NDY1NmU3NDczNWMyMjNhNWMyMjQ4NjU2YzZjNmYyYzIwNDI2ZjYyMjE1YzIyN2Q3ZDIyMmMyMjczNjU3MjY5NjE2YzY5N2E2NTY0NTM2OTY3NmU2MTc0NzU3MjY1NzMyMjNhNWI3YjIyNzA3NTYyNmM2OTYzNGI2NTc5MjIzYTIyMzA3ODM3NDUzNTQ2MzQzNTM1MzIzMDM5MzE0MTM2MzkzMTMyMzU2NDM1NDQ2NjQzNjIzNzYyMzg0MzMyMzYzNTM5MzAzMjM5MzMzOTM1NDI2NDY2MjIyYzIyNzM2OTY3NmU2MTc0NzU3MjY1MjIzYTIyNTg1YTZkMzIzOTJmNjI1MjM5N2EzMDYxNGE2YjZjMmY0Yjc4Nzk0YTczNmI3NzRhNmIzNTQ1MmY2ODc1NmQ2OTMwNDM3YTU3NmQ0OTY2NWE3OTU1MzgzODY5NDE0ZTU5NTYzNTMyNDI0Nzc5NDg2NDQ3MzMyZjVhNzU3NzQ4NDIzMjQyMzA1MTM1NzAzODQ0Njg0ZjVhMzE3Nzc5NzMzNTVhNDQ3NjZmNmI2ODczM2QyMjdkNWQyYzIyNzM2OTY3NmU2NTcyNzMyMjNhNWIyMjMwNzgzNzQ1MzU0NjM0MzUzNTMyMzAzOTMxNDEzNjM5MzEzMjM1NjQzNTQ0NjY0MzYyMzc2MjM4NDMzMjM2MzUzOTMwMzIzOTMzMzkzNTQyNjQ2NjIyNWQyYzIyNmQ2NTc0NjE2NDYxNzQ2MTIyM2E3YjIyNjU2ZTYzNmY2NDY5NmU2NzIyM2EyMjc1NzQ2NjM4MjIyYzIyNjM3NTczNzQ2ZjZkNDQ2MTc0NjEyMjNhMjI3NDY1NzM3NDIwNjQ2MTc0NjEyMjdkN2QnLFxufTtcblxuY29uc3QgcmVjdXJzaXZlID0ge1xuICBpbnB1dDoge1xuICAgIHBheWxvYWQ6IEpTT04uc3RyaW5naWZ5KHtcbiAgICAgIHR5cGVzOiB7XG4gICAgICAgIEVJUDcxMkRvbWFpbjogW1xuICAgICAgICAgIHsgbmFtZTogJ25hbWUnLCB0eXBlOiAnc3RyaW5nJyB9LFxuICAgICAgICAgIHsgbmFtZTogJ3ZlcnNpb24nLCB0eXBlOiAnc3RyaW5nJyB9LFxuICAgICAgICAgIHsgbmFtZTogJ2NoYWluSWQnLCB0eXBlOiAndWludDI1NicgfSxcbiAgICAgICAgICB7IG5hbWU6ICd2ZXJpZnlpbmdDb250cmFjdCcsIHR5cGU6ICdhZGRyZXNzJyB9LFxuICAgICAgICBdLFxuICAgICAgICBQZXJzb246IFtcbiAgICAgICAgICB7IG5hbWU6ICduYW1lJywgdHlwZTogJ3N0cmluZycgfSxcbiAgICAgICAgICB7IG5hbWU6ICd3YWxsZXQnLCB0eXBlOiAnYWRkcmVzcycgfSxcbiAgICAgICAgXSxcbiAgICAgICAgTWFpbDogW1xuICAgICAgICAgIHsgbmFtZTogJ2Zyb20nLCB0eXBlOiAnUGVyc29uJyB9LFxuICAgICAgICAgIHsgbmFtZTogJ3RvJywgdHlwZTogJ1BlcnNvbicgfSxcbiAgICAgICAgICB7IG5hbWU6ICdjb250ZW50cycsIHR5cGU6ICdzdHJpbmcnIH0sXG4gICAgICAgICAgeyBuYW1lOiAncmVwbHlUbycsIHR5cGU6ICdNYWlsJyB9LFxuICAgICAgICBdLFxuICAgICAgfSxcbiAgICAgIHByaW1hcnlUeXBlOiAnTWFpbCcsXG4gICAgICBkb21haW46IHtcbiAgICAgICAgbmFtZTogJ0V0aGVyIE1haWwnLFxuICAgICAgICB2ZXJzaW9uOiAnMScsXG4gICAgICAgIGNoYWluSWQ6IDEsXG4gICAgICAgIHZlcmlmeWluZ0NvbnRyYWN0OiAnMHhDY0NDY2NjY0NDQ0NjQ0NDQ0NDY0NjQ2NjQ2NDQ0NjQ2NjY2NjY2NDJyxcbiAgICAgIH0sXG4gICAgICBtZXNzYWdlOiB7XG4gICAgICAgIGZyb206IHtcbiAgICAgICAgICBuYW1lOiAnQ293JyxcbiAgICAgICAgICB3YWxsZXQ6ICcweENEMmEzZDlGOTM4RTEzQ0Q5NDdFYzA1QWJDN0ZFNzM0RGY4REQ4MjYnLFxuICAgICAgICB9LFxuICAgICAgICB0bzoge1xuICAgICAgICAgIG5hbWU6ICdCb2InLFxuICAgICAgICAgIHdhbGxldDogJzB4YkJiQkJCQmJiQkJCYmJiQmJiQmJiYmJCQmJCYmJiYkJiQmJiQkJiQicsXG4gICAgICAgIH0sXG4gICAgICAgIGNvbnRlbnRzOiAnSGVsbG8sIEJvYiEnLFxuICAgICAgICByZXBseVRvOiB7XG4gICAgICAgICAgdG86IHtcbiAgICAgICAgICAgIG5hbWU6ICdDb3cnLFxuICAgICAgICAgICAgd2FsbGV0OiAnMHhDRDJhM2Q5RjkzOEUxM0NEOTQ3RWMwNUFiQzdGRTczNERmOEREODI2JyxcbiAgICAgICAgICB9LFxuICAgICAgICAgIGZyb206IHtcbiAgICAgICAgICAgIG5hbWU6ICdCb2InLFxuICAgICAgICAgICAgd2FsbGV0OiAnMHhiQmJCQkJCYmJCQkJiYmJCYmJCYmJiYkJCYkJiYmJiQmJCYmJCQmJCJyxcbiAgICAgICAgICB9LFxuICAgICAgICAgIGNvbnRlbnRzOiAnSGVsbG8hJyxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgfSksXG4gIH0sXG4gIGV4cGVjdGVkOiB7XG4gICAgZXhwZWN0ZWRTaWduYWJsZUhleDpcbiAgICAgICcxOTAxZjJjZWUzNzVmYTQyYjQyMTQzODA0MDI1ZmM0NDlkZWFmZDUwY2MwMzFjYTI1N2UwYjE5NGE2NTBhOTEyMDkwZjA5OGEzZmRiYTZkYWU5YTg5YTIyMGI3YWRiZTFmMzhjZjVkMmFlYWJkOTQ2NTdhZWE2NWJiOGFlZWY0NGYwMmUnLFxuICB9LFxufTtcblxuZXhwb3J0IGNvbnN0IGZpeHR1cmVzID0ge1xuICB0ZXN0czogeyBzaW1wbGUsIHJlY3Vyc2l2ZSB9LFxuICBzaWduZWRUZXN0OiBzaW1wbGUsXG4gIG1lc3NhZ2VCdWlsZGVyVGVzdDogc2ltcGxlLFxufTtcbiJdfQ==
@@ -0,0 +1,4 @@
1
+ export * from './eip191/eip191Message';
2
+ export * from './eip191/eip191MessageBuilder';
3
+ export * from './messageBuilderFactory';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../test/unit/messages/index.ts"],"names":[],"mappings":"AAAA,cAAc,wBAAwB,CAAC;AACvC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,yBAAyB,CAAC"}
@@ -0,0 +1,20 @@
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 __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./eip191/eip191Message"), exports);
18
+ __exportStar(require("./eip191/eip191MessageBuilder"), exports);
19
+ __exportStar(require("./messageBuilderFactory"), exports);
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi90ZXN0L3VuaXQvbWVzc2FnZXMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLHlEQUF1QztBQUN2QyxnRUFBOEM7QUFDOUMsMERBQXdDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9laXAxOTEvZWlwMTkxTWVzc2FnZSc7XG5leHBvcnQgKiBmcm9tICcuL2VpcDE5MS9laXAxOTFNZXNzYWdlQnVpbGRlcic7XG5leHBvcnQgKiBmcm9tICcuL21lc3NhZ2VCdWlsZGVyRmFjdG9yeSc7XG4iXX0=
@@ -0,0 +1,2 @@
1
+ import 'should';
2
+ //# sourceMappingURL=messageBuilderFactory.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"messageBuilderFactory.d.ts","sourceRoot":"","sources":["../../../../test/unit/messages/messageBuilderFactory.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,CAAC"}
@@ -0,0 +1,52 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ require("should");
4
+ const sdk_core_1 = require("@bitgo-beta/sdk-core");
5
+ const fixtures_1 = require("./eip191/fixtures");
6
+ const fixtures_2 = require("./eip712/fixtures");
7
+ const src_1 = require("../../../src");
8
+ const statics_1 = require("@bitgo-beta/statics");
9
+ describe('Message Builder Factory', () => {
10
+ const coinConfig = statics_1.coins.get('eth');
11
+ describe('getMessageBuilder', () => {
12
+ it('should return the correct builder for EIP191 message type', () => {
13
+ const factory = new src_1.MessageBuilderFactory(coinConfig);
14
+ const builder = factory.getMessageBuilder(sdk_core_1.MessageStandardType.EIP191);
15
+ builder.should.be.instanceof(src_1.Eip191MessageBuilder);
16
+ });
17
+ it('should return the correct builder for EIP712 message type', () => {
18
+ const factory = new src_1.MessageBuilderFactory(coinConfig);
19
+ const builder = factory.getMessageBuilder(sdk_core_1.MessageStandardType.EIP712);
20
+ builder.should.be.instanceof(src_1.Eip712MessageBuilder);
21
+ });
22
+ it('should throw an error for unsupported message types', () => {
23
+ const factory = new src_1.MessageBuilderFactory(coinConfig);
24
+ // Test with an invalid/unsupported message type
25
+ const unsupportedType = 'UNSUPPORTED_TYPE';
26
+ (() => factory.getMessageBuilder(unsupportedType)).should.throw(/Invalid message standard/);
27
+ });
28
+ it('should throw for unknown message standard', () => {
29
+ const factory = new src_1.MessageBuilderFactory(coinConfig);
30
+ (() => factory.getMessageBuilder(sdk_core_1.MessageStandardType.UNKNOWN)).should.throw(`Invalid message standard ${sdk_core_1.MessageStandardType.UNKNOWN}`);
31
+ });
32
+ });
33
+ describe('Integration with builder', () => {
34
+ it('should create a builder that can build a valid EIP191 message', async () => {
35
+ const factory = new src_1.MessageBuilderFactory(coinConfig);
36
+ const builder = factory.getMessageBuilder(sdk_core_1.MessageStandardType.EIP191);
37
+ builder.setPayload(fixtures_1.fixtures.tests.validMessage.input.payload);
38
+ const message = await builder.build();
39
+ message.getType().should.equal(sdk_core_1.MessageStandardType.EIP191);
40
+ message.getPayload().should.equal(fixtures_1.fixtures.tests.validMessage.input.payload);
41
+ });
42
+ it('should create a builder that can build a valid EIP712 message', async () => {
43
+ const factory = new src_1.MessageBuilderFactory(coinConfig);
44
+ const builder = factory.getMessageBuilder(sdk_core_1.MessageStandardType.EIP712);
45
+ builder.setPayload(fixtures_2.fixtures.tests.simple.input.payload);
46
+ const message = await builder.build();
47
+ message.getType().should.equal(sdk_core_1.MessageStandardType.EIP712);
48
+ message.getPayload().should.equal(fixtures_2.fixtures.tests.simple.input.payload);
49
+ });
50
+ });
51
+ });
52
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVzc2FnZUJ1aWxkZXJGYWN0b3J5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vdGVzdC91bml0L21lc3NhZ2VzL21lc3NhZ2VCdWlsZGVyRmFjdG9yeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLGtCQUFnQjtBQUNoQixtREFBMkQ7QUFDM0QsZ0RBQStEO0FBQy9ELGdEQUErRDtBQUMvRCxzQ0FBaUc7QUFDakcsaURBQTRDO0FBRTVDLFFBQVEsQ0FBQyx5QkFBeUIsRUFBRSxHQUFHLEVBQUU7SUFDdkMsTUFBTSxVQUFVLEdBQUcsZUFBSyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUVwQyxRQUFRLENBQUMsbUJBQW1CLEVBQUUsR0FBRyxFQUFFO1FBQ2pDLEVBQUUsQ0FBQywyREFBMkQsRUFBRSxHQUFHLEVBQUU7WUFDbkUsTUFBTSxPQUFPLEdBQUcsSUFBSSwyQkFBcUIsQ0FBQyxVQUFVLENBQUMsQ0FBQztZQUV0RCxNQUFNLE9BQU8sR0FBRyxPQUFPLENBQUMsaUJBQWlCLENBQUMsOEJBQW1CLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDdEUsT0FBTyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLDBCQUFvQixDQUFDLENBQUM7UUFDckQsQ0FBQyxDQUFDLENBQUM7UUFFSCxFQUFFLENBQUMsMkRBQTJELEVBQUUsR0FBRyxFQUFFO1lBQ25FLE1BQU0sT0FBTyxHQUFHLElBQUksMkJBQXFCLENBQUMsVUFBVSxDQUFDLENBQUM7WUFFdEQsTUFBTSxPQUFPLEdBQUcsT0FBTyxDQUFDLGlCQUFpQixDQUFDLDhCQUFtQixDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQ3RFLE9BQU8sQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQywwQkFBb0IsQ0FBQyxDQUFDO1FBQ3JELENBQUMsQ0FBQyxDQUFDO1FBRUgsRUFBRSxDQUFDLHFEQUFxRCxFQUFFLEdBQUcsRUFBRTtZQUM3RCxNQUFNLE9BQU8sR0FBRyxJQUFJLDJCQUFxQixDQUFDLFVBQVUsQ0FBQyxDQUFDO1lBRXRELGdEQUFnRDtZQUNoRCxNQUFNLGVBQWUsR0FBRyxrQkFBeUMsQ0FBQztZQUVsRSxDQUFDLEdBQUcsRUFBRSxDQUFDLE9BQU8sQ0FBQyxpQkFBaUIsQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsMEJBQTBCLENBQUMsQ0FBQztRQUM5RixDQUFDLENBQUMsQ0FBQztRQUVILEVBQUUsQ0FBQywyQ0FBMkMsRUFBRSxHQUFHLEVBQUU7WUFDbkQsTUFBTSxPQUFPLEdBQUcsSUFBSSwyQkFBcUIsQ0FBQyxVQUFVLENBQUMsQ0FBQztZQUV0RCxDQUFDLEdBQUcsRUFBRSxDQUFDLE9BQU8sQ0FBQyxpQkFBaUIsQ0FBQyw4QkFBbUIsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQ3pFLDRCQUE0Qiw4QkFBbUIsQ0FBQyxPQUFPLEVBQUUsQ0FDMUQsQ0FBQztRQUNKLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyxDQUFDLENBQUM7SUFFSCxRQUFRLENBQUMsMEJBQTBCLEVBQUUsR0FBRyxFQUFFO1FBQ3hDLEVBQUUsQ0FBQywrREFBK0QsRUFBRSxLQUFLLElBQUksRUFBRTtZQUM3RSxNQUFNLE9BQU8sR0FBRyxJQUFJLDJCQUFxQixDQUFDLFVBQVUsQ0FBQyxDQUFDO1lBRXRELE1BQU0sT0FBTyxHQUFHLE9BQU8sQ0FBQyxpQkFBaUIsQ0FBQyw4QkFBbUIsQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUN0RSxPQUFPLENBQUMsVUFBVSxDQUFDLG1CQUFjLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7WUFFcEUsTUFBTSxPQUFPLEdBQUcsTUFBTSxPQUFPLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDdEMsT0FBTyxDQUFDLE9BQU8sRUFBRSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsOEJBQW1CLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDM0QsT0FBTyxDQUFDLFVBQVUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsbUJBQWMsQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNyRixDQUFDLENBQUMsQ0FBQztRQUVILEVBQUUsQ0FBQywrREFBK0QsRUFBRSxLQUFLLElBQUksRUFBRTtZQUM3RSxNQUFNLE9BQU8sR0FBRyxJQUFJLDJCQUFxQixDQUFDLFVBQVUsQ0FBQyxDQUFDO1lBRXRELE1BQU0sT0FBTyxHQUFHLE9BQU8sQ0FBQyxpQkFBaUIsQ0FBQyw4QkFBbUIsQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUN0RSxPQUFPLENBQUMsVUFBVSxDQUFDLG1CQUFjLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7WUFFOUQsTUFBTSxPQUFPLEdBQUcsTUFBTSxPQUFPLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDdEMsT0FBTyxDQUFDLE9BQU8sRUFBRSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsOEJBQW1CLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDM0QsT0FBTyxDQUFDLFVBQVUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsbUJBQWMsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUMvRSxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgJ3Nob3VsZCc7XG5pbXBvcnQgeyBNZXNzYWdlU3RhbmRhcmRUeXBlIH0gZnJvbSAnQGJpdGdvLWJldGEvc2RrLWNvcmUnO1xuaW1wb3J0IHsgZml4dHVyZXMgYXMgZWlwMTkxRml4dHVyZXMgfSBmcm9tICcuL2VpcDE5MS9maXh0dXJlcyc7XG5pbXBvcnQgeyBmaXh0dXJlcyBhcyBlaXA3MTJGaXh0dXJlcyB9IGZyb20gJy4vZWlwNzEyL2ZpeHR1cmVzJztcbmltcG9ydCB7IEVpcDE5MU1lc3NhZ2VCdWlsZGVyLCBFaXA3MTJNZXNzYWdlQnVpbGRlciwgTWVzc2FnZUJ1aWxkZXJGYWN0b3J5IH0gZnJvbSAnLi4vLi4vLi4vc3JjJztcbmltcG9ydCB7IGNvaW5zIH0gZnJvbSAnQGJpdGdvLWJldGEvc3RhdGljcyc7XG5cbmRlc2NyaWJlKCdNZXNzYWdlIEJ1aWxkZXIgRmFjdG9yeScsICgpID0+IHtcbiAgY29uc3QgY29pbkNvbmZpZyA9IGNvaW5zLmdldCgnZXRoJyk7XG5cbiAgZGVzY3JpYmUoJ2dldE1lc3NhZ2VCdWlsZGVyJywgKCkgPT4ge1xuICAgIGl0KCdzaG91bGQgcmV0dXJuIHRoZSBjb3JyZWN0IGJ1aWxkZXIgZm9yIEVJUDE5MSBtZXNzYWdlIHR5cGUnLCAoKSA9PiB7XG4gICAgICBjb25zdCBmYWN0b3J5ID0gbmV3IE1lc3NhZ2VCdWlsZGVyRmFjdG9yeShjb2luQ29uZmlnKTtcblxuICAgICAgY29uc3QgYnVpbGRlciA9IGZhY3RvcnkuZ2V0TWVzc2FnZUJ1aWxkZXIoTWVzc2FnZVN0YW5kYXJkVHlwZS5FSVAxOTEpO1xuICAgICAgYnVpbGRlci5zaG91bGQuYmUuaW5zdGFuY2VvZihFaXAxOTFNZXNzYWdlQnVpbGRlcik7XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIHJldHVybiB0aGUgY29ycmVjdCBidWlsZGVyIGZvciBFSVA3MTIgbWVzc2FnZSB0eXBlJywgKCkgPT4ge1xuICAgICAgY29uc3QgZmFjdG9yeSA9IG5ldyBNZXNzYWdlQnVpbGRlckZhY3RvcnkoY29pbkNvbmZpZyk7XG5cbiAgICAgIGNvbnN0IGJ1aWxkZXIgPSBmYWN0b3J5LmdldE1lc3NhZ2VCdWlsZGVyKE1lc3NhZ2VTdGFuZGFyZFR5cGUuRUlQNzEyKTtcbiAgICAgIGJ1aWxkZXIuc2hvdWxkLmJlLmluc3RhbmNlb2YoRWlwNzEyTWVzc2FnZUJ1aWxkZXIpO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCB0aHJvdyBhbiBlcnJvciBmb3IgdW5zdXBwb3J0ZWQgbWVzc2FnZSB0eXBlcycsICgpID0+IHtcbiAgICAgIGNvbnN0IGZhY3RvcnkgPSBuZXcgTWVzc2FnZUJ1aWxkZXJGYWN0b3J5KGNvaW5Db25maWcpO1xuXG4gICAgICAvLyBUZXN0IHdpdGggYW4gaW52YWxpZC91bnN1cHBvcnRlZCBtZXNzYWdlIHR5cGVcbiAgICAgIGNvbnN0IHVuc3VwcG9ydGVkVHlwZSA9ICdVTlNVUFBPUlRFRF9UWVBFJyBhcyBNZXNzYWdlU3RhbmRhcmRUeXBlO1xuXG4gICAgICAoKCkgPT4gZmFjdG9yeS5nZXRNZXNzYWdlQnVpbGRlcih1bnN1cHBvcnRlZFR5cGUpKS5zaG91bGQudGhyb3coL0ludmFsaWQgbWVzc2FnZSBzdGFuZGFyZC8pO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCB0aHJvdyBmb3IgdW5rbm93biBtZXNzYWdlIHN0YW5kYXJkJywgKCkgPT4ge1xuICAgICAgY29uc3QgZmFjdG9yeSA9IG5ldyBNZXNzYWdlQnVpbGRlckZhY3RvcnkoY29pbkNvbmZpZyk7XG5cbiAgICAgICgoKSA9PiBmYWN0b3J5LmdldE1lc3NhZ2VCdWlsZGVyKE1lc3NhZ2VTdGFuZGFyZFR5cGUuVU5LTk9XTikpLnNob3VsZC50aHJvdyhcbiAgICAgICAgYEludmFsaWQgbWVzc2FnZSBzdGFuZGFyZCAke01lc3NhZ2VTdGFuZGFyZFR5cGUuVU5LTk9XTn1gXG4gICAgICApO1xuICAgIH0pO1xuICB9KTtcblxuICBkZXNjcmliZSgnSW50ZWdyYXRpb24gd2l0aCBidWlsZGVyJywgKCkgPT4ge1xuICAgIGl0KCdzaG91bGQgY3JlYXRlIGEgYnVpbGRlciB0aGF0IGNhbiBidWlsZCBhIHZhbGlkIEVJUDE5MSBtZXNzYWdlJywgYXN5bmMgKCkgPT4ge1xuICAgICAgY29uc3QgZmFjdG9yeSA9IG5ldyBNZXNzYWdlQnVpbGRlckZhY3RvcnkoY29pbkNvbmZpZyk7XG5cbiAgICAgIGNvbnN0IGJ1aWxkZXIgPSBmYWN0b3J5LmdldE1lc3NhZ2VCdWlsZGVyKE1lc3NhZ2VTdGFuZGFyZFR5cGUuRUlQMTkxKTtcbiAgICAgIGJ1aWxkZXIuc2V0UGF5bG9hZChlaXAxOTFGaXh0dXJlcy50ZXN0cy52YWxpZE1lc3NhZ2UuaW5wdXQucGF5bG9hZCk7XG5cbiAgICAgIGNvbnN0IG1lc3NhZ2UgPSBhd2FpdCBidWlsZGVyLmJ1aWxkKCk7XG4gICAgICBtZXNzYWdlLmdldFR5cGUoKS5zaG91bGQuZXF1YWwoTWVzc2FnZVN0YW5kYXJkVHlwZS5FSVAxOTEpO1xuICAgICAgbWVzc2FnZS5nZXRQYXlsb2FkKCkuc2hvdWxkLmVxdWFsKGVpcDE5MUZpeHR1cmVzLnRlc3RzLnZhbGlkTWVzc2FnZS5pbnB1dC5wYXlsb2FkKTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgY3JlYXRlIGEgYnVpbGRlciB0aGF0IGNhbiBidWlsZCBhIHZhbGlkIEVJUDcxMiBtZXNzYWdlJywgYXN5bmMgKCkgPT4ge1xuICAgICAgY29uc3QgZmFjdG9yeSA9IG5ldyBNZXNzYWdlQnVpbGRlckZhY3RvcnkoY29pbkNvbmZpZyk7XG5cbiAgICAgIGNvbnN0IGJ1aWxkZXIgPSBmYWN0b3J5LmdldE1lc3NhZ2VCdWlsZGVyKE1lc3NhZ2VTdGFuZGFyZFR5cGUuRUlQNzEyKTtcbiAgICAgIGJ1aWxkZXIuc2V0UGF5bG9hZChlaXA3MTJGaXh0dXJlcy50ZXN0cy5zaW1wbGUuaW5wdXQucGF5bG9hZCk7XG5cbiAgICAgIGNvbnN0IG1lc3NhZ2UgPSBhd2FpdCBidWlsZGVyLmJ1aWxkKCk7XG4gICAgICBtZXNzYWdlLmdldFR5cGUoKS5zaG91bGQuZXF1YWwoTWVzc2FnZVN0YW5kYXJkVHlwZS5FSVA3MTIpO1xuICAgICAgbWVzc2FnZS5nZXRQYXlsb2FkKCkuc2hvdWxkLmVxdWFsKGVpcDcxMkZpeHR1cmVzLnRlc3RzLnNpbXBsZS5pbnB1dC5wYXlsb2FkKTtcbiAgICB9KTtcbiAgfSk7XG59KTtcbiJdfQ==
@@ -0,0 +1,2 @@
1
+ export declare function runTokenTestInitialization(currentCoinToken: any, coinName: string, tokenNetworkName: string, testData: any): void;
2
+ //# sourceMappingURL=token.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"token.d.ts","sourceRoot":"","sources":["../../../test/unit/token.ts"],"names":[],"mappings":"AAGA,wBAAgB,0BAA0B,CACxC,gBAAgB,KAAA,EAChB,QAAQ,EAAE,MAAM,EAChB,gBAAgB,EAAE,MAAM,EACxB,QAAQ,EAAE,GAAG,QAiCd"}
@@ -0,0 +1,37 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.runTokenTestInitialization = runTokenTestInitialization;
4
+ const sdk_test_1 = require("@bitgo-beta/sdk-test");
5
+ const sdk_api_1 = require("@bitgo-beta/sdk-api");
6
+ function runTokenTestInitialization(currentCoinToken, coinName, tokenNetworkName, testData) {
7
+ describe(`${coinName} Token:`, () => {
8
+ let bitgo;
9
+ let tokenCoin;
10
+ const coin = testData.COIN;
11
+ const tokenName = testData.NETWORK_TOKEN_IDENTIFIER;
12
+ before(function () {
13
+ bitgo = sdk_test_1.TestBitGo.decorate(sdk_api_1.BitGoAPI, { env: 'test' });
14
+ currentCoinToken.createTokenConstructors().forEach(({ name, coinConstructor }) => {
15
+ bitgo.safeRegister(name, coinConstructor);
16
+ });
17
+ bitgo.initializeTestVars();
18
+ tokenCoin = bitgo.coin(tokenName);
19
+ });
20
+ it('should return constants', () => {
21
+ tokenCoin.getChain().should.equal(tokenName);
22
+ tokenCoin.getBaseChain().should.equal(coin);
23
+ tokenCoin.getFullName().should.equal(`${coinName} Token`);
24
+ tokenCoin.getBaseFactor().should.equal(1e18);
25
+ tokenCoin.type.should.equal(tokenName);
26
+ tokenCoin.name.should.equal(tokenNetworkName);
27
+ tokenCoin.coin.should.equal(coin);
28
+ tokenCoin.network.should.equal('Testnet');
29
+ tokenCoin.decimalPlaces.should.equal(18);
30
+ });
31
+ it('should return same token by contract address', () => {
32
+ const tokencoinBycontractAddress = bitgo.coin(tokenCoin.tokenContractAddress);
33
+ tokenCoin.should.deepEqual(tokencoinBycontractAddress);
34
+ });
35
+ });
36
+ }
37
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9rZW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi90ZXN0L3VuaXQvdG9rZW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFHQSxnRUFxQ0M7QUF4Q0QsbURBQStEO0FBQy9ELGlEQUErQztBQUUvQyxTQUFnQiwwQkFBMEIsQ0FDeEMsZ0JBQWdCLEVBQ2hCLFFBQWdCLEVBQ2hCLGdCQUF3QixFQUN4QixRQUFhO0lBRWIsUUFBUSxDQUFDLEdBQUcsUUFBUSxTQUFTLEVBQUUsR0FBRyxFQUFFO1FBQ2xDLElBQUksS0FBbUIsQ0FBQztRQUN4QixJQUFJLFNBQVMsQ0FBQztRQUNkLE1BQU0sSUFBSSxHQUFHLFFBQVEsQ0FBQyxJQUFJLENBQUM7UUFDM0IsTUFBTSxTQUFTLEdBQUcsUUFBUSxDQUFDLHdCQUF3QixDQUFDO1FBQ3BELE1BQU0sQ0FBQztZQUNMLEtBQUssR0FBRyxvQkFBUyxDQUFDLFFBQVEsQ0FBQyxrQkFBUSxFQUFFLEVBQUUsR0FBRyxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUM7WUFDdEQsZ0JBQWdCLENBQUMsdUJBQXVCLEVBQUUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSxlQUFlLEVBQUUsRUFBRSxFQUFFO2dCQUMvRSxLQUFLLENBQUMsWUFBWSxDQUFDLElBQUksRUFBRSxlQUFlLENBQUMsQ0FBQztZQUM1QyxDQUFDLENBQUMsQ0FBQztZQUNILEtBQUssQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO1lBQzNCLFNBQVMsR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ3BDLENBQUMsQ0FBQyxDQUFDO1FBRUgsRUFBRSxDQUFDLHlCQUF5QixFQUFFLEdBQUcsRUFBRTtZQUNqQyxTQUFTLENBQUMsUUFBUSxFQUFFLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUM3QyxTQUFTLENBQUMsWUFBWSxFQUFFLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUM1QyxTQUFTLENBQUMsV0FBVyxFQUFFLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxHQUFHLFFBQVEsUUFBUSxDQUFDLENBQUM7WUFDMUQsU0FBUyxDQUFDLGFBQWEsRUFBRSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDN0MsU0FBUyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBQ3ZDLFNBQVMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1lBQzlDLFNBQVMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUNsQyxTQUFTLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUM7WUFDMUMsU0FBUyxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQzNDLENBQUMsQ0FBQyxDQUFDO1FBRUgsRUFBRSxDQUFDLDhDQUE4QyxFQUFFLEdBQUcsRUFBRTtZQUN0RCxNQUFNLDBCQUEwQixHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLG9CQUFvQixDQUFDLENBQUM7WUFDOUUsU0FBUyxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsMEJBQTBCLENBQUMsQ0FBQztRQUN6RCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFRlc3RCaXRHbywgVGVzdEJpdEdvQVBJIH0gZnJvbSAnQGJpdGdvLWJldGEvc2RrLXRlc3QnO1xuaW1wb3J0IHsgQml0R29BUEkgfSBmcm9tICdAYml0Z28tYmV0YS9zZGstYXBpJztcblxuZXhwb3J0IGZ1bmN0aW9uIHJ1blRva2VuVGVzdEluaXRpYWxpemF0aW9uKFxuICBjdXJyZW50Q29pblRva2VuLFxuICBjb2luTmFtZTogc3RyaW5nLFxuICB0b2tlbk5ldHdvcmtOYW1lOiBzdHJpbmcsXG4gIHRlc3REYXRhOiBhbnlcbikge1xuICBkZXNjcmliZShgJHtjb2luTmFtZX0gVG9rZW46YCwgKCkgPT4ge1xuICAgIGxldCBiaXRnbzogVGVzdEJpdEdvQVBJO1xuICAgIGxldCB0b2tlbkNvaW47XG4gICAgY29uc3QgY29pbiA9IHRlc3REYXRhLkNPSU47XG4gICAgY29uc3QgdG9rZW5OYW1lID0gdGVzdERhdGEuTkVUV09SS19UT0tFTl9JREVOVElGSUVSO1xuICAgIGJlZm9yZShmdW5jdGlvbiAoKSB7XG4gICAgICBiaXRnbyA9IFRlc3RCaXRHby5kZWNvcmF0ZShCaXRHb0FQSSwgeyBlbnY6ICd0ZXN0JyB9KTtcbiAgICAgIGN1cnJlbnRDb2luVG9rZW4uY3JlYXRlVG9rZW5Db25zdHJ1Y3RvcnMoKS5mb3JFYWNoKCh7IG5hbWUsIGNvaW5Db25zdHJ1Y3RvciB9KSA9PiB7XG4gICAgICAgIGJpdGdvLnNhZmVSZWdpc3RlcihuYW1lLCBjb2luQ29uc3RydWN0b3IpO1xuICAgICAgfSk7XG4gICAgICBiaXRnby5pbml0aWFsaXplVGVzdFZhcnMoKTtcbiAgICAgIHRva2VuQ29pbiA9IGJpdGdvLmNvaW4odG9rZW5OYW1lKTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgcmV0dXJuIGNvbnN0YW50cycsICgpID0+IHtcbiAgICAgIHRva2VuQ29pbi5nZXRDaGFpbigpLnNob3VsZC5lcXVhbCh0b2tlbk5hbWUpO1xuICAgICAgdG9rZW5Db2luLmdldEJhc2VDaGFpbigpLnNob3VsZC5lcXVhbChjb2luKTtcbiAgICAgIHRva2VuQ29pbi5nZXRGdWxsTmFtZSgpLnNob3VsZC5lcXVhbChgJHtjb2luTmFtZX0gVG9rZW5gKTtcbiAgICAgIHRva2VuQ29pbi5nZXRCYXNlRmFjdG9yKCkuc2hvdWxkLmVxdWFsKDFlMTgpO1xuICAgICAgdG9rZW5Db2luLnR5cGUuc2hvdWxkLmVxdWFsKHRva2VuTmFtZSk7XG4gICAgICB0b2tlbkNvaW4ubmFtZS5zaG91bGQuZXF1YWwodG9rZW5OZXR3b3JrTmFtZSk7XG4gICAgICB0b2tlbkNvaW4uY29pbi5zaG91bGQuZXF1YWwoY29pbik7XG4gICAgICB0b2tlbkNvaW4ubmV0d29yay5zaG91bGQuZXF1YWwoJ1Rlc3RuZXQnKTtcbiAgICAgIHRva2VuQ29pbi5kZWNpbWFsUGxhY2VzLnNob3VsZC5lcXVhbCgxOCk7XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIHJldHVybiBzYW1lIHRva2VuIGJ5IGNvbnRyYWN0IGFkZHJlc3MnLCAoKSA9PiB7XG4gICAgICBjb25zdCB0b2tlbmNvaW5CeWNvbnRyYWN0QWRkcmVzcyA9IGJpdGdvLmNvaW4odG9rZW5Db2luLnRva2VuQ29udHJhY3RBZGRyZXNzKTtcbiAgICAgIHRva2VuQ29pbi5zaG91bGQuZGVlcEVxdWFsKHRva2VuY29pbkJ5Y29udHJhY3RBZGRyZXNzKTtcbiAgICB9KTtcbiAgfSk7XG59XG4iXX0=
@@ -0,0 +1,3 @@
1
+ import Common from '@ethereumjs/common';
2
+ export declare function runTransactionTests(coinName: string, testData: any, common: Common): void;
3
+ //# sourceMappingURL=transaction.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transaction.d.ts","sourceRoot":"","sources":["../../../test/unit/transaction.ts"],"names":[],"mappings":"AAGA,OAAO,MAAM,MAAM,oBAAoB,CAAC;AAExC,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,QAsElF"}
@@ -0,0 +1,73 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.runTransactionTests = runTransactionTests;
7
+ const should_1 = __importDefault(require("should"));
8
+ const statics_1 = require("@bitgo-beta/statics");
9
+ const src_1 = require("../../src");
10
+ function runTransactionTests(coinName, testData, common) {
11
+ describe(`${coinName} Transaction`, () => {
12
+ const coin = testData.COIN;
13
+ const coinConfig = statics_1.coins.get(coin);
14
+ /**
15
+ * return a new transaction object
16
+ */
17
+ function getTransaction() {
18
+ return new src_1.Transaction(coinConfig, common);
19
+ }
20
+ describe('should throw ', () => {
21
+ it('an empty transaction', () => {
22
+ const tx = getTransaction();
23
+ should_1.default.throws(() => {
24
+ tx.toJson();
25
+ });
26
+ should_1.default.throws(() => {
27
+ tx.toBroadcastFormat();
28
+ });
29
+ });
30
+ });
31
+ describe('should return', () => {
32
+ it('a valid transaction', () => {
33
+ const tx = getTransaction();
34
+ tx.setTransactionData(testData.TXDATA);
35
+ should_1.default.deepEqual(tx.toJson(), testData.TXDATA);
36
+ should_1.default.equal(tx.toBroadcastFormat(), testData.UNSIGNED_TX);
37
+ });
38
+ });
39
+ describe('should sign', () => {
40
+ it('invalid', () => {
41
+ const tx = getTransaction();
42
+ return tx.sign(testData.KEYPAIR_PRV).should.be.rejected();
43
+ });
44
+ it('valid', () => {
45
+ const tx = getTransaction();
46
+ tx.setTransactionData(testData.TXDATA);
47
+ return tx.sign(testData.KEYPAIR_PRV).should.be.fulfilled();
48
+ });
49
+ });
50
+ describe('should return encoded tx', () => {
51
+ it('valid sign', async function () {
52
+ const tx = getTransaction();
53
+ tx.setTransactionData(testData.TXDATA);
54
+ await tx.sign(testData.KEYPAIR_PRV);
55
+ should_1.default.equal(tx.toBroadcastFormat(), testData.ENCODED_TRANSACTION);
56
+ });
57
+ });
58
+ describe('signablePayload', () => {
59
+ it('should throw on an empty transaction', () => {
60
+ const tx = getTransaction();
61
+ should_1.default.throws(() => tx.signablePayload);
62
+ });
63
+ it('should return a 32-byte keccak256 hash for an unsigned transaction', () => {
64
+ const tx = getTransaction();
65
+ tx.setTransactionData(testData.TXDATA);
66
+ const payload = tx.signablePayload;
67
+ payload.should.be.instanceof(Buffer);
68
+ payload.length.should.equal(32);
69
+ });
70
+ });
71
+ });
72
+ }
73
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi90ZXN0L3VuaXQvdHJhbnNhY3Rpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFLQSxrREFzRUM7QUEzRUQsb0RBQTRCO0FBQzVCLGlEQUE0QztBQUM1QyxtQ0FBd0M7QUFHeEMsU0FBZ0IsbUJBQW1CLENBQUMsUUFBZ0IsRUFBRSxRQUFhLEVBQUUsTUFBYztJQUNqRixRQUFRLENBQUMsR0FBRyxRQUFRLGNBQWMsRUFBRSxHQUFHLEVBQUU7UUFDdkMsTUFBTSxJQUFJLEdBQUcsUUFBUSxDQUFDLElBQUksQ0FBQztRQUMzQixNQUFNLFVBQVUsR0FBRyxlQUFLLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRW5DOztXQUVHO1FBQ0gsU0FBUyxjQUFjO1lBQ3JCLE9BQU8sSUFBSSxpQkFBVyxDQUFDLFVBQVUsRUFBRSxNQUFNLENBQUMsQ0FBQztRQUM3QyxDQUFDO1FBRUQsUUFBUSxDQUFDLGVBQWUsRUFBRSxHQUFHLEVBQUU7WUFDN0IsRUFBRSxDQUFDLHNCQUFzQixFQUFFLEdBQUcsRUFBRTtnQkFDOUIsTUFBTSxFQUFFLEdBQUcsY0FBYyxFQUFFLENBQUM7Z0JBQzVCLGdCQUFNLENBQUMsTUFBTSxDQUFDLEdBQUcsRUFBRTtvQkFDakIsRUFBRSxDQUFDLE1BQU0sRUFBRSxDQUFDO2dCQUNkLENBQUMsQ0FBQyxDQUFDO2dCQUNILGdCQUFNLENBQUMsTUFBTSxDQUFDLEdBQUcsRUFBRTtvQkFDakIsRUFBRSxDQUFDLGlCQUFpQixFQUFFLENBQUM7Z0JBQ3pCLENBQUMsQ0FBQyxDQUFDO1lBQ0wsQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztRQUVILFFBQVEsQ0FBQyxlQUFlLEVBQUUsR0FBRyxFQUFFO1lBQzdCLEVBQUUsQ0FBQyxxQkFBcUIsRUFBRSxHQUFHLEVBQUU7Z0JBQzdCLE1BQU0sRUFBRSxHQUFHLGNBQWMsRUFBRSxDQUFDO2dCQUM1QixFQUFFLENBQUMsa0JBQWtCLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDO2dCQUN2QyxnQkFBTSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsTUFBTSxFQUFFLEVBQUUsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDO2dCQUMvQyxnQkFBTSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsaUJBQWlCLEVBQUUsRUFBRSxRQUFRLENBQUMsV0FBVyxDQUFDLENBQUM7WUFDN0QsQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztRQUVILFFBQVEsQ0FBQyxhQUFhLEVBQUUsR0FBRyxFQUFFO1lBQzNCLEVBQUUsQ0FBQyxTQUFTLEVBQUUsR0FBRyxFQUFFO2dCQUNqQixNQUFNLEVBQUUsR0FBRyxjQUFjLEVBQUUsQ0FBQztnQkFDNUIsT0FBTyxFQUFFLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQzVELENBQUMsQ0FBQyxDQUFDO1lBRUgsRUFBRSxDQUFDLE9BQU8sRUFBRSxHQUFHLEVBQUU7Z0JBQ2YsTUFBTSxFQUFFLEdBQUcsY0FBYyxFQUFFLENBQUM7Z0JBQzVCLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUM7Z0JBQ3ZDLE9BQU8sRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUM3RCxDQUFDLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO1FBRUgsUUFBUSxDQUFDLDBCQUEwQixFQUFFLEdBQUcsRUFBRTtZQUN4QyxFQUFFLENBQUMsWUFBWSxFQUFFLEtBQUs7Z0JBQ3BCLE1BQU0sRUFBRSxHQUFHLGNBQWMsRUFBRSxDQUFDO2dCQUM1QixFQUFFLENBQUMsa0JBQWtCLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDO2dCQUN2QyxNQUFNLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxDQUFDO2dCQUNwQyxnQkFBTSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsaUJBQWlCLEVBQUUsRUFBRSxRQUFRLENBQUMsbUJBQW1CLENBQUMsQ0FBQztZQUNyRSxDQUFDLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO1FBRUgsUUFBUSxDQUFDLGlCQUFpQixFQUFFLEdBQUcsRUFBRTtZQUMvQixFQUFFLENBQUMsc0NBQXNDLEVBQUUsR0FBRyxFQUFFO2dCQUM5QyxNQUFNLEVBQUUsR0FBRyxjQUFjLEVBQUUsQ0FBQztnQkFDNUIsZ0JBQU0sQ0FBQyxNQUFNLENBQUMsR0FBRyxFQUFFLENBQUMsRUFBRSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1lBQzFDLENBQUMsQ0FBQyxDQUFDO1lBRUgsRUFBRSxDQUFDLG9FQUFvRSxFQUFFLEdBQUcsRUFBRTtnQkFDNUUsTUFBTSxFQUFFLEdBQUcsY0FBYyxFQUFFLENBQUM7Z0JBQzVCLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUM7Z0JBQ3ZDLE1BQU0sT0FBTyxHQUFHLEVBQUUsQ0FBQyxlQUFlLENBQUM7Z0JBQ25DLE9BQU8sQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQztnQkFDckMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBQ2xDLENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgc2hvdWxkIGZyb20gJ3Nob3VsZCc7XG5pbXBvcnQgeyBjb2lucyB9IGZyb20gJ0BiaXRnby1iZXRhL3N0YXRpY3MnO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb24gfSBmcm9tICcuLi8uLi9zcmMnO1xuaW1wb3J0IENvbW1vbiBmcm9tICdAZXRoZXJldW1qcy9jb21tb24nO1xuXG5leHBvcnQgZnVuY3Rpb24gcnVuVHJhbnNhY3Rpb25UZXN0cyhjb2luTmFtZTogc3RyaW5nLCB0ZXN0RGF0YTogYW55LCBjb21tb246IENvbW1vbikge1xuICBkZXNjcmliZShgJHtjb2luTmFtZX0gVHJhbnNhY3Rpb25gLCAoKSA9PiB7XG4gICAgY29uc3QgY29pbiA9IHRlc3REYXRhLkNPSU47XG4gICAgY29uc3QgY29pbkNvbmZpZyA9IGNvaW5zLmdldChjb2luKTtcblxuICAgIC8qKlxuICAgICAqIHJldHVybiBhIG5ldyB0cmFuc2FjdGlvbiBvYmplY3RcbiAgICAgKi9cbiAgICBmdW5jdGlvbiBnZXRUcmFuc2FjdGlvbigpOiBUcmFuc2FjdGlvbiB7XG4gICAgICByZXR1cm4gbmV3IFRyYW5zYWN0aW9uKGNvaW5Db25maWcsIGNvbW1vbik7XG4gICAgfVxuXG4gICAgZGVzY3JpYmUoJ3Nob3VsZCB0aHJvdyAnLCAoKSA9PiB7XG4gICAgICBpdCgnYW4gZW1wdHkgdHJhbnNhY3Rpb24nLCAoKSA9PiB7XG4gICAgICAgIGNvbnN0IHR4ID0gZ2V0VHJhbnNhY3Rpb24oKTtcbiAgICAgICAgc2hvdWxkLnRocm93cygoKSA9PiB7XG4gICAgICAgICAgdHgudG9Kc29uKCk7XG4gICAgICAgIH0pO1xuICAgICAgICBzaG91bGQudGhyb3dzKCgpID0+IHtcbiAgICAgICAgICB0eC50b0Jyb2FkY2FzdEZvcm1hdCgpO1xuICAgICAgICB9KTtcbiAgICAgIH0pO1xuICAgIH0pO1xuXG4gICAgZGVzY3JpYmUoJ3Nob3VsZCByZXR1cm4nLCAoKSA9PiB7XG4gICAgICBpdCgnYSB2YWxpZCB0cmFuc2FjdGlvbicsICgpID0+IHtcbiAgICAgICAgY29uc3QgdHggPSBnZXRUcmFuc2FjdGlvbigpO1xuICAgICAgICB0eC5zZXRUcmFuc2FjdGlvbkRhdGEodGVzdERhdGEuVFhEQVRBKTtcbiAgICAgICAgc2hvdWxkLmRlZXBFcXVhbCh0eC50b0pzb24oKSwgdGVzdERhdGEuVFhEQVRBKTtcbiAgICAgICAgc2hvdWxkLmVxdWFsKHR4LnRvQnJvYWRjYXN0Rm9ybWF0KCksIHRlc3REYXRhLlVOU0lHTkVEX1RYKTtcbiAgICAgIH0pO1xuICAgIH0pO1xuXG4gICAgZGVzY3JpYmUoJ3Nob3VsZCBzaWduJywgKCkgPT4ge1xuICAgICAgaXQoJ2ludmFsaWQnLCAoKSA9PiB7XG4gICAgICAgIGNvbnN0IHR4ID0gZ2V0VHJhbnNhY3Rpb24oKTtcbiAgICAgICAgcmV0dXJuIHR4LnNpZ24odGVzdERhdGEuS0VZUEFJUl9QUlYpLnNob3VsZC5iZS5yZWplY3RlZCgpO1xuICAgICAgfSk7XG5cbiAgICAgIGl0KCd2YWxpZCcsICgpID0+IHtcbiAgICAgICAgY29uc3QgdHggPSBnZXRUcmFuc2FjdGlvbigpO1xuICAgICAgICB0eC5zZXRUcmFuc2FjdGlvbkRhdGEodGVzdERhdGEuVFhEQVRBKTtcbiAgICAgICAgcmV0dXJuIHR4LnNpZ24odGVzdERhdGEuS0VZUEFJUl9QUlYpLnNob3VsZC5iZS5mdWxmaWxsZWQoKTtcbiAgICAgIH0pO1xuICAgIH0pO1xuXG4gICAgZGVzY3JpYmUoJ3Nob3VsZCByZXR1cm4gZW5jb2RlZCB0eCcsICgpID0+IHtcbiAgICAgIGl0KCd2YWxpZCBzaWduJywgYXN5bmMgZnVuY3Rpb24gKCkge1xuICAgICAgICBjb25zdCB0eCA9IGdldFRyYW5zYWN0aW9uKCk7XG4gICAgICAgIHR4LnNldFRyYW5zYWN0aW9uRGF0YSh0ZXN0RGF0YS5UWERBVEEpO1xuICAgICAgICBhd2FpdCB0eC5zaWduKHRlc3REYXRhLktFWVBBSVJfUFJWKTtcbiAgICAgICAgc2hvdWxkLmVxdWFsKHR4LnRvQnJvYWRjYXN0Rm9ybWF0KCksIHRlc3REYXRhLkVOQ09ERURfVFJBTlNBQ1RJT04pO1xuICAgICAgfSk7XG4gICAgfSk7XG5cbiAgICBkZXNjcmliZSgnc2lnbmFibGVQYXlsb2FkJywgKCkgPT4ge1xuICAgICAgaXQoJ3Nob3VsZCB0aHJvdyBvbiBhbiBlbXB0eSB0cmFuc2FjdGlvbicsICgpID0+IHtcbiAgICAgICAgY29uc3QgdHggPSBnZXRUcmFuc2FjdGlvbigpO1xuICAgICAgICBzaG91bGQudGhyb3dzKCgpID0+IHR4LnNpZ25hYmxlUGF5bG9hZCk7XG4gICAgICB9KTtcblxuICAgICAgaXQoJ3Nob3VsZCByZXR1cm4gYSAzMi1ieXRlIGtlY2NhazI1NiBoYXNoIGZvciBhbiB1bnNpZ25lZCB0cmFuc2FjdGlvbicsICgpID0+IHtcbiAgICAgICAgY29uc3QgdHggPSBnZXRUcmFuc2FjdGlvbigpO1xuICAgICAgICB0eC5zZXRUcmFuc2FjdGlvbkRhdGEodGVzdERhdGEuVFhEQVRBKTtcbiAgICAgICAgY29uc3QgcGF5bG9hZCA9IHR4LnNpZ25hYmxlUGF5bG9hZDtcbiAgICAgICAgcGF5bG9hZC5zaG91bGQuYmUuaW5zdGFuY2VvZihCdWZmZXIpO1xuICAgICAgICBwYXlsb2FkLmxlbmd0aC5zaG91bGQuZXF1YWwoMzIpO1xuICAgICAgfSk7XG4gICAgfSk7XG4gIH0pO1xufVxuIl19
@@ -0,0 +1,8 @@
1
+ import { TransactionBuilder } from '../../../src';
2
+ export declare function testAddressInitializationWithoutContractAddress(txBuilder: TransactionBuilder): Promise<void>;
3
+ export declare function testFailsWithInvalidForwarderVersion(txBuilder: TransactionBuilder, testData: any): Promise<void>;
4
+ export declare function testAddressInitializationBuildsCorrectlyAndReturnsAddress(txBuilder: TransactionBuilder, testData: any): Promise<void>;
5
+ export declare function testAddressInitializationBuildsFromSerializedData(txBuilder: TransactionBuilder, testData: any): Promise<void>;
6
+ export declare function testAddressInitializationBuildsFromSignedSerializedData(txBuilder: TransactionBuilder, testData: any): Promise<void>;
7
+ export declare function testContractCallForCreateForwarder(txBuilder: TransactionBuilder, testData: any): Promise<void>;
8
+ //# sourceMappingURL=addressInitialization.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"addressInitialization.d.ts","sourceRoot":"","sources":["../../../../test/unit/transactionBuilder/addressInitialization.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAElD,wBAAsB,+CAA+C,CAAC,SAAS,EAAE,kBAAkB,iBAUlG;AAED,wBAAsB,oCAAoC,CAAC,SAAS,EAAE,kBAAkB,EAAE,QAAQ,EAAE,GAAG,iBActG;AAED,wBAAsB,yDAAyD,CAC7E,SAAS,EAAE,kBAAkB,EAC7B,QAAQ,EAAE,GAAG,iBAsBd;AAED,wBAAsB,iDAAiD,CAAC,SAAS,EAAE,kBAAkB,EAAE,QAAQ,EAAE,GAAG,iBAQnH;AAED,wBAAsB,uDAAuD,CAC3E,SAAS,EAAE,kBAAkB,EAC7B,QAAQ,EAAE,GAAG,iBAUd;AAED,wBAAsB,kCAAkC,CAAC,SAAS,EAAE,kBAAkB,EAAE,QAAQ,EAAE,GAAG,iBAapG"}
@@ -0,0 +1,95 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.testAddressInitializationWithoutContractAddress = testAddressInitializationWithoutContractAddress;
7
+ exports.testFailsWithInvalidForwarderVersion = testFailsWithInvalidForwarderVersion;
8
+ exports.testAddressInitializationBuildsCorrectlyAndReturnsAddress = testAddressInitializationBuildsCorrectlyAndReturnsAddress;
9
+ exports.testAddressInitializationBuildsFromSerializedData = testAddressInitializationBuildsFromSerializedData;
10
+ exports.testAddressInitializationBuildsFromSignedSerializedData = testAddressInitializationBuildsFromSignedSerializedData;
11
+ exports.testContractCallForCreateForwarder = testContractCallForCreateForwarder;
12
+ const should_1 = __importDefault(require("should"));
13
+ const sdk_core_1 = require("@bitgo-beta/sdk-core");
14
+ async function testAddressInitializationWithoutContractAddress(txBuilder) {
15
+ it('should fail if there is no contract address', async () => {
16
+ txBuilder.type(sdk_core_1.TransactionType.AddressInitialization);
17
+ txBuilder.fee({
18
+ fee: '10',
19
+ gasLimit: '1000',
20
+ });
21
+ txBuilder.counter(1);
22
+ await txBuilder.build().should.be.rejectedWith('Invalid transaction: missing contract address');
23
+ });
24
+ }
25
+ async function testFailsWithInvalidForwarderVersion(txBuilder, testData) {
26
+ it('should fail if forwarder version is invalid', async () => {
27
+ try {
28
+ txBuilder.type(sdk_core_1.TransactionType.AddressInitialization);
29
+ txBuilder.fee({
30
+ fee: '10',
31
+ gasLimit: '1000',
32
+ });
33
+ txBuilder.contract(testData.FORWARDER_FACTORY_ADDRESS);
34
+ txBuilder.forwarderVersion(3);
35
+ }
36
+ catch (e) {
37
+ should_1.default.equal(e.message, 'Invalid forwarder version: 3');
38
+ }
39
+ });
40
+ }
41
+ async function testAddressInitializationBuildsCorrectlyAndReturnsAddress(txBuilder, testData) {
42
+ it('should build properly and return a correct address', async () => {
43
+ txBuilder.type(sdk_core_1.TransactionType.AddressInitialization);
44
+ txBuilder.fee({
45
+ fee: '10',
46
+ gasLimit: '1000',
47
+ });
48
+ txBuilder.counter(1);
49
+ txBuilder.contract(testData.FORWARDER_FACTORY_ADDRESS);
50
+ txBuilder.baseAddress(testData.BASE_ADDRESS);
51
+ txBuilder.feeAddress(testData.FEE_ADDRESS);
52
+ txBuilder.forwarderVersion(4);
53
+ txBuilder.salt('0x1');
54
+ txBuilder.initCode(testData.FORWARDER_IMPLEMENTATION_ADDRESS);
55
+ txBuilder.sign({ key: testData.KEYPAIR_PRV.getKeys().prv });
56
+ const tx = await txBuilder.build();
57
+ const txJson = tx.toJson();
58
+ should_1.default.equal(txJson.deployedAddress, testData.DEPLOYED_ADDRESS);
59
+ should_1.default.equal(txJson.to, testData.FORWARDER_FACTORY_ADDRESS);
60
+ });
61
+ }
62
+ async function testAddressInitializationBuildsFromSerializedData(txBuilder, testData) {
63
+ it('should build properly from serialized', async () => {
64
+ txBuilder.type(sdk_core_1.TransactionType.AddressInitialization);
65
+ txBuilder.from(testData.UNSIGNED_ADDRESS_INIT);
66
+ const tx = await txBuilder.build();
67
+ const txJson = tx.toJson();
68
+ should_1.default.equal(txJson.to, testData.FORWARDER_FACTORY_ADDRESS);
69
+ });
70
+ }
71
+ async function testAddressInitializationBuildsFromSignedSerializedData(txBuilder, testData) {
72
+ it('should build properly from signed serialized', async () => {
73
+ txBuilder.type(sdk_core_1.TransactionType.AddressInitialization);
74
+ txBuilder.from(testData.SIGNED_ADDRESS_INIT);
75
+ const tx = await txBuilder.build();
76
+ const txJson = tx.toJson();
77
+ should_1.default.equal(txJson.to, testData.FORWARDER_FACTORY_ADDRESS);
78
+ should_1.default.equal(txJson.from, testData.ACCOUNT_1);
79
+ });
80
+ }
81
+ async function testContractCallForCreateForwarder(txBuilder, testData) {
82
+ it('should build properly createForwarder call for recovery', async () => {
83
+ txBuilder.type(sdk_core_1.TransactionType.ContractCall);
84
+ txBuilder.contract(testData.BASE_ADDRESS);
85
+ txBuilder.data(testData.CREATE_FORWARDER_METHOD);
86
+ txBuilder.fee({
87
+ fee: '10',
88
+ gasLimit: '1000',
89
+ });
90
+ const tx = await txBuilder.build();
91
+ const txJson = tx.toJson();
92
+ should_1.default.equal(txJson.to, testData.BASE_ADDRESS);
93
+ });
94
+ }
95
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkcmVzc0luaXRpYWxpemF0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vdGVzdC91bml0L3RyYW5zYWN0aW9uQnVpbGRlci9hZGRyZXNzSW5pdGlhbGl6YXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFJQSwwR0FVQztBQUVELG9GQWNDO0FBRUQsOEhBd0JDO0FBRUQsOEdBUUM7QUFFRCwwSEFZQztBQUVELGdGQWFDO0FBL0ZELG9EQUE0QjtBQUM1QixtREFBdUQ7QUFHaEQsS0FBSyxVQUFVLCtDQUErQyxDQUFDLFNBQTZCO0lBQ2pHLEVBQUUsQ0FBQyw2Q0FBNkMsRUFBRSxLQUFLLElBQUksRUFBRTtRQUMzRCxTQUFTLENBQUMsSUFBSSxDQUFDLDBCQUFlLENBQUMscUJBQXFCLENBQUMsQ0FBQztRQUN0RCxTQUFTLENBQUMsR0FBRyxDQUFDO1lBQ1osR0FBRyxFQUFFLElBQUk7WUFDVCxRQUFRLEVBQUUsTUFBTTtTQUNqQixDQUFDLENBQUM7UUFDSCxTQUFTLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3JCLE1BQU0sU0FBUyxDQUFDLEtBQUssRUFBRSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsWUFBWSxDQUFDLCtDQUErQyxDQUFDLENBQUM7SUFDbEcsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDO0FBRU0sS0FBSyxVQUFVLG9DQUFvQyxDQUFDLFNBQTZCLEVBQUUsUUFBYTtJQUNyRyxFQUFFLENBQUMsNkNBQTZDLEVBQUUsS0FBSyxJQUFJLEVBQUU7UUFDM0QsSUFBSSxDQUFDO1lBQ0gsU0FBUyxDQUFDLElBQUksQ0FBQywwQkFBZSxDQUFDLHFCQUFxQixDQUFDLENBQUM7WUFDdEQsU0FBUyxDQUFDLEdBQUcsQ0FBQztnQkFDWixHQUFHLEVBQUUsSUFBSTtnQkFDVCxRQUFRLEVBQUUsTUFBTTthQUNqQixDQUFDLENBQUM7WUFDSCxTQUFTLENBQUMsUUFBUSxDQUFDLFFBQVEs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QUMsTUFBTSxFQUFFLENBQUM7UUFDM0IsZ0JBQU0sQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLEVBQUUsRUFBRSxRQUFRLENBQUMseUJBQXlCLENBQUMsQ0FBQztRQUM1RCxnQkFBTSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLFFBQVEsQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUNoRCxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUM7QUFFTSxLQUFLLFVBQVUsa0NBQWtDLENBQUMsU0FBNkIsRUFBRSxRQUFhO0lBQ25HLEVBQUUsQ0FBQyx5REFBeUQsRUFBRSxLQUFLLElBQUksRUFBRTtRQUN2RSxTQUFTLENBQUMsSUFBSSxDQUFDLDBCQUFlLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDN0MsU0FBUyxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDMUMsU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsdUJBQXVCLENBQUMsQ0FBQztRQUNqRCxTQUFTLENBQUMsR0FBRyxDQUFDO1lBQ1osR0FBRyxFQUFFLElBQUk7WUFDVCxRQUFRLEVBQUUsTUFBTTtTQUNqQixDQUFDLENBQUM7UUFDSCxNQUFNLEVBQUUsR0FBRyxNQUFNLFNBQVMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUNuQyxNQUFNLE1BQU0sR0FBRyxFQUFFLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDM0IsZ0JBQU0sQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLEVBQUUsRUFBRSxRQUFRLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDakQsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHNob3VsZCBmcm9tICdzaG91bGQnO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb25UeXBlIH0gZnJvbSAnQGJpdGdvLWJldGEvc2RrLWNvcmUnO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb25CdWlsZGVyIH0gZnJvbSAnLi4vLi4vLi4vc3JjJztcblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHRlc3RBZGRyZXNzSW5pdGlhbGl6YXRpb25XaXRob3V0Q29udHJhY3RBZGRyZXNzKHR4QnVpbGRlcjogVHJhbnNhY3Rpb25CdWlsZGVyKSB7XG4gIGl0KCdzaG91bGQgZmFpbCBpZiB0aGVyZSBpcyBubyBjb250cmFjdCBhZGRyZXNzJywgYXN5bmMgKCkgPT4ge1xuICAgIHR4QnVpbGRlci50eXBlKFRyYW5zYWN0aW9uVHlwZS5BZGRyZXNzSW5pdGlhbGl6YXRpb24pO1xuICAgIHR4QnVpbGRlci5mZWUoe1xuICAgICAgZmVlOiAnMTAnLFxuICAgICAgZ2FzTGltaXQ6ICcxMDAwJyxcbiAgICB9KTtcbiAgICB0eEJ1aWxkZXIuY291bnRlcigxKTtcbiAgICBhd2FpdCB0eEJ1aWxkZXIuYnVpbGQoKS5zaG91bGQuYmUucmVqZWN0ZWRXaXRoKCdJbnZhbGlkIHRyYW5zYWN0aW9uOiBtaXNzaW5nIGNvbnRyYWN0IGFkZHJlc3MnKTtcbiAgfSk7XG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiB0ZXN0RmFpbHNXaXRoSW52YWxpZEZvcndhcmRlclZlcnNpb24odHhCdWlsZGVyOiBUcmFuc2FjdGlvbkJ1aWxkZXIsIHRlc3REYXRhOiBhbnkpIHtcbiAgaXQoJ3Nob3VsZCBmYWlsIGlmIGZvcndhcmRlciB2ZXJzaW9uIGlzIGludmFsaWQnLCBhc3luYyAoKSA9PiB7XG4gICAgdHJ5IHtcbiAgICAgIHR4QnVpbGRlci50eXBlKFRyYW5zYWN0aW9uVHlwZS5BZGRyZXNzSW5pdGlhbGl6YXRpb24pO1xuICAgICAgdHhCdWlsZGVyLmZlZSh7XG4gICAgICAgIGZlZTogJzEwJyxcbiAgICAgICAgZ2FzTGltaXQ6ICcxMDAwJyxcbiAgICAgIH0pO1xuICAgICAgdHhCdWlsZGVyLmNvbnRyYWN0KHRlc3REYXRhLkZPUldBUkRFUl9GQUNUT1JZX0FERFJFU1MpO1xuICAgICAgdHhCdWlsZGVyLmZvcndhcmRlclZlcnNpb24oMyk7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgc2hvdWxkLmVxdWFsKGUubWVzc2FnZSwgJ0ludmFsaWQgZm9yd2FyZGVyIHZlcnNpb246IDMnKTtcbiAgICB9XG4gIH0pO1xufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gdGVzdEFkZHJlc3NJbml0aWFsaXphdGlvbkJ1aWxkc0NvcnJlY3RseUFuZFJldHVybnNBZGRyZXNzKFxuICB0eEJ1aWxkZXI6IFRyYW5zYWN0aW9uQnVpbGRlcixcbiAgdGVzdERhdGE6IGFueVxuKSB7XG4gIGl0KCdzaG91bGQgYnVpbGQgcHJvcGVybHkgYW5kIHJldHVybiBhIGNvcnJlY3QgYWRkcmVzcycsIGFzeW5jICgpID0+IHtcbiAgICB0eEJ1aWxkZXIudHlwZShUcmFuc2FjdGlvblR5cGUuQWRkcmVzc0luaXRpYWxpemF0aW9uKTtcbiAgICB0eEJ1aWxkZXIuZmVlKHtcbiAgICAgIGZlZTogJzEwJyxcbiAgICAgIGdhc0xpbWl0OiAnMTAwMCcsXG4gICAgfSk7XG4gICAgdHhCdWlsZGVyLmNvdW50ZXIoMSk7XG4gICAgdHhCdWlsZGVyLmNvbnRyYWN0KHRlc3REYXRhLkZPUldBUkRFUl9GQUNUT1JZX0FERFJFU1MpO1xuICAgIHR4QnVpbGRlci5iYXNlQWRkcmVzcyh0ZXN0RGF0YS5CQVNFX0FERFJFU1MpO1xuICAgIHR4QnVpbGRlci5mZWVBZGRyZXNzKHRlc3REYXRhLkZFRV9BRERSRVNTKTtcbiAgICB0eEJ1aWxkZXIuZm9yd2FyZGVyVmVyc2lvbig0KTtcbiAgICB0eEJ1aWxkZXIuc2FsdCgnMHgxJyk7XG4gICAgdHhCdWlsZGVyLmluaXRDb2RlKHRlc3REYXRhLkZPUldBUkRFUl9JTVBMRU1FTlRBVElPTl9BRERSRVNTKTtcbiAgICB0eEJ1aWxkZXIuc2lnbih7IGtleTogdGVzdERhdGEuS0VZUEFJUl9QUlYuZ2V0S2V5cygpLnBydiB9KTtcbiAgICBjb25zdCB0eCA9IGF3YWl0IHR4QnVpbGRlci5idWlsZCgpO1xuXG4gICAgY29uc3QgdHhKc29uID0gdHgudG9Kc29uKCk7XG4gICAgc2hvdWxkLmVxdWFsKHR4SnNvbi5kZXBsb3llZEFkZHJlc3MsIHRlc3REYXRhLkRFUExPWUVEX0FERFJFU1MpO1xuICAgIHNob3VsZC5lcXVhbCh0eEpzb24udG8sIHRlc3REYXRhLkZPUldBUkRFUl9GQUNUT1JZX0FERFJFU1MpO1xuICB9KTtcbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHRlc3RBZGRyZXNzSW5pdGlhbGl6YXRpb25CdWlsZHNGcm9tU2VyaWFsaXplZERhdGEodHhCdWlsZGVyOiBUcmFuc2FjdGlvbkJ1aWxkZXIsIHRlc3REYXRhOiBhbnkpIHtcbiAgaXQoJ3Nob3VsZCBidWlsZCBwcm9wZXJseSBmcm9tIHNlcmlhbGl6ZWQnLCBhc3luYyAoKSA9PiB7XG4gICAgdHhCdWlsZGVyLnR5cGUoVHJhbnNhY3Rpb25UeXBlLkFkZHJlc3NJbml0aWFsaXphdGlvbik7XG4gICAgdHhCdWlsZGVyLmZyb20odGVzdERhdGEuVU5TSUdORURfQUREUkVTU19JTklUKTtcbiAgICBjb25zdCB0eCA9IGF3YWl0IHR4QnVpbGRlci5idWlsZCgpO1xuICAgIGNvbnN0IHR4SnNvbiA9IHR4LnRvSnNvbigpO1xuICAgIHNob3VsZC5lcXVhbCh0eEpzb24udG8sIHRlc3REYXRhLkZPUldBUkRFUl9GQUNUT1JZX0FERFJFU1MpO1xuICB9KTtcbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHRlc3RBZGRyZXNzSW5pdGlhbGl6YXRpb25CdWlsZHNGcm9tU2lnbmVkU2VyaWFsaXplZERhdGEoXG4gIHR4QnVpbGRlcjogVHJhbnNhY3Rpb25CdWlsZGVyLFxuICB0ZXN0RGF0YTogYW55XG4pIHtcbiAgaXQoJ3Nob3VsZCBidWlsZCBwcm9wZXJseSBmcm9tIHNpZ25lZCBzZXJpYWxpemVkJywgYXN5bmMgKCkgPT4ge1xuICAgIHR4QnVpbGRlci50eXBlKFRyYW5zYWN0aW9uVHlwZS5BZGRyZXNzSW5pdGlhbGl6YXRpb24pO1xuICAgIHR4QnVpbGRlci5mcm9tKHRlc3REYXRhLlNJR05FRF9BRERSRVNTX0lOSVQpO1xuICAgIGNvbnN0IHR4ID0gYXdhaXQgdHhCdWlsZGVyLmJ1aWxkKCk7XG4gICAgY29uc3QgdHhKc29uID0gdHgudG9Kc29uKCk7XG4gICAgc2hvdWxkLmVxdWFsKHR4SnNvbi50bywgdGVzdERhdGEuRk9SV0FSREVSX0ZBQ1RPUllfQUREUkVTUyk7XG4gICAgc2hvdWxkLmVxdWFsKHR4SnNvbi5mcm9tLCB0ZXN0RGF0YS5BQ0NPVU5UXzEpO1xuICB9KTtcbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHRlc3RDb250cmFjdENhbGxGb3JDcmVhdGVGb3J3YXJkZXIodHhCdWlsZGVyOiBUcmFuc2FjdGlvbkJ1aWxkZXIsIHRlc3REYXRhOiBhbnkpIHtcbiAgaXQoJ3Nob3VsZCBidWlsZCBwcm9wZXJseSBjcmVhdGVGb3J3YXJkZXIgY2FsbCBmb3IgcmVjb3ZlcnknLCBhc3luYyAoKSA9PiB7XG4gICAgdHhCdWlsZGVyLnR5cGUoVHJhbnNhY3Rpb25UeXBlLkNvbnRyYWN0Q2FsbCk7XG4gICAgdHhCdWlsZGVyLmNvbnRyYWN0KHRlc3REYXRhLkJBU0VfQUREUkVTUyk7XG4gICAgdHhCdWlsZGVyLmRhdGEodGVzdERhdGEuQ1JFQVRFX0ZPUldBUkRFUl9NRVRIT0QpO1xuICAgIHR4QnVpbGRlci5mZWUoe1xuICAgICAgZmVlOiAnMTAnLFxuICAgICAgZ2FzTGltaXQ6ICcxMDAwJyxcbiAgICB9KTtcbiAgICBjb25zdCB0eCA9IGF3YWl0IHR4QnVpbGRlci5idWlsZCgpO1xuICAgIGNvbnN0IHR4SnNvbiA9IHR4LnRvSnNvbigpO1xuICAgIHNob3VsZC5lcXVhbCh0eEpzb24udG8sIHRlc3REYXRhLkJBU0VfQUREUkVTUyk7XG4gIH0pO1xufVxuIl19
@@ -0,0 +1,3 @@
1
+ import { TransactionBuilder } from '../../../src';
2
+ export declare function runDecryptionDelegationTests(coinName: string, getBuilder: (coin: string) => TransactionBuilder): void;
3
+ //# sourceMappingURL=decryptionDelegation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"decryptionDelegation.d.ts","sourceRoot":"","sources":["../../../../test/unit/transactionBuilder/decryptionDelegation.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAgBlD,wBAAgB,4BAA4B,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,kBAAkB,GAAG,IAAI,CAqKrH"}