@bitgo-beta/sdk-coin-sui 1.4.1-alpha.5 → 1.4.1-alpha.50

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 (123) hide show
  1. package/.eslintignore +1 -0
  2. package/CHANGELOG.md +122 -0
  3. package/dist/src/index.d.ts +1 -0
  4. package/dist/src/index.d.ts.map +1 -1
  5. package/dist/src/index.js +2 -1
  6. package/dist/src/lib/constants.d.ts +9 -0
  7. package/dist/src/lib/constants.d.ts.map +1 -0
  8. package/dist/src/lib/constants.js +13 -0
  9. package/dist/src/lib/iface.d.ts +57 -15
  10. package/dist/src/lib/iface.d.ts.map +1 -1
  11. package/dist/src/lib/iface.js +26 -1
  12. package/dist/src/lib/index.d.ts +5 -0
  13. package/dist/src/lib/index.d.ts.map +1 -1
  14. package/dist/src/lib/index.js +12 -2
  15. package/dist/src/lib/keyPair.d.ts +11 -0
  16. package/dist/src/lib/keyPair.d.ts.map +1 -1
  17. package/dist/src/lib/keyPair.js +21 -10
  18. package/dist/src/lib/mystenlab/builder/Inputs.d.ts +66 -0
  19. package/dist/src/lib/mystenlab/builder/Inputs.d.ts.map +1 -0
  20. package/dist/src/lib/mystenlab/builder/Inputs.js +56 -0
  21. package/dist/src/lib/mystenlab/builder/TransactionBlock.d.ts +616 -0
  22. package/dist/src/lib/mystenlab/builder/TransactionBlock.d.ts.map +1 -0
  23. package/dist/src/lib/mystenlab/builder/TransactionBlock.js +260 -0
  24. package/dist/src/lib/mystenlab/builder/TransactionDataBlock.d.ts +566 -0
  25. package/dist/src/lib/mystenlab/builder/TransactionDataBlock.d.ts.map +1 -0
  26. package/dist/src/lib/mystenlab/builder/TransactionDataBlock.js +171 -0
  27. package/dist/src/lib/mystenlab/builder/Transactions.d.ts +992 -0
  28. package/dist/src/lib/mystenlab/builder/Transactions.d.ts.map +1 -0
  29. package/dist/src/lib/mystenlab/builder/Transactions.js +119 -0
  30. package/dist/src/lib/mystenlab/builder/bcs.d.ts +25 -0
  31. package/dist/src/lib/mystenlab/builder/bcs.d.ts.map +1 -0
  32. package/dist/src/lib/mystenlab/builder/bcs.js +141 -0
  33. package/dist/src/lib/mystenlab/builder/index.d.ts +5 -0
  34. package/dist/src/lib/mystenlab/builder/index.d.ts.map +1 -0
  35. package/dist/src/lib/mystenlab/builder/index.js +17 -0
  36. package/dist/src/lib/mystenlab/builder/serializer.d.ts +4 -0
  37. package/dist/src/lib/mystenlab/builder/serializer.d.ts.map +1 -0
  38. package/dist/src/lib/mystenlab/builder/serializer.js +101 -0
  39. package/dist/src/lib/mystenlab/builder/utils.d.ts +10 -0
  40. package/dist/src/lib/mystenlab/builder/utils.d.ts.map +1 -0
  41. package/dist/src/lib/mystenlab/builder/utils.js +10 -0
  42. package/dist/src/lib/mystenlab/cryptography/hash.d.ts +8 -0
  43. package/dist/src/lib/mystenlab/cryptography/hash.d.ts.map +1 -0
  44. package/dist/src/lib/mystenlab/cryptography/hash.js +22 -0
  45. package/dist/src/lib/mystenlab/framework/framework.d.ts +93 -0
  46. package/dist/src/lib/mystenlab/framework/framework.d.ts.map +1 -0
  47. package/dist/src/lib/mystenlab/framework/framework.js +138 -0
  48. package/dist/src/lib/mystenlab/framework/index.d.ts +3 -0
  49. package/dist/src/lib/mystenlab/framework/index.d.ts.map +1 -0
  50. package/dist/src/lib/mystenlab/framework/index.js +15 -0
  51. package/dist/src/lib/mystenlab/framework/sui-system-state.d.ts +12 -0
  52. package/dist/src/lib/mystenlab/framework/sui-system-state.d.ts.map +1 -0
  53. package/dist/src/lib/mystenlab/framework/sui-system-state.js +19 -0
  54. package/dist/src/lib/mystenlab/txn-data-serializers/type-tag-serializer.d.ts +7 -0
  55. package/dist/src/lib/mystenlab/txn-data-serializers/type-tag-serializer.d.ts.map +1 -0
  56. package/dist/src/lib/mystenlab/txn-data-serializers/type-tag-serializer.js +119 -0
  57. package/dist/src/lib/mystenlab/types/coin.d.ts +89 -0
  58. package/dist/src/lib/mystenlab/types/coin.d.ts.map +1 -0
  59. package/dist/src/lib/mystenlab/types/coin.js +32 -0
  60. package/dist/src/lib/mystenlab/types/common.d.ts +45 -0
  61. package/dist/src/lib/mystenlab/types/common.d.ts.map +1 -0
  62. package/dist/src/lib/mystenlab/types/common.js +84 -0
  63. package/dist/src/lib/mystenlab/types/events.d.ts +198 -0
  64. package/dist/src/lib/mystenlab/types/events.d.ts.map +1 -0
  65. package/dist/src/lib/mystenlab/types/events.js +46 -0
  66. package/dist/src/lib/mystenlab/types/index.d.ts +9 -0
  67. package/dist/src/lib/mystenlab/types/index.d.ts.map +1 -0
  68. package/dist/src/lib/mystenlab/types/index.js +21 -0
  69. package/dist/src/lib/mystenlab/types/normalized.d.ts +254 -0
  70. package/dist/src/lib/mystenlab/types/normalized.d.ts.map +1 -0
  71. package/dist/src/lib/mystenlab/types/normalized.js +111 -0
  72. package/dist/src/lib/mystenlab/types/objects.d.ts +806 -0
  73. package/dist/src/lib/mystenlab/types/objects.d.ts.map +1 -0
  74. package/dist/src/lib/mystenlab/types/objects.js +302 -0
  75. package/dist/src/lib/mystenlab/types/option.d.ts +8 -0
  76. package/dist/src/lib/mystenlab/types/option.d.ts.map +1 -0
  77. package/dist/src/lib/mystenlab/types/option.js +14 -0
  78. package/dist/src/lib/mystenlab/types/sui-bcs.d.ts +111 -0
  79. package/dist/src/lib/mystenlab/types/sui-bcs.d.ts.map +1 -0
  80. package/dist/src/lib/mystenlab/types/sui-bcs.js +107 -0
  81. package/dist/src/lib/mystenlab/types/transactions.d.ts +6703 -0
  82. package/dist/src/lib/mystenlab/types/transactions.d.ts.map +1 -0
  83. package/dist/src/lib/mystenlab/types/transactions.js +405 -0
  84. package/dist/src/lib/mystenlab/types/validator.d.ts +641 -0
  85. package/dist/src/lib/mystenlab/types/validator.d.ts.map +1 -0
  86. package/dist/src/lib/mystenlab/types/validator.js +156 -0
  87. package/dist/src/lib/stakingBuilder.d.ts +62 -0
  88. package/dist/src/lib/stakingBuilder.d.ts.map +1 -0
  89. package/dist/src/lib/stakingBuilder.js +187 -0
  90. package/dist/src/lib/stakingTransaction.d.ts +51 -0
  91. package/dist/src/lib/stakingTransaction.d.ts.map +1 -0
  92. package/dist/src/lib/stakingTransaction.js +211 -0
  93. package/dist/src/lib/transaction.d.ts +36 -41
  94. package/dist/src/lib/transaction.d.ts.map +1 -1
  95. package/dist/src/lib/transaction.js +96 -224
  96. package/dist/src/lib/transactionBuilder.d.ts +21 -33
  97. package/dist/src/lib/transactionBuilder.d.ts.map +1 -1
  98. package/dist/src/lib/transactionBuilder.js +43 -131
  99. package/dist/src/lib/transactionBuilderFactory.d.ts +10 -3
  100. package/dist/src/lib/transactionBuilderFactory.d.ts.map +1 -1
  101. package/dist/src/lib/transactionBuilderFactory.js +29 -7
  102. package/dist/src/lib/transferBuilder.d.ts +31 -2
  103. package/dist/src/lib/transferBuilder.d.ts.map +1 -1
  104. package/dist/src/lib/transferBuilder.js +102 -1
  105. package/dist/src/lib/transferTransaction.d.ts +54 -0
  106. package/dist/src/lib/transferTransaction.d.ts.map +1 -0
  107. package/dist/src/lib/transferTransaction.js +180 -0
  108. package/dist/src/lib/unstakingBuilder.d.ts +55 -0
  109. package/dist/src/lib/unstakingBuilder.d.ts.map +1 -0
  110. package/dist/src/lib/unstakingBuilder.js +148 -0
  111. package/dist/src/lib/unstakingTransaction.d.ts +51 -0
  112. package/dist/src/lib/unstakingTransaction.d.ts.map +1 -0
  113. package/dist/src/lib/unstakingTransaction.js +206 -0
  114. package/dist/src/lib/utils.d.ts +49 -4
  115. package/dist/src/lib/utils.d.ts.map +1 -1
  116. package/dist/src/lib/utils.js +153 -13
  117. package/dist/src/register.d.ts +3 -0
  118. package/dist/src/register.d.ts.map +1 -0
  119. package/dist/src/register.js +11 -0
  120. package/dist/src/sui.d.ts +3 -0
  121. package/dist/src/sui.d.ts.map +1 -1
  122. package/dist/src/sui.js +34 -14
  123. package/package.json +11 -9
package/.eslintignore CHANGED
@@ -2,4 +2,5 @@ node_modules
2
2
  .idea
3
3
  public
4
4
  dist
5
+ src/lib/mystenlab/
5
6
 
