@bitgo/account-lib 2.20.0-rc.32 → 2.20.0-rc.33

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 (179) hide show
  1. package/dist/resources/README.md +0 -22
  2. package/dist/src/index.d.ts +5 -5
  3. package/dist/src/index.d.ts.map +1 -1
  4. package/dist/src/index.js +6 -6
  5. package/dist/tsconfig.tsbuildinfo +3552 -12209
  6. package/package.json +9 -12
  7. package/resources/README.md +0 -22
  8. package/dist/resources/trx/protobuf/Contract.proto +0 -256
  9. package/dist/resources/trx/protobuf/Discover.proto +0 -44
  10. package/dist/resources/trx/protobuf/tron.d.ts +0 -11024
  11. package/dist/resources/trx/protobuf/tron.js +0 -31510
  12. package/dist/resources/trx/protobuf/tron.proto +0 -677
  13. package/dist/src/coin/etc/index.d.ts +0 -6
  14. package/dist/src/coin/etc/index.d.ts.map +0 -1
  15. package/dist/src/coin/etc/index.js +0 -33
  16. package/dist/src/coin/etc/resources.d.ts +0 -10
  17. package/dist/src/coin/etc/resources.d.ts.map +0 -1
  18. package/dist/src/coin/etc/resources.js +0 -26
  19. package/dist/src/coin/etc/transactionBuilder.d.ts +0 -17
  20. package/dist/src/coin/etc/transactionBuilder.d.ts.map +0 -1
  21. package/dist/src/coin/etc/transactionBuilder.js +0 -45
  22. package/dist/src/coin/etc/transferBuilder.d.ts +0 -19
  23. package/dist/src/coin/etc/transferBuilder.d.ts.map +0 -1
  24. package/dist/src/coin/etc/transferBuilder.js +0 -27
  25. package/dist/src/coin/etc/utils.d.ts +0 -17
  26. package/dist/src/coin/etc/utils.d.ts.map +0 -1
  27. package/dist/src/coin/etc/utils.js +0 -42
  28. package/dist/src/coin/near/constants.d.ts +0 -12
  29. package/dist/src/coin/near/constants.d.ts.map +0 -1
  30. package/dist/src/coin/near/constants.js +0 -15
  31. package/dist/src/coin/near/contractCallWrapper.d.ts +0 -33
  32. package/dist/src/coin/near/contractCallWrapper.d.ts.map +0 -1
  33. package/dist/src/coin/near/contractCallWrapper.js +0 -68
  34. package/dist/src/coin/near/errors.d.ts +0 -5
  35. package/dist/src/coin/near/errors.d.ts.map +0 -1
  36. package/dist/src/coin/near/errors.js +0 -12
  37. package/dist/src/coin/near/iface.d.ts +0 -40
  38. package/dist/src/coin/near/iface.d.ts.map +0 -1
  39. package/dist/src/coin/near/iface.js +0 -8
  40. package/dist/src/coin/near/index.d.ts +0 -11
  41. package/dist/src/coin/near/index.d.ts.map +0 -1
  42. package/dist/src/coin/near/index.js +0 -41
  43. package/dist/src/coin/near/keyPair.d.ts +0 -25
  44. package/dist/src/coin/near/keyPair.d.ts.map +0 -1
  45. package/dist/src/coin/near/keyPair.js +0 -73
  46. package/dist/src/coin/near/stakingActivateBuilder.d.ts +0 -32
  47. package/dist/src/coin/near/stakingActivateBuilder.d.ts.map +0 -1
  48. package/dist/src/coin/near/stakingActivateBuilder.js +0 -90
  49. package/dist/src/coin/near/stakingDeactivateBuilder.d.ts +0 -32
  50. package/dist/src/coin/near/stakingDeactivateBuilder.d.ts.map +0 -1
  51. package/dist/src/coin/near/stakingDeactivateBuilder.js +0 -89
  52. package/dist/src/coin/near/stakingWithdrawBuilder.d.ts +0 -32
  53. package/dist/src/coin/near/stakingWithdrawBuilder.d.ts.map +0 -1
  54. package/dist/src/coin/near/stakingWithdrawBuilder.js +0 -89
  55. package/dist/src/coin/near/transaction.d.ts +0 -90
  56. package/dist/src/coin/near/transaction.d.ts.map +0 -1
  57. package/dist/src/coin/near/transaction.js +0 -368
  58. package/dist/src/coin/near/transactionBuilder.d.ts +0 -89
  59. package/dist/src/coin/near/transactionBuilder.d.ts.map +0 -1
  60. package/dist/src/coin/near/transactionBuilder.js +0 -216
  61. package/dist/src/coin/near/transactionBuilderFactory.d.ts +0 -30
  62. package/dist/src/coin/near/transactionBuilderFactory.d.ts.map +0 -1
  63. package/dist/src/coin/near/transactionBuilderFactory.js +0 -71
  64. package/dist/src/coin/near/transferBuilder.d.ts +0 -26
  65. package/dist/src/coin/near/transferBuilder.d.ts.map +0 -1
  66. package/dist/src/coin/near/transferBuilder.js +0 -72
  67. package/dist/src/coin/near/utils.d.ts +0 -42
  68. package/dist/src/coin/near/utils.d.ts.map +0 -1
  69. package/dist/src/coin/near/utils.js +0 -85
  70. package/dist/src/coin/near/walletInitializationBuilder.d.ts +0 -12
  71. package/dist/src/coin/near/walletInitializationBuilder.d.ts.map +0 -1
  72. package/dist/src/coin/near/walletInitializationBuilder.js +0 -20
  73. package/dist/src/coin/rbtc/index.d.ts +0 -6
  74. package/dist/src/coin/rbtc/index.d.ts.map +0 -1
  75. package/dist/src/coin/rbtc/index.js +0 -33
  76. package/dist/src/coin/rbtc/resources.d.ts +0 -10
  77. package/dist/src/coin/rbtc/resources.d.ts.map +0 -1
  78. package/dist/src/coin/rbtc/resources.js +0 -25
  79. package/dist/src/coin/rbtc/transactionBuilder.d.ts +0 -17
  80. package/dist/src/coin/rbtc/transactionBuilder.d.ts.map +0 -1
  81. package/dist/src/coin/rbtc/transactionBuilder.js +0 -44
  82. package/dist/src/coin/rbtc/transferBuilder.d.ts +0 -19
  83. package/dist/src/coin/rbtc/transferBuilder.d.ts.map +0 -1
  84. package/dist/src/coin/rbtc/transferBuilder.js +0 -27
  85. package/dist/src/coin/rbtc/utils.d.ts +0 -17
  86. package/dist/src/coin/rbtc/utils.d.ts.map +0 -1
  87. package/dist/src/coin/rbtc/utils.js +0 -42
  88. package/dist/src/coin/sol/ataInitializationBuilder.d.ts +0 -42
  89. package/dist/src/coin/sol/ataInitializationBuilder.d.ts.map +0 -1
  90. package/dist/src/coin/sol/ataInitializationBuilder.js +0 -112
  91. package/dist/src/coin/sol/ataInitializationTransaction.d.ts +0 -14
  92. package/dist/src/coin/sol/ataInitializationTransaction.d.ts.map +0 -1
  93. package/dist/src/coin/sol/ataInitializationTransaction.js +0 -81
  94. package/dist/src/coin/sol/constants.d.ts +0 -58
  95. package/dist/src/coin/sol/constants.d.ts.map +0 -1
  96. package/dist/src/coin/sol/constants.js +0 -76
  97. package/dist/src/coin/sol/iface.d.ts +0 -100
  98. package/dist/src/coin/sol/iface.d.ts.map +0 -1
  99. package/dist/src/coin/sol/iface.js +0 -3
  100. package/dist/src/coin/sol/index.d.ts +0 -11
  101. package/dist/src/coin/sol/index.d.ts.map +0 -1
  102. package/dist/src/coin/sol/index.js +0 -41
  103. package/dist/src/coin/sol/instructionParamsFactory.d.ts +0 -12
  104. package/dist/src/coin/sol/instructionParamsFactory.d.ts.map +0 -1
  105. package/dist/src/coin/sol/instructionParamsFactory.js +0 -267
  106. package/dist/src/coin/sol/keyPair.d.ts +0 -26
  107. package/dist/src/coin/sol/keyPair.d.ts.map +0 -1
  108. package/dist/src/coin/sol/keyPair.js +0 -63
  109. package/dist/src/coin/sol/solInstructionFactory.d.ts +0 -10
  110. package/dist/src/coin/sol/solInstructionFactory.d.ts.map +0 -1
  111. package/dist/src/coin/sol/solInstructionFactory.js +0 -213
  112. package/dist/src/coin/sol/stakingActivateBuilder.d.ts +0 -41
  113. package/dist/src/coin/sol/stakingActivateBuilder.d.ts.map +0 -1
  114. package/dist/src/coin/sol/stakingActivateBuilder.js +0 -94
  115. package/dist/src/coin/sol/stakingDeactivateBuilder.d.ts +0 -23
  116. package/dist/src/coin/sol/stakingDeactivateBuilder.d.ts.map +0 -1
  117. package/dist/src/coin/sol/stakingDeactivateBuilder.js +0 -62
  118. package/dist/src/coin/sol/stakingWithdrawBuilder.d.ts +0 -31
  119. package/dist/src/coin/sol/stakingWithdrawBuilder.d.ts.map +0 -1
  120. package/dist/src/coin/sol/stakingWithdrawBuilder.js +0 -78
  121. package/dist/src/coin/sol/tokenEncodeDecode.d.ts +0 -85
  122. package/dist/src/coin/sol/tokenEncodeDecode.d.ts.map +0 -1
  123. package/dist/src/coin/sol/tokenEncodeDecode.js +0 -133
  124. package/dist/src/coin/sol/tokenTransferBuilder.d.ts +0 -27
  125. package/dist/src/coin/sol/tokenTransferBuilder.d.ts.map +0 -1
  126. package/dist/src/coin/sol/tokenTransferBuilder.js +0 -73
  127. package/dist/src/coin/sol/transaction.d.ts +0 -61
  128. package/dist/src/coin/sol/transaction.d.ts.map +0 -1
  129. package/dist/src/coin/sol/transaction.js +0 -369
  130. package/dist/src/coin/sol/transactionBuilder.d.ts +0 -101
  131. package/dist/src/coin/sol/transactionBuilder.d.ts.map +0 -1
  132. package/dist/src/coin/sol/transactionBuilder.js +0 -261
  133. package/dist/src/coin/sol/transactionBuilderFactory.d.ts +0 -76
  134. package/dist/src/coin/sol/transactionBuilderFactory.d.ts.map +0 -1
  135. package/dist/src/coin/sol/transactionBuilderFactory.js +0 -136
  136. package/dist/src/coin/sol/transferBuilder.d.ts +0 -26
  137. package/dist/src/coin/sol/transferBuilder.d.ts.map +0 -1
  138. package/dist/src/coin/sol/transferBuilder.js +0 -67
  139. package/dist/src/coin/sol/utils.d.ts +0 -146
  140. package/dist/src/coin/sol/utils.d.ts.map +0 -1
  141. package/dist/src/coin/sol/utils.js +0 -361
  142. package/dist/src/coin/sol/walletInitializationBuilder.d.ts +0 -26
  143. package/dist/src/coin/sol/walletInitializationBuilder.d.ts.map +0 -1
  144. package/dist/src/coin/sol/walletInitializationBuilder.js +0 -71
  145. package/dist/src/coin/trx/address.d.ts +0 -11
  146. package/dist/src/coin/trx/address.d.ts.map +0 -1
  147. package/dist/src/coin/trx/address.js +0 -13
  148. package/dist/src/coin/trx/contractCallBuilder.d.ts +0 -96
  149. package/dist/src/coin/trx/contractCallBuilder.d.ts.map +0 -1
  150. package/dist/src/coin/trx/contractCallBuilder.js +0 -281
  151. package/dist/src/coin/trx/enum.d.ts +0 -23
  152. package/dist/src/coin/trx/enum.d.ts.map +0 -1
  153. package/dist/src/coin/trx/enum.js +0 -28
  154. package/dist/src/coin/trx/iface.d.ts +0 -92
  155. package/dist/src/coin/trx/iface.d.ts.map +0 -1
  156. package/dist/src/coin/trx/iface.js +0 -3
  157. package/dist/src/coin/trx/index.d.ts +0 -10
  158. package/dist/src/coin/trx/index.d.ts.map +0 -1
  159. package/dist/src/coin/trx/index.js +0 -39
  160. package/dist/src/coin/trx/keyPair.d.ts +0 -44
  161. package/dist/src/coin/trx/keyPair.d.ts.map +0 -1
  162. package/dist/src/coin/trx/keyPair.js +0 -121
  163. package/dist/src/coin/trx/transaction.d.ts +0 -74
  164. package/dist/src/coin/trx/transaction.d.ts.map +0 -1
  165. package/dist/src/coin/trx/transaction.js +0 -205
  166. package/dist/src/coin/trx/transactionBuilder.d.ts +0 -65
  167. package/dist/src/coin/trx/transactionBuilder.d.ts.map +0 -1
  168. package/dist/src/coin/trx/transactionBuilder.js +0 -215
  169. package/dist/src/coin/trx/utils.d.ts +0 -127
  170. package/dist/src/coin/trx/utils.d.ts.map +0 -1
  171. package/dist/src/coin/trx/utils.js +0 -369
  172. package/dist/src/coin/trx/wrappedBuilder.d.ts +0 -52
  173. package/dist/src/coin/trx/wrappedBuilder.d.ts.map +0 -1
  174. package/dist/src/coin/trx/wrappedBuilder.js +0 -104
  175. package/resources/trx/protobuf/Contract.proto +0 -256
  176. package/resources/trx/protobuf/Discover.proto +0 -44
  177. package/resources/trx/protobuf/tron.d.ts +0 -11024
  178. package/resources/trx/protobuf/tron.js +0 -31510
  179. package/resources/trx/protobuf/tron.proto +0 -677
@@ -1,267 +0,0 @@
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.instructionParamsFactory = void 0;
7
- const web3_js_1 = require("@solana/web3.js");
8
- const sdk_core_1 = require("@bitgo/sdk-core");
9
- const constants_1 = require("./constants");
10
- const utils_1 = require("./utils");
11
- const tokenEncodeDecode_1 = require("./tokenEncodeDecode");
12
- const spl_token_1 = require("@solana/spl-token");
13
- const assert_1 = __importDefault(require("assert"));
14
- const statics_1 = require("@bitgo/statics");
15
- /**
16
- * Construct instructions params from Solana instructions
17
- *
18
- * @param {TransactionType} type - the transaction type
19
- * @param {TransactionInstruction[]} instructions - solana instructions
20
- * @returns {InstructionParams[]} An array containing instruction params
21
- */
22
- function instructionParamsFactory(type, instructions) {
23
- switch (type) {
24
- case sdk_core_1.TransactionType.WalletInitialization:
25
- return parseWalletInitInstructions(instructions);
26
- case sdk_core_1.TransactionType.Send:
27
- return parseSendInstructions(instructions);
28
- case sdk_core_1.TransactionType.StakingActivate:
29
- return parseStakingActivateInstructions(instructions);
30
- case sdk_core_1.TransactionType.StakingDeactivate:
31
- return parseStakingDeactivateInstructions(instructions);
32
- case sdk_core_1.TransactionType.StakingWithdraw:
33
- return parseStakingWithdrawInstructions(instructions);
34
- case sdk_core_1.TransactionType.AssociatedTokenAccountInitialization:
35
- return parseAtaInitInstructions(instructions);
36
- default:
37
- throw new sdk_core_1.NotSupported('Invalid transaction, transaction type not supported: ' + type);
38
- }
39
- }
40
- exports.instructionParamsFactory = instructionParamsFactory;
41
- /**
42
- * Parses Solana instructions to Wallet initialization tx instructions params
43
- *
44
- * @param {TransactionInstruction[]} instructions - containing create and initialize nonce solana instructions
45
- * @returns {InstructionParams[]} An array containing instruction params for Wallet initialization tx
46
- */
47
- function parseWalletInitInstructions(instructions) {
48
- const instructionData = [];
49
- const createInstruction = web3_js_1.SystemInstruction.decodeCreateAccount(instructions[constants_1.walletInitInstructionIndexes.Create]);
50
- const nonceInitInstruction = web3_js_1.SystemInstruction.decodeNonceInitialize(instructions[constants_1.walletInitInstructionIndexes.InitializeNonceAccount]);
51
- const walletInit = {
52
- type: constants_1.InstructionBuilderTypes.CreateNonceAccount,
53
- params: {
54
- fromAddress: createInstruction.fromPubkey.toString(),
55
- nonceAddress: nonceInitInstruction.noncePubkey.toString(),
56
- authAddress: nonceInitInstruction.authorizedPubkey.toString(),
57
- amount: createInstruction.lamports.toString(),
58
- },
59
- };
60
- instructionData.push(walletInit);
61
- const memo = getMemo(instructions, constants_1.walletInitInstructionIndexes);
62
- if (memo) {
63
- instructionData.push(memo);
64
- }
65
- return instructionData;
66
- }
67
- /**
68
- * Parses Solana instructions to Send tx instructions params
69
- * Only supports Memo, Transfer and Advance Nonce Solana instructions
70
- *
71
- * @param {TransactionInstruction[]} instructions - an array of supported Solana instructions
72
- * @returns {InstructionParams[]} An array containing instruction params for Send tx
73
- */
74
- function parseSendInstructions(instructions) {
75
- const instructionData = [];
76
- for (const instruction of instructions) {
77
- const type = utils_1.getInstructionType(instruction);
78
- switch (type) {
79
- case constants_1.ValidInstructionTypesEnum.Memo:
80
- const memo = { type: constants_1.InstructionBuilderTypes.Memo, params: { memo: instruction.data.toString() } };
81
- instructionData.push(memo);
82
- break;
83
- case constants_1.ValidInstructionTypesEnum.AdvanceNonceAccount:
84
- const advanceNonceInstruction = web3_js_1.SystemInstruction.decodeNonceAdvance(instruction);
85
- const nonce = {
86
- type: constants_1.InstructionBuilderTypes.NonceAdvance,
87
- params: {
88
- walletNonceAddress: advanceNonceInstruction.noncePubkey.toString(),
89
- authWalletAddress: advanceNonceInstruction.authorizedPubkey.toString(),
90
- },
91
- };
92
- instructionData.push(nonce);
93
- break;
94
- case constants_1.ValidInstructionTypesEnum.Transfer:
95
- const transferInstruction = web3_js_1.SystemInstruction.decodeTransfer(instruction);
96
- const transfer = {
97
- type: constants_1.InstructionBuilderTypes.Transfer,
98
- params: {
99
- fromAddress: transferInstruction.fromPubkey.toString(),
100
- toAddress: transferInstruction.toPubkey.toString(),
101
- amount: transferInstruction.lamports.toString(),
102
- },
103
- };
104
- instructionData.push(transfer);
105
- break;
106
- case constants_1.ValidInstructionTypesEnum.TokenTransfer:
107
- const tokenTransferInstruction = tokenEncodeDecode_1.decodeTransferCheckedInstruction(instruction, spl_token_1.TOKEN_PROGRAM_ID);
108
- const tokenName = findTokenName(tokenTransferInstruction.keys.mint.pubkey.toString());
109
- const tokenTransfer = {
110
- type: constants_1.InstructionBuilderTypes.TokenTransfer,
111
- params: {
112
- fromAddress: tokenTransferInstruction.keys.owner.pubkey.toString(),
113
- toAddress: tokenTransferInstruction.keys.destination.pubkey.toString(),
114
- amount: tokenTransferInstruction.data.amount.toString(),
115
- tokenName,
116
- sourceAddress: tokenTransferInstruction.keys.source.pubkey.toString(),
117
- },
118
- };
119
- instructionData.push(tokenTransfer);
120
- break;
121
- default:
122
- throw new sdk_core_1.NotSupported('Invalid transaction, instruction type not supported: ' + utils_1.getInstructionType(instruction));
123
- }
124
- }
125
- return instructionData;
126
- }
127
- /**
128
- * Parses Solana instructions to create staking tx and delegate tx instructions params
129
- * Only supports StakingActivate and Memo Solana instructions
130
- *
131
- * @param {TransactionInstruction[]} instructions - an array of supported Solana instructions
132
- * @returns {InstructionParams[]} An array containing instruction params for staking activate tx
133
- */
134
- function parseStakingActivateInstructions(instructions) {
135
- const instructionData = [];
136
- const createInstruction = web3_js_1.SystemInstruction.decodeCreateAccount(instructions[constants_1.stakingActivateInstructionsIndexes.Create]);
137
- const initializeInstruction = web3_js_1.StakeInstruction.decodeInitialize(instructions[constants_1.stakingActivateInstructionsIndexes.Initialize]);
138
- const delegateInstruction = web3_js_1.StakeInstruction.decodeDelegate(instructions[constants_1.stakingActivateInstructionsIndexes.Delegate]);
139
- const stakingActivate = {
140
- type: constants_1.InstructionBuilderTypes.StakingActivate,
141
- params: {
142
- fromAddress: createInstruction.fromPubkey.toString(),
143
- stakingAddress: initializeInstruction.stakePubkey.toString(),
144
- amount: createInstruction.lamports.toString(),
145
- validator: delegateInstruction.votePubkey.toString(),
146
- },
147
- };
148
- instructionData.push(stakingActivate);
149
- const memo = getMemo(instructions, constants_1.stakingActivateInstructionsIndexes);
150
- if (memo) {
151
- instructionData.push(memo);
152
- }
153
- return instructionData;
154
- }
155
- /**
156
- * Parses Solana instructions to create deactivate tx instructions params
157
- * Only supports StakingDeactivate and Memo Solana instructions
158
- *
159
- * @param {TransactionInstruction[]} instructions - an array of supported Solana instructions
160
- * @returns {InstructionParams[]} An array containing instruction params for staking deactivate tx
161
- */
162
- function parseStakingDeactivateInstructions(instructions) {
163
- const instructionData = [];
164
- const deactivateInstruction = web3_js_1.StakeInstruction.decodeDeactivate(instructions[constants_1.stakingDeactivateInstructionsIndexes.Deactivate]);
165
- const stakingDeactivate = {
166
- type: constants_1.InstructionBuilderTypes.StakingDeactivate,
167
- params: {
168
- fromAddress: deactivateInstruction.authorizedPubkey.toString(),
169
- stakingAddress: deactivateInstruction.stakePubkey.toString(),
170
- },
171
- };
172
- instructionData.push(stakingDeactivate);
173
- const memo = getMemo(instructions, constants_1.stakingDeactivateInstructionsIndexes);
174
- if (memo) {
175
- instructionData.push(memo);
176
- }
177
- return instructionData;
178
- }
179
- /**
180
- * Parses Solana instructions to create staking withdraw tx instructions params
181
- * Only supports StakingWithdraw and Memo Solana instructions
182
- *
183
- * @param {TransactionInstruction[]} instructions - an array of supported Solana instructions
184
- * @returns {InstructionParams[]} An array containing instruction params for staking withdraw tx
185
- */
186
- function parseStakingWithdrawInstructions(instructions) {
187
- const instructionData = [];
188
- const withdrawInstruction = web3_js_1.StakeInstruction.decodeWithdraw(instructions[constants_1.stakingWithdrawInstructionsIndexes.Withdraw]);
189
- const stakingWithdraw = {
190
- type: constants_1.InstructionBuilderTypes.StakingWithdraw,
191
- params: {
192
- fromAddress: withdrawInstruction.authorizedPubkey.toString(),
193
- stakingAddress: withdrawInstruction.stakePubkey.toString(),
194
- amount: withdrawInstruction.lamports.toString(),
195
- },
196
- };
197
- instructionData.push(stakingWithdraw);
198
- const memo = getMemo(instructions, constants_1.stakingWithdrawInstructionsIndexes);
199
- if (memo) {
200
- instructionData.push(memo);
201
- }
202
- return instructionData;
203
- }
204
- /**
205
- * Get the memo object from instructions if it exists
206
- *
207
- * @param {TransactionInstruction[]} instructions - the array of supported Solana instructions to be parsed
208
- * @param {Record<string, number>} instructionIndexes - the instructions indexes of the current transaction
209
- * @returns {Memo | undefined} - memo object or undefined
210
- */
211
- function getMemo(instructions, instructionIndexes) {
212
- const instructionsLength = Object.keys(instructionIndexes).length;
213
- if (instructions.length === instructionsLength && instructions[instructionIndexes.Memo]) {
214
- return {
215
- type: constants_1.InstructionBuilderTypes.Memo,
216
- params: { memo: instructions[instructionIndexes.Memo].data.toString() },
217
- };
218
- }
219
- }
220
- const ataInitInstructionKeysIndexes = {
221
- PayerAddress: 0,
222
- ATAAddress: 1,
223
- OwnerAddress: 2,
224
- MintAddress: 3,
225
- };
226
- /**
227
- * Parses Solana instructions to initialize associated token account tx instructions params
228
- *
229
- * @param {TransactionInstruction[]} instructions - an array of supported Solana instructions
230
- * @returns {InstructionParams[]} An array containing instruction params for Send tx
231
- */
232
- function parseAtaInitInstructions(instructions) {
233
- const instructionData = [];
234
- const ataInitInstruction = instructions[constants_1.ataInitInstructionIndexes.InitializeAssociatedTokenAccount];
235
- const mintAddress = ataInitInstruction.keys[ataInitInstructionKeysIndexes.MintAddress].pubkey.toString();
236
- const tokenName = findTokenName(mintAddress);
237
- const ataInit = {
238
- type: constants_1.InstructionBuilderTypes.CreateAssociatedTokenAccount,
239
- params: {
240
- mintAddress,
241
- ataAddress: ataInitInstruction.keys[ataInitInstructionKeysIndexes.ATAAddress].pubkey.toString(),
242
- ownerAddress: ataInitInstruction.keys[ataInitInstructionKeysIndexes.OwnerAddress].pubkey.toString(),
243
- payerAddress: ataInitInstruction.keys[ataInitInstructionKeysIndexes.PayerAddress].pubkey.toString(),
244
- tokenName,
245
- },
246
- };
247
- instructionData.push(ataInit);
248
- if (instructions.length === 2 && instructions[constants_1.ataInitInstructionIndexes.Memo]) {
249
- const memo = {
250
- type: constants_1.InstructionBuilderTypes.Memo,
251
- params: { memo: instructions[constants_1.ataInitInstructionIndexes.Memo].data.toString() },
252
- };
253
- instructionData.push(memo);
254
- }
255
- return instructionData;
256
- }
257
- function findTokenName(mintAddress) {
258
- let token;
259
- statics_1.coins.forEach((value, key) => {
260
- if (value instanceof statics_1.SolCoin && value.tokenAddress === mintAddress) {
261
- token = value.name;
262
- }
263
- });
264
- assert_1.default(token);
265
- return token;
266
- }
267
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5zdHJ1Y3Rpb25QYXJhbXNGYWN0b3J5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NvaW4vc29sL2luc3RydWN0aW9uUGFyYW1zRmFjdG9yeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSw2Q0FBOEY7QUFFOUYsOENBQWdFO0FBQ2hFLDJDQVFxQjtBQWFyQixtQ0FBNkM7QUFDN0MsMkRBQXVFO0FBQ3ZFLGlEQUFxRDtBQUNyRCxvREFBNEI7QUFDNUIsNENBQWdEO0FBRWhEOzs7Ozs7R0FNRztBQUNILFNBQWdCLHdCQUF3QixDQUN0QyxJQUFxQixFQUNyQixZQUFzQztJQUV0QyxRQUFRLElBQUksRUFBRTtRQUNaLEtBQUssMEJBQWUsQ0FBQyxvQkFBb0I7WUFDdkMsT0FBTywyQkFBMkIsQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUNuRCxLQUFLLDBCQUFlLENBQUMsSUFBSTtZQUN2QixPQUFPLHFCQUFxQixDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQzdDLEtBQUssMEJBQWUsQ0FBQyxlQUFlO1lBQ2xDLE9BQU8sZ0NBQWdDLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDeEQsS0FBSywwQkFBZSxDQUFDLGlCQUFpQjtZQUNwQyxPQUFPLGtDQUFrQyxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQzFELEtBQUssMEJBQWUsQ0FBQyxlQUFlO1lBQ2xDLE9BQU8sZ0NBQWdDLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDeEQsS0FBSywwQkFBZSxDQUFDLG9DQUFvQztZQUN2RCxPQUFPLHdCQUF3QixDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQ2hEO1lBQ0UsTUFBTSxJQUFJLHVCQUFZLENBQUMsdURBQXVELEdBQUcsSUFBSSxDQUFDLENBQUM7S0FDMUY7QUFDSCxDQUFDO0FBcEJELDREQW9CQztBQUVEOzs7OztHQUtHO0FBQ0gsU0FBUywyQkFBMkIsQ0FBQyxZQUFzQztJQUN6RSxNQUFNLGVBQWUsR0FBNkIsRUFBRSxDQUFD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QUksQ0FBQyw2QkFBNkIsQ0FBQyxZQUFZLENBQUMsQ0FBQyxNQUFNLENBQUMsUUFBUSxFQUFFO1lBQ25HLFlBQVksRUFBRSxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsNkJBQTZCLENBQUMsWUFBWSxDQUFDLENBQUMsTUFBTSxDQUFDLFFBQVEsRUFBRTtZQUNuRyxTQUFTO1NBQ1Y7S0FDRixDQUFDO0lBQ0YsZUFBZSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUU5QixJQUFJLFlBQVksQ0FBQyxNQUFNLEtBQUssQ0FBQyxJQUFJLFlBQVksQ0FBQyxxQ0FBeUIsQ0FBQyxJQUFJLENBQUMsRUFBRTtRQUM3RSxNQUFNLElBQUksR0FBUztZQUNqQixJQUFJLEVBQUUsbUNBQXVCLENBQUMsSUFBSTtZQUNsQyxNQUFNLEVBQUUsRUFBRSxJQUFJLEVBQUUsWUFBWSxDQUFDLHFDQUF5QixDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsRUFBRTtTQUMvRSxDQUFDO1FBQ0YsZUFBZSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztLQUM1QjtJQUNELE9BQU8sZUFBZSxDQUFDO0FBQ3pCLENBQUM7QUFFRCxTQUFTLGFBQWEsQ0FBQyxXQUFtQjtJQUN4QyxJQUFJLEtBQXlCLENBQUM7SUFFOUIsZUFBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEtBQUssRUFBRSxHQUFHLEVBQUUsRUFBRTtRQUMzQixJQUFJLEtBQUssWUFBWSxpQkFBTyxJQUFJLEtBQUssQ0FBQyxZQUFZLEtBQUssV0FBVyxFQUFFO1lBQ2xFLEtBQUssR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDO1NBQ3BCO0lBQ0gsQ0FBQyxDQUFDLENBQUM7SUFFSCxnQkFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBRWQsT0FBTyxLQUFLLENBQUM7QUFDZixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU3Rha2VJbnN0cnVjdGlvbiwgU3lzdGVtSW5zdHJ1Y3Rpb24sIFRyYW5zYWN0aW9uSW5zdHJ1Y3Rpb24gfSBmcm9tICdAc29sYW5hL3dlYjMuanMnO1xuXG5pbXBvcnQgeyBUcmFuc2FjdGlvblR5cGUsIE5vdFN1cHBvcnRlZCB9IGZyb20gJ0BiaXRnby9zZGstY29yZSc7XG5pbXBvcnQge1xuICBJbnN0cnVjdGlvbkJ1aWxkZXJUeXBlcyxcbiAgVmFsaWRJbnN0cnVjdGlvblR5cGVzRW51bSxcbiAgd2FsbGV0SW5pdEluc3RydWN0aW9uSW5kZXhlcyxcbiAgc3Rha2luZ0FjdGl2YXRlSW5zdHJ1Y3Rpb25zSW5kZXhlcyxcbiAgc3Rha2luZ0RlYWN0aXZhdGVJbnN0cnVjdGlvbnNJbmRleGVzLFxuICBzdGFraW5nV2l0aGRyYXdJbnN0cnVjdGlvbnNJbmRleGVzLFxuICBhdGFJbml0SW5zdHJ1Y3Rpb25JbmRleGVzLFxufSBmcm9tICcuL2NvbnN0YW50cyc7XG5pbXBvcnQge1xuICBBdGFJbml0LFxuICBJbnN0cnVjdGlvblBhcmFtcyxcbiAgV2FsbGV0SW5pdCxcbiAgVHJhbnNmZXIsXG4gIE5vbmNlLFxuICBNZW1vLFxuICBTdGFraW5nQWN0aXZhdGUsXG4gIFN0YWtpbmdEZWFjdGl2YXRlLFxuICBTdGFraW5nV2l0aGRyYXcsXG4gIFRva2VuVHJhbnNmZXIsXG59IGZyb20gJy4vaWZhY2UnO1xuaW1wb3J0IHsgZ2V0SW5zdHJ1Y3Rpb25UeXBlIH0gZnJvbSAnLi91dGlscyc7XG5pbXBvcnQgeyBkZWNvZGVUcmFuc2ZlckNoZWNrZWRJbnN0cnVjdGlvbiB9IGZyb20gJy4vdG9rZW5FbmNvZGVEZWNvZGUnO1xuaW1wb3J0IHsgVE9LRU5fUFJPR1JBTV9JRCB9IGZyb20gJ0Bzb2xhbmEvc3BsLXRva2VuJztcbmltcG9ydCBhc3NlcnQgZnJvbSAnYXNzZXJ0JztcbmltcG9ydCB7IGNvaW5zLCBTb2xDb2luIH0gZnJvbSAnQGJpdGdvL3N0YXRpY3MnO1xuXG4vKipcbiAqIENvbnN0cnVjdCBpbnN0cnVjdGlvbnMgcGFyYW1zIGZyb20gU29sYW5hIGluc3RydWN0aW9uc1xuICpcbiAqIEBwYXJhbSB7VHJhbnNhY3Rpb25UeXBlfSB0eXBlIC0gdGhlIHRyYW5zYWN0aW9uIHR5cGVcbiAqIEBwYXJhbSB7VHJhbnNhY3Rpb25JbnN0cnVjdGlvbltdfSBpbnN0cnVjdGlvbnMgLSBzb2xhbmEgaW5zdHJ1Y3Rpb25zXG4gKiBAcmV0dXJucyB7SW5zdHJ1Y3Rpb25QYXJhbXNbXX0gQW4gYXJyYXkgY29udGFpbmluZyBpbnN0cnVjdGlvbiBwYXJhbXNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGluc3RydWN0aW9uUGFyYW1zRmFjdG9yeShcbiAgdHlwZTogVHJhbnNhY3Rpb25UeXBlLFxuICBpbnN0cnVjdGlvbnM6IFRyYW5zYWN0aW9uSW5zdHJ1Y3Rpb25bXSxcbik6IEluc3RydWN0aW9uUGFyYW1zW10ge1xuICBzd2l0Y2ggKHR5cGUpIHtcbiAgICBjYXNlIFRyYW5zYWN0aW9uVHlwZS5XYWxsZXRJbml0aWFsaXphdGlvbjpcbiAgICAgIHJldHVybiBwYXJzZVdhbGxldEluaXRJbnN0cnVjdGlvbnMoaW5zdHJ1Y3Rpb25zKTtcbiAgICBjYXNlIFRyYW5zYWN0aW9uVHlwZS5TZW5kOlxuICAgICAgcmV0dXJuIHBhcnNlU2VuZEluc3RydWN0aW9ucyhpbnN0cnVjdGlvbnMpO1xuICAgIGNhc2UgVHJhbnNhY3Rpb25UeXBlLlN0YWtpbmdBY3RpdmF0ZTpcbiAgICAgIHJldHVybiBwYXJzZVN0YWtpbmdBY3RpdmF0ZUluc3RydWN0aW9ucyhpbnN0cnVjdGlvbnMpO1xuICAgIGNhc2UgVHJhbnNhY3Rpb25UeXBlLlN0YWtpbmdEZWFjdGl2YXRlOlxuICAgICAgcmV0dXJuIHBhcnNlU3Rha2luZ0RlYWN0aXZhdGVJbnN0cnVjdGlvbnMoaW5zdHJ1Y3Rpb25zKTtcbiAgICBjYXNlIFRyYW5zYWN0aW9uVHlwZS5TdGFraW5nV2l0aGRyYXc6XG4gICAgICByZXR1cm4gcGFyc2VTdGFraW5nV2l0aGRyYXdJbnN0cnVjdGlvbnMoaW5zdHJ1Y3Rpb25zKTtcbiAgICBjYXNlIFRyYW5zYWN0aW9uVHlwZS5Bc3NvY2lhdGVkVG9rZW5BY2NvdW50SW5pdGlhbGl6YXRpb246XG4gICAgICByZXR1cm4gcGFyc2VBdGFJbml0SW5zdHJ1Y3Rpb25zKGluc3RydWN0aW9ucyk7XG4gICAgZGVmYXVsdDpcbiAgICAgIHRocm93IG5ldyBOb3RTdXBwb3J0ZWQoJ0ludmFsaWQgdHJhbnNhY3Rpb24sIHRyYW5zYWN0aW9uIHR5cGUgbm90IHN1cHBvcnRlZDogJyArIHR5cGUpO1xuICB9XG59XG5cbi8qKlxuICogUGFyc2VzIFNvbGFuYSBpbnN0cnVjdGlvbnMgdG8gV2FsbGV0IGluaXRpYWxpemF0aW9uIHR4IGluc3RydWN0aW9ucyBwYXJhbXNcbiAqXG4gKiBAcGFyYW0ge1RyYW5zYWN0aW9uSW5zdHJ1Y3Rpb25bXX0gaW5zdHJ1Y3Rpb25zIC0gY29udGFpbmluZyBjcmVhdGUgYW5kIGluaXRpYWxpemUgbm9uY2Ugc29sYW5hIGluc3RydWN0aW9uc1xuICogQHJldHVybnMge0luc3RydWN0aW9uUGFyYW1zW119IEFuIGFycmF5IGNvbnRhaW5pbmcgaW5zdHJ1Y3Rpb24gcGFyYW1zIGZvciBXYWxsZXQgaW5pdGlhbGl6YXRpb24gdHhcbiAqL1xuZnVuY3Rpb24gcGFyc2VXYWxsZXRJbml0SW5zdHJ1Y3Rpb25zKGluc3RydWN0aW9uczogVHJhbnNhY3Rpb25JbnN0cnVjdGlvbltdKTogQXJyYXk8V2FsbGV0SW5pdCB8IE1lbW8+IHtcbiAgY29uc3QgaW5zdHJ1Y3Rpb25EYXRhOiBBcnJheTxXYWxsZXRJbml0IHwgTWVtbz4gPSBbXTtcbiAgY29uc3QgY3JlYXRlSW5zdHJ1Y3Rpb24gPSBTeXN0ZW1JbnN0cnVjdGlvbi5kZWNvZGVDcmVhdGVBY2NvdW50KGluc3RydWN0aW9uc1t3YWxsZXRJbml0SW5zdHJ1Y3Rpb25JbmRleGVzLkNyZWF0ZV0pO1xuICBjb25zdCBub25jZUluaXRJbnN0cnVjdGlvbiA9IFN5c3RlbUluc3RydWN0aW9uLmRlY29kZU5vbmNlSW5pdGlhbGl6ZShcbiAgICBpbnN0cnVjdGlvbnNbd2FsbGV0SW5pdEluc3RydWN0aW9uSW5kZXhlcy5Jbml0aWFsaXplTm9uY2VBY2NvdW50XSxcbiAgKTtcblxuICBjb25zdCB3YWxsZXRJbml0OiBXYWxsZXRJbml0ID0ge1xuICAgIHR5cGU6IEluc3RydWN0aW9uQnVpbGRlclR5cGVzLkNyZWF0ZU5vbmNlQWNjb3VudCxcbiAgICBwYXJhbXM6IHtcbiAgICAgIGZyb21BZGRyZXNzOiBjcmVhdGVJbnN0cnVjdGlvbi5mcm9tUHVia2V5LnRvU3RyaW5nKCksXG4gICAgICBub25jZUFkZHJlc3M6IG5vbmNlSW5pdEluc3RydWN0aW9uLm5vbmNlUHVia2V5LnRvU3RyaW5nKCksXG4gICAgICBhdXRoQWRkcmVzczogbm9uY2VJbml0SW5zdHJ1Y3Rpb24uYXV0aG9yaXplZFB1YmtleS50b1N0cmluZygpLFxuICAgICAgYW1vdW50OiBjcmVhdGVJbnN0cnVjdGlvbi5sYW1wb3J0cy50b1N0cmluZygpLFxuICAgIH0sXG4gIH07XG4gIGluc3RydWN0aW9uRGF0YS5wdXNoKHdhbGxldEluaXQpO1xuXG4gIGNvbnN0IG1lbW8gPSBnZXRNZW1vKGluc3RydWN0aW9ucywgd2FsbGV0SW5pdEluc3RydWN0aW9uSW5kZXhlcyk7XG4gIGlmIChtZW1vKSB7XG4gICAgaW5zdHJ1Y3Rpb25EYXRhLnB1c2gobWVtbyk7XG4gIH1cblxuICByZXR1cm4gaW5zdHJ1Y3Rpb25EYXRhO1xufVxuXG4vKipcbiAqIFBhcnNlcyBTb2xhbmEgaW5zdHJ1Y3Rpb25zIHRvIFNlbmQgdHggaW5zdHJ1Y3Rpb25zIHBhcmFtc1xuICogT25seSBzdXBwb3J0cyBNZW1vLCBUcmFuc2ZlciBhbmQgQWR2YW5jZSBOb25jZSBTb2xhbmEgaW5zdHJ1Y3Rpb25zXG4gKlxuICogQHBhcmFtIHtUcmFuc2FjdGlvbkluc3RydWN0aW9uW119IGluc3RydWN0aW9ucyAtIGFuIGFycmF5IG9mIHN1cHBvcnRlZCBTb2xhbmEgaW5zdHJ1Y3Rpb25zXG4gKiBAcmV0dXJucyB7SW5zdHJ1Y3Rpb25QYXJhbXNbXX0gQW4gYXJyYXkgY29udGFpbmluZyBpbnN0cnVjdGlvbiBwYXJhbXMgZm9yIFNlbmQgdHhcbiAqL1xuZnVuY3Rpb24gcGFyc2VTZW5kSW5zdHJ1Y3Rpb25zKGluc3RydWN0aW9uczogVHJhbnNhY3Rpb25JbnN0cnVjdGlvbltdKTogQXJyYXk8Tm9uY2UgfCBNZW1vIHwgVHJhbnNmZXIgfCBUb2tlblRyYW5zZmVyPiB7XG4gIGNvbnN0IGluc3RydWN0aW9uRGF0YTogQXJyYXk8Tm9uY2UgfCBNZW1vIHwgVHJhbnNmZXIgfCBUb2tlblRyYW5zZmVyPiA9IFtdO1xuICBmb3IgKGNvbnN0IGluc3RydWN0aW9uIG9mIGluc3RydWN0aW9ucykge1xuICAgIGNvbnN0IHR5cGUgPSBnZXRJbnN0cnVjdGlvblR5cGUoaW5zdHJ1Y3Rpb24pO1xuICAgIHN3aXRjaCAodHlwZSkge1xuICAgICAgY2FzZSBWYWxpZEluc3RydWN0aW9uVHlwZXNFbnVtLk1lbW86XG4gICAgICAgIGNvbnN0IG1lbW86IE1lbW8gPSB7IHR5cGU6IEluc3RydWN0aW9uQnVpbGRlclR5cGVzLk1lbW8sIHBhcmFtczogeyBtZW1vOiBpbnN0cnVjdGlvbi5kYXRhLnRvU3RyaW5nKCkgfSB9O1xuICAgICAgICBpbnN0cnVjdGlvbkRhdGEucHVzaChtZW1vKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIFZhbGlkSW5zdHJ1Y3Rpb25UeXBlc0VudW0uQWR2YW5jZU5vbmNlQWNjb3VudDpcbiAgICAgICAgY29uc3QgYWR2YW5jZU5vbmNlSW5zdHJ1Y3Rpb24gPSBTeXN0ZW1JbnN0cnVjdGlvbi5kZWNvZGVOb25jZUFkdmFuY2UoaW5zdHJ1Y3Rpb24pO1xuICAgICAgICBjb25zdCBub25jZTogTm9uY2UgPSB7XG4gICAgICAgICAgdHlwZTogSW5zdHJ1Y3Rpb25CdWlsZGVyVHlwZXMuTm9uY2VBZHZhbmNlLFxuICAgICAgICAgIHBhcmFtczoge1xuICAgICAgICAgICAgd2FsbGV0Tm9uY2VBZGRyZXNzOiBhZHZhbmNlTm9uY2VJbnN0cnVjdGlvbi5ub25jZVB1YmtleS50b1N0cmluZygpLFxuICAgICAgICAgICAgYXV0aFdhbGxldEFkZHJlc3M6IGFkdmFuY2VOb25jZUluc3RydWN0aW9uLmF1dGhvcml6ZWRQdWJrZXkudG9TdHJpbmcoKSxcbiAgICAgICAgICB9LFxuICAgICAgICB9O1xuICAgICAgICBpbnN0cnVjdGlvbkRhdGEucHVzaChub25jZSk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSBWYWxpZEluc3RydWN0aW9uVHlwZXNFbnVtLlRyYW5zZmVyOlxuICAgICAgICBjb25zdCB0cmFuc2Zlckluc3RydWN0aW9uID0gU3lzdGVtSW5zdHJ1Y3Rpb24uZGVjb2RlVHJhbnNmZXIoaW5zdHJ1Y3Rpb24pO1xuICAgICAgICBjb25zdCB0cmFuc2ZlcjogVHJhbnNmZXIgPSB7XG4gICAgICAgICAgdHlwZTogSW5zdHJ1Y3Rpb25CdWlsZGVyVHlwZXMuVHJhbnNmZXIsXG4gICAgICAgICAgcGFyYW1zOiB7XG4gICAgICAgICAgICBmcm9tQWRkcmVzczogdHJhbnNmZXJJbnN0cnVjdGlvbi5mcm9tUHVia2V5LnRvU3RyaW5nKCksXG4gICAgICAgICAgICB0b0FkZHJlc3M6IHRyYW5zZmVySW5zdHJ1Y3Rpb24udG9QdWJrZXkudG9TdHJpbmcoKSxcbiAgICAgICAgICAgIGFtb3VudDogdHJhbnNmZXJJbnN0cnVjdGlvbi5sYW1wb3J0cy50b1N0cmluZygpLFxuICAgICAgICAgIH0sXG4gICAgICAgIH07XG4gICAgICAgIGluc3RydWN0aW9uRGF0YS5wdXNoKHRyYW5zZmVyKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIFZhbGlkSW5zdHJ1Y3Rpb25UeXBlc0VudW0uVG9rZW5UcmFuc2ZlcjpcbiAgICAgICAgY29uc3QgdG9rZW5UcmFuc2Zlckluc3RydWN0aW9uID0gZGVjb2RlVHJhbnNmZXJDaGVja2VkSW5zdHJ1Y3Rpb24oaW5zdHJ1Y3Rpb24sIFRPS0VOX1BST0dSQU1fSUQpO1xuICAgICAgICBjb25zdCB0b2tlbk5hbWUgPSBmaW5kVG9rZW5OYW1lKHRva2VuVHJhbnNmZXJJbnN0cnVjdGlvbi5rZXlzLm1pbnQucHVia2V5LnRvU3RyaW5nKCkpO1xuICAgICAgICBjb25zdCB0b2tlblRyYW5zZmVyOiBUb2tlblRyYW5zZmVyID0ge1xuICAgICAgICAgIHR5cGU6IEluc3RydWN0aW9uQnVpbGRlclR5cGVzLlRva2VuVHJhbnNmZXIsXG4gICAgICAgICAgcGFyYW1zOiB7XG4gICAgICAgICAgICBmcm9tQWRkcmVzczogdG9rZW5UcmFuc2Zlckluc3RydWN0aW9uLmtleXMub3duZXIucHVia2V5LnRvU3RyaW5nKCksXG4gICAgICAgICAgICB0b0FkZHJlc3M6IHRva2VuVHJhbnNmZXJJbnN0cnVjdGlvbi5rZXlzLmRlc3RpbmF0aW9uLnB1YmtleS50b1N0cmluZygpLFxuICAgICAgICAgICAgYW1vdW50OiB0b2tlblRyYW5zZmVySW5zdHJ1Y3Rpb24uZGF0YS5hbW91bnQudG9TdHJpbmcoKSxcbiAgICAgICAgICAgIHRva2VuTmFtZSxcbiAgICAgICAgICAgIHNvdXJjZUFkZHJlc3M6IHRva2VuVHJhbnNmZXJJbnN0cnVjdGlvbi5rZXlzLnNvdXJjZS5wdWJrZXkudG9TdHJpbmcoKSxcbiAgICAgICAgICB9LFxuICAgICAgICB9O1xuICAgICAgICBpbnN0cnVjdGlvbkRhdGEucHVzaCh0b2tlblRyYW5zZmVyKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICB0aHJvdyBuZXcgTm90U3VwcG9ydGVkKFxuICAgICAgICAgICdJbnZhbGlkIHRyYW5zYWN0aW9uLCBpbnN0cnVjdGlvbiB0eXBlIG5vdCBzdXBwb3J0ZWQ6ICcgKyBnZXRJbnN0cnVjdGlvblR5cGUoaW5zdHJ1Y3Rpb24pLFxuICAgICAgICApO1xuICAgIH1cbiAgfVxuICByZXR1cm4gaW5zdHJ1Y3Rpb25EYXRhO1xufVxuXG4vKipcbiAqIFBhcnNlcyBTb2xhbmEgaW5zdHJ1Y3Rpb25zIHRvIGNyZWF0ZSBzdGFraW5nIHR4IGFuZCBkZWxlZ2F0ZSB0eCBpbnN0cnVjdGlvbnMgcGFyYW1zXG4gKiBPbmx5IHN1cHBvcnRzIFN0YWtpbmdBY3RpdmF0ZSBhbmQgTWVtbyBTb2xhbmEgaW5zdHJ1Y3Rpb25zXG4gKlxuICogQHBhcmFtIHtUcmFuc2FjdGlvbkluc3RydWN0aW9uW119IGluc3RydWN0aW9ucyAtIGFuIGFycmF5IG9mIHN1cHBvcnRlZCBTb2xhbmEgaW5zdHJ1Y3Rpb25zXG4gKiBAcmV0dXJucyB7SW5zdHJ1Y3Rpb25QYXJhbXNbXX0gQW4gYXJyYXkgY29udGFpbmluZyBpbnN0cnVjdGlvbiBwYXJhbXMgZm9yIHN0YWtpbmcgYWN0aXZhdGUgdHhcbiAqL1xuZnVuY3Rpb24gcGFyc2VTdGFraW5nQWN0aXZhdGVJbnN0cnVjdGlvbnMoaW5zdHJ1Y3Rpb25zOiBUcmFuc2FjdGlvbkluc3RydWN0aW9uW10pOiBBcnJheTxTdGFraW5nQWN0aXZhdGUgfCBNZW1vPiB7XG4gIGNvbnN0IGluc3RydWN0aW9uRGF0YTogQXJyYXk8U3Rha2luZ0FjdGl2YXRlIHwgTWVtbz4gPSBbXTtcbiAgY29uc3QgY3JlYXRlSW5zdHJ1Y3Rpb24gPSBTeXN0ZW1JbnN0cnVjdGlvbi5kZWNvZGVDcmVhdGVBY2NvdW50KFxuICAgIGluc3RydWN0aW9uc1tzdGFraW5nQWN0aXZhdGVJbnN0cnVjdGlvbnNJbmRleGVzLkNyZWF0ZV0sXG4gICk7XG4gIGNvbnN0IGluaXRpYWxpemVJbnN0cnVjdGlvbiA9IFN0YWtlSW5zdHJ1Y3Rpb24uZGVjb2RlSW5pdGlhbGl6ZShcbiAgICBpbnN0cnVjdGlvbnNbc3Rha2luZ0FjdGl2YXRlSW5zdHJ1Y3Rpb25zSW5kZXhlcy5Jbml0aWFsaXplXSxcbiAgKTtcbiAgY29uc3QgZGVsZWdhdGVJbnN0cnVjdGlvbiA9IFN0YWtlSW5zdHJ1Y3Rpb24uZGVjb2RlRGVsZWdhdGUoXG4gICAgaW5zdHJ1Y3Rpb25zW3N0YWtpbmdBY3RpdmF0ZUluc3RydWN0aW9uc0luZGV4ZXMuRGVsZWdhdGVdLFxuICApO1xuXG4gIGNvbnN0IHN0YWtpbmdBY3RpdmF0ZTogU3Rha2luZ0FjdGl2YXRlID0ge1xuICAgIHR5cGU6IEluc3RydWN0aW9uQnVpbGRlclR5cGVzLlN0YWtpbmdBY3RpdmF0ZSxcbiAgICBwYXJhbXM6IHtcbiAgICAgIGZyb21BZGRyZXNzOiBjcmVhdGVJbnN0cnVjdGlvbi5mcm9tUHVia2V5LnRvU3RyaW5nKCksXG4gICAgICBzdGFraW5nQWRkcmVzczogaW5pdGlhbGl6ZUluc3RydWN0aW9uLnN0YWtlUHVia2V5LnRvU3RyaW5nKCksXG4gICAgICBhbW91bnQ6IGNyZWF0ZUluc3RydWN0aW9uLmxhbXBvcnRzLnRvU3RyaW5nKCksXG4gICAgICB2YWxpZGF0b3I6IGRlbGVnYXRlSW5zdHJ1Y3Rpb24udm90ZVB1YmtleS50b1N0cmluZygpLFxuICAgIH0sXG4gIH07XG4gIGluc3RydWN0aW9uRGF0YS5wdXNoKHN0YWtpbmdBY3RpdmF0ZSk7XG5cbiAgY29uc3QgbWVtbyA9IGdldE1lbW8oaW5zdHJ1Y3Rpb25zLCBzdGFraW5nQWN0aXZhdGVJbnN0cnVjdGlvbnNJbmRleGVzKTtcbiAgaWYgKG1lbW8pIHtcbiAgICBpbnN0cnVjdGlvbkRhdGEucHVzaChtZW1vKTtcbiAgfVxuXG4gIHJldHVybiBpbnN0cnVjdGlvbkRhdGE7XG59XG5cbi8qKlxuICogUGFyc2VzIFNvbGFuYSBpbnN0cnVjdGlvbnMgdG8gY3JlYXRlIGRlYWN0aXZhdGUgdHggaW5zdHJ1Y3Rpb25zIHBhcmFtc1xuICogT25seSBzdXBwb3J0cyBTdGFraW5nRGVhY3RpdmF0ZSBhbmQgTWVtbyBTb2xhbmEgaW5zdHJ1Y3Rpb25zXG4gKlxuICogQHBhcmFtIHtUcmFuc2FjdGlvbkluc3RydWN0aW9uW119IGluc3RydWN0aW9ucyAtIGFuIGFycmF5IG9mIHN1cHBvcnRlZCBTb2xhbmEgaW5zdHJ1Y3Rpb25zXG4gKiBAcmV0dXJucyB7SW5zdHJ1Y3Rpb25QYXJhbXNbXX0gQW4gYXJyYXkgY29udGFpbmluZyBpbnN0cnVjdGlvbiBwYXJhbXMgZm9yIHN0YWtpbmcgZGVhY3RpdmF0ZSB0eFxuICovXG5mdW5jdGlvbiBwYXJzZVN0YWtpbmdEZWFjdGl2YXRlSW5zdHJ1Y3Rpb25zKGluc3RydWN0aW9uczogVHJhbnNhY3Rpb25JbnN0cnVjdGlvbltdKTogQXJyYXk8U3Rha2luZ0RlYWN0aXZhdGUgfCBNZW1vPiB7XG4gIGNvbnN0IGluc3RydWN0aW9uRGF0YTogQXJyYXk8U3Rha2luZ0RlYWN0aXZhdGUgfCBNZW1vPiA9IFtdO1xuICBjb25zdCBkZWFjdGl2YXRlSW5zdHJ1Y3Rpb24gPSBTdGFrZUluc3RydWN0aW9uLmRlY29kZURlYWN0aXZhdGUoXG4gICAgaW5zdHJ1Y3Rpb25zW3N0YWtpbmdEZWFjdGl2YXRlSW5zdHJ1Y3Rpb25zSW5kZXhlcy5EZWFjdGl2YXRlXSxcbiAgKTtcbiAgY29uc3Qgc3Rha2luZ0RlYWN0aXZhdGU6IFN0YWtpbmdEZWFjdGl2YXRlID0ge1xuICAgIHR5cGU6IEluc3RydWN0aW9uQnVpbGRlclR5cGVzLlN0YWtpbmdEZWFjdGl2YXRlLFxuICAgIHBhcmFtczoge1xuICAgICAgZnJvbUFkZHJlc3M6IGRlYWN0aXZhdGVJbnN0cnVjdGlvbi5hdXRob3JpemVkUHVia2V5LnRvU3RyaW5nKCksXG4gICAgICBzdGFraW5nQWRkcmVzczogZGVhY3RpdmF0ZUluc3RydWN0aW9uLnN0YWtlUHVia2V5LnRvU3RyaW5nKCksXG4gICAgfSxcbiAgfTtcbiAgaW5zdHJ1Y3Rpb25EYXRhLnB1c2goc3Rha2luZ0RlYWN0aXZhdGUpO1xuXG4gIGNvbnN0IG1lbW8gPSBnZXRNZW1vKGluc3RydWN0aW9ucywgc3Rha2luZ0RlYWN0aXZhdGVJbnN0cnVjdGlvbnNJbmRleGVzKTtcbiAgaWYgKG1lbW8pIHtcbiAgICBpbnN0cnVjdGlvbkRhdGEucHVzaChtZW1vKTtcbiAgfVxuICByZXR1cm4gaW5zdHJ1Y3Rpb25EYXRhO1xufVxuXG4vKipcbiAqIFBhcnNlcyBTb2xhbmEgaW5zdHJ1Y3Rpb25zIHRvIGNyZWF0ZSBzdGFraW5nICB3aXRoZHJhdyB0eCBpbnN0cnVjdGlvbnMgcGFyYW1zXG4gKiBPbmx5IHN1cHBvcnRzIFN0YWtpbmdXaXRoZHJhdyBhbmQgTWVtbyBTb2xhbmEgaW5zdHJ1Y3Rpb25zXG4gKlxuICogQHBhcmFtIHtUcmFuc2FjdGlvbkluc3RydWN0aW9uW119IGluc3RydWN0aW9ucyAtIGFuIGFycmF5IG9mIHN1cHBvcnRlZCBTb2xhbmEgaW5zdHJ1Y3Rpb25zXG4gKiBAcmV0dXJucyB7SW5zdHJ1Y3Rpb25QYXJhbXNbXX0gQW4gYXJyYXkgY29udGFpbmluZyBpbnN0cnVjdGlvbiBwYXJhbXMgZm9yIHN0YWtpbmcgd2l0aGRyYXcgdHhcbiAqL1xuZnVuY3Rpb24gcGFyc2VTdGFraW5nV2l0aGRyYXdJbnN0cnVjdGlvbnMoaW5zdHJ1Y3Rpb25zOiBUcmFuc2FjdGlvbkluc3RydWN0aW9uW10pOiBBcnJheTxTdGFraW5nV2l0aGRyYXcgfCBNZW1vPiB7XG4gIGNvbnN0IGluc3RydWN0aW9uRGF0YTogQXJyYXk8U3Rha2luZ1dpdGhkcmF3IHwgTWVtbz4gPSBbXTtcbiAgY29uc3Qgd2l0aGRyYXdJbnN0cnVjdGlvbiA9IFN0YWtlSW5zdHJ1Y3Rpb24uZGVjb2RlV2l0aGRyYXcoXG4gICAgaW5zdHJ1Y3Rpb25zW3N0YWtpbmdXaXRoZHJhd0luc3RydWN0aW9uc0luZGV4ZXMuV2l0aGRyYXddLFxuICApO1xuXG4gIGNvbnN0IHN0YWtpbmdXaXRoZHJhdzogU3Rha2luZ1dpdGhkcmF3ID0ge1xuICAgIHR5cGU6IEluc3RydWN0aW9uQnVpbGRlclR5cGVzLlN0YWtpbmdXaXRoZHJhdyxcbiAgICBwYXJhbXM6IHtcbiAgICAgIGZyb21BZGRyZXNzOiB3aXRoZHJhd0luc3RydWN0aW9uLmF1dGhvcml6ZWRQdWJrZXkudG9TdHJpbmcoKSxcbiAgICAgIHN0YWtpbmdBZGRyZXNzOiB3aXRoZHJhd0luc3RydWN0aW9uLnN0YWtlUHVia2V5LnRvU3RyaW5nKCksXG4gICAgICBhbW91bnQ6IHdpdGhkcmF3SW5zdHJ1Y3Rpb24ubGFtcG9ydHMudG9TdHJpbmcoKSxcbiAgICB9LFxuICB9O1xuICBpbnN0cnVjdGlvbkRhdGEucHVzaChzdGFraW5nV2l0aGRyYXcpO1xuXG4gIGNvbnN0IG1lbW8gPSBnZXRNZW1vKGluc3RydWN0aW9ucywgc3Rha2luZ1dpdGhkcmF3SW5zdHJ1Y3Rpb25zSW5kZXhlcyk7XG4gIGlmIChtZW1vKSB7XG4gICAgaW5zdHJ1Y3Rpb25EYXRhLnB1c2gobWVtbyk7XG4gIH1cblxuICByZXR1cm4gaW5zdHJ1Y3Rpb25EYXRhO1xufVxuXG4vKipcbiAqIEdldCB0aGUgbWVtbyBvYmplY3QgZnJvbSBpbnN0cnVjdGlvbnMgaWYgaXQgZXhpc3RzXG4gKlxuICogQHBhcmFtIHtUcmFuc2FjdGlvbkluc3RydWN0aW9uW119IGluc3RydWN0aW9ucyAtIHRoZSBhcnJheSBvZiBzdXBwb3J0ZWQgU29sYW5hIGluc3RydWN0aW9ucyB0byBiZSBwYXJzZWRcbiAqIEBwYXJhbSB7UmVjb3JkPHN0cmluZywgbnVtYmVyPn0gaW5zdHJ1Y3Rpb25JbmRleGVzIC0gdGhlIGluc3RydWN0aW9ucyBpbmRleGVzIG9mIHRoZSBjdXJyZW50IHRyYW5zYWN0aW9uXG4gKiBAcmV0dXJucyB7TWVtbyB8IHVuZGVmaW5lZH0gLSBtZW1vIG9iamVjdCBvciB1bmRlZmluZWRcbiAqL1xuZnVuY3Rpb24gZ2V0TWVtbyhpbnN0cnVjdGlvbnM6IFRyYW5zYWN0aW9uSW5zdHJ1Y3Rpb25bXSwgaW5zdHJ1Y3Rpb25JbmRleGVzOiBSZWNvcmQ8c3RyaW5nLCBudW1iZXI+KTogTWVtbyB8IHVuZGVmaW5lZCB7XG4gIGNvbnN0IGluc3RydWN0aW9uc0xlbmd0aCA9IE9iamVjdC5rZXlzKGluc3RydWN0aW9uSW5kZXhlcykubGVuZ3RoO1xuICBpZiAoaW5zdHJ1Y3Rpb25zLmxlbmd0aCA9PT0gaW5zdHJ1Y3Rpb25zTGVuZ3RoICYmIGluc3RydWN0aW9uc1tpbnN0cnVjdGlvbkluZGV4ZXMuTWVtb10pIHtcbiAgICByZXR1cm4ge1xuICAgICAgdHlwZTogSW5zdHJ1Y3Rpb25CdWlsZGVyVHlwZXMuTWVtbyxcbiAgICAgIHBhcmFtczogeyBtZW1vOiBpbnN0cnVjdGlvbnNbaW5zdHJ1Y3Rpb25JbmRleGVzLk1lbW9dLmRhdGEudG9TdHJpbmcoKSB9LFxuICAgIH07XG4gIH1cbn1cblxuY29uc3QgYXRhSW5pdEluc3RydWN0aW9uS2V5c0luZGV4ZXMgPSB7XG4gIFBheWVyQWRkcmVzczogMCxcbiAgQVRBQWRkcmVzczogMSxcbiAgT3duZXJBZGRyZXNzOiAyLFxuICBNaW50QWRkcmVzczogMyxcbn07XG5cbi8qKlxuICogUGFyc2VzIFNvbGFuYSBpbnN0cnVjdGlvbnMgdG8gaW5pdGlhbGl6ZSBhc3NvY2lhdGVkIHRva2VuIGFjY291bnQgdHggaW5zdHJ1Y3Rpb25zIHBhcmFtc1xuICpcbiAqIEBwYXJhbSB7VHJhbnNhY3Rpb25JbnN0cnVjdGlvbltdfSBpbnN0cnVjdGlvbnMgLSBhbiBhcnJheSBvZiBzdXBwb3J0ZWQgU29sYW5hIGluc3RydWN0aW9uc1xuICogQHJldHVybnMge0luc3RydWN0aW9uUGFyYW1zW119IEFuIGFycmF5IGNvbnRhaW5pbmcgaW5zdHJ1Y3Rpb24gcGFyYW1zIGZvciBTZW5kIHR4XG4gKi9cbmZ1bmN0aW9uIHBhcnNlQXRhSW5pdEluc3RydWN0aW9ucyhpbnN0cnVjdGlvbnM6IFRyYW5zYWN0aW9uSW5zdHJ1Y3Rpb25bXSk6IEFycmF5PEF0YUluaXQgfCBNZW1vPiB7XG4gIGNvbnN0IGluc3RydWN0aW9uRGF0YTogQXJyYXk8QXRhSW5pdCB8IE1lbW8+ID0gW107XG4gIGNvbnN0IGF0YUluaXRJbnN0cnVjdGlvbiA9IGluc3RydWN0aW9uc1thdGFJbml0SW5zdHJ1Y3Rpb25JbmRleGVzLkluaXRpYWxpemVBc3NvY2lhdGVkVG9rZW5BY2NvdW50XTtcblxuICBjb25zdCBtaW50QWRkcmVzcyA9IGF0YUluaXRJbnN0cnVjdGlvbi5rZXlzW2F0YUluaXRJbnN0cnVjdGlvbktleXNJbmRleGVzLk1pbnRBZGRyZXNzXS5wdWJrZXkudG9TdHJpbmcoKTtcbiAgY29uc3QgdG9rZW5OYW1lID0gZmluZFRva2VuTmFtZShtaW50QWRkcmVzcyk7XG5cbiAgY29uc3QgYXRhSW5pdDogQXRhSW5pdCA9IHtcbiAgICB0eXBlOiBJbnN0cnVjdGlvbkJ1aWxkZXJUeXBlcy5DcmVhdGVBc3NvY2lhdGVkVG9rZW5BY2NvdW50LFxuICAgIHBhcmFtczoge1xuICAgICAgbWludEFkZHJlc3MsXG4gICAgICBhdGFBZGRyZXNzOiBhdGFJbml0SW5zdHJ1Y3Rpb24ua2V5c1thdGFJbml0SW5zdHJ1Y3Rpb25LZXlzSW5kZXhlcy5BVEFBZGRyZXNzXS5wdWJrZXkudG9TdHJpbmcoKSxcbiAgICAgIG93bmVyQWRkcmVzczogYXRhSW5pdEluc3RydWN0aW9uLmtleXNbYXRhSW5pdEluc3RydWN0aW9uS2V5c0luZGV4ZXMuT3duZXJBZGRyZXNzXS5wdWJrZXkudG9TdHJpbmcoKSxcbiAgICAgIHBheWVyQWRkcmVzczogYXRhSW5pdEluc3RydWN0aW9uLmtleXNbYXRhSW5pdEluc3RydWN0aW9uS2V5c0luZGV4ZXMuUGF5ZXJBZGRyZXNzXS5wdWJrZXkudG9TdHJpbmcoKSxcbiAgICAgIHRva2VuTmFtZSxcbiAgICB9LFxuICB9O1xuICBpbnN0cnVjdGlvbkRhdGEucHVzaChhdGFJbml0KTtcblxuICBpZiAoaW5zdHJ1Y3Rpb25zLmxlbmd0aCA9PT0gMiAmJiBpbnN0cnVjdGlvbnNbYXRhSW5pdEluc3RydWN0aW9uSW5kZXhlcy5NZW1vXSkge1xuICAgIGNvbnN0IG1lbW86IE1lbW8gPSB7XG4gICAgICB0eXBlOiBJbnN0cnVjdGlvbkJ1aWxkZXJUeXBlcy5NZW1vLFxuICAgICAgcGFyYW1zOiB7IG1lbW86IGluc3RydWN0aW9uc1thdGFJbml0SW5zdHJ1Y3Rpb25JbmRleGVzLk1lbW9dLmRhdGEudG9TdHJpbmcoKSB9LFxuICAgIH07XG4gICAgaW5zdHJ1Y3Rpb25EYXRhLnB1c2gobWVtbyk7XG4gIH1cbiAgcmV0dXJuIGluc3RydWN0aW9uRGF0YTtcbn1cblxuZnVuY3Rpb24gZmluZFRva2VuTmFtZShtaW50QWRkcmVzczogc3RyaW5nKTogc3RyaW5nIHtcbiAgbGV0IHRva2VuOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG5cbiAgY29pbnMuZm9yRWFjaCgodmFsdWUsIGtleSkgPT4ge1xuICAgIGlmICh2YWx1ZSBpbnN0YW5jZW9mIFNvbENvaW4gJiYgdmFsdWUudG9rZW5BZGRyZXNzID09PSBtaW50QWRkcmVzcykge1xuICAgICAgdG9rZW4gPSB2YWx1ZS5uYW1lO1xuICAgIH1cbiAgfSk7XG5cbiAgYXNzZXJ0KHRva2VuKTtcblxuICByZXR1cm4gdG9rZW47XG59XG4iXX0=
@@ -1,26 +0,0 @@
1
- import { DefaultKeys, KeyPairOptions, Ed25519KeyPair } from '@bitgo/sdk-core';
2
- import { SolanaKeys } from './iface';
3
- export declare class KeyPair extends Ed25519KeyPair {
4
- protected keyPair: DefaultKeys;
5
- protected source?: KeyPairOptions;
6
- /**
7
- * Public constructor. By default, creates a key pair with a random master seed.
8
- *
9
- * @param { KeyPairOptions } source Either a master seed, a private key, or a public key
10
- */
11
- constructor(source?: KeyPairOptions);
12
- /** @inheritdoc */
13
- recordKeysFromPrivateKeyInProtocolFormat(prv: string): DefaultKeys;
14
- /** @inheritdoc */
15
- recordKeysFromPublicKeyInProtocolFormat(pub: string): DefaultKeys;
16
- /**
17
- * Solana default keys format public key as a base58 string and secret key as Uint8Array
18
- *
19
- * @param {boolean} raw defines if the prv key is returned in Uint8Array, default is base58
20
- * @returns {SolanaKeys} The keys in the defined format
21
- */
22
- getKeys(raw?: boolean): SolanaKeys;
23
- /** @inheritdoc */
24
- getAddress(): string;
25
- }
26
- //# sourceMappingURL=keyPair.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"keyPair.d.ts","sourceRoot":"","sources":["../../../../src/coin/sol/keyPair.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAC9E,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAGrC,qBAAa,OAAQ,SAAQ,cAAc;IACzC,SAAS,CAAC,OAAO,EAAE,WAAW,CAAC;IAC/B,SAAS,CAAC,MAAM,CAAC,EAAE,cAAc,CAAC;IAElC;;;;OAIG;gBACS,MAAM,CAAC,EAAE,cAAc;IAInC,kBAAkB;IAClB,wCAAwC,CAAC,GAAG,EAAE,MAAM,GAAG,WAAW;IAUlE,kBAAkB;IAClB,uCAAuC,CAAC,GAAG,EAAE,MAAM,GAAG,WAAW;IAMjE;;;;;OAKG;IACH,OAAO,CAAC,GAAG,UAAQ,GAAG,UAAU;IAqBhC,kBAAkB;IAClB,UAAU,IAAI,MAAM;CAIrB"}
@@ -1,63 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.KeyPair = void 0;
4
- const web3_js_1 = require("@solana/web3.js");
5
- const sdk_core_1 = require("@bitgo/sdk-core");
6
- const utils_1 = require("./utils");
7
- class KeyPair extends sdk_core_1.Ed25519KeyPair {
8
- /**
9
- * Public constructor. By default, creates a key pair with a random master seed.
10
- *
11
- * @param { KeyPairOptions } source Either a master seed, a private key, or a public key
12
- */
13
- constructor(source) {
14
- super(source);
15
- }
16
- /** @inheritdoc */
17
- recordKeysFromPrivateKeyInProtocolFormat(prv) {
18
- const prvKey = utils_1.base58ToUint8Array(prv);
19
- const keyPair = web3_js_1.Keypair.fromSecretKey(prvKey);
20
- return {
21
- pub: keyPair.publicKey.toBuffer().toString('hex'),
22
- prv: Buffer.from(keyPair.secretKey.slice(0, 32)).toString('hex'),
23
- };
24
- }
25
- /** @inheritdoc */
26
- recordKeysFromPublicKeyInProtocolFormat(pub) {
27
- return {
28
- pub: Buffer.from(utils_1.base58ToUint8Array(pub)).toString('hex'),
29
- };
30
- }
31
- /**
32
- * Solana default keys format public key as a base58 string and secret key as Uint8Array
33
- *
34
- * @param {boolean} raw defines if the prv key is returned in Uint8Array, default is base58
35
- * @returns {SolanaKeys} The keys in the defined format
36
- */
37
- getKeys(raw = false) {
38
- // keys are originally created in hex, but we need base58
39
- const publicKeyBuffer = Buffer.from(this.keyPair.pub, 'hex');
40
- const base58Pub = utils_1.Uint8ArrayTobase58(publicKeyBuffer);
41
- const result = { pub: base58Pub };
42
- if (!!this.keyPair.prv) {
43
- const secretKeyBuffer = Buffer.from(this.keyPair.prv, 'hex');
44
- const solanaSecretKey = new Uint8Array(64);
45
- solanaSecretKey.set(secretKeyBuffer);
46
- solanaSecretKey.set(publicKeyBuffer, 32);
47
- if (raw) {
48
- result.prv = solanaSecretKey;
49
- }
50
- else {
51
- result.prv = utils_1.Uint8ArrayTobase58(solanaSecretKey);
52
- }
53
- }
54
- return result;
55
- }
56
- /** @inheritdoc */
57
- getAddress() {
58
- const keys = this.getKeys();
59
- return keys.pub;
60
- }
61
- }
62
- exports.KeyPair = KeyPair;
63
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2V5UGFpci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb2luL3NvbC9rZXlQYWlyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDZDQUF3RDtBQUN4RCw4Q0FBOEU7QUFFOUUsbUNBQWlFO0FBRWpFLE1BQWEsT0FBUSxTQUFRLHlCQUFjO0lBSXpDOzs7O09BSUc7SUFDSCxZQUFZLE1BQXVCO1FBQ2pDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNoQixDQUFDO0lBRUQsa0JBQWtCO0lBQ2xCLHdDQUF3QyxDQUFDLEdBQVc7UUFDbEQsTUFBTSxNQUFNLEdBQUcsMEJBQWtCLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDdkMsTUFBTSxPQUFPLEdBQUcsaUJBQVUsQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLENBQUM7UUFFakQsT0FBTztZQUNMLEdBQUcsRUFBRSxPQUFPLENBQUMsU0FBUyxDQUFDLFFBQVEsRUFBRSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUM7WUFDakQsR0FBRyxFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQztTQUNqRSxDQUFDO0lBQ0osQ0FBQztJQUVELGtCQUFrQjtJQUNsQix1Q0FBdUMsQ0FBQyxHQUFXO1FBQ2pELE9BQU87WUFDTCxHQUFHLEVBQUUsTUFBTSxDQUFDLElBQUksQ0FBQywwQkFBa0IsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUM7U0FDMUQsQ0FBQztJQUNKLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILE9BQU8sQ0FBQyxHQUFHLEdBQUcsS0FBSztRQUNqQix5REFBeUQ7UUFDekQsTUFBTSxlQUFlLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUM3RCxNQUFNLFNBQVMsR0FBRywwQkFBa0IsQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUV0RCxNQUFNLE1BQU0sR0FBZSxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsQ0FBQztRQUM5QyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRTtZQUN0QixNQUFNLGVBQWUsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxDQUFDO1lBQzdELE1BQU0sZUFBZSxHQUFHLElBQUksVUFBVSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBQzNDLGVBQWUsQ0FBQyxHQUFHLENBQUMsZUFBZSxDQUFDLENBQUM7WUFDckMsZUFBZSxDQUFDLEdBQUcsQ0FBQyxlQUFlLEVBQUUsRUFBRSxDQUFDLENBQUM7WUFFekMsSUFBSSxHQUFHLEVBQUU7Z0JBQ1AsTUFBTSxDQUFDLEdBQUcsR0FBRyxlQUFlLENBQUM7YUFDOUI7aUJBQU07Z0JBQ0wsTUFBTSxDQUFDLEdBQUcsR0FBRywwQkFBa0IsQ0FBQyxlQUFlLENBQUMsQ0FBQzthQUNsRDtTQUNGO1FBQ0QsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQztJQUVELGtCQUFrQjtJQUNsQixVQUFVO1FBQ1IsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQzVCLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQztJQUNsQixDQUFDO0NBQ0Y7QUEvREQsMEJBK0RDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgS2V5cGFpciBhcyBTb2xLZXlwYWlyIH0gZnJvbSAnQHNvbGFuYS93ZWIzLmpzJztcbmltcG9ydCB7IERlZmF1bHRLZXlzLCBLZXlQYWlyT3B0aW9ucywgRWQyNTUxOUtleVBhaXIgfSBmcm9tICdAYml0Z28vc2RrLWNvcmUnO1xuaW1wb3J0IHsgU29sYW5hS2V5cyB9IGZyb20gJy4vaWZhY2UnO1xuaW1wb3J0IHsgYmFzZTU4VG9VaW50OEFycmF5LCBVaW50OEFycmF5VG9iYXNlNTggfSBmcm9tICcuL3V0aWxzJztcblxuZXhwb3J0IGNsYXNzIEtleVBhaXIgZXh0ZW5kcyBFZDI1NTE5S2V5UGFpciB7XG4gIHByb3RlY3RlZCBrZXlQYWlyOiBEZWZhdWx0S2V5cztcbiAgcHJvdGVjdGVkIHNvdXJjZT86IEtleVBhaXJPcHRpb25zO1xuXG4gIC8qKlxuICAgKiBQdWJsaWMgY29uc3RydWN0b3IuIEJ5IGRlZmF1bHQsIGNyZWF0ZXMgYSBrZXkgcGFpciB3aXRoIGEgcmFuZG9tIG1hc3RlciBzZWVkLlxuICAgKlxuICAgKiBAcGFyYW0geyBLZXlQYWlyT3B0aW9ucyB9IHNvdXJjZSBFaXRoZXIgYSBtYXN0ZXIgc2VlZCwgYSBwcml2YXRlIGtleSwgb3IgYSBwdWJsaWMga2V5XG4gICAqL1xuICBjb25zdHJ1Y3Rvcihzb3VyY2U/OiBLZXlQYWlyT3B0aW9ucykge1xuICAgIHN1cGVyKHNvdXJjZSk7XG4gIH1cblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgcmVjb3JkS2V5c0Zyb21Qcml2YXRlS2V5SW5Qcm90b2NvbEZvcm1hdChwcnY6IHN0cmluZyk6IERlZmF1bHRLZXlzIHtcbiAgICBjb25zdCBwcnZLZXkgPSBiYXNlNThUb1VpbnQ4QXJyYXkocHJ2KTtcbiAgICBjb25zdCBrZXlQYWlyID0gU29sS2V5cGFpci5mcm9tU2VjcmV0S2V5KHBydktleSk7XG5cbiAgICByZXR1cm4ge1xuICAgICAgcHViOiBrZXlQYWlyLnB1YmxpY0tleS50b0J1ZmZlcigpLnRvU3RyaW5nKCdoZXgnKSxcbiAgICAgIHBydjogQnVmZmVyLmZyb20oa2V5UGFpci5zZWNyZXRLZXkuc2xpY2UoMCwgMzIpKS50b1N0cmluZygnaGV4JyksXG4gICAgfTtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICByZWNvcmRLZXlzRnJvbVB1YmxpY0tleUluUHJvdG9jb2xGb3JtYXQocHViOiBzdHJpbmcpOiBEZWZhdWx0S2V5cyB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHB1YjogQnVmZmVyLmZyb20oYmFzZTU4VG9VaW50OEFycmF5KHB1YikpLnRvU3RyaW5nKCdoZXgnKSxcbiAgICB9O1xuICB9XG5cbiAgLyoqXG4gICAqIFNvbGFuYSBkZWZhdWx0IGtleXMgZm9ybWF0IHB1YmxpYyBrZXkgYXMgYSBiYXNlNTggc3RyaW5nIGFuZCBzZWNyZXQga2V5IGFzIFVpbnQ4QXJyYXlcbiAgICpcbiAgICogQHBhcmFtIHtib29sZWFufSByYXcgZGVmaW5lcyBpZiB0aGUgcHJ2IGtleSBpcyByZXR1cm5lZCBpbiBVaW50OEFycmF5LCBkZWZhdWx0IGlzIGJhc2U1OFxuICAgKiBAcmV0dXJucyB7U29sYW5hS2V5c30gVGhlIGtleXMgaW4gdGhlIGRlZmluZWQgZm9ybWF0XG4gICAqL1xuICBnZXRLZXlzKHJhdyA9IGZhbHNlKTogU29sYW5hS2V5cyB7XG4gICAgLy8ga2V5cyBhcmUgb3JpZ2luYWxseSBjcmVhdGVkIGluIGhleCwgYnV0IHdlIG5lZWQgYmFzZTU4XG4gICAgY29uc3QgcHVibGljS2V5QnVmZmVyID0gQnVmZmVyLmZyb20odGhpcy5rZXlQYWlyLnB1YiwgJ2hleCcpO1xuICAgIGNvbnN0IGJhc2U1OFB1YiA9IFVpbnQ4QXJyYXlUb2Jhc2U1OChwdWJsaWNLZXlCdWZmZXIpO1xuXG4gICAgY29uc3QgcmVzdWx0OiBTb2xhbmFLZXlzID0geyBwdWI6IGJhc2U1OFB1YiB9O1xuICAgIGlmICghIXRoaXMua2V5UGFpci5wcnYpIHtcbiAgICAgIGNvbnN0IHNlY3JldEtleUJ1ZmZlciA9IEJ1ZmZlci5mcm9tKHRoaXMua2V5UGFpci5wcnYsICdoZXgnKTtcbiAgICAgIGNvbnN0IHNvbGFuYVNlY3JldEtleSA9IG5ldyBVaW50OEFycmF5KDY0KTtcbiAgICAgIHNvbGFuYVNlY3JldEtleS5zZXQoc2VjcmV0S2V5QnVmZmVyKTtcbiAgICAgIHNvbGFuYVNlY3JldEtleS5zZXQocHVibGljS2V5QnVmZmVyLCAzMik7XG5cbiAgICAgIGlmIChyYXcpIHtcbiAgICAgICAgcmVzdWx0LnBydiA9IHNvbGFuYVNlY3JldEtleTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJlc3VsdC5wcnYgPSBVaW50OEFycmF5VG9iYXNlNTgoc29sYW5hU2VjcmV0S2V5KTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICBnZXRBZGRyZXNzKCk6IHN0cmluZyB7XG4gICAgY29uc3Qga2V5cyA9IHRoaXMuZ2V0S2V5cygpO1xuICAgIHJldHVybiBrZXlzLnB1YjtcbiAgfVxufVxuIl19
@@ -1,10 +0,0 @@
1
- import { TransactionInstruction } from '@solana/web3.js';
2
- import { InstructionParams } from './iface';
3
- /**
4
- * Construct Solana instructions from instructions params
5
- *
6
- * @param {InstructionParams} instructionToBuild - the data containing the instruction params
7
- * @returns {TransactionInstruction[]} An array containing supported Solana instructions
8
- */
9
- export declare function solInstructionFactory(instructionToBuild: InstructionParams): TransactionInstruction[];
10
- //# sourceMappingURL=solInstructionFactory.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"solInstructionFactory.d.ts","sourceRoot":"","sources":["../../../../src/coin/sol/solInstructionFactory.ts"],"names":[],"mappings":"AAAA,OAAO,EAML,sBAAsB,EAEvB,MAAM,iBAAiB,CAAC;AAIzB,OAAO,EAEL,iBAAiB,EASlB,MAAM,SAAS,CAAC;AAIjB;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,kBAAkB,EAAE,iBAAiB,GAAG,sBAAsB,EAAE,CAuBrG"}