package/CHANGELOG.md CHANGED
@@ -3,6 +3,128 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ ## [3.0.2](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-coin-sui@3.0.1...@bitgo/sdk-coin-sui@3.0.2) (2023-04-25)
7
+
8
+ **Note:** Version bump only for package @bitgo/sdk-coin-sui
9
+
10
+ ## [3.0.1](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-coin-sui@3.0.0...@bitgo/sdk-coin-sui@3.0.1) (2023-04-20)
11
+
12
+ **Note:** Version bump only for package @bitgo/sdk-coin-sui
13
+
14
+ # [3.0.0](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-coin-sui@2.0.1...@bitgo/sdk-coin-sui@3.0.0) (2023-04-13)
15
+
16
+ ### Bug Fixes
17
+
18
+ - **sdk-coin-sui:** adjust sui bcs models changes ([25f06e7](https://github.com/BitGo/BitGoJS/commit/25f06e7a0c922594858a8b9fc5b48c96acacc27f))
19
+ - **sdk-coin-sui:** export unstaking ([d23986d](https://github.com/BitGo/BitGoJS/commit/d23986dd25fba757501696263a3118012e948922))
20
+ - **sdk-coin-sui:** fix outputs address and add validation ([077640c](https://github.com/BitGo/BitGoJS/commit/077640c4b76492489a88728c272b33755ef744a9))
21
+ - **sdk-coin-sui:** fix sui verifyTransaction method ([c86766a](https://github.com/BitGo/BitGoJS/commit/c86766aa3668d2f22f1f2cf438c806bb3b88289c))
22
+ - **sdk-coin-sui:** fix tx type ([94e2178](https://github.com/BitGo/BitGoJS/commit/94e2178dff63faf5f41065e4781c47d0fc8cbd2a))
23
+ - **sdk-coin-sui:** fix txHex to hex string ([48b462e](https://github.com/BitGo/BitGoJS/commit/48b462eb914fd8f69b801bc440eb5d236c7893c6))
24
+ - **sdk-coin-sui:** fixed getAddressFromPublicKey for SUI ([0d6d72d](https://github.com/BitGo/BitGoJS/commit/0d6d72dd9529e7156b13aa204d8999806587e502))
25
+ - **sdk-coin-sui:** staking explain transaction ([fbc49f8](https://github.com/BitGo/BitGoJS/commit/fbc49f8cd39d265f7a5ff65ed5896e12389b4b09))
26
+ - **sdk-coin-sui:** tx signing flow ([ae681ed](https://github.com/BitGo/BitGoJS/commit/ae681ed6d9d895beff67621e46a589d0317eb403))
27
+
28
+ ### chore
29
+
30
+ - **sdk-coin-sui:** update bcs and tx serialization ([8280468](https://github.com/BitGo/BitGoJS/commit/82804683d6c5149e628002f64b2b9b5c8f92665b))
31
+
32
+ ### Features
33
+
34
+ - remove swtich tx builder not supported prior on 0.28 release ([2aaff40](https://github.com/BitGo/BitGoJS/commit/2aaff4018842137ea2fdef4a4ab818f28eff8232))
35
+ - **sdk-coin-sui:** add mystenlab types and remove old impl of transfer ([4a8aeaa](https://github.com/BitGo/BitGoJS/commit/4a8aeaa97cb372dfaa2b364fd9c617f47f037d03))
36
+ - **sdk-coin-sui:** build staking transaction ([53d3b6e](https://github.com/BitGo/BitGoJS/commit/53d3b6efcda6148bb20ebf6647deb05e7c464744))
37
+ - **sdk-coin-sui:** build transfer transaction ([bc0f531](https://github.com/BitGo/BitGoJS/commit/bc0f5310650dbb5a6cc16c23047f81853aec1b1e))
38
+ - **sdk-coin-sui:** build unstaking transaction ([c3ef7de](https://github.com/BitGo/BitGoJS/commit/c3ef7de26abca8d5d1161ef04891a39b5aaf6d4b))
39
+ - **sdk-coin-sui:** implement generateKeyPair ([ca9f788](https://github.com/BitGo/BitGoJS/commit/ca9f788d8e08bf6c04ae49088ee7a0b405b03be5))
40
+ - **sdk-coin-sui:** update sui models up to 0.30 ([b9de616](https://github.com/BitGo/BitGoJS/commit/b9de616afaebc8da546bd95cbec63d5d21079889))
41
+ - update signature hashing ([fcadc86](https://github.com/BitGo/BitGoJS/commit/fcadc8688ef9d0c2f1ed86b7e50053fd62045b0a))
42
+
43
+ ### BREAKING CHANGES
44
+
45
+ - **sdk-coin-sui:** gasData is added to transaction builder interface
46
+
47
+ ## [2.0.1](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-coin-sui@2.0.0...@bitgo/sdk-coin-sui@2.0.1) (2023-02-17)
48
+
49
+ **Note:** Version bump only for package @bitgo/sdk-coin-sui
50
+
51
+ # [2.0.0](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-coin-sui@1.7.0...@bitgo/sdk-coin-sui@2.0.0) (2023-02-16)
52
+
53
+ ### Bug Fixes
54
+
55
+ - **sdk-coin-sui:** fix sui signing ([860e078](https://github.com/BitGo/BitGoJS/commit/860e078f3b2e6cb724411d28994e67ce5d6d0340))
56
+
57
+ ### Features
58
+
59
+ - **sdk-coin-sui:** add support for staking transactions ([c7dc420](https://github.com/BitGo/BitGoJS/commit/c7dc420bb1270beb66ca0c4782ea9da00928ee32))
60
+ - **sdk-coin-sui:** add switch delegation tx ([08e6f94](https://github.com/BitGo/BitGoJS/commit/08e6f94d1640dd1796bafc7bd18bc7a35e76f8fd))
61
+ - **sdk-coin-sui:** add withdrawDelegation staking tx ([f2161d4](https://github.com/BitGo/BitGoJS/commit/f2161d4c67751ddf3355393792a0a10fd8563c4f))
62
+
63
+ ### BREAKING CHANGES
64
+
65
+ - **sdk-coin-sui:** makes SuiTransaction and transactionBuilder
66
+ generic to support PayTx and MoveCallTx as tx property
67
+
68
+ ## [1.7.2](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-coin-sui@1.7.0...@bitgo/sdk-coin-sui@1.7.2) (2023-02-08)
69
+
70
+ ### Bug Fixes
71
+
72
+ - **sdk-coin-sui:** fix sui signing ([860e078](https://github.com/BitGo/BitGoJS/commit/860e078f3b2e6cb724411d28994e67ce5d6d0340))
73
+
74
+ ## [1.7.1](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-coin-sui@1.7.0...@bitgo/sdk-coin-sui@1.7.1) (2023-01-30)
75
+
76
+ **Note:** Version bump only for package @bitgo/sdk-coin-sui
77
+
78
+ # [1.7.0](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-coin-sui@1.6.5...@bitgo/sdk-coin-sui@1.7.0) (2023-01-25)
79
+
80
+ ### Features
81
+
82
+ - **sdk-coin-sui:** update sui serialize and deserialize tx to version greater than 0.19 ([e228ba2](https://github.com/BitGo/BitGoJS/commit/e228ba2670a75025b879df3e6df7fee3e460a557))
83
+
84
+ ## [1.6.5](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-coin-sui@1.6.4...@bitgo/sdk-coin-sui@1.6.5) (2022-12-23)
85
+
86
+ **Note:** Version bump only for package @bitgo/sdk-coin-sui
87
+
88
+ ## [1.6.4](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-coin-sui@1.6.3...@bitgo/sdk-coin-sui@1.6.4) (2022-12-20)
89
+
90
+ ### Bug Fixes
91
+
92
+ - **sdk-coin-sui:** add allowAccountConsolidations ([0a6ca38](https://github.com/BitGo/BitGoJS/commit/0a6ca38b9403f08bd489b01b1edd3265b139aabc))
93
+ - **sdk-coin-sui:** exclude signer data from tx digest ([88db48e](https://github.com/BitGo/BitGoJS/commit/88db48e0b5a4947a9d49814f34a90213b15e1af5))
94
+ - **sdk-coin-sui:** fix explainTransaction when amounts is empty ([783471b](https://github.com/BitGo/BitGoJS/commit/783471bbdfb6187746e34f0430d11cdafa463eac))
95
+ - **sdk-coin-sui:** remove amount from payAll serialized txn ([ddf9273](https://github.com/BitGo/BitGoJS/commit/ddf92737910e73e5c73abb0d5d775e5831903f63))
96
+
97
+ ## [1.6.3](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-coin-sui@1.6.2...@bitgo/sdk-coin-sui@1.6.3) (2022-12-09)
98
+
99
+ ### Bug Fixes
100
+
101
+ - **sdk-coin-sui:** add signed data to serialized str ([1f49745](https://github.com/BitGo/BitGoJS/commit/1f49745f2c8ba2e1f3016e21448c1c6519fd4a73))
102
+ - **sdk-coin-sui:** fix serialization byte size ([750a16d](https://github.com/BitGo/BitGoJS/commit/750a16df89fa282d567aad1e362a4e772acb4832))
103
+
104
+ ## [1.6.2](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-coin-sui@1.6.1...@bitgo/sdk-coin-sui@1.6.2) (2022-12-06)
105
+
106
+ **Note:** Version bump only for package @bitgo/sdk-coin-sui
107
+
108
+ ## [1.6.1](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-coin-sui@1.6.0...@bitgo/sdk-coin-sui@1.6.1) (2022-12-01)
109
+
110
+ **Note:** Version bump only for package @bitgo/sdk-coin-sui
111
+
112
+ # [1.6.0](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-coin-sui@1.2.0...@bitgo/sdk-coin-sui@1.6.0) (2022-11-29)
113
+
114
+ ### Bug Fixes
115
+
116
+ - **sdk-coin-sui:** added signature to sui transaction ([17e06be](https://github.com/BitGo/BitGoJS/commit/17e06bec0eaffb0db2464dc456c01e5db324d94b))
117
+ - **sdk-coin-sui:** fix serialized tx format type ([b1f716e](https://github.com/BitGo/BitGoJS/commit/b1f716ee1b76624487affd956e29f1ff351ba306))
118
+ - **sdk-coin-sui:** fix sui gasPayment in inputCoins ([22328e2](https://github.com/BitGo/BitGoJS/commit/22328e268429c3d664cc890aedf2eb938de2fbf4))
119
+
120
+ ### Features
121
+
122
+ - implement isWalletAddress for SUI ([a3696ab](https://github.com/BitGo/BitGoJS/commit/a3696ab00f693da2db4ef32034a85504dc5aa4c5))
123
+ - implement sui keypair ([1ae6096](https://github.com/BitGo/BitGoJS/commit/1ae6096bbf48de1db0ccc8a3122b114f0e1489ce))
124
+ - **sdk-coin-sui:** add sui parse transaction ([c1b7b4f](https://github.com/BitGo/BitGoJS/commit/c1b7b4f21bd866e22192111dff304bb87f3460e5))
125
+ - **sdk-coin-sui:** added sui explain transaction ([0e681da](https://github.com/BitGo/BitGoJS/commit/0e681da2f5572e66dffe0be992c13acdcafc549d))
126
+ - **sdk-coin-sui:** support paySui and payAllSui transaction types ([2df4f9f](https://github.com/BitGo/BitGoJS/commit/2df4f9fa7423d3bc0ccf7fea478291ce3217b8ed))
127
+
6
128
  # [1.5.0](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-coin-sui@1.2.0...@bitgo/sdk-coin-sui@1.5.0) (2022-11-04)
7
129
 
8
130
  ### Bug Fixes
@@ -1,4 +1,5 @@
1
1
  export * from './lib';
2
2
  export * from './sui';
3
3
  export * from './tsui';
4
+ export * from './register';
4
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,OAAO,CAAC;AACtB,cAAc,OAAO,CAAC;AACtB,cAAc,QAAQ,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,OAAO,CAAC;AACtB,cAAc,OAAO,CAAC;AACtB,cAAc,QAAQ,CAAC;AACvB,cAAc,YAAY,CAAC"}
package/dist/src/index.js CHANGED
@@ -13,4 +13,5 @@ Object.defineProperty(exports, "__esModule", { value: true });
13
13
  __exportStar(require("./lib"), exports);
14
14
  __exportStar(require("./sui"), exports);
15
15
  __exportStar(require("./tsui"), exports);
16
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0FBQUEsd0NBQXNCO0FBQ3RCLHdDQUFzQjtBQUN0Qix5Q0FBdUIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2xpYic7XG5leHBvcnQgKiBmcm9tICcuL3N1aSc7XG5leHBvcnQgKiBmcm9tICcuL3RzdWknO1xuIl19
16
+ __exportStar(require("./register"), exports);
17
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0FBQUEsd0NBQXNCO0FBQ3RCLHdDQUFzQjtBQUN0Qix5Q0FBdUI7QUFDdkIsNkNBQTJCIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9saWInO1xuZXhwb3J0ICogZnJvbSAnLi9zdWknO1xuZXhwb3J0ICogZnJvbSAnLi90c3VpJztcbmV4cG9ydCAqIGZyb20gJy4vcmVnaXN0ZXInO1xuIl19
@@ -0,0 +1,9 @@
1
+ /// <reference types="node" />
2
+ export declare const UNAVAILABLE_TEXT = "UNAVAILABLE";
3
+ export declare const AMOUNT_UNKNOWN_TEXT = "AMOUNT_UNKNOWN";
4
+ export declare const DUMMY_SUI_GAS_PRICE = 1000;
5
+ export declare const SUI_ADDRESS_LENGTH = 32;
6
+ export declare const SER_BUFFER_SIZE = 8192;
7
+ export declare const SUI_INTENT_BYTES: Buffer;
8
+ export declare const SIGNATURE_SCHEME_BYTES: number[];
9
+ //# sourceMappingURL=constants.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../src/lib/constants.ts"],"names":[],"mappings":";AAAA,eAAO,MAAM,gBAAgB,gBAAgB,CAAC;AAC9C,eAAO,MAAM,mBAAmB,mBAAmB,CAAC;AAIpD,eAAO,MAAM,mBAAmB,OAAO,CAAC;AACxC,eAAO,MAAM,kBAAkB,KAAK,CAAC;AACrC,eAAO,MAAM,eAAe,OAAO,CAAC;AAEpC,eAAO,MAAM,gBAAgB,QAAyB,CAAC;AAEvD,eAAO,MAAM,sBAAsB,UAAS,CAAC"}
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SIGNATURE_SCHEME_BYTES = exports.SUI_INTENT_BYTES = exports.SER_BUFFER_SIZE = exports.SUI_ADDRESS_LENGTH = exports.DUMMY_SUI_GAS_PRICE = exports.AMOUNT_UNKNOWN_TEXT = exports.UNAVAILABLE_TEXT = void 0;
4
+ exports.UNAVAILABLE_TEXT = 'UNAVAILABLE';
5
+ exports.AMOUNT_UNKNOWN_TEXT = 'AMOUNT_UNKNOWN';
6
+ // Refer to
7
+ // https://github.com/MystenLabs/sui/blob/main/crates/sui-types/src/messages.rs#L50
8
+ exports.DUMMY_SUI_GAS_PRICE = 1000;
9
+ exports.SUI_ADDRESS_LENGTH = 32;
10
+ exports.SER_BUFFER_SIZE = 8192;
11
+ exports.SUI_INTENT_BYTES = Buffer.from([0, 0, 0]);
12
+ exports.SIGNATURE_SCHEME_BYTES = [0x00];
13
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RhbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi9jb25zdGFudHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQWEsUUFBQSxnQkFBZ0IsR0FBRyxhQUFhLENBQUM7QUFDakMsUUFBQSxtQkFBbUIsR0FBRyxnQkFBZ0IsQ0FBQztBQUVwRCxXQUFXO0FBQ1gsbUZBQW1GO0FBQ3RFLFFBQUEsbUJBQW1CLEdBQUcsSUFBSSxDQUFDO0FBQzNCLFFBQUEsa0JBQWtCLEdBQUcsRUFBRSxDQUFDO0FBQ3hCLFFBQUEsZUFBZSxHQUFHLElBQUksQ0FBQztBQUV2QixRQUFBLGdCQUFnQixHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFFMUMsUUFBQSxzQkFBc0IsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNvbnN0IFVOQVZBSUxBQkxFX1RFWFQgPSAnVU5BVkFJTEFCTEUnO1xuZXhwb3J0IGNvbnN0IEFNT1VOVF9VTktOT1dOX1RFWFQgPSAnQU1PVU5UX1VOS05PV04nO1xuXG4vLyBSZWZlciB0b1xuLy8gaHR0cHM6Ly9naXRodWIuY29tL015c3RlbkxhYnMvc3VpL2Jsb2IvbWFpbi9jcmF0ZXMvc3VpLXR5cGVzL3NyYy9tZXNzYWdlcy5ycyNMNTBcbmV4cG9ydCBjb25zdCBEVU1NWV9TVUlfR0FTX1BSSUNFID0gMTAwMDtcbmV4cG9ydCBjb25zdCBTVUlfQUREUkVTU19MRU5HVEggPSAzMjtcbmV4cG9ydCBjb25zdCBTRVJfQlVGRkVSX1NJWkUgPSA4MTkyO1xuXG5leHBvcnQgY29uc3QgU1VJX0lOVEVOVF9CWVRFUyA9IEJ1ZmZlci5mcm9tKFswLCAwLCAwXSk7XG5cbmV4cG9ydCBjb25zdCBTSUdOQVRVUkVfU0NIRU1FX0JZVEVTID0gWzB4MDBdO1xuIl19
@@ -1,22 +1,64 @@
1
- import { TransactionExplanation as BaseTransactionExplanation, TransactionType } from '@bitgo-beta/sdk-core';
2
- import { SuiObjectRef } from './transaction';
3
- export interface TransactionExplanation extends BaseTransactionExplanation {
4
- type: TransactionType;
1
+ import { TransactionExplanation as BaseTransactionExplanation, TransactionType as BitGoTransactionType } from '@bitgo-beta/sdk-core';
2
+ import { GasData, ProgrammableTransaction, CallArg, SuiAddress, SuiObjectRef, TransactionExpiration } from './mystenlab/types';
3
+ import { TransactionType, TransactionBlockInput } from './mystenlab/builder';
4
+ export declare enum SuiTransactionType {
5
+ Transfer = "Transfer",
6
+ AddStake = "AddStake",
7
+ WithdrawStake = "WithdrawStake"
5
8
  }
6
- export interface PayTx {
7
- coins: SuiObjectRef[];
8
- recipients: string[];
9
- amounts: number[];
9
+ export interface TransactionExplanation extends BaseTransactionExplanation {
10
+ type: BitGoTransactionType;
10
11
  }
11
- /**
12
- * The transaction data returned from the toJson() function of a transaction
13
- */
14
12
  export interface TxData {
15
13
  id?: string;
16
- gasBudget: number;
17
- gasPrice: number;
18
- payTx: PayTx;
14
+ sender: SuiAddress;
15
+ expiration: TransactionExpiration;
16
+ gasData: GasData;
17
+ kind: {
18
+ ProgrammableTransaction: TransferProgrammableTransaction | StakingProgrammableTransaction;
19
+ };
20
+ }
21
+ export declare type TransferProgrammableTransaction = ProgrammableTransaction | {
22
+ inputs: CallArg[] | TransactionBlockInput[];
23
+ transactions: TransactionType[];
24
+ };
25
+ export declare type StakingProgrammableTransaction = ProgrammableTransaction | {
26
+ inputs: CallArg[] | TransactionBlockInput[];
27
+ transactions: TransactionType[];
28
+ };
29
+ export declare type UnstakingProgrammableTransaction = ProgrammableTransaction | {
30
+ inputs: CallArg[] | TransactionBlockInput[];
31
+ transactions: TransactionType[];
32
+ };
33
+ export interface SuiTransaction<T = TransferProgrammableTransaction | StakingProgrammableTransaction> {
34
+ id?: string;
35
+ type: SuiTransactionType;
19
36
  sender: string;
20
- gasPayment: SuiObjectRef;
37
+ tx: T;
38
+ gasData: GasData;
39
+ }
40
+ export interface RequestAddStake {
41
+ amount: number;
42
+ validatorAddress: SuiAddress;
43
+ }
44
+ export interface RequestWithdrawStakedSui {
45
+ stakedSui: SuiObjectRef;
46
+ }
47
+ /**
48
+ * Method names for the transaction method. Names change based on the type of transaction e.g 'request_add_delegation_mul_coin' for the staking transaction
49
+ */
50
+ export declare enum MethodNames {
51
+ /**
52
+ * Add stake to a validator's staking pool.
53
+ *
54
+ * @see https://github.com/MystenLabs/sui/blob/main/crates/sui-framework/docs/sui_system.md#function-request_add_stake
55
+ */
56
+ RequestAddStake = "request_add_stake",
57
+ /**
58
+ * Withdraw some portion of a stake from a validator's staking pool.
59
+ *
60
+ * @see https://github.com/MystenLabs/sui/blob/main/crates/sui-framework/docs/sui_system.md#function-request_withdraw_stake
61
+ */
62
+ RequestWithdrawStake = "request_withdraw_stake"
21
63
  }
22
64
  //# sourceMappingURL=iface.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"iface.d.ts","sourceRoot":"","sources":["../../../src/lib/iface.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,IAAI,0BAA0B,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAC7G,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAE7C,MAAM,WAAW,sBAAuB,SAAQ,0BAA0B;IACxE,IAAI,EAAE,eAAe,CAAC;CACvB;AAED,MAAM,WAAW,KAAK;IACpB,KAAK,EAAE,YAAY,EAAE,CAAC;IACtB,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,MAAM;IACrB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,KAAK,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,YAAY,CAAC;CAC1B"}
1
+ {"version":3,"file":"iface.d.ts","sourceRoot":"","sources":["../../../src/lib/iface.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,sBAAsB,IAAI,0BAA0B,EACpD,eAAe,IAAI,oBAAoB,EACxC,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,OAAO,EACP,uBAAuB,EACvB,OAAO,EACP,UAAU,EACV,YAAY,EACZ,qBAAqB,EACtB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,eAAe,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAE7E,oBAAY,kBAAkB;IAC5B,QAAQ,aAAa;IACrB,QAAQ,aAAa;IACrB,aAAa,kBAAkB;CAChC;AAED,MAAM,WAAW,sBAAuB,SAAQ,0BAA0B;IACxE,IAAI,EAAE,oBAAoB,CAAC;CAC5B;AAED,MAAM,WAAW,MAAM;IACrB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,UAAU,CAAC;IACnB,UAAU,EAAE,qBAAqB,CAAC;IAClC,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,EAAE;QAAE,uBAAuB,EAAE,+BAA+B,GAAG,8BAA8B,CAAA;KAAE,CAAC;CACrG;AAED,oBAAY,+BAA+B,GACvC,uBAAuB,GACvB;IACE,MAAM,EAAE,OAAO,EAAE,GAAG,qBAAqB,EAAE,CAAC;IAC5C,YAAY,EAAE,eAAe,EAAE,CAAC;CACjC,CAAC;AAEN,oBAAY,8BAA8B,GACtC,uBAAuB,GACvB;IACE,MAAM,EAAE,OAAO,EAAE,GAAG,qBAAqB,EAAE,CAAC;IAC5C,YAAY,EAAE,eAAe,EAAE,CAAC;CACjC,CAAC;AAEN,oBAAY,gCAAgC,GACxC,uBAAuB,GACvB;IACE,MAAM,EAAE,OAAO,EAAE,GAAG,qBAAqB,EAAE,CAAC;IAC5C,YAAY,EAAE,eAAe,EAAE,CAAC;CACjC,CAAC;AAEN,MAAM,WAAW,cAAc,CAAC,CAAC,GAAG,+BAA+B,GAAG,8BAA8B;IAClG,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,kBAAkB,CAAC;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,EAAE,EAAE,CAAC,CAAC;IACN,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,gBAAgB,EAAE,UAAU,CAAC;CAC9B;AAED,MAAM,WAAW,wBAAwB;IACvC,SAAS,EAAE,YAAY,CAAC;CACzB;AAED;;GAEG;AACH,oBAAY,WAAW;IACrB;;;;OAIG;IACH,eAAe,sBAAsB;IACrC;;;;OAIG;IACH,oBAAoB,2BAA2B;CAChD"}
@@ -1,3 +1,28 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL2lmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUcmFuc2FjdGlvbkV4cGxhbmF0aW9uIGFzIEJhc2VUcmFuc2FjdGlvbkV4cGxhbmF0aW9uLCBUcmFuc2FjdGlvblR5cGUgfSBmcm9tICdAYml0Z28tYmV0YS9zZGstY29yZSc7XG5pbXBvcnQgeyBTdWlPYmplY3RSZWYgfSBmcm9tICcuL3RyYW5zYWN0aW9uJztcblxuZXhwb3J0IGludGVyZmFjZSBUcmFuc2FjdGlvbkV4cGxhbmF0aW9uIGV4dGVuZHMgQmFzZVRyYW5zYWN0aW9uRXhwbGFuYXRpb24ge1xuICB0eXBlOiBUcmFuc2FjdGlvblR5cGU7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUGF5VHgge1xuICBjb2luczogU3VpT2JqZWN0UmVmW107XG4gIHJlY2lwaWVudHM6IHN0cmluZ1tdO1xuICBhbW91bnRzOiBudW1iZXJbXTtcbn1cblxuLyoqXG4gKiBUaGUgdHJhbnNhY3Rpb24gZGF0YSByZXR1cm5lZCBmcm9tIHRoZSB0b0pzb24oKSBmdW5jdGlvbiBvZiBhIHRyYW5zYWN0aW9uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgVHhEYXRhIHtcbiAgaWQ/OiBzdHJpbmc7XG4gIGdhc0J1ZGdldDogbnVtYmVyO1xuICBnYXNQcmljZTogbnVtYmVyO1xuICBwYXlUeDogUGF5VHg7XG4gIHNlbmRlcjogc3RyaW5nO1xuICBnYXNQYXltZW50OiBTdWlPYmplY3RSZWY7XG59XG4iXX0=
3
+ exports.MethodNames = exports.SuiTransactionType = void 0;
4
+ var SuiTransactionType;
5
+ (function (SuiTransactionType) {
6
+ SuiTransactionType["Transfer"] = "Transfer";
7
+ SuiTransactionType["AddStake"] = "AddStake";
8
+ SuiTransactionType["WithdrawStake"] = "WithdrawStake";
9
+ })(SuiTransactionType = exports.SuiTransactionType || (exports.SuiTransactionType = {}));
10
+ /**
11
+ * Method names for the transaction method. Names change based on the type of transaction e.g 'request_add_delegation_mul_coin' for the staking transaction
12
+ */
13
+ var MethodNames;
14
+ (function (MethodNames) {
15
+ /**
16
+ * Add stake to a validator's staking pool.
17
+ *
18
+ * @see https://github.com/MystenLabs/sui/blob/main/crates/sui-framework/docs/sui_system.md#function-request_add_stake
19
+ */
20
+ MethodNames["RequestAddStake"] = "request_add_stake";
21
+ /**
22
+ * Withdraw some portion of a stake from a validator's staking pool.
23
+ *
24
+ * @see https://github.com/MystenLabs/sui/blob/main/crates/sui-framework/docs/sui_system.md#function-request_withdraw_stake
25
+ */
26
+ MethodNames["RequestWithdrawStake"] = "request_withdraw_stake";
27
+ })(MethodNames = exports.MethodNames || (exports.MethodNames = {}));
28
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL2lmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQWNBLElBQVksa0JBSVg7QUFKRCxXQUFZLGtCQUFrQjtJQUM1QiwyQ0FBcUIsQ0FBQTtJQUNyQiwyQ0FBcUIsQ0FBQTtJQUNyQixxREFBK0IsQ0FBQTtBQUNqQyxDQUFDLEVBSlcsa0JBQWtCLEdBQWxCLDBCQUFrQixLQUFsQiwwQkFBa0IsUUFJN0I7QUFvREQ7O0dBRUc7QUFDSCxJQUFZLFdBYVg7QUFiRCxXQUFZLFdBQVc7SUFDckI7Ozs7T0FJRztJQUNILG9EQUFxQyxDQUFBO0lBQ3JDOzs7O09BSUc7SUFDSCw4REFBK0MsQ0FBQTtBQUNqRCxDQUFDLEVBYlcsV0FBVyxHQUFYLG1CQUFXLEtBQVgsbUJBQVcsUUFhdEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBUcmFuc2FjdGlvbkV4cGxhbmF0aW9uIGFzIEJhc2VUcmFuc2FjdGlvbkV4cGxhbmF0aW9uLFxuICBUcmFuc2FjdGlvblR5cGUgYXMgQml0R29UcmFuc2FjdGlvblR5cGUsXG59IGZyb20gJ0BiaXRnby1iZXRhL3Nkay1jb3JlJztcbmltcG9ydCB7XG4gIEdhc0RhdGEsXG4gIFByb2dyYW1tYWJsZVRyYW5zYWN0aW9uLFxuICBDYWxsQXJnLFxuICBTdWlBZGRyZXNzLFxuICBTdWlPYmplY3RSZWYsXG4gIFRyYW5zYWN0aW9uRXhwaXJhdGlvbixcbn0gZnJvbSAnLi9teXN0ZW5sYWIvdHlwZXMnO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb25UeXBlLCBUcmFuc2FjdGlvbkJsb2NrSW5wdXQgfSBmcm9tICcuL215c3RlbmxhYi9idWlsZGVyJztcblxuZXhwb3J0IGVudW0gU3VpVHJhbnNhY3Rpb25UeXBlIHtcbiAgVHJhbnNmZXIgPSAnVHJhbnNmZXInLFxuICBBZGRTdGFrZSA9ICdBZGRTdGFrZScsXG4gIFdpdGhkcmF3U3Rha2UgPSAnV2l0aGRyYXdTdGFrZScsXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVHJhbnNhY3Rpb25FeHBsYW5hdGlvbiBleHRlbmRzIEJhc2VUcmFuc2FjdGlvbkV4cGxhbmF0aW9uIHtcbiAgdHlwZTogQml0R29UcmFuc2FjdGlvblR5cGU7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVHhEYXRhIHtcbiAgaWQ/OiBzdHJpbmc7XG4gIHNlbmRlcjogU3VpQWRkcmVzcztcbiAgZXhwaXJhdGlvbjogVHJhbnNhY3Rpb25FeHBpcmF0aW9uO1xuICBnYXNEYXRhOiBHYXNEYXRhO1xuICBraW5kOiB7IFByb2dyYW1tYWJsZVRyYW5zYWN0aW9uOiBUcmFuc2ZlclByb2dyYW1tYWJsZVRyYW5zYWN0aW9uIHwgU3Rha2luZ1Byb2dyYW1tYWJsZVRyYW5zYWN0aW9uIH07XG59XG5cbmV4cG9ydCB0eXBlIFRyYW5zZmVyUHJvZ3JhbW1hYmxlVHJhbnNhY3Rpb24gPVxuICB8IFByb2dyYW1tYWJsZVRyYW5zYWN0aW9uXG4gIHwge1xuICAgICAgaW5wdXRzOiBDYWxsQXJnW10gfCBUcmFuc2FjdGlvbkJsb2NrSW5wdXRbXTtcbiAgICAgIHRyYW5zYWN0aW9uczogVHJhbnNhY3Rpb25UeXBlW107XG4gICAgfTtcblxuZXhwb3J0IHR5cGUgU3Rha2luZ1Byb2dyYW1tYWJsZVRyYW5zYWN0aW9uID1cbiAgfCBQcm9ncmFtbWFibGVUcmFuc2FjdGlvblxuICB8IHtcbiAgICAgIGlucHV0czogQ2FsbEFyZ1tdIHwgVHJhbnNhY3Rpb25CbG9ja0lucHV0W107XG4gICAgICB0cmFuc2FjdGlvbnM6IFRyYW5zYWN0aW9uVHlwZVtdO1xuICAgIH07XG5cbmV4cG9ydCB0eXBlIFVuc3Rha2luZ1Byb2dyYW1tYWJsZVRyYW5zYWN0aW9uID1cbiAgfCBQcm9ncmFtbWFibGVUcmFuc2FjdGlvblxuICB8IHtcbiAgICAgIGlucHV0czogQ2FsbEFyZ1tdIHwgVHJhbnNhY3Rpb25CbG9ja0lucHV0W107XG4gICAgICB0cmFuc2FjdGlvbnM6IFRyYW5zYWN0aW9uVHlwZVtdO1xuICAgIH07XG5cbmV4cG9ydCBpbnRlcmZhY2UgU3VpVHJhbnNhY3Rpb248VCA9IFRyYW5zZmVyUHJvZ3JhbW1hYmxlVHJhbnNhY3Rpb24gfCBTdGFraW5nUHJvZ3JhbW1hYmxlVHJhbnNhY3Rpb24+IHtcbiAgaWQ/OiBzdHJpbmc7XG4gIHR5cGU6IFN1aVRyYW5zYWN0aW9uVHlwZTtcbiAgc2VuZGVyOiBzdHJpbmc7XG4gIHR4OiBUO1xuICBnYXNEYXRhOiBHYXNEYXRhO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFJlcXVlc3RBZGRTdGFrZSB7XG4gIGFtb3VudDogbnVtYmVyO1xuICB2YWxpZGF0b3JBZGRyZXNzOiBTdWlBZGRyZXNzO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFJlcXVlc3RXaXRoZHJhd1N0YWtlZFN1aSB7XG4gIHN0YWtlZFN1aTogU3VpT2JqZWN0UmVmO1xufVxuXG4vKipcbiAqIE1ldGhvZCBuYW1lcyBmb3IgdGhlIHRyYW5zYWN0aW9uIG1ldGhvZC4gTmFtZXMgY2hhbmdlIGJhc2VkIG9uIHRoZSB0eXBlIG9mIHRyYW5zYWN0aW9uIGUuZyAncmVxdWVzdF9hZGRfZGVsZWdhdGlvbl9tdWxfY29pbicgZm9yIHRoZSBzdGFraW5nIHRyYW5zYWN0aW9uXG4gKi9cbmV4cG9ydCBlbnVtIE1ldGhvZE5hbWVzIHtcbiAgLyoqXG4gICAqIEFkZCBzdGFrZSB0byBhIHZhbGlkYXRvcidzIHN0YWtpbmcgcG9vbC5cbiAgICpcbiAgICogQHNlZSBodHRwczovL2dpdGh1Yi5jb20vTXlzdGVuTGFicy9zdWkvYmxvYi9tYWluL2NyYXRlcy9zdWktZnJhbWV3b3JrL2RvY3Mvc3VpX3N5c3RlbS5tZCNmdW5jdGlvbi1yZXF1ZXN0X2FkZF9zdGFrZVxuICAgKi9cbiAgUmVxdWVzdEFkZFN0YWtlID0gJ3JlcXVlc3RfYWRkX3N0YWtlJyxcbiAgLyoqXG4gICAqIFdpdGhkcmF3IHNvbWUgcG9ydGlvbiBvZiBhIHN0YWtlIGZyb20gYSB2YWxpZGF0b3IncyBzdGFraW5nIHBvb2wuXG4gICAqXG4gICAqIEBzZWUgaHR0cHM6Ly9naXRodWIuY29tL015c3RlbkxhYnMvc3VpL2Jsb2IvbWFpbi9jcmF0ZXMvc3VpLWZyYW1ld29yay9kb2NzL3N1aV9zeXN0ZW0ubWQjZnVuY3Rpb24tcmVxdWVzdF93aXRoZHJhd19zdGFrZVxuICAgKi9cbiAgUmVxdWVzdFdpdGhkcmF3U3Rha2UgPSAncmVxdWVzdF93aXRoZHJhd19zdGFrZScsXG59XG4iXX0=
@@ -1,7 +1,12 @@
1
1
  import * as Utils from './utils';
2
2
  import * as Interface from './iface';
3
3
  export { KeyPair } from './keyPair';
4
+ export { StakingBuilder } from './stakingBuilder';
5
+ export { StakingTransaction } from './stakingTransaction';
6
+ export { UnstakingBuilder } from './unstakingBuilder';
7
+ export { UnstakingTransaction } from './unstakingTransaction';
4
8
  export { Transaction } from './transaction';
9
+ export { TransferTransaction } from './transferTransaction';
5
10
  export { TransactionBuilder } from './transactionBuilder';
6
11
  export { TransferBuilder } from './transferBuilder';
7
12
  export { TransactionBuilderFactory } from './transactionBuilderFactory';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lib/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,SAAS,CAAC;AACjC,OAAO,KAAK,SAAS,MAAM,SAAS,CAAC;AAErC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AACxE,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lib/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,SAAS,CAAC;AACjC,OAAO,KAAK,SAAS,MAAM,SAAS,CAAC;AAErC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AACxE,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC"}
@@ -19,19 +19,29 @@ var __importStar = (this && this.__importStar) || function (mod) {
19
19
  return result;
20
20
  };
21
21
  Object.defineProperty(exports, "__esModule", { value: true });
22
- exports.Utils = exports.Interface = exports.TransactionBuilderFactory = exports.TransferBuilder = exports.TransactionBuilder = exports.Transaction = exports.KeyPair = void 0;
22
+ exports.Utils = exports.Interface = exports.TransactionBuilderFactory = exports.TransferBuilder = exports.TransactionBuilder = exports.TransferTransaction = exports.Transaction = exports.UnstakingTransaction = exports.UnstakingBuilder = exports.StakingTransaction = exports.StakingBuilder = exports.KeyPair = void 0;
23
23
  const Utils = __importStar(require("./utils"));
24
24
  exports.Utils = Utils;
25
25
  const Interface = __importStar(require("./iface"));
26
26
  exports.Interface = Interface;
27
27
  var keyPair_1 = require("./keyPair");
28
28
  Object.defineProperty(exports, "KeyPair", { enumerable: true, get: function () { return keyPair_1.KeyPair; } });
29
+ var stakingBuilder_1 = require("./stakingBuilder");
30
+ Object.defineProperty(exports, "StakingBuilder", { enumerable: true, get: function () { return stakingBuilder_1.StakingBuilder; } });
31
+ var stakingTransaction_1 = require("./stakingTransaction");
32
+ Object.defineProperty(exports, "StakingTransaction", { enumerable: true, get: function () { return stakingTransaction_1.StakingTransaction; } });
33
+ var unstakingBuilder_1 = require("./unstakingBuilder");
34
+ Object.defineProperty(exports, "UnstakingBuilder", { enumerable: true, get: function () { return unstakingBuilder_1.UnstakingBuilder; } });
35
+ var unstakingTransaction_1 = require("./unstakingTransaction");
36
+ Object.defineProperty(exports, "UnstakingTransaction", { enumerable: true, get: function () { return unstakingTransaction_1.UnstakingTransaction; } });
29
37
  var transaction_1 = require("./transaction");
30
38
  Object.defineProperty(exports, "Transaction", { enumerable: true, get: function () { return transaction_1.Transaction; } });
39
+ var transferTransaction_1 = require("./transferTransaction");
40
+ Object.defineProperty(exports, "TransferTransaction", { enumerable: true, get: function () { return transferTransaction_1.TransferTransaction; } });
31
41
  var transactionBuilder_1 = require("./transactionBuilder");
32
42
  Object.defineProperty(exports, "TransactionBuilder", { enumerable: true, get: function () { return transactionBuilder_1.TransactionBuilder; } });
33
43
  var transferBuilder_1 = require("./transferBuilder");
34
44
  Object.defineProperty(exports, "TransferBuilder", { enumerable: true, get: function () { return transferBuilder_1.TransferBuilder; } });
35
45
  var transactionBuilderFactory_1 = require("./transactionBuilderFactory");
36
46
  Object.defineProperty(exports, "TransactionBuilderFactory", { enumerable: true, get: function () { return transactionBuilderFactory_1.TransactionBuilderFactory; } });
37
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSwrQ0FBaUM7QUFRYixzQkFBSztBQVB6QixtREFBcUM7QUFPNUIsOEJBQVM7QUFMbEIscUNBQW9DO0FBQTNCLGtHQUFBLE9BQU8sT0FBQTtBQUNoQiw2Q0FBNEM7QUFBbkMsMEdBQUEsV0FBVyxPQUFBO0FBQ3BCLDJEQUEwRDtBQUFqRCx3SEFBQSxrQkFBa0IsT0FBQTtBQUMzQixxREFBb0Q7QUFBM0Msa0hBQUEsZUFBZSxPQUFBO0FBQ3hCLHlFQUF3RTtBQUEvRCxzSUFBQSx5QkFBeUIsT0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIFV0aWxzIGZyb20gJy4vdXRpbHMnO1xuaW1wb3J0ICogYXMgSW50ZXJmYWNlIGZyb20gJy4vaWZhY2UnO1xuXG5leHBvcnQgeyBLZXlQYWlyIH0gZnJvbSAnLi9rZXlQYWlyJztcbmV4cG9ydCB7IFRyYW5zYWN0aW9uIH0gZnJvbSAnLi90cmFuc2FjdGlvbic7XG5leHBvcnQgeyBUcmFuc2FjdGlvbkJ1aWxkZXIgfSBmcm9tICcuL3RyYW5zYWN0aW9uQnVpbGRlcic7XG5leHBvcnQgeyBUcmFuc2ZlckJ1aWxkZXIgfSBmcm9tICcuL3RyYW5zZmVyQnVpbGRlcic7XG5leHBvcnQgeyBUcmFuc2FjdGlvbkJ1aWxkZXJGYWN0b3J5IH0gZnJvbSAnLi90cmFuc2FjdGlvbkJ1aWxkZXJGYWN0b3J5JztcbmV4cG9ydCB7IEludGVyZmFjZSwgVXRpbHMgfTtcbiJdfQ==
47
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSwrQ0FBaUM7QUFhYixzQkFBSztBQVp6QixtREFBcUM7QUFZNUIsOEJBQVM7QUFWbEIscUNBQW9DO0FBQTNCLGtHQUFBLE9BQU8sT0FBQTtBQUNoQixtREFBa0Q7QUFBekMsZ0hBQUEsY0FBYyxPQUFBO0FBQ3ZCLDJEQUEwRDtBQUFqRCx3SEFBQSxrQkFBa0IsT0FBQTtBQUMzQix1REFBc0Q7QUFBN0Msb0hBQUEsZ0JBQWdCLE9BQUE7QUFDekIsK0RBQThEO0FBQXJELDRIQUFBLG9CQUFvQixPQUFBO0FBQzdCLDZDQUE0QztBQUFuQywwR0FBQSxXQUFXLE9BQUE7QUFDcEIsNkRBQTREO0FBQW5ELDBIQUFBLG1CQUFtQixPQUFBO0FBQzVCLDJEQUEwRDtBQUFqRCx3SEFBQSxrQkFBa0IsT0FBQTtBQUMzQixxREFBb0Q7QUFBM0Msa0hBQUEsZUFBZSxPQUFBO0FBQ3hCLHlFQUF3RTtBQUEvRCxzSUFBQSx5QkFBeUIsT0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIFV0aWxzIGZyb20gJy4vdXRpbHMnO1xuaW1wb3J0ICogYXMgSW50ZXJmYWNlIGZyb20gJy4vaWZhY2UnO1xuXG5leHBvcnQgeyBLZXlQYWlyIH0gZnJvbSAnLi9rZXlQYWlyJztcbmV4cG9ydCB7IFN0YWtpbmdCdWlsZGVyIH0gZnJvbSAnLi9zdGFraW5nQnVpbGRlcic7XG5leHBvcnQgeyBTdGFraW5nVHJhbnNhY3Rpb24gfSBmcm9tICcuL3N0YWtpbmdUcmFuc2FjdGlvbic7XG5leHBvcnQgeyBVbnN0YWtpbmdCdWlsZGVyIH0gZnJvbSAnLi91bnN0YWtpbmdCdWlsZGVyJztcbmV4cG9ydCB7IFVuc3Rha2luZ1RyYW5zYWN0aW9uIH0gZnJvbSAnLi91bnN0YWtpbmdUcmFuc2FjdGlvbic7XG5leHBvcnQgeyBUcmFuc2FjdGlvbiB9IGZyb20gJy4vdHJhbnNhY3Rpb24nO1xuZXhwb3J0IHsgVHJhbnNmZXJUcmFuc2FjdGlvbiB9IGZyb20gJy4vdHJhbnNmZXJUcmFuc2FjdGlvbic7XG5leHBvcnQgeyBUcmFuc2FjdGlvbkJ1aWxkZXIgfSBmcm9tICcuL3RyYW5zYWN0aW9uQnVpbGRlcic7XG5leHBvcnQgeyBUcmFuc2ZlckJ1aWxkZXIgfSBmcm9tICcuL3RyYW5zZmVyQnVpbGRlcic7XG5leHBvcnQgeyBUcmFuc2FjdGlvbkJ1aWxkZXJGYWN0b3J5IH0gZnJvbSAnLi90cmFuc2FjdGlvbkJ1aWxkZXJGYWN0b3J5JztcbmV4cG9ydCB7IEludGVyZmFjZSwgVXRpbHMgfTtcbiJdfQ==
@@ -1,4 +1,8 @@
1
1
  import { DefaultKeys, Ed25519KeyPair, KeyPairOptions } from '@bitgo-beta/sdk-core';
2
+ export declare const SIGNATURE_SCHEME_TO_FLAG: {
3
+ ED25519: number;
4
+ Secp256k1: number;
5
+ };
2
6
  export declare class KeyPair extends Ed25519KeyPair {
3
7
  /**
4
8
  * Public constructor. By default, creates a key pair with a random master seed.
@@ -14,5 +18,12 @@ export declare class KeyPair extends Ed25519KeyPair {
14
18
  recordKeysFromPublicKeyInProtocolFormat(pub: string): DefaultKeys;
15
19
  /** @inheritdoc */
16
20
  getAddress(): string;
21
+ /**
22
+ * Sign the message in Uint8Array
23
+ *
24
+ * @param {Uint8Array} message to be signed
25
+ * @returns {Uint8Array} signed message
26
+ */
27
+ signMessageinUint8Array(message: Uint8Array): Uint8Array;
17
28
  }
18
29
  //# sourceMappingURL=keyPair.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"keyPair.d.ts","sourceRoot":"","sources":["../../../src/lib/keyPair.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAKnF,qBAAa,OAAQ,SAAQ,cAAc;IACzC;;;;OAIG;gBACS,MAAM,CAAC,EAAE,cAAc;IAInC,kBAAkB;IAClB,OAAO,IAAI,WAAW;IAQtB,kBAAkB;IAClB,wCAAwC,CAAC,GAAG,EAAE,MAAM,GAAG,WAAW;IAKlE,kBAAkB;IAClB,uCAAuC,CAAC,GAAG,EAAE,MAAM,GAAG,WAAW;IASjE,kBAAkB;IAClB,UAAU,IAAI,MAAM;CASrB"}
1
+ {"version":3,"file":"keyPair.d.ts","sourceRoot":"","sources":["../../../src/lib/keyPair.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,cAAc,EAAgB,MAAM,sBAAsB,CAAC;AAKjG,eAAO,MAAM,wBAAwB;;;CAGpC,CAAC;AAEF,qBAAa,OAAQ,SAAQ,cAAc;IACzC;;;;OAIG;gBACS,MAAM,CAAC,EAAE,cAAc;IAInC,kBAAkB;IAClB,OAAO,IAAI,WAAW;IAQtB,kBAAkB;IAClB,wCAAwC,CAAC,GAAG,EAAE,MAAM,GAAG,WAAW;IAKlE,kBAAkB;IAClB,uCAAuC,CAAC,GAAG,EAAE,MAAM,GAAG,WAAW;IASjE,kBAAkB;IAClB,UAAU,IAAI,MAAM;IAIpB;;;;;OAKG;IACH,uBAAuB,CAAC,OAAO,EAAE,UAAU,GAAG,UAAU;CAOzD"}
@@ -22,11 +22,15 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
22
22
  return (mod && mod.__esModule) ? mod : { "default": mod };
23
23
  };
24
24
  Object.defineProperty(exports, "__esModule", { value: true });
25
- exports.KeyPair = void 0;
25
+ exports.KeyPair = exports.SIGNATURE_SCHEME_TO_FLAG = void 0;
26
26
  const sdk_core_1 = require("@bitgo-beta/sdk-core");
27
- const sha3 = __importStar(require("js-sha3"));
28
27
  const utils_1 = __importDefault(require("./utils"));
29
28
  const bs58_1 = __importDefault(require("bs58"));
29
+ const nacl = __importStar(require("tweetnacl"));
30
+ exports.SIGNATURE_SCHEME_TO_FLAG = {
31
+ ED25519: 0x00,
32
+ Secp256k1: 0x01,
33
+ };
30
34
  class KeyPair extends sdk_core_1.Ed25519KeyPair {
31
35
  /**
32
36
  * Public constructor. By default, creates a key pair with a random master seed.
@@ -59,14 +63,21 @@ class KeyPair extends sdk_core_1.Ed25519KeyPair {
59
63
  }
60
64
  /** @inheritdoc */
61
65
  getAddress() {
62
- const PUBLIC_KEY_SIZE = 32;
63
- const tmp = new Uint8Array(PUBLIC_KEY_SIZE + 1);
64
- const pubBuf = Buffer.from(this.keyPair.pub, 'hex');
65
- tmp.set([0x00]);
66
- tmp.set(pubBuf, 1);
67
- // prefix with 0x to normalize address
68
- return '0x'.concat(sha3.sha3_256(tmp).slice(0, 40));
66
+ return utils_1.default.getAddressFromPublicKey(this.keyPair.pub);
67
+ }
68
+ /**
69
+ * Sign the message in Uint8Array
70
+ *
71
+ * @param {Uint8Array} message to be signed
72
+ * @returns {Uint8Array} signed message
73
+ */
74
+ signMessageinUint8Array(message) {
75
+ const { prv } = this.keyPair;
76
+ if (!prv) {
77
+ throw new Error('Missing private key');
78
+ }
79
+ return nacl.sign.detached(message, nacl.sign.keyPair.fromSeed(sdk_core_1.toUint8Array(prv)).secretKey);
69
80
  }
70
81
  }
71
82
  exports.KeyPair = KeyPair;
72
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2V5UGFpci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIva2V5UGFpci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsbURBQW1GO0FBQ25GLDhDQUFnQztBQUNoQyxvREFBNEI7QUFDNUIsZ0RBQXdCO0FBRXhCLE1BQWEsT0FBUSxTQUFRLHlCQUFjO0lBQ3pDOzs7O09BSUc7SUFDSCxZQUFZLE1BQXVCO1FBQ2pDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNoQixDQUFDO0lBRUQsa0JBQWtCO0lBQ2xCLE9BQU87UUFDTCxNQUFNLE1BQU0sR0FBZ0IsRUFBRSxHQUFHLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBQztRQUN0RCxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFO1lBQ3BCLE1BQU0sQ0FBQyxHQUFHLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUM7U0FDL0I7UUFDRCxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDO0lBRUQsa0JBQWtCO0lBQ2xCLHdDQUF3QyxDQUFDLEdBQVc7UUFDbEQsb0VBQW9FO1FBQ3BFLE1BQU0sSUFBSSxLQUFLLENBQUMseUJBQXlCLENBQUMsQ0FBQztJQUM3QyxDQUFDO0lBRUQsa0JBQWtCO0lBQ2xCLHVDQUF1QyxDQUFDLEdBQVc7UUFDakQsR0FBRyxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxVQUFVLENBQUMsY0FBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3BFLElBQUksQ0FBQyxlQUFLLENBQUMsZ0JBQWdCLENBQUMsR0FBRyxDQUFDLEVBQUU7WUFDaEMsTUFBTSxJQUFJLEtBQUssQ0FBQyxzQkFBc0IsR0FBRyxFQUFFLENBQUMsQ0FBQztTQUM5QztRQUVELE9BQU8sRUFBRSxHQUFHLEVBQUUsQ0FBQztJQUNqQixDQUFDO0lBRUQsa0JBQWtCO0lBQ2xCLFVBQVU7UUFDUixNQUFNLGVBQWUsR0FBRyxFQUFFLENBQUM7UUFDM0IsTUFBTSxHQUFHLEdBQUcsSUFBSSxVQUFVLENBQUMsZUFBZSxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBQ2hELE1BQU0sTUFBTSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDcEQsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7UUFDaEIsR0FBRyxDQUFDLEdBQUcsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDbkIsc0NBQXNDO1FBQ3RDLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUN0RCxDQUFDO0NBQ0Y7QUE3Q0QsMEJBNkNDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGVmYXVsdEtleXMsIEVkMjU1MTlLZXlQYWlyLCBLZXlQYWlyT3B0aW9ucyB9IGZyb20gJ0BiaXRnby1iZXRhL3Nkay1jb3JlJztcbmltcG9ydCAqIGFzIHNoYTMgZnJvbSAnanMtc2hhMyc7XG5pbXBvcnQgdXRpbHMgZnJvbSAnLi91dGlscyc7XG5pbXBvcnQgYnM1OCBmcm9tICdiczU4JztcblxuZXhwb3J0IGNsYXNzIEtleVBhaXIgZXh0ZW5kcyBFZDI1NTE5S2V5UGFpciB7XG4gIC8qKlxuICAgKiBQdWJsaWMgY29uc3RydWN0b3IuIEJ5IGRlZmF1bHQsIGNyZWF0ZXMgYSBrZXkgcGFpciB3aXRoIGEgcmFuZG9tIG1hc3RlciBzZWVkLlxuICAgKlxuICAgKiBAcGFyYW0geyBLZXlQYWlyT3B0aW9ucyB9IHNvdXJjZSBFaXRoZXIgYSBtYXN0ZXIgc2VlZCwgYSBwcml2YXRlIGtleSwgb3IgYSBwdWJsaWMga2V5XG4gICAqL1xuICBjb25zdHJ1Y3Rvcihzb3VyY2U/OiBLZXlQYWlyT3B0aW9ucykge1xuICAgIHN1cGVyKHNvdXJjZSk7XG4gIH1cblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgZ2V0S2V5cygpOiBEZWZhdWx0S2V5cyB7XG4gICAgY29uc3QgcmVzdWx0OiBEZWZhdWx0S2V5cyA9IHsgcHViOiB0aGlzLmtleVBhaXIucHViIH07XG4gICAgaWYgKHRoaXMua2V5UGFpci5wcnYpIHtcbiAgICAgIHJlc3VsdC5wcnYgPSB0aGlzLmtleVBhaXIucHJ2O1xuICAgIH1cbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIHJlY29yZEtleXNGcm9tUHJpdmF0ZUtleUluUHJvdG9jb2xGb3JtYXQocHJ2OiBzdHJpbmcpOiBEZWZhdWx0S2V5cyB7XG4gICAgLy8gV2UgZG9uJ3QgdXNlIHByaXZhdGUga2V5cyBmb3IgU1VJIHNpbmNlIGl0J3MgaW1wbGVtZW50ZWQgZm9yIFRTUy5cbiAgICB0aHJvdyBuZXcgRXJyb3IoJ01ldGhvZCBub3QgaW1wbGVtZW50ZWQuJyk7XG4gIH1cblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgcmVjb3JkS2V5c0Zyb21QdWJsaWNLZXlJblByb3RvY29sRm9ybWF0KHB1Yjogc3RyaW5nKTogRGVmYXVsdEtleXMge1xuICAgIHB1YiA9IEJ1ZmZlci5mcm9tKG5ldyBVaW50OEFycmF5KGJzNTguZGVjb2RlKHB1YikpKS50b1N0cmluZygnaGV4Jyk7XG4gICAgaWYgKCF1dGlscy5pc1ZhbGlkUHVibGljS2V5KHB1YikpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBQdWJsaWMgS2V5ICR7cHVifWApO1xuICAgIH1cblxuICAgIHJldHVybiB7IHB1YiB9O1xuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIGdldEFkZHJlc3MoKTogc3RyaW5nIHtcbiAgICBjb25zdCBQVUJMSUNfS0VZX1NJWkUgPSAzMjtcbiAgICBjb25zdCB0bXAgPSBuZXcgVWludDhBcnJheShQVUJMSUNfS0VZX1NJWkUgKyAxKTtcbiAgICBjb25zdCBwdWJCdWYgPSBCdWZmZXIuZnJvbSh0aGlzLmtleVBhaXIucHViLCAnaGV4Jyk7XG4gICAgdG1wLnNldChbMHgwMF0pO1xuICAgIHRtcC5zZXQocHViQnVmLCAxKTtcbiAgICAvLyBwcmVmaXggd2l0aCAweCB0byBub3JtYWxpemUgYWRkcmVzc1xuICAgIHJldHVybiAnMHgnLmNvbmNhdChzaGEzLnNoYTNfMjU2KHRtcCkuc2xpY2UoMCwgNDApKTtcbiAgfVxufVxuIl19
83
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2V5UGFpci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIva2V5UGFpci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsbURBQWlHO0FBQ2pHLG9EQUE0QjtBQUM1QixnREFBd0I7QUFDeEIsZ0RBQWtDO0FBRXJCLFFBQUEsd0JBQXdCLEdBQUc7SUFDdEMsT0FBTyxFQUFFLElBQUk7SUFDYixTQUFTLEVBQUUsSUFBSTtDQUNoQixDQUFDO0FBRUYsTUFBYSxPQUFRLFNBQVEseUJBQWM7SUFDekM7Ozs7T0FJRztJQUNILFlBQVksTUFBdUI7UUFDakMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ2hCLENBQUM7SUFFRCxrQkFBa0I7SUFDbEIsT0FBTztRQUNMLE1BQU0sTUFBTSxHQUFnQixFQUFFLEdBQUcsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFDO1FBQ3RELElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUU7WUFDcEIsTUFBTSxDQUFDLEdBQUcsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQztTQUMvQjtRQUNELE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7SUFFRCxrQkFBa0I7SUFDbEIsd0NBQXdDLENBQUMsR0FBVztRQUNsRCxvRUFBb0U7UUFDcEUsTUFBTSxJQUFJLEtBQUssQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDO0lBQzdDLENBQUM7SUFFRCxrQkFBa0I7SUFDbEIsdUNBQXVDLENBQUMsR0FBVztRQUNqRCxHQUFHLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLFVBQVUsQ0FBQyxjQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDcEUsSUFBSSxDQUFDLGVBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsRUFBRTtZQUNoQyxNQUFNLElBQUksS0FBSyxDQUFDLHNCQUFzQixHQUFHLEVBQUUsQ0FBQyxDQUFDO1NBQzlDO1FBRUQsT0FBTyxFQUFFLEdBQUcsRUFBRSxDQUFDO0lBQ2pCLENBQUM7SUFFRCxrQkFBa0I7SUFDbEIsVUFBVTtRQUNSLE9BQU8sZUFBSyxDQUFDLHVCQUF1QixDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDekQsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsdUJBQXVCLENBQUMsT0FBbUI7UUFDekMsTUFBTSxFQUFFLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUM7UUFDN0IsSUFBSSxDQUFDLEdBQUcsRUFBRTtZQUNSLE1BQU0sSUFBSSxLQUFLLENBQUMscUJBQXFCLENBQUMsQ0FBQztTQUN4QztRQUNELE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyx1QkFBWSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDOUYsQ0FBQztDQUNGO0FBckRELDBCQXFEQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERlZmF1bHRLZXlzLCBFZDI1NTE5S2V5UGFpciwgS2V5UGFpck9wdGlvbnMsIHRvVWludDhBcnJheSB9IGZyb20gJ0BiaXRnby1iZXRhL3Nkay1jb3JlJztcbmltcG9ydCB1dGlscyBmcm9tICcuL3V0aWxzJztcbmltcG9ydCBiczU4IGZyb20gJ2JzNTgnO1xuaW1wb3J0ICogYXMgbmFjbCBmcm9tICd0d2VldG5hY2wnO1xuXG5leHBvcnQgY29uc3QgU0lHTkFUVVJFX1NDSEVNRV9UT19GTEFHID0ge1xuICBFRDI1NTE5OiAweDAwLFxuICBTZWNwMjU2azE6IDB4MDEsXG59O1xuXG5leHBvcnQgY2xhc3MgS2V5UGFpciBleHRlbmRzIEVkMjU1MTlLZXlQYWlyIHtcbiAgLyoqXG4gICAqIFB1YmxpYyBjb25zdHJ1Y3Rvci4gQnkgZGVmYXVsdCwgY3JlYXRlcyBhIGtleSBwYWlyIHdpdGggYSByYW5kb20gbWFzdGVyIHNlZWQuXG4gICAqXG4gICAqIEBwYXJhbSB7IEtleVBhaXJPcHRpb25zIH0gc291cmNlIEVpdGhlciBhIG1hc3RlciBzZWVkLCBhIHByaXZhdGUga2V5LCBvciBhIHB1YmxpYyBrZXlcbiAgICovXG4gIGNvbnN0cnVjdG9yKHNvdXJjZT86IEtleVBhaXJPcHRpb25zKSB7XG4gICAgc3VwZXIoc291cmNlKTtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICBnZXRLZXlzKCk6IERlZmF1bHRLZXlzIHtcbiAgICBjb25zdCByZXN1bHQ6IERlZmF1bHRLZXlzID0geyBwdWI6IHRoaXMua2V5UGFpci5wdWIgfTtcbiAgICBpZiAodGhpcy5rZXlQYWlyLnBydikge1xuICAgICAgcmVzdWx0LnBydiA9IHRoaXMua2V5UGFpci5wcnY7XG4gICAgfVxuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgcmVjb3JkS2V5c0Zyb21Qcml2YXRlS2V5SW5Qcm90b2NvbEZvcm1hdChwcnY6IHN0cmluZyk6IERlZmF1bHRLZXlzIHtcbiAgICAvLyBXZSBkb24ndCB1c2UgcHJpdmF0ZSBrZXlzIGZvciBTVUkgc2luY2UgaXQncyBpbXBsZW1lbnRlZCBmb3IgVFNTLlxuICAgIHRocm93IG5ldyBFcnJvcignTWV0aG9kIG5vdCBpbXBsZW1lbnRlZC4nKTtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICByZWNvcmRLZXlzRnJvbVB1YmxpY0tleUluUHJvdG9jb2xGb3JtYXQocHViOiBzdHJpbmcpOiBEZWZhdWx0S2V5cyB7XG4gICAgcHViID0gQnVmZmVyLmZyb20obmV3IFVpbnQ4QXJyYXkoYnM1OC5kZWNvZGUocHViKSkpLnRvU3RyaW5nKCdoZXgnKTtcbiAgICBpZiAoIXV0aWxzLmlzVmFsaWRQdWJsaWNLZXkocHViKSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIFB1YmxpYyBLZXkgJHtwdWJ9YCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHsgcHViIH07XG4gIH1cblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgZ2V0QWRkcmVzcygpOiBzdHJpbmcge1xuICAgIHJldHVybiB1dGlscy5nZXRBZGRyZXNzRnJvbVB1YmxpY0tleSh0aGlzLmtleVBhaXIucHViKTtcbiAgfVxuXG4gIC8qKlxuICAgKiAgU2lnbiB0aGUgbWVzc2FnZSBpbiBVaW50OEFycmF5XG4gICAqXG4gICAqIEBwYXJhbSB7VWludDhBcnJheX0gbWVzc2FnZSB0byBiZSBzaWduZWRcbiAgICogQHJldHVybnMge1VpbnQ4QXJyYXl9IHNpZ25lZCBtZXNzYWdlXG4gICAqL1xuICBzaWduTWVzc2FnZWluVWludDhBcnJheShtZXNzYWdlOiBVaW50OEFycmF5KTogVWludDhBcnJheSB7XG4gICAgY29uc3QgeyBwcnYgfSA9IHRoaXMua2V5UGFpcjtcbiAgICBpZiAoIXBydikge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdNaXNzaW5nIHByaXZhdGUga2V5Jyk7XG4gICAgfVxuICAgIHJldHVybiBuYWNsLnNpZ24uZGV0YWNoZWQobWVzc2FnZSwgbmFjbC5zaWduLmtleVBhaXIuZnJvbVNlZWQodG9VaW50OEFycmF5KHBydikpLnNlY3JldEtleSk7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,66 @@
1
+ import { Infer } from 'superstruct';
2
+ import { ObjectId, SharedObjectRef, SuiObjectRef } from '../types';
3
+ export declare const PureCallArg: import("superstruct").Struct<{
4
+ Pure: number[];
5
+ }, {
6
+ Pure: import("superstruct").Struct<number[], import("superstruct").Struct<number, null>>;
7
+ }>;
8
+ export declare const ObjectCallArg: import("superstruct").Struct<{
9
+ Object: {
10
+ ImmOrOwned: {
11
+ objectId: string;
12
+ version: string | number;
13
+ digest: string;
14
+ };
15
+ } | {
16
+ Shared: {
17
+ objectId: string;
18
+ initialSharedVersion: string | number;
19
+ mutable: boolean;
20
+ };
21
+ };
22
+ }, {
23
+ Object: import("superstruct").Struct<{
24
+ ImmOrOwned: {
25
+ objectId: string;
26
+ version: string | number;
27
+ digest: string;
28
+ };
29
+ } | {
30
+ Shared: {
31
+ objectId: string;
32
+ initialSharedVersion: string | number;
33
+ mutable: boolean;
34
+ };
35
+ }, null>;
36
+ }>;
37
+ export declare type PureCallArg = Infer<typeof PureCallArg>;
38
+ export declare type ObjectCallArg = Infer<typeof ObjectCallArg>;
39
+ export declare const BuilderCallArg: import("superstruct").Struct<{
40
+ Pure: number[];
41
+ } | {
42
+ Object: {
43
+ ImmOrOwned: {
44
+ objectId: string;
45
+ version: string | number;
46
+ digest: string;
47
+ };
48
+ } | {
49
+ Shared: {
50
+ objectId: string;
51
+ initialSharedVersion: string | number;
52
+ mutable: boolean;
53
+ };
54
+ };
55
+ }, null>;
56
+ export declare type BuilderCallArg = Infer<typeof BuilderCallArg>;
57
+ export declare const Inputs: {
58
+ Pure(data: unknown, type?: string | undefined): PureCallArg;
59
+ ObjectRef(ref: SuiObjectRef): ObjectCallArg;
60
+ SharedObjectRef(ref: SharedObjectRef): ObjectCallArg;
61
+ };
62
+ export declare function getIdFromCallArg(arg: ObjectId | ObjectCallArg): string;
63
+ export declare function getSharedObjectInput(arg: BuilderCallArg): SharedObjectRef | undefined;
64
+ export declare function isSharedObjectInput(arg: BuilderCallArg): boolean;
65
+ export declare function isMutableSharedObjectInput(arg: BuilderCallArg): boolean;
66
+ //# sourceMappingURL=Inputs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Inputs.d.ts","sourceRoot":"","sources":["../../../../../src/lib/mystenlab/builder/Inputs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkB,KAAK,EAAkC,MAAM,aAAa,CAAC;AACpF,OAAO,EAAuB,QAAQ,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAcxF,eAAO,MAAM,WAAW;;;;EAAqC,CAAC;AAC9D,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAAgC,CAAC;AAC3D,oBAAY,WAAW,GAAG,KAAK,CAAC,OAAO,WAAW,CAAC,CAAC;AACpD,oBAAY,aAAa,GAAG,KAAK,CAAC,OAAO,aAAa,CAAC,CAAC;AAExD,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;QAAsC,CAAC;AAClE,oBAAY,cAAc,GAAG,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC;AAE1D,eAAO,MAAM,MAAM;eACN,OAAO,8BAAkB,WAAW;mBAKhC,YAAY,GAAG,aAAa;yBAGtB,eAAe,GAAG,aAAa;CAGrD,CAAC;AAEF,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,QAAQ,GAAG,aAAa,UAQ7D;AAED,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,cAAc,GAAG,eAAe,GAAG,SAAS,CAErF;AAED,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,cAAc,GAAG,OAAO,CAEhE;AAED,wBAAgB,0BAA0B,CAAC,GAAG,EAAE,cAAc,GAAG,OAAO,CAEvE"}
@@ -0,0 +1,56 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.isMutableSharedObjectInput = exports.isSharedObjectInput = exports.getSharedObjectInput = exports.getIdFromCallArg = exports.Inputs = exports.BuilderCallArg = exports.ObjectCallArg = exports.PureCallArg = void 0;
4
+ const superstruct_1 = require("superstruct");
5
+ const types_1 = require("../types");
6
+ const bcs_1 = require("./bcs");
7
+ const ObjectArg = superstruct_1.union([
8
+ superstruct_1.object({ ImmOrOwned: types_1.SuiObjectRef }),
9
+ superstruct_1.object({
10
+ Shared: superstruct_1.object({
11
+ objectId: superstruct_1.string(),
12
+ initialSharedVersion: superstruct_1.union([superstruct_1.integer(), superstruct_1.string()]),
13
+ mutable: superstruct_1.boolean(),
14
+ }),
15
+ }),
16
+ ]);
17
+ exports.PureCallArg = superstruct_1.object({ Pure: superstruct_1.array(superstruct_1.integer()) });
18
+ exports.ObjectCallArg = superstruct_1.object({ Object: ObjectArg });
19
+ exports.BuilderCallArg = superstruct_1.union([exports.PureCallArg, exports.ObjectCallArg]);
20
+ exports.Inputs = {
21
+ Pure(data, type) {
22
+ return {
23
+ Pure: Array.from(data instanceof Uint8Array ? data : bcs_1.builder.ser(type, data).toBytes()),
24
+ };
25
+ },
26
+ ObjectRef(ref) {
27
+ return { Object: { ImmOrOwned: ref } };
28
+ },
29
+ SharedObjectRef(ref) {
30
+ return { Object: { Shared: ref } };
31
+ },
32
+ };
33
+ function getIdFromCallArg(arg) {
34
+ if (typeof arg === 'string') {
35
+ return types_1.normalizeSuiAddress(arg);
36
+ }
37
+ if ('ImmOrOwned' in arg.Object) {
38
+ return arg.Object.ImmOrOwned.objectId;
39
+ }
40
+ return arg.Object.Shared.objectId;
41
+ }
42
+ exports.getIdFromCallArg = getIdFromCallArg;
43
+ function getSharedObjectInput(arg) {
44
+ return typeof arg === 'object' && 'Object' in arg && 'Shared' in arg.Object ? arg.Object.Shared : undefined;
45
+ }
46
+ exports.getSharedObjectInput = getSharedObjectInput;
47
+ function isSharedObjectInput(arg) {
48
+ return !!getSharedObjectInput(arg);
49
+ }
50
+ exports.isSharedObjectInput = isSharedObjectInput;
51
+ function isMutableSharedObjectInput(arg) {
52
+ var _a, _b;
53
+ return (_b = (_a = getSharedObjectInput(arg)) === null || _a === void 0 ? void 0 : _a.mutable) !== null && _b !== void 0 ? _b : false;
54
+ }
55
+ exports.isMutableSharedObjectInput = isMutableSharedObjectInput;
56
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSW5wdXRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9teXN0ZW5sYWIvYnVpbGRlci9JbnB1dHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsNkNBQW9GO0FBQ3BGLG9DQUF3RjtBQUN4RiwrQkFBZ0M7QUFFaEMsTUFBTSxTQUFTLEdBQUcsbUJBQUssQ0FBQztJQUN0QixvQkFBTSxDQUFDLEVBQUUsVUFBVSxFQUFFLG9CQUFZLEVBQUUsQ0FBQztJQUNwQyxvQkFBTSxDQUFDO1FBQ0wsTUFBTSxFQUFFLG9CQUFNLENBQUM7WUFDYixRQUFRLEVBQUUsb0JBQU0sRUFBRTtZQUNsQixvQkFBb0IsRUFBRSxtQkFBSyxDQUFDLENBQUMscUJBQU8sRUFBRSxFQUFFLG9CQUFNLEVBQUUsQ0FBQyxDQUFDO1lBQ2xELE9BQU8sRUFBRSxxQkFBTyxFQUFFO1NBQ25CLENBQUM7S0FDSCxDQUFDO0NBQ0gsQ0FBQyxDQUFDO0FBRVUsUUFBQSxXQUFXLEdBQUcsb0JBQU0sQ0FBQyxFQUFFLElBQUksRUFBRSxtQkFBSyxDQUFDLHFCQUFPLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQztBQUNqRCxRQUFBLGFBQWEsR0FBRyxvQkFBTSxDQUFDLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxDQUFDLENBQUM7QUFJOUMsUUFBQSxjQUFjLEdBQUcsbUJBQUssQ0FBQyxDQUFDLG1CQUFXLEVBQUUscUJBQWEsQ0FBQyxDQUFDLENBQUM7QUFHckQsUUFBQSxNQUFNLEdBQUc7SUFDcEIsSUFBSSxDQUFDLElBQWEsRUFBRSxJQUFhO1FBQy9CLE9BQU87WUFDTCxJQUFJLEVBQUUsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLFlBQVksVUFBVSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLGFBQU8sQ0FBQyxHQUFHLENBQUMsSUFBSyxFQUFFLElBQUksQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDO1NBQ3pGLENBQUM7SUFDSixDQUFDO0lBQ0QsU0FBUyxDQUFDLEdBQWlCO1FBQ3pCLE9BQU8sRUFBRSxNQUFNLEVBQUUsRUFBRSxVQUFVLEVBQUUsR0FBRyxFQUFFLEVBQUUsQ0FBQztJQUN6QyxDQUFDO0lBQ0QsZUFBZSxDQUFDLEdBQW9CO1FBQ2xDLE9BQU8sRUFBRSxNQUFNLEVBQUUsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLEVBQUUsQ0FBQztJQUNyQyxDQUFDO0NBQ0YsQ0FBQztBQUVGLFNBQWdCLGdCQUFnQixDQUFDLEdBQTZCO0lBQzVELElBQUksT0FBTyxHQUFHLEtBQUssUUFBUSxFQUFFO1FBQzNCLE9BQU8sMkJBQW1CLENBQUMsR0FBRyxDQUFDLENBQUM7S0FDakM7SUFDRCxJQUFJLFlBQVksSUFBSSxHQUFHLENBQUMsTUFBTSxFQUFFO1FBQzlCLE9BQU8sR0FBRyxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDO0tBQ3ZDO0lBQ0QsT0FBTyxHQUFHLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUM7QUFDcEMsQ0FBQztBQVJELDRDQVFDO0FBRUQsU0FBZ0Isb0JBQW9CLENBQUMsR0FBbUI7SUFDdEQsT0FBTyxPQUFPLEdBQUcsS0FBSyxRQUFRLElBQUksUUFBUSxJQUFJLEdBQUcsSUFBSSxRQUFRLElBQUksR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztBQUM5RyxDQUFDO0FBRkQsb0RBRUM7QUFFRCxTQUFnQixtQkFBbUIsQ0FBQyxHQUFtQjtJQUNyRCxPQUFPLENBQUMsQ0FBQyxvQkFBb0IsQ0FBQyxHQUFHLENBQUMsQ0FBQztBQUNyQyxDQUFDO0FBRkQsa0RBRUM7QUFFRCxTQUFnQiwwQkFBMEIsQ0FBQyxHQUFtQjs7SUFDNUQsT0FBTyxNQUFBLE1BQUEsb0JBQW9CLENBQUMsR0FBRyxDQUFDLDBDQUFFLE9BQU8sbUNBQUksS0FBSyxDQUFDO0FBQ3JELENBQUM7QUFGRCxnRUFFQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGFycmF5LCBib29sZWFuLCBJbmZlciwgaW50ZWdlciwgb2JqZWN0LCBzdHJpbmcsIHVuaW9uIH0gZnJvbSAnc3VwZXJzdHJ1Y3QnO1xuaW1wb3J0IHsgbm9ybWFsaXplU3VpQWRkcmVzcywgT2JqZWN0SWQsIFNoYXJlZE9iamVjdFJlZiwgU3VpT2JqZWN0UmVmIH0gZnJvbSAnLi4vdHlwZXMnO1xuaW1wb3J0IHsgYnVpbGRlciB9IGZyb20gJy4vYmNzJztcblxuY29uc3QgT2JqZWN0QXJnID0gdW5pb24oW1xuICBvYmplY3QoeyBJbW1Pck93bmVkOiBTdWlPYmplY3RSZWYgfSksXG4gIG9iamVjdCh7XG4gICAgU2hhcmVkOiBvYmplY3Qoe1xuICAgICAgb2JqZWN0SWQ6IHN0cmluZygpLFxuICAgICAgaW5pdGlhbFNoYXJlZFZlcnNpb246IHVuaW9uKFtpbnRlZ2VyKCksIHN0cmluZygpXSksXG4gICAgICBtdXRhYmxlOiBib29sZWFuKCksXG4gICAgfSksXG4gIH0pLFxuXSk7XG5cbmV4cG9ydCBjb25zdCBQdXJlQ2FsbEFyZyA9IG9iamVjdCh7IFB1cmU6IGFycmF5KGludGVnZXIoKSkgfSk7XG5leHBvcnQgY29uc3QgT2JqZWN0Q2FsbEFyZyA9IG9iamVjdCh7IE9iamVjdDogT2JqZWN0QXJnIH0pO1xuZXhwb3J0IHR5cGUgUHVyZUNhbGxBcmcgPSBJbmZlcjx0eXBlb2YgUHVyZUNhbGxBcmc+O1xuZXhwb3J0IHR5cGUgT2JqZWN0Q2FsbEFyZyA9IEluZmVyPHR5cGVvZiBPYmplY3RDYWxsQXJnPjtcblxuZXhwb3J0IGNvbnN0IEJ1aWxkZXJDYWxsQXJnID0gdW5pb24oW1B1cmVDYWxsQXJnLCBPYmplY3RDYWxsQXJnXSk7XG5leHBvcnQgdHlwZSBCdWlsZGVyQ2FsbEFyZyA9IEluZmVyPHR5cGVvZiBCdWlsZGVyQ2FsbEFyZz47XG5cbmV4cG9ydCBjb25zdCBJbnB1dHMgPSB7XG4gIFB1cmUoZGF0YTogdW5rbm93biwgdHlwZT86IHN0cmluZyk6IFB1cmVDYWxsQXJnIHtcbiAgICByZXR1cm4ge1xuICAgICAgUHVyZTogQXJyYXkuZnJvbShkYXRhIGluc3RhbmNlb2YgVWludDhBcnJheSA/IGRhdGEgOiBidWlsZGVyLnNlcih0eXBlISwgZGF0YSkudG9CeXRlcygpKSxcbiAgICB9O1xuICB9LFxuICBPYmplY3RSZWYocmVmOiBTdWlPYmplY3RSZWYpOiBPYmplY3RDYWxsQXJnIHtcbiAgICByZXR1cm4geyBPYmplY3Q6IHsgSW1tT3JPd25lZDogcmVmIH0gfTtcbiAgfSxcbiAgU2hhcmVkT2JqZWN0UmVmKHJlZjogU2hhcmVkT2JqZWN0UmVmKTogT2JqZWN0Q2FsbEFyZyB7XG4gICAgcmV0dXJuIHsgT2JqZWN0OiB7IFNoYXJlZDogcmVmIH0gfTtcbiAgfSxcbn07XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRJZEZyb21DYWxsQXJnKGFyZzogT2JqZWN0SWQgfCBPYmplY3RDYWxsQXJnKSB7XG4gIGlmICh0eXBlb2YgYXJnID09PSAnc3RyaW5nJykge1xuICAgIHJldHVybiBub3JtYWxpemVTdWlBZGRyZXNzKGFyZyk7XG4gIH1cbiAgaWYgKCdJbW1Pck93bmVkJyBpbiBhcmcuT2JqZWN0KSB7XG4gICAgcmV0dXJuIGFyZy5PYmplY3QuSW1tT3JPd25lZC5vYmplY3RJZDtcbiAgfVxuICByZXR1cm4gYXJnLk9iamVjdC5TaGFyZWQub2JqZWN0SWQ7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRTaGFyZWRPYmplY3RJbnB1dChhcmc6IEJ1aWxkZXJDYWxsQXJnKTogU2hhcmVkT2JqZWN0UmVmIHwgdW5kZWZpbmVkIHtcbiAgcmV0dXJuIHR5cGVvZiBhcmcgPT09ICdvYmplY3QnICYmICdPYmplY3QnIGluIGFyZyAmJiAnU2hhcmVkJyBpbiBhcmcuT2JqZWN0ID8gYXJnLk9iamVjdC5TaGFyZWQgOiB1bmRlZmluZWQ7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc1NoYXJlZE9iamVjdElucHV0KGFyZzogQnVpbGRlckNhbGxBcmcpOiBib29sZWFuIHtcbiAgcmV0dXJuICEhZ2V0U2hhcmVkT2JqZWN0SW5wdXQoYXJnKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzTXV0YWJsZVNoYXJlZE9iamVjdElucHV0KGFyZzogQnVpbGRlckNhbGxBcmcpOiBib29sZWFuIHtcbiAgcmV0dXJuIGdldFNoYXJlZE9iamVjdElucHV0KGFyZyk/Lm11dGFibGUgPz8gZmFsc2U7XG59XG4iXX0=